Dotfiles
My dotfiles (mirror of https://git.sr.ht/~proycon/dotfiles)
Install / Use
/learn @proycon/DotfilesREADME
My dotfiles

Software
Current setup:
- 🐧 OS: Arch Linux (workstation & laptop) / postmarketOS (2nd laptop & phone, with sxmo)
- ⚙ Compositor: River
- ⚙ Window Manager: kwm
- 🍫 Bar: kwm's bar with custom blocks
- 🐚 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: rmpc (client) or ncmpcpp (client) with 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: newsraft
- 🎤 Podcasts: same as above
- ⌨️ Launcher: bemenu
- 🌅 Photo viewer: swayimg
- 🌅 Photo editing: gimp
- 🌅 Image editing (vector): inkscape
- 📹 Video editing: kdenlive
- 💬 Chat: senpai + soju (IRC), nheko (Matrix, using bridges for Signal, Discord, Telegram), Dino (XMPP)
- 🔖 Bookmarks: buku + bemenu script
- 🔐 Password Management: pass
- 🛩 Flight Simulator: X-Plane 12 with simheaven, LittleNavMap,
- 🤦 Social Media: Mastodon
Install
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
Key bindings
- river/kwm
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- move window to right monitorcmd+Shift+comma- move windows to left monitorcmd+space- Launcher (kickoff)cmd+shift+space- Launcher (fuzzel)cmd+enter- Put window in focus/master areacmd+Shift+enter- New terminalcmd+j|k- cycle window focuscmd+l|h- resize windowcmd+ctrl+delete- Quitcmd+Escape- Lockcmd+Shift+Escape- Suspend- Layouts:
cmd+t- Switch to tiling layoutcmd+m- Monocle layoutcmd+g- Grid layoutcmd+s- Scroll layoutcmd+Shift+apostrophe- toggle floating
- Timetracker:
cmd+slash- Timetrackercmd+Shift+slash- Stop tracking
- 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 bufferW- 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 calls<space>ld- Goto definitiongi- Goto implementationgr- goto referencesga- show (unicode) character information
- editing
<space>_- strip trailing whitespace- visual mode
gc- (un)comment selection
