{ inputs, pkgs, ... }: { home.stateVersion = "24.11"; home.username = "mora"; home.homeDirectory = "/home/mora"; ### ### Shells ### programs.bash.enable = true; programs.fish.enable = true; programs.nushell.enable = true; ### ### Software ### programs.eza.enable = true; programs.ripgrep.enable = true; programs.zoxide.enable = true; programs.neovim.enable = true; programs.neovim.defaultEditor = true; programs.git = { enable = true; delta.enable = true; includes = [{ contents = { user.name = "Mora Unie Youer"; user.email = "mora_unie_youer@riseup.net"; user.signingKey = "0x7AB91D83B25E6D7F"; commit.gpgSign = true; init.defaultBranch = "master"; safe.directory = "*"; }; }]; }; programs.gpg = { enable = true; settings = { ask-cert-level = true; expert = true; list-options = [ "show-sig-expire" "show-uid-validity" "show-unusable-subkeys" "show-unusable-uids"]; verify-options = [ "show-uid-validity" "show-unusable-uids" ]; with-fingerprint = [ "" "" ]; # Repeat with-fingerprint twice with-keygrip = true; }; }; services.gpg-agent = { enable = true; enableSshSupport = true; pinentryPackage = pkgs.pinentry-gnome3; }; services.gnome-keyring = { enable = true; components = [ "secrets" "ssh" ]; }; services.easyeffects.enable = true; ### ### Customization ### gtk.enable = true; gtk.font.name = "DejaVu Sans"; gtk.font.size = 8; home.pointerCursor = let catppuccin-cursors' = pkgs.catppuccin-cursors.overrideAttrs (prev: { patchPhase = '' # FIX: GTK3-4 is screaming ;_; sed -i scripts/build-cursors -e 's/NOMINAL_SIZE=24/NOMINAL_SIZE=32/' ''; }); in { package = catppuccin-cursors'.mochaMauve; name = "catppuccin-mocha-mauve-cursors"; size = 24; gtk.enable = true; x11.enable = true; }; ### ### Extra Packages ### home.packages = with pkgs; [ # Fonts liberation_ttf noto-fonts noto-fonts-cjk-sans noto-fonts-emoji font-awesome nerd-fonts._0xproto nerd-fonts.fira-code # Utils libnotify xdg-utils wl-clipboard # Shell python3 # Applications niri inputs.wezterm.packages.${pkgs.system}.default ]; ### ### Extra Services ### systemd.user.services.wl-gammarelay-rs = let wl-gammarelay-rs' = pkgs.writeShellScript "wl-gammarelay-rs" '' ${pkgs.wl-gammarelay-rs}/bin/wl-gammarelay-rs & sleep 1 busctl --user -- set-property rs.wl-gammarelay /outputs/DP_2 rs.wl.gammarelay Brightness d 0.7 busctl --user -- set-property rs.wl-gammarelay /outputs/DP_3 rs.wl.gammarelay Brightness d 0.75 busctl --user -- set-property rs.wl-gammarelay /outputs/DP_4 rs.wl.gammarelay Brightness d 0.65 wait ''; in { Unit.PartOf = [ "graphical-session.target" ]; Unit.After = [ "niri.service" ]; Unit.Wants = [ "niri.service" ]; Install.WantedBy = [ "graphical-session.target" ]; Service = { ExecStart = "${wl-gammarelay-rs'}"; Restart = "on-failure"; }; }; }