63 lines
1.4 KiB
Nix
63 lines
1.4 KiB
Nix
{
|
|
flake.modules.homeManager.walker =
|
|
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
elephantCommand = lib.getExe pkgs.elephant;
|
|
launcherCommand = lib.getExe config.services.walker.package;
|
|
in
|
|
{
|
|
home.packages = [ pkgs.elephant ];
|
|
|
|
services.walker = {
|
|
enable = true;
|
|
systemd.enable = true;
|
|
};
|
|
|
|
systemd.user.services = {
|
|
elephant = {
|
|
Unit = {
|
|
Description = "Elephant application launcher backend";
|
|
PartOf = [ "graphical-session.target" ];
|
|
After = [ "graphical-session.target" ];
|
|
};
|
|
Install.WantedBy = [ "graphical-session.target" ];
|
|
Service = {
|
|
ExecStart = elephantCommand;
|
|
Restart = "always";
|
|
RestartSec = 10;
|
|
};
|
|
};
|
|
|
|
walker.Unit = {
|
|
Wants = [ "elephant.service" ];
|
|
After = [ "elephant.service" ];
|
|
};
|
|
};
|
|
|
|
meta.desktop.launcher = {
|
|
package = config.services.walker.package;
|
|
commands = {
|
|
open = [ launcherCommand ];
|
|
files = [
|
|
launcherCommand
|
|
"--query"
|
|
"/"
|
|
"--placeholder"
|
|
"Find files"
|
|
];
|
|
dmenu = [
|
|
launcherCommand
|
|
"--dmenu"
|
|
"--placeholder"
|
|
"Search clipboard"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|