diff options
Diffstat (limited to 'modules/scripts/default.nix')
| -rw-r--r-- | modules/scripts/default.nix | 57 |
1 files changed, 30 insertions, 27 deletions
diff --git a/modules/scripts/default.nix b/modules/scripts/default.nix index 3fea3df..68b4000 100644 --- a/modules/scripts/default.nix +++ b/modules/scripts/default.nix @@ -1,39 +1,42 @@ { config, lib, + pkgs, ... }: # Scripts - Home directory shell scripts (deep-clean, screen-recording, system-monitor) +let + mkScript = + name: path: + pkgs.writeShellScriptBin name '' + #!${ + if config.tools.zsh.enable then (lib.getExe config.programs.zsh.package) else "#!/usr/bin/env sh" + } + ${builtins.readFile path} + ''; +in { config = { - home.sessionPath = [ - "${config.home.homeDirectory}/scripts" - ]; + home.packages = [ + # Always included + (mkScript "deep-clean" ./deep-clean.sh) + + # Conditional scripts (requies some tools) + (lib.mkIf (config.tools.ffmpeg.enable && config.tools.slop.enable) ( + mkScript "screen-recording" ./screen-recording.sh + )) - home.file = - let - shellScript = path: { - text = '' - #!${ - if config.tools.zsh.enable then (lib.getExe config.programs.zsh.package) else "#!/usr/bin/env sh" - } - ${builtins.readFile path} - ''; - executable = true; - }; - in - { - "scripts/deep-clean" = shellScript ./deep-clean.sh; - "scripts/screen-recording" = lib.mkIf (config.tools.ffmpeg.enable && config.tools.slop.enable) ( - shellScript ./screen-recording.sh - ); - "scripts/system-monitor" = lib.mkIf ( - config.tools.bottom.enable - && config.tools.nvtop.enable - && config.tools.tmux.enable - && config.tools.kitty.enable - ) (shellScript ./system-monitor.sh); - }; + (lib.mkIf ( + config.tools.bottom.enable + && config.tools.nvtop.enable + && config.tools.tmux.enable + && config.tools.kitty.enable + ) (mkScript "system-monitor" ./system-monitor.sh)) + + (lib.mkIf (config.tools.openvpn.enable && config.tools.fzf.enable) ( + mkScript "vpn-connect" ./vpn-connect.sh + )) + ]; }; } |
