README: The Big Emacs Shift
parent
b950d0adc8
commit
8144e0b127
86
README.md
86
README.md
|
@ -1,81 +1,19 @@
|
|||
# Unix Home Configuration
|
||||
# .dotfiles
|
||||
### Author: P. Neidhardt
|
||||
|
||||
## Overview
|
||||
|
||||
This repository contains scripts and configuration files for various Unix
|
||||
programs. I tried hard to maintain universality: it should work anywhere (Arch
|
||||
Linux, FreeBSD...), with whichever version of the programs. In the worst case,
|
||||
only few modifications will be necessary.
|
||||
I use of Emacs for almost everything, including my window manager (EXWM). See
|
||||
my [Emacs pro-tips](http://ambrevar.bitbucket.io/emacs/).
|
||||
|
||||
Most interesting parts include advanced configuration for Awesome, Emacs, fish,
|
||||
Mutt, ranger, and some scripts.
|
||||
As such, the more-or-less advanced configurations of my former favourite Unix
|
||||
programs are gone (Awesome, cmus, fish, fzf, Mutt, newsbeuter, ranger, urxvt,
|
||||
zathura, zsh). You can search for them before the git commit `README: The Big
|
||||
Emacs Shift`.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
## Description
|
||||
|
||||
### Awesome
|
||||
|
||||
* Extra deps: Vicious (Linux only)
|
||||
|
||||
Configuration is very close to the default one with some features removed
|
||||
(bindings, mouse control, context menu). The main new feature is the status bar:
|
||||
dynamic network speed (it checks for different interfaces), CPU speed, a battery
|
||||
indicator that will not show up if no battery is detected, and sound volume. The
|
||||
implementation is straightforward since I am using the Vicious plugin.
|
||||
|
||||
This configuration is very version-sensitive, so make sure to use the latest
|
||||
build.
|
||||
|
||||
### Emacs
|
||||
|
||||
See my [Emacs pro-tips](http://ambrevar.bitbucket.io/emacs/).
|
||||
|
||||
### fish & fzf
|
||||
|
||||
fish's default configuration satisfies most of my need. I make intense use of
|
||||
`fzf` with custom functions and bindings, such as `fzf-select` and
|
||||
`fzf-complete`.
|
||||
|
||||
A few wrappers:
|
||||
|
||||
- man: color and justify to window width.
|
||||
|
||||
- cd: keeps a bigger history and suppress duplicates. fish starts at last
|
||||
visited location.
|
||||
|
||||
I also have a `fzf-cdhist-widget` to go back to any location in just blink.
|
||||
|
||||
fzf can display a preview. I use a `preview` wrapper script over ranger's
|
||||
`scope.sh`. Extra deps: antiword, atool, highlight, img2txt, mediainfo, odt2txt,
|
||||
pdftotext, unrtf, w3m.
|
||||
|
||||
### Mutt
|
||||
|
||||
* Compile options: IMAP and SMTP support, sidebar.
|
||||
* Extra deps: antiword, ccrypt, fortune, sxiv, w3m.
|
||||
|
||||
Support for multiple accounts with encrypted passwords. (Mutt will prompt for
|
||||
the master password only once.) I use ccrypt for password management because it
|
||||
is much simpler than gnupg.
|
||||
|
||||
I use embedded IMAP and SMTP services which need appropriate compilation
|
||||
options. Embedded IMAP does not need to store e-mails locally. To speed-up
|
||||
e-mail queries, I cache them on disk. When the disk usage limit is reached, the
|
||||
older cached e-mails are erased until the cache shrinks below the limit again.
|
||||
|
||||
Some customization: custom index view, good Emacs integration (see `.emacs.d`),
|
||||
custom theme (matches Emacs colors), various tweaks.
|
||||
|
||||
For universal terminal support, the `colorset.sh` script will check terminal
|
||||
capabilities and load colors appropriately.
|
||||
|
||||
URxvt has an URL support that works also from Mutt. For other terminals, you
|
||||
might consider using the `urlview` plugin for Mutt.
|
||||
|
||||
### Scripts
|
||||
|
||||
Probably the most interesting part here.
|
||||
I've also written a fair amount of scripts, most of which are POSIX. The highlights include:
|
||||
|
||||
* asciify: convert many non-ASCII characters to their nearest ASCII counterpart.
|
||||
|
||||
|
@ -95,7 +33,7 @@ and structure.
|
|||
* git-*: some git helper functions for sync and so on.
|
||||
|
||||
* homeinit: initialize a new home configuration, i.e. get needed files, create
|
||||
symlinks, etc.
|
||||
symlinks, etc.
|
||||
|
||||
* imagemount: a CDEmu/fuseiso wrapper that creates/deletes virtual drives
|
||||
automatically.
|
||||
|
@ -111,7 +49,6 @@ automatically.
|
|||
|
||||
* tc-video-*: batch conversion of any kind of videos. Using FFmpeg.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
## Versioning
|
||||
|
||||
Git makes it possible to use your home folder as a git repo, thus versioning
|
||||
|
@ -121,9 +58,6 @@ all files directly.
|
|||
git init
|
||||
git remote add origin <repo>
|
||||
git fetch
|
||||
git branch master origin/master
|
||||
git checkout master
|
||||
|
||||
Some applications will need extra dependencies other than the default ones. You
|
||||
might have a look at the lists in the `.pkglists/` folder to know what programs I am
|
||||
using.
|
||||
For the list of programs I am currently using, see the `.pkglists/` folder.
|
||||
|
|
Loading…
Reference in New Issue