diff --git a/patches/217205.patch b/patches/217205.patch deleted file mode 100644 index bd66780a..00000000 --- a/patches/217205.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 8e2e741ab5bdea119a34013b1387eb3f281841cb Mon Sep 17 00:00:00 2001 -From: Lin Jian -Date: Mon, 20 Feb 2023 02:26:31 +0800 -Subject: [PATCH] zsh: set environment variables in zshenv instead of zprofile - -This patch fixes two issues: - -1. The file in which environment variables are set is inconsistent. - - This file sets them in zprofile when programs.zsh.enable is not - set. - - Zsh module sets them in zshenv when programs.zsh.enable is set. - -2. Setting environment variables in zprofile overrides what users set -in .zshenv. See these[1] home-manager[2] issues[3]. - -/etc/profile is also changed to /etc/set-environment. Here is a -comparison: - -Using /etc/profile: -- Pros - - config.environment.shellInit is sourced in all zsh -- Cons - - config.environment.loginShellInit is also sourced in non-login zsh - - config.programs.bash.shellInit is also sourced in all zsh - - config.programs.bash.loginShellInit is also sourced in all zsh - -Using /etc/set-environment: -- Pros - - config.programs.bash.shellInit is not sourced in any zsh - - config.programs.bash.loginShellInit is not sourced in any zsh -- Cons - - config.environment.shellInit is not sourced in any zsh - - config.environment.loginShellInit is not sourced in any zsh - -[1]: https://github.com/nix-community/home-manager/issues/2751#issuecomment-1048682643 -[2]: https://github.com/nix-community/home-manager/issues/2991 -[3]: https://github.com/nix-community/home-manager/issues/3681#issuecomment-1436054233 ---- - .../manual/release-notes/rl-2305.section.md | 2 ++ - pkgs/shells/zsh/default.nix | 28 ++++++++++--------- - 2 files changed, 17 insertions(+), 13 deletions(-) - -diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md -index 3e63ddced6115..b3bf583236de1 100644 ---- a/nixos/doc/manual/release-notes/rl-2305.section.md -+++ b/nixos/doc/manual/release-notes/rl-2305.section.md -@@ -187,6 +187,8 @@ In addition to numerous new and upgraded packages, this release has the followin - The `{aclUse,superUser,disableActions}` attributes have been renamed, `pluginsConfig` now also accepts an attribute set of booleans, passing plain PHP is deprecated. - Same applies to `acl` which now also accepts structured settings. - -+- The `zsh` package changes the way to set environment variables on NixOS systems where `programs.zsh.enable` equals `false`. It now sources `/etc/set-environment` when reading the system-level `zshenv` file. Before, it sourced `/etc/profile` when reading the system-level `zprofile` file. -+ - - The `wordpress` service now takes configuration via the `services.wordpress.sites..settings` attribute set, `extraConfig` is still available to append additional text to `wp-config.php`. - - - To reduce closure size in `nixos/modules/profiles/minimal.nix` profile disabled installation documentations and manuals. Also disabled `logrotate` and `udisks2` services. -diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix -index 5a003b889a04a..3a5a83ad1f8c1 100644 ---- a/pkgs/shells/zsh/default.nix -+++ b/pkgs/shells/zsh/default.nix -@@ -42,7 +42,7 @@ stdenv.mkDerivation { - "--enable-multibyte" - "--with-tcsetpgrp" - "--enable-pcre" -- "--enable-zprofile=${placeholder "out"}/etc/zprofile" -+ "--enable-zshenv=${placeholder "out"}/etc/zshenv" - "--disable-site-fndir" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform && !stdenv.hostPlatform.isStatic) [ - # Also see: https://github.com/buildroot/buildroot/commit/2f32e668aa880c2d4a2cce6c789b7ca7ed6221ba -@@ -64,34 +64,36 @@ stdenv.mkDerivation { - postInstall = '' - make install.info install.html - mkdir -p $out/etc/ -- cat > $out/etc/zprofile < $out/etc/zshenv <