These are my dotfiles. I keep things as minimal as possible — no flashy colors, no distractions.
Tools that I use:
I used to have my own build, but as bugs started occuring especially with regards to sixel image generation, I started using st-flexipatch.
A manual TWM is always better than a dynamic WM.
Along with i3blocks (scripts used are at bin/statusbar):
LF is by far the most feature-rich terminal file manager I've ever used. For image generation I use SIXEL, which is much better than using something like ueberzug.
For note taking I ues Emacs+org-mode.
For software development I've been using Neovim for 6 years now.
I use my modified version of arkenfox (See: https://github.com/arkenfox/user.js/):
Using keyd, I remap my capslock key to Control, and my rightalt to Super.
[main]
capslock = layer(control)
rightalt = layer(meta)
i3 Keybindings
| Keys | Action |
|---|---|
| Super + Shift + Q | Power menu |
| Super + Shift + X | Kill window (xkill) |
| Super + F1 | mykdc |
| Super + Shift + F1 | mykdc -s |
| Super + Z | Launch boomer |
| Super + Return | Launch terminal |
| Super + W | Launch vuetify-api |
| Super + Shift + W | Focus/launch browser |
| Super + T | Launch transs |
| Super + E | Emoji selector |
| Super + V | Clipmenu |
| Super + Shift + V | Pulsemixer |
| Super + C | Color picker |
| Super + N | Open todo.org |
| Super + O | Rerun menu-wrapper |
| Super + Shift + O | Handler menu |
| Super + U | Drag clipboard URL with class |
| Super + Shift + U | Drag clipboard URL |
| Super + Shift + N | Open http://127.0.0.1:8087 |
| Super + Shift + R | Open readlater |
| Super + P | Flameshot GUI |
| Super + Shift + P | Screenshot menu |
| Super + Alt + P | Delayed screenshot menu |
| XF86AudioLowerVolume | Volume down 5% |
| XF86AudioRaiseVolume | Volume up 5% |
| Super + Minus | Volume down 5% |
| Super + Equal | Volume up 5% |
| Super + Shift + Minus | Toggle mute |
| Super + Shift + Equal | Volume max |
| Super + F9 | mpc-wrapper -r |
| Super + F10 | mpc-wrapper -p |
| Super + Shift + F10 | mpc-wrapper -P |
| Super + F11 | mpc-wrapper -t |
| Super + Shift + F11 | Pause all players |
| Super + F12 | mpc-wrapper -n |
| Super + Shift + F12 | mpc-wrapper -N |
| Super + Backspace | Close all notifications |
| Super + Shift + Backspace | Dunst history pop |
| Super + Alt + Backspace | Toggle Dunst paused |
| Super + Comma | Brightness down 5% |
| Super + Shift + Comma | Brightness 1% |
| Super + Period | Brightness up 5% |
| Super + Shift + Period | Brightness 100% |
| Super + F5 | Set brightness via tee |
| Super + I | Rescan Wi-Fi and wait |
| Super + Shift + I | Launch nmtui |
| Super + Insert | transs -p |
| Super + Shift + Insert | transs -c |
| Super + Delete | transs -ap |
| Super + Shift + Delete | transs -ac |
tmux Keybindings
| Keys | Action |
|---|---|
| M-; | Split window (vertical) in current path |
| M-: | Split window (horizontal) in current path |
| C-1 to C-8 | Go to or create window 1–8 in current path |
| C-9 | Go to last window |
| M-1 to M-8 | Go to or create window 1–8 in current path |
| M-9 | Go to last window |
| M-i | Go to last used window |
| M-w | Show popup-main |
| M-l | Scratchpad: lfrun |
| M-q | Detach client |
| C-t | Rotate window |
| C | New window in current path (prefix + C) |
| M-o | New window with htop |
| y (in copy mode) | Copy selection using xclip-or-wl-copy |
lf Keybindings
| Keys | Action |
|---|---|
| DD | Move to trash (trash-put) |
| DL | Delete permanently |
| DS | Shred file |
| TT | Go to trash folder |
| TR | Clear screen and restore from trash |
| TE | Clear screen and empty trash |
| Z | Convert PDF (pdfConvert) |
| Y | Copy to |
| M | Move to |
| Alt+M | Move to |
| o | Open with default app |
| O | Open with menu |
| Ctrl+O | Ask default open with mimeopen |
| x | Execute file with !clear; $f |
| X | chmod |
| w | Open terminal with setsid |
| U | Show dir size (du -sh) |
| u | Unselect |
| Alt+R | Reload config (so) |
| Ctrl+R | Reload and redraw |
| Ctrl+G | Glob-select all |
| Ctrl+J | zi |
| Ctrl+F | :fzf_jump |
| gs | :fzf_search |
| Ctrl+Space | Toggle select and move up |
| / | Search forward |
| ? | Search backward |
| Alt+/ | Search forward |
| Alt+? | Search backward |
| K | Launch $kdcfiles-menu with selection |
| P | Run $myscp with selection |
| ) | Upload to 0x0 |
| A | Rename (end) |
| a | Rename (after extension) |
| I | Rename (start) |
| i | Rename (before extension) |
| r | Push rename command |
| B | Bulk rename |
| b | Set wallpaper/background |
| Alt+E | Echo filename |
| L | Create link |
| V | Invert below |
| yy | Copy |
| yp | Yank path |
| yn | Yank name |
| yP | Yank full path |
| Ctrl+A Z | Zip file |
| Ctrl+A T | Tar file |
| Ctrl+A G | Tar.gz file |
| Ctrl+A B | Tar.bz2 file |
| E | Extract |
| m | Make directory |
| f | Create file |
| S | Select all files |
| R | Resize image |
| Cr | Convert image to JPG |
| Co | Compress video |
| sS | Strip whitespace |
| Tab | Prepend line in file (replace command) |
| dd | Cut |
| dr | Drag-and-drop with dragon |
| dm | Move via dragon |
| dc | Copy via dragon |
| dl | Download file (drag-related) |
| P | Open current dir in pcmanfm |
Emacs (Evil) Keybindings
| Keys | Action |
|---|---|
| Alt+Space | (insert) — disabled |
| Ctrl+U | (insert) — kill to line start |
| Alt+U | Universal argument |
| Alt+Shift+U | Negative argument |
| Alt+D | Duplicate line |
| z d | Dictionary lookup |
| SPC w | Save buffer |
| SPC W | Write file |
| SPC = | Indent buffer |
| - | Open dired in current dir |
| SPC a | Open org-agenda |
| SPC B | Magit blame toggle |
| SPC g | Magit status |
| SPC y | Yank history popup |
| gs | Ripgrep search |
| SPC R | Find file as root |
| SPC u | Undo tree visualize |
| SPC M | Open new frame |
| SPC O | Open URL with xdg-open |
| SPC f | Find file |
| SPC v | Find alternate file |
| SPC b | Switch buffer |
| SPC r | Recent files |
| SPC j | Jump to bookmark |
| SPC J | Set bookmark |
| SPC k | Close current buffer |
| Ctrl+Shift+T | Open last closed |
| SPC P | Project switch |
| SPC p | Project find file |
| SPC c | Org capture |
| SPC C | Open calc |
| SPC d | Open diary |
| SPC D | Open journal |
| SPC t | Open org TODO |
| SPC s | Open vterm |
| SPC T | Org capture TODO |
| SPC n | Open notes |
| SPC R | Reload init file |
| SPC o (html) | Open buffer URL (html-mode) |
| SPC / (org) | Org sparse tree |
| Alt+P (org) | Push Anki notes |
| SPC e (org) | Emphasize |
| Alt+B (org) | Emphasize bold |
| SPC A (org) | Mark done and archive |
| SPC i (org) | Org goto |
| SPC E (org) | Show inline images |
| SPC xi | Org clock-in |
| SPC xo | Org clock-out |
| SPC xx | Org clock display |
| SPC l | Org store link |
| SPC L | Org insert link |
| SPC o (org) | Org open at point |
| SPC e (elisp) | Eval last sexp |
| SPC E (elisp) | Eval region or buffer |
| ( | Prev open paren (elisp) |
| ) | Next close paren (elisp) |
| Ctrl+C (minib) | Abort minibuffer |
| Ctrl+C (ins) | Exit insert state |
| Ctrl+C (vis) | Exit visual state |