From 2b8f732e1563aba2c23606381fb98ee6820d80ed Mon Sep 17 00:00:00 2001 From: r-vdp Date: Fri, 27 Mar 2026 12:57:40 +0100 Subject: [PATCH] atuin: use `daemon start` subcommand on >= 18.13.0 Atuin 18.13.0 deprecated `atuin daemon` in favour of `atuin daemon start` and prints a warning on every daemon startup. Keep the old invocation for older versions so NixOS stable (currently shipping 18.10.0) keeps working. Also drop the 18.2.0 minimum version assertion since all supported nixpkgs branches ship newer versions. --- modules/programs/atuin.nix | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/modules/programs/atuin.nix b/modules/programs/atuin.nix index 2d27f4e0..671e02fd 100644 --- a/modules/programs/atuin.nix +++ b/modules/programs/atuin.nix @@ -10,6 +10,16 @@ let tomlFormat = pkgs.formats.toml { }; + # atuin 18.13.0 deprecated `atuin daemon` in favour of `atuin daemon start` + daemonArgs = + if lib.versionAtLeast cfg.package.version "18.13.0" then + [ + "daemon" + "start" + ] + else + [ "daemon" ]; + inherit (lib) mkIf mkOption types; in { @@ -222,12 +232,6 @@ in (mkIf daemonCfg.enable { assertions = [ - { - assertion = lib.versionAtLeast cfg.package.version "18.2.0"; - message = '' - The Atuin daemon requires at least version 18.2.0 or later. - ''; - } { assertion = config.systemd.user.enable || config.launchd.enable; message = "The Atuin daemon can only be configured on systems with systemd or launchd."; @@ -252,7 +256,7 @@ in WantedBy = [ "default.target" ]; }; Service = { - ExecStart = "${lib.getExe cfg.package} daemon"; + ExecStart = "${lib.getExe cfg.package} ${lib.concatStringsSep " " daemonArgs}"; Environment = lib.optionals (daemonCfg.logLevel != null) [ "ATUIN_LOG=${daemonCfg.logLevel}" ]; Restart = "on-failure"; RestartSteps = 3; @@ -281,10 +285,7 @@ in launchd.agents.atuin-daemon = { enable = true; config = { - ProgramArguments = [ - "${lib.getExe cfg.package}" - "daemon" - ]; + ProgramArguments = [ (lib.getExe cfg.package) ] ++ daemonArgs; EnvironmentVariables = lib.optionalAttrs (daemonCfg.logLevel != null) { ATUIN_LOG = daemonCfg.logLevel; };