Document moonix on its own terms

This commit is contained in:
2026-08-07 17:13:41 +02:00
parent 2f3ac2557a
commit 7bcf7e9852
2 changed files with 19 additions and 24 deletions
+15 -13
View File
@@ -1,22 +1,21 @@
# Decisions
## 2026-08-07 Separate repo instead of Nix files in the project repos
## 2026-08-07 Separate repo instead of Nix files in the application repos
- **Who**: Dominik, ClaudeCode
- **Why**: NixOS should be testable without giving up Arch. The Nix build
recipes had to live somewhere without disturbing the existing repos.
- **Why**: The Nix build recipes had to live somewhere without disturbing the
existing repos.
- **Tradeoffs**: Files inside each project repo would keep version, code and
build recipe in one commit — no drift between PKGBUILD `pkgver` and flake
input. A separate repo keeps the Arch repos untouched, at the cost of one
extra commit per version bump (tag in `flake.nix`, then `nix flake update`).
- **How**: New repo `moonix/`, consuming the project repos as flake inputs
- **How**: New repo `moonix`, consuming the application repos as flake inputs
pinned to release tags.
## 2026-08-07 Configs deployed as files, not translated to Nix options
- **Who**: Dominik
- **Why**: `moonarch/defaults/` has to stay the single source of truth for both
distributions.
- **Why**: One set of config files should stay valid on NixOS and Arch alike.
- **Tradeoffs**: Native Nix options (`programs.niri.settings`) are idiomatic and
type checked, but every config would exist twice and drift on each change.
- **How**: `environment.etc.<path>.source` pointing into the moonarch flake
@@ -54,15 +53,18 @@
`defaults/xdg/niri/config.kdl`, which is shared with Arch, where the binary
lives outside `PATH`. That one stays a symlink.
## 2026-08-07 waybar and swaync dropped
## 2026-08-07 waybar and swaync not installed
- **Who**: Dominik
- **Why**: Both are marked "kept as a reserve" in the Arch config — a note left
over from the migration to the Quickshell bar.
- **Tradeoffs**: Keeping them would mirror the Arch package exactly; dropping
them means a fresh setup does not inherit the migration's leftovers.
- **How**: Packages, configs and the `moonarch-waybar*` helper scripts are not
installed.
- **Why**: Quickshell provides both the bar and the notifications. The config
source still carries waybar and swaync, marked "kept as a reserve" — a note
left over from an earlier migration.
- **Tradeoffs**: Installing them would mirror the config source exactly, at the
price of carrying two unused implementations.
- **How**: Neither package, config nor the waybar-only helper scripts are
installed. That also retires `moonarch-cpugov`, `moonarch-sink-switcher` and
`moonarch-nightlight`: the waybar config was their only caller, and the
Quickshell popouts cover the same ground.
## 2026-08-07 QEMU/KVM as the test host, with a caveat
+4 -11
View File
@@ -22,6 +22,7 @@ pkgs/ Build recipes
moonset.nix session power menu
stasis.nix idle manager
sweet-cursors.nix cursor theme
moonarch-scripts.nix battery and camera helpers
modules/
desktop.nix /etc deployment, package set, theme
greetd.nix greetd + moongreet
@@ -154,14 +155,6 @@ recovery, killing the QEMU process — shut the VM down when not testing.
## Known gaps
Four entry points from the niri config and the helper scripts call a launcher
that is not installed here, and therefore do nothing:
| Entry point | Function |
|---|---|
| `Super+C` | clipboard history |
| `moonarch-sink-switcher` | audio sink picker |
| `moonarch-vpn` | VPN picker |
| `moonarch-cpugov` | CPU governor picker |
`cliphist` records the clipboard, so only the picker front-end is missing.
`Super+C` opens the clipboard history through a launcher that is not installed
here, so the binding does nothing. `cliphist` records the clipboard, only the
picker front-end is missing.