Personal dotfiles for Ubuntu, managed with symlinks.
Install everything below before running the symlinks.
sudo apt install zsh
chsh -s $(which zsh)Log out and back in after running
chshfor the default shell change to take effect.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"Note: the installer will back up your existing
.zshrc.
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k# zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# fast-syntax-highlighting
git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git \
${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting
# fzf-tab
git clone https://github.com/Aloxaf/fzf-tab \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-tabsudo apt install tmux direnv xclip vim| Package | Why |
|---|---|
tmux |
Auto-started by .zshrc on every new shell |
direnv |
Shell hook loaded in .zshrc |
xclip |
Used by the vi yank-to-clipboard binding |
fzf is installed as a Vim plugin rather than via apt:
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.vim/pack/vendor/start/fzfDon't run the fzf install script —
.fzf.zshand.fzf.bashare already in your dotfiles and will be symlinked.
Loaded in both .zshrc and .bashrc, so required:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bashLoaded in both .zshrc and .bashrc, so required:
curl -s "https://get.sdkman.io" | bashPowerlevel10k requires a Nerd Font (the config uses nerdfont-v3).
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf
Move the fonts into your local fonts directory and refresh the cache:
mkdir -p ~/.local/share/fonts
mv *.ttf ~/.local/share/fonts/
fc-cache -fv
-
Set it as the font in your terminal emulator
-
You may want to reconfigure Powerlevel10k
p10k configure
Once all prerequisites are installed, run the symlink script from the repo root:
bash ~/dotfiles/symlink.shThen open a new terminal. On first launch the shell will automatically attach to (or create) a tmux session named default.
| Tool | Why |
|---|---|
| Oracle Instant Client | Expected at /opt/oracle/instantclient_23_26 — only needed for Oracle DB |
| Docker | Required for the dcl alias (docker compose -f docker-compose-linux.yaml) |