From da54fd0a08cb5d29cf0d52f1688736634ebe03cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Thu, 16 Mar 2023 13:22:29 +0100 Subject: pkgs: fix build failure --- nixos.nix | 35 ++++++++++++++++++++++------------- pkgs.nix | 14 +++++++------- 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/nixos.nix b/nixos.nix index 77b272c..4dc23c9 100644 --- a/nixos.nix +++ b/nixos.nix @@ -7,16 +7,6 @@ overlays: { with lib; let cnf = config.programs.shellrc; zshEnable = config.programs.zsh.enable; - - # Source all files in an appropriate shell directory in every profile - shellInit = dir: '' - for p in $NIX_PROFILES; do - for file in $p/etc/${dir}/*; do - [ -f "$file" ] || continue - . "$file" - done - done - ''; in { options = { programs.shellrc = { @@ -37,12 +27,31 @@ in { { nixpkgs.overlays = overlays; - programs.bash.interactiveShellInit = shellInit "bashrc.d"; - programs.zsh.interactiveShellInit = mkIf zshEnable (shellInit "zshrc.d"); + environment.pathsToLink = ["/etc/shellrc.d" "/etc/bashrc.d"] ++ optional zshEnable "/etc/zshrc.d"; + programs.bash.interactiveShellInit = '' + # Load files provided by packages + for p in $NIX_PROFILES; do + [ -e $p/etc/bashrc.d ] || continue + for file in $p/etc/bashrc.d/*; do + [ -f "$file" ] || continue + . "$file" + done + done + ''; + programs.zsh.interactiveShellInit = mkIf zshEnable '' + # Load files provided by packages + for p in ''${=NIX_PROFILES}; do + [ -e $p/etc/zshrc.d ] || continue + for file in $p/etc/zshrc.d/*; do + [ -f "$file" ] || continue + . "$file" + done + done + ''; } (mkIf cnf.enable { environment.systemPackages = - [pkgs.shellrc-bash] + [pkgs.shellrc-generic pkgs.shellrc-bash] ++ optional cnf.desktop pkgs.shellrc-desktop ++ optional zshEnable pkgs.shellrc-zsh; diff --git a/pkgs.nix b/pkgs.nix index f171859..ec5be7f 100644 --- a/pkgs.nix +++ b/pkgs.nix @@ -19,14 +19,14 @@ shellrc-bash = pkgs.stdenvNoCC.mkDerivation { name = "shellrc-bash"; src = ./.; - propagatedBuildInputs = [shellrcPkgs.shellrc-generic]; + nativeBuildInputs = [pkgs.installShellFiles]; installPhase = '' mkdir -p "$out/etc/bashrc.d" cp -r ./bashrc.d/. "$out/etc/bashrc.d/" cat >"$out/etc/bashrc.d/shellrc" <"$out/etc/zshrc.d/shellrc" <