diff --git a/README.md b/README.md index a7d7e76..9bc573c 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/dotfiles/.config/kanshi/config b/dotfiles/.config/kanshi/config deleted file mode 100644 index d68d0b7..0000000 --- a/dotfiles/.config/kanshi/config +++ /dev/null @@ -1,8 +0,0 @@ -#profile { -# output eDP-1 enable scale 2 -# output DP-2 enable scale 2 -#} - -profile { - output eDP-1 enable scale 2 -} diff --git a/dotfiles/.config/river/init b/dotfiles/.config/river/init index e4da95d..43de6f8 100755 --- a/dotfiles/.config/river/init +++ b/dotfiles/.config/river/init @@ -130,9 +130,9 @@ do riverctl map $mode None XF86Eject spawn 'eject -T' # Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer) - riverctl map -repeat $mode None XF86AudioRaiseVolume spawn "wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+" - riverctl map -repeat $mode None XF86AudioLowerVolume spawn "wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%-" - 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' riverctl map $mode None XF86AudioMicMute spawn 'amixer set "Master" toggle' # Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl) diff --git a/dotfiles/.config/waybar/config b/dotfiles/.config/waybar/config index f6a9c12..9c73928 100644 --- a/dotfiles/.config/waybar/config +++ b/dotfiles/.config/waybar/config @@ -7,7 +7,7 @@ // Choose the order of the modules "modules-left": ["river/tags", "river/mode", "custom/media"], "modules-center": ["river/window"], - "modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"], + "modules-right": ["mpd", "idle_inhibitor", "wireplumber", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"], // Modules configuration // "sway/workspaces": { // "disable-scroll": true, @@ -125,6 +125,12 @@ "format-disconnected": "Disconnected ⚠", "format-alt": "{ifname}: {ipaddr}/{cidr}" }, + "wireplumber": { + "format": "{volume}% {icon}", + "format-muted": "", + "on-click": "helvum", + "format-icons": ["", "", ""] + }, "pulseaudio": { // "scroll-step": 1, // %, can be a float "format": "{volume}% {icon} {format_source}", diff --git a/dotfiles/.config/waybar/style.css b/dotfiles/.config/waybar/style.css index f26fad5..ce8eae7 100644 --- a/dotfiles/.config/waybar/style.css +++ b/dotfiles/.config/waybar/style.css @@ -74,6 +74,7 @@ window#waybar.chromium { #backlight, #network, #pulseaudio, +#wireplumber, #custom-media, #tray, #mode,