aboutsummaryrefslogtreecommitdiffstats
path: root/modules/scripts/default.nix
blob: abecc3854d3844d370b56a55517b64d462ebb4e1 (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
35
36
37
38
39
40
41
42
43
44
45
46
{
  config,
  lib,
  pkgs,
  ...
}:
{
  imports = [
    ./aria2-run
    ./deep-clean
    ./file-preview
    ./file-preview-clean
    ./fzf-launcher
    ./i3-keybindings
    ./neomutt-sync
    ./screen-recording
    ./system-monitor
    ./vpn-connect
    ./vpn-disconnect
  ];

  config = {
    home.packages = [
      pkgs.file
      config.terminal.bat.package
    ]
    ++ lib.filter (x: x != null) (lib.mapAttrsToList (_: s: s.package) config.scripts)
    ++ lib.filter (x: x != null) (
      lib.mapAttrsToList (
        name: sc:
        if sc.enable && sc.desktop.enable then
          pkgs.makeDesktopItem {
            name = name;
            desktopName = sc.desktop.displayName;
            exec = "${lib.getExe config.terminal.kitty.package} -e ${lib.getExe sc.package}";
            icon = "kitty";
            categories = [ "Utility" ];
            terminal = false;
            type = "Application";
          }
        else
          null
      ) config.scripts
    );
  };
}