Add a pathsToLink option.

This commit is contained in:
r-vdp 2023-06-17 00:42:19 +02:00
parent 938a4d0115
commit 7ab72d8c7f
No known key found for this signature in database

View file

@ -6,6 +6,11 @@
type = lib.types.listOf lib.types.package; type = lib.types.listOf lib.types.package;
default = [ ]; default = [ ];
}; };
pathsToLink = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
};
}; };
config = config =
@ -13,22 +18,28 @@
pathDir = "/run/system-manager/sw"; pathDir = "/run/system-manager/sw";
in in
{ {
environment.etc = { environment = {
"profile.d/system-manager-path.sh".source = pathsToLink = [
pkgs.writeText "system-manager-path.sh" '' "/bin"
export PATH=${pathDir}/bin/:''${PATH} ];
'';
# TODO: figure out how to properly add fish support. We could start by etc = {
# looking at what NixOS and HM do to set up the fish env. "profile.d/system-manager-path.sh".source =
#"fish/conf.d/system-manager-path.fish".source = pkgs.writeText "system-manager-path.sh" ''
# pkgs.writeTextFile { export PATH=${pathDir}/bin/:''${PATH}
# name = "system-manager-path.fish"; '';
# executable = true;
# text = '' # TODO: figure out how to properly add fish support. We could start by
# set -gx PATH "${pathDir}/bin/" $PATH # looking at what NixOS and HM do to set up the fish env.
# ''; #"fish/conf.d/system-manager-path.fish".source =
# }; # pkgs.writeTextFile {
# name = "system-manager-path.fish";
# executable = true;
# text = ''
# set -gx PATH "${pathDir}/bin/" $PATH
# '';
# };
};
}; };
systemd.services.system-manager-path = { systemd.services.system-manager-path = {
@ -44,7 +55,7 @@
pathDrv = pkgs.buildEnv { pathDrv = pkgs.buildEnv {
name = "system-manager-path"; name = "system-manager-path";
paths = config.environment.systemPackages; paths = config.environment.systemPackages;
pathsToLink = [ "/bin" ]; inherit (config.environment) pathsToLink;
}; };
in in
'' ''