wrapeprs/fish: cleanup

This commit is contained in:
Nikodem Rabuliński 2024-02-10 17:16:34 +01:00
parent fc4185d65e
commit 742e18c376
4 changed files with 35 additions and 46 deletions

11
flake.lock generated
View file

@ -689,15 +689,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1702396227, "lastModified": 1707514093,
"narHash": "sha256-JTgwZK6m3Lt1LrjgWdl5+9RyDlAI9mzH3QHFMY8RwVY=", "narHash": "sha256-vrESSBhoRgEnAglfr30Vd1lzuS4pX/xLjoSj78oQKOc=",
"owner": "viperML", "owner": "nrabulinski",
"repo": "wrapper-manager", "repo": "wrapper-manager",
"rev": "3a4c510ffb9f01fc7cab5e23f5ae818d72a66e1a", "rev": "01b80d8ea37839a7614177d59f06eb88fbe30fd2",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "viperML", "owner": "nrabulinski",
"ref": "wrap-certain-programs",
"repo": "wrapper-manager", "repo": "wrapper-manager",
"type": "github" "type": "github"
} }

View file

@ -78,7 +78,9 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
wrapper-manager = { 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"; inputs.nixpkgs.follows = "nixpkgs";
}; };
wrapper-manager-hm-compat = { wrapper-manager-hm-compat = {

View file

@ -4,16 +4,9 @@
inputs', inputs',
... ...
}: let }: let
argsModule = {
_module.args = {
inherit inputs';
inherit inputs;
};
};
wrapped = inputs.wrapper-manager-hm-compat.lib { wrapped = inputs.wrapper-manager-hm-compat.lib {
inherit pkgs; inherit pkgs;
modules = [ modules = [
argsModule
# ./starship # ./starship
./helix ./helix
# TODO: Enable again # TODO: Enable again
@ -21,20 +14,13 @@
./fish ./fish
./wezterm ./wezterm
]; ];
specialArgs = {
inherit inputs inputs';
};
}; };
all-packages = wrapped.config.build.packages; 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 { in {
packages = packages =
all-packages all-packages;
// {
inherit fish;
};
}; };
} }

View file

@ -1,33 +1,33 @@
{ {
config,
lib, lib,
pkgs, pkgs,
... ...
}: { }: {
# TODO: Fix once https://github.com/viperML/wrapper-manager/issues/14 is resolved
wrappers.fish = { wrappers.fish = {
basePackage = pkgs.runCommandNoCC "fish-binary" {} '' basePackage = pkgs.fish;
install -D -m555 ${lib.getExe pkgs.fish} "$out/bin/fish" wrapByDefault = false;
'';
extraWrapperFlags = "--inherit-argv0";
prependFlags = let programs.fish = {config, ...}: {
# Can't rely on pathAdd because fish used as login shell will ignore the variables the wrapper sets up extraWrapperFlags = "--inherit-argv0";
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}
source ${./prompt.fish} prependFlags = let
source ${./config.fish} # Can't rely on pathAdd because fish used as login shell will ignore the variables the wrapper sets up
''; path-add-lines =
in [ lib.concatMapStringsSep "\n"
"-C" (pkg: "fish_add_path --path --prepend '${lib.getExe' pkg ""}'")
"source ${config-fish}" 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];
};
}; };
} }