Caution
These dots are highly prone to change / breakage.
Originally sourced from taciturnaxolotl
's dots
/etc/nixos
├── home-manager - all the config's that use home manager and stored centraly here
│ ├── app - any apps that have home manager configs like neovim get a file here
│ ├── dots - any config files that need to be symlinked go here eg my hyprland config
│ ├── machines - the different machines by hostname
│ │ └── moonlark - my framework laptop
│ └── wm - window manager config; honestly it could probly be moved to app/hyprland
│ └── hyprland - hyprland config
├── moonlark - the files pertaining to my moonlark machine that aren't home manager related
└── secrets - any secrets that are encrypted with agenix go here
10 directories
Install NixOS via the official guide
Connect to wifi
wpa_passphrase your-ESSID your-passphrase | sudo tee /etc/wpa_supplicant.conf
sudo systemctl restart wpa_supplicant
Check with ping 1.1.1.1
if that doesn't work then use wpa_cli
sudo systemctl start wpa_supplicant
wpa_cli
add_network 0
set_network 0 ssid "put your ssid here"
set_network 0 psk "put your password here"
enable network 0
exit
Aquire root permissions while keeping your current context with
sudo -i
Enable git and rebuild your flake with the following
sed -i 's/^{$/{\n programs.git.enable = true;/' /etc/nixos/configuration.nix
nixos-rebuild switch
Download the disk configuration and run it
curl -L https://github.com/Nat2-Dev/dots/raw/main/zoomies/disk-config.nix -o /tmp/disk-config.nix
nix --experimental-features "nix-command flakes" run github:nix-community/disko -- --mode destroy,format,mount /tmp/disk-config.nix
Run nixos generate config and cd into it
nixos-generate-config --root /mnt
cd /mnt/etc/nixos
Clone this repo to your /mnt/etc/nixos
folder
rm *
git clone https://github.com/Nat2-Dev/dots.git .
Add your ssh private key to /mnt/etc/ssh/id_rsa
install the flake, and umount the filesystem, and then reboot
nixos-install --flake .#zoomies --no-root-passwd
umount /mnt
reboot
Pray to the nix gods that it works 🙏
If it worked then you should be able to login with the user nat
and the password lolzthisaintsecure!
You should immediately change the password
passwd nat
Move the config to your local directory, link to /etc/nixos
, and change permissions
mkdir ~/etc; sudo mv /etc/nixos ~/etc
sudo ln -s ~/etc/nixos /etc
sudo chown -R $(id -un):users ~/etc/nixos
sudo chown nat -R ~/etc/nixos
sudo chown nat -R ~/etc/nixos/.*
- Setup the fingerprint reader and verify it works (you may need to swipe your finger across the fingerprint sensor instead of simply laying it there)
sudo fprintd-enroll -f right-index-finger nat
sudo fprintd-verify nat
Finally enable atuin
atuin login
atuin sync
Thanks a bunch to the following people for their dots, configs, and general inspiration which i've shamelessly stolen from:
- NixOS/nixos-hardware
- hyprland-community/hyprnix
- spikespaz/dotfiles
- Misterio77/nix-starter-configs
- mccd.space install guide
- disco docs
- XDG_CONFIG_HOME setting
- Daru-san/spicetify-nix
- agenix
- wpa_supplicant env file docs
- escaping nix variables
- nerd fonts cheat sheet
- setting the default shell in nix
- hyprwm/contrib
- gtk with home manager
- setting up the proper portals
- tuigreet setup