{
  config,
  lib,
  mainUser,
  ...
}:
{
  options = {
    quick = {
      services =
        with lib;
        mkOption {
          type = with types; attrsOf str;
          default = { };
        };
      oneShots =
        with lib;
        mkOption {
          type = with types; attrsOf str;
          default = { };
        };
    };
  };

  config = {
    systemd.user.services =
      builtins.mapAttrs (name: cmd: {
        environment.PATH = lib.mkForce "/run/current-system/sw/bin:/run/current-system/sw/sbin:/etc/profiles/per-user/${mainUser}/bin:/etc/profiles/per-user/${mainUser}/sbin";
        unitConfig = {
          Description = "${name}";
          Requires = [
            "graphical-session.target"
          ];
          After = [
            "graphical-session.target"
            "niri.target"
          ];
          PartOf = [ "graphical-session.target" ];
        };
        serviceConfig = {
          ExecStart = cmd;
        };
        wantedBy = [ "graphical-session.target" ];
      }) config.quick.services
      // builtins.mapAttrs (name: cmd: {
        unitConfig = {
          Description = "${name}";
          Requires = [ "graphical-session.target" ];
          After = [
            "graphical-session.target"
            "niri.target"
          ];
        };
        serviceConfig = {
          ExecStart = cmd;
          Type = "oneshot";
        };
        wantedBy = [ "graphical-session.target" ];
      }) config.quick.oneShots;
  };
}
