Arch Linux — Powered by Dag
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 installed in this article:
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 netctl lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings ttf-dejavu ttf-liberation noto-fonts alacritty dmenu ncdu brightnessctl pulseaudio alsa-tools alsa-utils xdotool sof-firmware nitrogen
Issues I had once I installed Arch Linux:
- can’t change background
- no aur helper
- no common programs installed
- no polybar setup
- audio control not available by keyboard
- brightness control not available by keyboard
- no trasparent windows
- “open containing folder” button doesn’t properly work in Firefox
- autoconnect to wifi
- wifi powersaving off
- Enable lightdm and fix it because it doesn’t work
- no wakeup after sleep
- autostart things — redshift in my case
- screenshot pasted into clipboard
- multiple keyboard layout: switch between one layout and another one by pressing CTRL+SPACE
- poweroff commands don’t work
- no speakers and no microphone
- cant open zip file and unzip them
- battery drain
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
Then
sudo chown -R user:user yay-git
Then
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:
#!/bin/bash# 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
- Edit your new config at
/etc/netctl/somedescriptivename
to fit your setup.
Remember to set priority or it won’t work - Enable the
netctl-auto
service for your wireless adapter.
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 that file:
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
[Seat:*]
greeter-session=lightdm-gtk-greeter
FIX: Add this to your /etc/lightdm/lightdm.conf in the [LightDM] section:
logind-check-graphical=true
Then:
systemctl enable lightdm
No wakeup after sleep
sudo nano /etc/systemd/system/suspend@.service
Write this inside:
[Unit]
Description=User suspend actions
Before=sleep.target
[Service]
User=%I
Type=forking
Environment=DISPLAY=:0
ExecStartPre= -/usr/bin/pkill -u %u unison ; /usr/local/bin/music.sh stop
ExecStart=/usr/bin/sflock
ExecStartPost=/usr/bin/sleep 1
[Install]
WantedBy=sleep.target
Now, type
sudo nano /etc/systemd/system/resume@.service
Write this
[Unit]
Description=User resume actions
After=suspend.target
[Service]
User=%I
Type=simple
ExecStart=/usr/local/bin/ssh-connect.sh
[Install]
WantedBy=suspend.target
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
Screenshot
Add this to i3 config file (requires maim and xclip):
bindsym Ctrl+Print exec --no-startup-id maim | xclip -selection clipboard -t image/png
bindsym Ctrl+$mod+Print exec --no-startup-id maim --window $(xdotool getactivewindow) | xclip -selection clipboard -t image/png
bindsym 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
They work 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 -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 application installed (and why):
- intel-ucode, nvidia: microcode for Intel CPU and nvidia drivers
- vlc firefox discord telegram-desktop git: I refuse to explain you what they are!
- alsamixer: the standard mixer used to control audio, we will later discuss it
- thunar: a simple, rich file manager
- gcc: GNU Compiler Collection
- htop: an advanced process manager
- i3: my Window Manager (WM)
- lxappearance: to change our GTK theme
- ntfs-3g: allow the os to read NTFS filesystem
- wget: tool to download stuff from the internet
- picom: allow trasparency on each window
- polybar: highly customizable bar
- powertop: it shows what apps consume our battery
- redshift: powerful eye-saver
- xdg-users-dirs: this is useful to create the standard directories of each user
- xclip: allow to copy-paste images
- maim: screenshot tool
- tree: beautifully display our directories in a tree
- xorg: display server
- neofetch: just an aesthetic thing for our terminal
- base-devel: building applications essential tools
- netctl: it controls our connection
- lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings: are used to setup a login page
- ttf-dejavu ttf-liberation noto-fonts: some fonts
- alacritty: a powerful gpu enhanced terminal, very beautiful
- dmenu: a menu that could open every app you installed in your system. Is pre-configured with i3
- ncdu: tool used to check free space
- brightnessctl: it manages brightness
- pulseaudio, alsa-tools, alsa-utils: they are useful to manage audio
- sof-firmware: audio firmware
- nitrogen: background picker
- siji: no font in my polybar config
If you liked this article, why don’t you take a peek at my website or check my profile on Github?
You may find interesting even this awesome article on how to install Arch in a few moves