Skip to content
github-actions[bot] edited this page Jul 17, 2026 · 23 revisions

NixOS Configuration

Personal NixOS configuration for pc-angelo (desktop / Samsung Galaxy Book laptop), managed with flakes and Home Manager.

Flake Inputs

Input Purpose
nixpkgs nixos-unstable, primary package set
home-manager User environment management
agenix Secret management (age-encrypted secrets)
disko Declarative disk partitioning
stylix System-wide theming
lanzaboote Secure Boot support
impermanence Opt-in persistence on ephemeral root
nix-cachyos-kernel CachyOS-patched kernel builds
nix-gaming wine-cachyos and gaming-related packages
chaotic Chaotic-AUR Nyx overlay (nordvpn, etc.)
zen-browser Zen Browser flake
nixcord Discord client configuration via Home Manager
spicetify-nix Spotify customisation
pwndbg Pwndbg GDB extension
ida-pro-overlay IDA Pro packaging
binaryninja Binary Ninja packaging
proxmox-nixos Proxmox VE NixOS modules and overlay
dmatools MemProcFS / DMA tooling
pre-commit-hooks Nix-managed pre-commit hooks
xddxdd-nur bambu-studio-bin and other NUR packages
nixpkgs-xr OpenXR / VR packages for NixOS
antigravity-nix Google Antigravity tool packaging
samsung-galaxy-book-linux-fixes Kernel/module fixes for Samsung Galaxy Book (non-flake src)
libfprint-src libfprint fork with EgisTec SDCP fingerprint support (non-flake src)
firefox-addons Firefox add-on packages for Home Manager
berberman berberman's flakes, provides apple-color-emoji
nirinit nirinit Niri window manager init helper
niri-main niri main branch, patched with shake-to-find-cursor (PR #2797)
pear-desktop Pear Desktop (formerly youtube-music) electron app
affinity-nix Affinity Designer/Photo/Publisher NixOS modules
mpv-config Personal mpv configuration (non-flake src)
trakt-scrobbler-src Trakt scrobbler source used for local package (non-flake src)
angr-management angr-management source for local package build (non-flake src)
photogimp PhotoGIMP assets and config (non-flake src)
ist-fenix-auto-enroller IST Fénix course enrollment automation tool
steam-config-nix Steam launch options and compatibility tool management
glaumar_repo glaumar's NUR, provides QRookie
stremio-enhanced Enhanced Stremio desktop client source (non-flake src)
custom-packages Custom package flake, provides Playtorrio v2
nix-vscode-extensions VS Code / Cursor extension packages

Flake Helpers

Two Nix helper functions are defined at the top of flake.nix outputs to keep host definitions concise.

mkNixosSystem { system, modules, specialArgs } Thin wrapper around nixpkgs.lib.nixosSystem that forwards system, modules, and specialArgs verbatim.

mkHostConfig { stdenv, hostname, modules ? [] } Builds a complete host configuration attribute set consumed by mkNixosSystem. It automatically:

  • Sets networking.hostName to hostname.
  • Includes hosts/<hostname>/disko.nix and the disko NixOS module when the file exists.
  • Includes hosts/<hostname>/configuration.nix.
  • Wires in the agenix NixOS module.
  • Merges any extra modules passed by the caller (Home Manager, stylix, lanzaboote, chaotic, overlays, etc.).

Current outputs: nixosConfigurations.pc-angelo, nixosConfigurations.server-angelo, and a standalone homeConfigurations."ang3lo".

Hosts

pc-angelo-win

  • Windows host managed via Ansible (bootstrap.ps1 + playbook.yml), no NixOS configuration.

pc-angelo

  • Configuration: hosts/pc-angelo/configuration.nix
  • Disk layout: hosts/pc-angelo/disko.nix
  • Hardware profile: hosts/pc-angelo/hardware/galaxybook5

server-angelo

  • Configuration: hosts/server-angelo/configuration.nix
  • Services: Proxmox VE, AdGuard Home, Vaultwarden, Redis, Minecraft Server, Docker Compose stacks

Custom Packages

Packages defined locally in pkgs/, not available in nixpkgs:

  • angr-management
  • apk-mitm
  • archi
  • autodesk-fusion
  • ctfd-parser
  • cursor-id-modifier
  • dnspy
  • ese-database-view
  • evolve
  • ffmpeg-encoder-plugin-resolve
  • harbor
  • ist-fenix-auto-enroller
  • jackify
  • libesedb
  • libfsntfs
  • linoffice
  • monkeylauncher
  • nordvpn
  • nuvio-desktop
  • proton-linuwux
  • registry-spy
  • rem
  • scrollmpris
  • sidr
  • sstv
  • steamidra
  • stremio-enhanced
  • trakt-scrobbler
  • volatility-toolkit

nvfetcher-tracked sources:

  • angr-management v9.3.0
  • apk-mitm v1.3.0
  • archi 5.9.0
  • ctfd-parser 1.1
  • dnspy 6.6.0
  • ese-database-view 1.79
  • evolve v1.6
  • ffmpeg-encoder-plugin-resolve 1.3.3
  • harbor 0.9.21
  • ida-chat-plugin 883f9b3550725d81eed80c25dd28c75b320f22c7
  • jackify 0.7.1.1
  • libesedb cf49b6d420d4a44dcd6355bc0d6b36f9f580f350
  • libfsntfs ff95361c7812ee43bb6503fdd6d0c4b7958db3b9
  • linoffice v2.2.8
  • monkeylauncher 0.2
  • nordvpn 5.2.0
  • registry-spy v1.1.0
  • rem 1.4.0
  • reverser_ai 1d572da70479ea822875b9350135d7e3402f5557
  • scrollmpris 6f6261cb0ca405e5c1c53747e455f049dc95e867
  • sidr v0.9.2
  • sstv 3e556eee8ad4c4425799cb652bac26ee58f8e113
  • steamidra v6.4.1
  • stremio-enhanced 1.2.0
  • trakt-scrobbler v1.9.0b1
  • volatility-toolkit v2.1.1

Overlays

Nixpkgs overlays live in overlays/ and are applied per-host in flake.nix.

  • overlays/firefox-addons.nix, firefox-addons overlay
  • overlays/python-packages.nix, TODO: Remove when nixpkgs adds rust/cargo to angr's build dependencies upstream

System Modules

display-manager

Enabled services / programs:

  • niri

gaming

Enabled services / programs:

  • gamemode

services

Enabled services / programs:

  • mullvad-vpn

utilities

Enabled services / programs:

  • gvfs
  • udisks2

Packages:

  • zsh

virtualization

Enabled services / programs:

  • virt-manager

Packages:

  • virtiofsd

Core

  • openssh
  • nix-ld

Home Manager Modules

utilities

Enabled services / programs:

  • vdirsyncer

window-manager

Enabled services / programs:

  • fuzzel
  • hyprlock
  • swayidle
  • swaylock
  • swaync

Packages:

  • curl
  • jq

gaming

Packages:

  • prismlauncher

Hardware Modules

Reusable hardware modules live in modules/hardware/ and are imported by host configurations.

  • modules/hardware/amdgpu.nix
  • modules/hardware/bluetooth.nix
  • modules/hardware/intelgpu.nix
  • modules/hardware/thunderbolt.nix

samsung-galaxy-book

  • modules/hardware/samsung-galaxy-book/audio.nix

  • modules/hardware/samsung-galaxy-book/default.nix

  • modules/hardware/samsung-galaxy-book/display-brightness.nix

  • modules/hardware/samsung-galaxy-book/egpu-brightness.nix

  • modules/hardware/samsung-galaxy-book/fingerprint.nix

  • modules/hardware/samsung-galaxy-book/fn-keys/default.nix

  • modules/hardware/samsung-galaxy-book/fn-keys/keyd.nix

  • modules/hardware/samsung-galaxy-book/webcam.nix

    Enabled services / programs:

    • fprintd

Generated automatically by scripts/generate-wiki.sh, do not edit manually.

Clone this wiki locally