diff options
| author | 2026-09-21 12:27:01 +0200 | |
|---|---|---|
| committer | 2026-09-21 12:27:01 +0200 | |
| commit | db86c80a9931074c574c88a0a7ea5339c06b34f5 (patch) | |
| tree | bcc1496ca6b41b08f395df248230276e50dfb37b /openspec/changes/fix-deprecation-warnings/proposal.md | |
| parent | f8e84b1e18d39632ead22b7c45fe4e97691bed29 (diff) | |
| download | desktop-flake-db86c80a9931074c574c88a0a7ea5339c06b34f5.tar.gz desktop-flake-db86c80a9931074c574c88a0a7ea5339c06b34f5.tar.bz2 desktop-flake-db86c80a9931074c574c88a0a7ea5339c06b34f5.zip | |
Fix Nix evaluation deprecation warnings
Replace deprecated pkgs.stdenv.isDarwin/isLinux with
pkgs.stdenv.hostPlatform.isDarwin/.isLinux, and explicitly pin
programs.neovim.withRuby/withPython3 = true so the legacy default
doesn't silently change if home.stateVersion is ever bumped. Pure
deprecation fixes, no behavior change.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BBSd4VBfoKHjE1HR3P8kmn
Diffstat (limited to 'openspec/changes/fix-deprecation-warnings/proposal.md')
| -rw-r--r-- | openspec/changes/fix-deprecation-warnings/proposal.md | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/openspec/changes/fix-deprecation-warnings/proposal.md b/openspec/changes/fix-deprecation-warnings/proposal.md new file mode 100644 index 0000000..0f1edb5 --- /dev/null +++ b/openspec/changes/fix-deprecation-warnings/proposal.md | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | ## Why | ||
| 2 | |||
| 3 | `nixos-rebuild`/`home-manager switch` on a real host now emits four evaluation warnings: `stdenv.isDarwin`/`stdenv.isLinux` are deprecated in favor of `stdenv.hostPlatform.isDarwin`/`.isLinux`, and `programs.neovim.withRuby`/`withPython3` warn that their default is changing and asks for an explicit value while `home.stateVersion` stays below "26.05". Left unset, these warnings will keep appearing on every activation, and the neovim providers' actual default would change out from under this flake the moment `stateVersion` is ever bumped, with no record of that being an intentional choice. | ||
| 4 | |||
| 5 | ## What Changes | ||
| 6 | |||
| 7 | - Replace every `pkgs.stdenv.isDarwin`/`pkgs.stdenv.isLinux` usage with `pkgs.stdenv.hostPlatform.isDarwin`/`.isLinux` (`users/tom.nix`, `modules/home/dotfiles.nix`). Pure rename with identical semantics — no behavior change. | ||
| 8 | - Explicitly set `programs.neovim.withRuby = true;` and `programs.neovim.withPython3 = true;` in `modules/home/editor.nix`, pinning today's legacy-default behavior on purpose rather than leaving it implicit and version-dependent. No behavior change. | ||
| 9 | |||
| 10 | ## Capabilities | ||
| 11 | |||
| 12 | ### New Capabilities | ||
| 13 | (none) | ||
| 14 | |||
| 15 | ### Modified Capabilities | ||
| 16 | (none — every change here preserves current externally observable behavior exactly; only the deprecated attribute names and an implicit default become explicit. `.openspec.yaml` sets `skip_specs: true` accordingly.) | ||
| 17 | |||
| 18 | ## Impact | ||
| 19 | |||
| 20 | - Affected code: `users/tom.nix`, `modules/home/dotfiles.nix`, `modules/home/editor.nix`. | ||
| 21 | - Affects every `homeConfigurations`/`nixosConfigurations` output built from the shared home profile, on both NixOS and Darwin. | ||
| 22 | - Out of scope: the "Git tree is dirty" notice in the pasted warnings is expected uncommitted-changes noise from evaluating a local checkout, not a deprecation — not addressed here. Also out of scope: bumping `home.stateVersion` itself, which would pull in a much broader set of home-manager default changes beyond these two neovim options. | ||
