repos / dotfiles

my dotfiles

commit
2cb23f7
parent
0ce4da3
author
Eric Bower
date
2025-10-26 14:14:41 -0400 EDT
refactor: use river, rivercarro, and waybar

I thought I could get away with no status bar,
but it ended up being annoying
4 files changed,  +34, -97
M dot_config/fish/config.fish
+1, -2
 1@@ -1,6 +1,6 @@
 2 fish_config theme choose "dracula"
 3 
 4-fish_add_path ~/.deno/bin ~/.yarn/bin ~/go/bin ~/.npm-packages/bin ~/bin /usr/local/go/bin ~/.cargo/bin ~/neovim/bin ~/.local/bin
 5+fish_add_path ~/.local/bin /usr/local/go/bin ~/neovim/bin ~/.cargo/bin ~/.yarn/bin ~/.npm-packages/bin
 6 
 7 switch (uname)
 8   case Darwin
 9@@ -8,7 +8,6 @@ switch (uname)
10     fish_add_path /opt/homebrew/bin
11     fish_add_path ~/.local/bin
12   case Linux
13-    # set -xg OLLAMA_API_BASE "http://0.0.0.0:11434"
14     set -xg OPENAI_API_BASE "http://192.168.88.109:8080"
15     set -xg OPENAI_API_KEY ""
16   case '*'
M dot_config/river/init
+23, -84
  1@@ -1,132 +1,71 @@
  2 #!/bin/sh
  3 
  4-# This is the example configuration file for river.
  5-#
  6 # If you wish to edit this, you will probably want to copy it to
  7 # $XDG_CONFIG_HOME/river/init or $HOME/.config/river/init first.
  8-#
  9 # See the river(1), riverctl(1), and rivertile(1) man pages for complete
 10 # documentation.
 11 # Note: the "Super" modifier is also known as Logo, GUI, Windows, Mod4, etc.
 12 
 13-# Set keyboard repeat rate
 14+riverctl keyboard-layout -options "caps:swapescape" us
 15 riverctl set-repeat 25 300
 16 
 17 riverctl map normal Mod1 Return spawn foot
 18 riverctl map normal Mod1 D spawn bemenu-run
 19 
 20-# close the focused view
 21-riverctl map normal Mod1 Q close
 22-
 23-# exit river
 24-riverctl map normal Mod1+Shift E exit
 25+riverctl map normal Mod1 Q close      # close the focused view
 26+riverctl map normal Mod1+Shift E exit # exit river
 27 
 28 # focus the next/previous view in the layout stack
 29 riverctl map normal Mod1 J focus-view next
 30 riverctl map normal Mod1 K focus-view previous
 31 
 32-# swap the focused view with the next/previous
 33-# view in the layout stack
 34+# swap the focused view with the next/previous view in the layout stack
 35 riverctl map normal Mod1+Shift J swap next
 36 riverctl map normal Mod1+Shift K swap previous
 37-
 38-# focus the next/previous output
 39-riverctl map normal Mod1 Period focus-output next
 40-riverctl map normal Mod1 Comma focus-output previous
 41-
 42 # bump the focused view to the top of the layout stack
 43 riverctl map normal Mod1+Shift Return zoom
 44 
 45-# increment/decrement the main count of rivertile(1)
 46-riverctl map normal Mod1+Shift H send-layout-cmd rivertile "main-count +1"
 47-riverctl map normal Mod1+Shift L send-layout-cmd rivertile "main-count -1"
 48-
 49-# move views
 50-riverctl map normal Super H move left 100
 51-riverctl map normal Super J move down 100
 52-riverctl map normal Super K move up 100
 53-riverctl map normal Super L move right 100
 54-riverctl map-pointer normal Mod1 BTN_LEFT move-view
 55-
 56-# resize views
 57 riverctl map-pointer normal Mod1 BTN_RIGHT resize-view
 58-
 59-# toggle float
 60-riverctl map-pointer normal Mod1 BTN_MIDDLE toggle-float
 61+riverctl map normal Mod1 Space toggle-float
 62+riverctl map normal Mod1 F toggle-fullscreen
 63 
 64 for i in $(seq 1 9)
 65 do
 66     tags=$((1 << ($i - 1)))
 67-
 68-    # focus tag [0-8]
 69     riverctl map normal Mod1 $i set-focused-tags $tags
 70-
 71-    # tag focused view with tag [0-8]
 72     riverctl map normal Mod1+Shift $i set-view-tags $tags
 73-
 74-    # toggle focus of tag [0-8]
 75     riverctl map normal Mod1+Control $i toggle-focused-tags $tags
 76-
 77-    # toggle tag [0-8] of focused view
 78     riverctl map normal Mod1+Shift+Control $i toggle-view-tags $tags
 79 done
 80 
 81-# toggle float
 82-riverctl map normal Mod1 Space toggle-float
 83-
 84-# toggle fullscreen
 85-riverctl map normal Mod1 F toggle-fullscreen
 86-
 87-# change layout orientation
 88-riverctl map normal Mod1 Up    send-layout-cmd rivertile "main-location top"
 89-riverctl map normal Mod1 Right send-layout-cmd rivertile "main-location right"
 90-riverctl map normal Mod1 Down  send-layout-cmd rivertile "main-location bottom"
 91-riverctl map normal Mod1 Left  send-layout-cmd rivertile "main-location left"
 92-
 93-# Various media key mapping examples for both normal and locked mode which do
 94-# not have a modifier
 95 for mode in normal locked
 96 do
 97-    # Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer)
 98-    riverctl map $mode None XF86AudioRaiseVolume  spawn 'pamixer -i 5'
 99-    riverctl map $mode None XF86AudioLowerVolume  spawn 'pamixer -d 5'
100-    riverctl map $mode None XF86AudioMute         spawn 'pamixer --toggle-mute'
101-
102-    # Control screen backlight brightness with brightnessctl (https://github.com/Hummer12007/brightnessctl)
103-    riverctl map $mode None XF86MonBrightnessUp   spawn 'light -A 1'
104-    riverctl map $mode None XF86MonBrightnessDown spawn 'light -U 1'
105+    riverctl map -repeat $mode None XF86AudioRaiseVolume  spawn 'pamixer -i 5'
106+    riverctl map -repeat $mode None XF86AudioLowerVolume  spawn 'pamixer -d 5'
107+    riverctl map -repeat $mode None XF86AudioMute         spawn 'pamixer --toggle-mute'
108+    riverctl map -repeat $mode None XF86MonBrightnessUp   spawn 'light -A 1'
109+    riverctl map -repeat $mode None XF86MonBrightnessDown spawn 'light -U 1'
110 done
111 
112-# Set background and border color
113-riverctl borrder-width 2
114+riverctl border-width 3
115 riverctl background-color 0x282a36
116 riverctl border-color-focused 0xbd93f9
117 riverctl border-color-unfocused 0x81859b
118 
119-# Set keyboard layout to us and remap capslock to escape
120-riverctl keyboard-layout -options "caps:swapescape" us
121-
122-# Configure trackpad settings.
123-# Replace <trackpad_name> with the name of your trackpad.
124-# You can find the name of your trackpad by running `riverctl list-inputs`
125+wlr-randr --output eDP-1 --scale 1.7 # laptop display scale
126+# `riverctl list-inputs`
127 riverctl input pointer-2362-628-PIXA3854:00_093A:0274_Touchpad tap enabled
128 
129-# Make all views with an app-id that starts with "float" and title "foo" start floating.
130-riverctl rule-add -app-id 'float*' -title 'foo' float
131-
132-# Make all views with app-id "bar" and any title use client-side decorations
133-riverctl rule-add -app-id "bar" csd
134-
135-# Set the default layout generator to be rivertile and start it.
136-# River will send the process group of the init executable SIGTERM on exit.
137-riverctl default-layout rivertile
138-rivertile -main-ratio 0.7 -view-padding 5 -outer-padding 0 &
139-
140-wlr-randr --output eDP-1 --scale 1.7
141+riverctl map normal Mod1 W send-layout-cmd rivercarro "main-location-cycle monocle,left"
142+riverctl default-layout rivercarro
143+rivercarro -inner-gaps 3 -outer-gaps 0 &
144+riverctl send-layout-cmd rivercarro "main-location monocle"
145 
146-# Start gammastep for color temperature adjustment
147+# status bar
148+waybar &
149+# color temperature adjustment
150 gammastep -l 42.265385:-83.716557 -t 6500:3500 &
151-# Set GNOME font settings
152+# GNOME font settings
153 gsettings set org.gnome.desktop.interface font-name 'Noto Sans 10'
154-# Start notification daemon
155+# notification daemon
156 mako &
M dot_config/waybar/config
+9, -10
 1@@ -1,8 +1,8 @@
 2 {
 3 	"layer": "top",
 4   "position": "bottom",
 5-	"modules-left": ["sway/workspaces"],
 6-	"modules-center": ["sway/window"],
 7+	"modules-left": ["river/tags", "river/layout"],
 8+	"modules-center": ["river/window"],
 9 	"modules-right": ["battery", "backlight", "pulseaudio", "network", "clock"],
10 
11 	"pulseaudio": {
12@@ -15,15 +15,14 @@
13 			"default": ["", "", " "]
14 		}
15 	},
16-  "sway/workspaces": {
17-    "disable-scroll": true,
18-    "all-outputs": true,
19-    "format": "{name}"
20-  },
21-  "dwl/tags": {
22+  "river/tags": {
23     "num-tags": 5,
24-    "tag-labels": [ "1", "2", "3", "4", "5" ],
25-    "disable-click": false
26+    "tag-labels": [ "1", "2", "3", "4", "5" ]
27+  },
28+  "river/layout": {
29+    "format": "{}",
30+    "min-length": 4,
31+    "align": "right"
32   },
33 	"network": {
34 		"tooltip": false,
M dotfiles.sh
+1, -1
1@@ -15,7 +15,7 @@ TRACKED_FILES=(
2 )
3 
4 TRACKED_LOCATIONS=(
5-    ~/bin/
6+    ~/.local/bin/
7     ~/.config/
8     ~/.gitconfig
9     ~/.tmux.conf