fix(devkit): paths being overriden instead of appended

This commit is contained in:
Guz
2025-02-12 20:31:46 -03:00
parent 6210ec6cc9
commit c87b164c3c
7 changed files with 45 additions and 50 deletions

View File

@@ -8,5 +8,7 @@
shell = zsh;
addPath = [ghostty git lazygit starship yazi zsh];
};
zsh = pkgs.callPackage ./zsh {inherit starship;};
zsh = pkgs.callPackage ./zsh {
addPath = [git lazygit starship yazi];
};
}

View File

@@ -4,7 +4,6 @@
pkgs,
lib,
ghostty ? pkgs.ghostty,
paths ? [],
}: let
colors = import ../colors.nix;
theme = pkgs.writeText "theme" ''
@@ -37,14 +36,11 @@
nativeBuildInputs = [makeWrapper];
postBuild = ''
wrapProgram $out/bin/ghostty ${
if (builtins.length paths) > 0
then "$PATH:${lib.makeBinPath paths}"
else ""
} --add-flags '--theme=${theme}'
wrapProgram $out/bin/ghostty \
--add-flags '--theme=${theme}'
'';
}
// {inherit (ghostty) name pname meta;});
// {inherit (ghostty) name pname meta man shell_integration terminfo;});
in
pkgs.stdenv.mkDerivation (rec {
name = drv.name;
@@ -64,4 +60,4 @@ in
cp ${desktopEntry}/share/applications/${pname}.desktop $out/share/applications/${pname}.desktop
'';
}
// {inherit (ghostty) meta;})
// {inherit (ghostty) meta man shell_integration terminfo;})

View File

@@ -4,7 +4,6 @@
pkgs,
lib,
git ? pkgs.git,
paths ? [],
}: let
drv = symlinkJoin ({
paths = git;
@@ -12,24 +11,22 @@
nativeBuildInputs = [makeWrapper];
postBuild = ''
wrapProgram $out/bin/git ${
if (builtins.length paths) > 0
then "$PATH:${lib.makeBinPath paths}"
else ""
} \
--set-default 'GIT_CONFIG_COUNT' 6 \
--set-default 'GIT_CONFIG_KEY_0' 'core.pager' \
--set-default 'GIT_CONFIG_VALUE_0' '${lib.getExe pkgs.delta}' \
--set-default 'GIT_CONFIG_KEY_1' 'credentials.helper' \
--set-default 'GIT_CONFIG_VALUE_1' 'store' \
--set-default 'GIT_CONFIG_KEY_2' 'interactive.diffFilter' \
--set-default 'GIT_CONFIG_VALUE_2' '${lib.getExe pkgs.delta} --color-only' \
--set-default 'GIT_CONFIG_KEY_3' 'signing.signByDefault' \
--set-default 'GIT_CONFIG_VALUE_3' 'true' \
--set-default 'GIT_CONFIG_KEY_4' 'user.email' \
--set-default 'GIT_CONFIG_VALUE_4' 'contact@guz.one' \
--set-default 'GIT_CONFIG_KEY_5' 'user.name' \
--set-default 'GIT_CONFIG_VALUE_5' 'Gustavo "Guz" L de Mello'
wrapProgram $out/bin/git \
--set-default 'GIT_CONFIG_COUNT' 7 \
--set-default 'GIT_CONFIG_KEY_0' 'core.pager' \
--set-default 'GIT_CONFIG_VALUE_0' '${lib.getExe pkgs.delta}' \
--set-default 'GIT_CONFIG_KEY_1' 'credentials.helper' \
--set-default 'GIT_CONFIG_VALUE_1' 'store' \
--set-default 'GIT_CONFIG_KEY_2' 'interactive.diffFilter' \
--set-default 'GIT_CONFIG_VALUE_2' '${lib.getExe pkgs.delta} --color-only' \
--set-default 'GIT_CONFIG_KEY_3' 'signing.signByDefault' \
--set-default 'GIT_CONFIG_VALUE_3' 'true' \
--set-default 'GIT_CONFIG_KEY_4' 'user.email' \
--set-default 'GIT_CONFIG_VALUE_4' 'contact@guz.one' \
--set-default 'GIT_CONFIG_KEY_5' 'user.name' \
--set-default 'GIT_CONFIG_VALUE_5' 'Gustavo "Guz" L de Mello' \
--set-default 'GIT_CONFIG_KEY_6' 'commit.gpgsign' \
--set-default 'GIT_CONFIG_VALUE_6' 'true'
'';
}
// {inherit (git) name pname meta;});

View File

@@ -4,7 +4,6 @@
pkgs,
lib,
lazygit ? pkgs.lazygit,
paths ? [],
settings ? {},
}: let
# YAML is a superset of JSON, so any JSON is valid YAML.
@@ -33,11 +32,8 @@
nativeBuildInputs = [makeWrapper];
postBuild = ''
wrapProgram $out/bin/lazygit ${
if (builtins.length paths) > 0
then "$PATH:${lib.makeBinPath paths}"
else ""
} --add-flags '--use-config-file' --add-flags '${cfg}'
wrapProgram $out/bin/lazygit \
--add-flags '--use-config-file' --add-flags '${cfg}'
'';
}
// {inherit (lazygit) name pname meta;});

View File

@@ -4,7 +4,6 @@
pkgs,
lib,
yazi ? pkgs.yazi,
paths ? [],
}: let
drv = symlinkJoin ({
paths = yazi;
@@ -12,11 +11,8 @@
nativeBuildInputs = [makeWrapper];
postBuild = ''
wrapProgram $out/bin/yazi ${
if (builtins.length paths) > 0
then "$PATH:${lib.makeBinPath paths}"
else ""
} --set-default YAZI_CONFIG_HOME ${./.}
wrapProgram $out/bin/yazi \
--set-default YAZI_CONFIG_HOME ${./.}
'';
}
// {inherit (yazi) name pname meta;});

View File

@@ -50,14 +50,20 @@
'';
drv = symlinkJoin ({
paths = zellij;
paths = pkgs.writeShellScriptBin "zellij" ''
${
if (builtins.length addPath) > 0
then "export PATH=\"$PATH:${lib.makeBinPath addPath}\""
else ""
}
${lib.getExe zellij} "$@"
'';
nativeBuildInputs = [makeWrapper];
postBuild = ''
wrapProgram $out/bin/zellij \
--set-default ZELLIJ_CONFIG_FILE ${config} \
--set PATH "${lib.makeBinPath addPath}"
--set-default ZELLIJ_CONFIG_FILE ${config}
'';
}
// {inherit (zellij) name pname meta;});

View File

@@ -4,15 +4,11 @@
pkgs,
lib,
zsh ? pkgs.zsh,
starship ? pkgs.starship,
addPath ? [],
# .zshrc
zshrc-prepend ? "",
zshrc-append ? "",
}: let
packages = [
starship
];
zsh-syntax-highlighting = "${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh";
zsh-autosuggestions = "${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh";
@@ -20,13 +16,19 @@
zshrc-append-file = pkgs.writeText ".zshrc_append" zshrc-append;
drv = symlinkJoin ({
paths = zsh;
paths = pkgs.writeShellScriptBin "zsh" ''
${
if (builtins.length addPath) > 0
then "export PATH=\"$PATH:${lib.makeBinPath addPath}\""
else ""
}
${lib.getExe zsh} "$@"
'';
nativeBuildInputs = [makeWrapper];
postBuild = ''
wrapProgram $out/bin/zsh \
--set-default 'PATH' '${lib.makeBinPath packages}:$PATH' \
--set-default 'ZSH_PLUGIN_SYNTAXHIGHLIGHING' '${zsh-syntax-highlighting}' \
--set-default 'ZSH_PLUGIN_AUTOSUGGESTIONS' '${zsh-autosuggestions}' \
--set-default 'ZSHRC_PREPEND' '${zshrc-prepend-file}' \