My dotfiles and Nix config
Nix 85.7%
Just 2.7%
Other 11.6%
42 1 0

Clone this repository

https://tangled.org/mia.pds.parakeet.at/config
git@tangled.org:mia.pds.parakeet.at/config

For self-hosted knots, clone URLs may differ based on your setup.

README.md

Mia's dotfiles and Nix config#

This repo contains my Nix config (using flakes and Lix), and dotfiles for various tools.

Profiles#

There's quite a few different profiles defined in modules/base/profiles.nix to turn on/off different features

Name Info
Devel Turns on development tools and langs
Gaming Turns on steam and other launchers
Graphical Turns on KDE Plasma and SDDM - enables GUI versions of some CLI tools
Laptop Nothing planned atm. Reserved for if I get a NixOS Laptop.
Media (Creation) Turns on media creation tools like Resolve, Blender, Affinity, OBS
Media (Extras) Media utils & tools such as ffmpeg, Handbrake, ndi-tools
Media (Viewing) Turns on various media viewers, like VLC, MPV, Infuse, Calibre
Server Turns on various monitoring utilities
Workstation Turns on productivity apps and useful things like 1Password

Systems#

Name Arch Class Description Profiles
Artemis aarch64 Darwin 2021 MacBook Pro M1 Pro 14in Devel,Graphical,Laptop,Media,Workstation
Hypnos x86_64 NixOS Desktop (+Windows 11 dual boot) Devel,Gaming,Graphical,Media,Workstation
Keldeo x86_64 NixOS Netcup RS 4000 G11 Server
nixosvm1 x86_64 NixOS QEMU VM on Hypnos - for testing n/a
tepig aarch64 NixOS Raspberry Pi 4b (4GB) Server
wingull x86_64 NixOS Netcup VPS 250 G11s Server

Deploying#

Once deployed, any system can be switched by using just switch from inside the repo.

NixOS (using nixos-anywhere)#

Todo, once I deploy a NixOS system from scratch. Likely going to use nix-anywhere

  1. Create a new host key in 1Password 'Secrets' Vault called {{system}} - Host Key (type ed25519)
  2. Add the pubkey to secrets/secrets.nix and rekey if required.
  3. Prepare the host and any services as required.
  4. Run just install {{hostname}} {{ip address}} - after some time, NixOS should be installed.

Darwin#

  1. Install Lix
  2. Rebuild using nix-darwin and nh: sudo nix run nixpkgs#nh -- darwin switch .#{{host}}
    • Artemis is the only Darwin machine currently.
  3. Edit /etc/shells to add /run/current-system/sw/bin/fish on the last line, then run chsh -s /run/current-system/sw/bin/fish
  4. Reboot for good measure.

Remote#

Remote deployment doesn't work from Darwin currently, so I use nixosvm1 as a middleman. This job will be moved to Hypnos, once it's up. In theory, just deploy {{host}} should work.