common | ||
crypto | ||
dotfiles | ||
home | ||
hosts | ||
modules/nixos | ||
overlays | ||
pkgs | ||
stuff | ||
.gitignore | ||
flake.lock | ||
flake.nix | ||
README.md |
My NixOS config
File system structure
this is outdated
common
: stores all Nix files which are shared by all system configsde
: Desktop environments and their parametershardware
: self-explenatorylocales
: localization optionspackages
: services & packages with common configurationsbase.nix
: The minimum configuration that a machine needsfull-install.nix
: if this machine has a DE or is going to be used by a humantasia-packages.nix
: Collection of additional packages
common
: SSH keys, secrets, ...dotfiles
: all my dotfileshome
: user-specific settings.hosts
: Machine-specific configurationsmodules/nixos
: Custom NixOS modulesoverlays
: Custom NixOS overlayspkgs
: Custom NixOS packagesstuff
: Random stuff that doesn't belong anywhere else
Memo
Update channels: nix flake update
Build a configuration: sudo nixos-rebuild switch --flake .#$(cat /etc/hostname)
Build enry and upload a generation: nixos-rebuild switch --use-remote-sudo --flake .#enry --target-host tasia@enry -L
To do on a new machine
- Install NixOS
- Clone this repo
git clone https://git.vulpecula.zone/tasiaiso/nixos-config.git && cd nixos-config
export HOSTNAME=<your-hostname> && mkdir hosts/$HOSTNAME && cd hosts/$HOSTNAME && touch configuration.nix
- Fill out
configuration.nix
- add your key in
common/programs/ssh.nix
sudo nixos-generate-config --show-hardware-config > hosts/$HOSTNAME/hardare-configuration.nix
- `sudo nixos-rebuild switch --flake .#$HOSTNAME"
- If
usbguard
is enabled, check allowed devices.
git
generate an ssh key: ssh-keygen -t ed25519
add to ssh-agent: ssh-add .ssh/id_ed25519
add to git: git config --global user.signingkey ~/.ssh/id_ed25519
google-authenticator
google-authenticator -td -r 5 -R 60 -w 2
Hosts
theseus
My main PC. Mostly unused because of power constraints
phoenix
My old laptop.
stuff
Another person's laptop.
enry
This is my Raspberry Pi 3B+ inside my electrical cabinet.
cave
New laptop. Main driver.