2013-10-18 21:12:00 +02:00
|
|
|
# Unix Home Configuration
|
2014-11-13 11:48:15 +01:00
|
|
|
### Author: P. Neidhardt
|
2012-06-18 12:04:02 +02:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
## Overview
|
2013-01-12 10:18:41 +01:00
|
|
|
|
2013-07-04 10:37:06 +02:00
|
|
|
This repository contains scripts and configuration files for various Unix
|
2015-10-12 19:45:39 +02:00
|
|
|
programs. I tried hard to maintain universality: it should work anywhere (Arch
|
|
|
|
Linux, FreeBSD...), with whichever version of the programs. In the worst case,
|
2016-07-17 07:01:49 +02:00
|
|
|
only few modifications will be necessary.
|
2012-06-21 17:34:18 +02:00
|
|
|
|
2016-10-14 13:51:40 +02:00
|
|
|
Most interesting parts include advanced configuration for Awesome, Emacs, fish,
|
|
|
|
Mutt, ranger, and some scripts.
|
2012-06-18 12:04:02 +02:00
|
|
|
|
2013-10-18 21:12:00 +02:00
|
|
|
--------------------------------------------------------------------------------
|
2014-11-13 11:48:15 +01:00
|
|
|
## Description
|
|
|
|
|
|
|
|
### Awesome
|
2013-10-18 21:12:00 +02:00
|
|
|
|
|
|
|
* Extra deps: Vicious (Linux only)
|
2012-06-18 12:04:02 +02:00
|
|
|
|
2015-10-12 19:45:39 +02:00
|
|
|
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.
|
2012-06-18 12:04:02 +02:00
|
|
|
|
2015-10-12 19:45:39 +02:00
|
|
|
This configuration is very version-sensitive, so make sure to use the latest
|
|
|
|
build.
|
2013-05-31 19:01:32 +02:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
### Emacs
|
|
|
|
|
2016-10-14 13:51:40 +02:00
|
|
|
See my [Emacs pro-tips](http://ambrevar.bitbucket.org/emacs/).
|
2015-10-19 15:15:12 +02:00
|
|
|
|
2016-10-14 13:51:40 +02:00
|
|
|
### fish
|
2012-10-13 13:47:04 +02:00
|
|
|
|
2016-10-14 13:51:40 +02:00
|
|
|
fish's default configuration satisfies most of my need. I make intense use of
|
2016-10-16 05:34:33 +02:00
|
|
|
`fzf` with custom functions and bindings, such as `__fzf-select` and
|
|
|
|
`__fzf-complete`.
|
2012-06-18 12:04:02 +02:00
|
|
|
|
2016-10-14 13:51:40 +02:00
|
|
|
A few wrappers:
|
2014-11-13 11:48:15 +01:00
|
|
|
|
2016-10-14 13:51:40 +02:00
|
|
|
- man: color and justify to window width.
|
|
|
|
|
|
|
|
- ranger: synchronize ranger location with shell location on exit.
|
|
|
|
|
|
|
|
- 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.
|
2016-07-17 07:01:49 +02:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
### Mutt
|
2013-10-18 21:12:00 +02:00
|
|
|
|
2016-10-06 17:33:55 +02:00
|
|
|
* Compile options: IMAP and SMTP support, sidebar.
|
2013-10-18 21:12:00 +02:00
|
|
|
* Extra deps: antiword, ccrypt, fortune, sxiv, w3m.
|
2012-07-09 18:39:55 +02:00
|
|
|
|
2015-10-12 19:45:39 +02:00
|
|
|
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.
|
2012-07-05 13:14:00 +02:00
|
|
|
|
2015-10-12 19:45:39 +02:00
|
|
|
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
|
2016-07-17 07:01:49 +02:00
|
|
|
older cached e-mails are erased until the cache shrinks below the limit again.
|
2012-07-05 13:14:00 +02:00
|
|
|
|
2016-07-17 07:01:49 +02:00
|
|
|
Some customization: custom index view, good Emacs integration (see `.emacs.d`),
|
2012-07-20 17:04:29 +02:00
|
|
|
custom theme (matches Emacs colors), various tweaks.
|
2012-06-21 17:34:18 +02:00
|
|
|
|
2016-07-17 07:01:49 +02:00
|
|
|
For universal terminal support, the `colorset.sh` script will check terminal
|
2015-10-12 19:45:39 +02:00
|
|
|
capabilities and load colors appropriately.
|
2012-10-13 13:47:04 +02:00
|
|
|
|
2016-07-17 07:01:49 +02:00
|
|
|
URxvt has an URL support that works also from Mutt. For other terminals, you
|
|
|
|
might consider using the `urlview` plugin for Mutt.
|
2012-08-01 15:45:33 +02:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
### Ranger
|
2013-10-18 21:12:00 +02:00
|
|
|
|
|
|
|
* Extra deps: antiword, atool, highlight, img2txt, mediainfo, odt2txt, pdftotext,
|
2013-02-22 20:10:31 +01:00
|
|
|
unrtf, w3m.
|
2012-07-17 18:32:15 +02:00
|
|
|
|
2013-12-10 16:49:12 +01:00
|
|
|
Custom bindings, file association, tweaked a few options, additional functions
|
|
|
|
(mkcd, extracthere...).
|
2012-06-25 15:09:34 +02:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
### Scripts
|
2012-08-01 15:45:33 +02:00
|
|
|
|
2013-05-31 19:01:32 +02:00
|
|
|
Probably the most interesting part here.
|
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
* asciify: convert many non-ASCII characters to their nearest ASCII counterpart.
|
2013-04-13 20:23:47 +02:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
* bsdman: read *BSD man pages.
|
2014-02-14 01:49:50 +01:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
* crun: quick way to execute C files.
|
2013-05-31 19:01:32 +02:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
* dataindex: create index of hierarchies. Useful to keep track of folder content
|
2016-10-14 13:51:40 +02:00
|
|
|
and structure.
|
2014-02-14 01:49:50 +01:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
* ediff: diff with Emacs.
|
2013-04-13 20:23:47 +02:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
* einfo: info viewer with Emacs.
|
2014-03-22 12:16:20 +01:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
* elisp: Emacs Lisp interpreter using Emacs.
|
2014-02-14 01:49:50 +01:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
* git-*: some git helper functions for sync and so on.
|
2014-02-14 01:49:50 +01:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
* homeinit: initialize a new home configuration, i.e. get needed files, create
|
2013-05-31 19:01:32 +02:00
|
|
|
symlinks, etc.
|
2012-08-01 15:45:33 +02:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
* imagemount: a CDEmu/fuseiso wrapper that creates/deletes virtual drives
|
2016-10-14 13:51:40 +02:00
|
|
|
automatically.
|
2014-03-22 12:16:20 +01:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
* mover: move and merge folder into destination.
|
2014-03-22 12:16:20 +01:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
* pac*: pacman helper functions.
|
2014-03-22 12:16:20 +01:00
|
|
|
|
2016-10-18 07:43:43 +02:00
|
|
|
* pdfctl: PDF manipulation, e.g. extract pages, compress, resize to A4.
|
2013-05-31 19:01:32 +02:00
|
|
|
|
2016-10-14 13:51:40 +02:00
|
|
|
* pkglister: generate lists of installed with pacman, FreeBSD's pkg and tlmgr
|
|
|
|
(TeX Live manager).
|
2013-05-31 19:01:32 +02:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
* tc-video-*: batch conversion of any kind of videos. Using FFmpeg.
|
2012-08-01 15:45:33 +02:00
|
|
|
|
2013-10-18 21:12:00 +02:00
|
|
|
--------------------------------------------------------------------------------
|
2014-11-13 11:48:15 +01:00
|
|
|
## Versioning
|
2013-05-31 19:01:32 +02:00
|
|
|
|
|
|
|
Git makes it possible to use your home folder as a git repo, thus versioning
|
2014-11-13 11:48:15 +01:00
|
|
|
all files directly.
|
2013-05-31 19:01:32 +02:00
|
|
|
|
2014-11-13 11:48:15 +01:00
|
|
|
cd
|
|
|
|
git init
|
|
|
|
git remote add origin <repo>
|
|
|
|
git fetch
|
|
|
|
git branch master origin/master
|
|
|
|
git checkout master
|
2013-05-31 19:01:32 +02:00
|
|
|
|
|
|
|
Some applications will need extra dependencies other than the default ones. You
|
2016-07-17 07:01:49 +02:00
|
|
|
might have a look at the lists in the `.pkg/` folder to know what programs I am
|
|
|
|
using.
|