diff options
| author | 2026-05-22 10:41:23 +0100 | |
|---|---|---|
| committer | 2026-05-22 10:41:23 +0100 | |
| commit | a97634f5062088f8d4e6d3c06fdf82a87c157167 (patch) | |
| tree | 0beb87b755281da3d25caa1a8def0a5a2348c755 /dot_config/zsh/dot_zprofile | |
| parent | 844ef0c37a6f10a1c912707c35dd843c44ea92ba (diff) | |
| download | dotfiles-a97634f5062088f8d4e6d3c06fdf82a87c157167.tar.gz dotfiles-a97634f5062088f8d4e6d3c06fdf82a87c157167.tar.bz2 dotfiles-a97634f5062088f8d4e6d3c06fdf82a87c157167.zip | |
fix(nix,zsh): tuicr flake schema + restore XDG_DATA_DIRS
tuicr's upstream flake uses the legacy 'defaultPackage.<system>' output
schema, not 'packages.<system>.default' — fixes the home-manager switch
error 'attribute packages missing' at nix/flake.nix:28.
zsh: removing the system zsh package took /etc/zsh/zprofile with it,
which used to 'source /etc/profile' and pull in /etc/profile.d/*.sh
(flatpak.sh, nix.sh, etc.). Reconstruct XDG_DATA_DIRS in dot_zprofile
defensively, including per-user + system flatpak exports + nix-profile
share, so 'flatpak update' stops warning and desktop entries from
flatpak/nix-installed apps work in launchers (fuzzel).
Diffstat (limited to 'dot_config/zsh/dot_zprofile')
| -rw-r--r-- | dot_config/zsh/dot_zprofile | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/dot_config/zsh/dot_zprofile b/dot_config/zsh/dot_zprofile index 66e97cd..b0f7089 100644 --- a/dot_config/zsh/dot_zprofile +++ b/dot_config/zsh/dot_zprofile @@ -20,6 +20,15 @@ export XDG_DATA_HOME="$HOME/.local/share" export XDG_STATE_HOME="$HOME/.local/state" export XDG_CACHE_HOME="$HOME/.cache" +# Pull in /etc/profile + /etc/profile.d/*.sh. The Arch zsh package used +# to ship /etc/zsh/zprofile doing exactly this, but we removed system +# zsh in favour of nix's zsh, so we replicate it here. This is how +# flatpak (XDG_DATA_DIRS for app launchers), nix-daemon, locale, etc. +# inject themselves into login shells. Sourced AFTER our PATH setup so +# `typeset -U path` keeps nix-profile/bin + ~/.local/bin at the front +# even if /etc/profile.d snippets try to prepend duplicates. +[[ -r /etc/profile ]] && emulate sh -c 'source /etc/profile' + # ── Locale ──────────────────────────────────────────────────────────────────── export LANG=en_US.UTF-8 |
