My i3wm configuration files.
I've been a i3wm user since 2016, but my workflow, habits, and configuration never stopped evolving.
Instead of re-configuring all my setup manually everytime I use a new computer, I use this repository to setup everything with a single command.
I also use it as a backup so I can always revert my configuration in case of mistakes.
This repository contains all the configuration files for the different tools I use daily.
It can be cloned anywhere you want, but you'll have to symlink each one of these to the right place:
Source | Destination |
---|---|
i3/ |
~/.config/regolith2/i3/config.d |
bar/ |
~/.config/regolith2/i3rocks/conf.d |
dunstrc |
~/.config/dunst/dunstrc |
Xresources |
~/.config/regolith2/Xresources |
- Regolith (i3 + gaps for Ubuntu & Gnome)
- Dunst (notification daemon)
- Font Awesome (icons)
- Starship (shell prompt)
- And more
# Install everything on a fresh Ubuntu 22.04 setup
curl -fsSL https://git.io/i3-config | bash
The command above will:
- Install Regolith Desktop and some sub-dependencies
- Remove all default Regolith settings
- Build and install dunst from source
- Clone this repository in
~/.i3-config
and create symlinks - Install default i3blocks scripts
- Download and install fonts & wallpaper
- Install zsh, Starship, Google Chrome, Sublime Text, Node.js, rivalcfg, Flameshot...
The script should work on a fresh Ubuntu 22.04 setup. For any other distro, I'm almost sure it won't work.
Using on a HiDPI display
You can set scale and DPI value like this:
# i3
echo "Xft.dpi: 125" >> ~/.Xresources
# Other apps (Chrome, Nautilus, Terminal...)
echo "export GDK_DPI_SCALE=1.25" >> ~/.profile
Or just use the dpi.sh
script from this repo:
~/.config/i3/dpi.sh high # On HiDpi display
~/.config/i3/dpi.sh low # On regular display
sudo reboot
My git config
[alias]
st = status -s
pl = pull
ps = "!git push --set-upstream origin $(git symbolic-ref --short HEAD)"
psn = "!git push --no-verify --set-upstream origin $(git symbolic-ref --short HEAD)"
psnf = "!git push --force --no-verify --set-upstream origin $(git symbolic-ref --short HEAD)"
reflog = reflog --date=iso
co = checkout
undo = reset --soft HEAD^
amend = commit --amend --no-edit
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
clean-branch = "!git fetch -p && for branch in $(git branch -vv | grep ': gone]' | awk '{print $1}'); do git branch -D $branch; done"
[core]
excludesFile = ~/.gitignore
editor = vim
[rebase]
autoStash = true