my personal nix configuration https://catinashell.de/projects/nix-config/
Find a file
2026-08-11 12:23:30 +02:00
.showcase some progress so far 2026-08-07 10:31:14 +02:00
docs update git clone url to match forgejo 2026-08-11 12:23:30 +02:00
home added tor browser not tor 2026-08-10 09:19:50 +02:00
hosts/desktop docs folder preserved 2026-08-09 12:58:16 +02:00
lib . 2026-07-30 09:44:14 +02:00
modules opensnitch rules 2026-08-10 15:27:30 +02:00
flake.lock allow dns queries to localhost 2026-08-10 15:16:43 +02:00
flake.nix some progress so far 2026-08-07 10:31:14 +02:00
README.md . 2026-08-10 15:20:33 +02:00
vars.nix coding as an extra sys module 2026-08-09 17:42:50 +02:00

Description

As I'm just learning Nix, I'm using this mostly as reference to build my own system, building it one block at a time

Setup Showcase Nocatalia v5

old setups

Note: currently I'm building outgoing traffic rules via opensnitch and this is in progress, so currently you need to approve almost any connection manually, if your needs derive from mine, you might need to modify the opensnitch rules, to not always be prompted

Installation

See the Installation Guide

If you install it, read the install guide to the end and especially read the part about preservation!

Documentation (incl. Configuration)

See the Docs

Outgoing Traffic Rules

-> filtered via OpenSnitch, requests outside the configured ones need to be approved TODO: update the docs in that regard

Useful command

echo test | wl-copy pipes the output of the command before into the clipboard

Aliases

Alias Info Command Limitations
rebuild rebuilds the system sudo nixos-rebuild switch --flake /etc/nixos/#nixos flake must be in /etc/nixos
ga git git add -
gc git git commit -m -
gp git git push -
gac git ga && gc -
gjp git ga && gc '.' && gp -
mkcd create dir & go into it fish function mkdir -p '$1' && cd '$1' only for fish shell
zj zellij shortcut zellij -

ZelliJ Layouts

  • ocaml (requires a dev shell for this to make sense)

Whats used in the build

this list might not be complete

What Solution
WM Niri + Noctalia v5
Terminal Alacritty
Shell Fish
Editor Helix, Zed
File Manager Yazi
Browser Brave Origin, Mullvad Browser
Mail Aerc

Credits

This is heavily based on github.com/ryan4yin/nix-config

Useful Resources:


TODO's

Planned

  • Noctalia disable Plugin Update Checks, this should be handled via Nix ig
  • Tighten / Add more OpenSnitch rules
  • Enable the catpuccin cache
  • App Sandboxing (especially for Browsers)
    • Bubble Wrap manually? guess there is also stuff like nixpak etc that is supposed to make this easier
    • Firejail? (although its big & suid -> might even pose a new attack surface)
    • Flatpaks? with stronger defaults?
  • KeepassXC Extension in Brave + KeepassXC Communication
  • VPN (maybe via Wireguard?, not a self hosted one, as privacy is the goal here, not http traffic that i want to tunnel or such things)

Currently not possible / High Effort-Low Value

  • Brave minimize whats persisted - currently not working as wanted, since the way chromium (brave) handles edits in files (by replacing them)
  • Some form of Mandatory Access Control