diff --git a/flake-parts/packages.nix b/flake-parts/packages.nix index 8ae436a66..7b6c70af5 100644 --- a/flake-parts/packages.nix +++ b/flake-parts/packages.nix @@ -1,11 +1,17 @@ { self, lib, ... }: { - flake.packages.x86_64-linux = { - install-iso = (lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - self.nixosModules.installer - self.inputs.nixos-generators.nixosModules.all-formats - ]; - }).config.formats.install-iso; - }; + flake.packages.x86_64-linux = + let + installer = lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + self.nixosModules.installer + self.inputs.nixos-generators.nixosModules.all-formats + ]; + }; + in + { + install-iso = installer.config.formats.install-iso; + install-vm-nogui = installer.config.formats.vm-nogui; + install-vm = installer.config.formats.vm; + }; } diff --git a/installer.nix b/installer.nix index 2daef898f..73fb91318 100644 --- a/installer.nix +++ b/installer.nix @@ -7,18 +7,21 @@ ]; services.openssh.settings.PermitRootLogin = "yes"; system.activationScripts.root-password = '' + mkdir -p /var/shared ${pkgs.pwgen}/bin/pwgen -s 16 1 > /var/shared/root-password echo "root:$(cat /var/shared/root-password)" | chpasswd ''; hidden-announce = { enable = true; script = pkgs.writers.writeDash "write-hostname" '' + mkdir -p /var/shared echo "$1" > /var/shared/onion-hostname ''; }; services.getty.autologinUser = lib.mkForce "root"; programs.bash.interactiveShellInit = '' if [ "$(tty)" = "/dev/tty1" ]; then + until test -e /var/shared/onion-hostname; do sleep 1; done echo "ssh://root:$(cat /var/shared/root-password)@$(cat /var/shared/onion-hostname)" fi '';