diff --git a/flake.lock b/flake.lock index 9c65bb7..499b261 100644 --- a/flake.lock +++ b/flake.lock @@ -55,7 +55,8 @@ "devenv" ], "flake-compat": [ - "devenv" + "devenv", + "flake-compat" ], "git-hooks": [ "devenv", @@ -67,11 +68,11 @@ ] }, "locked": { - "lastModified": 1752264895, - "narHash": "sha256-1zBPE/PNAkPNUsOWFET4J0cjlvziH8DOekesDmjND+w=", + "lastModified": 1760971495, + "narHash": "sha256-IwnNtbNVrlZIHh7h4Wz6VP0Furxg9Hh0ycighvL5cZc=", "owner": "cachix", "repo": "cachix", - "rev": "47053aef762f452e816e44eb9a23fbc3827b241a", + "rev": "c5bfd933d1033672f51a863c47303fc0e093c2d2", "type": "github" }, "original": { @@ -86,11 +87,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1760953099, - "narHash": "sha256-sOKx2YcHa+lWEvaEOIGqLN2WWk1Wf5z6KM02tdfhMtw=", + "lastModified": 1761553912, + "narHash": "sha256-3UOEQPBlZo9OixT9L1zoD67QheopTG8/EfRPGKyP9bg=", "owner": "catppuccin", "repo": "nix", - "rev": "f5b21876888265d2fee7fb0640d1b66a1c1c6503", + "rev": "7b42c91911c143ae3ea32a79cc8582b5920f24e3", "type": "github" }, "original": { @@ -109,11 +110,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1761156818, - "narHash": "sha256-IScY9PpnF48Q/Z17YG5/ZcYWiWOkY2zCKLqsx1CJESM=", + "lastModified": 1761743296, + "narHash": "sha256-I2u3Cg4/b6TFy6DREoA4IxaXOuo/UwrqUK4/T0HVVQU=", "owner": "cachix", "repo": "devenv", - "rev": "949fc6dc8f36f38e1cceb1bf1673c4e995a6a766", + "rev": "60a3443eef7bfacbbcf017caa0a0fb3c86ebe43b", "type": "github" }, "original": { @@ -130,11 +131,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1761115517, - "narHash": "sha256-Fev/ag/c3Fp3JBwHfup3lpA5FlNXfkoshnQ7dssBgJ0=", + "lastModified": 1761720242, + "narHash": "sha256-Zi9nWw68oUDMVOhf/+Z97wVbNV2K7eEAGZugQKqU7xw=", "owner": "nix-community", "repo": "fenix", - "rev": "320433651636186ea32b387cff05d6bbfa30cea7", + "rev": "8e4d32f4cc12b3f106af6e4515b36ac046a1ec91", "type": "github" }, "original": { @@ -146,11 +147,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "lastModified": 1761588595, + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", "owner": "edolstra", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", "type": "github" }, "original": { @@ -247,11 +248,11 @@ ] }, "locked": { - "lastModified": 1756770412, - "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", + "lastModified": 1760948891, + "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "4524271976b625a4a605beefd893f270620fd751", + "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", "type": "github" }, "original": { @@ -328,11 +329,11 @@ ] }, "locked": { - "lastModified": 1758108966, - "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=", + "lastModified": 1760663237, + "narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b", + "rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37", "type": "github" }, "original": { @@ -478,11 +479,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1761141169, - "narHash": "sha256-5IZjbTvP5dNTD8CbEYlNbicdGcbCN9SC9ksMm2ZEXH0=", + "lastModified": 1761757466, + "narHash": "sha256-O9TAPvjILerwD2cxkNpMtUBinDXNt+sZo7jBINY8kGw=", "owner": "helix-editor", "repo": "helix", - "rev": "d79cce4e4bfc24dd204f1b294c899ed73f7e9453", + "rev": "d752d907c9b2760c01c5ea2a700b5e8a2fe90f13", "type": "github" }, "original": { @@ -498,11 +499,11 @@ ] }, "locked": { - "lastModified": 1761191301, - "narHash": "sha256-xsRL2Oyb4YRZZ1Tu4WzR2uFg1n931bH+PfLdFcqtLg8=", + "lastModified": 1761770832, + "narHash": "sha256-IQIWG6kHxnUpx5KEb9r0BROL3/R6UQ/30aO2oHncBA8=", "owner": "nix-community", "repo": "home-manager", - "rev": "4958aafe7b237dc1e857fb0c916efff72075048f", + "rev": "124b99dbd1594dbebdd575ac7142752ee96a98a0", "type": "github" }, "original": { @@ -658,11 +659,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1761129162, - "narHash": "sha256-vJYlThaqdSYRKn1HcaMbkHeB95bXQwgG1ugrlSKQjHg=", + "lastModified": 1761780088, + "narHash": "sha256-ylKrWQeIAGyysfHbgZpcWUs9UsbiOBIVXTPqaiV3lf0=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "057695bc3f7de5e8841c15252fc51029590895e4", + "rev": "6ade4d58cab67e18aa758ef664e36421cab4d8b2", "type": "github" }, "original": { @@ -688,11 +689,11 @@ ] }, "locked": { - "lastModified": 1760659005, - "narHash": "sha256-wyS6tXYJuzbwckOeaCoRtT4qIG2UZ0YvSZx7EBNjTV0=", + "lastModified": 1761653710, + "narHash": "sha256-MhHSU9m/9HSckJ61OXcom/6F92NQf3s1QfLbRUApalc=", "owner": "hyprwm", "repo": "hyprland-plugins", - "rev": "a5a6f93d72d5fb37e78b98c756cfd8b340e71a19", + "rev": "e689220b1740aa99ca67fa06055792f82fa9ed85", "type": "github" }, "original": { @@ -864,11 +865,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1760023949, - "narHash": "sha256-fu0B4duamVdbkPio/czu1XhsPLRXUJpZLDrSk3nih4U=", + "lastModified": 1761675634, + "narHash": "sha256-Et1jNDB2d3e0b4okIKuyAMktECS+5hk+vMAA7X598ao=", "owner": "hyprwm", "repo": "hyprlock", - "rev": "36ec73f166d9434a3f27c96c575198906f77644a", + "rev": "98b86752fe4867bd14ef96a92ea788229af93130", "type": "github" }, "original": { @@ -1018,11 +1019,11 @@ ] }, "locked": { - "lastModified": 1760961269, - "narHash": "sha256-Udg6DnM6scJj+imbttJR7GQpG2WWeDZ1JOtySTY99M0=", + "lastModified": 1761733523, + "narHash": "sha256-Z0i6J9KaMZW7bBwQOj4XZ4mZFfegvaAtvnT3suUMhPc=", "owner": "nix-community", "repo": "nh", - "rev": "e27508e06f74c7f03616150c1ac1431eaef7f443", + "rev": "78494d6b8587c8cb36e51949f1177a4ee42a41f8", "type": "github" }, "original": { @@ -1031,6 +1032,70 @@ "type": "github" } }, + "niri": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": [] + }, + "locked": { + "lastModified": 1761721311, + "narHash": "sha256-fXBALdA4CKAYslcuamjzQZLUTCNBIKWybj+/2rwe3Z0=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "6e8fd153395036c2daa7c214695ed9baf2409a2e", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "repo": "niri", + "type": "github" + } + }, + "niri-flake": { + "inputs": { + "niri-stable": [ + "niri" + ], + "niri-unstable": "niri-unstable", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable", + "xwayland-satellite-stable": "xwayland-satellite-stable", + "xwayland-satellite-unstable": "xwayland-satellite-unstable" + }, + "locked": { + "lastModified": 1761724527, + "narHash": "sha256-nB500dSUaNBtOsu5JI1PDNmjuFD6Kdbkh648q0FoaIY=", + "owner": "sodiboo", + "repo": "niri-flake", + "rev": "1ff74954f559bb2da63e28b3fcffd3b09ec32842", + "type": "github" + }, + "original": { + "owner": "sodiboo", + "repo": "niri-flake", + "type": "github" + } + }, + "niri-unstable": { + "flake": false, + "locked": { + "lastModified": 1761721311, + "narHash": "sha256-fXBALdA4CKAYslcuamjzQZLUTCNBIKWybj+/2rwe3Z0=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "6e8fd153395036c2daa7c214695ed9baf2409a2e", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "repo": "niri", + "type": "github" + } + }, "nix": { "inputs": { "flake-compat": [ @@ -1057,16 +1122,16 @@ ] }, "locked": { - "lastModified": 1758763079, - "narHash": "sha256-Bx1A+lShhOWwMuy3uDzZQvYiBKBFcKwy6G6NEohhv6A=", + "lastModified": 1761648602, + "narHash": "sha256-H97KSB/luq/aGobKRuHahOvT1r7C03BgB6D5HBZsbN8=", "owner": "cachix", "repo": "nix", - "rev": "6f0140527c2b0346df4afad7497baa08decb929f", + "rev": "3e5644da6830ef65f0a2f7ec22830c46285bfff6", "type": "github" }, "original": { "owner": "cachix", - "ref": "devenv-2.30.5", + "ref": "devenv-2.30.6", "repo": "nix", "type": "github" } @@ -1078,11 +1143,11 @@ ] }, "locked": { - "lastModified": 1760948931, - "narHash": "sha256-guAocn26kDPdkl6tPXJt5pPaIIsrGI4taw+1U3+FM7E=", + "lastModified": 1761554027, + "narHash": "sha256-LMnsUobJtqhNnHc9FAp4V/MPMb82+YiXnjbUreg/0n8=", "owner": "Mic92", "repo": "nix-ld", - "rev": "a48b2dc9a256bcef9182f0f92c481de975302b1e", + "rev": "e7d1eba1d561ada0bdb1177ff5d7ce2f8447e974", "type": "github" }, "original": { @@ -1093,11 +1158,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1760958188, - "narHash": "sha256-2m1S4jl+GEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU=", + "lastModified": 1761759700, + "narHash": "sha256-zuiwvKAPwtMmwf44tb7Q7Y5d7JkBeuaF89PISUnkWA8=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "d6645c340ef7d821602fd2cd199e8d1eed10afbc", + "rev": "2379bc40992ec29feb1933bb4acd224fa055f3f8", "type": "github" }, "original": { @@ -1114,11 +1179,11 @@ ] }, "locked": { - "lastModified": 1760536587, - "narHash": "sha256-wfWqt+igns/VazjPLkyb4Z/wpn4v+XIjUeI3xY/1ENg=", + "lastModified": 1761563673, + "narHash": "sha256-d+1TpVAmRjcNBfjZsh2yQSdwUfN7Xgz1blJ185g73+A=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "f98ee1de1fa36eca63c67b600f5d617e184e82ea", + "rev": "a518cf710e5ebb935518dc7ac98e07e7ee5014c3", "type": "github" }, "original": { @@ -1177,11 +1242,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1761197992, - "narHash": "sha256-Y27P0bnZGZY0Bw44+YtRTzbL7fBrLbzvpyDs/wJrCmI=", + "lastModified": 1761781968, + "narHash": "sha256-B7qdRA4i8tLuftj6G7sivdiQhjy0mlgQvX9D67U4Oy4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "43db7111c69a9cbd9a08c88567fd6bbf9631f137", + "rev": "b7a7e0b3dbef4ad2e7797872965985fffe8d95a7", "type": "github" }, "original": { @@ -1191,6 +1256,22 @@ "type": "github" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1761468971, + "narHash": "sha256-vY2OLVg5ZTobdroQKQQSipSIkHlxOTrIF1fsMzPh8w8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "78e34d1667d32d8a0ffc3eba4591ff256e80576e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-tuya-vacuum": { "locked": { "lastModified": 1743180016, @@ -1209,11 +1290,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1761114652, - "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", + "lastModified": 1761373498, + "narHash": "sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", + "rev": "6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce", "type": "github" }, "original": { @@ -1225,11 +1306,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1758532697, - "narHash": "sha256-bhop0bR3u7DCw9/PtLCwr7GwEWDlBSxHp+eVQhCW9t4=", + "lastModified": 1761313199, + "narHash": "sha256-wCIACXbNtXAlwvQUo1Ed++loFALPjYUA3dpcUJiXO44=", "owner": "cachix", "repo": "devenv-nixpkgs", - "rev": "207a4cb0e1253c7658c6736becc6eb9cace1f25f", + "rev": "d1c30452ebecfc55185ae6d1c983c09da0c274ff", "type": "github" }, "original": { @@ -1241,11 +1322,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1761114652, - "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", + "lastModified": 1761373498, + "narHash": "sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", + "rev": "6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce", "type": "github" }, "original": { @@ -1370,6 +1451,8 @@ "hyprland-plugins": "hyprland-plugins", "hyprlock": "hyprlock", "nh-flake": "nh-flake", + "niri": "niri", + "niri-flake": "niri-flake", "nix-ld": "nix-ld", "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", @@ -1510,11 +1593,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1761077270, - "narHash": "sha256-O1uTuvI/rUlubJ8AXKyzh1WSWV3qCZX0huTFUvWLN4E=", + "lastModified": 1761686505, + "narHash": "sha256-jX6UrGS/hABDaM4jdx3+xgH3KCHP2zKHeTa8CD5myEo=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "39990a923c8bca38f5bd29dc4c96e20ee7808d5d", + "rev": "d08d54f3c10dfa41033eb780c3bddb50e09d30fc", "type": "github" }, "original": { @@ -1737,17 +1820,50 @@ "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": 1761622056, + "narHash": "sha256-fBrUszJXmB4MY+wf3QsCnqWHcz7u7fLq0QMAWCltIQg=", + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "rev": "0728d59ff6463a502e001fb090f6eb92dbc04756", + "type": "github" + }, + "original": { + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "type": "github" + } + }, "zen-browser": { "inputs": { "home-manager": "home-manager_2", "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1761180075, - "narHash": "sha256-V4WLeUQ4gCGZiVihlXWBOZ/1FNcL0jM4zgTY1haJLvY=", + "lastModified": 1761755347, + "narHash": "sha256-cQ7pKhxT72gbDAXTCoK3cF7/Cm35YGZTDchjFRxF/Ik=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "771a2604606905d8c0ffe3b818dc2cc5bd1405d8", + "rev": "c0c8c0eedb950237ca724ec1bfc37a35f2c5e076", "type": "github" }, "original": { @@ -1765,11 +1881,11 @@ ] }, "locked": { - "lastModified": 1760747435, - "narHash": "sha256-wNB/W3x+or4mdNxFPNOH5/WFckNpKgFRZk7OnOsLtm0=", + "lastModified": 1761747934, + "narHash": "sha256-80VmB/MA/Lx3T6LyLjzVMIgih9aZZm6DU8htC4k5nxU=", "owner": "mitchellh", "repo": "zig-overlay", - "rev": "d0f239b887b1ac736c0f3dde91bf5bf2ecf3a420", + "rev": "a5150d558dc58769d4309437e1ff3d9d473fb548", "type": "github" }, "original": { @@ -1789,11 +1905,11 @@ ] }, "locked": { - "lastModified": 1760550770, - "narHash": "sha256-MIz62mvGfANGn4pPQV1DVocZPb2JTzyi1xDFYKzZOvc=", + "lastModified": 1761592723, + "narHash": "sha256-7MMLpYL/EF3wqHIt7Fl3uQJZH1Vvtvgnd24WFpnBzdQ=", "owner": "zigtools", "repo": "zls", - "rev": "f486e884f479dd816f1c57a4be7f445f3d3b279c", + "rev": "8b2754ad49006e70cdbd29c1d57ffb0a2889b836", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 3b86b98..d27906b 100644 --- a/flake.nix +++ b/flake.nix @@ -52,6 +52,24 @@ inputs.hyprland.follows = "hyprland"; }; + ### + # Niri + niri = { + url = "github:YaLTeR/niri"; + inputs = { + nixpkgs.follows = "nixpkgs"; + rust-overlay.follows = ""; + }; + }; + + niri-flake = { + url = "github:sodiboo/niri-flake"; + inputs = { + niri-stable.follows = "niri"; + nixpkgs.follows = "nixpkgs"; + }; + }; + ### # Snowfall dependencies snowfall-lib = { @@ -144,6 +162,7 @@ overlays = with inputs; [ devenv.overlays.default + niri-flake.overlays.niri ]; homes.modules = with inputs; [ @@ -159,6 +178,14 @@ catppuccin.nixosModules.catppuccin ]; + systems.hosts.yggdrasil.modules = with inputs; [ + niri-flake.nixosModules.niri + ]; + + homes.hosts.yggdrasil.modules = with inputs; [ + niri-flake.homeModules.niri + ]; + systems.hosts.nixberry.modules = with inputs; [ raspberry-pi-nix.nixosModules.raspberry-pi raspberry-pi-nix.nixosModules.sd-image diff --git a/modules/nixos/desktop/addons/hyprlock/default.nix b/modules/nixos/desktop/addons/hyprlock/default.nix index 65f1273..f948d26 100644 --- a/modules/nixos/desktop/addons/hyprlock/default.nix +++ b/modules/nixos/desktop/addons/hyprlock/default.nix @@ -40,7 +40,7 @@ in environment.systemPackages = [ hyprlock-blur ]; - ${namespace}.desktop.hyprland.settings = { + ${namespace}.desktop.hyprland.settings = mkIf config.desktop.hyprland.enable { bind = [ "$mod CTRL, l, exec, hyprlock-blur" ]; diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix index e87e97f..986a0d7 100644 --- a/modules/nixos/desktop/default.nix +++ b/modules/nixos/desktop/default.nix @@ -34,10 +34,10 @@ in systemd.user.sessionVariables = config.home-manager.users.${user}.home.sessionVariables; }; - qt = { - enable = true; - platformTheme = "gnome"; - style = "adwaita-dark"; - }; + # qt = { + # enable = true; + # platformTheme = "gnome"; + # style = "adwaita-dark"; + # }; }; } diff --git a/modules/nixos/desktop/hyprland/default.nix b/modules/nixos/desktop/hyprland/default.nix index 3bcf28a..82f7655 100644 --- a/modules/nixos/desktop/hyprland/default.nix +++ b/modules/nixos/desktop/hyprland/default.nix @@ -293,24 +293,24 @@ in "$mod CTRL, right, movecurrentworkspacetomonitor, r" # move focus - "$mod, h, hy3:movefocus, l" - "$mod, j, hy3:movefocus, d" - "$mod, k, hy3:movefocus, u" - "$mod, l, hy3:movefocus, r" - "$mod, left, hy3:movefocus, l" - "$mod, down, hy3:movefocus, d" - "$mod, up, hy3:movefocus, u" - "$mod, right, hy3:movefocus, r" + "$mod, h, movefocus, l" + "$mod, j, movefocus, d" + "$mod, k, movefocus, u" + "$mod, l, movefocus, r" + "$mod, left, movefocus, l" + "$mod, down, movefocus, d" + "$mod, up, movefocus, u" + "$mod, right, movefocus, r" # move focus - "$mod SHIFT, h, hy3:movewindow, l, once" - "$mod SHIFT, j, hy3:movewindow, d, once" - "$mod SHIFT, k, hy3:movewindow, u, once" - "$mod SHIFT, l, hy3:movewindow, r, once" - "$mod SHIFT, left, hy3:movewindow, l, once" - "$mod SHIFT, down, hy3:movewindow, d, once" - "$mod SHIFT, up, hy3:movewindow, u, once" - "$mod SHIFT, right, hy3:movewindow, r, once" + "$mod SHIFT, h, movewindow, l, once" + "$mod SHIFT, j, movewindow, d, once" + "$mod SHIFT, k, movewindow, u, once" + "$mod SHIFT, l, movewindow, r, once" + "$mod SHIFT, left, movewindow, l, once" + "$mod SHIFT, down, movewindow, d, once" + "$mod SHIFT, up, movewindow, u, once" + "$mod SHIFT, right, movewindow, r, once" #run important programs "$mod, Return, exec, kitty" @@ -332,7 +332,7 @@ in in [ "$mod, code:1${toString i}, workspace, ${toString ws}" - "$mod SHIFT, code:1${toString i}, hy3:movetoworkspace, ${toString ws}" + "$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}" ] ) 9 ) diff --git a/modules/nixos/desktop/niri/default.nix b/modules/nixos/desktop/niri/default.nix new file mode 100644 index 0000000..cf63dde --- /dev/null +++ b/modules/nixos/desktop/niri/default.nix @@ -0,0 +1,207 @@ +{ + config, + inputs, + lib, + pkgs, + system, + namespace, + ... +}: +with lib.${namespace}; +let + inherit (lib) + mkIf + mkEnableOption + mkOption + mkMerge + types + ; + + cfg = config.${namespace}.desktop.niri; + + apps-submodule = types.submodule { + options = { + terminal = mkOption { + type = types.package; + default = pkgs.kitty; + description = "The default Terminal to use"; + }; + runner = mkOption { + type = types.package; + default = pkgs.fuzzel; + description = "The app-runner to use"; + }; + }; + }; + +in +{ + options.${namespace}.desktop.niri = { + enable = mkEnableOption "Whether to enable niri"; + settings = mkOption { + type = types.attrs; + default = { }; + description = "Additional niri settings to apply."; + }; + apps = mkOption { + type = apps-submodule; + default = { }; + description = "Which apps to use"; + }; + }; + + config = mkIf cfg.enable { + programs.niri = { + enable = true; + package = inputs.niri-flake.packages.${system}.niri-unstable; + }; + + environment.systemPackages = [ + pkgs.alacritty + pkgs.fuzzel + ]; + + ${namespace} = { + desktop.addons = { + hyprlock = enabled; + hypridle = enabled; + }; + }; + + snowfallorg.users."cholli".home.config = { + programs.niri.settings = mkMerge [ + { + input = { + keyboard = { + numlock = true; + }; + }; + + outputs."DP-1" = { + mode = { + width = 3440; + height = 1440; + }; + }; + outputs."HDMI-A-1" = { + mode = { + width = 1920; + height = 1080; + }; + transform.rotation = 90; + }; + + layout = { + gaps = 5; + center-focused-column = "never"; + + default-column-width = { + proportion = 0.5; + }; + + preset-column-widths = [ + { proportion = 1. / 3.; } + { proportion = 1. / 2.; } + { proportion = 2. / 3.; } + + ]; + + focus-ring = { + width = 1; + active = { + color = "#7fc8ff"; + }; + inactive = { + color = "#505050"; + }; + }; + }; + + hotkey-overlay.skip-at-startup = true; + + screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"; + + # block 1pass from screenshots and window capture + window-rules = [ + ]; + + binds = + with config.lib.niri; + let + workspaces = (builtins.genList (x: x + 1) 9); + + focus-workspaces = builtins.listToAttrs ( + map (num: { + name = "Mod=${toString num}"; + value = { + action.focus-workspace = num; + }; + }) workspaces + ); + in + + mkMerge [ + { + "Mod+Shift+Slash".action = show-hotkey-overlay; + + "Mod+Enter".action.spawn = "${lib.getExe cfg.apps.terminal}"; + "Mod+D".action.spwan = "${lib.getExe cfg.apps.runner}"; + "Mod+Alt+L".action.spawn = "hyprlock-blur"; + + "Mod+Shift+Q" = { + action = actions.close-window; + repeat = false; + }; + + "Mod+O" = { + action = actions.toggle-overview; + repeat = false; + }; + + inherit focus-workspaces; + + "XF86AudioRaiseVolume" = { + action.spawn = [ + "wpctl" + "set-volume" + "@DEFAULT_AUDIO_SINK@" + "0.1+" + ]; + allow-when-locked = true; + }; + "XF86AudioLowerVolume" = { + action.spawn = [ + "wpctl" + "set-volume" + "@DEFAULT_AUDIO_SINK@" + "0.1-" + ]; + allow-when-locked = true; + }; + "XF86AudioMute" = { + action.spawn = [ + "wpctl" + "set-mute" + "@DEFAULT_AUDIO_SINK@" + "toggle" + ]; + allow-when-locked = true; + }; + "XF86AudioMicMute" = { + action.spawn = [ + "wpctl" + "set-mute" + "@DEFAULT_AUDIO_SOURCE@" + "toggle" + ]; + allow-when-locked = true; + }; + } + ]; + + } + cfg.settings + ]; + }; + }; +} diff --git a/systems/x86_64-linux/yggdrasil/default.nix b/systems/x86_64-linux/yggdrasil/default.nix index 4f3c5fd..ffaa111 100644 --- a/systems/x86_64-linux/yggdrasil/default.nix +++ b/systems/x86_64-linux/yggdrasil/default.nix @@ -76,8 +76,9 @@ in starsector = enabled; }; - desktop.hyprland = { - enable = true; + desktop = { + hyprland = enabled; + niri = enabled; }; services = {