proycon / dotfiles

My dotfiles

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

My dotfiles


Languages

Language:Shell 30.4%Language:Vim Script 29.3%Language:Lua 13.2%Language:Python 10.2%Language:Vim Snippet 4.9%Language:JavaScript 4.3%Language:Perl 4.2%Language:Makefile 1.3%Language:C 1.0%Language:GLSL 0.5%Language:AppleScript 0.4%Language:CSS 0.3%Language:Dockerfile 0.1%Language:TeX 0.0%