aboutsummaryrefslogtreecommitdiffstats
path: root/modules/scripts/lib.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/scripts/lib.nix')
-rw-r--r--modules/scripts/lib.nix18
1 files changed, 17 insertions, 1 deletions
diff --git a/modules/scripts/lib.nix b/modules/scripts/lib.nix
index 8b04b5f..cab897d 100644
--- a/modules/scripts/lib.nix
+++ b/modules/scripts/lib.nix
@@ -41,9 +41,13 @@ let
env ? { },
deps ? [ ],
desktop ? null,
+ extraLinks ? [ ],
config,
description ? "",
}:
+ let
+ scriptDrv = mkScript name path description env deps;
+ in
{
options.scripts.${name} = {
enable = lib.mkOption {
@@ -73,10 +77,22 @@ let
moduleConfig = {
scripts.${name} = lib.mkIf config.scripts.${name}.enable (
{
- package = mkScript name path description env deps;
+ package = scriptDrv;
}
// lib.optionalAttrs (desktop != null) { inherit desktop; }
);
+
+ home.file = lib.mkIf config.scripts.${name}.enable (
+ builtins.listToAttrs (
+ map (linkPath: {
+ name = lib.removePrefix "~/" linkPath;
+ value = {
+ source = "${scriptDrv}/bin/${name}";
+ };
+ }) extraLinks
+ )
+ );
+
assertions = [
{
assertion =