- 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
89 lines
2.5 KiB
Nix
89 lines
2.5 KiB
Nix
{ pkgs, inputs, ... }:
|
|
|
|
let
|
|
herdrPkg =
|
|
if
|
|
(
|
|
inputs ? herdr
|
|
&& inputs.herdr ? packages
|
|
&& inputs.herdr.packages ? ${pkgs.stdenv.hostPlatform.system}
|
|
)
|
|
then
|
|
inputs.herdr.packages.${pkgs.stdenv.hostPlatform.system}.default
|
|
else
|
|
(pkgs.herdr or null);
|
|
|
|
herdrPicker = pkgs.writeShellScriptBin "herdr-picker" (builtins.readFile ./scripts/herdr-picker.sh);
|
|
in
|
|
{
|
|
home.packages = (if herdrPkg != null then [ herdrPkg ] else [ ]) ++ [
|
|
herdrPicker
|
|
];
|
|
|
|
programs.foot = {
|
|
enable = true;
|
|
settings = {
|
|
main = {
|
|
font = "JetBrainsMono Nerd Font:size=15";
|
|
font-bold = "JetBrainsMono Nerd Font:size=15:weight=bold";
|
|
font-italic = "JetBrainsMono Nerd Font:size=15:slant=italic";
|
|
pad = "16x16 center";
|
|
shell = "${herdrPicker}/bin/herdr-picker";
|
|
selection-target = "clipboard";
|
|
};
|
|
|
|
scrollback = {
|
|
lines = 10000;
|
|
multiplier = 3.0;
|
|
};
|
|
|
|
cursor = {
|
|
style = "beam";
|
|
blink = "yes";
|
|
beam-thickness = 1.5;
|
|
};
|
|
|
|
mouse = {
|
|
hide-when-typing = "yes";
|
|
};
|
|
|
|
colors-dark = {
|
|
# Silicon Volt palette (matches home/hypr theme + mako):
|
|
# bgPrimary #131313, bgSecondary #0e0e0e, glassBg #1c1b1b,
|
|
# textPrimary #ffffff, textSecondary #e5e2e1, textMuted #adaaaa,
|
|
# accents: volt #cffc00, coral #ff7a59, blue #00bfff
|
|
alpha = 0.92;
|
|
background = "131313";
|
|
foreground = "e5e2e1";
|
|
|
|
# Cursor text and cursor (background) colors
|
|
cursor = "0e0e0e cffc00";
|
|
|
|
regular0 = "0e0e0e"; # bgSecondary
|
|
regular1 = "ff7a59"; # accentCoral
|
|
regular2 = "cffc00"; # accentVolt (green)
|
|
regular3 = "e3ff66"; # accentVoltLight (yellow)
|
|
regular4 = "00bfff"; # accentBlue
|
|
regular5 = "c6c6c7"; # Neutral Gray (magenta)
|
|
regular6 = "66d9ff"; # Light Cyan
|
|
regular7 = "e5e2e1"; # textSecondary
|
|
|
|
# Bright Colors
|
|
bright0 = "2a2929"; # surfaceVariant
|
|
bright1 = "ff9a82"; # Bright Coral
|
|
bright2 = "dfff66"; # Bright Lime
|
|
bright3 = "f0ff8c"; # Bright Volt
|
|
bright4 = "66d9ff"; # Bright Blue
|
|
bright5 = "e0e0e1"; # Bright Gray
|
|
bright6 = "99e6ff"; # Bright Cyan
|
|
bright7 = "ffffff"; # textPrimary
|
|
|
|
# Selection & URLs - volt lime selection like the site
|
|
selection-foreground = "0e0e0e";
|
|
selection-background = "cffc00";
|
|
urls = "00bfff";
|
|
};
|
|
};
|
|
};
|
|
}
|