389 Commits
Author SHA1 Message Date
Gabriel Fontes b75bf2153a refactor(lib): share systemd device path conversion
Assisted-by: pi (gpt-5.6-sol)
2026-08-24 12:51:44 -03:00
Gabriel Fontes cc5bd4b3c8 refactor(hosts): rename system-manager to ubuntu
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)
2026-08-13 16:44:51 -03:00
Gabriel Fontes 31ffe6195c feat(home): distinguish host wallpapers
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)
2026-08-12 19:44:02 -03:00
Gabriel Fontes 2784bfa85c refactor: expose colorscheme set in flake 2026-08-12 02:48:54 -03:00
Gabriel Fontes 6e5547495d feat: rename mgc to electra, add to schemes 2026-08-12 02:42:14 -03:00
Gabriel Fontes e4d9acfc1f refactor(flake): drop the system-manager app; bootstrap via config scripts
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)
2026-08-07 00:06:58 -03:00
Gabriel Fontes b3d166215c feat(system-manager): hydra-based auto-upgrade module
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)
2026-08-06 23:57:08 -03:00
Gabriel Fontes 55207e59cf feat(mgc): add Ubuntu bootstrap script
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)
2026-08-06 11:20:33 -03:00
Gabriel Fontes 2e85e5a27d feat(mgc): add Ubuntu system-manager host
- 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)
2026-08-06 10:26:36 -03:00
Gabriel Fontes 9f449c7ea2 refactor(hosts): separate nixos and system-manager hosts
Assisted-by: pi (gpt-5.6-sol)
2026-08-06 09:53:42 -03:00
Gabriel Fontes db627e50b2 refactor(pkgs): register project packages consistently
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)
2026-07-31 11:44:50 -03:00
Gabriel Fontes 8db762c164 refactor(projects/website): package website from foundry flake
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)
2026-07-31 11:44:50 -03:00
Gabriel Fontes 9f65bca07e chore(paseo): remove paseo
Remove the service from atlas and maia, along with its flake input, module, and secret.

Assisted-by: pi (openai-codex/gpt-5.6-sol)
2026-07-13 16:29:03 -03:00
Gabriel Fontes a37004c48e refactor(wallpapers): move collection under pkgs
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)
2026-07-13 10:26:24 -03:00
Gabriel Fontes 764b8fcbe4 feat(paseo): enable headless daemon
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.
2026-07-12 23:40:39 -03:00
Gabriel Fontes 85df2a3233 chore: rename nix-config -> foundry across in-repo references
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)
2026-07-04 19:40:42 -03:00
Gabriel Fontes be533b7e49 refactor(themes): drop projects/themes, generate colorschemes purely
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)
2026-07-04 18:39:47 -03:00
Gabriel Fontes 188c1837c1 refactor(lib): drop nix-colors, add lib/colors.nix
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)
2026-07-04 17:08:16 -03:00
Gabriel Fontes e87024baa0 feat(flake): wire website + themes inputs to in-repo projects/
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)
2026-07-04 15:42:04 -03:00
Gabriel Fontes 7df26c6ba5 chore(flake): bump lock
• Updated input 'disko':
    'github:nix-community/disko/32f4236bfc141ae930b5ba2fb604f561fed5219d?narHash=sha256-gC9Cp5ibBmGD5awCA9z7xy6MW6iJufhazTYJOiGlCUI%3D' (2026-04-19)
  → 'github:nix-community/disko/ff8702b4de27f72b4c78573dfb89ec74e36abdf1?narHash=sha256-RxWs5ND31KzTG7wvMM%2BPMfUjyNpmIEr999lqNARaM5o%3D' (2026-06-11)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/8a444a5c02840666c9c2f92042bfbb7a10c68200?dir=pkgs/firefox-addons&narHash=sha256-bQ9oIcNyHsiagt7yptfe7OmfUDEyuXFUb7ajkrWNzSo%3D' (2026-04-30)
  → 'gitlab:rycee/nur-expressions/a5ad6b67a2f1ff6bd9f676ff2eee53c2f5187f88?dir=pkgs/firefox-addons&narHash=sha256-CBYbKi6gcjHvlxYYoTduennOprxQtUMQfMlRmcg8ONc%3D' (2026-06-22)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/2096f3f411ce46e88a79ae4eafcfc9df8ed41c61?narHash=sha256-ZOQyNqSvJ8UdrrqU1p7vaFcdL53idK%2BLOM8oRWEWh6o%3D' (2026-04-23)
  → 'github:nixos/nixos-hardware/2564d804144a6588660bb5d2646bb05322cacf82?narHash=sha256-rFG35UXPBG29B9ZI0QY2G7dttahfZAVRxQXaeyixz3U%3D' (2026-06-22)
• Added input 'hardware/nixpkgs':
    follows 'nixpkgs'
• Updated input 'home-manager':
    'github:nix-community/home-manager/d456f483f157d4b706416005da226234b9c116ff?narHash=sha256-YqlTCRRhGvNjcJejPeMuHrYQ/TVhOO2MV/nEGMWb8nk%3D' (2026-06-18)
  → 'github:nix-community/home-manager/351959fcdbe5cadec1c3434d7abd14dff31af2d5?narHash=sha256-S%2B/v%2BBWz9c8IbGhRM8L4UUVC5j2oZuAHj1b5XlkBjyw%3D' (2026-06-22)
• Updated input 'lanzaboote':
    'github:nix-community/lanzaboote/079c608988c2747db3902c9de033572cd50e8656?narHash=sha256-c0r3xXp2%2BxFJwkryS%2BnhyQwoACbFzSt4C1TVs3QMh8E%3D' (2026-04-27)
  → 'github:nix-community/lanzaboote/6650fb7c6b48177c8200e21ffac99a4adc72b08d?narHash=sha256-APwmLI4UuSTim0JO/kZ6FXDPiZVp3zIj0uGDF2UZ5kU%3D' (2026-06-22)
• Updated input 'lanzaboote/crane':
    'github:ipetkov/crane/ad8b31ad0ba8448bd958d7a5d50d811dc5d271c0?narHash=sha256-VWTeqWeb8Sel/QiWyaPvCa9luAbcGawR%2BRw09FJoHz0%3D' (2026-04-26)
  → 'github:ipetkov/crane/469fd08d0bcf6926321fa973c6777fbc87785dd7?narHash=sha256-SlXKwIRIhrOSAcTjCB3ftPLzJWZStQIPS7J1FlZPnKk%3D' (2026-06-18)
• Updated input 'lanzaboote/pre-commit':
    'github:cachix/pre-commit-hooks.nix/3cfd774b0a530725a077e17354fbdb87ea1c4aad?narHash=sha256-PcRvlWayisPSjd0UcRQbhG8Oqw78AcPE6x872cPRHN8%3D' (2026-04-21)
  → 'github:cachix/pre-commit-hooks.nix/3bbec39bc90eadfa031e6f3b77272f3f60803e39?narHash=sha256-U3yTuGBnmXvXoQI3qkpfEDsn9RovQPAjN7ndRco%2B3u0%3D' (2026-06-17)
• Updated input 'lanzaboote/rust-overlay':
    'github:oxalica/rust-overlay/aaec8c50baeaf2f2ba653e8aae71778a2bbbac94?narHash=sha256-ERiu3cbxvnTDxiDcimRA7af7xp6x1y0sRyLGm28Qzz8%3D' (2026-04-26)
  → 'github:oxalica/rust-overlay/8534567325bd8a8d2928e6afd81e0a87d19efd3c?narHash=sha256-9mWUnReOUXfKjZuJAL/bAFH3LUyECTRtXgSNVjRw3UY%3D' (2026-06-21)
• Updated input 'nixos-mailserver':
    'gitlab:simple-nixos-mailserver/nixos-mailserver/e33fbde199eaad513ef5d0746db19d5878150232?narHash=sha256-Fj7S91TuZm6%2BDG/v6SFme/p%2BsWrYMQICGX6yQ5KD43Q%3D' (2026-04-27)
  → 'gitlab:simple-nixos-mailserver/nixos-mailserver/c37fd9c40877450716692b6478e6dda330dfc46a?narHash=sha256-e46EhlHo0jupcYCLE4QJRitd3%2By%2BRgIQYNcfcCdLbKg%3D' (2026-06-19)
• Updated input 'nixos-mailserver/git-hooks':
    'github:cachix/git-hooks.nix/580633fa3fe5fc0379905986543fd7495481913d?narHash=sha256-8Psjt%2BTWvE4thRKktJsXfR6PA/fWWsZ04DVaY6PUhr4%3D' (2026-04-07)
  → 'github:cachix/git-hooks.nix/61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a?narHash=sha256-kTwur1wV%2B01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs%3D' (2026-05-11)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/549bd84d6279f9852cae6225e372cc67fb91a4c1?narHash=sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9%2BhrDTkDU%3D' (2026-05-05)
  → 'github:nixos/nixpkgs/567a49d1913ce81ac6e9582e3553dd90a955875f?narHash=sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H%2BCNW1Ck8B%2B8%3D' (2026-06-16)
• Updated input 'sops-nix':
    'github:mic92/sops-nix/8eaee5c45428b28b8c47a83e4c09dccec5f279b5?narHash=sha256-bc%2BZZCmOTNq86/svGnw0tVpH7vJaLYvGLLKFYP08Q8E%3D' (2026-04-28)
  → 'github:mic92/sops-nix/420f8d2e9882911f65cfac15cc706f639ba96cca?narHash=sha256-NFHmA7H47adqiyp%2B0iEOyZOQhmigDqA/NBAlf4imB6U%3D' (2026-06-20)
2026-06-24 10:27:11 -03:00
Gabriel Fontes 758782752e chore(flake): update impermanence 2026-06-22 18:35:44 -03:00
Gabriel Fontes 428818f17a chore(flake): switch to nix-minecraft upstream 2026-06-22 18:34:00 -03:00
Gabriel Fontes 5f80460d9f chore(flake): remove nix-gl 2026-06-22 18:32:03 -03:00
Gabriel Fontes ddcb97ffb6 chore: bump lock 2026-04-30 15:12:31 -03:00
Gabriel Fontes 4d5f009f7a remove electra 2026-04-30 12:45:40 -03:00
Gabriel Fontes ead7a940df chore: remove paste.misterio.me for now 2026-04-10 15:05:15 -03:00
Gabriel Fontes ccd099f073 feat(home/games): init hytale 2026-01-15 10:58:42 -03:00
Gabriel Fontes 780c3787ce chore: bump flake 2025-12-20 12:11:32 -03:00
Gabriel Fontes e90c401517 chore: remove star citizen for now 2025-12-20 12:08:00 -03:00
Gabriel Fontes 87e163dd42 fix(jellyfin-session): use 25.05 for jellyfin-media-player, switch cage to gamescope 2025-11-20 20:13:45 -03:00
Gabriel Fontes 3c7205beb5 chore(flake): bump lock 2025-11-19 08:27:06 -03:00
Gabriel Fontes 4b83532dec feat(hosts/pleione): init 2025-09-22 13:14:09 -03:00
Gabriel Fontes 53d42b7a0a chore(celaeno): remove disconic 2025-09-12 14:35:44 -03:00
Gabriel Fontes e28788c521 fix(flake): bump to nixos-unstable-small
For vdirsyncer fix
2025-08-28 15:13:29 -03:00
Gabriel Fontes 5b7d093d21 chore(flake): remove nixpkgs-stable 2025-08-28 15:13:29 -03:00
Gabriel Fontes 3b74169405 flake: fix hm standalone impermanence assertion issue 2025-08-06 09:26:46 -03:00
Gabriel Fontes dc04d5e10a feat(home): switch to impermanence home-manager-v2 2025-07-25 13:04:10 +02:00
Gabriel Fontes 2185a279c3 chore(flake): bump lock 2025-06-24 10:46:50 +02:00
Gabriel Fontes 95b0465d9c feat: add secure boot 2025-05-16 17:45:29 +02:00
Gabriel Fontes cb37dfde64 feat: add maia 2025-05-15 13:48:08 -03:00
Gabriel Fontes 1236d2c300 chore: remove pleione 2025-05-15 13:44:33 -03:00
Gabriel Fontes b36f4da66e cleanup flake and readme 2025-05-15 13:41:44 -03:00
Gabriel Fontes 3462e6b0f8 chore: remove gelos stuff 2025-04-01 15:20:43 -03:00
Gabriel Fontes c6040970bf chore(treewide): move colorschemes/wallpapers to another repo 2025-02-25 16:58:33 -03:00
Gabriel Fontes e27da84ad4 chore(flake): bump lock 2025-02-25 14:29:17 -03:00
Gabriel Fontes 07ecc52865 feat(hosts): correctly persist /etc/machine-id 2025-01-25 12:27:51 -03:00
Gabriel Fontes 8806f94397 feat(hosts/alcyone): add temporary gelos site 2025-01-20 22:34:31 -03:00
Gabriel Fontes 1cfb58af7c chore(flake): bump lock
Also remove hyprbars, it's on nixpkgs now
2025-01-11 14:07:17 -03:00
Gabriel Fontes cd2d042059 chore(flake): add gabriel@taygeta hm config 2024-12-30 12:03:25 -03:00
Gabriel Fontes b78bd47150 feat(hosts/taygeta): init 2024-12-30 11:33:10 -03:00