nixos/nate/default.nix

107 lines
2.2 KiB
Nix

{ config, lib, inputs, outputs, pkgs, system, timeZone, ... }:
let
userName = "nate";
fullName = "Nate Anderson";
email = "n8r@tuta.io";
hostName = "winmax";
desktop = "niri";
gaming = true;
in
{
imports = [
./desktop-configuration.nix
./nixos/hardware-configuration.nix
];
deskCfg = {
userName = userName;
hostName = hostName;
de = desktop;
installGaming = gaming;
};
# Stylix theming - auto-generate color scheme from wallpaper
stylix = {
enable = true;
image = ./wallpaper.png;
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 = 12;
desktop = 10;
popups = 10;
terminal = 11;
};
};
# Let plymouth use its own theme
targets.plymouth.enable = false;
};
# Limit the number of generations to keep
boot.loader.systemd-boot.configurationLimit = 5;
# Systemd initrd for faster boot
boot.initrd.systemd.enable = true;
# Plymouth boot animation
boot.plymouth = {
enable = true;
theme = "rings";
themePackages = with pkgs; [
(adi1090x-plymouth-themes.override {
selected_themes = [ "rings" ];
})
];
};
# Silent boot
boot.consoleLogLevel = 0;
boot.initrd.verbose = false;
boot.kernelParams = [
"quiet"
"splash"
"boot.shell_on_fail"
"loglevel=3"
"rd.systemd.show_status=false"
"rd.udev.log_level=3"
"udev.log_priority=3"
];
boot.loader.timeout = 0;
# Perform garbage collection weekly to maintain low disk usage
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 14d";
};
# Optimize storage
nix.settings.auto-optimise-store = true;
}