From 717c0435eef561c8ef0a1cff6a462627812808c8 Mon Sep 17 00:00:00 2001 From: Jelle Spreeuwenberg Date: Sun, 23 Aug 2026 09:26:39 +0200 Subject: [PATCH] update inputs --- flake.lock | 230 +++++------------- flake.nix | 1 - modules/capabilities/dev-tools.nix | 2 +- modules/capabilities/niri/_bindings.nix | 302 ++++++++++++------------ modules/capabilities/niri/default.nix | 189 +++++++-------- modules/capabilities/noctalia.nix | 24 +- modules/capabilities/theme.nix | 29 ++- 7 files changed, 316 insertions(+), 461 deletions(-) diff --git a/flake.lock b/flake.lock index 9e7e717..749161f 100644 --- a/flake.lock +++ b/flake.lock @@ -79,11 +79,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1782949081, - "narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=", + "lastModified": 1785627969, + "narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e", + "rev": "427bf4bd9435fdf21321c8cc628c24efc14c0f7a", "type": "github" }, "original": { @@ -100,11 +100,11 @@ ] }, "locked": { - "lastModified": 1782949081, - "narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=", + "lastModified": 1785627969, + "narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e", + "rev": "427bf4bd9435fdf21321c8cc628c24efc14c0f7a", "type": "github" }, "original": { @@ -139,11 +139,11 @@ ] }, "locked": { - "lastModified": 1784913159, - "narHash": "sha256-JWq0BfjO4ktpH5USfQNQzdvHpIDT8fSKD5K7LvdMRFs=", + "lastModified": 1787379775, + "narHash": "sha256-XL2qfqmocfsvuEGyomZg4nOZfkuSe8vZtrOX99I+b6I=", "owner": "nix-community", "repo": "home-manager", - "rev": "079a3b5d1aa6a719920a51316253b7d6dd22738d", + "rev": "ec1a8fdf74ed3f276148ee106299a2ba0e65d51f", "type": "github" }, "original": { @@ -178,11 +178,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1784961014, - "narHash": "sha256-Ot9VI5fn7odhq1Him2pRjdFkLAm9CUTUqUz///pTFF8=", + "lastModified": 1787372739, + "narHash": "sha256-0o/VXqH7ENNuDZ9YOL2JMUo0wkhZc6FUKLUwGOwGq1A=", "owner": "numtide", "repo": "llm-agents.nix", - "rev": "d8b00961d99eb93ec852f29ed8be290573cc88e8", + "rev": "304ada966596829e870cacc580e6b8bf27186744", "type": "github" }, "original": { @@ -191,62 +191,6 @@ "type": "github" } }, - "niri": { - "inputs": { - "niri-stable": "niri-stable", - "niri-unstable": "niri-unstable", - "nixpkgs": "nixpkgs_2", - "nixpkgs-stable": "nixpkgs-stable", - "xwayland-satellite-stable": "xwayland-satellite-stable", - "xwayland-satellite-unstable": "xwayland-satellite-unstable" - }, - "locked": { - "lastModified": 1784874881, - "narHash": "sha256-u4jhSIf/Un0qZB+Cn3hTTaHSI20XeAxYbA5o4faqdJs=", - "owner": "sodiboo", - "repo": "niri-flake", - "rev": "ef7a2a3d719af46b906c22a3ebfb7d65627b2cd2", - "type": "github" - }, - "original": { - "owner": "sodiboo", - "repo": "niri-flake", - "type": "github" - } - }, - "niri-stable": { - "flake": false, - "locked": { - "lastModified": 1756556321, - "narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=", - "owner": "YaLTeR", - "repo": "niri", - "rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294", - "type": "github" - }, - "original": { - "owner": "YaLTeR", - "ref": "v25.08", - "repo": "niri", - "type": "github" - } - }, - "niri-unstable": { - "flake": false, - "locked": { - "lastModified": 1784570726, - "narHash": "sha256-9EMn69JBcFWFgUM7f0VBAX+jBby5b9H3M59U75+5yI4=", - "owner": "YaLTeR", - "repo": "niri", - "rev": "7f26c3ee804fb6ed458ef7fb0e3c794f14e0b3bc", - "type": "github" - }, - "original": { - "owner": "YaLTeR", - "repo": "niri", - "type": "github" - } - }, "nix-index-database": { "inputs": { "nixpkgs": [ @@ -254,11 +198,11 @@ ] }, "locked": { - "lastModified": 1784440659, - "narHash": "sha256-Q5kNLlWngt7TaIIZoxDKWMHjiSaNRVqr70FqWCRRfr4=", + "lastModified": 1786852476, + "narHash": "sha256-IM5CYtf86W4w8eUPpKcY/LpdHElmVBtJhaKnoTKxZEA=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "4f8d52a3598b0dc7db7a5e7b419e3edd9d1ecfdb", + "rev": "c7962dc97b45129df8d751bedaf37beb5a17706e", "type": "github" }, "original": { @@ -274,11 +218,11 @@ ] }, "locked": { - "lastModified": 1782135443, - "narHash": "sha256-vAmbArdCyjqpVW+37aCy/PMBOLIqukUXLQuEKLwUhA4=", + "lastModified": 1787399276, + "narHash": "sha256-g+OahR7f3bQYMQu5/3HeEO5hUbizcbrKGsO4TdIJEqA=", "owner": "BirdeeHub", "repo": "nix-wrapper-modules", - "rev": "6e7f66fa2cdf4d63162580b438f7fcf87c28a46f", + "rev": "fcbc7ed975df6e79f295e3062c722f246af2a7fd", "type": "github" }, "original": { @@ -289,14 +233,14 @@ }, "nixos-hardware": { "inputs": { - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1784723954, - "narHash": "sha256-1CfD8ZUjCkTgjsneLZ/lxCHhgDfqxxE7/GX0MmsgiqA=", + "lastModified": 1787144466, + "narHash": "sha256-HHfv2/HkNSKbbSyU9iD/g8lbP6r4tl33sSw1W4rXCk0=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "a017f5b72210026af5b3ac5949f08d94380a6fbd", + "rev": "0471accf8d0a8210b31d947497d179ecc99e0021", "type": "github" }, "original": { @@ -308,11 +252,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1784796856, - "narHash": "sha256-wWFrV5/Qbm+lyt5x20E/bSbfJiGKMo4RCxZV8cl/WZI=", + "lastModified": 1775036866, + "narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e2587caef70cea85dd97d7daab492899902dbf5d", + "rev": "6201e203d09599479a3b3450ed24fa81537ebc4e", "type": "github" }, "original": { @@ -324,11 +268,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1782614948, - "narHash": "sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC+eBu2zKlp8=", + "lastModified": 1785031560, + "narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "db3f255737b94216eb71cce308e2912cf6bc2d7c", + "rev": "0e79af5e3d4dcfcd676ab5ba3f95d2e3352e078c", "type": "github" }, "original": { @@ -339,27 +283,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1782847189, - "narHash": "sha256-twXPFqFsrrY5r28Zh7Homgcp2gUMBgQ6WDS98Q/3xFI=", + "lastModified": 1787204541, + "narHash": "sha256-OURZPknrTjQrlNyxPdqzyqmU/81Wes1CUP/Ft1Rv/YI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b6018f87da91d19d0ab4cf979885689b469cdd41", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-25.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_2": { - "locked": { - "lastModified": 1784856561, - "narHash": "sha256-J+Bx1Z6Oeoj2FgnBhRMKyUhhtDoOpTgXYaVLZpDjW4A=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "597283ad8aa0b331c788e97c4c262d58877074ef", + "rev": "5880666fd9eb563038431edb35c2d0aa595884e6", "type": "github" }, "original": { @@ -370,22 +298,6 @@ } }, "nixpkgs_2": { - "locked": { - "lastModified": 1784796856, - "narHash": "sha256-wWFrV5/Qbm+lyt5x20E/bSbfJiGKMo4RCxZV8cl/WZI=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "e2587caef70cea85dd97d7daab492899902dbf5d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1767892417, "narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=", @@ -398,42 +310,42 @@ "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { - "lastModified": 1784812282, - "narHash": "sha256-kj0RWcISiimYMfvVVXk4O9z73XHY/tPSVYZ24imKdP8=", - "rev": "6d12004108e0e4a5cfa4bd83b14477f040b15773", + "lastModified": 1787209939, + "narHash": "sha256-8Ou9WyfCXV3MdC/pQcawzeR8EnxRsPMhLoRDZG1AWik=", + "rev": "391b592eb44808b3bd0cb80bb71b63a5a118b8bb", "type": "tarball", - "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1040448.6d12004108e0/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1058520.391b592eb448/nixexprs.tar.xz" }, "original": { "type": "tarball", "url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz" } }, - "nixpkgs_5": { + "nixpkgs_4": { "locked": { - "lastModified": 1784356753, - "narHash": "sha256-zupdTm41be2fY8cexroEOGjopl3F2Gqs3gk7ieqaM3s=", - "rev": "61b7c44c4073f0b827768aff0049561b5110ea5a", + "lastModified": 1786599213, + "narHash": "sha256-yjGG65gA1jORt0hWxjzrnw3AYkIn8EWolp8vezwXZ3I=", + "rev": "0e251e24a4f24e036a084b6b4b2d2491af4167f4", "type": "tarball", - "url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1036777.61b7c44c4073/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1053317.0e251e24a4f2/nixexprs.tar.zst" }, "original": { "type": "tarball", - "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" + "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.zst" } }, "noctalia": { "inputs": { - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1784944609, - "narHash": "sha256-+TlclUP7Q2ylQ8Uh9M35U1ftuGdp++/QfnX9I3V3VeI=", + "lastModified": 1787369379, + "narHash": "sha256-1WUdzP3Y9l95gRhn8muREP0UJu8PmvzEHmdIyfaYRac=", "owner": "noctalia-dev", "repo": "noctalia", - "rev": "8fc7fac1fd637f0027ce1b3cc9544d053cfd8f2c", + "rev": "7fd9f7bfa9604022b9de311b30a3da0c2c4415de", "type": "github" }, "original": { @@ -451,12 +363,11 @@ "home-manager": "home-manager", "import-tree": "import-tree", "llm-agents": "llm-agents", - "niri": "niri", "nix-index-database": "nix-index-database", "nix-wrapper-modules": "nix-wrapper-modules", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_4", - "nixpkgs-stable": "nixpkgs-stable_2", + "nixpkgs": "nixpkgs_3", + "nixpkgs-stable": "nixpkgs-stable", "noctalia": "noctalia", "sops-nix": "sops-nix", "walker": "walker" @@ -490,11 +401,11 @@ ] }, "locked": { - "lastModified": 1783174389, - "narHash": "sha256-aCWC8ngycU7OdJrU2+Je3qf+1a2ykuBvpPhZT/9tXMc=", + "lastModified": 1786629091, + "narHash": "sha256-gkig4nPi1CWc4Z50GBsjE4ygSE7hMpl/TwID2an2Cck=", "owner": "Mic92", "repo": "sops-nix", - "rev": "f1406619a3884cd5c47992a70b8b35c9c0fcb4c9", + "rev": "a8627b21b9107c5711c96b84f32a9a4b3d45295f", "type": "github" }, "original": { @@ -556,11 +467,11 @@ ] }, "locked": { - "lastModified": 1784369104, - "narHash": "sha256-47cxbcZODibHv3rELFQ9vZly0vUNkND/atn/U7HLeb0=", + "lastModified": 1786901030, + "narHash": "sha256-WSFCsDSE5ffgD2MqzkM2CYjeFiKhRF/dJUN8uedb6YE=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "df3c0640565d04a0261253cdd89fce78ec50168a", + "rev": "27b3b12a8e6375f28ebe122f07d230ca5459bbfa", "type": "github" }, "original": { @@ -592,39 +503,6 @@ "repo": "walker", "type": "github" } - }, - "xwayland-satellite-stable": { - "flake": false, - "locked": { - "lastModified": 1755491097, - "narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=", - "owner": "Supreeeme", - "repo": "xwayland-satellite", - "rev": "388d291e82ffbc73be18169d39470f340707edaa", - "type": "github" - }, - "original": { - "owner": "Supreeeme", - "ref": "v0.7", - "repo": "xwayland-satellite", - "type": "github" - } - }, - "xwayland-satellite-unstable": { - "flake": false, - "locked": { - "lastModified": 1784679892, - "narHash": "sha256-Mb7jpqnrcYCfNSItIkkHpuR3YxWFxPuIBfcwNKlRBkk=", - "owner": "Supreeeme", - "repo": "xwayland-satellite", - "rev": "8d135d3b2854b30fd01ea6cd6c27e523dd50a839", - "type": "github" - }, - "original": { - "owner": "Supreeeme", - "repo": "xwayland-satellite", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index a5be237..f4dc38a 100644 --- a/flake.nix +++ b/flake.nix @@ -17,7 +17,6 @@ url = "github:numtide/llm-agents.nix"; inputs.nixpkgs.follows = "nixpkgs"; }; - niri.url = "github:sodiboo/niri-flake"; nix-wrapper-modules = { url = "github:BirdeeHub/nix-wrapper-modules"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/modules/capabilities/dev-tools.nix b/modules/capabilities/dev-tools.nix index f388998..3480dd4 100644 --- a/modules/capabilities/dev-tools.nix +++ b/modules/capabilities/dev-tools.nix @@ -19,7 +19,7 @@ posting resterm kubectl - stablePkgs.mongodb-compass + mongodb-compass scc nodejs mariadb diff --git a/modules/capabilities/niri/_bindings.nix b/modules/capabilities/niri/_bindings.nix index 43e8303..55ce232 100644 --- a/modules/capabilities/niri/_bindings.nix +++ b/modules/capabilities/niri/_bindings.nix @@ -7,245 +7,245 @@ { # Application and utility launchers "Mod+Return" = { - action.spawn = terminal; - hotkey-overlay.title = "Terminal"; + spawn = terminal; + _props.hotkey-overlay-title = "Terminal"; }; "Mod+B" = { - action.spawn = browser; - hotkey-overlay.title = "Browser"; + spawn = browser; + _props.hotkey-overlay-title = "Browser"; }; "Mod+Space" = { - repeat = false; - action.spawn = launcher; - hotkey-overlay.title = "App Launcher"; + _props.repeat = false; + spawn = launcher; + _props.hotkey-overlay-title = "App Launcher"; }; "Mod+Ctrl+Return" = { - repeat = false; - action.spawn = shortcutCommands.nixosTerminal; - hotkey-overlay.title = "NixOS Config Terminal"; + _props.repeat = false; + spawn = shortcutCommands.nixosTerminal; + _props.hotkey-overlay-title = "NixOS Config Terminal"; }; "Mod+Ctrl+Shift+Return" = { - repeat = false; - action.spawn = shortcutCommands.nixosSwitch; - hotkey-overlay.title = "NixOS Switch"; + _props.repeat = false; + spawn = shortcutCommands.nixosSwitch; + _props.hotkey-overlay-title = "NixOS Switch"; }; "Mod+Ctrl+E" = { - repeat = false; - action.spawn = shortcutCommands.editSecrets; - hotkey-overlay.title = "Edit Secrets"; + _props.repeat = false; + spawn = shortcutCommands.editSecrets; + _props.hotkey-overlay-title = "Edit Secrets"; }; "Mod+Ctrl+C" = { - repeat = false; - action.spawn = shortcutCommands.pickColor; - hotkey-overlay.title = "Pick Color"; + _props.repeat = false; + spawn = shortcutCommands.pickColor; + _props.hotkey-overlay-title = "Pick Color"; }; # Hardware media, volume, and brightness keys "XF86AudioPlay" = { - action.spawn-sh = "playerctl play-pause"; - allow-when-locked = true; + spawn-sh = "playerctl play-pause"; + _props.allow-when-locked = true; }; "XF86AudioStop" = { - action.spawn-sh = "playerctl stop"; - allow-when-locked = true; + spawn-sh = "playerctl stop"; + _props.allow-when-locked = true; }; "XF86AudioPrev" = { - action.spawn-sh = "playerctl previous"; - allow-when-locked = true; + spawn-sh = "playerctl previous"; + _props.allow-when-locked = true; }; "XF86AudioNext" = { - action.spawn-sh = "playerctl next"; - allow-when-locked = true; + spawn-sh = "playerctl next"; + _props.allow-when-locked = true; }; "XF86AudioRaiseVolume" = { - action.spawn-sh = "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"; - allow-when-locked = true; + spawn-sh = "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"; + _props.allow-when-locked = true; }; "XF86AudioLowerVolume" = { - action.spawn-sh = "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"; - allow-when-locked = true; + spawn-sh = "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"; + _props.allow-when-locked = true; }; "XF86AudioMute" = { - action.spawn-sh = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; - allow-when-locked = true; + spawn-sh = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; + _props.allow-when-locked = true; }; "XF86AudioMicMute" = { - action.spawn-sh = "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; - allow-when-locked = true; + spawn-sh = "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; + _props.allow-when-locked = true; }; "XF86MonBrightnessUp" = { - action.spawn-sh = "brightnessctl s 5%+"; - allow-when-locked = true; + spawn-sh = "brightnessctl s 5%+"; + _props.allow-when-locked = true; }; "XF86MonBrightnessDown" = { - action.spawn-sh = "brightnessctl s 5%-"; - allow-when-locked = true; + spawn-sh = "brightnessctl s 5%-"; + _props.allow-when-locked = true; }; # Screenshots - "Mod+S".action.screenshot = [ ]; - "Mod+Ctrl+S".action.screenshot-screen = [ ]; - "Mod+Alt+S".action.screenshot-window = [ ]; + "Mod+S".screenshot = { }; + "Mod+Ctrl+S".screenshot-screen = { }; + "Mod+Alt+S".screenshot-window = { }; # Session and compositor controls - "Mod+Shift+Slash".action.show-hotkey-overlay = [ ]; + "Mod+Shift+Slash".show-hotkey-overlay = { }; "Mod+Escape" = { - action.toggle-keyboard-shortcuts-inhibit = [ ]; - allow-inhibiting = false; + toggle-keyboard-shortcuts-inhibit = { }; + _props.allow-inhibiting = false; }; "Mod+Ctrl+L" = { - action.spawn-sh = "loginctl lock-session"; - hotkey-overlay.title = "Lock Screen"; + spawn-sh = "loginctl lock-session"; + _props.hotkey-overlay-title = "Lock Screen"; }; - "Mod+Ctrl+Shift+Q".action.quit = [ ]; - "Ctrl+Alt+Delete".action.quit = [ ]; - "Mod+Shift+P".action.power-off-monitors = [ ]; + "Mod+Ctrl+Shift+Q".quit = { }; + "Ctrl+Alt+Delete".quit = { }; + "Mod+Shift+P".power-off-monitors = { }; # Overview and window close "Mod+O" = { - action.toggle-overview = [ ]; - repeat = false; + toggle-overview = { }; + _props.repeat = false; }; "Mod+Q" = { - action.close-window = [ ]; - repeat = false; + close-window = { }; + _props.repeat = false; }; # Keyboard focus movement - "Mod+Left".action.focus-column-or-monitor-left = [ ]; - "Mod+Down".action.focus-window-down = [ ]; - "Mod+Up".action.focus-window-up = [ ]; - "Mod+Right".action.focus-column-or-monitor-right = [ ]; - "Mod+H".action.focus-column-or-monitor-left = [ ]; - "Mod+J".action.focus-window-down = [ ]; - "Mod+K".action.focus-window-up = [ ]; - "Mod+L".action.focus-column-or-monitor-right = [ ]; + "Mod+Left".focus-column-or-monitor-left = { }; + "Mod+Down".focus-window-down = { }; + "Mod+Up".focus-window-up = { }; + "Mod+Right".focus-column-or-monitor-right = { }; + "Mod+H".focus-column-or-monitor-left = { }; + "Mod+J".focus-window-down = { }; + "Mod+K".focus-window-up = { }; + "Mod+L".focus-column-or-monitor-right = { }; # Keyboard window and column movement - "Mod+Alt+Left".action.move-column-left-or-to-monitor-left = [ ]; - "Mod+Alt+Down".action.move-window-down-or-to-workspace-down = [ ]; - "Mod+Alt+Up".action.move-window-up-or-to-workspace-up = [ ]; - "Mod+Alt+Right".action.move-column-right-or-to-monitor-right = [ ]; - "Mod+Alt+H".action.move-column-left-or-to-monitor-left = [ ]; - "Mod+Alt+J".action.move-window-down-or-to-workspace-down = [ ]; - "Mod+Alt+K".action.move-window-up-or-to-workspace-up = [ ]; - "Mod+Alt+L".action.move-column-right-or-to-monitor-right = [ ]; + "Mod+Alt+Left".move-column-left-or-to-monitor-left = { }; + "Mod+Alt+Down".move-window-down-or-to-workspace-down = { }; + "Mod+Alt+Up".move-window-up-or-to-workspace-up = { }; + "Mod+Alt+Right".move-column-right-or-to-monitor-right = { }; + "Mod+Alt+H".move-column-left-or-to-monitor-left = { }; + "Mod+Alt+J".move-window-down-or-to-workspace-down = { }; + "Mod+Alt+K".move-window-up-or-to-workspace-up = { }; + "Mod+Alt+L".move-column-right-or-to-monitor-right = { }; # First and last column navigation - "Mod+Home".action.focus-column-first = [ ]; - "Mod+End".action.focus-column-last = [ ]; - "Mod+Alt+Home".action.move-column-to-first = [ ]; - "Mod+Alt+End".action.move-column-to-last = [ ]; + "Mod+Home".focus-column-first = { }; + "Mod+End".focus-column-last = { }; + "Mod+Alt+Home".move-column-to-first = { }; + "Mod+Alt+End".move-column-to-last = { }; # Move focus, columns, and workspaces across monitors - "Mod+Tab".action.focus-monitor-next = [ ]; + "Mod+Tab".focus-monitor-next = { }; "Mod+A" = { - repeat = false; - action.spawn = shortcutCommands.swapMonitorWorkspaces; - hotkey-overlay.title = "Swap Monitor Workspaces"; + _props.repeat = false; + spawn = shortcutCommands.swapMonitorWorkspaces; + _props.hotkey-overlay-title = "Swap Monitor Workspaces"; }; - "Mod+Alt+Tab".action.move-column-to-monitor-next = [ ]; - "Mod+Shift+Tab".action.move-workspace-to-monitor-next = [ ]; + "Mod+Alt+Tab".move-column-to-monitor-next = { }; + "Mod+Shift+Tab".move-workspace-to-monitor-next = { }; - "Mod+Shift+Left".action.focus-monitor-left = [ ]; - "Mod+Shift+Down".action.focus-monitor-down = [ ]; - "Mod+Shift+Up".action.focus-monitor-up = [ ]; - "Mod+Shift+Right".action.focus-monitor-right = [ ]; + "Mod+Shift+Left".focus-monitor-left = { }; + "Mod+Shift+Down".focus-monitor-down = { }; + "Mod+Shift+Up".focus-monitor-up = { }; + "Mod+Shift+Right".focus-monitor-right = { }; # Linear workspace navigation - "Mod+Page_Down".action.focus-workspace-down = [ ]; - "Mod+Page_Up".action.focus-workspace-up = [ ]; - "Mod+U".action.focus-workspace-down = [ ]; - "Mod+I".action.focus-workspace-up = [ ]; + "Mod+Page_Down".focus-workspace-down = { }; + "Mod+Page_Up".focus-workspace-up = { }; + "Mod+U".focus-workspace-down = { }; + "Mod+I".focus-workspace-up = { }; # Move columns between adjacent workspaces - "Mod+Alt+Page_Down".action.move-column-to-workspace-down = [ ]; - "Mod+Alt+Page_Up".action.move-column-to-workspace-up = [ ]; - "Mod+Alt+U".action.move-column-to-workspace-down = [ ]; - "Mod+Alt+I".action.move-column-to-workspace-up = [ ]; + "Mod+Alt+Page_Down".move-column-to-workspace-down = { }; + "Mod+Alt+Page_Up".move-column-to-workspace-up = { }; + "Mod+Alt+U".move-column-to-workspace-down = { }; + "Mod+Alt+I".move-column-to-workspace-up = { }; # Reorder workspaces - "Mod+Shift+Page_Down".action.move-workspace-down = [ ]; - "Mod+Shift+Page_Up".action.move-workspace-up = [ ]; - "Mod+Shift+U".action.move-workspace-down = [ ]; - "Mod+Shift+I".action.move-workspace-up = [ ]; + "Mod+Shift+Page_Down".move-workspace-down = { }; + "Mod+Shift+Page_Up".move-workspace-up = { }; + "Mod+Shift+U".move-workspace-down = { }; + "Mod+Shift+I".move-workspace-up = { }; # Mouse workspace navigation "Mod+WheelScrollDown" = { - action.focus-workspace-down = [ ]; - cooldown-ms = 150; + focus-workspace-down = { }; + _props.cooldown-ms = 150; }; "Mod+WheelScrollUp" = { - action.focus-workspace-up = [ ]; - cooldown-ms = 150; + focus-workspace-up = { }; + _props.cooldown-ms = 150; }; "Mod+Alt+WheelScrollDown" = { - action.move-column-to-workspace-down = [ ]; - cooldown-ms = 150; + move-column-to-workspace-down = { }; + _props.cooldown-ms = 150; }; "Mod+Alt+WheelScrollUp" = { - action.move-column-to-workspace-up = [ ]; - cooldown-ms = 150; + move-column-to-workspace-up = { }; + _props.cooldown-ms = 150; }; # Mouse column navigation and movement - "Mod+WheelScrollRight".action.focus-column-or-monitor-right = [ ]; - "Mod+WheelScrollLeft".action.focus-column-or-monitor-left = [ ]; - "Mod+Alt+WheelScrollRight".action.move-column-right-or-to-monitor-right = [ ]; - "Mod+Alt+WheelScrollLeft".action.move-column-left-or-to-monitor-left = [ ]; - "Mod+Shift+WheelScrollDown".action.focus-column-or-monitor-right = [ ]; - "Mod+Shift+WheelScrollUp".action.focus-column-or-monitor-left = [ ]; + "Mod+WheelScrollRight".focus-column-or-monitor-right = { }; + "Mod+WheelScrollLeft".focus-column-or-monitor-left = { }; + "Mod+Alt+WheelScrollRight".move-column-right-or-to-monitor-right = { }; + "Mod+Alt+WheelScrollLeft".move-column-left-or-to-monitor-left = { }; + "Mod+Shift+WheelScrollDown".focus-column-or-monitor-right = { }; + "Mod+Shift+WheelScrollUp".focus-column-or-monitor-left = { }; # Direct workspace focus - "Mod+1".action.focus-workspace = 1; - "Mod+2".action.focus-workspace = 2; - "Mod+3".action.focus-workspace = 3; - "Mod+4".action.focus-workspace = 4; - "Mod+5".action.focus-workspace = 5; - "Mod+6".action.focus-workspace = 6; - "Mod+7".action.focus-workspace = 7; - "Mod+8".action.focus-workspace = 8; - "Mod+9".action.focus-workspace = 9; + "Mod+1".focus-workspace = 1; + "Mod+2".focus-workspace = 2; + "Mod+3".focus-workspace = 3; + "Mod+4".focus-workspace = 4; + "Mod+5".focus-workspace = 5; + "Mod+6".focus-workspace = 6; + "Mod+7".focus-workspace = 7; + "Mod+8".focus-workspace = 8; + "Mod+9".focus-workspace = 9; # Move columns to numbered workspaces - "Mod+Ctrl+1".action.move-column-to-workspace = 1; - "Mod+Ctrl+2".action.move-column-to-workspace = 2; - "Mod+Ctrl+3".action.move-column-to-workspace = 3; - "Mod+Ctrl+4".action.move-column-to-workspace = 4; - "Mod+Ctrl+5".action.move-column-to-workspace = 5; - "Mod+Ctrl+6".action.move-column-to-workspace = 6; - "Mod+Ctrl+7".action.move-column-to-workspace = 7; - "Mod+Ctrl+8".action.move-column-to-workspace = 8; - "Mod+Ctrl+9".action.move-column-to-workspace = 9; + "Mod+Ctrl+1".move-column-to-workspace = 1; + "Mod+Ctrl+2".move-column-to-workspace = 2; + "Mod+Ctrl+3".move-column-to-workspace = 3; + "Mod+Ctrl+4".move-column-to-workspace = 4; + "Mod+Ctrl+5".move-column-to-workspace = 5; + "Mod+Ctrl+6".move-column-to-workspace = 6; + "Mod+Ctrl+7".move-column-to-workspace = 7; + "Mod+Ctrl+8".move-column-to-workspace = 8; + "Mod+Ctrl+9".move-column-to-workspace = 9; # Add and remove windows from columns - "Mod+BracketLeft".action.consume-or-expel-window-left = [ ]; - "Mod+BracketRight".action.consume-or-expel-window-right = [ ]; - "Mod+Comma".action.consume-window-into-column = [ ]; - "Mod+Period".action.expel-window-from-column = [ ]; + "Mod+BracketLeft".consume-or-expel-window-left = { }; + "Mod+BracketRight".consume-or-expel-window-right = { }; + "Mod+Comma".consume-window-into-column = { }; + "Mod+Period".expel-window-from-column = { }; # Column and window presentation modes - "Mod+R".action.switch-preset-column-width = [ ]; - "Mod+Shift+R".action.switch-preset-column-width-back = [ ]; - "Mod+Ctrl+R".action.reset-window-height = [ ]; - "Mod+Ctrl+Shift+R".action.switch-preset-window-height = [ ]; - "Mod+F".action.maximize-column = [ ]; - "Mod+Shift+F".action.fullscreen-window = [ ]; - "Mod+M".action.maximize-window-to-edges = [ ]; - "Mod+C".action.center-column = [ ]; + "Mod+R".switch-preset-column-width = { }; + "Mod+Shift+R".switch-preset-column-width-back = { }; + "Mod+Ctrl+R".reset-window-height = { }; + "Mod+Ctrl+Shift+R".switch-preset-window-height = { }; + "Mod+F".maximize-column = { }; + "Mod+Shift+F".fullscreen-window = { }; + "Mod+M".maximize-window-to-edges = { }; + "Mod+C".center-column = { }; # Manual column width and window height adjustments - "Mod+Shift+H".action.set-column-width = "-10%"; - "Mod+Shift+L".action.set-column-width = "+10%"; - "Mod+Shift+J".action.set-window-height = "+10%"; - "Mod+Shift+K".action.set-window-height = "-10%"; - "Mod+Minus".action.set-column-width = "-10%"; - "Mod+Equal".action.set-column-width = "+10%"; - "Mod+Shift+Minus".action.set-window-height = "-10%"; - "Mod+Shift+Equal".action.set-window-height = "+10%"; + "Mod+Shift+H".set-column-width = "-10%"; + "Mod+Shift+L".set-column-width = "+10%"; + "Mod+Shift+J".set-window-height = "+10%"; + "Mod+Shift+K".set-window-height = "-10%"; + "Mod+Minus".set-column-width = "-10%"; + "Mod+Equal".set-column-width = "+10%"; + "Mod+Shift+Minus".set-window-height = "-10%"; + "Mod+Shift+Equal".set-window-height = "+10%"; # Floating and tabbed layout toggles - "Mod+Alt+V".action.toggle-window-floating = [ ]; - "Mod+Shift+V".action.switch-focus-between-floating-and-tiling = [ ]; - "Mod+W".action.toggle-column-tabbed-display = [ ]; + "Mod+Alt+V".toggle-window-floating = { }; + "Mod+Shift+V".switch-focus-between-floating-and-tiling = { }; + "Mod+W".toggle-column-tabbed-display = { }; } diff --git a/modules/capabilities/niri/default.nix b/modules/capabilities/niri/default.nix index a978c72..cb92592 100644 --- a/modules/capabilities/niri/default.nix +++ b/modules/capabilities/niri/default.nix @@ -1,5 +1,4 @@ { - inputs, config, ... }: @@ -9,28 +8,16 @@ let in { flake.modules.nixos.niri = - { pkgs, ... }: + { ... }: { - imports = [ inputs.niri.nixosModules.niri ]; - home-manager.sharedModules = [ hmModules.niri ]; - nixpkgs.overlays = [ inputs.niri.overlays.niri ]; - - programs = { - dconf.enable = true; - niri = { - enable = true; - package = pkgs.niri-unstable; - }; - }; + programs.niri.enable = true; services = { gvfs.enable = true; udisks2.enable = true; }; - - xdg.portal.enable = true; }; flake.modules.homeManager.niri = @@ -60,108 +47,98 @@ in playerctl brightnessctl wireplumber - xwayland-satellite ] ++ lib.attrValues shortcuts.scripts; }; dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-dark"; - programs.niri.settings = { - outputs = lib.mapAttrs ( - _: display: - { - position = { - inherit (display) x y; - }; - } - // lib.optionalAttrs display.primary { - "focus-at-startup" = true; - } - // lib.optionalAttrs (display.scale != null) { - inherit (display) scale; - } - // lib.optionalAttrs (display.width != null) { - mode = { - inherit (display) - height - refresh - width - ; - }; - } - ) machine.displays; - - environment.DISPLAY = ":0"; - spawn-at-startup = [ - { command = [ (lib.getExe pkgs.xwayland-satellite) ]; } - ] - ++ map (command: { inherit command; }) config.desktop.autostart; - prefer-no-csd = true; - hotkey-overlay.skip-at-startup = true; - screenshot-path = "${config.xdg.userDirs.pictures}/screenshots/%Y-%m-%dT%H:%M:%S.png"; - - animations.slowdown = 0.6; - - cursor = lib.mkIf config.home.pointerCursor.enable { - inherit (config.home.pointerCursor) size; - theme = config.home.pointerCursor.name; - hide-after-inactive-ms = 3000; - hide-when-typing = true; - }; - - layout = { - always-center-single-column = true; - gaps = 14; - focus-ring.enable = false; - default-column-width.proportion = 1. / 2.; - - border = { - enable = true; - width = 3; - active.color = palette.accents.blue; - inactive.color = palette.subtleBorder; - urgent.color = palette.accents.red; - }; - }; - - window-rules = [ - { - geometry-corner-radius = - let - radius = 10.0; - in - { - bottom-left = radius; - bottom-right = radius; - top-left = radius; - top-right = radius; + wayland.windowManager.niri = { + enable = true; + settings = { + _children = + lib.mapAttrsToList (name: display: { + output = { + _args = [ name ]; + position._props = { + inherit (display) x y; + }; + } + // lib.optionalAttrs display.primary { + "focus-at-startup" = { }; + } + // lib.optionalAttrs (display.scale != null) { + inherit (display) scale; + } + // lib.optionalAttrs (display.width != null) { + mode = "${toString display.width}x${toString display.height}@${toString display.refresh}"; }; - clip-to-geometry = true; - } - ]; + }) machine.displays + ++ map (command: { spawn-at-startup = command; }) config.desktop.autostart + ++ [ + { + window-rule = { + geometry-corner-radius = [ + 10.0 + 10.0 + 10.0 + 10.0 + ]; + clip-to-geometry = true; + }; + } + ]; - debug.honor-xdg-activation-with-invalid-serial = true; - gestures.hot-corners.enable = false; + environment.DISPLAY = ":0"; + prefer-no-csd = { }; + hotkey-overlay.skip-at-startup = { }; + screenshot-path = "${config.xdg.userDirs.pictures}/screenshots/%Y-%m-%dT%H:%M:%S.png"; - input = { - focus-follows-mouse.enable = true; - mouse."accel-speed" = 0.4; - keyboard = { - repeat-delay = 300; - repeat-rate = 50; - xkb.options = "caps:escape"; + animations.slowdown = 0.6; + + cursor = lib.mkIf config.home.pointerCursor.enable { + xcursor-size = config.home.pointerCursor.size; + xcursor-theme = config.home.pointerCursor.name; + hide-after-inactive-ms = 3000; + hide-when-typing = { }; }; - touchpad.dwt = true; - }; - binds = import ./_bindings.nix { - inherit (config.desktop.commands) - browser - launcher - terminal - ; - shortcutCommands = shortcuts.commands; + layout = { + always-center-single-column = { }; + gaps = 14; + focus-ring.off = { }; + default-column-width.proportion = 1. / 2.; + + border = { + width = 3; + active-color = palette.accents.blue; + inactive-color = palette.subtleBorder; + urgent-color = palette.accents.red; + }; + }; + + debug.honor-xdg-activation-with-invalid-serial = true; + gestures.hot-corners.off = { }; + + input = { + focus-follows-mouse = { }; + mouse."accel-speed" = 0.4; + keyboard = { + repeat-delay = 300; + repeat-rate = 50; + xkb.options = "caps:escape"; + }; + touchpad.dwt = { }; + }; + + binds = import ./_bindings.nix { + inherit (config.desktop.commands) + browser + launcher + terminal + ; + shortcutCommands = shortcuts.commands; + }; }; }; }; diff --git a/modules/capabilities/noctalia.nix b/modules/capabilities/noctalia.nix index 21a8f1c..8bc2480 100644 --- a/modules/capabilities/noctalia.nix +++ b/modules/capabilities/noctalia.nix @@ -94,27 +94,11 @@ position = "bottom_right"; }; - plugins = { - enabled = [ ]; - source = [ - { - kind = "git"; - location = "https://github.com/noctalia-dev/official-plugins"; - name = "official"; - } - { - kind = "git"; - location = "https://github.com/noctalia-dev/community-plugins"; - name = "community"; - } - ]; - }; - shell = { font_family = "Lexend"; + polkit_agent = true; screen_time_enabled = true; settings_show_advanced = true; - ui_scale = 1.1; animation.speed = 1.5; screen_corners = { enabled = true; @@ -143,10 +127,6 @@ widget = { bluetooth.hide_when_no_connected_device = true; - cat = { - audio_spectrum = true; - type = "noctalia/bongocat:cat"; - }; clock.format = "{:%H:%M}"; media = { art_size = 90.0; @@ -161,7 +141,7 @@ volume.show_label = false; network.show_label = false; battery.show_label = false; - workspaces.display = "none"; + workspaces.show_labels = false; }; }; }; diff --git a/modules/capabilities/theme.nix b/modules/capabilities/theme.nix index 2a8a76e..cdbd3eb 100644 --- a/modules/capabilities/theme.nix +++ b/modules/capabilities/theme.nix @@ -30,7 +30,26 @@ in rev = "55ca4ba249eba21f861b9866b71ab41bb8930318"; hash = "sha256-UdMoMx2DoovcxSp/zBZ3PRv/Qpj+prd0uPm1gmdak2E="; }; - override = { inherit src version; }; + kanagawaGtkTheme = pkgs.stdenvNoCC.mkDerivation { + pname = "kanagawa-gtk-theme"; + inherit src version; + + nativeBuildInputs = [ pkgs.sassc ]; + + installPhase = '' + runHook preInstall + + mkdir -p "$out/share/themes" + bash ./themes/install.sh \ + --dest "$out/share/themes" \ + --name Kanagawa \ + --color dark + + rm -r "$out/share/themes/Kanagawa-Dark/gtk-2.0" + + runHook postInstall + ''; + }; in { home.pointerCursor = { @@ -47,13 +66,15 @@ in gtk = { enable = true; theme = { - name = "Kanagawa-BL-LB"; - package = pkgs.kanagawa-gtk-theme.overrideAttrs (_: override); + name = "Kanagawa-Dark"; + package = kanagawaGtkTheme; }; gtk4.theme = null; iconTheme = { name = "Kanagawa"; - package = pkgs.kanagawa-icon-theme.overrideAttrs (_: override); + package = pkgs.kanagawa-icon-theme.overrideAttrs (_: { + inherit src version; + }); }; };