General Feedback: I like it! But you know already…
I haven’t used any other command line options so far, but maybe this is a good idea in general.
To make my life easier, I have created a little shell script, to scp over my ~/.config/atuin/config.toml file to all hosts, VMs and users I want to use Atuin.
Login by SSH keys is a requirement so far.
Maybe I’ll extend it to use 1Password CLI password inclusion, as I don’t have root login for all my hosts…
~/.config/atuin/config_sync.sh:
#!/bin/zsh
set -e
declare -a atuin_logins_n_paths=(
"user1@hostname_01:/home/user1"
"user2@hostname_01:/home/user2"
)
script_dir="${0:a:h}"
for login_n_path in "${atuin_logins_n_paths[@]}"; do
parts=(${(@s/:/)login_n_path})
login=${parts[1]}
home_path=${parts[2]}
echo "ssh $login \"if [[ ! -d ${home_path}/.config/atuin ]]; then mkdir -p ${home_path}/.config/atuin; fi\""
ssh $login "if [[ ! -d ${home_path}/.config/atuin ]]; then mkdir -p ${home_path}/.config/atuin; fi"
echo "Copying config.toml to $login_n_path"
scp $script_dir/config.toml "$login_n_path/.config/atuin/config.toml"
done
But with the command line approach, I can’t sync over all my config, as I have to change the invocation with command line parameters on all my hosts.