My dotfiles
Arch Linux setup centered around practicality and minimalism.
- i3-gaps + i3lock + i3bar + i3status
- zsh (no oh-my-zsh), powerlevel10k prompt
- alacritty
- nvim
- bemenu
- dunst
- picom (no weird forks, just normal picom)
- gruvbox is life
Use at own risk, or actually don't use this at all, dotfiles are a very personal thing, write your own 😛. The config can serve as inspiration, however, many hours of my life have been spent editing these files.
Installation
Prerequisites
- Fresh Arch install (no xorg installed yet)
- Basic packages like neovim, zsh, mlocate, network manager, man pages are installed
- User is created with zsh as login shell
- User is a sudoer
- Internet connection
Download Installation Scripts
sudo pacman -S wget tar
cd ~
wget https://api.github.com/repos/pabloariasal/dotfiles/tarball/master -O dotfiles.tar.gz
tar -xzvf dotfiles.tar.gz
rm dotfiles.tar.gz
there is now a directory pabloariasal-dotfiles-xxx
containing installation scripts and setup files.
Install Xorg
cd pabloariasal-dotfiles-xxx
./install install_xorg
Setup xinit and zprofile
In order to launch i3-wm xinit needs to be setup. startx
is called from zprofile
.
sudo pacman -S xorg-xinit
cd pabloariasal-dotfiles-XXX
cp configs/xorg/.xinitrc ..
cp configs/zsh/.zprofile ..
cp configs/env/.env ..
Install git
sudo pacman -S git
Install i3-wm
cd pabloariasal-dotfiles-xxx
./install install_i3_wm
Install bemenu
sudo pacman -S bemenu
Select option "x11"
Install paru
cd pabloariasal-dotfiles-xxx
./install install_paru
Install google-chrome
paru -S google-chrome
Install alacritty
It's important to install a terminal before booting into i3-wm
sudo pacman -S alacritty
Boot into i3-wm
Now we should be able to boot into i3-wm:
- Logout (Ctrl-d) and login back again
- Create a default config
mod+enter
opens a alacritty
Generate ssh keys
sudo pacman -S xclip
cd pabloariasal-dotfiles-xxx
./install create_github_personal_ssh_key
Add ssh public key to github account
- open a terminal
- start google chrome
- Login into google and github
- enter public key in the clipboard in github account
Start ssh Agent and add ssh key
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/github_personal
Clone dotfiles
cd pabloariasal-dotfiles-xxx
./install clone_repo
cd ..
rm -rf pabloariasal-dotfiles-XXX
The dotfiles repo is now cloned to the home directory
Shell Configuration
rm ~/.xinitrc ~/.zprofile ~/.env
cd dotfiles
sudo pacman -S stow
stow --verbose=2 -d configs -t ~ zsh
stow --verbose=2 -d configs -t ~ env
close and reopen terminal
xorg configuraton
rm ~/.xinitrc
cd dotfiles
install_config xorg
./install install_keyboard_conf
i3-wm configuration
rm -r ~/.config/i3/config
cd dotfiles
install_config i3
install_config i3status
Reload i3
Fonts
cd dotfiles
./install install_nerd_fonts
git Configuration
cd dotfiles
install_config git
Install Scripts
cd dotfiles
./install install_scripts
Install CLI Goodies
./install install_command_line_goodies
install_config vifm
Terminal Configuration
intall_config alacritty
NeoVim Configuration
sudo pacman -S words
intall_config nvim
Compositor
sudo pacman -S picom
install_config picom
ssh-agent
service
cd dotfiles
install_config systemd
./install enable_agent_service
Tlp
sudo pacman -S tlp
sudo systemctl enable tlp.service
Wallpaper
sudo pacman -S nitrogen
cd dotfiles
sag
./install install_wallpapers
Open nitrogen and add ~/wallpapers
as wallpaper directory (recursively), select a wallpaper.
System Monitoring
sudo pacman -S htop
Pdfs, Image Viewer and Window Swallowing
sudo pacman -S zathura zathura-pdf-mupdf eog
cd dotfiles
./install install_devour
iv
and za
in command line can be use to open pdfs and images!
Clipboard Manager
./install install_greenclip
install_config greenclip
Screenshots
sudo pacman -S flameshot
Notifications
sudo pacman -S dunst libnotify gnome-themes-extra
install_config dunst
Brightness and Audio Control
sudo pacman -S brightnessctl playerctl
Pulseaudio
./install install_pulseaudio
Flatpak
sudo pacman -S flatpak
Spotify
sudo pacman -S xdg-desktop-portal-gtk
flatpak install spotify
Anki
flatpak install anki
Development Tools
C/C++
cd dotfiles
./install install_cpp_dev_tools
Python
cd dotfiles
./install install_python_language_server
Lua
cd dotfiles
./install install_lua_dev_tools