Commit Graph

95 Commits

Author SHA1 Message Date
jackos1998 cdc5d9c1db openwrt: Build fergal's firmware in the flake
fergal is an 8-port SFP+ switch on a Realtek RTL9303, running OpenWrt
rather than RouterOS or UniFi. It is not part of the fabric yet, but
its firmware is now built here via astro's nix-openwrt-imagebuilder.
Packages are baked into the image: OpenWrt's package server keeps only
the current build of each feed, so installing at runtime stops working
as soon as the feed moves past the running firmware.

Those feed indexes rotate constantly, and upstream pins only the
indexes -- a mismatch drops evaluation into import-from-derivation,
putting this flake's eval on the network. The openwrt-feeds input pins
expanded per-package hashes instead, in a repository of its own
because they run to hundreds of thousands of generated lines.

Flashing gets a procedure doc and a thin skill pointing at it, the
same split as the box installation and nixpkgs upgrade procedures.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 01:16:53 +01:00
jackos1998 0aade09d7e nixos/portcullis: Add initial config
New bare-metal box headed for Nikhef, intended to take over most of
estuary's colony edge routing. This is the bootstrap config only: the
hardware, the single-NVMe ESP + LVM layout, and enough networking to
boot and be reachable.

It is being staged at home before it is racked, so it has no colony
assignments yet. Every 2.5G port takes DHCP and whichever one is
patched in brings the box up; kea registers the DHCP hostname, so the
deploy node points at portcullis.dyn.h.nul.ie until there is a real
colony FQDN for it.

The host key was adopted from the installer session and seeded onto
the persist volume before first boot, so my.secrets.key could be set
up front -- which makes portcullis a recipient of the user-passwd
secret that my.user declares for every box.

Documented with a box page, a row in the colony site index, and a note
in the colony section of networking.md that the topology is expected
to change once portcullis takes over from estuary.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 01:30:59 +01:00
jackos1998 135d52d3de nix: Skip readLinkAt unit test on XFS builder
Update docs / update (push) Successful in 1m6s
CI / Check, build and cache nixfiles (push) Successful in 1h7m38s
CI builds Determinate Nix from source, running its unit-test suite. The
`nix-util` `readLinkAt.works` test creates symlinks with PATH_MAX-length
targets, but our CI runner's build filesystem is XFS, which hard-caps
symlink targets at 1024 bytes (XFS_SYMLINK_MAXLEN). Creation fails with
ENAMETOOLONG, so the test — and the whole determinate-nix build — fails
on the runner while passing on non-XFS filesystems.

Filter out just that test via gtest's GTEST_FILTER on the
`nix-util-tests-run` check input, leaving the rest of the unit and
functional tests gating the build (they still matter, since we build
against several nixpkgs channels).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-04 00:26:37 +01:00
jackos1998 7fe3c8186c nix: Adopt Determinate Nix as the common Nix
Use Determinate Nix as `nix.package` for systems, homes and the
devshell, for its parallel evaluation and lazy trees. We only take the
package, not `determinate-nixd`: the daemon and `nix.conf` model are
unchanged and the Determinate NixOS module is not imported.

- Add the `determinate-nix` (`nix-src`) input, following our
  `nixpkgs-unstable`. FlakeHub's cache needs auth, so we build it
  ourselves and let it flow through Harmonia like everything else.
- `determinateOverlay` exposes it as `pkgs'.mine.determinate-nix`;
  `lib.my.c.nix.determinateSettings` (`lazy-trees`, `eval-cores = 0`)
  is merged into `nix.settings` and the devshell `nix.conf`.
- Switch CI to `DeterminateSystems/determinate-nix-action` so the
  runner itself evaluates with Determinate.
- Advertise the Harmonia cache via the flake's `nixConfig`, trusted
  without a prompt via `accept-flake-config` in the devshell, `.envrc`
  and CI only (boxes already trust it through `nix.settings`).
- Re-attach `pkgs`/`lib` to container and installer
  `nixosConfigurations` so Determinate's flake schemas can evaluate
  them (`nix flake check` otherwise fails with `attribute 'pkgs'
  missing`).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-03 22:31:43 +01:00
jackos1998 390818ffdb home-manager/gui: Disable pi-coding-agent (breaks CI)
`pi-coding-agent-bun` breaks `nix flake check` in CI: its bun2nix
`fetchBunDeps` calls `builtins.filterSource` on subpaths of the pi.nix
flake source, which requires that source derivation to be realised in the
local store. A fresh CI runner doesn't have it, so eval aborts with
`path '...-source.drv' is not valid`. It only works locally because the
source is already realised there.

Not using pi right now, so comment out the input, overlays, home module
import and the package (leaving a root-cause note in `flake.nix`) rather
than working around the upstream issue.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-02 00:12:51 +01:00
jackos1998 9b582bec7b home-manager/gui: Add pi-coding-agent
CI / Check, build and cache nixfiles (push) Failing after 2m29s
2026-07-26 18:55:20 +01:00
jackos1998 43828ad34c nixos/hass: Add West Wood integration
CI / Check, build and cache nixfiles (push) Has been cancelled
2026-06-14 03:08:33 +01:00
jackos1998 93529c578b "Release" 26.06 Irritating
CI / Check, build and cache nixfiles (push) Successful in 2h20m51s
2026-06-13 16:00:18 +01:00
jackos1998 5526e07e65 Update harmonia
CI / Check, build and cache nixfiles (push) Failing after 2h25m26s
2026-03-07 17:09:50 +00:00
jackos1998 f1dc04ec4b Update inputs
CI / Check, build and cache nixfiles (push) Failing after 6m18s
2026-01-20 15:13:27 +00:00
jackos1998 b031840f81 nixos/object: Fix harmonia
CI / Check, build and cache nixfiles (push) Failing after 3h13m40s
2025-12-06 15:39:47 +00:00
jackos1998 45861bef08 "Release" 25.11 Hooray 2025-12-06 15:18:36 +00:00
jackos1998 adaf8b6a83 nixos/jackflix: Add copyparty 2025-09-08 23:28:31 +01:00
jackos1998 8fa4a7ee60 "Release" 25.09 Giving
CI / Check, build and cache nixfiles (push) Failing after 31m46s
2025-09-06 17:14:09 +01:00
jackos1998 cff229f487 nixos: Add britway
CI / Check, build and cache nixfiles (push) Successful in 1h3m58s
2025-01-19 23:58:51 +00:00
jackos1998 5783d3a51e Update nixpkgs-stable to 24.11 2024-11-30 17:45:59 +00:00
jackos1998 e9467e0cc7 ci: Build and cache CI jobs individually
CI / Check, build and cache Nix flake (push) Failing after 6m27s
2024-11-26 12:37:47 +00:00
jackos1998 df7e5953eb Update nixpkgs-unstable (and other inputs)
CI / Check, build and cache Nix flake (push) Has been cancelled
2024-11-25 23:10:24 +00:00
jackos1998 d1f1b84e82 Use fork of ragenix 2024-09-01 14:03:27 +01:00
jackos1998 198e7188bd home-manager/gui: Use upstream unstable nixpkgs' chromium
CI / Check, build and cache Nix flake (push) Successful in 27m18s
2024-08-13 12:15:33 +01:00
jackos1998 d8f97b9316 Update inputs 2024-07-14 21:21:43 +01:00
jackos1998 b68e82ae03 nixos: Move castle to home
CI / Check, build and cache Nix flake (push) Successful in 42m12s
2024-06-30 04:01:56 +01:00
jackos1998 1b083d298b nixos/castle: Re-add boardie
CI / Check, build and cache Nix flake (push) Successful in 32m55s
2024-06-18 23:29:48 +01:00
jackos1998 b420f2377c Use fork of sharry for now
CI / Check, build and cache Nix flake (push) Failing after 1h2m37s
2024-03-18 21:22:52 +00:00
jackos1998 046937de27 Update inputs and add custom NixOS branding
CI / Check, build and cache Nix flake (push) Failing after 34m39s
2023-12-28 17:39:14 +00:00
jackos1998 eda0cdbe0e nixos: Add initial britway
CI / Check, build and cache Nix flake (push) Successful in 19m34s
2023-12-19 14:30:27 +00:00
jackos1998 c4e6896a0c nixos: Add initial palace
CI / Check, build and cache Nix flake (push) Successful in 16m35s
2023-12-03 22:58:28 +00:00
jackos1998 a1778e0f1e Upgrade nixpkgs and NixOS stable to 23.11
CI / Check, build and cache Nix flake (push) Successful in 26m58s
2023-12-03 15:06:11 +00:00
jackos1998 aa18ebcb3b nixos/oxbow: Rename to stream 2023-11-19 13:47:23 +00:00
jackos1998 23db7e6c66 Initial oxbow setup
CI / Check, build and cache Nix flake (push) Successful in 14m56s
2023-11-19 00:27:29 +00:00
jackos1998 4d345f467f Add devshell and packages to CI
CI / Check, build and cache Nix flake (push) Successful in 16m45s
2023-11-17 23:29:18 +00:00
jackos1998 241abd02ac Full CI 2023-11-17 20:25:33 +00:00
jackos1998 36cd77c697 nixos/object: Initial working atticd cache 2023-11-17 15:05:12 +00:00
jackos1998 f13f990e5b Add initial Gitea CI
CI / Check Nix flake (push) Failing after 20s
2023-11-16 22:03:02 +00:00
jackos1998 f202f8c12c Update nixosConfigurations to reference a preferred default config 2023-11-16 21:42:30 +00:00
jackos1998 d5a32419eb Add attic 2023-11-13 14:45:13 +01:00
jackos1998 65324d8af6 Add NixGL 2023-08-22 12:12:29 +01:00
jackos1998 6044391117 Update inputs (stable -> 23.05) 2023-06-24 16:33:16 +01:00
jackos1998 18ad20a8c5 Update inputs 2023-05-14 18:11:57 +01:00
jackos1998 ff01a2aa36 Initial Kontent Kelder 2023-05-13 22:19:45 +01:00
jackos1998 c6c6ee4d72 nixos/castle: Add boardie 2023-04-23 23:44:55 +01:00
jackos1998 1e6209e540 nixos/castle: Initial config 2023-04-23 19:13:54 +01:00
jackos1998 207697c3b2 nixos: Add borgthin module 2023-02-20 01:43:48 +00:00
jackos1998 d916f5c5da Switch to ragenix over agenix 2023-01-08 18:50:52 +00:00
jackos1998 9b64d7395b impermanence changes are merged upstream 2023-01-08 17:57:38 +00:00
jackos1998 66c3eede9e Sharry changes are merged upstream 2023-01-08 17:44:46 +00:00
jackos1998 304152dbb2 Upgrade NixOS stable to 22.11 and upgrade packages 2023-01-08 17:32:10 +00:00
jackos1998 58be44ed2c Add custom package support 2022-11-25 15:31:07 +00:00
jackos1998 d01078dc7b nixos: Add Sharry file sharing service 2022-11-20 18:41:49 +00:00
jackos1998 64847d5e8e Add initial config for tower 2022-09-08 20:31:44 +01:00