From 179af779f495fb2fa98a46abac2318e995055ece Mon Sep 17 00:00:00 2001 From: "Gustavo \"Guz\" L de Mello" Date: Wed, 12 Feb 2025 11:22:27 -0300 Subject: [PATCH] feat(devkit): starship wrapper --- packages/devkit/default.nix | 1 + packages/devkit/starship/config.toml | 0 packages/devkit/starship/default.nix | 39 ++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 packages/devkit/starship/config.toml create mode 100644 packages/devkit/starship/default.nix diff --git a/packages/devkit/default.nix b/packages/devkit/default.nix index f09883c..c76c18f 100644 --- a/packages/devkit/default.nix +++ b/packages/devkit/default.nix @@ -2,4 +2,5 @@ ghostty = pkgs.callPackage ./ghostty {}; git = pkgs.callPackage ./git {}; lazygit = pkgs.callPackage ./lazygit {}; + starship = pkgs.callPackage ./starship {}; } diff --git a/packages/devkit/starship/config.toml b/packages/devkit/starship/config.toml new file mode 100644 index 0000000..e69de29 diff --git a/packages/devkit/starship/default.nix b/packages/devkit/starship/default.nix new file mode 100644 index 0000000..ab348ce --- /dev/null +++ b/packages/devkit/starship/default.nix @@ -0,0 +1,39 @@ +{ + symlinkJoin, + makeWrapper, + pkgs, + lib, + starship ? pkgs.starship, +}: let + drv = symlinkJoin ({ + paths = starship; + + nativeBuildInputs = [makeWrapper]; + + postBuild = '' + wrapProgram $out/bin/starship \ + --set-default 'STARSHIP_CONFIG' '${./config.toml}' + ''; + } + // {inherit (starship) name pname meta;}); +in + pkgs.stdenv.mkDerivation (rec { + name = drv.name; + pname = drv.pname; + + buildCommand = let + desktopEntry = pkgs.makeDesktopItem { + name = pname; + desktopName = name; + exec = "${lib.getExe drv}"; + terminal = true; + }; + in '' + mkdir -p $out/bin + cp ${lib.getExe drv} $out/bin + + mkdir -p $out/share/applications + cp ${desktopEntry}/share/applications/${pname}.desktop $out/share/applications/${pname}.desktop + ''; + } + // {inherit (starship) meta;})