-
Notifications
You must be signed in to change notification settings - Fork 153
Configuration
Kai Norman Clasen edited this page Apr 11, 2025
·
23 revisions
The default configuration file of Pueue is located in one of these directories respectively:
- Linux:
$XDG_CONFIG_HOME/pueue/pueue.ymlor~/.config/pueue/pueue.yml. - macOS:
~/Library/Application Support/pueue/pueue.yml - Windows:
%APPDATA%\pueue\pueue.yml
A default configuration file will be generated when starting pueued for the first time.
You can also force pueue to use a specific configuration file with the -c flag for both the daemon and the client.
Alternatively, you can set the PUEUE_CONFIG_PATH environment variable.
Please note that using the command line option will overwrite the environment variable.
Most config values can just be omitted and Pueue will pick the default value.
---
shared:
pueue_directory: ~/.local/share/pueue
use_unix_socket: true
runtime_directory: null
unix_socket_path: ~/.local/share/pueue/pueue_your_user.socket
host: "localhost"
port: "6924"
daemon_cert: ~/.local/share/pueue/certs/daemon.cert
daemon_key: ~/.local/share/pueue/certs/daemon.key
shared_secret_path: ~/.local/share/pueue/shared_secret
client:
restart_in_place: false
read_local_logs: true
show_confirmation_questions: false
show_expanded_aliases: false
dark_mode: false
max_status_height: null
status_time_format: "%H:%M:%S"
status_datetime_format: "%Y-%m-%d\n%H:%M:%S"
daemon:
pause_group_on_failure: false
pause_all_on_failure: false
callback: "\"Task {{ id }}\nCommand: {{ command }}\nPath: {{ path }}\nFinished with status '{{ result }}'\""
callback_log_lines: 10
shell_command: ["zsh", "-c", "{{ pueue_command_string }}"]
env_vars:
BASH_ENV: "$HOME/.config/shell_aliases"-
pueue_directoryThe location Pueue uses for its intermediate files and logs, uses$XDG_DATA_HOME/pueueif not specified. -
runtime_directoryThe location for runtime variables. Defaults topueue_directoryor$XDG_RUNTIME_DIR. -
use_unix_socket(Unix only) Whether the daemon should listen on a Unix- or a TCP-socket. -
unix_socket_path(Unix only) The path the unix socket is located at. Defaults toruntime_directory/pueue_$USER.socket. -
hostThe host the daemon listens on and the client connects to. Only used when in TCP mode. -
portThe port the daemon listens on and the client connects to. Only used when in TCP mode. -
daemon_certThe TLS certificate used for encrypting any TCP traffic. -
daemon_keyThe TLS private key used for encrypting any TCP traffic. -
shared_secret_pathThe path to the file, which contains the secret used for authentication with the daemon.
-
restart_in_placeIf this is set to true, tasks will always be restarted in place instead of creating a new identical task. Beware: Restarting in place overwrites logs from the previous run. -
read_local_logsIf the client runs on the same machine as the daemon, logs don't have to be sent via the socket. Instead they can be read directly from the disk. -
show_confirmation_questionsThe client will print warnings that require confirmation for different critical commands. -
show_expanded_aliasesDetermines, whether the original command or the command after expanding any aliases in thepueue_aliasesfile will be shown when callingpueue status. -
dark_modeSwitch to dark colors instead of standard colors in the command output. This option can be helpful in non-standard terminal themes. -
max_status_height[int|null] If a number X is given, all table rows in thestatussubcommand, which have more than X lines will be truncated. -
status_time_formatThe time format string that should be used inpueue status. Check this page for formatting syntax -
status_datetime_formatThe datetime format string that will be used inpueue status.
-
pause_group_on_failureIf set totrue, on task failure, the daemon pauses queued tasks in the same group as the failed task. Already running tasks will continue. -
pause_all_on_failureIf set totrue, on task failure, the daemon pauses all queued tasks in all groups. Already running tasks will continue. -
callbackThe command that will be called after a task finishes. Can be parameterized -
callback_log_linesThe amount of stdout/stderr lines that are available in the callback. -
shell_command: This can be used to run commands in a custom shell. Any occurence of{{ pueue_command_string }}in one of the parameters will be expanded to the task's. This feature can lead to unexpected behavior as other shells might behave differently. Use at your own risk. -
env-vars(Dictionary): These variables will be injected into all tasks.
It's possible to have multiple configuration profiles in the same configuration file.
The profile is then selected via the commandline: pueue --profile remote status
An example for such a config might look like this:
---
shared:
use_unix_socket: true
host: 127.0.0.1
port: "6924"
client:
restart_in_place: true
read_local_logs: true
max_status_lines: 10
daemon:
pause_group_on_failure: false
pause_all_on_failure: false
profiles:
profiles:
remote:
shared:
use_unix_socket: false
host: some.remote_host.com
port: "6924"
daemon_cert: ~/.local/share/pueue/certs/remote_daemon.cert
shared_secret_path: ~/.local/share/pueue/remote_shared_secret