Files
NixOS-Configs/flake.nix
Anish Govind 8010cea0bc home: centralize theme and make home-manager feature-aware
- add home/theme.nix as the single Silicon Volt palette and pass it to
  home modules via extraSpecialArgs
- drive foot, hyprland, hyprlock, mako, fzf, starship, rofi and the
  herdr picker from that palette; raw config files use @color@ tokens
  substituted at build time
- pass my = config.my into home-manager; add my.pi.enable, my.flakeDir
- gate home/pi.nix on my.pi.enable (enabled on hades)
- route zshconf/hyprconf aliases and FLAKE_CONFIG through my.flakeDir
- rename the hyprland monitor option volt.monitors -> hypr.monitors
- fix use_auto_tmux command-substitution bug in zsh/init.zsh
- track home/nvim/config/lazy-lock.json for reproducible plugins
- document theming and toggles in the README
2026-09-19 00:48:19 -07:00

107 lines
2.6 KiB
Nix

{
description = "Multi-Machine NixOS Configuration";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
nixos-hardware = {
url = "github:NixOS/nixos-hardware/master";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager/release-26.05";
inputs.nixpkgs.follows = "nixpkgs";
};
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
antigravity = {
url = "github:Hy4ri/antigravity-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
comfy-ui = {
url = "github:utensils/comfyui-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
herdr = {
url = "github:herdrdev/herdr";
inputs.nixpkgs.follows = "nixpkgs";
};
pi = {
url = "github:lukasl-dev/pi.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
inputs:
let
system = "x86_64-linux";
theme = import ./home/theme.nix;
commonModules = [
./modules/core
./modules/graphical
./modules/apps
inputs.home-manager.nixosModules.home-manager
(
{ config, ... }:
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {
inherit inputs theme;
my = config.my;
};
backupFileExtension = "backup";
users.${config.my.username} = import ./home;
};
}
)
];
in
{
nixosConfigurations = {
hades = inputs.nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit inputs; };
modules = commonModules ++ [
inputs.nixos-hardware.nixosModules.common-cpu-amd
./hosts/hades
];
};
};
formatter.${system} = inputs.nixpkgs.legacyPackages.${system}.nixfmt;
devShells.${system}.default =
let
pkgs = import inputs.nixpkgs {
inherit system;
overlays = [ inputs.antigravity.overlays.default ];
config.allowUnfree = true;
};
in
pkgs.mkShell {
packages = with pkgs; [
llvmPackages_latest.clang
llvmPackages_latest.lld
llvmPackages_latest.lldb
llvmPackages_latest.llvm
llvmPackages_latest.clang-tools
llvmPackages_latest.libcxx
rustup
uv
];
};
};
}