My dotfiles
Arch Linux build:
- display server:
XorgXLibre (X11) - no desktop environment
- display manager: LightDM
- window manager: XMonad
- compositor: yshui/picom
Install xorg-server
https://wiki.archlinux.org/title/Xorg
Le roi est mort, vive le roi !
(No, not Wayland)
https://github.com/X11Libre/xserver
Install picom
Install the following packages
pipewire wireplumber pipewire-pulse pipewire-alsa pipewire-jack pavucontrol
Install LightDM and its GTK greeter
lightdm lightdm-gtk-greeter
Enable lightdm.service
Note
If login fails with "wrong password" be sure to check the
current keyboard layout. Eg. for FR it must be set as an X config
/etc/X11/xorg.conf.d/00-keyboard.conf
Copy lightdm/lightdm-gtk-greeter.conf to /etc/lightdm/
https://wiki.archlinux.org/title/LightDM#Installation
- install
base-devel\ - install Rust https://rust-lang.org/tools/install/
- install
rua
git clone https://aur.archlinux.org/rua.git
cd rua
makepkg -si
https://github.com/vn971/rua#install-the-aur-way
Main fonts
ttf-inconsolata ttf-roboto noto-fonts ttf-dejavu ttf-liberation
Emoji font
noto-fonts-emoji
Refresh font cache
fc-cache
fc-listFirst create the directory /usr/local/share/fonts/ttf/ and
place any custom fonts under it
Important
Most of the required system deps should be already installed (via xorg).
But some of them could be missing and need to be installed,
like libxss ref
Then install stack. Take the bin version from AUR to avoid the
plethora of Haskell dependencies.
rua install stack-binClone the sources in /opt/xmonad
git clone https://github.com/xmonad/xmonad
git clone https://github.com/xmonad/xmonad-contribCopy the config file xmonad/xmonad.hs to /opt/xmonad/.
Copy the xmonad/lib directory to /opt/xmonad/ (it contains a
custom layout).
Init the project to generate the stack.yaml file
stack initstack installXmonad expects xmonad.hs and stack.yaml to be in
~/.config/xmonad/
Use symlinks instead (does not make sense to have source files
under the config directory)
cd ~/.config/xmonad
ln -s /opt/xmonad/xmonad.hs xmonad.hs
ln -s /opt/xmonad/stack.yaml stack.yamlsource: https://xmonad.org/INSTALL.html
Copy xsessions/xmonad.desktop in /usr/share/xsessions
source: https://wiki.archlinux.org/title/Display_manager#Session_configuration
Clone the sources and build the project
git clone https://codeberg.org/xmobar/xmobar.gitOverride stack.yaml to only build needed features
cp xmobar/stack.yaml .Add xmobarrc to ~/config/xmobar/.
Finally build and install it
stack installeza rofi dunst dmenu clipmenu stalonetray shotgun graphicsmagick
xwallpaper udiskie xclip slop gpick ouch go-yq
aur
trashy
sudo pacman -S xdg-user-dirs
xdg-user-dirs-updatesource: https://wiki.archlinux.org/title/XDG_user_directories
Tip
To remove unwanted dirs like ~/Desktop, ~/Templates or ~/Public
just rm -rf them then run xdg-user-dirs-update
Install i3lock-color from AUR
Copy systemd_unit/suspend@.service to /etc/systemd/system/
and enable it
sudo systemctl enable suspend@pierre.service
https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate#Sleep_hooks
Install materia
materia-gtk-theme
edit .config/gtk-3.0/settings.ini
[Settings]
gtk-icon-theme-name = Papirus
gtk-theme-name = Materia-dark
gtk-font-name = Roboto 12
edit ~/.gtkrc-2.0
gtk-icon-theme-name = "Papirus"
gtk-theme-name = "Materia-dark"
gtk-font-name = "Roboto 12"
For gnome apps
gsettings set org.gnome.desktop.interface gtk-theme Materia-dark
gsettings set org.gnome.desktop.interface color-scheme prefer-dark
gsettings set org.gnome.desktop.interface icon-theme Papirus
gsettings set org.gnome.desktop.interface cursor-theme XCursor-Pro-Dark
gsettings set org.gnome.desktop.interface cursor-size 48flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.gtk.Gtk3theme.Materia-darkInstall hicolor-icon-theme and papirus-icon-theme Papirus
Edit /usr/share/icons/default/index.theme
[Icon Theme]
Inherits=Papirus
https://wiki.archlinux.org/title/Icons#Manually
To install XCursor-Pro-Dark run
./install_xcursor.sh
To apply the theme edit .Xresources
Xcursor.theme: XCursor-Pro-Dark
https://wiki.archlinux.org/title/Cursor_themes
Install xwallpaper package
xwallpaper is spawned by XMonad
The wallpaper image is defined by $BG_PRIMARY env variable
eg. in .xprofile
export BG_PRIMARY=$HOME/Pictures/dark_ocean.pngDPI is set in .Xresources
Xft.dpi: 144
it will be loaded during display manager (ligthdm) starts and sources .xprofile
[[ -f "$home/.Xresources" ]] && xrdb -merge $home/.Xresourcessources:
- https://wiki.archlinux.org/title/HiDPI#X_Resources
- https://wiki.archlinux.org/title/LightDM#Environment_variables
larger font for linux console
$ sudo pacman -S terminus-fontadd in /etc/vconsole.conf
FONT=ter-v32b
source: https://wiki.archlinux.org/title/HiDPI#Linux_console_(tty)
The following notes are relevant to the installation of Arch Linux.
cd /var/lib/flatpak/exports/share/applicationsrename the links to match this format: obs.desktop, vlc.desktop
To prevent the journal to take 4Gb space of disk memory copy the
configuration file 00-journal-size.conf (from the conf dir in
this repo) into /etc/systemd/journald.conf.d/ directory (create it)
(the default is 4Gb)
source: https://wiki.archlinux.org/title/Systemd/Journal#Journal_size_limit
Install gnome-keyring and libsecret
Enable the following systemd user unit (⚠ no sudo)
systemctl --user enable gcr-ssh-agent.socketSet the env var SSH_AUTH_SOCK to /run/user/1000/gcr/ssh
(.xprofile/ fish config)
→ https://wiki.archlinux.org/title/GNOME/Keyring
about:config tweaks:
- increase UI size
ui.textScaleFactor 180
- scrollbar width
widget.non-native-theme.scrollbar.size.override 48
widget.non-native-theme.enable true
install
bluez bluetui
start/enable bluetooth.service
To customize the speed use the magic trackpoint multiplier
First, find the device name
sudo libinput list-devices | rg -i trackpoint
Create /etc/libinput/local-overrides.quirks
[Trackpoint Override]
MatchUdevType=pointingstick
MatchName=*TPPS/2 Elan TrackPoint*
AttrTrackpointMultiplier=1.5
Default multiplier value is 1.0
ref:
https://wayland.freedesktop.org/libinput/doc/latest/trackpoint-configuration.html\
ref https://wiki.archlinux.org/title/TrackPoint#device-quirks