This is a set of proof-of-concept NixOS configurations that uses impermanence with home-manager and plasma-manager to achieve a highly stylized development system with an entirely defined state.
Being impermanent, everything besides choice directories are cleared at boot!
Besides directories that store credentials or (temporary) configuration, everything is wiped except for two specific choices:
~/Development
I develop locally, for now. I have yet to find a suitible cloud development solution. Replit comes (came) close, but unfortunately their pricing is not what it used to be. May the Hacker plan rest in peace.
~/Games
I would be okay with placing Lutris games in the Nix Store somehow, similar to how osu!laser is packaged, but it seems like there isn't a Nix-y way to do so yet :(
Enter sudo:
sudo su
Ephemerally download Git (and an editor of your choice):
nix-shell -p vim -p git
Pick the drive you want to install NixOS on (it will be formatted, choose wisely)
lsblk
Import this configuration and run disko with the drive you selected:
cd /tmp; git clone https://github.com/hiibolt/nixos.gitsudo nix –experimental-features “nix-command flakes” run github:nix-community/disko – –mode disko /tmp/nixos/lib/disko/default.nix –arg device ‘“/dev/<your-drive-here>”’
Generate template files to conveniently build a lot of Nix's fs, then remove configuration files and copy our own in (backing up to /persist):
sudo nixos-generate-config –no-filesystems –root /mntrm -rf /mnt/etc/nixos; sudo mv /tmp/nixos /mnt/etcmkdir -p /mnt/persist/nixos; cp -r /mnt/etc/nixos /mnt/persist; rm -f /etc/nixos/configuration.nix; cp -r /mnt/etc/nixos/* /etc/nixos
Before continuing, note the following caveats:
- If you have 16GB or less of RAM, consider switching
TMPDIRprior to building or you may run into issues. Alternatively, use therelease-minimalbranch. - This installation will likely conflict with any RAID drive formations. Consider disabling it in BIOS or reworking the
diskosetup.
Install and reboot on sub-32GB RAM:
sudo mkdir -p /mnt/persist/hypermeow && TMPDIR=/mnt/persist/hypermeow nixos-install –root /mnt –flake /mnt/etc/nixos#nuclearbombwarheadsudo rm -rf /mnt/persist/hypermeow/* && reboot
Install and reboot:
nixos-install –root /mnt –flake /mnt/etc/nixos#nuclearbombwarheadreboot
Once you've rebooted, clean up, build, and reboot a second time:
sudo mv /persist/nixos/* /persist/nixos/.* /etc/nixos && sudo rm -rf /persist/nixos && rb-s && reboot
sudo wipefs --all /dev/sdasudo wipefs --all /dev/sdbsudo pvcreate /dev/sdasudo pvcreate /dev/sdbsudo vgcreate vgraid /dev/sda /dev/sdbsudo lvcreate --type raid1 -m 1 -l 100%FREE -n lvraid vgraid
There are some things which, for sake of security or legality, must be imperative.
Log into:
- GitHub via Librewolf
- GitHub via
gh auth login --insecure-storage - Tailscale
- Vesktop
- osu!lazer
Download ZZZ through Lutris
systemctl --user enable auto-fix-vscode-server.service
- Clone one of the existing machines with a GUI
- Rename usernames
- Add users
- Add per-machine desktop file to
.../<user>/desktops/<hostname>.nix - Add machine to
flake.nix
- Clone one of the existing machines without a GUI
- Rename usernames
- Add users
- Add machine to
flake.nix


