- add my.username / my.gaming.enable / my.ai.local.enable options and gate optional app modules on them instead of per-host import lists - move vendor-neutral hardware.graphics into modules/graphical, leaving only NVIDIA-specific drivers and env vars in modules/hardware/nvidia - derive the primary user everywhere from my.username (users, getty, home-manager, tmpfiles) - de-duplicate Hyprland autostart down to a single system loginShellInit using the start-hyprland wrapper - consolidate all nixpkgs overlays into modules/core/nix.nix and use final.stdenv.hostPlatform.system - make the zsh rebuild helper target $(hostname) instead of hardcoded hades - add nixpkgs follows for nixos-hardware, pi and comfy-ui (single nixpkgs) - add .gitignore and a nixfmt flake formatter; format all nix files - remove empty browser.nix/display-configuration.nix and rename local_ai.nix -> local-ai.nix - document the my.* toggles in the README
78 lines
1.8 KiB
Nix
78 lines
1.8 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
|
|
let
|
|
# Deterministic Silicon Volt wallpaper: rendered from SVG at build time,
|
|
# so the same source always produces a byte-identical image.
|
|
wallpaper = pkgs.runCommand "silicon-volt-wallpaper.png" { } ''
|
|
${pkgs.librsvg}/bin/rsvg-convert -w 3840 -h 2160 ${./wallpaper.svg} > $out
|
|
'';
|
|
in
|
|
{
|
|
imports = [
|
|
./hyprland.nix
|
|
./hyprlock.nix
|
|
./hypridle.nix
|
|
./quickshell.nix
|
|
];
|
|
|
|
home.packages = with pkgs; [
|
|
# Utilities & Tools
|
|
grim
|
|
slurp
|
|
wl-clipboard
|
|
cliphist
|
|
brightnessctl
|
|
jq
|
|
|
|
# Desktop Environment / Hyprland ecosystem
|
|
hyprpaper
|
|
hyprpolkitagent
|
|
];
|
|
|
|
# Build-time rendered wallpaper
|
|
xdg.dataFile."backgrounds/silicon-volt.png".source = wallpaper;
|
|
|
|
# hyprpaper: load the Silicon Volt wallpaper on every output
|
|
xdg.configFile."hypr/hyprpaper.conf".text = ''
|
|
preload = ${config.home.homeDirectory}/.local/share/backgrounds/silicon-volt.png
|
|
wallpaper = ,${config.home.homeDirectory}/.local/share/backgrounds/silicon-volt.png
|
|
splash = false
|
|
'';
|
|
|
|
# Notifications: flat brutalist-glass cards with volt accents
|
|
services.mako = {
|
|
enable = true;
|
|
|
|
settings = {
|
|
background-color = "#1c1b1bee";
|
|
text-color = "#e5e2e1";
|
|
border-color = "#cffc00";
|
|
border-size = 1;
|
|
border-radius = 0;
|
|
width = 420;
|
|
margin = "12";
|
|
padding = "14";
|
|
default-timeout = 6000;
|
|
font = "JetBrainsMono Nerd Font 11";
|
|
format = "<b>%s</b>\\n%b";
|
|
"icon-location" = "left";
|
|
max-icon-size = 48;
|
|
|
|
"urgency=critical" = {
|
|
border-color = "#ff7a59";
|
|
text-color = "#ffffff";
|
|
default-timeout = 0;
|
|
};
|
|
"urgency=low" = {
|
|
border-color = "#2a2929";
|
|
text-color = "#adaaaa";
|
|
};
|
|
};
|
|
};
|
|
}
|