NixOS-based development environment for shared development in NerdsRuns VMs!
This should setup a NixOS VM with a bunch of container things, VM things, and general development-related things that you can use for developing things remotely.i
You do need to make some manual adjustements before and after rebooting into the system:
- You need to put your SSH public keys onto the option
users.users.root.openssh.authorizedKeys.keys
- Set up your disk with disko (Put the device string where the disko config is called)
/dev/sda -> /dev/whatever/you/need
- Make secrets for specified files in
secrets/secrets.nix
with the agenix CLI, all required secrets should be specified in thesecrets.nix
file itself
- Make sure to change the agenix signing keys in
/var/lib/agenix/sshd/*
to the ones you used for creating secrets
You can automatically deploy this system by using nixos-anywhere on any remote host with SSH, it uses a fancy kexec thing to install it in whatever system you are SSHing to.
git clone (this repo)
task deploy:test # For testing if the VM even works
task deploy:remote # Make sure to specify your custom arguments, itll fail if you do not have that
nix run github:nix-community/nixos-anywhere -- --flake FLAKE_URL#antarctica USER@HOST
git clone github.com/nerds-run/antarctica
cd antartica
task manual:disk # this will setup your disk with impermanence
task manual:install # installs nixos with UEFI
# Include your ssh key on /var/lib/agenix/sshd/ssh_host_ed25519_key with chmod 600!!
task rebuild:local # rebases your current config over to the new one