| task | name |
|---|---|
| operating system | arch |
| window manager | hyprland |
| terminal | kitty |
| shell | zsh |
| code editor | neovim |
zsh add-ons: zinit, powerlevel10k, syntax-highlighting, auto suggestions, completions, fzf tab
- Install packages
Arch
sudo pacman -S git lazygit alacritty zsh stow neovim eza bat fzf fd ripgrep zoxide lua51 luarocks npm pandoc
sudo npm install -g live-serverUbuntu
sudo apt install git alacritty zsh stow neovim eza bat fzf fd-find ripgrep zoxide tmuxUbuntu lazygit installation
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | \grep -Po '"tag_name": *"v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/download/v${LAZYGIT_VERSION}/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit -D -t /usr/local/bin/- Optional: Backup directories that will be changed (if you want to stow all dotfiles)
cd $HOME
mkdir -p .backup_config/.config
mv .zshrc .backup_config/
mv .p10k.zsh .backup_config/
mv .tmux.conf .backup_config/
mv .config/alacritty.toml .backup_config/.config/
mv .config/neofetch .backup_config/.config/
mv .config/alacritty .backup_config/.config/
mv .config/nvim .backup_config/.config/- Clone this dotfiles repo and stow them
cd $HOME
git clone https://github.com/maxelonej/dotfiles.git
cd dotfiles
stow .- To make zsh plugins work, need to install zinit:
cd $HOME
bash -c "$(curl --fail --show-error --silent --location https://raw.githubusercontent.com/zdharma-continuum/zinit/HEAD/scripts/install.sh)"- After installing and reloading the shell, compile zinit via:
zinit self-update- To make tmux plugins work, need to install tpm and run installer:
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
cd ~/.tmux/plugins/tpm/scripts/
tmux source ~/.tmux.conf
./install_plugins.shCustom shortcuts:
Used instead of default because these keymaps more comfy for me from i3wm
bind = $mainMod, Return, exec, $terminal
bind = $mainMod, Q, killactive,bind = $mainMod, S, togglesplit, # split
bind = $mainMod, F, fullscreen, # fullscreen apps
Move focus with mainMod + vim motion hjkl instead of arrow keys
bind = $mainMod, H, movefocus, l
bind = $mainMod, L, movefocus, r
bind = $mainMod, J, movefocus, u
bind = $mainMod, K, movefocus, dDefault Tmux keymaps Default Vim keymaps LazyVim keymaps
Custom:
jjin insert mode for change mode to normal<leader>cpfor:MarkdownPreview<c-n>/<leader>e/<leader>nfor:Neotree float reveal toggle<CR>(explorer/file structure)<leader>lfor:Lazy<CR><leader>mfor:Mason<CR><Tab>for:bn<CR>(next buffer)<S-Tab>for:bp<CR>(previous buffer)