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"
}
},
"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": {
"inputs": {
"nixpkgs": [
@ -467,6 +525,22 @@
"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": {
"inputs": {
"devshell": "devshell",
@ -523,6 +597,7 @@
"disko": "disko",
"home-manager": "home-manager",
"jovian": "jovian",
"niri": "niri",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs",
"nixvim": "nixvim",
@ -684,6 +759,39 @@
"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": {
"inputs": {
"nixpkgs": [

View file

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

View file

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

View file

@ -1,4 +1,4 @@
{ lib, config, pkgs, attrs, system, ... }:
{ lib, config, pkgs, inputs, system, ... }:
lib.mkIf config.desktop.enable {
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;
settings = rec {
initial_session = {
command = ''Hyprland'';
command = config.desktop.windowManager;
user = "willifan";
};
default_session = initial_session;

View file

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

View file

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

View file

@ -3,6 +3,7 @@
imports = [
./hyprland
./niri
./options.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" ];
};
};
};
}