-
Notifications
You must be signed in to change notification settings - Fork 133
Configuration
David Maple edited this page Aug 18, 2024
·
21 revisions
The default configuration file of Pueue is located in one of these directories respectively:
- Linux:
$XDG_CONFIG_HOME/pueue/pueue.yml
or~/.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:
default_parallel_tasks: 1
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
groups:
default: 1
-
pueue_directory
The location Pueue uses for its intermediate files and logs, uses$XDG_DATA_HOME/pueue
if not specified. -
runtime_directory
The location for runtime variables. Defaults topueue_directory
or$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
. -
host
The host the daemon listens on and the client connects to. Only used when in TCP mode. -
port
The port the daemon listens on and the client connects to. Only used when in TCP mode. -
daemon_cert
The TLS certificate used for encrypting any TCP traffic. -
daemon_key
The TLS private key used for encrypting any TCP traffic. -
shared_secret_path
The path to the file, which contains the secret used for authentication with the daemon.
-
restart_in_place
If 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_logs
If 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_questions
The client will print warnings that require confirmation for different critical commands. -
show_expanded_aliases
Determines, whether the original command or the command after expanding any aliases in thepueue_aliases
file will be shown when callingpueue status
. -
dark_mode
Switch 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 thestatus
subcommand, which have more than X lines will be truncated. -
status_time_format
The time format string that should be used inpueue status
. Check this page for formatting syntax -
status_datetime_format
The datetime format string that will be used inpueue status
.
-
pause_group_on_failure
If 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_failure
If set totrue
, on task failure, the daemon pauses all queued tasks in all groups. Already running tasks will continue. -
callback
The command that will be called after a task finishes. Can be parameterized -
callback_log_lines
The amount of stdout/stderr lines that are available in the callback. -
groups
This is a list of the groups with their amount of allowed parallel tasks. It's advised to not manipulate this manually, but rather use thegroup
subcommand to create and remove groups and theparallel
subcommand to change any parallelism settings.
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