aboutsummaryrefslogtreecommitdiff
path: root/home/rices/finals/system.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home/rices/finals/system.nix')
-rw-r--r--home/rices/finals/system.nix85
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;
+}