falcon-nest/flake.nix
2026-06-21 01:36:08 -05:00

65 lines
2 KiB
Nix

{
description = "Base flake for ShawnB's NixOS-based VMs and LXCs.";
inputs = {
nixpkgs.url = "nixpkgs/nixos-25.11";
nixos-generators.url = "github:nix-community/nixos-generators";
nixos-generators.inputs.nixpkgs.follows = "nixpkgs";
disko.url = "github:nix-community/disko";
disko.inputs.nixpkgs.follows = "nixpkgs";
hermes-agent.url = "github:NousResearch/hermes-agent";
hermes-agent.inputs.nixpkgs.follows = "nixpkgs";
home-manager.url = "github:nix-community/home-manager/release-25.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
quadlet-nix.url = "github:SEIAROTg/quadlet-nix";
sops-nix.url = "github:Mic92/sops-nix";
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
{
nixpkgs,
nixos-generators,
hermes-agent,
home-manager,
quadlet-nix,
sops-nix,
disko,
...
}@inputs:
{
nixosConfigurations = {
crowsNest = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./crows_nest/configuration.nix
sops-nix.nixosModules.sops
# to enable podman & podman systemd generator
quadlet-nix.nixosModules.quadlet
];
};
hermesAgent = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
disko.nixosModules.disko
./hermes_agent/disko-config.nix
./hermes_agent/configuration.nix
];
};
};
packages.x86_64-linux = {
crows_nest_vm = nixos-generators.nixosGenerate {
system = "x86_64-linux";
modules = [ ./crows_nest/configuration.nix ];
format = "virtualbox";
};
hermes_agent_vm = nixos-generators.nixosGenerate {
system = "x86_64-linux";
modules = [ ./hermes_agent/configuration.nix ];
format = "virtualbox";
};
};
};
}