Add Hyprland, attempt generalization

This commit is contained in:
Jimbo 2024-12-08 06:41:06 -05:00
parent 590430f296
commit a0cc623c4b
57 changed files with 634 additions and 385 deletions

View file

@ -0,0 +1,6 @@
{ ... }:
{
users.groups.admin = {
gid = 515;
};
}

View file

@ -1,6 +1,7 @@
{ ... }:
{
imports = [
./admin
./nfsShare
];
}

View file

@ -8,5 +8,8 @@
home-manager.nixosModules.home-manager
];
users.mutableUsers = false;
users = {
mutableUsers = false;
allowNoPasswordLogin = true;
};
}

View file

@ -19,7 +19,7 @@
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJahAoF74BY6GCTsFkt1ADKaraFgJJozW1Y1aBTLK0j9 Pixel9"
];
extraGroups = [
"wheel"
"admin"
"audio"
"video"
"input"

View file

@ -16,6 +16,7 @@
".thunderbird"
".config/blender"
".config/dconf"
".config/vesktop"
".config/sunshine"
".config/heroic"
@ -35,7 +36,6 @@
".zsh_history"
".local/share/clipman.json"
".local/state/lazygit/state.yml"
".local/share/applications" # Create this so nothing gets generated inside of it
];
};

View file

@ -3,7 +3,8 @@
programs = {
sway.enable = config.system.desktop.enable;
niri.enable = config.system.desktop.enable;
xwayland.enable = false;
hyprland.enable = config.system.desktop.enable;
xwayland.enable = lib.mkForce true;
};
services.dbus.enable = config.system.desktop.enable;

View file

@ -2,8 +2,8 @@
{
imports = [
./apparmor
./doas
./polkit
./privilege
./rtprio
];
}

View file

@ -1,16 +0,0 @@
{ ... }:
{
security = {
sudo.enable = false;
doas = {
enable = true;
extraRules = [
{ # Give wheel root access
groups = [ "wheel" ];
keepEnv = true;
persist = true;
}
];
};
};
}

View file

@ -0,0 +1,31 @@
{ ... }:
{
security.sudo-rs = {
enable = true;
extraRules = [
{ # Admin gets certain commands
groups = [ "admin" ];
commands = [
"/run/current-system/sw/bin/nix"
"/run/current-system/sw/bin/nh"
"/run/current-system/sw/bin/nixos-rebuild"
"/run/current-system/sw/bin/nixos-enter"
"/run/current-system/sw/bin/nix-collect-garbage"
"/run/current-system/sw/bin/nix-store"
"/run/current-system/sw/bin/systemctl"
"/run/current-system/sw/bin/pkill"
"/run/current-system/sw/bin/dd"
"/run/current-system/sw/bin/eject"
"/run/current-system/sw/bin/vgchange"
"/run/current-system/sw/bin/cp"
"/run/current-system/sw/bin/ls"
"/run/current-system/sw/bin/cat"
"/run/current-system/sw/bin/mount"
];
}
];
};
}

View file

@ -0,0 +1,31 @@
{ ... }:
{
security.sudo-rs = {
enable = true;
extraRules = [
{ # Admin gets certain commands
groups = [ "admin" ];
commands = [
"/run/current-system/sw/bin/nix"
"/run/current-system/sw/bin/nh"
"/run/current-system/sw/bin/nixos-rebuild"
"/run/current-system/sw/bin/nixos-enter"
"/run/current-system/sw/bin/nix-collect-garbage"
"/run/current-system/sw/bin/nix-store"
"/run/current-system/sw/bin/systemctl"
"/run/current-system/sw/bin/pkill"
"/run/current-system/sw/bin/dd"
"/run/current-system/sw/bin/eject"
"/run/current-system/sw/bin/vgchange"
"/run/current-system/sw/bin/cp"
"/run/current-system/sw/bin/ls"
"/run/current-system/sw/bin/cat"
"/run/current-system/sw/bin/mount"
];
}
];
};
}

View file

@ -25,5 +25,10 @@
Name=Niri
Exec=niri-session
'';
"greetd/environments/hyprland.desktop".text = ''
[Desktop Entry]
Name=Hyprland
Exec=Hyprland
'';
};
}

View file

@ -9,6 +9,9 @@
chooser_cmd = "${pkgs.slurp}/bin/slurp -f %o -or -B 00000066 -b 00000099";
};
};
extraPortals = with pkgs; [ xdg-desktop-portal-gnome ];
extraPortals = with pkgs; [
xdg-desktop-portal-gnome
xdg-desktop-portal-hyprland
];
};
}