{ inputs, modulesPath, ... }: { nixpkgs.hostPlatform = "x86_64-linux"; imports = [ (modulesPath + "/profiles/qemu-guest.nix") inputs.impermanence.nixosModules.impermanence ]; time.timeZone = "Europe/Amsterdam"; i18n.defaultLocale = "en_US.UTF-8"; networking.hostName = "nixos-template"; networking.dhcpcd.enable = false; networking.useNetworkd = true; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; services.qemuGuest.enable = true; nix.settings.trusted-users = [ "root" "@wheel" ]; nix.settings.experimental-features = [ "nix-command" "flakes" ]; users.users."maintenance" = { isNormalUser = true; group = "maintenance"; extraGroups = [ "wheel" ]; password = "1234"; openssh.authorizedKeys.keyFiles = [ ../../authorized_keys ]; }; users.groups."maintenance" = { }; security.sudo.wheelNeedsPassword = false; services.openssh = { enable = true; settings.PasswordAuthentication = false; settings.KbdInteractiveAuthentication = false; }; programs.ssh.startAgent = true; services.cloud-init = { enable = true; network.enable = true; config = '' system_info: distro: nixos network: renderers: [ 'networkd' ] default_user: name: ops users: - default ssh_pwauth: false chpasswd: expire: false cloud_init_modules: - migrator - seed_random - growpart - resizefs cloud_config_modules: - disk_setup - mounts - set-passwords - ssh cloud_final_modules: [] ''; }; boot.supportedFilesystems = [ "btrfs" ]; fileSystems = { "/" = { device = "none"; fsType = "tmpfs"; options = [ "defaults" "mode=755" ]; }; "/boot" = { device = "/dev/disk/by-label/boot"; fsType = "vfat"; }; "/nix" = { device = "/dev/disk/by-label/btrfs"; fsType = "btrfs"; options = [ "compress=zstd" "subvol=nix" "noatime" ]; }; "/persistent" = { device = "/dev/disk/by-label/btrfs"; fsType = "btrfs"; options = [ "compress=zstd" "subvol=persistent" "noatime" ]; autoResize = true; neededForBoot = true; }; }; }