/dotfiles

My beloved Arch linux dotfiles

Primary LanguageShell

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

  1. open a terminal
  2. start google chrome
  3. Login into google and github
  4. 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