Some useful (and for some required) dependencies, additionally it also updates the current machine:
sudo apt -y update
sudo apt -y dist-upgrade
sudo apt -y install bash-completion ca-certificates curl file git gnupg jq make man rsync tree uidmap unzip vim wget zsh
sudo apt -y autoremove
In any terminal (SSH or HTTPS depending on your needs):
git clone --recurse-submodules git@github.com:kilianpaquier/dotfiles.git "$HOME/.dotfiles"
"$HOME/.dotfiles/link.sh"
git clone --recurse-submodules https://github.com/kilianpaquier/dotfiles.git "$HOME/.dotfiles"
"$HOME/.dotfiles/link.sh"
To use dotfiles with z4h
, the zsh plugin must be installed before linking .zshrc
, nothing to do in .zshrc
since it's cloned with z4h
defined:
if command -v curl >/dev/null 2>&1; then
sh -c "$(curl -fsSL https://raw.githubusercontent.com/romkatv/zsh4humans/v5/install)"
else
sh -c "$(wget -O- https://raw.githubusercontent.com/romkatv/zsh4humans/v5/install)"
fi
Antidote is cloned if needed in .zshrc
, as such, the only thing to do is replace .zshrc
with either p10k
or omz
prompting:
cat << 'EOF' > "$HOME/.zshrc"
# .zshrc
read me < <(readlink -f "$HOME/.zshrc")
read dir < <(dirname "$me")
source "$dir/.profile"
source "$dir/antidote/p10k.zshrc"
EOF
cat << 'EOF' > "$HOME/.zshrc"
# .zshrc
read me < <(readlink -f "$HOME/.zshrc")
read dir < <(dirname "$me")
source "$dir/.profile"
source "$dir/antidote/omz.zshrc"
EOF
Antidote lite is curl'ed if needed in .zshrc
, as such, the only thing to do is replace .zshrc
with either p10k
or omz
prompting:
cat << 'EOF' > "$HOME/.zshrc"
# .zshrc
read me < <(readlink -f "$HOME/.zshrc")
read dir < <(dirname "$me")
source "$dir/.profile"
source "$dir/antidote.lite/p10k.zshrc"
EOF
cat << 'EOF' > "$HOME/.zshrc"
# .zshrc
read me < <(readlink -f "$HOME/.zshrc")
read dir < <(dirname "$me")
source "$dir/.profile"
source "$dir/antidote.lite/omz.zshrc"
EOF
git config --global core.editor 'code --wait'
git config --global init.defaultbranch main
git config --global push.autoSetupRemote true
git config --global core.pager 'cat'
git config --global pager.diff 'less -FX'
With SSH or GPG:
git config --global commit.gpgsign true
git config --global tag.gpgsign true
git config --global gpg.format ssh
git config --global gpg.ssh.defaultKeyCommand 'ssh-add -L'
git config --global commit.gpgsign true
git config --global tag.gpgsign true
git config --global --unset gpg.format
gpg --list-secret-keys --keyid-format=long
git config --global user.signingkey '<GPG KEY ID>'