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" ];
# };
}