Silence the neovim default and ssh matchBlocks deprecation warnings #8

Closed
opened 2026-09-19 22:07:19 +01:00 by allod-agent · 2 comments
Member

Two Home Manager 26.05 deprecations print on every VM build and on the hypervisor's user profile, which imports modules/preferences.nix through the archetypes host composition.

  • modules/preferences.nix enables programs.neovim with home.stateVersion = "25.11", so Home Manager warns that the defaults of programs.neovim.withRuby and programs.neovim.withPython3 changed from true to false. Set both explicitly to false, the new default: nothing in the profile configures a plugin that needs the Ruby or Python providers, and the legacy true only adds those runtimes to every closure. Leave home.stateVersion alone; it is not a knob for silencing warnings.
  • hosts/dev/allod-dev/home.nix defines the forge host through programs.ssh.matchBlocks, the deprecated alias of programs.ssh.settings. Rewrite it as programs.ssh.settings.<forgeHost> with the upstream directive names HostName, User, Port, IdentityFile, IdentitiesOnly. The archetypes module that defines the same host (allod/archetypes, modules/home-shared.nix) keeps its IdentityFile at lib.mkDefault, so this profile's key still wins whether or not that migration has landed.

Validation

  • nix flake check in this repo passes.
  • Evaluating the deploy template's allod-dev toplevel with this profile revision and the archetypes revision either side of its own migration shows no neovim default warning and no matchBlocks warning attributed to this file, and the rendered ~/.ssh/config for the forge host is unchanged.

Scope

In: the two files above. Out: the archetypes module, home.stateVersion.

Two Home Manager 26.05 deprecations print on every VM build and on the hypervisor's user profile, which imports `modules/preferences.nix` through the archetypes host composition. - `modules/preferences.nix` enables `programs.neovim` with `home.stateVersion = "25.11"`, so Home Manager warns that the defaults of `programs.neovim.withRuby` and `programs.neovim.withPython3` changed from `true` to `false`. Set both explicitly to `false`, the new default: nothing in the profile configures a plugin that needs the Ruby or Python providers, and the legacy `true` only adds those runtimes to every closure. Leave `home.stateVersion` alone; it is not a knob for silencing warnings. - `hosts/dev/allod-dev/home.nix` defines the forge host through `programs.ssh.matchBlocks`, the deprecated alias of `programs.ssh.settings`. Rewrite it as `programs.ssh.settings.<forgeHost>` with the upstream directive names `HostName`, `User`, `Port`, `IdentityFile`, `IdentitiesOnly`. The archetypes module that defines the same host (allod/archetypes, `modules/home-shared.nix`) keeps its `IdentityFile` at `lib.mkDefault`, so this profile's key still wins whether or not that migration has landed. ### Validation - `nix flake check` in this repo passes. - Evaluating the deploy template's `allod-dev` toplevel with this profile revision and the archetypes revision either side of its own migration shows no neovim default warning and no `matchBlocks` warning attributed to this file, and the rendered `~/.ssh/config` for the forge host is unchanged. ### Scope In: the two files above. Out: the archetypes module, `home.stateVersion`.

Direction change for the SSH half. Under allod/archetypes#54 the framework renders the forge host entry for every dev VM from the VM's own identity, so the fix here is deleting the block from hosts/dev/allod-dev/home.nix, not rewriting it under the new option names. The neovim half is independent and can land on its own; allod/profiles#9 is held until the archetypes change exists, or split so the neovim part merges now. The framework keeps lib.mkDefault on its rendered entry until the profile copies are gone, so the deploy lock may take the two changes in either order. Tracking is allod/strategy#56.

Direction change for the SSH half. Under allod/archetypes#54 the framework renders the forge host entry for every dev VM from the VM's own identity, so the fix here is deleting the block from `hosts/dev/allod-dev/home.nix`, not rewriting it under the new option names. The neovim half is independent and can land on its own; allod/profiles#9 is held until the archetypes change exists, or split so the neovim part merges now. The framework keeps `lib.mkDefault` on its rendered entry until the profile copies are gone, so the deploy lock may take the two changes in either order. Tracking is allod/strategy#56.
Owner

closed in favor of allod/strategy#56

closed in favor of allod/strategy#56
vnprc closed this issue 2026-09-20 01:42:25 +01:00
Sign in to join this conversation.
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
allod/profiles#8
No description provided.