Compare commits

...

13 Commits

Author SHA1 Message Date
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
Emma Thorpe bcabfd49bb fix(wsl): remove non-existent interop options
CI / flake (pull_request) Successful in 3m43s
The NixOS-WSL module's wslConf.interop submodule declares only `enabled`
and `appendWindowsPath`. `register` and `includePath` are not valid
wsl.conf interop keys, and the freeform INI type does not cover keys
nested under the already-declared `interop` group, so they were rejected
as unknown options. Remove them.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 15:33:55 +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
lyrathorpe 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
Emma Thorpe 123032aff9 fix(editor): use renamed catppuccin-mocha lualine theme
CI / flake (pull_request) Successful in 4m11s
catppuccin v2.0.0 renamed its lualine theme files; there is no longer a
plain "catppuccin" theme, only per-flavour files (catppuccin-mocha, etc.)
and catppuccin-nvim. The old name no longer resolved, so lualine fell back
to the auto theme and emitted a notice. Pin to catppuccin-mocha to match
the configured colorscheme flavour.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 15:29:10 +01:00
renovate-bot 94b0b33338 Merge pull request 'chore(deps): lock file maintenance flake inputs' (#35) from renovate/lock-file-maintenance-flake-inputs into main
CI / flake (push) Successful in 3m55s
2026-06-22 00:07:10 +01:00
Renovate Bot d84b35c5ce chore(deps): lock file maintenance flake inputs
renovate/stability-days Updates have not met minimum release age requirement
CI / flake (pull_request) Successful in 4m30s
2026-06-21 23:02:33 +00:00
Renovate Bot 6f3801621f chore(deps): update gitea actions to v7
renovate/stability-days Updates have met minimum release age requirement
CI / flake (pull_request) Successful in 4m29s
2026-06-21 23:01:19 +00:00
6 changed files with 58 additions and 35 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
with: with:
# Full history so the detect step can diff the PR against its base. # Full history so the detect step can diff the PR against its base.
fetch-depth: 0 fetch-depth: 0
Generated
+27 -27
View File
@@ -25,11 +25,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1781409739, "lastModified": 1782014564,
"narHash": "sha256-6dadOVlqPpjy0w4WuwvX+Qx0Kkaabm3tahMrCrr72Rg=", "narHash": "sha256-F/royQHyJAyKWKrV8AaG4Yf1yjzxa+PFk5xvTdvBrzk=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "ef56de5faccb3ac59d95aa31cce551ff72e35bed", "rev": "d6668e34bbce788459883a1097bf0ee170f49c61",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@@ -136,11 +136,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1778507602, "lastModified": 1781733627,
"narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=", "narHash": "sha256-U3yTuGBnmXvXoQI3qkpfEDsn9RovQPAjN7ndRco+3u0=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a", "rev": "3bbec39bc90eadfa031e6f3b77272f3f60803e39",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -177,11 +177,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781319724, "lastModified": 1781981105,
"narHash": "sha256-ZGuxexEMo4Xv28KJ0dX/m/PHN4oZIOnxHZpNTyrvx4M=", "narHash": "sha256-/1nNBbA7PrSQpTc9Qazkhl4kIPg+TNl0CjxS3UQJKlw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "8355f0a16b2dbb06a97959a918af5b239bbe05ae", "rev": "7bfff44b465909f69a442701293bc0badcf476dc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -198,11 +198,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781190061, "lastModified": 1781772065,
"narHash": "sha256-QRMpLbsmlciMGv4yx75FUoIl54K02JbIX1tgdPHPw1s=", "narHash": "sha256-xIbRSwDB1GBAUsWsQZUjudGfAGQt3BOpsWaO/ugVa4w=",
"owner": "nix-darwin", "owner": "nix-darwin",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "f2b3fdb347f91dfd344ad196666a0b0fe8aad05c", "rev": "adda04f0bf4819575b1978c2f8d78401b3c2be12",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -237,11 +237,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781422160, "lastModified": 1782030356,
"narHash": "sha256-W7S8O86bVrw2gaomEwkHStOzmPpnFIHQ6lS4Q2HffJ0=", "narHash": "sha256-h4WpMr455AfRub0FXBaon6Vcpe0waUyJ4GivIW6oyd4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "854d04e2368fb2e9c328a36b3c0a04cd713bfae1", "rev": "3017088b49efd404f78e3b104f553b97e4af786b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -258,11 +258,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781108254, "lastModified": 1781520503,
"narHash": "sha256-acCLKPvXbyLVd8Vui/6GuQp2JQ409riBOe00nr/qe+w=", "narHash": "sha256-XuqQQG1qRyc3o8ld937sDLQNx+QrGV852KJ0dNglJDg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-apple-silicon", "repo": "nixos-apple-silicon",
"rev": "53ae7e036433331013bd7c03ae927da554482816", "rev": "43043ad207529650f9fa68e1705f7cf9c08bfdeb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -278,11 +278,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781168557, "lastModified": 1781622756,
"narHash": "sha256-LOnLQ2tpYF9gqIDDr3+j3DbpJJr/QCH6zPRT2GzEUOE=", "narHash": "sha256-JrPh4M6S7aPsEE9tOENuZrxC6o2szSLlK+t4+nLke9s=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "6358ff76821101c178e3ab4919a62799bfe3652e", "rev": "08018c72174a4df5657f8d94178ac69fb9c243e5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -330,11 +330,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1781074563, "lastModified": 1781577229,
"narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=", "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca", "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -353,11 +353,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1781388570, "lastModified": 1781971008,
"narHash": "sha256-prn8ws642FWX4pEU3Rl6m5QlrJl5MjEMHGfII9Ho9t0=", "narHash": "sha256-T2u2RQZWKvD1J+TgcxjiJr8IymBr/PrUNeAGhMZFZU4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "0e73e3cb254a806d344bd70d996ab77896d3e3a8", "rev": "7afca458f064f166d3a9c98db3b41a984fe46492",
"type": "github" "type": "github"
}, },
"original": { "original": {
+16 -4
View File
@@ -188,10 +188,22 @@ across vim splits and tmux panes seamlessly. Everything else is stock vim, plus:
| `<leader>rn` | Rename symbol (LSP; `<leader>` is `Space`) | | `<leader>rn` | Rename symbol (LSP; `<leader>` is `Space`) |
| `<leader>ca` | Code action (LSP) | | `<leader>ca` | Code action (LSP) |
LSP covers Nix, Lua, Python and Terraform (the work box adds C# and Helm); ### Completion menu (nvim-cmp)
completion (nvim-cmp) appears as you type. Files are formatted on save
(conform-nvim). `:Git` opens fugitive; gitsigns shows gutter signs. which-key Active only while the completion popup is open (it appears as you type, e.g.
pops up after `<leader>` to show the rest. file paths):
| Shortcut | Action |
| ----------------------- | ------------------------------------------------------------------ |
| `Tab` / `Shift`+`Tab` | Select next / previous item |
| `Ctrl`+`n` / `Ctrl`+`p` | Select next / previous item |
| `Ctrl`+`Space` | Open the completion menu |
| `Enter` | Confirm the highlighted item (no auto-select; otherwise a newline) |
| `Ctrl`+`e` | Dismiss the menu |
LSP covers Nix, Lua, Python and Terraform (the work box adds C# and Helm).
Files are formatted on save (conform-nvim). `:Git` opens fugitive; gitsigns
shows gutter signs. which-key pops up after `<leader>` to show the rest.
--- ---
+13 -1
View File
@@ -89,6 +89,18 @@
enable = true; enable = true;
autoEnableSources = true; autoEnableSources = true;
settings = { settings = {
# nvim-cmp ships no default keymaps; without these the menu shows but
# nothing accepts it. confirm uses select=false so a bare <CR> stays a
# newline unless an entry is explicitly highlighted.
mapping = {
"<C-n>" = "cmp.mapping.select_next_item()";
"<C-p>" = "cmp.mapping.select_prev_item()";
"<Tab>" = "cmp.mapping.select_next_item()";
"<S-Tab>" = "cmp.mapping.select_prev_item()";
"<CR>" = "cmp.mapping.confirm({ select = false })";
"<C-Space>" = "cmp.mapping.complete()";
"<C-e>" = "cmp.mapping.abort()";
};
snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end"; snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end";
sources = [ sources = [
{ name = "nvim_lsp"; } { name = "nvim_lsp"; }
@@ -109,7 +121,7 @@
trouble.enable = true; # project-wide diagnostics/quickfix list trouble.enable = true; # project-wide diagnostics/quickfix list
lualine = { lualine = {
enable = true; enable = true;
settings.options.theme = "catppuccin"; settings.options.theme = "catppuccin-mocha";
}; };
comment.enable = true; # gc / gcc comment toggling comment.enable = true; # gc / gcc comment toggling
nvim-autopairs.enable = true; nvim-autopairs.enable = true;
+1
View File
@@ -97,6 +97,7 @@
"llvm@21" "llvm@21"
"lld@21" "lld@21"
"python@3.14" "python@3.14"
"dosbox-staging"
]; ];
# GUI applications. macOS app bundles are managed as casks; nixpkgs darwin # GUI applications. macOS app bundles are managed as casks; nixpkgs darwin
# GUI support is unreliable, so these stay on brew for continuity. # GUI support is unreliable, so these stay on brew for continuity.
-2
View File
@@ -19,9 +19,7 @@
defaultUser = "emmathorpe"; defaultUser = "emmathorpe";
wslConf.automount.root = "/mnt"; wslConf.automount.root = "/mnt";
wslConf.interop.appendWindowsPath = true; wslConf.interop.appendWindowsPath = true;
wslConf.interop.register = true;
wslConf.interop.enabled = true; wslConf.interop.enabled = true;
wslConf.interop.includePath = true;
wslConf.network.generateHosts = false; wslConf.network.generateHosts = false;
startMenuLaunchers = true; startMenuLaunchers = true;
docker-desktop.enable = false; docker-desktop.enable = false;