01. Overview & Architecture

Schema validatedSource pinned
Purpose
Flake-based NixOS and home-manager setup with Hyprland and generated colors.
Compatibility
NixOS (Server: WAYLAND)
Window Manager & Theme
Hyprland / Wallpaper-based

02. Installation & Deployment

Before you installThis changes your desktop configuration. Run it as your normal user, never with sudo: it asks for sudo only where a step needs it (listed below).The guided installer shows its plan first. Files it would replace are kept unless you approve. Everything it copies, clones or appends to in your home folder is backed up and verified first, and --rollback restores it. Packages, sudo changes and the other commands listed under Impact are not undone.
IntegrityEach release from main builds the installers in GitHub Actions and signs them with a GitHub build attestation. Verify your download against the repository, not this website (Option B, step 2). If it does not verify, don't run it.
ImpactWrites: ~/nix-config
RecoveryGuided: backups in ~/.local/state/0xtsoa/backups/, undo with bash install.sh --rollback.Manual: back up first (Option A, step 3).
Option A: manual installAdvanced
Read the source at the reviewed commit, back up, then run each step yourself.
$git clone https://github.com/Misterio77/Foundry ~/0xtsoa-review/misterio77-foundry# 1. clone to a review folder
$git -C ~/0xtsoa-review/misterio77-foundry checkout --detach 38ca6f1356a6e238f3c6f0109edb25d050cfa2f8# 2. the reviewed commit
$for p in ~/nix-config; do [ -e "$p" ] && cp -a "$p" "$p.bak-0xtsoa"; done# 3. back up what the steps write
Then the steps. Package commands are written for Arch; on other distros use your package manager.

Step-by-step deployment protocol

Step-by-step deployment
1Clone the flake
$git clone https://github.com/Misterio77/Foundry ~/nix-config
$git -C ~/nix-config checkout 38ca6f1356a6e238f3c6f0109edb25d050cfa2f8
$cd ~/nix-config
2Build a host from the flake
$sudo nixos-rebuild switch --flake .#<hostname>
Option B: guided installerRecommended
The same steps as one script for any distro. It shows the plan first, keeps files you already have unless you approve replacing them, and backs up everything it changes in your home folder. Never pipe it into a shell.
$curl -fsSLo install.sh 'https://www.0xtsoa.dev/configs/misterio77/foundry/install.sh'# 1. download
$gh attestation verify install.sh --repo nyharena25/0xTsoa --signer-workflow nyharena25/0xTsoa/.github/workflows/attest-installers.yml# 2. verify (GitHub CLI 2.49+, signed in)
$less install.sh# 3. read it
$bash install.sh --dry-run# 4. preview: changes nothing
$bash install.sh# 5. install (asks first)
$bash install.sh --rollback# undo the file changes
View script in browserOther options: --force (replace conflicts, backed up first), --yes, --help

03. Screenshot Gallery // Misterio77 nix-config

Capture 01 // Fullscreen
fakebusy
01 / 02

04. Documentation & Guide

Source: Misterio77/FoundryRef: 38ca6f1356
README.md|GitHub Flavored Markdown

![built with nix](https://img.shields.io/static/v1?logo=nixos&logoColor=white&label=&message=Built%20with%20Nix&color=41439a) ![hydra status](https://img.shields.io/endpoint?url=https://hydra.m7.rs/job/foundry/main/hosts.atlas/shield)

Foundry

My public infrastructure monorepo: the NixOS/home-manager configuration that runs all my machines, plus the source of the personal projects it deploys. Requires Nix flakes.

Looking for something simpler to start out with flakes? Try my starter config repo.

Repository layout

hosts/nixos/    per-machine NixOS configurations (atlas, alcyone, ...)
hosts/ubuntu/   system-manager configurations for Ubuntu machines
hosts/common/   configuration shared between both
home/           home-manager configuration (feature-flagged)
modules/        reusable nixos/ and home-manager/ modules
overlays/, pkgs/ package overlays and custom packages (including wallpapers)
lib/            pure-Nix Material You color engine
projects/       my public projects deployed from here (e.g. the m7.rs website)

Highlights:

  • NixOS configurations: desktop, laptop, servers
  • Opt-in persistence through impermanence + blank snapshotting
  • Encrypted single BTRFS partition (with disko for declarative partitioning)
  • Secure Boot via lanzaboote
  • Fully declarative self-hosted stuff
  • Deployment secrets using sops-nix
  • Mesh networked hosts with tailscale and headscale
  • Flexible Home Manager configs through feature flags
  • Extensively configured hyprland environment
  • Declarative theming: wallpapers and a pure-Nix Material You color engine
  • Hydra CI/CD builds every host, serves a binary cache, and hosts auto-upgrade by pull deployment

About the installation

My NixOS machines use a single btrfs (encrypted on all except headless systems) partition, with subvolumes for /nix, a /persist directory (which I opt in using impermanence), swap file, and a root subvolume (cleared on every boot).

On NixOS, Home Manager is integrated via home-manager.users. My Ubuntu work laptop uses system-manager and standalone Home Manager instead.

Secrets

For deployment secrets (such as user passwords and server service secrets), I'm using the awesome `sops-nix`. All secrets are encrypted with my personal PGP key (stored on a YubiKey), as well as the relevant systems' SSH host keys.

On my desktop and laptop, I use pass for managing passwords, which are encrypted using (you bet) my PGP key. This same key is also used for mail signing, as well as for SSH'ing around.

Tooling and applications I use

Most relevant user apps daily drivers:

  • hyprland + hypridle + hyprlock
  • waybar
  • helix
  • fish
  • alacritty
  • qutebrowser
  • aerc + mbsync
  • khal + khard + vdirsyncer
  • todomd
  • gpg + pass
  • tailscale
  • podman
  • zathura
  • wofi
  • bat + fd + rg
  • kdeconnect

Some of the services I host:

  • hydra
  • jellyfin
  • *arrs (including torrent and usenet)
  • prometheus
  • websites (such as https://m7.rs)
  • minecraft
  • headscale

Nixy stuff:

  • sops-nix
  • impermanence
  • disko
  • lanzaboote
  • home-manager
  • and NixOS and nix itself, of course :)

Let me know if you have any questions about them :)

Unixpornish stuff

fakebusy clean

AI usage note

Since June 2026, I've been trying out LLM assistance in my workflows. So far it feels pretty good; brainstorming helps me a lot with decision paralysis. I'm trying to keep my use bounded and disclosed. I think it's a useful tool, but it should be adopted with care.

I will write a decent blog post about my opinions on AI at some point. The gist is:

  • These things are useful for bounded tasks with good docs and reviews, but suck at owning architecture or accountability
  • There's no going back now that open-weight models run on consumer hardware, we can't uninvent them
  • Boycotting AI does not help by itself; non-use is not a political strategy
  • We need clear LLM policy on projects rather than trying (and failing) to forbid it
  • Disclosure is very important, and trying to pass LLM output off as human-written is disrespectful
  • LLMs should never have been built by scraping and exploiting our art and work
  • If copyright doesn't protect our creations, it shouldn't protect their models; support open-weight models and distillation as harm reduction
  • We need regulation, decentralization, and redistribution of the value LLMs generate
  • Machines can't be horny, thus can't create art; LLMs are for utility, not art or craft. Pay an artist instead

Some bibliography I'd recommend:

GitHub Flavored Markdown (github-markdown-css)README snapshot at 38ca6f1356