Commit Graph
68 Commits
Author SHA1 Message Date
lyrathorpe 1df7bec2d7 Merge pull request 'fix(docs): reformat README module table to satisfy treefmt' (#61) from fix/treefmt-readme-formatting into main
CI / flake (push) Successful in 3m33s
2026-07-10 11:11:53 +01:00
lyrathorpe ad9decdf47 Merge pull request 'docs: repo layout, module catalogue, host READMEs, stale-path fixes' (#56) from docs/audit-improvements into main
CI / flake (push) Failing after 4m2s
Reviewed-on: #56
2026-07-06 15:37:28 +01:00
lyrathorpe 819633260e docs(rpi5): fix stale module paths
CI / flake (pull_request) Successful in 19s
2026-07-06 15:27:03 +01:00
lyrathorpe 610d5d8b28 docs(macpro31): fix stale module paths 2026-07-06 15:27:02 +01:00
lyrathorpe 58c0004f20 docs(t400): fix stale module paths 2026-07-06 15:27:02 +01:00
lyrathorpe f57d6ab1f9 docs(darwin): add host README 2026-07-06 15:27:01 +01:00
lyrathorpe 574773de73 docs(edaas): add host README 2026-07-06 15:27:00 +01:00
lyrathorpe a857365cc3 docs: add repo layout, module catalogue and add-a-host guide 2026-07-06 15:26:59 +01:00
lyrathorpeandEmma Thorpe c06a57f249 chore: post-refactor cleanups (#50-#53) (#54)
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
2026-06-29 14:09:38 +01:00
lyrathorpeandEmma Thorpe 128deca2e3 refactor(flake): user registry, multi-user hosts, and portable home outputs (#49)
CI / flake (push) Successful in 3m26s
## Summary

Separates user identity (data) from the reusable Nix modules and lets a host declare any number of users, replacing the previous one-user-per-host structure. Also restructures the tree and exposes the home config for use off these hosts.

## Changes

- **User registry** (`users/registry.nix`): per-user identity (name, email, groups, authorized + signing keys) as the single source of truth; no user data hardcoded in modules.
- **Multi-user `mkHost`**: a host declares a `users` set keyed by username; per-user identity is injected into each home config via the `identity` module arg.
- **Restructured layout**: `users/`, `home/`, `modules/`, `hosts/`, `lib/` replace the former `lyrathorpe/` and `system/` trees.
- **Portable outputs**: standalone `homeConfigurations."<user>@<system>"` (the portable subset — shell, git, editor, claude) plus an exported `homeModules` for use on machines not managed by this flake, or as an input to other flakes.
- Docs (`README.md`, `home/README.md`) and `.gitignore` updated for the new paths.

## Fixes

- Closes #46 — shared user module authorized one user's SSH key for every account.
- Closes #47 — git committer identity hardcoded as defaults instead of per-user.
- Closes #48 — EDaaS systemd linger hardcoded to a literal username.

## Verification

- `nix flake check` passes: treefmt, deadnix, statix, pre-commit, and evaluation of all NixOS hosts + Darwin + homeConfigurations.
- Derivation-path comparison vs `main`: `lyrathorpe-mbp` and `emmathorpe-edaas` are byte-identical; `lyrathorpe-t400`, `lyrathorpe-macpro31` and `lyrathorpe-rpi5` differ only by de-duplicating a repeated `authorized_keys` entry (confirmed with nix-diff — no other change).
- Standalone `homeConfigurations."lyrathorpe@x86_64-linux".activationPackage` builds.

## Notes

- `emmathorpe` has no personal authorized key yet (it previously inherited Lyra's key via the bug in #46); the registry entry is intentionally empty — add a real key if SSH login as `emmathorpe` is wanted (moot on the WSL host).
- A two-repo (public dotfiles / private systems) split is deferred by design; this internal restructure is the prerequisite for it.

---------

Co-authored-by: Emma Thorpe <emma.thorpe@citrix.com>
Reviewed-on: #49
2026-06-29 13:06:23 +01:00
lyrathorpe 906fae7e7b Merge pull request 'feat(ssh): add some needed SSH config' (#45) from feat/ssh-updates into main
CI / flake (push) Successful in 3m23s
Reviewed-on: #45
2026-06-29 11:20:36 +01:00
lyrathorpe 1230e39aac feat(ssh): add some needed SSH config
CI / flake (pull_request) Successful in 3m28s
2026-06-29 11:15:40 +01:00
lyrathorpe 9ad8567bdf Merge pull request 'fix(wsl): remove non-existent interop options' (#43) from fix/wsl-interop-options into main
CI / flake (push) Successful in 3m31s
Reviewed-on: #43
2026-06-24 15:38:36 +01:00
lyrathorpe eef7203621 fix(darwin): emu2 isn't in brew, i installed it manually (#41)
CI / flake (push) Successful in 3m37s
Reviewed-on: #41
Co-authored-by: Lyra Thorpe <iam@emmathe.dev>
Co-committed-by: Lyra Thorpe <iam@emmathe.dev>
2026-06-23 16:40:10 +01:00
lyrathorpeandEmma Thorpe 6064a5a1a7 feat(editor): add nvim-cmp completion keymaps (#40)
CI / flake (push) Successful in 3m39s
Closes #39.

nvim-cmp ships no default keymaps, so the completion menu (including the path source) appeared but nothing could navigate or accept it.

Bind the usual set in `plugins.cmp.settings.mapping`:

- `<C-n>` / `<C-p>` and `<Tab>` / `<S-Tab>` — select next/previous
- `<C-Space>` — open the menu
- `<C-e>` — abort
- `<CR>` — confirm with `select = false` (bare Enter stays a newline unless an entry is highlighted)

Documentation: `KEYBINDINGS.md` gains a completion-menu table under the Neovim section covering these keys, and the Neovim summary is reworded accordingly.

Verified by rendering the generated nvim config: the mappings emit as raw Lua (e.g. `["<CR>"] = cmp.mapping.confirm({ select = false })`), not quoted strings.

---------

Co-authored-by: Emma Thorpe <emma.thorpe@citrix.com>
Reviewed-on: #40
2026-06-23 16:33:12 +01:00
lyrathorpe df7747f876 Merge pull request 'feat(darwin): add apps i need' (#38) from feat/add-dosbox into main
CI / flake (push) Successful in 4m13s
Reviewed-on: #38
2026-06-23 16:26:30 +01:00
lyrathorpe 1e0485efde fix(darwin): emu2 not available via nixpkgs, use brew
CI / flake (pull_request) Successful in 3m55s
2026-06-23 16:22:20 +01:00
lyrathorpe fce75e9f4c feat(darwin): add apps i need
CI / flake (pull_request) Failing after 3m26s
dosbox and emu2, psion time
2026-06-23 16:16:07 +01:00
lyrathorpe e6e280cc73 Merge pull request 'chore(deps): update gitea actions to v7' (#34) from renovate/major-gitea-actions into main
CI / flake (push) Successful in 3m43s
Reviewed-on: #34
2026-06-22 16:28:10 +01:00
lyrathorpe 44245d16a2 Merge pull request 'fix(editor): use renamed catppuccin-mocha lualine theme' (#37) from fix/lualine-catppuccin-theme into main
CI / flake (push) Successful in 3m50s
Reviewed-on: #37
2026-06-22 15:39:09 +01:00
lyrathorpe 1e49af53e7 Merge pull request 'feat: Raspberry Pi 5 host (Docker host + nginx reverse proxy)' (#32) from feat/rpi5-host into main
CI / flake (push) Successful in 3m50s
Reviewed-on: #32
2026-06-16 14:12:48 +01:00
lyrathorpe 5f4fd8d74e Merge pull request 'Feat/extra needed apps' (#29) from feat/extra-needed-apps into main
CI / flake (push) Successful in 3m38s
Reviewed-on: #29
2026-06-16 11:56:13 +01:00
lyrathorpe d8c4f6bb0b Merge pull request 'fix(renovaterc.json): ensure lockfile updates auto merge' (#30) from fix/renovate-automerge into main
CI / flake (push) Successful in 3m36s
Reviewed-on: #30
2026-06-16 11:55:35 +01:00
lyrathorpe e125296015 feat(shell.nix): add htop installation 2026-06-16 10:55:57 +01:00
lyrathorpe e0b3eb2393 feat(git.nix): add GitHub and Gitea CLI 2026-06-16 10:50:49 +01:00
lyrathorpe 35c3b08862 fix(renovaterc.json): ensure lockfile updates auto merge 2026-06-16 10:44:46 +01:00
lyrathorpe 6730efa3ce Merge pull request 'Feat/edaas renovate review timer' (#28) from feat/edaas-renovate-review-timer into main
CI / flake (push) Successful in 3m55s
Reviewed-on: #28
2026-06-16 10:40:50 +01:00
lyrathorpe fc459ddb1b Merge pull request 'chore(deps): lock file maintenance flake inputs' (#27) from renovate/lock-file-maintenance-flake-inputs into main
CI / flake (push) Successful in 4m28s
Reviewed-on: #27
2026-06-16 10:37:36 +01:00
lyrathorpe a40558d35e Merge pull request 'Chore/darwin config fixes' (#26) from chore/darwin-config-fixes into main
CI / flake (push) Successful in 3m13s
Reviewed-on: #26
2026-06-10 18:08:49 +01:00
lyrathorpe ee319d2d3e Merge pull request 'Feat/claude code config' (#25) from feat/claude-code-config into main
CI / flake (push) Successful in 3m14s
Reviewed-on: #25
2026-06-10 17:35:44 +01:00
lyrathorpe 6ee8852c3b Merge pull request 'Feat/audit improvements' (#24) from feat/audit-improvements into main
CI / flake (push) Successful in 3m38s
Reviewed-on: #24
2026-06-10 17:08:25 +01:00
lyrathorpe 9a095abd5c Merge pull request 'fix(zsh): move dotDir to XDG (~/.config/zsh), preserve history' (#23) from fix/zsh-xdg-dotdir into main
CI / flake (push) Successful in 2m54s
Reviewed-on: #23
2026-06-10 15:58:47 +01:00
lyrathorpe fa6f747467 Merge pull request 'Feat/neovim' (#22) from feat/neovim into main
CI / flake (push) Successful in 2m50s
Reviewed-on: #22
2026-06-10 15:49:09 +01:00
lyrathorpe 88a23937ba Merge pull request 'Feat/repo improvements' (#21) from feat/repo-improvements into main
CI / flake (push) Successful in 2m16s
Reviewed-on: #21
2026-06-10 15:11:18 +01:00
lyrathorpe f029c1cf67 Merge pull request 'Feat/shell tmux git tooling' (#20) from feat/shell-tmux-git-tooling into main
CI / flake (push) Successful in 2m19s
Reviewed-on: #20
2026-06-10 14:40:39 +01:00
lyrathorpe 5f4b16d64e Merge pull request 'ci: evaluate hosts discovered from the flake, not a hard-coded list' (#19) from fix/ci-dynamic-host-eval into main
CI / flake (push) Successful in 2m4s
Reviewed-on: #19
2026-06-10 10:47:32 +01:00
lyrathorpe 9d0e69f916 Merge pull request 'fix(firefox): silence configPath and pkgs.system deprecation warnings' (#18) from fix/firefox-config-warnings into main
CI / flake (push) Failing after 1m1s
Reviewed-on: #18
2026-06-10 10:37:30 +01:00
lyrathorpe 9bc67eb829 Merge pull request 'Feat/t400 and macpro31 hosts' (#17) from feat/t400-and-macpro31-hosts into main
CI / flake (push) Failing after 1m1s
Reviewed-on: #17
2026-06-09 21:35:09 +01:00
lyrathorpe 578e045a53 feat(macpro): add hardware config 2026-06-09 17:53:57 +01:00
lyrathorpe 2b025e62e2 Merge pull request 'fix(edaas): get Linux to Windows interop enabled' (#16) from fix/WSL-PATH-interop into main
CI / flake (push) Successful in 2m16s
Reviewed-on: #16
2026-06-09 13:44:44 +01:00
lyrathorpe 30cc9c9030 Merge pull request 'chore(deps): lock file maintenance flake inputs' (#15) from renovate/lock-file-maintenance-flake-inputs into main
CI / flake (push) Successful in 2m14s
Reviewed-on: #15
2026-06-09 13:25:54 +01:00
lyrathorpe 7436d64447 Merge pull request 'Chore/nixfiles review fixes' (#14) from chore/nixfiles-review-fixes into main
CI / flake (push) Successful in 2m15s
Reviewed-on: #14
2026-06-04 15:02:07 +01:00
lyrathorpe 94fc253f68 Merge pull request 'fix(wsl): disable systemd-ssh-proxy ssh_config include' (#13) from fix/wsl-ssh-systemd-proxy-include into main
CI / flake (push) Successful in 1m58s
Reviewed-on: #13
2026-06-04 13:26:19 +01:00
lyrathorpe 775fdba160 Merge pull request 'feat(darwin): declare Mac App Store apps' (#11) from feat/darwin-mas-apps into main
CI / flake (push) Successful in 1m45s
Reviewed-on: #11
2026-06-02 17:36:10 +01:00
lyrathorpe 110890508f feat: also include hass and infuse
CI / flake (pull_request) Successful in 1m46s
2026-06-02 17:34:46 +01:00
lyrathorpe 27e12990f4 feat: add mas
CI / flake (push) Successful in 1m58s
2026-06-02 17:33:06 +01:00
lyrathorpe eeb1c72d7f Merge pull request 'fix(home-manager): back up clobbered dotfiles on activation' (#10) from fix/hm-dotfile-backup into main
CI / flake (push) Successful in 1m52s
Reviewed-on: #10
2026-06-02 17:30:29 +01:00
lyrathorpe c339b42b45 fix: enable homebrew auto-migrate
CI / flake (push) Successful in 1m50s
2026-06-02 17:21:48 +01:00
lyrathorpe 0360442d44 Merge pull request 'Feat/nix darwin' (#9) from feat/nix-darwin into main
CI / flake (push) Successful in 1m46s
Reviewed-on: #9
2026-06-02 17:15:08 +01:00
lyrathorpe a81064f086 Merge pull request 'chore(deps): update gitea actions (major)' (#6) from renovate/major-gitea-actions into main
CI / flake (push) Successful in 1m57s
Reviewed-on: #6
2026-06-02 17:11:50 +01:00
lyrathorpe 03101eb666 Merge pull request 'ci: only run on nix-related changes' (#8) from ci/nix-path-filter into main
CI / flake (push) Successful in 1m56s
Reviewed-on: #8
2026-06-02 17:09:51 +01:00
lyrathorpe a7e4b8f093 Merge pull request 'fix(renovate): fix auto-discover' (#4) from fix/renovate into main
CI / flake (push) Successful in 2m3s
Reviewed-on: #4
2026-06-02 16:43:00 +01:00
lyrathorpe d1d0052c02 fix(renovate): fix auto-discover
CI / flake (pull_request) Successful in 1m51s
2026-06-02 16:42:47 +01:00
lyrathorpe 66555c0416 Merge pull request 'Ci/gitea actions and renovate' (#3) from ci/gitea-actions-and-renovate into main
CI / flake (push) Successful in 2m3s
Reviewed-on: #3
2026-06-02 16:34:44 +01:00
lyrathorpe 826ef58a9d Merge pull request 'fix(edaas): allow edaas to load ssh-agent' (#2) from fix/WSL-ssh-agent into main
Reviewed-on: #2
2026-06-02 16:23:16 +01:00
lyrathorpe b9f06a732f Merge pull request 'Refactor/rename config dir to lyrathorpe' (#1) from refactor/rename-config-dir-to-lyrathorpe into main
Reviewed-on: #1
2026-06-02 16:10:50 +01:00
lyrathorpe 57a5fd3b45 fix: make vim colours sane and correct 2025-06-20 07:19:01 -07:00
lyrathorpe 5ed5363fe1 feat: add tmux and git work config 2025-06-20 07:19:01 -07:00
lyrathorpe 3a9407fc9d feat: make multi-file work, though not pretty 2025-06-20 07:19:01 -07:00
lyrathorpe bed08ad165 fix: try breaking it out different 2025-06-20 07:19:01 -07:00
lyrathorpe c1b3d78213 feat: split out configuration 2025-06-20 07:19:01 -07:00
lyrathorpe 934769ba71 feat: move work stuff to module 2025-06-20 07:19:01 -07:00
lyrathorpe 1cc633bb67 feat: add initial suport for EDaaS setup at work 2025-06-20 07:19:01 -07:00
lyrathorpe 8c8faa5d3e misc: update git from MBP 2025-05-29 12:56:38 +01:00
lyrathorpe 6ca9a44e24 fix things 2025-05-21 20:03:01 +01:00
lyrathorpe efaf003462 fix submodule 2025-05-21 19:53:56 +01:00
lyrathorpe 04929cacfc remove old files 2025-05-21 19:48:14 +01:00
lyrathorpe 56aa234efe Add Nix files 2025-05-21 19:47:51 +01:00