diff --git a/flake.nix b/flake.nix index fd0c914..3d19623 100644 --- a/flake.nix +++ b/flake.nix @@ -22,34 +22,30 @@ ]; }; + # Define the base modules list once + baseLxcModules = [ + (inputs.nixpkgs + "/nixos/modules/virtualisation/proxmox-lxc.nix") + inputs.vscode-server.nixosModules.default + baseLxcModule + ]; + # Function to create LXC systems with custom modules mkLxcSystem = { system ? "x86_64-linux", extraModules ? [], extraPackages ? [] }: nixosSystem { inherit system; specialArgs = { inherit pkgs; }; - modules = [ - (inputs.nixpkgs + "/nixos/modules/virtualisation/proxmox-lxc.nix") - inputs.vscode-server.nixosModules.default - baseLxcModule + modules = baseLxcModules ++ extraModules ++ [ # Add extra packages to the base configuration ({ pkgs, ... }: { environment.systemPackages = extraPackages; }) - ] ++ extraModules; + ]; }; in { # Export the function and modules for reuse - lib = { - inherit mkLxcSystem baseLxcModule; - # Helper to get the base modules list - baseLxcModules = [ - (inputs.nixpkgs + "/nixos/modules/virtualisation/proxmox-lxc.nix") - inputs.vscode-server.nixosModules.default - baseLxcModule - ]; - }; + lib = { inherit mkLxcSystem baseLxcModules; }; # Re-export inputs for downstream flakes inherit (inputs) inputs;