{ description = "install nixos declaratively"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; impermanence.url = "github:nix-community/impermanence"; }; outputs = { ... }@inputs: let system = "x86_64-linux"; devices = { main = "/dev/nvme0n1"; bonus.disk1 = "/dev/nvme1n1"; }; pkgs = import inputs.nixpkgs { inherit system; config.allowUnfree = true; }; in { nixosConfigurations.homebox = inputs.nixpkgs.lib.nixosSystem { inherit system; modules = [ inputs.disko.nixosModules.default inputs.impermanence.nixosModules.impermanece ./disko ./impermanece ]; sysconfig.opts = { inherit devices; }; disko = { enable = true; impermanent = true; }; networking = { hostName = "homebox"; nameservers = [ "1.1.1.1#one.one.one.one" "1.0.0.1#one.one.one.one" ]; networkmanager.enable = true; }; users.users."nathan" = { isNormalUser = true; description = "Nathan"; initialPassword = "7567"; extraGroups = [ "wheel" "networkmanager" ]; }; services.openssh.enable = true; environment.systemPackages = with pkgs; [ git home-manager ]; }; }; }