30 lines
857 B
Nix
30 lines
857 B
Nix
{ config, pkgs, lib, ... }:
|
|
with lib; let
|
|
cfg = config.myHome.shell.atuind;
|
|
in
|
|
{
|
|
options.myHome.shell.atuind = {
|
|
enable = mkEnableOption "atuind";
|
|
};
|
|
|
|
config = mkMerge [
|
|
(mkIf cfg.enable {
|
|
systemd.user.services.atuind =
|
|
{
|
|
Install = {
|
|
WantedBy = [ "default.target" ];
|
|
};
|
|
Unit = {
|
|
After = [ "network.target" ];
|
|
};
|
|
Service = {
|
|
Environment = "ATUIN_LOG=info";
|
|
ExecStart = "${pkgs.unstable.atuin}/bin/atuin daemon";
|
|
# Remove the socket file if the daemon is not running.
|
|
# Unexpected shutdowns may have left this file here.
|
|
ExecStartPre="/run/current-system/sw/bin/bash -c '! pgrep atuin && /run/current-system/sw/bin/rm -f ~/.local/share/atuin/atuin.sock'";
|
|
};
|
|
};
|
|
})
|
|
];
|
|
}
|