CI / flake (push) Successful in 3m30s
## Summary
Follow-up cleanups from the post-refactor audit (issues #50–#53). All behaviour-preserving except the work-host changes (kube-tmux + Lens removal).
## Changes
- **#51** `refactor(ssh)` — move `services.openssh.enable` + `firewall.allowedTCPPorts = [ 22 ]` into `modules/ssh.nix`; drop the duplicated lines from T400, MacPro31, RPi5.
- **#50** `fix/feat(work)` — load kube-tmux from a pinned `flake = false` input (it is not in nixpkgs) and reference `${inputs.kube-tmux}/kube.tmux` directly, so the status line no longer depends on a manual `$HOME/code/kube-tmux` checkout. (Supersedes the interim file-existence guard.)
- **#52** `chore` — gitignore the untracked `tf-inspect/` scratch project.
- **#53** `chore` — remove the unused Lens package entirely (`pkgs.lens` + its unfree entry; `unfreePackages` is now just `claude-code`), fix the `nil`→`nil_ls` LSP doc, remove the redundant `.editorconfig` block, name the RPi5 Docker subnet in a `let` binding.
## Deferred (from #53, noted in the commit)
- `.gitignore` firmware entry — documented behaviour, low value, left as-is.
- Per-eval `nixpkgs-unstable` overlay import — inherently per-system; no clean single-import hoist.
## Verification
- `nix flake check` passes (treefmt, deadnix, statix, pre-commit, all hosts + Darwin + homeConfigurations).
- Derivation-path diff vs `main`: `lyrathorpe-mbp`, `lyrathorpe-t400`, `lyrathorpe-macpro31`, `lyrathorpe-rpi5` are byte-identical (confirms #51 and the subnet `let` binding change nothing). Only `emmathorpe-edaas` differs — the kube-tmux input (#50) and the Lens removal (#53).
Closes #50, #51, #52, #53.
---------
Co-authored-by: Emma Thorpe <emma.thorpe@citrix.com>
Reviewed-on: #54
51 lines
2.2 KiB
Nix
51 lines
2.2 KiB
Nix
# Apple Mac Pro 3,1 (Early 2008, dual Xeon Harpertown, x86_64). Desktop host:
|
|
# shared graphical/wired options live in ../../modules/desktop.nix; only
|
|
# host-specific settings are here. Install notes (EFI booting, GPU, partitions):
|
|
# see ./README.md.
|
|
{ ... }:
|
|
|
|
{
|
|
imports = [
|
|
./hardware-configuration.nix
|
|
];
|
|
|
|
# The Mac Pro 3,1 has 64-bit EFI (confirmed by the owner), so boot via
|
|
# systemd-boot like the MBP -- no GRUB/BIOS shim needed.
|
|
boot.loader.systemd-boot.enable = true;
|
|
# Apple's EFI does not reliably support efibootmgr NVRAM writes; leave the
|
|
# firmware vars untouched.
|
|
boot.loader.efi.canTouchEfiVariables = false;
|
|
# Apple-EFI quirk: if the Mac does not pick up the bootloader at the boot
|
|
# picker, install it to the fallback path \EFI\BOOT\BOOTX64.EFI and/or
|
|
# "bless" the ESP from macOS. Uncomment to write the removable fallback path:
|
|
# boot.loader.efi.efiInstallAsRemovable = true;
|
|
|
|
networking.hostName = "MacPro31-NixOS";
|
|
|
|
# Elderly host: a compressed RAM swap softens memory pressure (earlyoom in
|
|
# workstation.nix is the backstop).
|
|
zramSwap.enable = true;
|
|
|
|
# sshd (daemon, port 22, key-only policy) comes from ../../modules/ssh.nix;
|
|
# the firewall itself is enabled in workstation.nix with a default-deny policy.
|
|
|
|
# Dual Harpertown Xeon microcode. Redistributable firmware (GPU/NIC blobs) is
|
|
# enabled in workstation.nix.
|
|
hardware.cpu.intel.updateMicrocode = true;
|
|
|
|
# GPU note: the stock card varies between units -- ATI Radeon HD 2600 XT or
|
|
# NVIDIA GeForce 8800 GT. Sway needs a working KMS/modesetting driver; do NOT
|
|
# install a proprietary blob here. Depending on the installed card, rely on
|
|
# the open kernel driver:
|
|
# - ATI Radeon HD 2600 XT -> "radeon" (older) or "amdgpu" KMS
|
|
# - NVIDIA GeForce 8800 GT -> "nouveau" KMS
|
|
# These come up automatically via the in-tree drivers + KMS, and the graphics
|
|
# stack itself is enabled by modules/sway.nix. If a card needs to be forced, add it
|
|
# here, e.g. `services.xserver.videoDrivers = [ "radeon" ];` (or "nouveau"),
|
|
# and/or `boot.initrd.kernelModules = [ "radeon" ];` in
|
|
# hardware-configuration.nix for early KMS.
|
|
|
|
# See `man configuration.nix` / the stateVersion docs before changing.
|
|
system.stateVersion = "26.05";
|
|
}
|