From a97634f5062088f8d4e6d3c06fdf82a87c157167 Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Fri, 22 May 2026 10:41:23 +0100 Subject: fix(nix,zsh): tuicr flake schema + restore XDG_DATA_DIRS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit tuicr's upstream flake uses the legacy 'defaultPackage.' output schema, not 'packages..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). --- dot_config/zsh/dot_zprofile | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'dot_config') 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 -- cgit v1.3.1