Files
nixos-on-gcp/flake.nix
T
2024-10-27 08:49:38 -04:00

38 lines
1.1 KiB
Nix

{
description = "Tool to build NixOS for GCP. ";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs";
};
};
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";
modules = [ ./gcp-configuration.nix ];
format = "vm";
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"
'';
};
});
}