nixos-config/flake.nix

42 lines
1.2 KiB
Nix

{
description = "NixOS configurations for crossbox and anvil";
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";
comfyui-nix.url = "github:utensils/comfyui-nix";
};
outputs = { self, nixpkgs, strix-halo, comfyui-nix, ... }:
let
mkHost = { hostDir, extraModules ? [], overlays ? [], extraSpecialArgs ? {} }:
nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = extraSpecialArgs;
modules = [
./configuration.nix
hostDir
({ ... }: { nixpkgs.overlays = overlays; })
] ++ extraModules;
};
in {
nixosConfigurations.crossbox = mkHost {
hostDir = ./hosts/crossbox;
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;
};
};
nixosConfigurations.anvil = mkHost {
hostDir = ./hosts/anvil;
extraModules = [ ./sdr.nix ./syncthing.nix ];
};
};
}