aboutsummaryrefslogtreecommitdiffstats
path: root/modules/scripts/default.nix
blob: 1de4b619f7a009ac4b26301ffc6611136c97b5b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{
  config,
  lib,
  pkgs,
  ...
}:
{
  imports = [
    ./aria2-run
    ./deep-clean
    ./neomutt-sync
    ./screen-recording
    ./system-monitor
    ./vpn-connect
    ./vpn-disconnect
    ./yazi-file-chooser
  ];

  config = {
    home.packages = lib.filter (x: x != null) (lib.mapAttrsToList (_: s: s.package) config.scripts);

    xdg.desktopEntries = lib.mapAttrs' (
      name: sc:
      lib.nameValuePair name {
        name = sc.desktop.displayName;
        exec = "${lib.getExe config.terminal.kitty.package} --class ${name} -e ${lib.getExe sc.package}";
        icon = "kitty";
        categories = [ "Utility" ];
        terminal = false;
        type = "Application";
      }
    ) (lib.filterAttrs (_: sc: sc.enable && sc.desktop.enable) config.scripts);
  };
}