This NixOS setup is based off of https://github.com/hgl/nixverse and using its features for handling multiple machines, splitting configurations depending on users/nodes/more.

Machines

+ lappy - Samsung Galaxy Book 5 Pro 360 - Intel Core Ultra 7 256V, Intel Arc Graphics, 16GB RAM, 4TB SSD
  Setup is working and being used currently, based upon the previous setup on nixy being ported to nixverse.
+ nixy - AMD 7800X3D, GeForce RTX 4070 Super, 64GB RAM, 1TB SSD, 4TB SSD on /home. 
  This machine is still on a previous NixOS setup and has not been moved over to this one yet, working on finishing off everything on lappy first.
+ arcade - Minisforum Neptune HX99G, AMD Ryzen 9 6900HX, AMD Radeon 6650M, 64GB RAM, 1TB SSD 
  This is used in my arcade machine and is still running Windows at the moment but will eventually be converted to NixOS as well.
+ ally - ASUS ROG Ally X, AMD Ryzen Z1 Extreme, 24GB RAM, 4TB SSD 
  This is my handheld gaming device and is still running Windows at the moment but will eventually be converted to NixOS as well.

To-Do List

    Finish porting features from nixy's previous setup and get them working on lappy: impermanence.
    Set up declarative Discord setup with nixcord and plugins.
    Fully setup private git repository for secrets.
    Integrate private git repository into nixverse setup.
    Switch nixy over to this nixverse setup.
    Finish checking the apps I need on the arcade machine work under NixOS (attractmode, retroarch, teknoparrot, others).
    Setup arcade machine on NixOS.
    Setup ally machine on NixOS.

Installation

- Run latest NixOS installer from USB stick.
- git clone https://git.zerojay.com/jay/nixverse.git && cd nixverse
- git submodule update --init --recursive
- cd nodes/hosts/[systemname]
- sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --mode destroy,format,mount ./disk-config.nix
- mount | grep /mnt
- sudo btrfs subvolume snapshot -r /mnt /mnt/root-blank
- sudo btrfs subvolume list /mnt
- sudo btrfs property get -ts /mnt/root-blank
- cd ~/nixverse
- sudo nixos-install --root /mnt --flake .#[systemname]
- sudo mkdir -p /mnt/persist/etc
- sudo mkdir -p /mnt/persist/var/lib
- sudo mkdir -p /mnt/persist/var/log
- sudo mkdir -p /mnt/persist/home
- sudo mkdir -p /mnt/persist/root
- sudo cp -a /mnt/etc/. /mnt/persist/etc/
- sudo cp -a /mnt/var/lib/. /mnt/persist/var/lib
- sudo cp -a /mnt/var/log/. /mnt/persist/var/log
- sudo cp -a /mnt/home/. /mnt/persist/home/
- sudo cp -a /mnt/root/. /mnt/persist/root/
- reboot

Post-Install - Secrets Setup

- mkdir -p ~/.config/sops/age
- age-keygen -o ~/.config/sops/age/keys.txt
- nixverse secrets edit