Tools
This section contains documentation for tools that I love. It is written for nobody in particular, but may be useful to somebody.
Unless otherwise stated, assume that commands have been tested on a modern GNU/Linux system (most of my computers run Arch or Debian).
When I first log into a new system, I set it up as follows:
my-laptop$ ssh-copy-id <new system>
my-laptop$ ssh <new system>
new-system$ git clone https://github.com/dsd65535/dotfiles.git .dotfiles
new-system$ cd .dotfiles/
new-system$ ./setup.sh
new-system$ exit
my-laptop$ ssh <new system>
new-system$ mv .bash_history .bash_history.d/init
new-system$ ssh-keygen -t ed25519 -C "$(whoami)@$(hostname)"
new-system$ gpg --full-generate-key
new-system$ KEY_ID=$(gpg --list-secret-keys --with-colons | grep '^sec:' | cut -d: -f5 | head -1)
new-system$ cat > .gitconfig.local << EOF
[user]
name = Dimitar Dimitrov
email = dimitar.dimitrov@cba.mit.edu
signingkey = ${KEY_ID}
EOF
new-system$ cat .ssh/id_ed25519.pub # for GitLab
new-system$ gpg --armor --export ${KEY_ID} # for GitLab