Fediversity/services/vm/interactive-vm.nix

63 lines
1 KiB
Nix

{ pkgs, lib, ... }:
let
inherit (lib) mkForce;
in
{
users = {
mutableUsers = false;
users.root = {
hashedPassword = "";
hashedPasswordFile = mkForce null;
};
};
services.openssh = {
enable = true;
settings = {
PermitRootLogin = "yes";
PermitEmptyPasswords = "yes";
UsePAM = false;
};
};
services.getty.autologinUser = "root";
environment.systemPackages = with pkgs; [
python3
w3m
xterm # for `resize`
];
environment.loginShellInit = ''
eval "$(resize)"
'';
nix.extraOptions = ''
extra-experimental-features = nix-command flakes
'';
virtualisation = {
memorySize = 8192;
diskSize = 2048;
cores = 8;
forwardPorts = [
{
from = "host";
host.port = 22222;
guest.port = 22;
}
{
from = "host";
host.port = 8080;
guest.port = 80;
}
{
from = "host";
host.port = 8443;
guest.port = 443;
}
];
};
}