Damiano Gualandri Blog
August 29, 2021

Arch Linux — Powered by Dag

Posted on August 29, 2021  •  7 minutes  • 1342 words
Table of contents

Arch Linux — Powered by Dag

Photo by Isaac Li Shung Tan on Unsplash

What about having a fully working Arch Installation - on your machine? Well, it always has been my dream since the first Arch installation ever.

As I told you here , I installed Arch on a specific computer, so I have carefully chose my packages.

These packages are in addition to the packages I’ve already installed in that guide:

intel-ucode nvidia vlc firefox discord telegram-desktop alsa thunar gcc htop i3 lxappearance ntfs-3g wget picom powertop redshift git xdg-user-dirs xclip maim tree xorg neofetch base-devel

Issues I had once I installed Arch Linux:

Our reaction after noticing that nothing is working as expected — photo by krakenimages on Unsplash

Can’t change background

This is an easy one, just put this in your console:

nitrogen <wallpaper folder>

It will open a window which will prompt you image picker.

In your i3 config place this line:

exec –no-startup-id nitrogen –restore

No aur helper

sudo git clone [https://aur.archlinux.org/yay-git.git](https://aur.archlinux.org/yay-git.git)
sudo chown -R user:user yay-git
cd yay-git & makepkg -si

No common aur programs installed

In my case they are polybar, vscodium-bin and intellij-idea-ultimate-edition

yay -S polybar vscodium-bin intellij-idea-ultimate-edition p7zip-gui siji

No polybar set up

Comment the lines related to bar in your i3 file and add this line:

exec_always — no-startup-id $HOME/.config/polybar/launch.sh

Create xdg user dirs by giving xdg-user-dirs-update

Now polybar in order to work needs two files: config and launch.sh

cp /usr/share/doc/polybar/config .config/polybar/config

Change your “example” to “bar”.

Create into ./config/polybar/ a file named launch.sh , give:

chmod 755 ./config/polybar/launch.sh

Now it’s time to fill it by copy-pasting this:


# Terminate already running bar instances  
killall -q polybar

# Wait until the processes have been shut down  
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done

# Launch Polybar, using default config location ~/.config/polybar/co>  
polybar bar &

echo “Polybar launched…”

Audio control not available by keyboard

In your i3 config file you need to comment the lines related to bindsym XF86AudioRaiseVolume , bindsym XF86AudioLowerVolume and bindsym XF86AudioMute.

NOTE: I installed sof-firmware that’s why I need to specify the -c 1 option.

It is needed to overwrite them with the ones we are adding:

Audio control

bindsym XF86AudioRaiseVolume exec amixer -q -c 1 sset Master 1+ unmute  
bindsym XF86AudioLowerVolume exec amixer -q -c 1 sset Master 1- unmute  
bindsym XF86AudioMute exec amixer -q -c 1 sset Speaker toggle & amixer -q -c 1 sset Master toggle

Brightness control not available by keyboard

Add this in i3 config file:

Backlight Control — requires brightnessctl and nvidia

bindsym XF86MonBrightnessUp exec xbacklight -inc 5 # increase screen brightness
bindsym XF86MonBrightnessDown exec xbacklight -dec 5 # decrease screen brightness

No trasparent windows

After having installed picom, copy the default conf file:

sudo cp /etc/xdg/picom.conf .config/picom.conf

Fix its permissions:

sudo chown user:user .config/picom.conf

Then edit with nano by replacing vsync = true; with vsync = false

vsync = false; in the .config/picom.conf

Add this in i3 config file:

# Window Compositor  
exec_always picom -f

Add this to .config/picom.conf

inactive-opacity = 0.75;  
active-opacity = 1;  
frame-opacity = 1.00;

Open containing folder button doesn’t properly work in Firefox

When you click on Firefox “open containing folder” button after a file it didn’t work

xdg-mime default thunar.desktop inode/directory

Autoconnect to wifi

In the terminal:

cp /etc/netctl/examples/wireless-wpa /etc/netctl/somedescriptivename
systemctl enable netctl-auto@<device>.service

To list your interfaces (install iw first):

iw dev | awk '$1=="Interface"{print $2}'

Wifi powersaving off:

sudo nano /etc/udev/rules.d/81-wifi-powersave.rules

Inside it:

ACTION==”add”, SUBSYSTEM==”net”, KERNEL==”wl*”, RUN+=”/usr/bin/iw dev wlp0s20f3 set power_save off”

Enable lightdm (and fix it because it will not work)

Uncomment in lightdm greeter-session and replace with


FIX: Add this to your /etc/lightdm/lightdm.conf in the [LightDM] section:



systemctl enable lightdm

No wakeup after sleep

sudo nano /etc/systemd/system/suspend@.service

Write this inside:

Description=User suspend actions  
ExecStartPre= -/usr/bin/pkill -u %u unison ; /usr/local/bin/music.sh stop  
ExecStartPost=/usr/bin/sleep 1  

Now, type

sudo nano /etc/systemd/system/resume@.service

Write this

Description=User resume actions  

And finally

systemctl enable suspend@  
systemctl enable resume@

Autostart things with i3

Add them to i3 config file preceded by exec or exec_always.

Useful things I put in mine:

exec redshift -l 41.90:12.49


Add this to i3 config file (requires maim and xclip):

bindsym Ctrl+Print exec --no-startup-id maim | xclip -selection clipboard -t image/pngbindsym Ctrl+$mod+Print exec --no-startup-id maim --window $(xdotool getactivewindow) | xclip -selection clipboard -t image/pngbindsym Ctrl+Shift+Print exec --no-startup-id maim --select | xclip -selection clipboard -t image/png

Multiple key layout (switching from one keyboard to another one with WIN+Space)

Copy-paste this into terminal

localectl set-x11-keymap us,it pc105 qwerty grp:win_space_toggle

Poweroff commands doesn’t work

Become superuser:

sudo su

Override visudo editor:

export EDITOR=nano

Type visudo then add this at the end of the file:

_user_ _hostname_ =NOPASSWD: /usr/bin/systemctl poweroff,/usr/bin/systemctl halt,/usr/bin/systemctl reboot, /usr/bin/systemctl suspend

And in your .bashrc:

alias reboot="sudo systemctl reboot"  
alias poweroff="sudo systemctl poweroff"  
alias halt="sudo systemctl halt"  
alias suspend="sudo systemctl suspend"

No speakers — no microphone

It works for me:

echo "options snd-hda-intel model=generic" >> /etc/modprobe.d/alsa-base.conf  
echo "options snd-hda-intel enable_msi=1" >> /etc/modprobe.d/modprobe.conf

Let’s install sof-firmware:

sudo pacman -S sof-firmware

Can’t open zip files and unzip them

sudo pacman -S p7zip

then from your favorite aur manager:

yay -S p7zip-gui

Battery drain

Install TLP

sudo pacman -S tlp

Let’s autostart this service

sudo systemctl enable tlp.service`

Cool custom theme

Download it first:

wget [https://github.com/Roboron3042/Cyberpunk-Neon/raw/master/gtk/materia-cyberpunk-neon.tar.gz](https://github.com/Roboron3042/Cyberpunk-Neon/raw/master/gtk/materia-cyberpunk-neon.tar.gz) -O materia.tar.gz

Let’s un-tar it:

tar xzf yourfavouritetheme-cyberpunk-neon.tar.gz -C ~/.themes/

Open lxappearance and select it from your theme list

List of installed application (and why):

Photo by Kelly Sikkema on Unsplash

Dotfiles: you can my download my entire configuration here which includes nano syntax highlighting, and many other dot files

Alternatively, you can use my script to download and setup everything as I’ve done on my machine

If you liked this article, why don’t you take a peek at my Medium or check my profile on Github?

You may find interesting even this awesome article on how to install Arch in a few moves

Follow me

I mostly don't use any social media.