diff options
Diffstat (limited to 'home/rices/finals/system.nix')
| -rw-r--r-- | home/rices/finals/system.nix | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/home/rices/finals/system.nix b/home/rices/finals/system.nix new file mode 100644 index 0000000..bd33688 --- /dev/null +++ b/home/rices/finals/system.nix @@ -0,0 +1,85 @@ +{ + pkgs, + lib, + ... +}: { + # Desktop environment - Niri compositor + programs.niri.enable = true; + services.displayManager.defaultSession = "niri"; + + # Keyboard layout - change to your preference + services.xserver.xkb = { + layout = "us"; + }; + + # Polkit for Niri + security.polkit.enable = true; + systemd.user.services.niri-flake-polkit.enable = false; + systemd.user.services.polkit-gnome-authentication-agent-1 = { + description = "polkit-gnome-authentication-agent-1"; + wantedBy = ["graphical-session.target"]; + wants = ["graphical-session.target"]; + after = ["graphical-session.target"]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; + Restart = "on-failure"; + RestartSec = 1; + TimeoutStopSec = 10; + }; + }; + + # Audio - Pipewire + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + environment.systemPackages = with pkgs; [ + playerctl + pulsemixer + ]; + + # XDG portals + xdg.portal.extraPortals = [ + pkgs.xdg-desktop-portal-cosmic + ]; + xdg.portal.config.common.default = [ + "gnome" + ]; + + # Fonts + fonts = { + packages = with pkgs; [ + nerd-fonts.fira-code + noto-fonts-color-emoji + inter + ]; + fontDir.enable = true; + }; + + # Stylix - pick your scheme + stylix = { + enable = true; + polarity = "dark"; + base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml"; + fonts = { + sansSerif = { + package = pkgs.inter; + name = "Inter"; + }; + monospace = { + package = pkgs.nerd-fonts.fira-code; + name = "FiraCode Nerd Font"; + }; + emoji = { + package = pkgs.noto-fonts-color-emoji; + name = "Noto Color Emoji"; + }; + }; + }; + + # Services + services.upower.enable = true; +} |
