diff --git a/packages/devkit/default.nix b/packages/devkit/default.nix index b0c3d98..2b45cbb 100644 --- a/packages/devkit/default.nix +++ b/packages/devkit/default.nix @@ -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]; + }; } diff --git a/packages/devkit/ghostty/default.nix b/packages/devkit/ghostty/default.nix index 743bc6c..1f4a347 100644 --- a/packages/devkit/ghostty/default.nix +++ b/packages/devkit/ghostty/default.nix @@ -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;}) diff --git a/packages/devkit/git/default.nix b/packages/devkit/git/default.nix index 67e41b6..cdc4700 100644 --- a/packages/devkit/git/default.nix +++ b/packages/devkit/git/default.nix @@ -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;}); diff --git a/packages/devkit/lazygit/default.nix b/packages/devkit/lazygit/default.nix index 15edda4..3197c93 100644 --- a/packages/devkit/lazygit/default.nix +++ b/packages/devkit/lazygit/default.nix @@ -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;}); diff --git a/packages/devkit/yazi/default.nix b/packages/devkit/yazi/default.nix index ab5a5a5..bbd47b6 100644 --- a/packages/devkit/yazi/default.nix +++ b/packages/devkit/yazi/default.nix @@ -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;}); diff --git a/packages/devkit/zellij/default.nix b/packages/devkit/zellij/default.nix index ac97607..ed80e79 100644 --- a/packages/devkit/zellij/default.nix +++ b/packages/devkit/zellij/default.nix @@ -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;}); diff --git a/packages/devkit/zsh/default.nix b/packages/devkit/zsh/default.nix index 8c5d49b..e697f7d 100644 --- a/packages/devkit/zsh/default.nix +++ b/packages/devkit/zsh/default.nix @@ -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}' \