{ description = "An empty flake template that you can adapt to your own environment"; # Flake inputs inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; inputs.disko.url = "github:nix-community/disko"; inputs.disko.inputs.nixpkgs.follows = "nixpkgs"; inputs = { # projects unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; agenix.url = "github:ryantm/agenix"; }; # Flake outputs outputs = inputs@{ self, nixpkgs, disko, unstable, agenix, ... }: let # The systems supported for this flake supportedSystems = [ "x86_64-linux" # 64-bit Intel/AMD Linux ]; # Helper to provide system-specific attributes forEachSupportedSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f { pkgs = import nixpkgs { inherit system; }; }); in { nixosConfigurations.zimablade = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ disko.nixosModules.disko agenix.nixosModules.default ./configuration.nix ./hardware-configuration.nix ]; specialArgs = { inherit inputs; }; }; devShells = forEachSupportedSystem ({ pkgs }: { default = pkgs.mkShell { # The Nix packages provided in the environment # Add any you need here packages = with pkgs; [ pkgs.disko nixos-anywhere ]; # Add any shell logic you want executed any time the environment is activated shellHook = ''''; }; }); }; }