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