My .dotfiles backup for Arch setup.
Requirements listed in pkglist.txt
-
Some of wm's binds improved by lua script. Lua has more flexibility than i3config syntax. It is a good practice to automatically switch to the appropriate workspace after opening programs using a keyboard shortcut.
-
Alt + f
open a file manager in that directory what was found in clipboard. For example, if you copied a file from some program, you can open it's directory just by pressing this shortcut. -
Super + `
open ssh servers menu to connect. -
Super + \
open fuzzy finder to search for local text files in the home directory to edit in NeoVim. -
Automatic tiling via autotiling script. Split direction depends on the currently focused window dimensions.
-
Automatic tiling freed up
Super + H
shortcut. So i'm using HJKL to navigate inside WM. -
UI scale options depends on current display setup and autorandr profile name.
-
Mouse side buttons bound to copy and paste in graphics applications. Although I try to use the mouse less, it's useful for (web)apps with mouse-centric UI.
-
CapsLock is changed to Backspace.
-
Nice aliases: i to install package, dp to push dotfiles into this repo, v to open nvim.
Note: before proceed you need to create or restore ssh keys and install git
git clone --depth=1 git@github.com:coffebar/dotfiles.git dotfiles_tmp
rsync -rv --exclude '.git' --exclude 'README.MD' --exclude '.gitignore' ./dotfiles_tmp/ ./
rm -rf ./dotfiles_tmp/
# install yay
pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
cd .. && rm -rf yay
yay -Y --gendb
# install packages
yay -S --needed - < pkglist.txt
# enable services
sudo systemctl enable input-remapper
sudo systemctl start input-remapper
sudo systemctl enable docker
sudo systemctl start docker
sudo systemctl enable tlp
sudo systemctl start tlp
sudo systemctl enable ufw
sudo systemctl start ufw
# install ohmyzsh
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# copy ksnip config
cp -f ~/.config/ksnip/ksnip.example.conf ~/.config/ksnip/ksnip.conf
This script can be used to sync nvim config from this repo
./fetch-nvim-conf.sh
Optionally, add a cronjob to keep nvim plugins updated
(crontab -l; echo "0 13 * * * nvim --headless -c 'autocmd User PackerComplete quitall' -c 'PackerSync'" ) | crontab -
This neovim setup supports syntax highlighting and code completion for following languages:
- bash
- css
- go
- html
- javascript
- lua
- php
- python
- rust
- typescript
Next options will tell GTK-based apps to prefer Dark theme and open file chooser by default in the home directory.
gsettings set org.gnome.desktop.interface color-scheme prefer-dark
gsettings set org.gtk.Settings.FileChooser startup-mode cwd
gsettings set org.gtk.gtk4.Settings.FileChooser startup-mode cwd