Emacs, StumpWM, bashrc, misc scripts, mail, and basically the functionality of a DE
This is pretty much every configuration file for me.
Here are the programs that use the config files here: (Note: if a config file loads more config files, I won’t list them all)
| Program | Config file(s) | For |
|---|---|---|
| bash | .bashrc, .bash_profile | shell |
| compton | compton.conf | X compositor (transparency) |
| dunst | dunstrc | desktop notification daemon |
| git | .gitconfig | version control |
| GNU Emacs | init.el | text editor |
| GNU Screen | .screenrc | terminal multiplexer |
| mutt | .muttrc | email client |
| ncmpcpp | config | MPD client |
| SBCL | .sbclrc | Common Lisp interpreter |
| StumpWM | .stumpwmrc | X Window Manager |
| XTerm, URxvt | Xresources | terminal emulator |
| X | .xinitrc, Xresources, Xmodmap | X Window System |
Basically use the Makefile (i.e. make)
After the Makefile installs pretty much everything, you have to start up Emacs and wait a while for it to download all my packages. (See “emacs” section)
Note: If you are not Benjamin James, you might want to change some things in .gitconfig.
If you just want an Emacs config,
instead of typing make, type make emacs to just install the Emacs files.
Note that if you already had a .emacs in your home directory, it will load that first instead of loading this config.
Once you start up Emacs, wait a while for it to download all my packages.
Then, in Emacs, type M-x irony-install-server and wait for it to compile to complete the installation.
Note that irony-mode requires llvm and cmake to be installed on the system.
I have remapped my keyboard in X with xmodmap to be similar with the Space-cadet keyboard with which Emacs was originally designed.
So, it transforms the bottom row of the keyboard from
| Fn | Control | Super | Alt | Spacebar | Alt | Control |
|---|
to
| Fn | Super | Alt | Control | Spacebar | Control | Alt | Super |
|---|
which has been easier to type on for me.
The implementation is in Xmodmap.
To disable this, comment out this line in .xinitrc
[[ -f $usermodmap ]] && xrdb -merge $userresourcesbefore starting X.
If you want to unset this live (in an X session), type
setxkbmap -layout usinto a terminal.
My crontab is
DISPLAY=:0.0
XAUTHORITY=/home/ben/.Xauthority
*/3 * * * * /usr/bin/fetchmail
* * * * * /home/ben/bin/fortune-teller.sh
* * * * * /home/ben/bin/wallpaper.shMail is done through a fetchmail/procmail/msmtp process so reading is all done through mail. Fetchmail is called by cron every couple of minutes.
Here’s a sample .fetchmailrc skeleton:
set logfile @HOME@/.local/share/fetchmail.log set no bouncemail poll @EMAIL_SERVER@ with proto POP3 port 995 dns auth password user "@EMAIL@" pass "@PASSWORD@" is @USERNAME@ ssl sslproto TLS1 mda "/usr/bin/procmail -f %F -d %T"
And a sample .msmtprc skeleton:
# Set default values for the following accounts defaults tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt logfile .local/share/msmtp.log account primary host @EMAIL_SERVER@ from @EMAIL@ tls_starttls on port 587 auth on user @EMAIL@ password "@PASSWORD@" account default : primary
Since I am listing these dependencies, you have to externally download them, or you could remove their parts in the files provided.
| Package name | Description | Dependency for | In file |
|---|---|---|---|
| ALSA | Volume control | StumpWM config | commands.lisp |
| compton | X compositor (transparency) | X config | .xinitrc |
| conkeror | Web browser | StumpWM config | .stumpwmrc |
| cmake | build system | building irony-mode (Emacs) | init.el |
| DejaVu fonts | system wide fonts | URxvt, GTK3 theme, dunst fonts | Xresources, settings.ini, dunstrc |
| devmon/udevil | auto-mounting devices | X config | .xinitrc |
| dmenu | autocompleting application launcher | StumpWM config | commands.lisp |
| dunst | desktop notification daemon | X config | .xinitrc |
| feh | setting background, image viewer | X config | .xinitrc |
| git-dude | git notifications | X config | .xinitrc |
| humans | So you can killall humans | X config | .xinitrc |
| libclang | backend for company-mode | Emacs company.el | init.el |
| MPD | video player | StumpWM config | .stumpwmrc |
| mpdcron | mpd hook manager | X config | .xinitrc |
| NetworkManager | network manager | X config | .xinitrc |
| sbcl | Common Lisp implementation | StumpWM (X config), SLIME | .xinitrc |
| scrot | screenshot command | StumpWM config | commands.lisp |
| URxvt | terminal emulator | StumpWM config, X config | .stumpwmrc, .xinitrc |
| xbacklight | brightness script | StumpWM config | commands.lisp |
| xmodmap | setting keyboard layout | X config (Keyboard mappings) | .xinitrc |
| xsetroot | setting mouse cursor | X config | .xinitrc |
- tabbing
- GNU screen support
- font resizing
-*- Org -*-
| window | s-w |
| zoom | <f2> |
| yank/pop | C-y / M-y |
| move | C-n |
| page | C-x [ |
| goto-line | M-g g |
| transpose | H-C-t |
| info | ? |
| next-error | C-x ` |
| rectangle | H-r |
| projectile | H-p |
| smartparens | H-s |
| helm-apropos | C-c h a |
| helm-resume | C-c h b |
| helm-info-emacs | C-c h e |
| helm-find | C-c h f |
| helm-info-gnus | C-c h g |
| helm-info-at-point | C-c h i |
| helm-locate | C-c h l |
| helm-man-woman | C-c h m |
| helm-occur | C-c h o |
| helm-regexp | C-c h r |
| helm-top | C-c h t |
| helm-lisp-completion-at-point | C-c h <tab> |
| helm-all-mark-rings | C-h SPC |
| helm-mini | C-x b |
| helm-find-files | C-x C-f |
| helm-M-x | M-x |
| helm-gtags-tags-in-this-function | C-c g a |
| helm-gtags-select | C-j |
| helm-gtags-dwim | M-. |
| helm-gtags-pop-stack | M-, |
| helm-gtags-previous-history | C-c < |
| helm-gtags-next-history | C-c > |
| hs-toggle-hiding | C-c @ C-c |
| hs-hide-block | C-c @ C-h |
| hs-hide-level | C-c @ C-l |
| hs-show-block | C-c @ C-s |
| hs-hide-all | C-c @ C-M-h |
| hs-show-all | C-c @ C-M-s |
| narrow-to-defun | C-x n d |
| narrow-to-region | C-x n r or C-x n n |
| widen | C-x n w |
| delete window | x |
| swap (move) window | m |
| split window vertically | v |
| split window horizontally | b |
| select the previous window | n |
| maximize window (select) | i |
| maximize current window | o |
| swap windows | C-u M-p |
| delete selected window | C-u C-u M-p |
| List projectile bindings | C-c p C-h |
| Jump to file | C-c p f |
| Jump to dir | C-c p d |
| List buffers | C-c p b |
| Jump to recent | C-c p e |
| Grep in proj | C-c p g s |
| Multi-occur | C-c p o |
| text refactor | C-c p r |
| Switch proj | C-c p p |
| Compile @ root | C-c p c |
| Switch between .h & .c | C-c p a |
| entity | backward | forward |
|---|---|---|
| character | C-b | C-f |
| word | M-b | M-f |
| line | C-p | C-n |
| go to line begin/end | C-a | C-e |
| sentence | M-a | M-e |
| paragraph | M-{ | M-} |
| page | C-x [ | C-x ] |
| sexp | C-M-b | C-M-f |
| function | C-M-a | C-M-e |
| go to buffer begin/end | M-< | M-> |
| screen | M-v | C-v |
| scroll | C-x < | C-x > |
| indent current line | TAB |
| indent region | C-M-\ |
| indent sexp | C-M-q |
| indent region arg columns | C-x TAB |
| insert newline after point | C-o |
| move rest of line vertically down | C-M-o |
| delete blank lines around point | C-x C-o |
| join line with previous (next w/ arg) | M-^ |
| delete all whitespace around point | M-\ |
| put exactly one space at point | M-SPC |
| fill paragraph | M-q |
| set fill column to arg | C-x f |
| set prefix each line starts with | C-x . |
| set face | M-o |
| copy rectangle to register | C-x r r |
| kill rectangle | C-x r k |
| yank rectangle | C-x r y |
| open rectangle, shifting text right | C-x r o |
| blank out rectangle | C-x r c |
| preface each line with a string | C-x r t |
| save region in register | C-x r s |
| insert register contents into buffer | C-x r i |
| save value of point in register | C-x r SPC |
| jump to point saved in register | C-x r j |
| start defining a keyboard macro | C-x ( |
| end keyboard macro definition | C-x ) |
| execute last defined keyboard macro | C-x e |
| append to last keyboard macro | C-u C-x ( |
| name last keyboard macro | M-x name-last-kbd-macro |
| insert Lisp definition in buffer | M-x insert-kbd-macro |
| add global abbrev | C-x a g |
| add mode-local abbrev | C-x a l |
| add global expansion for this abbrev | C-x a i g |
| add mode-local expansion for this abbrev | C-x a i l |
| explicitly expand abbrev | C-x a e |
| expand previous word dynamically | M-/ |
| set mark here | C-@ or C-SPC |
| exchange point and mark | C-x C-x |
| set mark arg words away | M-@ |
| mark paragraph | M-h |
| mark page | C-x C-p |
| mark sexp | C-M-@ |
| mark function | C-M-h |
| mark entire buffer | C-x h |
| entity | backward | forward |
|---|---|---|
| parentheses | s-9 | s-0 |
| brackets | s-[ | s-] |
| braces | s-{ | s-} |
| double quotes | s-” | |
| backquote | s-` | |
| single quote | s-’ |
| entity | info inserted | command |
|---|---|---|
| char | 1 char | C-: |
| char | 2 char | C-’ |
| line | char(s) | M-g f |
| word | 1 word | M-g w |
| word | nothing | M-g e |
| swoop | M-i |
| swoop back to last point | M-I |
| multi swoop | C-c M-i |
| multi swoop all | C-x M-i |
| swoop from isearch | M-i |
| multi swoop all from swoop | M-i |
| multi swoop current from swoop | M-m |
| previous line | C-r |
| next line | C-s |
| goto last change | s-. |
| goto last change reverse | s-, |
| move text up | M-<up> |
| move text down | M-<down> |
| regexp replace | C-c r |
| query regexp replace | C-c q |
| multiple cursor mark | C-c m |
| regexp isearch forward | C-M-s |
| regexp isearch backward | C-M-r |
| S-(key) | Launch/focus |
| S-(upcase key) | Launch new session |
| C-t C-(upcase key) | Pull |
| c | conkeror |
| e | emacs |
| f | firefox |
| m | mpv `xclip -o` |
| x | xterm |
| z | urxvt |
| s-n | next |
| s-p | prev |
| s-r | rotate windows |
| s-s | swap window |
| s-o | next group |
| s-i | prev group |
| s-h | focus left |
| s-j | focus down |
| s-k | focus up |
| s-l | focus right |
| s-H | move window left |
| s-J | move window down |
| s-K | move window up |
| s-L | move window right |
| C-t C-d | dmenu |
| C-t C-s | swank |
| C-t DEL | logout |
| C-t C-DEL | suspend |
| C-t C | run compton |
| C-j C-d | Detatch current session |
| C-j C-c | Create new session |
| C-j C-a | Switch to previous window |
| C-j 0 | |
| … | |
| C-j 9 | Switch to window # 0 - 9 |
| C-j ” | List all windows |
| C-j ’ | Prompt to switch window |
| C-j ? | List all keybindings |