Configuration files for my NixOS machines
  • Nix 99%
  • Shell 1%
Find a file
2026-03-24 17:51:51 +01:00
.github/assets meta: update readme 2025-05-31 20:26:08 +02:00
hosts hosts/zoltraak: fix some qBittorrent stuff 2026-03-24 17:51:51 +01:00
modules hosts/zoltraak: fix some qBittorrent stuff 2026-03-24 17:51:51 +01:00
parts hosts/zoltraak: cache mover 2026-03-11 18:27:21 +01:00
scripts hosts/zoltraak: migrate to new hardware 2026-03-09 17:35:41 +01:00
users flake: remove caelestia shell 2026-03-22 13:31:15 +01:00
vars hosts: add git crypt 2026-03-05 11:25:10 +01:00
.envrc Restructure repo using flake-parts 2025-02-13 12:54:29 +01:00
.gitattributes hosts: add git crypt 2026-03-05 11:25:10 +01:00
.gitignore Add host zoltraak and setup disko + deploy-rs 2025-02-25 14:03:48 +01:00
.sops.yaml hosts/zoltraak: migrate to new hardware 2026-03-09 17:35:41 +01:00
flake.lock hosts/zoltraak: set up copyparty 2026-03-24 17:51:04 +01:00
flake.nix hosts/zoltraak: set up copyparty 2026-03-24 17:51:04 +01:00
README.md hosts/zoltraak: enable NFS server 2026-03-18 11:58:42 +01:00


TyDooo's Nix Config

NixOS System Architecture

My personal NixOS and Home Manager configuration files. This repository contains my complete system configuration, including development environment, desktop setup, and application configurations.

Features

  • 🏠 Home Manager configuration for user environment
  • 🔒 Secret management with sops-nix
  • 📝 Neovim configuration using nvf
  • 💻 Multi-host configuration with shared modules
  • 🔄 Automated system deployment with nixos-anywhere
  • 💾 Disk partitioning and formatting with disko

Configuring a new host

Remotely using nixos-anywhere

A host can be configured remotely using nixos-anywhere and disko.

  1. Pre-provision the SSH keys used by SOPS
# Create a temporary directory with the correct permissions
install -d -m755 "./tmp/persist/etc/ssh"

# Generate the desired SSH keys in the created directory
ssh-keygen -t ed25519 -f "./tmp/persist/etc/ssh/ssh_host_ed25519_key" -N "" -C "<USER>@<HOST>"
ssh-keygen -t rsa -b 4096 -f "./tmp/persist/etc/ssh/ssh_host_rsa_key" -N "" -C "<USER>@<HOST>"

# Ensure that the SSH keys have the appropriate permissions
chmod 600 ./tmp/persist/etc/ssh/*
  1. Update the SOPS config (.sops.yaml) with the newly generated key
# Add the output of this command to the .sops.yaml file
cat ./tmp/persist/etc/ssh/ssh_host_ed25519_key.pub | ssh-to-age

# Update the relevant secrets files with the new key
find . -type f -name secrets.yaml -exec sops updatekeys {} \;
  1. Configure the host
nixos-anywhere --extra-files ./tmp --flake '.#<hostname>' <user>@<ip-address>

Credits

This configuration is inspired by and borrows from: