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 $userresources
before starting X.
If you want to unset this live (in an X session), type
setxkbmap -layout us
into 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.sh
Mail 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 |