homelab/flake.nix
2025-08-23 23:14:40 -05:00

41 lines
1.2 KiB
Nix

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
nix-minecraft.url = "github:Infinidoge/nix-minecraft";
};
outputs = { self, nixpkgs, ... }@inputs:
let
system = "x86_64-linux";
nixos-vma = path: nixpkgs.lib.nixosSystem {
specialArgs = { inherit system inputs; };
modules = [
"${nixpkgs}/nixos/modules/virtualisation/proxmox-image.nix"
{ nixpkgs.hostPlatform = "${system}"; }
path
];
};
nixos-lxc = path: nixpkgs.lib.nixosSystem {
specialArgs = { inherit system inputs; };
modules = [
"${nixpkgs}/nixos/modules/virtualisation/proxmox-lxc.nix"
{ nixpkgs.hostPlatform = "${system}"; }
path
];
};
image = name: self.nixosConfigurations.${name}.config.system.build.VMA;
lxc = name: self.nixosConfigurations.${name}.config.system.build.tarball;
in {
nixosConfigurations = {
majcraft = nixos-vma ./vm-majcraft.nix;
homelab = nixos-vma ./vm-homelab.nix;
metrics = nixos-lxc ./lxc-metrics.nix;
};
packages.${system} = {
majcraft = image "majcraft";
homelab = image "homelab";
metrics = lxc "metrics";
};
};
}