diff --git a/flake.nix b/flake.nix index c2a0792..9dc9c75 100644 --- a/flake.nix +++ b/flake.nix @@ -9,29 +9,34 @@ }; }; - outputs = { self, nixpkgs, flake-utils, nixos-generators }: - flake-utils.lib.eachDefaultSystem (system: - let - pkgs = nixpkgs.legacyPackages.${system}; - python = pkgs.python312.withPackages (ps: [ ps.click ]); - gcp = nixos-generators.nixosGenerate { - system = "x86_64-linux"; + outputs = { self, nixpkgs, flake-utils, nixos-generators }@inputs: + let + gcp = nixos-generators.nixosGenerate { + system = "x86_64-linux"; + modules = [ ./gcp-configuration.nix ]; + format = "vm"; + pkgs = nixpkgs.legacyPackages.x86_64-linux; + lib = nixpkgs.legacyPackages.x86_64-linux.lib; + }; - modules = [ ./gcp-configuration.nix ]; - format = "vm"; + trainer = nixpkgs.lib.nixosSystem { + modules = [ (import ./gcp-configuration.nix) ]; + specialArgs = inputs; + }; - pkgs = nixpkgs.legacyPackages.x86_64-linux; - lib = nixpkgs.legacyPackages.x86_64-linux.lib; - }; - in { - - packages.gcp = gcp; - devShells.default = pkgs.mkShell { - buildInputs = [ pkgs.google-cloud-sdk python ]; - shellHook = '' - export PROJECT_ID="all-dressed-programming" - export BUCKET_NAME="nautilus-plus" - ''; - }; - }); + utils = flake-utils.lib.eachDefaultSystem (system: + let + pkgs = nixpkgs.legacyPackages.${system}; + python = pkgs.python312.withPackages (ps: [ ps.click ]); + in { + packages.gcp = gcp; + devShells.default = pkgs.mkShell { + buildInputs = [ pkgs.google-cloud-sdk python ]; + shellHook = '' + export PROJECT_ID="all-dressed-programming" + export BUCKET_NAME="nautilus-plus" + ''; + }; + }); + in utils // { trainer-001 = trainer; }; } diff --git a/gcp-configuration.nix b/gcp-configuration.nix index 9add12c..881dab9 100644 --- a/gcp-configuration.nix +++ b/gcp-configuration.nix @@ -60,6 +60,5 @@ services.openssh.settings.PasswordAuthentication = false; programs.zsh.enable = true; - }; }