nixos/frame12/default.nix

93 lines
2.2 KiB
Nix

{ 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;
}