User:Louson

From ArchWiki

Install

Mainline

Wayland :

  • sway + dmenu-wayland-git(AUR)

Performances

Laptop specific

Hibernation

Enable hibernation

Hibernation

  • Create swap
  • Initramfs : add resume in /etc/mkinitcpio.conf and reload it with $ mkinicpio -P.
  • Command line : add resume=UUID=<UUID> to the comandline in grub.
Automatic hibernation
Low battery

Laptop#Hibernate_on_low_battery_level, in case you have UDEV battery events.

/etc/udev/rules.d/99-lowbat.rules
# Suspend the system when battery level drops to 5% or lower
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="[0-5]", RUN+="/usr/bin/systemctl hibernate"
After a delay

Active automatic suspend in /etc/systemd/logind.conf:

HandlePowerKey=suspend-then-hibernate
HandleLidSwitch=suspend-then-hibernate

Change delay in /etc/systemd/sleep.conf:

HibernateDelaySec=45min

Post-install

ssh

ssh agent

https://wiki.archlinux.org/title/SSH_keys#SSH_agents

i3

urxvt + tmux

.config/i3/i3.conf
bindsym $mod+Return exec urxvt -e tmux
.config/tmux/tmux.conf
set -g default-terminal "tmux-256color"
set -g default-command "${SHELL}"

Bindings

.config/i3/i3.conf
# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +2% #increase sound volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -2% #decrease sound volume
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle # mute sound
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle # mute sound

# Screen brightness controls
bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness
bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness

# Screen display
bindsym XF86Display exec autorandr --change

## Screenshots
bindsym Print exec --no-startup-id maim "/home/$USER/Pictures/$(date).png"
bindsym $mod+Print exec --no-startup-id maim --window $(xdotool getactivewindow) "/home/$USER/Pictures/$(date).png"
bindsym Shift+Print exec --no-startup-id maim --select "/home/$USER/Pictures/$(date).png"
## Clipboard Screenshots
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

Blue light filter

Start redshift as user:

$ systemctl --user enable --now redshift-gtk.service

MPD

System wide mpd needs TCP connection to pulseaudio https://wiki.archlinux.org/index.php/Music_Player_Daemon/Tips_and_tricks#Local_(with_separate_mpd_user).

Bluetooth

Using pulseaudio

$ pulseaudio --start
$ pavucontrol

ldconfig does not load /usr/local/lib

Enable /usr/local/lib in ldconfig:

/etc/ld.so.conf.d/usrlocal.conf
/usr/local/lib

And restart the systemd service ldconfig.service.

Probe

Install hw-probeAUR and run :

$ sudo -E hw-probe -all -upload
Results
Machine Date quality
Asus zenbook 2020-09-29 fine
HP Envy 2021-02-21 crap
ThinkPad T14 2022-04-25 good

Wayland

Check the page : https://github.com/swaywm/sway/wiki/i3-Migration-Guide#common-x11-apps-used-on-i3-with-wayland-alternatives

Rip CD

Ripit

https://musicbrainz.org/doc/MusicBrainz_Enabled_Applications ripit + musicbrainz ripit --mb

ABCDE

 $ abcde

Set maximum quality with the conf:

~/.abcde.conf
OGGENCOPTS='-q 9'

Beets

beets is a nice util for tagging

 $ beet import -P <dir>

will copies the music to the configured directory. `-P` avoid temporary .wav files. `-N` to avoid questions.

Plugins

Add `mpdupdate` to the list of plugins to alert mpd when changes happen.

~/.config/beets/config.yaml
mpd:
    host: localhost
    port: 6600

beets-checkAUR can be used to checksum audio files. Add `check` to the list of plugin and run:

 $ beet check -a

Install `liboggz` for ogg check.

Add a DiscId

picard + https://musicbrainz.org/doc/How_to_Add_Disc_IDs

Create a builder with systemd-nspawn

Wiki page: Systemd-nspawn

Get an archived version

If you need an ancient version, you can look in the archives.

Download a tarball of the latest or an archive.

And extract to specific directory

Configure pacman

Change /etc/pacman.d/mirrorlist to allow a mirror. For an archived version, change it with the following content:

##                                                                              
## Arch Linux repository mirrorlist                                             
## Generated on 2042-01-01                                                      
##
Server=https://archive.archlinux.org/repos/<yyyy>/<mm>/<dd>/$repo/os/$arch

Log in with systemd-nspawn. To log on a i686 archi, prefix the command with linux32 or add the option --personality=x86.

$ sudo systemd-nspawn -D <rootfs dir>

Install the keys :

# pacman-key --init
# pacman-key --populate archlinux
# pacman-key --refresh-keys

Update with

# pacman -Syyuu

Install base packages :

# pacman -S base base-devel


Follow installation guide after chroot

https://wiki.archlinux.org/index.php/Installation_guide#Time_zone

Set the time zone:

# ln -sf /usr/share/zoneinfo/Region/City /etc/localtime


Edit /etc/locale.gen and uncomment en_US.UTF-8 UTF-8 and other needed locales. Generate the locales by running:

# locale-gen

Create the locale.conf(5) file, and set the LANG variable accordingly:

/etc/locale.conf
LANG=en_US.UTF-8

Bind a volume

[Files]
Bind=<host point>:<dest point>

To avoid mount on user nobody:

[Exec]
PrivateUsers=no

Synchronization

Syncthing

http://localhost:8384

D-bus

Policy in /usr/local/share

By default, the policy must be stored in /etc/dbus-1/system.d or /usr/share/dbus-1/system.d. If you need this, create /etc/dbus-1/system-local.conf with the following content:

/etc/dbus-1/system-local.conf
<busconfig>
  <includedir>/usr/local/share/dbus-1/system.d</includedir>
</busconfig>