zaphyra's git: nixfiles

zaphyra's nixfiles

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 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
80 
81 
82 
83 
84 
85 
86 
87 
88 
89 
{
  config,
  pkgs,
  lib,
  ...
}:

{

  home.persistence."/nix/persist/home/${config.home.username}".directories = [
    "sherlock/.cache/sherlock"
  ];

  programs.niri.settings.binds = with config.lib.niri.actions; {
    "Mod+Space".action = spawn (lib.getExe pkgs.sherlock-launcher);
  };

  programs.sherlock = {
    enable = true;
    settings = {
      style = ''
        window {
          border-radius: 5px;
          border: 2px solid rgba(255, 255, 255, 0.08);
        }
      '';
      ignore = ''
        btop++
      '';
      config = {
        default_apps = {
          terminal = "${config.home.sessionVariables.TERMINAL} -e";
          browser = "${config.home.sessionVariables.BROWSER} %u";
        };
        behavior.global_prefix = "app2unit";
        caching.enable = true;
      };
      launchers = [
        {
          name = "Weather";
          type = "weather";
          args.location = "darmstadt";
          args.update_interval = 30;
          home = "OnlyHome";
          priority = 1;
          async = true;
          shortcut = false;
          spawn_focus = false;
          actions = [
            {
              name = "Show on wttr.in";
              exec = "https://www.wttr.in/darmstadt";
              icon = "emblem-symbolic-link";
              method = "web_launcher";
            }
          ];
        }
        {
          name = "App Launcher";
          type = "app_launcher";
          alias = "app";
          priority = 3;
          home = "OnlyHome";
        }
        {
          name = "Emoji Picker";
          type = "emoji_picker";
          alias = "emoji";
          priority = 4;
          home = "OnlyHome";
        }
      ];
    };
  };

  # systemd.user.services.sherlock = {
  #   Unit = {
  #     Description = "sherlock daemon";
  #     After = [ "graphical-session.target" ];
  #   };
  #   Service = {
  #     ExecStart = "${lib.getExe pkgs.sherlock-launcher} --daemonize";
  #     Restart = "on-failure";
  #     RestartSec = 5;
  #   };
  #   Install.WantedBy = [ "graphical-session.target" ];
  # };

}