aboutsummaryrefslogtreecommitdiffstats
path: root/modules/scripts/default.nix
blob: ae18329fee883668b02be8ebfe1fd233ab3af9c8 (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,
  ...
}:
{
  imports = [
    ./deep-clean
    ./gopass-ssh-load
    ./gpg-backup
    ./nix-update
    ./neomutt-sync
    ./screen-recording
    ./system-monitor
    ./usque-warp
    ./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 = sc.desktop.icon;
        categories = [ "Utility" ];
        terminal = false;
        type = "Application";
      }
    ) (lib.filterAttrs (_: sc: sc.enable && sc.desktop.enable) config.scripts);
  };
}