Current setup:
- 🐧 OS: Arch Linux
- ⚙ Compositor: River
- 🍫 Bar: waybar
- 🐚 Shell: zsh
- 🤖 Terminal: foot
- 🤖 Terminal Multiplexer: tmux
- 📮 Mail Client: aerc
- 🌐 Web Browser: Firefox
- 🧮 Code/Text Editor: neovim
- 📜 Word Processing: LaTeX (but more often via Markdown + pandoc)
- 📊 Presentations: LaTeX with beamer (more often via Markdown + pandoc)
- 📜 PDF viewer: zathura
- 🎥 Media Player: mpv
- 🎵 Music: ncmpcpp (client) + mpd + snapcast
- 📝 Notes: neovim and markdown files in a git repo
- ✅ To-Do: todo.txt with my own todo.txt-more extension.
- 📆 Calendar: todo.txt-more
- 🗞️ RSS Client: newsboat
- 🎤 Podcasts: podboat (comes with newsboat)
- ⌨️ Launcher: bemenu
- 🌅 Photo viewer: imv
- 🌅 Photo editing: gimp
- 🌅 Image editing (vector): inkscape
- 📹 Video editing: kdenlive
- 💬 Chat: senpai + soju (IRC), bitlbee (XMPP), gomuks (Matrix), Telegram (or tg)
- 🔖 Bookmarks: buku + bemenu script
- 🔐 Password Management: pass
- 🤦 Social Media: Mastodon (sometimes via tut)
You probably don't want to use the install method if you're not me, but rather just pick and copy things you like into your own setup.
If you are me, you (me) can install all dotfiles including all system packages I use for my system as follows:
$ make install
On Arch Linux this essentially provisions and entire desktop system. The script is idempotent so can be rerun freely.
However, to forcibly update some things as well, use this instead:
$ make update
- river
- TODO, very comparable to what I had for dwm though
- dwm
cmd+1,2,3,4,5,6,7,8,9
- switch tags/workspacecmd+Shift+1,2,3,4,5,6,7,8,9
- move window to selected workspacescmd+tab
- Switch to last used workspace (and back)cmd+period
- switch to right monitorcmd+comma
- switch to left monitorcmd+Shift+period
- switch to right monitorcmd+Shift+comma
- switch to left monitorcmd+space
- Launcher (rofi)cmd+enter
- Put window in focus/master areacmd+Shift+enter
- New terminalcmd+j|k
- cycle window focuscmd+l|h
- resize master windowcmd+s
- toggle stickycmd+Shift+backspace
- Quit dwm (auto restarts)cmd+Escape
- Lockcmd+Shift+Escape
- Suspend- Layouts:
cmd+t
- Switch to tiling layoutcmd+m
- Monocle layoutcmd+apostrophe
- cycle layoutscmd+Shift+apostrophe
- toggle floating
- Timetracker:
cmd+slash
- Timetrackercmd+Shift+slash
- Timetracker 15 minutes backcmd+Ctrl+Shift+slash
- Timetracker 60 minutes back
- tmux
alt+left/right/up/down
- Switch panealt+pageup/pagedown
- Switch windowctrl+a
(prefix)(number)
- Switch windowc
- New window"
- New pane (horizontal split)%
- New pane (vertical split)ctrl+a
- Switch to last window (and back);
- Switch to last pane (and back)space
- Switch pane layout (cycles through a few), good for turning vertical panes horizontal and vice versa,
- Rename window/
- Flip/swapx
- Kill panez
- zoom pane!
- Break pane (to its own window)l
- Clear historyr
- reloadv
- copy mode- VI bindings (v,y,w,/,hjkl etc..)
P
- paste bufferY
- copy existing buffer to X clipboard and~/.vbuf
I
- Paste from~/.vbuf
(mnemonic: Insert from vim)O
- Paste from X clipboardW
- Swap windowQ
- Swap paneM
- Move pane (to another window or tmux)F
- Fingers mode
- vim
- leader is space
- navigate popup menus with C-j C-k
- spelling
z=
-- spelling suggestion:set spelllang
- buffers
C-^
-- previous buffer
- telescope
<leader> o
- git files<leader> f
- find files<leader> b
- find buffers<leader> F
- find inside files (live grep)
- building
F4
- Build and preview (syncronously) (tex, markdown); pip install . (python)F5
- Build and preview (asyncronously) (tex, markdown); pip install . (python)
- git (tpope/fugitive)
F9
- CommitF10
- Push
- documentation/navigation/LSP
K
- documentation<space>lc
- Incoming calls<space>lC
- Outgoing callsgd
- Goto definitiongi
- Goto implementationgr
- goto references<space>ld
- Goto definitionga
- show (unicode) character information
- editing
<space>_
- strip trailing whitespace- visual mode
gc
- (un)comment selection
- copy/paste
,y
- yank selection (to ~/.vbuf and X clipboard),p
- paste,P
- paste before