mirror of
https://github.com/adrlau/nix-dotfiles.git
synced 2026-02-12 00:07:01 +01:00
25.05 ish
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -3,3 +3,5 @@
|
||||
./secrets/secrets.yaml.priv
|
||||
./secrets/secrets.priv.yaml.gpg
|
||||
|
||||
.aider*
|
||||
.env
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
description = "My System flake";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
|
||||
unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
||||
home-manager.url = "github:nix-community/home-manager/release-24.11";
|
||||
home-manager.url = "github:nix-community/home-manager/release-25.05";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
nix-colors.url = "github:misterio77/nix-colors";
|
||||
|
||||
@@ -2,9 +2,15 @@
|
||||
{
|
||||
|
||||
home.packages = with pkgs; [
|
||||
nerd-fonts._0xproto
|
||||
_0xproto
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-emoji
|
||||
noto-fonts-color-emoji
|
||||
noto-fonts-emoji-blob-bin
|
||||
unicode-emoji
|
||||
|
||||
liberation_ttf
|
||||
fira-code
|
||||
fira-code-symbols
|
||||
@@ -13,7 +19,7 @@
|
||||
font-awesome
|
||||
font-awesome_5
|
||||
font-awesome_4
|
||||
pkgs.nerd-fonts._0xproto
|
||||
nerd-fonts._0xproto
|
||||
|
||||
]++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
|
||||
|
||||
|
||||
@@ -1,162 +1,45 @@
|
||||
{ pkgs, lib, config, ... }:
|
||||
let
|
||||
im = config.i18n.inputMethod;
|
||||
cfg = im.fcitx5;
|
||||
fcitx5Package = pkgs.libsForQt5.fcitx5-with-addons.override { inherit (cfg) addons; };
|
||||
in
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
i18n.inputMethod = {
|
||||
enabled = "fcitx5";
|
||||
fcitx5.addons = with pkgs; [
|
||||
fcitx5-mozc
|
||||
fcitx5-gtk
|
||||
fcitx5-chinese-addons
|
||||
];
|
||||
};
|
||||
enable = true;
|
||||
type = "fcitx5";
|
||||
|
||||
|
||||
fcitx5 = {
|
||||
# 1) Load the GTK bridge, the classic UI and the Catppuccin theme package
|
||||
addons = with pkgs; [
|
||||
fcitx5-gtk
|
||||
fcitx5-mozc
|
||||
catppuccin-fcitx5
|
||||
];
|
||||
|
||||
xdg.configFile = let
|
||||
format = pkgs.formats.iniWithGlobalSection { };
|
||||
in {
|
||||
"fcitx5/profile" = {
|
||||
force = true;
|
||||
source = format.generate "fcitx5-profile" {
|
||||
sections = {
|
||||
"Groups/0" = {
|
||||
Name = "Default";
|
||||
"Default Layout" = "us";
|
||||
DefaultIM = "mozc";
|
||||
};
|
||||
"Groups/0/Items/0" = {
|
||||
Name = "keyboard-us";
|
||||
Layout = "";
|
||||
};
|
||||
"Groups/0/Items/1" = {
|
||||
Name = "keyboard-no";
|
||||
Layout = "";
|
||||
};
|
||||
"Groups/0/Items/2" = {
|
||||
Name = "mozc";
|
||||
Layout = "";
|
||||
};
|
||||
# 2) Install the Catppuccin theme under $XDG_DATA_HOME/fcitx5/themes/catppuccin
|
||||
themes = {
|
||||
catppuccin = {
|
||||
highlightImage = "${pkgs.catppuccin-fcitx5}/share/fcitx5/themes/catppuccin/highlight.svg";
|
||||
panelImage = "${pkgs.catppuccin-fcitx5}/share/fcitx5/themes/catppuccin/panel.svg";
|
||||
theme = "${pkgs.catppuccin-fcitx5}/share/fcitx5/themes/catppuccin/theme.conf";
|
||||
};
|
||||
}; # i18n.inputMethod.fcitx5.themes.<name> … [source_id=2]
|
||||
|
||||
settings = {
|
||||
# 3) Tell the classic UI to use “catppuccin”
|
||||
addons.classicui.globalSection = {
|
||||
Theme = "catppuccin";
|
||||
};
|
||||
|
||||
"Groups/1" = {
|
||||
Name = "Default";
|
||||
"Default Layout" = "jp";
|
||||
DefaultIM = "mozc";
|
||||
};
|
||||
"Groups/1/Items/0" = {
|
||||
Name = "keyboard-us";
|
||||
Layout = "";
|
||||
};
|
||||
"Groups/1/Items/1" = {
|
||||
Name = "keyboard-no";
|
||||
Layout = "";
|
||||
};
|
||||
"Groups/1/Items/2" = {
|
||||
Name = "mozc";
|
||||
Layout = "";
|
||||
};
|
||||
|
||||
|
||||
GroupOrder = {
|
||||
"0" = "Default";
|
||||
"1" = "Secondary";
|
||||
};
|
||||
|
||||
# 4) Your other config (hotkey, layouts, IM engines…)
|
||||
globalOptions."Global" = {
|
||||
TriggerKey = "Control+space";
|
||||
};
|
||||
inputMethod."Default" = {
|
||||
Enabled = "xkb:us::eng,xkb:no::nob,xkb:jp::jpn,mozc";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
"fcitx5/config".source = format.generate "fcitx5-config" {
|
||||
sections = {
|
||||
Hotkey = {
|
||||
# Enumerate when press trigger key repeatedly
|
||||
EnumerateWithTriggerKeys = "True";
|
||||
# Temporally switch between first and current Input Method
|
||||
AltTriggerKeys = "";
|
||||
# Enumerate Input Method Forward
|
||||
EnumerateForwardKeys = "";
|
||||
# Enumerate Input Method Backward
|
||||
EnumerateBackwardKeys = "";
|
||||
# Skip first input method while enumerating
|
||||
EnumerateSkipFirst = "False";
|
||||
};
|
||||
|
||||
"Hotkey/TriggerKeys" = {
|
||||
"0" = "Control+space";
|
||||
"1" = "Zenkaku_Hankaku";
|
||||
"2" = "Hangul";
|
||||
};
|
||||
|
||||
"Hotkey/EnumerateGroupForwardKeys"."0" = "Super+space";
|
||||
"Hotkey/EnumerateGroupBackwardKeys"."0" = "Shift+Super+space";
|
||||
"Hotkey/ActivateKeys"."0" = "Hangul_Hanja";
|
||||
"Hotkey/DeactivateKeys"."0" = "Hangul_Romaja";
|
||||
"Hotkey/PrevPage"."0" = "Up";
|
||||
"Hotkey/NextPage"."0" = "Down";
|
||||
"Hotkey/PrevCandidate"."0" = "Shift+Tab";
|
||||
"Hotkey/NextCandidate"."0" = "Tab";
|
||||
"Hotkey/TogglePreedit"."0" = "Control+Alt+P";
|
||||
|
||||
Behaviour = {
|
||||
# Active By Default
|
||||
ActiveByDefault = "False";
|
||||
# Share Input State
|
||||
ShareInputState = "All";
|
||||
# Show preedit in application
|
||||
PreeditEnabledByDefault = "True";
|
||||
# Show Input Method Information when switch input method
|
||||
ShowInputMethodInformation = "True";
|
||||
# Show Input Method Information when changing focus
|
||||
showInputMethodInformationWhenFocusIn = "False";
|
||||
# Show compact input method information
|
||||
CompactInputMethodInformation = "True";
|
||||
# Show first input method information
|
||||
ShowFirstInputMethodInformation = "True";
|
||||
# Default page size
|
||||
DefaultPageSize = 5;
|
||||
# Override Xkb Option
|
||||
OverrideXkbOption = "False";
|
||||
# Custom Xkb Option
|
||||
CustomXkbOption = "";
|
||||
# Force Enabled Addons
|
||||
EnabledAddons = "";
|
||||
# Force Disabled Addons
|
||||
DisabledAddons = "";
|
||||
# Preload input method to be used by default
|
||||
PreloadInputMethod = "True";
|
||||
# Allow input method in the password field
|
||||
AllowInputMethodForPassword = "False";
|
||||
# Show preedit text when typing password
|
||||
ShowPreeditForPassword = "False";
|
||||
# Interval of saving user data in minutes
|
||||
AutoSavePeriod = 30;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
"fcitx5/conf/classicui.conf".source = format.generate "fcitx5-classicui.conf" {
|
||||
globalSection = {
|
||||
Theme = "Material-Color";
|
||||
PerScreenDPI = "True";
|
||||
# Font = "";
|
||||
"Vertical Candidate List" = "True";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
xdg.dataFile."fcitx5/themes/Material-Color" = {
|
||||
recursive = true;
|
||||
source = "${pkgs.fcitx5-material-color}/share/fcitx5/themes/Material-Color-teal";
|
||||
};
|
||||
|
||||
systemd.user.services.fcitx5-daemon = {
|
||||
Service.Restart="on-failure";
|
||||
Service.ExecStart = lib.mkForce "${fcitx5Package}/bin/fcitx5";
|
||||
Service.ExecReload = "/bin/kill -HUP $MAINPID";
|
||||
};
|
||||
# 5) Force your own ExecStart so you never get “conflicting definition” errors
|
||||
systemd.user.services.fcitx5-daemon.Service.ExecStart =
|
||||
lib.mkForce "${pkgs.fcitx5-with-addons}/bin/fcitx5";
|
||||
}
|
||||
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
|
||||
home.packages = with pkgs; [
|
||||
nerdfonts
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-emoji
|
||||
liberation_ttf
|
||||
fira-code
|
||||
fira-code-symbols
|
||||
nerdfonts
|
||||
ubuntu_font_family
|
||||
zpix-pixel-font
|
||||
_0xproto
|
||||
font-awesome
|
||||
font-awesome_5
|
||||
font-awesome_4
|
||||
|
||||
];
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
fonts.fontconfig.defaultFonts = {
|
||||
emoji = ["noto-fonts-emoji font-awesome"];
|
||||
monospace = ["0xproto" "zpix" "fira-code"];
|
||||
serif = [ "Noto Serif" "Source Han Serif" ];
|
||||
sansSerif = [ "Noto Sans" "Source Han Sans" ];
|
||||
};
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
./code.nix
|
||||
./sway.nix
|
||||
./niri.nix
|
||||
../common/fonts.nix
|
||||
./colors.nix
|
||||
|
||||
#./stylix.nix
|
||||
|
||||
@@ -600,8 +600,6 @@ in
|
||||
wdisplays
|
||||
swww
|
||||
|
||||
wleave
|
||||
|
||||
xwayland-satellite
|
||||
|
||||
#bar applets and notifications
|
||||
@@ -624,6 +622,13 @@ in
|
||||
emote
|
||||
|
||||
|
||||
|
||||
xdg-desktop-portal-gtk
|
||||
xdg-desktop-portal
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-gnome
|
||||
|
||||
|
||||
#fonts
|
||||
_0xproto
|
||||
font-awesome
|
||||
|
||||
@@ -13,11 +13,11 @@ in
|
||||
imports = [
|
||||
./waybar.nix
|
||||
./foot.nix
|
||||
./fonts.nix
|
||||
./fcitx5.nix
|
||||
./kanshi.nix
|
||||
./swaylock.nix
|
||||
./mako.nix
|
||||
./wlogout.nix
|
||||
#./assets/wallpapers
|
||||
];
|
||||
|
||||
@@ -48,7 +48,6 @@ in
|
||||
#swaybg
|
||||
swww
|
||||
|
||||
wleave
|
||||
|
||||
#bar applets and notifications
|
||||
waybar
|
||||
@@ -85,17 +84,6 @@ in
|
||||
slurp
|
||||
|
||||
#fonts
|
||||
nerdfonts
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-emoji
|
||||
liberation_ttf
|
||||
fira-code
|
||||
fira-code-symbols
|
||||
nerdfonts
|
||||
ubuntu_font_family
|
||||
zpix-pixel-font
|
||||
_0xproto
|
||||
font-awesome
|
||||
font-awesome_5
|
||||
font-awesome_4
|
||||
@@ -287,7 +275,7 @@ in {
|
||||
#"ctrl+space" = "exec xkb_switch_layout next"; #TODO:verify
|
||||
"${cfg.config.modifier}+tab" = "${menu}";
|
||||
"Alt+tab" = "workspace back_and_forth";
|
||||
"XF86PowerOff" = "exec ${pkgs.wleave}/bin/wleave";
|
||||
"XF86PowerOff" = "exec ${pkgs.wlogout}/bin/wlogout";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ in
|
||||
{
|
||||
"height": 36,
|
||||
"spacing": 2,
|
||||
"modules-left": [ "custom/launcher", "sway/workspaces","niri/workspaces"],
|
||||
"modules-left": [ "custom/overview", "custom/launcher", "sway/workspaces","niri/workspaces"],
|
||||
"modules-center": ["niri/window"],
|
||||
"modules-right": [
|
||||
"idle_inhibitor","backlight","pulseaudio","keyboard-state",
|
||||
@@ -55,6 +55,13 @@ in
|
||||
"on-click": "niri msg workspace {index}"
|
||||
},
|
||||
|
||||
"custom:overview": {
|
||||
"format": "",
|
||||
"tooltip": "Toggle Overview",
|
||||
"on-click": "niri msg action toggle-overview"
|
||||
},
|
||||
|
||||
|
||||
"niri/window": {
|
||||
"format": "{title}"
|
||||
},
|
||||
@@ -116,13 +123,6 @@ in
|
||||
"states": { "warning": 30, "critical": 15 }
|
||||
},
|
||||
|
||||
"power-profiles-daemon": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"performance":"","balanced":"","power-saver":""
|
||||
},
|
||||
"on-click": "systemctl --user power-profiles-daemon set balanced"
|
||||
},
|
||||
|
||||
"power-profiles-daemon": {
|
||||
"format": "{icon}",
|
||||
@@ -139,25 +139,25 @@ in
|
||||
"clock": {
|
||||
"format": "{:%H:%M}",
|
||||
"format-alt": "{:%Y-%m-%d}",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "<tt><small>{calendar}</small></tt>",
|
||||
"calendar": {
|
||||
"mode": "month",
|
||||
"mode-mon-col": 3,
|
||||
"weeks-pos": "right",
|
||||
"on-scroll": 1,
|
||||
"format": {
|
||||
"months": "<span color='#${palette.base05}'><b>{}</b></span>",
|
||||
"days": "<span color='#${palette.base04}'>{}</span>",
|
||||
"weeks": "<span color='#${palette.base0C}'><b>W{}</b></span>",
|
||||
"weekdays": "<span color='#${palette.base0A}'><b>{}</b></span>",
|
||||
"today": "<span color='#${palette.base08}'><b><u>{}</u></b></span>"
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"on-click-right": "mode",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
"tooltip": true,
|
||||
"tooltip-format": "<tt><small>{calendar}</small></tt>",
|
||||
"calendar": {
|
||||
"mode": "month",
|
||||
"mode-mon-col": 3,
|
||||
"weeks-pos": "right",
|
||||
"on-scroll": 1,
|
||||
"format": {
|
||||
"months": "<span color='#${palette.base05}'><b>{}</b></span>",
|
||||
"days": "<span color='#${palette.base04}'>{}</span>",
|
||||
"weeks": "<span color='#${palette.base0C}'><b>W{}</b></span>",
|
||||
"weekdays": "<span color='#${palette.base0A}'><b>{}</b></span>",
|
||||
"today": "<span color='#${palette.base08}'><b><u>{}</u></b></span>"
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"on-click-right": "mode",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -168,7 +168,7 @@ in
|
||||
"custom/power": {
|
||||
"format": "⏻",
|
||||
"tooltip": "exit",
|
||||
"on-click": "wleave"
|
||||
"on-click": "wlogout || wleave"
|
||||
}
|
||||
}
|
||||
'')
|
||||
@@ -193,7 +193,7 @@ in
|
||||
/* Module blocks */
|
||||
#idle_inhibitor,#backlight,#pulseaudio,#keyboard-state,
|
||||
#network,#cpu,#memory,#temperature,#battery,
|
||||
#power-profiles-daemon,#clock,#tray,#custom-power,#custom-launcher,#niri-window {
|
||||
#power-profiles-daemon,#clock,#tray,#custom-power,#custom-launcher,#custom-overview,#niri-window {
|
||||
background-color: ${toRGBA palette.base01 "0.4"};
|
||||
border-radius: 8px;
|
||||
margin: 0 6px;
|
||||
@@ -205,7 +205,7 @@ in
|
||||
#idle_inhibitor:hover,#backlight:hover,#pulseaudio:hover,
|
||||
#keyboard-state:hover,#network:hover,#cpu:hover,#memory:hover,
|
||||
#temperature:hover,#battery:hover,#power-profiles-daemon:hover,
|
||||
#clock:hover,#tray:hover,#custom-power:hover,#custom-launcher:hover,#niri-window:hover {
|
||||
#clock:hover,#tray:hover,#custom-power:hover,#custom-launcher:hover,#custom-overview:hover,#niri-window:hover {
|
||||
background-color: ${toRGBA palette.base02 "0.5"};
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ in
|
||||
{
|
||||
programs.wlogout = {
|
||||
enable = true;
|
||||
package = pkgs.wleave;
|
||||
package = pkgs.wlogout;
|
||||
|
||||
# Your button layout
|
||||
layout = [
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
|
||||
home.packages = with pkgs; [
|
||||
nerdfonts
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-emoji
|
||||
liberation_ttf
|
||||
fira-code
|
||||
fira-code-symbols
|
||||
nerdfonts
|
||||
ubuntu_font_family
|
||||
zpix-pixel-font
|
||||
_0xproto
|
||||
font-awesome
|
||||
font-awesome_5
|
||||
font-awesome_4
|
||||
|
||||
];
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
fonts.fontconfig.defaultFonts = {
|
||||
emoji = ["noto-fonts-emoji font-awesome"];
|
||||
monospace = ["0xproto" "zpix" "fira-code"];
|
||||
serif = [ "Noto Serif" "Source Han Serif" ];
|
||||
sansSerif = [ "Noto Sans" "Source Han Sans" ];
|
||||
};
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
users.users.gunalx = {
|
||||
isNormalUser = true;
|
||||
description = "Adrian Gunnar Lauterer";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
extraGroups = [ "networkmanager" "wheel" "input" ];
|
||||
packages = with pkgs; [
|
||||
];
|
||||
};
|
||||
|
||||
@@ -28,6 +28,7 @@ imports =
|
||||
sops
|
||||
atuin
|
||||
upower
|
||||
nvtopPackages.full
|
||||
];
|
||||
|
||||
#just allow unfree, im fine with it.
|
||||
|
||||
@@ -13,21 +13,25 @@ imports =
|
||||
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
openscad
|
||||
|
||||
#cura # broken
|
||||
prusa-slicer
|
||||
environment.systemPackages = with pkgs; [
|
||||
libnotify
|
||||
openscad
|
||||
|
||||
#cura # broken
|
||||
prusa-slicer
|
||||
|
||||
#libsForQt5.qt5ct
|
||||
#qt6Packages.qt6ct
|
||||
where-is-my-sddm-theme
|
||||
|
||||
swww
|
||||
#libsForQt5.qt5ct
|
||||
#qt6Packages.qt6ct
|
||||
where-is-my-sddm-theme
|
||||
|
||||
swww
|
||||
|
||||
];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
nerd-fonts._0xproto
|
||||
_0xproto
|
||||
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-emoji
|
||||
@@ -37,10 +41,11 @@ imports =
|
||||
mplus-outline-fonts.githubRelease
|
||||
dina-font
|
||||
proggyfonts
|
||||
nerdfonts
|
||||
#nerdfonts
|
||||
ubuntu_font_family
|
||||
|
||||
];
|
||||
] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
|
||||
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = false; #temp off because of CVE
|
||||
|
||||
@@ -8,6 +8,15 @@ imports =
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
zed-editor-fhs
|
||||
aider-chat
|
||||
|
||||
python3Full
|
||||
uv
|
||||
python3Packages.pip
|
||||
python3Packages.uv
|
||||
poetry
|
||||
|
||||
|
||||
|
||||
texliveFull
|
||||
|
||||
@@ -41,7 +41,7 @@ imports =
|
||||
workstyle
|
||||
#swayest-workstyle #migth switch to this.
|
||||
autotiling-rs
|
||||
wleave
|
||||
wlogout
|
||||
|
||||
pass-wayland
|
||||
|
||||
|
||||
Reference in New Issue
Block a user