added niri flake

This commit is contained in:
willifan 2024-12-29 14:30:24 +01:00
parent b9c0d470c3
commit 36d90ef1a2
10 changed files with 208 additions and 41 deletions

108
flake.lock generated
View file

@ -393,6 +393,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": 1735381519,
"narHash": "sha256-Nti4KlTGglrdaO/9WM3SOr12mbgI9EquYXLZ11vyGTI=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "95351433dd401ddd764ad5745c8211ddc36a9a8a",
"type": "github"
},
"original": {
"owner": "sodiboo",
"repo": "niri-flake",
"type": "github"
}
},
"niri-stable": {
"flake": false,
"locked": {
"lastModified": 1731483594,
"narHash": "sha256-Qjf7alRbPPERfiZsM9EMKX+HwjESky1tieh5PJIkLwE=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "75c79116a7e40cbc0e110ce0cdd500e896458679",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"ref": "v0.1.10.1",
"repo": "niri",
"type": "github"
}
},
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1735303376,
"narHash": "sha256-LhKE5o5R6LDhfdoJ0xh2qODcw6nLUv14n3dvsazIito=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "4e357e9659e5aafeec3cdeb18581698716d97a78",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"repo": "niri",
"type": "github"
}
},
"nix-darwin": { "nix-darwin": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -467,6 +525,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable": {
"locked": {
"lastModified": 1735264675,
"narHash": "sha256-MgdXpeX2GuJbtlBrH9EdsUeWl/yXEubyvxM1G+yO4Ak=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d49da4c08359e3c39c4e27c74ac7ac9b70085966",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixvim": { "nixvim": {
"inputs": { "inputs": {
"devshell": "devshell", "devshell": "devshell",
@ -523,6 +597,7 @@
"disko": "disko", "disko": "disko",
"home-manager": "home-manager", "home-manager": "home-manager",
"jovian": "jovian", "jovian": "jovian",
"niri": "niri",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixvim": "nixvim", "nixvim": "nixvim",
@ -684,6 +759,39 @@
"type": "github" "type": "github"
} }
}, },
"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": 1734745564,
"narHash": "sha256-JQNl4pqonVVPQ2JzEOLUcPVRNj//FFFNRDyvQoOkG7s=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "94da1af75326d89ecb12aba0cc9362e93ffdc766",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"type": "github"
}
},
"zen": { "zen": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [

View file

@ -13,6 +13,11 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
niri = {
url = "github:sodiboo/niri-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
# Declarative partitioning and formatting # Declarative partitioning and formatting
disko = { disko = {
url = "github:nix-community/disko"; url = "github:nix-community/disko";
@ -47,7 +52,7 @@
}; };
outputs = { nixpkgs, ... }@attrs: outputs = { nixpkgs, ... }@inputs:
let let
lib = nixpkgs.lib; lib = nixpkgs.lib;
in in
@ -61,21 +66,22 @@
specialArgs = { specialArgs = {
hostname = "Lenni"; hostname = "Lenni";
inherit attrs; inherit inputs;
inherit system; inherit system;
}; };
modules = [ modules = [
attrs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
{ {
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
} }
attrs.sops-nix.nixosModules.sops inputs.niri.nixosModules.niri
attrs.disko.nixosModules.disko inputs.sops-nix.nixosModules.sops
attrs.stylix.nixosModules.stylix inputs.disko.nixosModules.disko
attrs.nixvim.nixosModules.nixvim inputs.stylix.nixosModules.stylix
attrs.nixos-hardware.nixosModules.framework-12th-gen-intel inputs.nixvim.nixosModules.nixvim
inputs.nixos-hardware.nixosModules.framework-12th-gen-intel
./hosts/Lenni ./hosts/Lenni
./pkgs ./pkgs
]; ];
@ -89,23 +95,24 @@
specialArgs = { specialArgs = {
hostname = "Puenktchen"; hostname = "Puenktchen";
inherit attrs; inherit inputs;
inherit system; inherit system;
}; };
modules = [ modules = [
attrs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
{ {
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
} }
attrs.sops-nix.nixosModules.sops inputs.niri.nixosModules.niri
attrs.disko.nixosModules.disko inputs.sops-nix.nixosModules.sops
attrs.stylix.nixosModules.stylix inputs.disko.nixosModules.disko
attrs.nixvim.nixosModules.nixvim inputs.stylix.nixosModules.stylix
attrs.nixos-hardware.nixosModules.common-cpu-amd inputs.nixvim.nixosModules.nixvim
attrs.nixos-hardware.nixosModules.common-cpu-amd-pstate inputs.nixos-hardware.nixosModules.common-cpu-amd
attrs.nixos-hardware.nixosModules.common-cpu-amd-zenpower inputs.nixos-hardware.nixosModules.common-cpu-amd-pstate
inputs.nixos-hardware.nixosModules.common-cpu-amd-zenpower
./hosts/Puenktchen ./hosts/Puenktchen
./pkgs ./pkgs
]; ];
@ -119,23 +126,23 @@
specialArgs = { specialArgs = {
hostname = "Anton"; hostname = "Anton";
inherit attrs; inherit inputs;
inherit system; inherit system;
}; };
modules = [ modules = [
attrs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
{ {
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
} }
attrs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
attrs.disko.nixosModules.disko inputs.disko.nixosModules.disko
attrs.stylix.nixosModules.stylix inputs.stylix.nixosModules.stylix
attrs.nixvim.nixosModules.nixvim inputs.nixvim.nixosModules.nixvim
attrs.nixos-hardware.nixosModules.common-cpu-amd inputs.nixos-hardware.nixosModules.common-cpu-amd
attrs.nixos-hardware.nixosModules.common-cpu-amd-pstate inputs.nixos-hardware.nixosModules.common-cpu-amd-pstate
attrs.nixos-hardware.nixosModules.common-cpu-amd-zenpower inputs.nixos-hardware.nixosModules.common-cpu-amd-zenpower
./hosts/Anton ./hosts/Anton
./pkgs ./pkgs
]; ];
@ -149,21 +156,22 @@
specialArgs = { specialArgs = {
hostname = "Lillie"; hostname = "Lillie";
inherit attrs; inherit inputs;
inherit system; inherit system;
}; };
modules = [ modules = [
attrs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
{ {
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
} }
attrs.sops-nix.nixosModules.sops inputs.niri.nixosModules.niri
attrs.disko.nixosModules.disko inputs.sops-nix.nixosModules.sops
attrs.stylix.nixosModules.stylix inputs.disko.nixosModules.disko
attrs.nixvim.nixosModules.nixvim inputs.stylix.nixosModules.stylix
attrs.jovian.nixosModules.default inputs.nixvim.nixosModules.nixvim
inputs.jovian.nixosModules.default
./hosts/Lillie ./hosts/Lillie
./pkgs ./pkgs
]; ];

View file

@ -12,7 +12,8 @@
desktop = { desktop = {
enable = true; enable = true;
hyprland.hardware.Lenni.enable = true; windowManager = "niri-session";
hyprland.enable = false;
}; };
common.syncthing = { common.syncthing = {

View file

@ -1,4 +1,4 @@
{ lib, config, pkgs, attrs, system, ... }: { lib, config, pkgs, inputs, system, ... }:
lib.mkIf config.desktop.enable { lib.mkIf config.desktop.enable {
environment.systemPackages = environment.systemPackages =
@ -33,7 +33,7 @@ lib.mkIf config.desktop.enable {
]) ])
++ ++
[ [
attrs.zen.packages.${system}.specific inputs.zen.packages.${system}.specific
]; ];
} }

View file

@ -8,7 +8,7 @@ lib.mkIf config.desktop.autologin.enable {
enable = true; enable = true;
settings = rec { settings = rec {
initial_session = { initial_session = {
command = ''Hyprland''; command = config.desktop.windowManager;
user = "willifan"; user = "willifan";
}; };
default_session = initial_session; default_session = initial_session;

View file

@ -2,9 +2,9 @@
{ {
imports = [ imports = [
./applications.nix ./applications.nix
./autostart.nix
./boot.nix ./boot.nix
./emulation.nix ./emulation.nix
./hyprland.nix
./keyboard.nix ./keyboard.nix
./nfs-client.nix ./nfs-client.nix
./nix-ld.nix ./nix-ld.nix

View file

@ -1,9 +1,15 @@
{ lib, ... }: { lib, ... }:
{ {
options = { options = {
desktop.enable = lib.mkOption { desktop = {
default = false; enable = lib.mkOption {
type = lib.types.bool; default = false;
type = lib.types.bool;
};
windowManager = lib.mkOption {
default = "Hyprland";
type = lib.types.str;
};
}; };
server.enable = lib.mkOption { server.enable = lib.mkOption {
default = false; default = false;

View file

@ -3,6 +3,7 @@
imports = [ imports = [
./hyprland ./hyprland
./niri
./options.nix ./options.nix
./kitty.nix ./kitty.nix

View file

@ -0,0 +1,8 @@
{ inputs, ... }:
{
nixpkgs.overlays = [ inputs.niri.overlays.niri ];
imports = [
./niri.nix
];
}

View file

@ -0,0 +1,35 @@
{ ... }:
let
SCRIPTS = "$XDG_CONFIG_HOME/desktop-utils/scripts";
in
{
programs.niri.enable = true;
home-manager.users.willifan = {
programs.niri.settings = {
outputs."eDP-1".scale = 1.6;
binds = {
"Mod+Q".action.spawn = [ "kitty" ];
"Mod+C".action.close-window = { };
"Mod+M".action.quit = { };
"Mod+E".action.spawn = [ "thunar" ];
"Mod+R".action.spawn = [ "fuzzel" ];
"Mod+P".action.spawn = [ "Enpass" ];
"Mod+F".action.fullscreen-window = { };
"XF86AudioMute".action.spawn = [ "wpctl" "set-mute" "DEFAULT_AUDIO_SINK@" "toggle" ];
"XF86AudioLowerVolume".action.spawn = [ "sh" "-c" "${SCRIPTS}/volume.sh -5" ];
"XF86AudioRaiseVolume".action.spawn = [ "sh" "-c" "${SCRIPTS}/volume.sh 5" ];
"XF86AudioPrev".action.spawn = [ "playerctl" "previous" ];
"XF86AudioPlay".action.spawn = [ "playerctl" "play-pause" ];
"XF86AudioNext".action.spawn = [ "playerctl" "next" ];
"XF86MonBrightnessDown".action.spawn = [ "sh" "-c" "${SCRIPTS}/brightness.sh -4800" ];
"XF86MonBrightnessUp".action.spawn = [ "sh" "-c" "${SCRIPTS}/brightness.sh 4800" ];
};
};
};
}