aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/dot_config
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-22 10:41:23 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-22 10:41:23 +0100
commita97634f5062088f8d4e6d3c06fdf82a87c157167 (patch)
tree0beb87b755281da3d25caa1a8def0a5a2348c755 /dot_config
parent844ef0c37a6f10a1c912707c35dd843c44ea92ba (diff)
downloaddotfiles-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')
-rw-r--r--dot_config/zsh/dot_zprofile9
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