nixos-config/flake.nix

43 lines
1.2 KiB
Nix
Raw Permalink Normal View History

2026-02-10 06:10:33 -08:00
{
2026-02-11 05:13:20 -08:00
description = "NixOS configurations for crossbox and anvil";
2026-02-10 06:10:33 -08:00
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
strix-halo.url = "github:hellas-ai/nix-strix-halo";
strix-halo.inputs.llama-cpp.url = "github:ggerganov/llama.cpp/b7984";
2026-02-16 07:15:15 -08:00
comfyui-nix.url = "github:utensils/comfyui-nix";
2026-02-10 06:10:33 -08:00
};
2026-02-16 07:15:15 -08:00
outputs = { self, nixpkgs, strix-halo, comfyui-nix, ... }:
2026-02-11 05:13:20 -08:00
let
mkHost = { hostDir, extraModules ? [], overlays ? [], extraSpecialArgs ? {} }:
2026-02-11 05:13:20 -08:00
nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = extraSpecialArgs;
2026-02-11 05:13:20 -08:00
modules = [
./configuration.nix
hostDir
({ ... }: { nixpkgs.overlays = overlays; })
] ++ extraModules;
};
in {
nixosConfigurations.crossbox = mkHost {
hostDir = ./hosts/crossbox;
2026-02-16 07:15:15 -08:00
overlays = [ strix-halo.overlays.default comfyui-nix.overlays.default ];
extraModules = [
./sdr.nix
./syncthing.nix
comfyui-nix.nixosModules.default
];
extraSpecialArgs = {
strix-halo-pkgs = strix-halo.packages.x86_64-linux;
};
2026-02-11 05:13:20 -08:00
};
nixosConfigurations.anvil = mkHost {
hostDir = ./hosts/anvil;
extraModules = [ ./sdr.nix ./syncthing.nix ];
2026-02-10 06:10:33 -08:00
};
};
2026-02-11 05:13:20 -08:00
}