Previously, config.programs.zsh.dotDir prepended strings with $HOME. This caused issues where $HOME is inconsistently resolved in time for the evaluation of the option. The handling of this variable is also inconsistent with how paths are handled elsewhere, including within the same module, where config.programs.zsh.history.path does not mutate the supplied string.
This change prepends config.home.homeDirectory to relative paths, while assigning absolute paths unchanged. Tests for both cases are added.
Closes #5100
Checklist
[x] Change is backwards compatible.
[x] Code formatted with ./format.
[x] Code tested through nix-shell --pure tests -A run.all or nix develop --ignore-environment .#all using Flakes.
Description
Previously,
config.programs.zsh.dotDir
prepended strings with$HOME
. This caused issues where$HOME
is inconsistently resolved in time for the evaluation of the option. The handling of this variable is also inconsistent with how paths are handled elsewhere, including within the same module, whereconfig.programs.zsh.history.path
does not mutate the supplied string.This change prepends
config.home.homeDirectory
to relative paths, while assigning absolute paths unchanged. Tests for both cases are added.Closes #5100
Checklist
[x] Change is backwards compatible.
[x] Code formatted with
./format
.[x] Code tested through
nix-shell --pure tests -A run.all
ornix develop --ignore-environment .#all
using Flakes.[x] Test cases updated/added. See example.
[x] Commit messages are formatted like
See CONTRIBUTING for more information and recent commit messages for examples.
If this PR adds a new module
Maintainer CC