Skip to content

proycon/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f11f9f5 ยท Mar 20, 2025
Jan 23, 2025
Nov 15, 2024
Mar 14, 2025
Nov 9, 2024
Nov 22, 2024
Mar 18, 2025
Jun 2, 2024
Aug 17, 2017
Oct 2, 2020
Aug 29, 2024
Mar 5, 2025
Dec 5, 2014
Feb 18, 2025
Jun 8, 2024
Jan 23, 2025
Feb 11, 2023
May 4, 2024
Sep 11, 2023
Sep 1, 2024
Nov 16, 2024
Aug 8, 2024
Feb 5, 2025
Oct 21, 2024
Aug 30, 2020
Mar 20, 2025
Jun 15, 2024
Mar 3, 2025
Nov 15, 2024
Jan 4, 2020
Mar 19, 2025
Feb 3, 2024
Aug 3, 2020
Nov 15, 2024
Nov 5, 2017
Feb 18, 2025
Nov 17, 2022
Nov 15, 2024
Jan 23, 2025
Nov 15, 2024
Jan 23, 2025
Feb 4, 2024
Feb 14, 2024
Nov 15, 2024
Jun 8, 2024
May 17, 2023
Jan 23, 2025
Nov 19, 2024
Nov 25, 2024
Sep 2, 2024
Mar 13, 2023
Aug 10, 2013
Mar 3, 2025
Feb 2, 2020
Oct 28, 2015
Dec 20, 2014
Jan 7, 2021
Feb 18, 2023
Nov 12, 2024
Mar 13, 2016
May 22, 2015
Dec 23, 2022
Nov 2, 2022
Oct 20, 2021
Nov 18, 2013
Jul 28, 2022
Mar 2, 2023
Feb 3, 2018
Mar 16, 2021
Dec 26, 2022
Aug 8, 2014
Sep 24, 2024
Sep 19, 2016
Nov 20, 2024
Sep 2, 2024
May 26, 2023
May 26, 2023
May 26, 2023
May 30, 2013
Nov 19, 2024
Jan 17, 2023
Nov 10, 2022
Jun 4, 2013
Oct 6, 2024
Jan 23, 2018
Jan 25, 2023
Aug 27, 2022
Jan 30, 2025

Repository files navigation

My dotfiles

Software

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)

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
    • TODO, very comparable to what I had for dwm though
  • dwm
    • cmd+1,2,3,4,5,6,7,8,9 - switch tags/workspace
    • cmd+Shift+1,2,3,4,5,6,7,8,9 - move window to selected workspaces
    • cmd+tab - Switch to last used workspace (and back)
    • cmd+period - switch to right monitor
    • cmd+comma - switch to left monitor
    • cmd+Shift+period - switch to right monitor
    • cmd+Shift+comma - switch to left monitor
    • cmd+space - Launcher (rofi)
    • cmd+enter - Put window in focus/master area
    • cmd+Shift+enter - New terminal
    • cmd+j|k - cycle window focus
    • cmd+l|h - resize master window
    • cmd+s - toggle sticky
    • cmd+Shift+backspace - Quit dwm (auto restarts)
    • cmd+Escape - Lock
    • cmd+Shift+Escape - Suspend
    • Layouts:
      • cmd+t - Switch to tiling layout
      • cmd+m - Monocle layout
      • cmd+apostrophe - cycle layouts
      • cmd+Shift+apostrophe - toggle floating
    • Timetracker:
      • cmd+slash - Timetracker
      • cmd+Shift+slash - Timetracker 15 minutes back
      • cmd+Ctrl+Shift+slash - Timetracker 60 minutes back
  • tmux
    • alt+left/right/up/down - Switch pane
    • alt+pageup/pagedown - Switch window
    • ctrl+a (prefix)
      • (number) - Switch window
      • c - 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/swap
      • x - Kill pane
      • z - zoom pane
      • ! - Break pane (to its own window)
      • l - Clear history
      • r - reload
      • v - copy mode
        • VI bindings (v,y,w,/,hjkl etc..)
      • P - paste buffer
      • Y - copy existing buffer to X clipboard and ~/.vbuf
      • I - Paste from ~/.vbuf (mnemonic: Insert from vim)
      • O - Paste from X clipboard
      • W - Swap window
      • Q - Swap pane
      • M - 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 - Commit
      • F10 - Push
    • documentation/navigation/LSP
      • K - documentation
      • <space>lc - Incoming calls
      • <space>lC - Outgoing calls
      • gd - Goto definition
      • gi - Goto implementation
      • gr - goto references
      • <space>ld - Goto definition
      • ga - 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