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