Trying out Niri, porting config to home-manager
This commit is contained in:
108
flake.lock
generated
108
flake.lock
generated
@@ -20,6 +20,64 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"niri": {
|
||||||
|
"inputs": {
|
||||||
|
"niri-stable": "niri-stable",
|
||||||
|
"niri-unstable": "niri-unstable",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
|
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
||||||
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1736744067,
|
||||||
|
"narHash": "sha256-GCXo4gFj51atVQBpr0I+1lHoEDhPudNBqAbAtm9R+mA=",
|
||||||
|
"owner": "sodiboo",
|
||||||
|
"repo": "niri-flake",
|
||||||
|
"rev": "c4de2cecb5ff96f43366dbeb90524ad2473bcd1a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "sodiboo",
|
||||||
|
"repo": "niri-flake",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"niri-stable": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1736614405,
|
||||||
|
"narHash": "sha256-AJ1rlgNOPb3/+DbS5hkhm21t6Oz8IgqLllwmZt0lyzk=",
|
||||||
|
"owner": "YaLTeR",
|
||||||
|
"repo": "niri",
|
||||||
|
"rev": "e05bc269e678ecf828b96ae79c991c13b00b38a5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "YaLTeR",
|
||||||
|
"ref": "v25.01",
|
||||||
|
"repo": "niri",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"niri-unstable": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1736740761,
|
||||||
|
"narHash": "sha256-iAn611qpe6UNhuCiKNTe+N0R/d+hyto0DqiIXIkvac0=",
|
||||||
|
"owner": "YaLTeR",
|
||||||
|
"repo": "niri",
|
||||||
|
"rev": "0bd6df507ba7ef13e3d74545b8304e244e833a7a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "YaLTeR",
|
||||||
|
"repo": "niri",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735388221,
|
"lastModified": 1735388221,
|
||||||
@@ -51,12 +109,62 @@
|
|||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-stable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1736549401,
|
||||||
|
"narHash": "sha256-ibkQrMHxF/7TqAYcQE+tOnIsSEzXmMegzyBWza6uHKM=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "1dab772dd4a68a7bba5d9460685547ff8e17d899",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-24.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"niri": "niri",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"xwayland-satellite-stable": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730166465,
|
||||||
|
"narHash": "sha256-nq7bouXQXaaPPo/E+Jbq+wNHnatD4dY8OxSrRqzvy6s=",
|
||||||
|
"owner": "Supreeeme",
|
||||||
|
"repo": "xwayland-satellite",
|
||||||
|
"rev": "a713cf46cb7db84a0d1b57c3a397c610cad3cf98",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Supreeeme",
|
||||||
|
"ref": "v0.5",
|
||||||
|
"repo": "xwayland-satellite",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xwayland-satellite-unstable": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1736487362,
|
||||||
|
"narHash": "sha256-4kGoOA7FgK9N2mzS+TFEn41kUUNY6KwdiA/0rqlr868=",
|
||||||
|
"owner": "Supreeeme",
|
||||||
|
"repo": "xwayland-satellite",
|
||||||
|
"rev": "8f55e27f63a749881c4bbfbb6b1da028342a91d1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Supreeeme",
|
||||||
|
"repo": "xwayland-satellite",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|||||||
90
flake.nix
90
flake.nix
@@ -3,6 +3,10 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||||
|
niri = {
|
||||||
|
url = "github:sodiboo/niri-flake";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@@ -10,7 +14,7 @@
|
|||||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, home-manager, nixos-hardware }@attrs:
|
outputs = { self, nixpkgs, niri, home-manager, nixos-hardware }@attrs:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
homeManagerSharedModule = {
|
homeManagerSharedModule = {
|
||||||
@@ -36,6 +40,82 @@
|
|||||||
Install.WantedBy = [ "default.target" ];
|
Install.WantedBy = [ "default.target" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.niri.settings = {
|
||||||
|
prefer-no-csd = true;
|
||||||
|
input.keyboard.xkb = {
|
||||||
|
options = "ctrl:nocaps";
|
||||||
|
};
|
||||||
|
binds = with config.lib.niri.actions; {
|
||||||
|
"Alt+P".action = spawn "bemenu-run";
|
||||||
|
"Alt+Return".action = spawn "ghostty";
|
||||||
|
"Alt+Shift+Return".action = spawn "foot";
|
||||||
|
"Alt+Shift+Slash".action = show-hotkey-overlay;
|
||||||
|
|
||||||
|
"Alt+Q".action = close-window;
|
||||||
|
|
||||||
|
"Alt+Left" .action = focus-column-left;
|
||||||
|
"Alt+Down" .action = focus-window-down;
|
||||||
|
"Alt+Up" .action = focus-window-up;
|
||||||
|
"Alt+Right" .action = focus-column-right;
|
||||||
|
"Alt+H" .action = focus-column-left;
|
||||||
|
"Alt+J" .action = focus-window-down;
|
||||||
|
"Alt+K" .action = focus-window-up;
|
||||||
|
"Alt+L" .action = focus-column-right;
|
||||||
|
|
||||||
|
"Alt+Shift+Left" .action = move-column-left;
|
||||||
|
"Alt+Shift+Down" .action = move-window-down;
|
||||||
|
"Alt+Shift+Up" .action = move-window-up;
|
||||||
|
"Alt+Shift+Right" .action = move-column-right;
|
||||||
|
"Alt+Shift+H" .action = move-column-left;
|
||||||
|
"Alt+Shift+J" .action = move-window-down;
|
||||||
|
"Alt+Shift+K" .action = move-window-up;
|
||||||
|
"Alt+Shift+L" .action = move-column-right;
|
||||||
|
|
||||||
|
#...
|
||||||
|
"Alt+1".action = focus-workspace 1;
|
||||||
|
"Alt+2".action = focus-workspace 2;
|
||||||
|
"Alt+3".action = focus-workspace 3;
|
||||||
|
"Alt+4".action = focus-workspace 4;
|
||||||
|
"Alt+5".action = focus-workspace 5;
|
||||||
|
"Alt+6".action = focus-workspace 6;
|
||||||
|
"Alt+7".action = focus-workspace 7;
|
||||||
|
"Alt+8".action = focus-workspace 8;
|
||||||
|
"Alt+9".action = focus-workspace 9;
|
||||||
|
"Alt+Shift+1".action = move-column-to-workspace 1;
|
||||||
|
"Alt+Shift+2".action = move-column-to-workspace 2;
|
||||||
|
"Alt+Shift+3".action = move-column-to-workspace 3;
|
||||||
|
"Alt+Shift+4".action = move-column-to-workspace 4;
|
||||||
|
"Alt+Shift+5".action = move-column-to-workspace 5;
|
||||||
|
"Alt+Shift+6".action = move-column-to-workspace 6;
|
||||||
|
"Alt+Shift+7".action = move-column-to-workspace 7;
|
||||||
|
"Alt+Shift+8".action = move-column-to-workspace 8;
|
||||||
|
"Alt+Shift+9".action = move-column-to-workspace 9;
|
||||||
|
|
||||||
|
|
||||||
|
"Alt+R".action = switch-preset-column-width;
|
||||||
|
"Alt+Shift+R".action = switch-preset-window-height;
|
||||||
|
"Alt+Ctrl+R".action = reset-window-height;
|
||||||
|
"Alt+F".action = maximize-column;
|
||||||
|
"Alt+Shift+F".action = fullscreen-window;
|
||||||
|
"Alt+C".action = center-column;
|
||||||
|
|
||||||
|
"Alt+Minus".action = set-column-width "-10%";
|
||||||
|
"Alt+Equal".action = set-column-width "+10%";
|
||||||
|
|
||||||
|
"Alt+Shift+Minus".action = set-window-height "-10%";
|
||||||
|
"Alt+Shift+Equal".action = set-window-height "+10%";
|
||||||
|
|
||||||
|
#"Print".action = screenshot;
|
||||||
|
#"Ctrl+Print".aciton = screenshot-screen;
|
||||||
|
#"Alt+Print".action = screenshot-window;
|
||||||
|
|
||||||
|
"Alt+Shift+E".action = quit;
|
||||||
|
"Ctrl+Alt+Delete".action = quit;
|
||||||
|
|
||||||
|
"Alt+Shift+P".action = power-off-monitors;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
programs.ghostty = {
|
programs.ghostty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
@@ -334,6 +414,10 @@
|
|||||||
services.printing.enable = true;
|
services.printing.enable = true;
|
||||||
services.printing.drivers = [ pkgs.brlaser ];
|
services.printing.drivers = [ pkgs.brlaser ];
|
||||||
|
|
||||||
|
programs.niri = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.niri;
|
||||||
|
};
|
||||||
programs.sway = {
|
programs.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wrapperFeatures.gtk = true;
|
wrapperFeatures.gtk = true;
|
||||||
@@ -429,6 +513,7 @@
|
|||||||
specialArgs = attrs;
|
specialArgs = attrs;
|
||||||
modules = [
|
modules = [
|
||||||
nixos-hardware.nixosModules.framework-13-7040-amd
|
nixos-hardware.nixosModules.framework-13-7040-amd
|
||||||
|
niri.nixosModules.niri
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
homeManagerSharedModule
|
homeManagerSharedModule
|
||||||
({ config, lib, pkgs, modulesPath, ... }@innerArgs: (lib.recursiveUpdate (commonConfigFunc innerArgs [ pkgs.light pkgs.gpodder pkgs.evince pkgs.wezterm pkgs.vulkan-tools pkgs.discord]) {
|
({ config, lib, pkgs, modulesPath, ... }@innerArgs: (lib.recursiveUpdate (commonConfigFunc innerArgs [ pkgs.light pkgs.gpodder pkgs.evince pkgs.wezterm pkgs.vulkan-tools pkgs.discord]) {
|
||||||
@@ -487,6 +572,7 @@
|
|||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = attrs;
|
specialArgs = attrs;
|
||||||
modules = [
|
modules = [
|
||||||
|
niri.nixosModules.niri
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
homeManagerSharedModule
|
homeManagerSharedModule
|
||||||
({ config, lib, pkgs, modulesPath, ... }@innerArgs: (lib.recursiveUpdate (commonConfigFunc innerArgs [ pkgs.light pkgs.gpodder pkgs.evince ]) {
|
({ config, lib, pkgs, modulesPath, ... }@innerArgs: (lib.recursiveUpdate (commonConfigFunc innerArgs [ pkgs.light pkgs.gpodder pkgs.evince ]) {
|
||||||
@@ -537,6 +623,7 @@
|
|||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = attrs;
|
specialArgs = attrs;
|
||||||
modules = [
|
modules = [
|
||||||
|
niri.nixosModules.niri
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
homeManagerSharedModule
|
homeManagerSharedModule
|
||||||
({ config, lib, pkgs, modulesPath, ... }@innerArgs: (lib.recursiveUpdate (commonConfigFunc innerArgs []) {
|
({ config, lib, pkgs, modulesPath, ... }@innerArgs: (lib.recursiveUpdate (commonConfigFunc innerArgs []) {
|
||||||
@@ -571,6 +658,7 @@
|
|||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = attrs;
|
specialArgs = attrs;
|
||||||
modules = [
|
modules = [
|
||||||
|
niri.nixosModules.niri
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
homeManagerSharedModule
|
homeManagerSharedModule
|
||||||
({ config, lib, pkgs, modulesPath, ... }@innerArgs: (lib.recursiveUpdate (commonConfigFunc innerArgs []) {
|
({ config, lib, pkgs, modulesPath, ... }@innerArgs: (lib.recursiveUpdate (commonConfigFunc innerArgs []) {
|
||||||
|
|||||||
Reference in New Issue
Block a user