This repository contains the dotfiles for my system.
I aim to make this setup to be easy to replicate mainly on Ubuntu and Debian based OS, so here I use apt for the installation.
For Mac environment, use Homebrew instead.
-
Install Jetbrains Mono Nerd Font
-
Install WezTerm (or Setup Windows Terminal for WSL)
For Windows Terminal, apply this settings.json in Settings
-
Install required packages
sudo apt install stow zsh git git-delta bat fd-find eza zoxide ripgrep fzf tmux keychain
(
ezacan be replaced withtreeforfzfpreview) -
Symlink
fdfindto local PATH (see more details)mkdir ~/.local/bin -p; \ ln -s $(which fdfind) ~/.local/bin/fd
-
Setup Git credentials (SSH key in my case)
Create or import SSH keypair and make sure it's not too openchmod 700 ~/.ssh; \ chmod 644 ~/.ssh/id_ed25519.pub; \ chmod 600 ~/.ssh/id_ed25519; \ ssh-add
-
Clone this repository to home
git clone [email protected]:drekunia/.dotfiles.git ~/.dotfiles
-
Create directories to avoid symlink to parent directories
mkdir ~/{.config/zed,.config/gh,.vim,.zsh,.ssh,.gnupg} -p -
Stow the configs
cd ~/.dotfiles && stow .
(sometimes needs to resolve conflicts in case of duplicates)
-
Change default shell to ZSH
chsh -s $(which zsh) -
Restart Terminal
-
Generate locale (if not available)
sudo locale-gen en_US.UTF-8
-
Clone ZSH plugins
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_PLUGINS:-~/.zsh/plugins}/zsh-autosuggestions; \ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_PLUGINS:-~/.zsh/plugins}/zsh-syntax-highlighting; \ git clone https://github.com/MichaelAquilina/zsh-you-should-use.git ${ZSH_PLUGINS:-~/.zsh/plugins}/you-should-use; \ git clone https://github.com/zsh-users/zsh-history-substring-search.git ${ZSH_PLUGINS:-~/.zsh/plugins}/zsh-history-substring-search
-
Install Starship
Or just disable signing in .config/git/config
I use LazyVim and some plugins have dependencies
I put lazygit on mise config and other packages are installed with apt
-
Install mise-en-place
-
Restart Terminal and run
mise install
(check the plugin details for requirements if the install fails)
To installruby,erlang, andelixirplugin, install these dependencies along withrustc(rustup) -
Install
luarocksandxsel(LazyVim dependencies)sudo apt install luarocks xsel
-
Install
python3-venv(Ruff dependencies)sudo apt install python3-venv
-
Install Neovim (v0.10.0 or later)
CLI
- wslu: A collection of utilities for WSL (including
xdg-open) - Docker Engine
- uv: All-in-one and extremely fast Python package manager written in Rust
- Posting: Terminal API client
- Harlequin: Terminal database client (install
harlequin[postgres,mysql]for adapters) - Github CLI
- Git LFS: Git extension for versioning large files
- Ollama
jq: JSON formatter CLI (read tutorial)
GUI
-
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo tee /etc/apt/trusted.gpg.d/google.asc >/dev/null && \ echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google.list && \ sudo apt update && sudo apt install google-chrome-stable
wireguard: CLI VPN client (read setup guide)- cheat.sh: cheatsheet like manpage (use curl, no need to install)
- qrenco.de: same like cheat.sh but for QR encoding string