|
|
|
@ -69,7 +69,6 @@ doas apk add river river-doc |
|
|
|
|
doas apk add adwaita-icon-theme foot ttf-dejavu |
|
|
|
|
doas setup-devd udev |
|
|
|
|
doas apk add mesa-dri-gallium mesa-va-gallium |
|
|
|
|
doas apk add |
|
|
|
|
install -Dm0755 /usr/share/doc/river/examples/init -t ~/.config/river |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
@ -94,36 +93,19 @@ You should see the blue screen of river. Try to open terminal with Win+Shift+Ent |
|
|
|
|
|
|
|
|
|
### Login manager |
|
|
|
|
|
|
|
|
|
To enter username/password in GUI, get to river after that, and get back to logon screen after exiting river: |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
doas apk add elogind polkit-elogind |
|
|
|
|
doas rc-update add elogind |
|
|
|
|
doas rc-service elogind start |
|
|
|
|
doas apk add greetd greetd-gtkgreet cage |
|
|
|
|
doas addgroup greetd video |
|
|
|
|
doas rc-update add greetd |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
To get to river after logging in on `tty1`, and get back to `tty1` after exiting river, |
|
|
|
|
change `/etc/greetd/config.toml` |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
command = "cage -s -- gtkgreet" |
|
|
|
|
command = "agreety --cmd \"dbus-run-session -- river\"" |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
and create `/etc/greetd/environments` with a single line `river` |
|
|
|
|
|
|
|
|
|
and reboot. |
|
|
|
|
|
|
|
|
|
I didn't find a way to make cage+gtkgreet handle HiDPI, the text is very tiny. |
|
|
|
|
|
|
|
|
|
An alternative is agreety, but for some reason it seems that both greeter and standard linux login prompt |
|
|
|
|
run at the same time on the same terminal, making it impossible to actually login. |
|
|
|
|
|
|
|
|
|
### Installing Waybar |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
doas apk add waybar font-roboto |
|
|
|
|
doas apk add waybar font-roboto font-awesome |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
and add startup section at the end of river init file (`~/.config/river/init`): |
|
|
|
@ -133,33 +115,14 @@ and add startup section at the end of river init file (`~/.config/river/init`): |
|
|
|
|
riverctl spawn "waybar" |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
For time to work, |
|
|
|
|
``` |
|
|
|
|
doas apk add tzdata |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
For icons to work, |
|
|
|
|
``` |
|
|
|
|
doas apk add font-roboto |
|
|
|
|
``` |
|
|
|
|
(do not add `font-awesome`, for some reason it looks awful, kerning is terrible, and the text is all-caps in waybar with it) |
|
|
|
|
|
|
|
|
|
### HiDPI |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
doas apk add kanshi |
|
|
|
|
mkdir .config/kanshi |
|
|
|
|
doas apk add way-displays |
|
|
|
|
mkdir .config/way-displays |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
and create `.config/kanshi/config` with the following: |
|
|
|
|
``` |
|
|
|
|
profile { |
|
|
|
|
output eDP-1 enable scale 2.5 |
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
(`eDP-1` identifier was obtained by installing sway, running sway (by adding it to `/etc/greetd/environments`, |
|
|
|
|
and in terminal inside sway executing `swaymsg -t get_outputs`). |
|
|
|
|
and create `.config/way-displays/cfg.yaml` with the following: **TODO** |
|
|
|
|
|
|
|
|
|
#### HiDPI - cursors |
|
|
|
|
|
|
|
|
@ -179,21 +142,19 @@ gsettings set org.gnome.desktop.interface cursor-theme 'Adwaita' |
|
|
|
|
|
|
|
|
|
In terminal (not in terminal emulator in WM; you can always switch to the new terminal with Ctrl+Alt+F2) |
|
|
|
|
``` |
|
|
|
|
doas apk add terminus font |
|
|
|
|
doas apk add terminus-font |
|
|
|
|
setfont /usr/share/console-fonts/ter-132n.psf.gz |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
If it looks decent: change consolefont in `/etc/conf.d/consolefont` to `"ter-132n.psf.gz"` and `doas rc-update add consolefont boot` |
|
|
|
|
|
|
|
|
|
**Note that this will break your login manager for some reason** |
|
|
|
|
|
|
|
|
|
### Environment |
|
|
|
|
|
|
|
|
|
In order to not have to create wrapper scripts for all apps: |
|
|
|
|
|
|
|
|
|
Create `/usr/local/bin/inga-river` (and later `chmod +x /usr/local/bin/inga-river`) with the [following content](global/usr/local/bin/inga-river). |
|
|
|
|
|
|
|
|
|
and replace `river` with `inga-river` in `/etc/greetd/environments`. |
|
|
|
|
and replace `\"dbus-run-session -- river\"` with `inga-river` in `/etc/greetd/config.toml`. |
|
|
|
|
|
|
|
|
|
### Keyring |
|
|
|
|
|
|
|
|
@ -210,7 +171,7 @@ Reboot, login, make sure with `ps aux | grep key` that keyring daemon is running |
|
|
|
|
|
|
|
|
|
### Sudo for GUI apps |
|
|
|
|
|
|
|
|
|
`doas apk add -s polkit-gnome`, and add `riverctl spawn /usr/lib/polkit-gnome/polkit-gnome-authentication-agent` to your river config. |
|
|
|
|
`doas apk add polkit-gnome`, and add `riverctl spawn /usr/lib/polkit-gnome/polkit-gnome-authentication-agent` to your river config. |
|
|
|
|
|
|
|
|
|
### Launcher |
|
|
|
|
|
|
|
|
@ -222,9 +183,9 @@ riverctl map normal Super R spawn 'pidof bemenu-run || bemenu-run -i -n' |
|
|
|
|
|
|
|
|
|
### Screenshots |
|
|
|
|
|
|
|
|
|
`doas apk add wayshot`, then add this line to river config: |
|
|
|
|
`doas apk add grimshot`, then add this line to river config: |
|
|
|
|
``` |
|
|
|
|
riverctl map normal None Print spawn 'wayshot --stdout | wl-copy' |
|
|
|
|
riverctl map normal None Print spawn 'grimshot copy area' |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
### Clipboard |
|
|
|
@ -296,25 +257,25 @@ Yubikey should work in Chrome |
|
|
|
|
|
|
|
|
|
### Archives |
|
|
|
|
|
|
|
|
|
`apk install ouch` to avoid having to remember `tar` flags etc, and instead do `ouch decompress archive.tar.gz` (for any archive format). |
|
|
|
|
`doas apk add ouch` to avoid having to remember `tar` flags etc, and instead do `ouch decompress archive.tar.gz` (for any archive format). |
|
|
|
|
|
|
|
|
|
### Git |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
doas apk install git |
|
|
|
|
doas apk add git |
|
|
|
|
git config --global credential.helper --store |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
### Telegram |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
doas apk install telegram-desktop |
|
|
|
|
doas apk add telegram-desktop |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
### Element |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
doas apk install element-desktop |
|
|
|
|
doas apk add element-desktop |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
## Hardware |
|
|
|
@ -355,12 +316,14 @@ doas rc-service acpid restart |
|
|
|
|
|
|
|
|
|
### WiFi |
|
|
|
|
|
|
|
|
|
At the moment Linux kernel does not support Qualcomm NFA725. |
|
|
|
|
**TODO 2024** |
|
|
|
|
|
|
|
|
|
Otherwise, alpine wiki describes how to configure WiFi using `iwd`. |
|
|
|
|
|
|
|
|
|
### Backlight |
|
|
|
|
|
|
|
|
|
***TODO 2024** |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
doas apk add light |
|
|
|
|
doas micro /etc/udev/rules.d/backlight.rules |
|
|
|
@ -407,25 +370,14 @@ riverctl input 2:10:TPPS/2_Elan_TrackPoint pointer-accel -0.5 |
|
|
|
|
Based on https://wiki.alpinelinux.org/wiki/PipeWire |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
doas apk add dbus dbus-openrc |
|
|
|
|
doas rc-service dbus start |
|
|
|
|
doas apk add pipewire wireplumber rtkit alsa-utils pipewire-alsa |
|
|
|
|
doas addgroup YOURUSER rtkit |
|
|
|
|
doas addgroup root audio |
|
|
|
|
alsamixer |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
In alsamixer, use F6 to find the target sound card (most likely 0 is HDMI and 1 is ordinary). |
|
|
|
|
Remember its number, and in `/usr/share/alsa/alsa.conf`, |
|
|
|
|
replace `defaults.ctl.card` and `defaults.pcm.card` with the target number. |
|
|
|
|
|
|
|
|
|
In `/usr/local/bin/inga-river`, replace `river $@` with `dbus-run-session -- river $@`, |
|
|
|
|
relogin (Ctrl+Shift+E). |
|
|
|
|
|
|
|
|
|
Then |
|
|
|
|
``` |
|
|
|
|
doas rc-service alsa start |
|
|
|
|
doas rc-update add alsa |
|
|
|
|
/usr/libexec/pipewire-launcher |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
@ -437,12 +389,12 @@ Then make pipewire start automatically: in river config, add another startup lin |
|
|
|
|
riverctl spawn "/usr/libexec/pipewire-launcher" |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
Control microphone and volume with `alsamixer`. |
|
|
|
|
Control volume with `wpctl`. |
|
|
|
|
And change the handlers for XF86Audio (adding `-repeat` and replacing the spawned command): |
|
|
|
|
``` |
|
|
|
|
riverctl map -repeat $mode None XF86AudioRaiseVolume spawn 'amixer set "Master" 5%+' |
|
|
|
|
riverctl map -repeat $mode None XF86AudioLowerVolume spawn 'amixer set "Master" 5%-' |
|
|
|
|
riverctl map $mode None XF86AudioMute spawn 'amixer set "Master" toggle' |
|
|
|
|
riverctl map -repeat $mode None XF86AudioRaiseVolume spawn 'wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 1%+' |
|
|
|
|
riverctl map -repeat $mode None XF86AudioLowerVolume spawn 'wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 1%-' |
|
|
|
|
riverctl map $mode None XF86AudioMute spawn 'wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle' |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
Note that the internal microphone does not work and is not detected by pipewire. |
|
|
|
|