Compare commits
13 commits
991448ea5b
...
d85a987ea5
Author | SHA1 | Date | |
---|---|---|---|
d85a987ea5 | |||
8305c602cb | |||
f2abb550d1 | |||
29351e533c | |||
20d49565a8 | |||
90af93a56b | |||
e94df4e38e | |||
274be3755e | |||
0c1c7c3d70 | |||
7e172c3b35 | |||
f9c080ef5e | |||
623957e7f1 | |||
c28a006c96 |
11 changed files with 138 additions and 107 deletions
30
flake.lock
generated
30
flake.lock
generated
|
@ -2396,11 +2396,11 @@
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738911818,
|
"lastModified": 1739787518,
|
||||||
"narHash": "sha256-7bhr9ldHrNP71qOmKI1Hu80uclx+Tco0RNmO+GKtC1Y=",
|
"narHash": "sha256-F9zVBxjj8H11TjXhbMNC/nXJVAvksrrasouxTxPbju4=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "397e704d644d1bfe7736f2fdacbfe5742c7b2f9f",
|
"rev": "078383ea8208337d3c9ea89118aa615d7fbbab17",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -2421,11 +2421,11 @@
|
||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739042449,
|
"lastModified": 1739802387,
|
||||||
"narHash": "sha256-9zLFUpEebwhjCgtznsI61gTzefI3+fuXATHUOFzJi5w=",
|
"narHash": "sha256-j1/mukC09zeq0mdOiL9ouE1k7ZC7f3SJCKFq5ttoqIs=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "98e3666a9dc4143cbf93d957a15d749b5acef046",
|
"rev": "59ed19d431324af3fcebbf623c081eae2e67ab97",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -2454,11 +2454,11 @@
|
||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738911818,
|
"lastModified": 1739787518,
|
||||||
"narHash": "sha256-7bhr9ldHrNP71qOmKI1Hu80uclx+Tco0RNmO+GKtC1Y=",
|
"narHash": "sha256-F9zVBxjj8H11TjXhbMNC/nXJVAvksrrasouxTxPbju4=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "397e704d644d1bfe7736f2fdacbfe5742c7b2f9f",
|
"rev": "078383ea8208337d3c9ea89118aa615d7fbbab17",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -2972,11 +2972,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable_4": {
|
"nixpkgs-stable_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738843498,
|
"lastModified": 1739624908,
|
||||||
"narHash": "sha256-7x+Q4xgFj9UxZZO9aUDCR8h4vyYut4zPUvfj3i+jBHE=",
|
"narHash": "sha256-f84lBmLl4tkDp1ZU5LBTSFzlxXP4926DVW3KnXrke10=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "f5a32fa27df91dfc4b762671a0e0a859a8a0058f",
|
"rev": "a60651b217d2e529729cbc7d989c19f3941b9250",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -3891,11 +3891,11 @@
|
||||||
"xwayland-satellite-unstable": {
|
"xwayland-satellite-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1737837494,
|
"lastModified": 1739246919,
|
||||||
"narHash": "sha256-wIMowP8Juas4ZwMRcpc+58sZ0kKTDu8fm13THPmv/F8=",
|
"narHash": "sha256-/hBM43/Gd0/tW+egrhlWgOIISeJxEs2uAOIYVpfDKeU=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "3944c9a0e40e5629f16ad023bbc90dac80d35a0f",
|
"rev": "44590a416d4a3e8220e19e29e0b6efe64a80315d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
|
@ -23,23 +22,23 @@ in {
|
||||||
sync = mkOption {default = "/home/myned/SYNC";};
|
sync = mkOption {default = "/home/myned/SYNC";};
|
||||||
|
|
||||||
### Hardware
|
### Hardware
|
||||||
width = mkOption {default = 1920;};
|
width = mkOption {default = 1920.0;};
|
||||||
height = mkOption {default = 1080;};
|
height = mkOption {default = 1080.0;};
|
||||||
refresh = mkOption {default = 60;};
|
refresh = mkOption {default = 60.0;};
|
||||||
vrr = mkOption {default = false;};
|
vrr = mkOption {default = false;};
|
||||||
ultrawide = mkOption {default = cfg.width * 9 / 16 > cfg.height;}; # Wider than 16:9
|
ultrawide = mkOption {default = cfg.width * 9 / 16 > cfg.height;}; # Wider than 16:9
|
||||||
hidpi = mkOption {default = cfg.scale > 1;};
|
hidpi = mkOption {default = cfg.scale > 1;};
|
||||||
scale = mkOption {default = 1;};
|
scale = mkOption {default = 1.0;};
|
||||||
border = mkOption {default = 3;};
|
border = mkOption {default = 3.0;};
|
||||||
gap = mkOption {default = 15;};
|
gap = mkOption {default = 10.0;};
|
||||||
padding = mkOption {default = 51;}; # ?? journalctl --user -u waybar.service | grep height:
|
padding = mkOption {default = 51.0;}; # ?? journalctl --user -u waybar.service | grep height:
|
||||||
rounding = mkOption {default = 15;};
|
rounding = mkOption {default = 15.0;};
|
||||||
|
|
||||||
### Misc
|
### Misc
|
||||||
desktop = mkOption {
|
desktop = mkOption {
|
||||||
default =
|
default =
|
||||||
if config.custom.full
|
if config.custom.full
|
||||||
then "hyprland"
|
then "niri"
|
||||||
else "gnome";
|
else "gnome";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -49,8 +48,8 @@ in {
|
||||||
|
|
||||||
browser = {
|
browser = {
|
||||||
# TODO: Use lib.getExe' instead of /bin/ where possible
|
# TODO: Use lib.getExe' instead of /bin/ where possible
|
||||||
command = mkOption {default = getExe hm.programs.librewolf.finalPackage;};
|
command = mkOption {default = getExe hm.programs.zen-browser.finalPackage;};
|
||||||
desktop = mkOption {default = "librewolf.desktop";};
|
desktop = mkOption {default = "zen.desktop";};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,6 @@ with lib; let
|
||||||
hyprlock = "${config.home-manager.users.${config.custom.username}.programs.hyprlock.package}/bin/hyprlock";
|
hyprlock = "${config.home-manager.users.${config.custom.username}.programs.hyprlock.package}/bin/hyprlock";
|
||||||
hyprpicker = "${pkgs.hyprpicker}/bin/hyprpicker";
|
hyprpicker = "${pkgs.hyprpicker}/bin/hyprpicker";
|
||||||
inhibit = config.home-manager.users.${config.custom.username}.home.file.".local/bin/inhibit".source;
|
inhibit = config.home-manager.users.${config.custom.username}.home.file.".local/bin/inhibit".source;
|
||||||
kitty = "${config.home-manager.users.${config.custom.username}.programs.kitty.package}/bin/kitty";
|
|
||||||
loginctl = "${pkgs.systemd}/bin/loginctl";
|
loginctl = "${pkgs.systemd}/bin/loginctl";
|
||||||
loupe = "${pkgs.loupe}/bin/loupe";
|
loupe = "${pkgs.loupe}/bin/loupe";
|
||||||
nautilus = "${pkgs.nautilus}/bin/nautilus";
|
nautilus = "${pkgs.nautilus}/bin/nautilus";
|
||||||
|
@ -70,6 +69,40 @@ in {
|
||||||
# TODO: Focus window if already launched
|
# TODO: Focus window if already launched
|
||||||
# https://github.com/YaLTeR/niri/discussions/267
|
# https://github.com/YaLTeR/niri/discussions/267
|
||||||
#?? niri msg action focus-window --id (niri msg -j windows | jq '.[] | select(.app_id == "").id')
|
#?? niri msg action focus-window --id (niri msg -j windows | jq '.[] | select(.app_id == "").id')
|
||||||
|
(key "Apostrophe" "Mod" screenshot)
|
||||||
|
(key "Apostrophe" "Mod+Ctrl+Shift" screenshot-screen)
|
||||||
|
(key "Apostrophe" "Mod+Shift" screenshot-window)
|
||||||
|
(key "Backslash" "Mod" (spawn inhibit))
|
||||||
|
(key "Backslash" "Mod+Shift" (spawn power))
|
||||||
|
(key "Backspace" "Mod" center-column)
|
||||||
|
(key "Bracketleft" "Mod" (switch-layout "prev"))
|
||||||
|
(key "Bracketright" "Mod" (switch-layout "next"))
|
||||||
|
(key "Delete" "Ctrl+Alt" (spawn [loginctl "terminate-user" config.custom.username]))
|
||||||
|
(key "Delete" "Mod" (spawn [playerctl] "play-pause"))
|
||||||
|
(key "Down" "Mod" (spawn [swayosd-client "--brightness" "lower"]))
|
||||||
|
(key "Equal" "Mod" (spawn [swayosd-client "--output-volume" "raise"]))
|
||||||
|
(key "Escape" "Mod" switch-focus-between-floating-and-tiling)
|
||||||
|
(key "Escape" "Mod+Alt" (spawn ["lifx" "state" "--color" "red"]))
|
||||||
|
(key "Escape" "Mod+Shift" toggle-window-floating)
|
||||||
|
(key "Left" "Mod" (spawn [playerctl "previous"]))
|
||||||
|
(key "Minus" "Mod" (spawn [swayosd-client "--output-volume" "lower"]))
|
||||||
|
(key "Return" "Mod" maximize-column)
|
||||||
|
(key "Return" "Mod+Shift" fullscreen-window)
|
||||||
|
(key "Right" "Mod" (spawn [playerctl "next"]))
|
||||||
|
(key "Slash" "Mod" (spawn [loupe "/tmp/wallpaper.png"]))
|
||||||
|
(key "Slash" "Mod+Shift" show-hotkey-overlay)
|
||||||
|
(key "Space" "Ctrl+Alt" (spawn ["lifx" "toggle"]))
|
||||||
|
(key "Tab" "Mod" toggle-column-tabbed-display)
|
||||||
|
(key "Up" "Mod" (spawn [swayosd-client "--brightness" "raise"]))
|
||||||
|
(key "WheelScrollDown" "Mod" focus-window-or-workspace-down)
|
||||||
|
(key "WheelScrollDown" "Mod+Shift" move-window-down-or-to-workspace-down)
|
||||||
|
(key "WheelScrollLeft" "Mod" focus-column-or-monitor-left)
|
||||||
|
(key "WheelScrollLeft" "Mod+Shift" move-column-left-or-to-monitor-left)
|
||||||
|
(key "WheelScrollRight" "Mod" focus-column-or-monitor-right)
|
||||||
|
(key "WheelScrollRight" "Mod+Shift" move-column-right-or-to-monitor-right)
|
||||||
|
(key "WheelScrollUp" "Mod" focus-window-or-workspace-up)
|
||||||
|
(key "WheelScrollUp" "Mod+Shift" move-window-up-or-to-workspace-up)
|
||||||
|
|
||||||
(key "0" "Mod" (spawn [swayosd-client "--output-volume" "mute-toggle"]))
|
(key "0" "Mod" (spawn [swayosd-client "--output-volume" "mute-toggle"]))
|
||||||
(key "1" "Ctrl+Alt" (spawn ["lifx" "state" "--brightness" "0.01"]))
|
(key "1" "Ctrl+Alt" (spawn ["lifx" "state" "--brightness" "0.01"]))
|
||||||
(key "1" "Mod" (focus-workspace "1"))
|
(key "1" "Mod" (focus-workspace "1"))
|
||||||
|
@ -98,28 +131,17 @@ in {
|
||||||
(key "8" "Mod" (focus-workspace "8"))
|
(key "8" "Mod" (focus-workspace "8"))
|
||||||
(key "8" "Mod+Shift" (move-column-to-workspace "8"))
|
(key "8" "Mod+Shift" (move-column-to-workspace "8"))
|
||||||
(key "9" "Mod" (spawn audio))
|
(key "9" "Mod" (spawn audio))
|
||||||
(key "A" "Ctrl+Alt" (spawn [waydroid "session" "stop"]))
|
|
||||||
(key "A" "Mod" focus-column-or-monitor-left)
|
(key "A" "Mod" focus-column-or-monitor-left)
|
||||||
(key "A" "Mod+Ctrl" consume-or-expel-window-left)
|
(key "A" "Mod+Ctrl" consume-or-expel-window-left)
|
||||||
(key "A" "Mod+Shift" move-column-left-or-to-monitor-left)
|
(key "A" "Mod+Shift" move-column-left-or-to-monitor-left)
|
||||||
(key "Apostrophe" "Mod" screenshot)
|
|
||||||
(key "Apostrophe" "Mod+Ctrl+Shift" screenshot-screen)
|
|
||||||
(key "Apostrophe" "Mod+Shift" screenshot-window)
|
|
||||||
(key "B" "Ctrl+Alt" (spawn [pkill config.custom.browser.command]))
|
(key "B" "Ctrl+Alt" (spawn [pkill config.custom.browser.command]))
|
||||||
(key "B" "Mod" (spawn config.custom.browser.command))
|
(key "B" "Mod" (spawn config.custom.browser.command))
|
||||||
(key "Backslash" "Mod" (spawn inhibit))
|
(key "C" "Mod" (spawn config.custom.menus.clipboard.show))
|
||||||
(key "Backslash" "Mod+Shift" (spawn power))
|
(key "C" "Mod+Shift" (spawn config.custom.menus.clipboard.clear))
|
||||||
(key "Backspace" "Mod" center-column)
|
(key "D" "Ctrl+Alt" (spawn [waydroid "session" "stop"]))
|
||||||
(key "Bracketleft" "Mod" (switch-layout "prev"))
|
(key "D" "Mod" (spawn [waydroid "app" "launch" "com.YoStarEN.Arknights"]))
|
||||||
(key "Bracketright" "Mod" (switch-layout "next"))
|
|
||||||
(key "Delete" "Ctrl+Alt" (spawn [loginctl "terminate-user" config.custom.username]))
|
|
||||||
(key "Delete" "Mod" (spawn [playerctl] "play-pause"))
|
|
||||||
(key "Down" "Mod" (spawn [swayosd-client "--brightness" "lower"]))
|
|
||||||
(key "E" "Ctrl+Alt" (spawn [pkill "gnome-text-editor"]))
|
(key "E" "Ctrl+Alt" (spawn [pkill "gnome-text-editor"]))
|
||||||
(key "E" "Mod" (spawn gnome-text-editor))
|
(key "E" "Mod" (spawn [gnome-text-editor "--new-window"]))
|
||||||
(key "Equal" "Mod" (spawn [swayosd-client "--output-volume" "raise"]))
|
|
||||||
(key "Escape" "Mod" toggle-window-floating)
|
|
||||||
(key "Escape" "Mod+Alt" (spawn ["lifx" "state" "--color" "red"]))
|
|
||||||
(key "F" "Mod" (spawn [nautilus "--new-window"]))
|
(key "F" "Mod" (spawn [nautilus "--new-window"]))
|
||||||
(key "G" "Ctrl+Alt" (spawn [pkill "steam"]))
|
(key "G" "Ctrl+Alt" (spawn [pkill "steam"]))
|
||||||
(key "G" "Mod" (spawn steam))
|
(key "G" "Mod" (spawn steam))
|
||||||
|
@ -129,46 +151,24 @@ in {
|
||||||
(key "K" "Mod" (spawn obsidian))
|
(key "K" "Mod" (spawn obsidian))
|
||||||
(key "L" "Mod" (spawn [bash "-c" "${hyprlock} --immediate & ${niri} msg action power-off-monitors"]))
|
(key "L" "Mod" (spawn [bash "-c" "${hyprlock} --immediate & ${niri} msg action power-off-monitors"]))
|
||||||
(key "L" "Mod+Shift" suspend)
|
(key "L" "Mod+Shift" suspend)
|
||||||
(key "Left" "Mod" (spawn [playerctl "previous"]))
|
|
||||||
(key "M" "Ctrl+Alt" (spawn [pkill "youtube-music"]))
|
(key "M" "Ctrl+Alt" (spawn [pkill "youtube-music"]))
|
||||||
(key "M" "Mod" (spawn youtube-music))
|
(key "M" "Mod" (spawn youtube-music))
|
||||||
(key "Minus" "Mod" (spawn [swayosd-client "--output-volume" "lower"]))
|
(key "O" "Mod" (spawn [hyprpicker "--autocopy"]))
|
||||||
(key "N" "Mod" (spawn networkmanager_dmenu))
|
(key "O" "Mod+Shift" (spawn [hyprpicker "--autocopy --format rgb"]))
|
||||||
(key "O" "Mod" (spawn [loupe "/tmp/wallpaper.png"]))
|
|
||||||
(key "P" "Ctrl+Alt" (spawn [pkill "bitwarden"]))
|
(key "P" "Ctrl+Alt" (spawn [pkill "bitwarden"]))
|
||||||
(key "P" "Mod" (spawn config.custom.menus.vault.show))
|
(key "P" "Mod" (spawn bitwarden))
|
||||||
(key "P" "Mod+Shift" (spawn bitwarden))
|
|
||||||
(key "Q" "Mod" close-window)
|
(key "Q" "Mod" close-window)
|
||||||
(key "R" "Mod" focus-window-or-workspace-down)
|
(key "R" "Mod" focus-window-or-workspace-down)
|
||||||
(key "R" "Mod+Shift" move-window-down-or-to-workspace-down)
|
(key "R" "Mod+Shift" move-window-down-or-to-workspace-down)
|
||||||
(key "Return" "Mod" maximize-column)
|
|
||||||
(key "Return" "Mod+Shift" fullscreen-window)
|
|
||||||
(key "Right" "Mod" (spawn [playerctl "next"]))
|
|
||||||
(key "S" "Mod" focus-column-or-monitor-right)
|
(key "S" "Mod" focus-column-or-monitor-right)
|
||||||
(key "S" "Mod+Ctrl" consume-or-expel-window-right)
|
(key "S" "Mod+Ctrl" consume-or-expel-window-right)
|
||||||
(key "S" "Mod+Shift" move-column-right-or-to-monitor-right)
|
(key "S" "Mod+Shift" move-column-right-or-to-monitor-right)
|
||||||
(key "Semicolon" "Mod" (spawn [hyprpicker "--autocopy"]))
|
|
||||||
(key "Semicolon" "Mod+Shift" (spawn [hyprpicker "--autocopy --format rgb"]))
|
|
||||||
(key "Slash" "Mod+Shift" show-hotkey-overlay)
|
|
||||||
(key "Space" "Ctrl+Alt" (spawn ["lifx" "toggle"]))
|
|
||||||
(key "Space" "Ctrl+Alt" (spawn ["lifx" "toggle"]))
|
|
||||||
(key "T" "Ctrl+Alt" (spawn [pkill "ghostty"]))
|
(key "T" "Ctrl+Alt" (spawn [pkill "ghostty"]))
|
||||||
(key "T" "Mod" (spawn ghostty))
|
(key "T" "Mod" (spawn ghostty))
|
||||||
(key "Tab" "Mod" switch-focus-between-floating-and-tiling)
|
(key "V" "Mod" (spawn virt-manager))
|
||||||
(key "Up" "Mod" (spawn [swayosd-client "--brightness" "raise"]))
|
|
||||||
(key "V" "Mod" (spawn config.custom.menus.clipboard.show))
|
|
||||||
(key "V" "Mod+Ctrl" (spawn vm))
|
(key "V" "Mod+Ctrl" (spawn vm))
|
||||||
(key "V" "Mod+Shift" (spawn config.custom.menus.clipboard.clear))
|
|
||||||
(key "W" "Mod" focus-window-or-workspace-up)
|
(key "W" "Mod" focus-window-or-workspace-up)
|
||||||
(key "W" "Mod+Shift" move-window-up-or-to-workspace-up)
|
(key "W" "Mod+Shift" move-window-up-or-to-workspace-up)
|
||||||
(key "WheelScrollDown" "Mod" focus-window-or-workspace-down)
|
|
||||||
(key "WheelScrollDown" "Mod+Shift" move-window-down-or-to-workspace-down)
|
|
||||||
(key "WheelScrollLeft" "Mod" focus-column-or-monitor-left)
|
|
||||||
(key "WheelScrollLeft" "Mod+Shift" move-column-left-or-to-monitor-left)
|
|
||||||
(key "WheelScrollRight" "Mod" focus-column-or-monitor-right)
|
|
||||||
(key "WheelScrollRight" "Mod+Shift" move-column-right-or-to-monitor-right)
|
|
||||||
(key "WheelScrollUp" "Mod" focus-window-or-workspace-up)
|
|
||||||
(key "WheelScrollUp" "Mod+Shift" move-window-up-or-to-workspace-up)
|
|
||||||
(key "X" "Mod" (set-column-width "+10%"))
|
(key "X" "Mod" (set-column-width "+10%"))
|
||||||
(key "X" "Mod+Ctrl" (set-column-width "100%"))
|
(key "X" "Mod+Ctrl" (set-column-width "100%"))
|
||||||
(key "X" "Mod+Ctrl+Shift" (set-window-height "100%"))
|
(key "X" "Mod+Ctrl+Shift" (set-window-height "100%"))
|
||||||
|
@ -184,7 +184,9 @@ in {
|
||||||
#// (key "Shift_L" "Mod" focus-workspace-previous)
|
#// (key "Shift_L" "Mod" focus-workspace-previous)
|
||||||
# TODO: Use "Super_L" when fixed
|
# TODO: Use "Super_L" when fixed
|
||||||
(key "Space" "Mod" (spawn config.custom.menus.default.show))
|
(key "Space" "Mod" (spawn config.custom.menus.default.show))
|
||||||
|
(key "Space" "Mod+Alt" (spawn config.custom.menus.vault.show))
|
||||||
(key "Space" "Mod+Ctrl" (spawn config.custom.menus.calculator.show))
|
(key "Space" "Mod+Ctrl" (spawn config.custom.menus.calculator.show))
|
||||||
|
(key "Space" "Mod+Ctrl+Shift" (spawn networkmanager_dmenu))
|
||||||
(key "Space" "Mod+Shift" (spawn config.custom.menus.search.show))
|
(key "Space" "Mod+Shift" (spawn config.custom.menus.search.show))
|
||||||
|
|
||||||
# Media keys
|
# Media keys
|
||||||
|
|
|
@ -60,14 +60,6 @@ in {
|
||||||
programs.niri = {
|
programs.niri = {
|
||||||
package = config.programs.niri.package;
|
package = config.programs.niri.package;
|
||||||
|
|
||||||
# https://github.com/YaLTeR/niri/wiki/Configuration:-Overview
|
|
||||||
# HACK: Prepend validated kdl config not currently implemented in settings module for e.g. custom build
|
|
||||||
# https://github.com/sodiboo/niri-flake/blob/main/settings.nix
|
|
||||||
config = with inputs.niri-flake.lib;
|
|
||||||
(internal.settings-module {config = hm;}).options.programs.niri.config.default
|
|
||||||
# https://github.com/sodiboo/niri-flake/blob/main/default-config.kdl.nix
|
|
||||||
++ (with kdl; []);
|
|
||||||
|
|
||||||
# https://github.com/YaLTeR/niri/wiki/Configuration:-Debug-Options
|
# https://github.com/YaLTeR/niri/wiki/Configuration:-Debug-Options
|
||||||
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingsdebug
|
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingsdebug
|
||||||
settings.debug = {
|
settings.debug = {
|
||||||
|
@ -75,6 +67,46 @@ in {
|
||||||
#// disable-direct-scanout = [];
|
#// disable-direct-scanout = [];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# HACK: Replace read-only finalConfig until extraConfig is supported
|
||||||
|
# https://github.com/sodiboo/niri-flake/issues/825
|
||||||
|
xdg.configFile = {
|
||||||
|
# https://github.com/sodiboo/niri-flake/blob/59ed19d431324af3fcebbf623c081eae2e67ab97/flake.nix#L395
|
||||||
|
niri-config.enable = mkForce false;
|
||||||
|
|
||||||
|
# TODO: Move to niri-flake when supported
|
||||||
|
# HACK: Merge kdl nodes into module config
|
||||||
|
# https://github.com/sodiboo/niri-flake/blob/main/settings.nix
|
||||||
|
# https://github.com/sodiboo/niri-flake/blob/main/default-config.kdl.nix
|
||||||
|
"niri/config.kdl".text = with inputs.niri-flake.lib;
|
||||||
|
kdl.serialize.nodes (forEach hm.programs.niri.config (node:
|
||||||
|
if isAttrs node && node.name == "layout"
|
||||||
|
then
|
||||||
|
recursiveUpdate node {
|
||||||
|
children = with kdl;
|
||||||
|
node.children
|
||||||
|
++ [
|
||||||
|
# https://github.com/YaLTeR/niri/wiki/Configuration:-Layout#shadow
|
||||||
|
(plain "shadow" [
|
||||||
|
(flag "on")
|
||||||
|
(leaf "inactive-color" "#00000000")
|
||||||
|
])
|
||||||
|
|
||||||
|
# https://github.com/YaLTeR/niri/wiki/Configuration:-Layout#tab-indicator
|
||||||
|
(plain "tab-indicator" [
|
||||||
|
(flag "place-within-column")
|
||||||
|
(leaf "active-color" "#d33682")
|
||||||
|
(leaf "inactive-color" "#d3368240")
|
||||||
|
(leaf "corner-radius" config.custom.rounding)
|
||||||
|
(leaf "gap" 2)
|
||||||
|
(leaf "gaps-between-tabs" 2)
|
||||||
|
(leaf "length" {total-proportion = 0.98;})
|
||||||
|
(leaf "width" (config.custom.border + 3))
|
||||||
|
])
|
||||||
|
];
|
||||||
|
}
|
||||||
|
else node));
|
||||||
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -23,9 +23,9 @@ in {
|
||||||
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingslayoutborder
|
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingslayoutborder
|
||||||
border = {
|
border = {
|
||||||
enable = true;
|
enable = true;
|
||||||
width = 1;
|
width = config.custom.border;
|
||||||
active.color = "#002b36";
|
active.color = "#d33682";
|
||||||
inactive.color = "#002b36";
|
inactive.color = "#d3368200";
|
||||||
};
|
};
|
||||||
|
|
||||||
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingslayoutcenter-focused-column
|
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingslayoutcenter-focused-column
|
||||||
|
@ -41,10 +41,10 @@ in {
|
||||||
|
|
||||||
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingslayoutfocus-ring
|
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingslayoutfocus-ring
|
||||||
focus-ring = {
|
focus-ring = {
|
||||||
enable = true;
|
enable = false;
|
||||||
width = config.custom.border;
|
width = config.custom.border;
|
||||||
active.color = "#d33682";
|
active.color = "#d33682";
|
||||||
inactive.color = "#00000000";
|
inactive.color = "#d3368200";
|
||||||
};
|
};
|
||||||
|
|
||||||
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingslayoutgaps
|
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingslayoutgaps
|
||||||
|
|
|
@ -32,10 +32,8 @@ in {
|
||||||
inherit size;
|
inherit size;
|
||||||
theme = name;
|
theme = name;
|
||||||
|
|
||||||
# BUG: Heavily increases CPU usage with cursor movement
|
hide-after-inactive-ms = 1000 * 15; # Milliseconds
|
||||||
# https://github.com/YaLTeR/niri/issues/1037
|
hide-when-typing = true;
|
||||||
#// hide-after-inactive-ms = 1000 * 15; # Milliseconds
|
|
||||||
#// hide-when-typing = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# HACK: Inherit home-manager environment variables in lieu of upstream fix
|
# HACK: Inherit home-manager environment variables in lieu of upstream fix
|
||||||
|
@ -55,7 +53,7 @@ in {
|
||||||
spawn-at-startup =
|
spawn-at-startup =
|
||||||
[
|
[
|
||||||
{command = [audio "--init"];} # Enforce audio profile state
|
{command = [audio "--init"];} # Enforce audio profile state
|
||||||
{command = [bash "-c" config.custom.menus.clipboard.clear-silent];} # Clear clipboard history
|
{command = [config.custom.menus.clipboard.clear-silent];} # Clear clipboard history
|
||||||
{command = [sway-audio-idle-inhibit];} # Inhibit while audio is playing
|
{command = [sway-audio-idle-inhibit];} # Inhibit while audio is playing
|
||||||
]
|
]
|
||||||
++ optionals config.custom.wallpaper [
|
++ optionals config.custom.wallpaper [
|
||||||
|
|
|
@ -53,19 +53,14 @@ in {
|
||||||
{
|
{
|
||||||
# Startup
|
# Startup
|
||||||
#?? <= 60 secs after niri launches
|
#?? <= 60 secs after niri launches
|
||||||
matches = [
|
matches = [{at-startup = true;}];
|
||||||
{at-startup = true;}
|
|
||||||
{app-id = "^org\.gnome\.Loupe$";}
|
|
||||||
{app-id = "^org\.gnome\.Nautilus$";}
|
|
||||||
];
|
|
||||||
|
|
||||||
open-focused = false;
|
|
||||||
#// open-on-workspace = "1";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
# Android
|
# Android
|
||||||
matches = [{app-id = "^[Ww]aydroid.*$";}];
|
matches = [{app-id = "^[Ww]aydroid.*$";}];
|
||||||
|
|
||||||
|
open-on-workspace = "2";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -81,9 +76,9 @@ in {
|
||||||
default-column-width.proportion =
|
default-column-width.proportion =
|
||||||
if config.custom.ultrawide
|
if config.custom.ultrawide
|
||||||
then 0.4
|
then 0.4
|
||||||
else 0.7;
|
else 0.8;
|
||||||
|
|
||||||
#// open-on-workspace = "2";
|
open-on-workspace = "2";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -94,6 +89,8 @@ in {
|
||||||
{app-id = "^Element$";}
|
{app-id = "^Element$";}
|
||||||
{app-id = "^org\.telegram\.desktop$";}
|
{app-id = "^org\.telegram\.desktop$";}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
open-on-workspace = "3";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -108,7 +105,7 @@ in {
|
||||||
{app-id = "^obsidian$";}
|
{app-id = "^obsidian$";}
|
||||||
];
|
];
|
||||||
|
|
||||||
#// open-on-workspace = "2";
|
open-on-workspace = "2";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -127,7 +124,7 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
default-column-width = {}; # Window-defined
|
default-column-width = {}; # Window-defined
|
||||||
#// open-on-workspace = "1";
|
open-on-workspace = "1";
|
||||||
variable-refresh-rate = true;
|
variable-refresh-rate = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,7 +141,7 @@ in {
|
||||||
{app-id = "^YouTube Music$";}
|
{app-id = "^YouTube Music$";}
|
||||||
];
|
];
|
||||||
|
|
||||||
#// open-on-workspace = "3";
|
open-on-workspace = "3";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -155,7 +152,7 @@ in {
|
||||||
{app-id = "^ONLYOFFICE Desktop Editors$";}
|
{app-id = "^ONLYOFFICE Desktop Editors$";}
|
||||||
];
|
];
|
||||||
|
|
||||||
#// open-on-workspace = "2";
|
open-on-workspace = "2";
|
||||||
}
|
}
|
||||||
|
|
||||||
(let
|
(let
|
||||||
|
@ -190,6 +187,8 @@ in {
|
||||||
{app-id = "^kitty$";}
|
{app-id = "^kitty$";}
|
||||||
{app-id = "^org\.wezfurlong\.wezterm$";}
|
{app-id = "^org\.wezfurlong\.wezterm$";}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
#// default-column-display = "tabbed";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -210,7 +209,7 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
open-floating = false;
|
open-floating = false;
|
||||||
#// open-on-workspace = "1";
|
open-on-workspace = "1";
|
||||||
}
|
}
|
||||||
|
|
||||||
### Overrides
|
### Overrides
|
||||||
|
|
|
@ -25,7 +25,7 @@ in {
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
custom = mkIf (config.custom.menu == "rofi") {
|
custom = mkIf (config.custom.menu == "rofi") {
|
||||||
menus = mapAttrsRecursive (path: value: pkgs.writeShellScript (concatStringsSep "-" (["menus"] ++ path)) value) {
|
menus = mapAttrsRecursive (path: value: toString (pkgs.writeShellScript (concatStringsSep "-" (["menus"] ++ path)) value)) {
|
||||||
default.show = "${pkill} --exact rofi || ${rofi} -modes drun -show drun -show-icons";
|
default.show = "${pkill} --exact rofi || ${rofi} -modes drun -show drun -show-icons";
|
||||||
calculator.show = ''${pkill} --exact rofi || ${rofi} -modes calc -show calc -no-history -calc-error-color '#dc322f' -calc-command "${echo} -n '{result}' | ${wl-copy}"'';
|
calculator.show = ''${pkill} --exact rofi || ${rofi} -modes calc -show calc -no-history -calc-error-color '#dc322f' -calc-command "${echo} -n '{result}' | ${wl-copy}"'';
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ in {
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
custom = mkIf (config.custom.menu == "walker") {
|
custom = mkIf (config.custom.menu == "walker") {
|
||||||
menus = mapAttrsRecursive (path: value: pkgs.writeShellScript (concatStringsSep "-" (["menus"] ++ path)) value) {
|
menus = mapAttrsRecursive (path: value: toString (pkgs.writeShellScript (concatStringsSep "-" (["menus"] ++ path)) value)) {
|
||||||
default.show = walker;
|
default.show = walker;
|
||||||
|
|
||||||
clipboard = {
|
clipboard = {
|
||||||
|
|
|
@ -39,7 +39,7 @@ with lib; {
|
||||||
#// gnome-terminal.enable = true;
|
#// gnome-terminal.enable = true;
|
||||||
#// kdeconnect.enable = true;
|
#// kdeconnect.enable = true;
|
||||||
kitty.enable = true;
|
kitty.enable = true;
|
||||||
librewolf.enable = true;
|
#// librewolf.enable = true;
|
||||||
nautilus.enable = true;
|
nautilus.enable = true;
|
||||||
nvtop.enable = true;
|
nvtop.enable = true;
|
||||||
wezterm.enable = true;
|
wezterm.enable = true;
|
||||||
|
@ -47,7 +47,7 @@ with lib; {
|
||||||
})
|
})
|
||||||
|
|
||||||
(mkIf config.custom.full {
|
(mkIf config.custom.full {
|
||||||
_1password.enable = true;
|
#// _1password.enable = true;
|
||||||
adb.enable = true;
|
adb.enable = true;
|
||||||
#// ags.enable = true;
|
#// ags.enable = true;
|
||||||
#// bitwarden-menu.enable = true;
|
#// bitwarden-menu.enable = true;
|
||||||
|
|
|
@ -112,6 +112,7 @@ in {
|
||||||
gbib = "git bisect bad";
|
gbib = "git bisect bad";
|
||||||
gbig = "git bisect good";
|
gbig = "git bisect good";
|
||||||
gc = "git clone";
|
gc = "git clone";
|
||||||
|
gco = "git commit";
|
||||||
gd = "git diff";
|
gd = "git diff";
|
||||||
gf = "git fetch";
|
gf = "git fetch";
|
||||||
gi = "git init";
|
gi = "git init";
|
||||||
|
|
Loading…
Add table
Reference in a new issue