Personal NixOS flake covering multiple machines and deployment variants from a single repo.
Shell: Nushell · WM: Niri (primary) · Terminal: Alacritty · Editor: Neovim + Neovide
| Output | Format | Profile | Use case |
|---|---|---|---|
nixosConfigurations.laptop |
system | desktop | Personal laptop, AMD GPU, 1 monitor |
nixosConfigurations.race4k |
system | desktop | Desktop, Nvidia, 4 monitors, games + IA |
nixosConfigurations.rpi |
sd-image (aarch64) | server | Raspberry Pi headless appliance |
nixosConfigurations.wsl |
NixOS-WSL | wsl | Windows Subsystem for Linux |
packages.<system>.server-iso |
ISO | server | Headless appliance, boots ready |
packages.<system>.live-gui |
ISO | live-gui | Bootable live GUI, no install needed |
darwinConfigurations.mac |
nix-darwin | mac | macOS minimal (tools only) |
- GPU: AMD (amdgpu, ROCm)
- Screen: eDP-1 · 1600×900
- Browser: Firefox
- Extras: touchpad, bluetooth
- GPU: Nvidia (production driver, closed)
- Screens: DP-1 + DP-2 (rotated left) + DP-3 + HDMI-A-1 (rotated right) · 1080p
- WM active: niri
- Browser: Firefox
- Extras: CUDA container toolkit, ansync service, IA server, Steam + Gamemode
- Board: Raspberry Pi (aarch64), extlinux bootloader
- Mode: headless, performance governor, no home-manager
- Mode: headless, home-manager enabled, full nvim (no neovide)
nix run github:SergioRibera/dotfiles # show help + available options
nix run github:SergioRibera/dotfiles#install -- <host> # install NixOS from live installer
nix run github:SergioRibera/dotfiles#install -- laptop # → clones repo, generates hw config, nixos-install
nix run github:SergioRibera/dotfiles#install -- wsl # → prints WSL import instructions
nix run github:SergioRibera/dotfiles#install -- rpi # → prints sd-image dd command
nix run github:SergioRibera/dotfiles#rebuild # nixos-rebuild / darwin-rebuild switch
nix run github:SergioRibera/dotfiles#update-pkgs # upgrade custom package sources
nix run github:SergioRibera/dotfiles#nvim # full Neovim + Neovide
nix run github:SergioRibera/dotfiles#nvim-basic # headless Neovim (no GUI)
nix run github:SergioRibera/dotfiles#fish # fish shell with dotfiles config
nix run github:SergioRibera/dotfiles#zellij # zellij with dotfiles configTools in
tools/<name>/app.nixare auto-discovered — no index to update.
nix build github:SergioRibera/dotfiles#nvim-container
docker load < resultTools in
tools/<name>/container.nixare auto-discovered.
Boot into the NixOS installer, mount your disks at /mnt, then run the one-liner:
sudo -i
nix run github:SergioRibera/dotfiles#install -- <host>The script clones the repo, generates hardware-configuration.nix, and runs nixos-install for you.
After reboot:
passwd # set password for s4rch
sudo chown -R $USER /etc/nixosFor other variants (wsl, rpi, ISOs) the script prints the specific instructions for each one.
nix run github:SergioRibera/dotfiles#rebuild
# or directly:
doas nixos-rebuild switch --flake /etc/nixos#<host># first time
nix run nix-darwin -- switch --flake github:SergioRibera/dotfiles#mac
# subsequent updates
nix run github:SergioRibera/dotfiles#rebuildUpload server-iso to Proxmox storage, create a VM, attach it as boot disk, start:
nix build github:SergioRibera/dotfiles#server-iso
# upload result/iso/*.iso via Proxmox web UI → Storage → Upload
# Create VM → use uploaded ISO as boot media → StartThe ISO boots directly as the configured server — no install step needed. For a persistent disk, boot any NixOS installer and use nixos-anywhere (see below).
Rescue-mode install on any KVM VPS (Hetzner, DigitalOcean, Vultr, AWS, …):
# Put VPS into rescue mode (SSH access as root), then from your local machine:
nix run github:nix-community/nixos-anywhere -- \
--flake github:SergioRibera/dotfiles#server-iso \
root@<ip>Partitions and installs automatically using the disko layout (/dev/vda, GPT+EFI, ext4).
Override the disk device if needed:
nix run github:nix-community/nixos-anywhere -- \
--flake github:SergioRibera/dotfiles#server-iso \
--disk-encryption-keys ... \
root@<ip>
# or pass --extra-files / --disko-script flags — see nixos-anywhere docsAfter install: VPS reboots into the configured NixOS server.