diff --git a/flake.lock b/flake.lock index 5f6e968..a894388 100644 --- a/flake.lock +++ b/flake.lock @@ -351,6 +351,42 @@ "type": "github" } }, + "nixlib": { + "locked": { + "lastModified": 1636849918, + "narHash": "sha256-nzUK6dPcTmNVrgTAC1EOybSMsrcx+QrVPyqRdyKLkjA=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "28a5b0557f14124608db68d3ee1f77e9329e9dd5", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixos-generators": { + "inputs": { + "nixlib": "nixlib", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1657748715, + "narHash": "sha256-WecDwDY/hEcDQYzFnccCNa+5Umht0lfjx/d1qGDy/rQ=", + "owner": "nix-community", + "repo": "nixos-generators", + "rev": "3323b944d99b026aebfd8de439e001409dde067d", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixos-generators", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1654057797, @@ -610,6 +646,7 @@ "multitask": "multitask", "neovim-nightly": "neovim-nightly", "nix-gaming": "nix-gaming", + "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_2", "nixpkgs-porcupine": "nixpkgs-porcupine", diff --git a/flake.nix b/flake.nix index 7a0dbdb..17a546b 100644 --- a/flake.nix +++ b/flake.nix @@ -7,11 +7,13 @@ neovim-nightly.url = "github:nix-community/neovim-nightly-overlay"; nixos-hardware.url = "github:NixOS/nixos-hardware"; agenix.url = "github:ryantm/agenix"; + nixos-generators.url = "github:nix-community/nixos-generators"; agenix.inputs.nixpkgs.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager-porcupine.inputs.nixpkgs.follows = "nixpkgs-porcupine"; neovim-nightly.inputs.nixpkgs.follows = "nixpkgs"; + nixos-generators.inputs.nixpkgs.follows = "nixpkgs"; nix-gaming.url = "github:fufexan/nix-gaming"; powercord-overlay.url = "github:LavaDesu/powercord-overlay"; @@ -61,7 +63,7 @@ zelk = { url = "github:schnensch0/zelk"; flake = false; }; }; - outputs = { self, agenix, nixpkgs, nixpkgs-porcupine, ... } @ inputs: + outputs = { self, agenix, nixos-generators, nixpkgs, nixpkgs-porcupine, ... } @ inputs: let overlays = (import ./overlays) ++ [inputs.powercord-overlay.overlay] @@ -110,6 +112,19 @@ in { inherit (pkgs) nixUnstable; + + caramel-iso = nixos-generators.nixosGenerate { + inherit pkgs; + format = "sd-aarch64"; + modules = [ + agenix.nixosModules.age + ./hosts/caramel + ]; + specialArgs = { + inherit inputs; + modules = import ./modules { lib = nixpkgs-porcupine.lib; }; + }; + }; }; # TODO: currently broken