{ config, lib, inputs, outputs, pkgs, system, timeZone, ... }: let userName = "nate"; fullName = "Nate Anderson"; email = "n8r@tuta.io"; hostName = "frame12"; desktop = "niri"; in { imports = [ inputs.nixos-hardware.nixosModules.framework-12-13th-gen-intel ./desktop-configuration.nix ./nixos/hardware-configuration.nix ]; deskCfg = { userName = userName; hostName = hostName; de = desktop; }; # Stylix theming stylix = { enable = true; image = ./wallpaper.png; # Check with `nix build nixpkgs#base16-schemes && ls result/share/themes` base16Scheme = "${pkgs.base16-schemes}/share/themes/woodland.yaml"; polarity = "dark"; # System-wide cursor cursor = { package = pkgs.bibata-cursors; name = "Bibata-Modern-Classic"; size = 32; }; # Fonts fonts = { serif = { package = pkgs.lato; name = "Lato"; }; sansSerif = { package = pkgs.lato; name = "Lato"; }; monospace = { package = pkgs.maple-mono.NF; name = "Maple Mono NF"; }; emoji = { package = pkgs.noto-fonts-color-emoji; name = "Noto Color Emoji"; }; sizes = { applications = 14; desktop = 12; popups = 12; terminal = 16; }; }; # Icon theme for tray applets (nm-applet, etc.) iconTheme = { enable = true; package = pkgs.papirus-icon-theme; light = "Papirus-Light"; dark = "Papirus-Dark"; }; # Keep custom Framework plymouth theme targets.plymouth.enable = false; }; # Limit the number of generations to keep boot.loader.systemd-boot.configurationLimit = 5; # Perform garbage collection weekly to maintain low disk usage nix.gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 14d"; }; # Optimize storage # You can also manually optimize the store via: # nix-store --optimise # Refer to the following link for more details: # https://nixos.org/manual/nix/stable/command-ref/conf-file.html#conf-auto-optimise-store nix.settings.auto-optimise-store = true; }