mirror of
https://github.com/nix-community/home-manager.git
synced 2025-11-08 11:36:05 +01:00
zsh: source session variable file directly
Right now we load `hm-session-vars.sh` from `config.home.profileDirectory`, generally resulting in the following code being generated in `zshenv`: ``` . "/etc/profiles/per-user/<username>/etc/profile.d/hm-session-vars.sh" ``` This is problematic in a few situations. For example, when entering a `distrobox` environment I got the following error: ``` /home/<username>/.zshenv:.:2: no such file or directory: /etc/profiles/per-user/<username>/etc/profile.d/hm-session-vars.sh ``` Instead, let's point to the path directly to the `/nix/store` by using `config.home.sessionVariablesPackage` instead. This is more robust and it is more consistent with other things we source in ZSH.
This commit is contained in:
parent
12fa8548fe
commit
9e0453a9b0
2 changed files with 3 additions and 3 deletions
|
|
@ -33,8 +33,8 @@
|
|||
assertFileContains home-files/.zlogout 'logoutExtra'
|
||||
assertFileContains home-files/.zshenv 'envExtra'
|
||||
# make sure we are loading the environment variables
|
||||
assertFileContains home-files/.zshenv \
|
||||
'. "/home/hm-user/.nix-profile/etc/profile.d/hm-session-vars.sh"'
|
||||
assertFileContains $(normalizeStorePaths home-files/.zshenv) \
|
||||
'/nix/store/00000000000000000000000000000000-hm-session-vars.sh/etc/profile.d/hm-session-vars.sh'
|
||||
assertFileContains home-files/.zshenv \
|
||||
'export FOO="bar"'
|
||||
'';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue