- pacman (pkg manager)
- nvim (code editor)
- tmux (term multiplexer)
- kitty (terminal emulator)
- zsh (shell)
- GNU stow (symlinks management tool)
sudo pacman -S git stow neovim tmux kitty zshgit clone https://github.com/TqvNoCode/Arch ~/dotfiles
cd ~/dotfilesAfter you're already inside folder /dotfiles, create symlinks with command stow:
stow nvim
stow tmux
stow kitty
stow zshTip: Use
stow -D <package>to remove symlinks, andstow -R <package>to restow (remove + re-link).
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpmStart tmux, then press Prefix + I (capital I) to fetch and install the plugins defined in .tmux.conf.
The nvim config lives at nvim/.config/nvim and uses lazy.nvim to manage plugins. To get everything running without errors, install:
base-devel(gcc/make) — required to build the treesitter parsers, LuaSnip (make install_jsregexp), and debug adaptersripgrep— used by fzf-lua's live grepfzf— the binary fzf-lua depends onunzip,wget,curl— needed by Mason to download LSPs/formatters/DAPsnodejs+npm— some LSPs installed via Mason andmarkdown-preview.nvimneed npm to buildpython3+pip— for Pyright and nvim-dap-python; create a dedicated venv withdebugpy:
python3 -m venv ~/.local/share/nvim/dap-python
~/.local/share/nvim/dap-python/bin/pip install debugpygcc/g++— used by theclangdLSP, C++ debugging (codelldb), and the<F5>smart-run in toggleterm- Formatters for
none-ls:stylua,prettier,black,isort,clang-format(install via:Masonor npm/pip/cargo) - A Nerd Font — required for icons in neo-tree, oil.nvim, fzf-lua, and lualine
The first time you open nvim, lazy.nvim will auto-install the plugins; run
:Masonto check/install any missing LSPs.
- Needs
xclip(X11) orwl-clipboard(Wayland) for copy/paste in copy-mode - Needs a Nerd Font for icons in the Catppuccin theme and tmux-weather
- Plugins (
vim-tmux-navigator,tmux-resurrect,catppuccin/tmux,tmux-cpu,tmux-weather) are installed via TPM, see step 4 above
- Needs a Nerd Font (config uses
JetBrainsMono Nerd/MesloLGS NF) for icons to render correctly - Kitty auto-launches
tmuxon startup (shell tmuxin the config), so tmux + TPM need to be set up first
- Needs
oh-my-zsh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"- Needs the
powerlevel10ktheme:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k- Needs the
zsh-autosuggestionsandzsh-syntax-highlightingplugins:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting- Run
p10k configureto generate~/.p10k.zsh(the config sources this file) - A Nerd Font (MesloLGS NF) is needed for p10k icons to render correctly
- Default
<leader>key is Space - This setup is opinionated and tailored for a terminal-centric workflow on Arch Linux.
- Neovim keybindings (especially
<leader>mappings) and tmux prefix shortcuts are customized — check the respective config files for details. - If you're adding a new app, create a folder inside
~/dotfiles, mirror the path as it would appear from$HOME, thenstowit.
Feel free to fork, adapt, and make it your own. Inspired by kunkka's dotfiles