The tree is heavily Ubuntu-coupled: masking netplan's generator and Ubuntu's
own wpa_supplicant units, apt packages in cloud-init, /etc/dbus-1 policy.
Assisted-by: pi (claude-opus-5)
Give each host a wallpaper whose derived colorscheme sits at its own position on an evenly spaced hue wheel:
- Atlas: aenami-dawn; Celaeno: mountain-yellow-red
- Alcyone: autumn-leaves-orange; Pleione: plains-flowers-green-red
- Electra: aenami-northern-lights; Merope: aenami-bright-planet
- Maia: deer-lunar-fantasy; Taygeta: nebula-purple-pink
Reserve the remaining turquoise position for a future asterope host, and regenerate the website colorscheme data.
Assisted-by: pi (gpt-5.6-sol)
The CLI now ships on the system PATH (environment.systemPackages), so the
apps.system-manager passthrough is redundant. install.sh's bootstrap (the
one caller) instead builds the systemConfig and runs its own
bin/register-profile + bin/activate, needing no flake app.
Assisted-by: pi (claude-opus-4-8)
Port modules/nixos/hydra-auto-upgrade.nix to the system-manager side as
modules/system-manager/hydra-auto-upgrade.nix, exposed via a new
outputs.systemManagerModules and imported by the common/global base.
The script (cached-system-manager) mirrors cached-nixos-rebuild, adapted
to system-manager's model: there is no /run/current-system active pointer
and no boot-time reactivation, so the registered profile
(/nix/var/nix/profiles/system-manager-profiles/system-manager) is the
single source of truth. Only 'diff' and 'switch' actions; switch does
register-profile + activate (the CLI's switch = both, atomically).
Not enabled anywhere yet.
Assisted-by: pi (claude-opus-4-8)
Bootstrap Ubuntu runtime services and Determinate Nix, clone Foundry with Jujutsu, print the host age recipient, and gate System Manager activation on SOPS rekeying.
Assisted-by: pi (gpt-5.6-sol)
- manage Nix, Mesa graphics, users, PAM glue, and greetd on Ubuntu
- activate the work Home Manager profile in the same switch
- expose all exported sessions to tuigreet through a login environment
- isolate reusable System Manager configuration under hosts/system-manager/common
Assisted-by: pi (gpt-5.6-sol)
Expose website and runelite-mcp through the shared package registry, keeping flake outputs generic and host consumers on the overlaid package set.
Assisted-by: pi (openai-codex/gpt-5.6-sol)
Remove the nested flake and Hydra jobset metadata, expose the website directly from Foundry, and point consumers at the package output.
Assisted-by: pi (openai-codex/gpt-5.6-sol)
Import the collection through pkgs/default.nix while preserving the combined Hydra derivation and per-wallpaper attributes.
Assisted-by: pi (openai-codex/gpt-5.6-sol)
Run Paseo as gabriel on atlas and maia using the upstream NixOS module. Expose direct access only through the Tailscale firewall interface while retaining hosted relay support.
Prep for renaming the GitHub repo to Foundry: update the Hydra jobset flakes
(.hydra.json), the auto-upgrade project name (must match the Hydra project),
the README status badge, the hydra-auto-upgrade example, the website CV link,
and the flake description. Hydra project/jobset becomes 'foundry'.
Assisted-by: pi (opus-4.8)
With the matugen IFD replaced by lib/material-you.nix, projects/themes only existed
to cache that IFD, so remove it:
- Move wallpapers/ to the repo root. Each wallpaper now carries its material-you
source color (extracted once, committed in list.json) in passthru, so schemes
generate with no image decoding at eval.
- Expose pkgs.wallpapers via the additions overlay, and a 'wallpapers'
linkFarm package so Hydra builds+caches every image (imgur is upstream).
- Fold colorscheme generation into modules/home-manager/colors.nix: it now
calls outputs.lib.material-you.generateColorscheme on the source color (the
wallpaper's sourceColor or a hex) instead of the matugen derivation. No IFD,
no generatedDrv.
- wallpaper option is now types.package (preserves the sourceColor passthru).
- Drop the themes flake input and its Hydra job; wallpapers ride the pkgs job.
Verified: atlas evaluates to a full toplevel; its colors match matugen 2.4.1
for the aenami-dawn seed (roles exact, one custom channel +-1 LSB).
Assisted-by: pi (opus-4.8)
The only nix-colors usage was hexToRGBString in the waybar style. Reimplement
it (plus hexToRGB) in a local lib/colors.nix, expose it via the flake lib
(outputs.lib.colors), and point waybar at it. Remove the nix-colors flake
input and relock (drops nix-colors + its base16-schemes/nixpkgs-lib inputs).
The colorscheme module was already self-contained (powered by the themes
generator), so nothing else depended on nix-colors. Verified atlas evaluates.
Assisted-by: pi (opus-4.8)
Point the website and themes flake inputs at the vendored ./projects/<name>
sources instead of github:misterio77/<name>, so the monorepo builds its
deployed projects from its own tree. Verified: both sub-flakes evaluate
locally and the alcyone host (which serves website + uses themes) evaluates
to a full system toplevel.
Assisted-by: pi (opus-4.8)