CI / flake (push) Skipped
CI / flake (pull_request) Successful in 4m21s
The docs-site build syncs this repo's README.md and docs/ into the site tree; nothing else is copied. All prose apart from the README therefore lived outside the sync and never appeared on https://docs.lyrapup.pet/nixfiles/, and the one page that did publish carried 18 link targets that resolved to nothing. Moves: home/README.md -> docs/shell.md home/KEYBINDINGS.md -> docs/keybindings.md hosts/<Name>/README.md -> docs/hosts/<name>.md docs/.pages and docs/hosts/.pages give the awesome-pages plugin an explicit order; new pages are picked up by the trailing '...' without an edit. Links are rewritten so a single URL is correct in both Gitea and the published site: absolute Gitea source URLs for .nix files and directories, relative links between pages under docs/, and absolute docs.lyrapup.pet URLs from the root README, which the build republishes at a different depth from the rest of the tree. In-code comments that pointed at a moved README are updated to the new path. The README gains a Documentation section covering the sync contract and the linking rules, and CLAUDE.md carries the short version so future edits do not reintroduce unsynced pages or dead links. Verified by reproducing the docs-site assembly locally against its pinned toolchain (mkdocs 1.6.1, mkdocs-material 9.7.7, awesome-pages 2.10.1): pages render at the URLs used above and in the declared order.
38 lines
1.5 KiB
Nix
38 lines
1.5 KiB
Nix
# Raspberry Pi 5 (aarch64) headless server. Two roles, split into submodules:
|
|
# ./docker.nix (Docker host with a network socket) and ./reverse-proxy.nix
|
|
# (native nginx). The raspberry-pi-5 nixos-hardware profile (kernel, firmware,
|
|
# device tree) and key-only sshd (../../modules/ssh.nix) are layered on in the
|
|
# flake host table. Install notes: see ../../docs/hosts/rpi5.md.
|
|
{ ... }:
|
|
{
|
|
imports = [
|
|
./hardware-configuration.nix
|
|
./docker.nix
|
|
./reverse-proxy.nix
|
|
];
|
|
|
|
# Match the flake's nixosConfigurations attribute name so `nh os switch`
|
|
# (which selects by the local hostname) resolves without an explicit -H flag.
|
|
networking.hostName = "lyrathorpe-rpi5";
|
|
|
|
# Headless server: the Sway desktop is intentionally not set up. modules/sway.nix is
|
|
# not imported and features.swayDesktop.enable defaults to false (declared in
|
|
# system/modules/features.nix), so this host keeps plain TTY/SSH login.
|
|
|
|
# Raspberry Pi boots via U-Boot + extlinux, not GRUB/systemd-boot. The
|
|
# raspberry-pi-5 nixos-hardware profile supplies the kernel, firmware and
|
|
# device tree.
|
|
boot.loader.grub.enable = false;
|
|
boot.loader.generic-extlinux-compatible.enable = true;
|
|
|
|
# Remote administration: the daemon, port 22 and key-only policy all come from
|
|
# ../../modules/ssh.nix.
|
|
|
|
# Default-deny inbound; the Docker and nginx submodules open their own ports
|
|
# (Docker via a source-restricted nftables rule, nginx via 80/443).
|
|
networking.firewall.enable = true;
|
|
|
|
# See `man configuration.nix` / the stateVersion docs before changing.
|
|
system.stateVersion = "26.05";
|
|
}
|