refactor: make hosts declarative and consolidate shared config
- 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
This commit is contained in:
@@ -1,4 +1,9 @@
|
||||
{ pkgs, lib, config, ... }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
# Deterministic Silicon Volt wallpaper: rendered from SVG at build time,
|
||||
@@ -8,65 +13,65 @@ let
|
||||
'';
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./hyprland.nix
|
||||
./hyprlock.nix
|
||||
./hypridle.nix
|
||||
./quickshell.nix
|
||||
];
|
||||
imports = [
|
||||
./hyprland.nix
|
||||
./hyprlock.nix
|
||||
./hypridle.nix
|
||||
./quickshell.nix
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
# Utilities & Tools
|
||||
grim
|
||||
slurp
|
||||
wl-clipboard
|
||||
cliphist
|
||||
brightnessctl
|
||||
jq
|
||||
home.packages = with pkgs; [
|
||||
# Utilities & Tools
|
||||
grim
|
||||
slurp
|
||||
wl-clipboard
|
||||
cliphist
|
||||
brightnessctl
|
||||
jq
|
||||
|
||||
# Desktop Environment / Hyprland ecosystem
|
||||
hyprpaper
|
||||
hyprpolkitagent
|
||||
];
|
||||
# Desktop Environment / Hyprland ecosystem
|
||||
hyprpaper
|
||||
hyprpolkitagent
|
||||
];
|
||||
|
||||
# Build-time rendered wallpaper
|
||||
xdg.dataFile."backgrounds/silicon-volt.png".source = wallpaper;
|
||||
# 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
|
||||
'';
|
||||
# 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;
|
||||
# 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;
|
||||
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";
|
||||
};
|
||||
};
|
||||
"urgency=critical" = {
|
||||
border-color = "#ff7a59";
|
||||
text-color = "#ffffff";
|
||||
default-timeout = 0;
|
||||
};
|
||||
"urgency=low" = {
|
||||
border-color = "#2a2929";
|
||||
text-color = "#adaaaa";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user