From 742e18c37672c5f1da7d9720b095a4f4b9917f9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sat, 10 Feb 2024 17:16:34 +0100 Subject: [PATCH] wrapeprs/fish: cleanup --- flake.lock | 11 +++++----- flake.nix | 4 +++- wrappers/default.nix | 22 ++++---------------- wrappers/fish/default.nix | 44 +++++++++++++++++++-------------------- 4 files changed, 35 insertions(+), 46 deletions(-) diff --git a/flake.lock b/flake.lock index b16be51..4fb6251 100644 --- a/flake.lock +++ b/flake.lock @@ -689,15 +689,16 @@ ] }, "locked": { - "lastModified": 1702396227, - "narHash": "sha256-JTgwZK6m3Lt1LrjgWdl5+9RyDlAI9mzH3QHFMY8RwVY=", - "owner": "viperML", + "lastModified": 1707514093, + "narHash": "sha256-vrESSBhoRgEnAglfr30Vd1lzuS4pX/xLjoSj78oQKOc=", + "owner": "nrabulinski", "repo": "wrapper-manager", - "rev": "3a4c510ffb9f01fc7cab5e23f5ae818d72a66e1a", + "rev": "01b80d8ea37839a7614177d59f06eb88fbe30fd2", "type": "github" }, "original": { - "owner": "viperML", + "owner": "nrabulinski", + "ref": "wrap-certain-programs", "repo": "wrapper-manager", "type": "github" } diff --git a/flake.nix b/flake.nix index 02f2db8..e5d3c0a 100644 --- a/flake.nix +++ b/flake.nix @@ -78,7 +78,9 @@ inputs.nixpkgs.follows = "nixpkgs"; }; wrapper-manager = { - url = "github:viperML/wrapper-manager"; + # TODO: Move back once https://github.com/viperML/wrapper-manager/issues/14 is resolved + # url = "github:viperML/wrapper-manager"; + url = "github:nrabulinski/wrapper-manager?ref=wrap-certain-programs"; inputs.nixpkgs.follows = "nixpkgs"; }; wrapper-manager-hm-compat = { diff --git a/wrappers/default.nix b/wrappers/default.nix index f59ab87..a949595 100644 --- a/wrappers/default.nix +++ b/wrappers/default.nix @@ -4,16 +4,9 @@ inputs', ... }: let - argsModule = { - _module.args = { - inherit inputs'; - inherit inputs; - }; - }; wrapped = inputs.wrapper-manager-hm-compat.lib { inherit pkgs; modules = [ - argsModule # ./starship ./helix # TODO: Enable again @@ -21,20 +14,13 @@ ./fish ./wezterm ]; + specialArgs = { + inherit inputs inputs'; + }; }; all-packages = wrapped.config.build.packages; - - fish-base = pkgs.fish; - fish-wrapped = all-packages.fish; - fish = pkgs.symlinkJoin { - inherit (fish-base) name meta passthru; - paths = [fish-wrapped fish-base]; - }; in { packages = - all-packages - // { - inherit fish; - }; + all-packages; }; } diff --git a/wrappers/fish/default.nix b/wrappers/fish/default.nix index 33e508d..7451909 100644 --- a/wrappers/fish/default.nix +++ b/wrappers/fish/default.nix @@ -1,33 +1,33 @@ { - config, lib, pkgs, ... }: { - # TODO: Fix once https://github.com/viperML/wrapper-manager/issues/14 is resolved wrappers.fish = { - basePackage = pkgs.runCommandNoCC "fish-binary" {} '' - install -D -m555 ${lib.getExe pkgs.fish} "$out/bin/fish" - ''; - extraWrapperFlags = "--inherit-argv0"; + basePackage = pkgs.fish; + wrapByDefault = false; - prependFlags = let - # Can't rely on pathAdd because fish used as login shell will ignore the variables the wrapper sets up - path-add-lines = - lib.concatMapStringsSep "\n" - (pkg: "fish_add_path --path --prepend '${lib.getExe' pkg ""}'") - config.wrappers.fish.pathAdd; - config-fish = pkgs.writeText "config.fish" '' - ${path-add-lines} + programs.fish = {config, ...}: { + extraWrapperFlags = "--inherit-argv0"; - source ${./prompt.fish} - source ${./config.fish} - ''; - in [ - "-C" - "source ${config-fish}" - ]; + prependFlags = let + # Can't rely on pathAdd because fish used as login shell will ignore the variables the wrapper sets up + path-add-lines = + lib.concatMapStringsSep "\n" + (pkg: "fish_add_path --path --prepend '${lib.getExe' pkg ""}'") + config.pathAdd; + config-fish = pkgs.writeText "config.fish" '' + ${path-add-lines} - pathAdd = with pkgs; [eza bat fzf ripgrep zoxide direnv]; + source ${./prompt.fish} + source ${./config.fish} + ''; + in [ + "-C" + "source ${config-fish}" + ]; + + pathAdd = with pkgs; [eza bat fzf ripgrep zoxide direnv]; + }; }; }