1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-12-02 23:21:02 +01:00
Commit graph

14 commits

Author SHA1 Message Date
Thiago Kenji Okada
9e0453a9b0 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.
2025-09-30 07:50:26 -05:00
Austin Horstman
a97df40c19 zsh: envVarsStr fix indentation
Use new indentation support to generate properly indented variables

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-09-28 14:44:14 -05:00
Austin Horstman
3aaf340173 zsh: optimize setOptions with array-based loops
Replace individual setopt statements with array-based loops for cfg.setOptions.
Use lib.hm.zsh.define for consistent array formatting and add unset statements
to clean up temporary variables, improving consistency with other zsh optimizations.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-09-27 13:18:01 -05:00
Benedikt M. Rips
36ad7d25fb
zsh: option to define autoloadable site-functions (#7611)
Add an option to the Zsh module that allows defining autoloadable site functions.
2025-08-05 14:03:10 -05:00
Austin Horstman
471eeaa975 zsh: add khaneliman maintainer
Been active in it and use it a lot.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-28 14:47:42 -05:00
Austin Horstman
e52c6c3da3 zsh: env var assertion for dotdir
Needs to be known at build time. Ensure user doesn't accidentally use
env var in `dotDir`

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-28 14:47:42 -05:00
Austin Horstman
40af7ba06b zsh: relative path deprecation warning
Warn users when they configure a relative path. We want to encourage
using absolute paths and env variables.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-28 14:47:42 -05:00
Kristopher James Kent (kjkent)
21399deff2 zsh: improve dotDir handling
Previously, `config.programs.zsh.dotDir` prepended strings with `$HOME`.
This caused issues like nix-community#5100, 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.

To preserve backwards compatibility, this change prepends
`config.home.homeDirectory` to relative paths, while assigning absolute paths
unchanged. Tests for both cases are added.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-25 13:15:29 -05:00
Austin Horstman
196487c54f zsh: group plugins in a separate directory
Make it more scalable to prevent crowding the main folder.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-12 11:42:00 -05:00
Austin Horstman
26b987cf88 zsh: move deprecated options to separate file
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-12 11:42:00 -05:00
Austin Horstman
80a07bc6f7 zsh: move history to separate file
zsh is incredibly bloated, moving history to separate file

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-12 11:42:00 -05:00
Austin Horstman
3d95ab3cdc zsh: move zprof to separate file
zsh is incredibly bloated, moving zprof to separate file

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-12 11:42:00 -05:00
Austin Horstman
9b76feafd0 zsh: move oh-my-zsh to separate file
zsh is incredibly bloated, moving oh-my-zsh to separate file

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-12 11:42:00 -05:00
Austin Horstman
4fca600cb1 treewide: implement auto importing for modules
Reduce maintenance burden and increase efficiency by automatically
importing modules following a specific convention.

Co-authored-by: awwpotato <awwpotato@voidq.com>
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Renamed from modules/programs/zsh.nix (Browse further)