aboutsummaryrefslogtreecommitdiffstats
path: root/modules/scripts/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/scripts/default.nix')
-rw-r--r--modules/scripts/default.nix57
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
+ ))
+ ];
};
}