A functional and beautified i3wm
config for programming, studying and browsing, made primarily for arch
based distros (Manjaro, Arch).
Note: A brief guide (& tips) to Manjaro and i3wm can also be found in the end.
To use the setup right away, the sync.sh
file will come in handy.
- Create a
repos
folder in your home directory - Clone this repository inside
repos
- Run the script
$ cd $HOME
$ mkdir repos
$ cd repos
$ git clone https://github.com/Ariwor/dotfiles
$ cd dotfiles
$ bash sync.sh
Now your settings are symlinked in the respective directories and you can edit everything within dotfiles
folder. The script will also install the below applications necessary for the setup to function properly.
Some of the base packages installed with the execution of sync script:
rofi
feh
polybar
kitty
firefox
ranger
playerctl
maim
zathura
zathura-pdf-mupdf
adobe-source-code-pro-fonts
Based on/inspired by github/Stavrosfil
A brief guide, together with a list of common problems (& solutions) encountered by beginners, during Manjaro setup and i3wm
configuration.
Dual-boot Manjaro/Windows 10
- Download Manjaro i3 edition from here.
- There is an excellent dual-boot step-by-step guide here.
- Consider your free disk space before separating
root
and/home
partitions. - For swap partition size make sure to check this.
- Make sure to update your packages, by running:
$ sudo pacman -Syu
- In case you run into errors when you update the packages in your system, such as:
error: failed to commit transaction (invalid or corrupted package)
, clear your cache first before updating (to remove any partial installations) with:
$ sudo pacman -Sc
or
$ paccache -rvk0
Audio issues
- First thing you should run out of the box is:
$ sudo pacman -S pulseaudio
Enable TRIM (for SSD)
The fstrim.timer
which will execute TRIM weekly:
$ sudo systemctl enable fstrim.timer
$ sudo systemctl start fstrim.timer
Nvidia graphics & screen tearing
- Install Nvidia drivers and configure Nvidia settings by following this guide.
- In addition to the above, if you encounter screen tearing, make sure to go in the
Advanced
tab in theX Server Display Configuration
and check:- Force (Full) Composition Pipeline
- To fix potential screen tearing while using
Firefox
, go toabout:config
and setlayers.acceleration.force-enabled = true
(you can read more about this issue here and here)
Brightness control
-
Pressing the assigned keyboard brightness keys and not affecting the screen brightness (although the brightness level values in the status bar change) is a commonly encountered issue (e.g. here).
-
A fix that worked for me is described here and is the following:
- Open
/etc/default/grub
with your favorite editor:
sudo atom /etc/default/grub
- Add
video.use_native_backlight=1
here (inside""
):
GRUB_CMDLINE_LINUX_DEFAULT=""
- Save & exit
- Run:
sudo update-grub
- Restart i3
- Open
Workspace icons in the status bar
- First you need to install the awesome symbols, by running:
sudo pacman -S awesome-terminal-fonts
- Browse for icons here and copy the Unicode Glyph from the ones you like in the i3 config file.
Lock- & Login- screen
- Install and configure
betterlockscreen
by following the instructions here. - If you want to keep
set $mode_system
in your i3 config, add abetterlockscreen
option (e.g.betterlockscreen -l dim
) instead ofblurlock
in the/usr/bin/i3exit
file. - To change your login screen, use
lightdm-settings
and edit the "Background" option.
Multiple monitors
- Install autorandr that allows automatically switching of
xrandr
configurations - Configure your monitors sequentially with
xrandr
- After each configuration, save your profile with
autorandr --save <profile>
- Use
autorandr --change
to load your config based on the connected devices
Razer peripherals
- Install the AUR openrazer package. A wiki guide can be found here and in GitHub.
- Install a graphical front-end, such as polychromatic. If any dependencies are not found, install them as well (for example nodejs-less).