################################################################################ # Unix Home Configuration # # Author: Ambrevar # # Date: 2012-12-05 # ################################################################################ Synopsis ******** This repository contains configuration files for various Unix-programs. Target distribution: Arch Linux and FreeBSD (might work for most Unices as well) Generic Comments **************** The only purpose is to be a source of inspiration. Examples are always a good technical support. (Especially for applications that do not provide examples in their documentation.) There is no use in blind-copying the content of any file into your personal home folder. At best it might break things. In case you still want to copy some files -- for quick and dirty testing purpose -- do not forget that most of the files are in hidden folders. Also note that in some shells, the '*' joker will NOT match hidden files, that is cp -r source-dir/* dest-dir/ will copy non-hidden folders only. To match all folders, use the following joker instead: cp -r source-dir/{.*,*} dest-dir/ # zsh cp -r source-dir/{.??*,*} dest-dir/ # bash Still, the solution for bash is not perfect as it affects 3 characters files only. A more convenient solution: # bash only. shopt -s dotglob cp -r source-dir/* dest-dir/ Some applications will need extra dependencies other than the default ones. You might have a look at the .pkg-* files to see what software I've been using. Final word: do not forget to read the manpages! ################################################################################ Awesome ******* Extra deps: Vicious (Linux only) Configuration is very close to the default one, which mostly fits my needs. Most of the work I've done is for the status bar, but since I'm using the Vicious plugin, it is quite straightforward. DWB ****** Some custom options, download location, search engines, etc. Emacs ***** Extra deps: emacs-lua-mode, emacs-mediawiki, emacs-yasnippet. Configuration for C programming. Bindings to compile either from makefile or from a custom command if no makefile is found. TeX and LaTeX mode customization: no AucTeX required, PDF view, temp file clean function, PDF compression. Custom color theme with 256 colors. Extended file support (shell files, Mutt mails, Arch Linux PKGBUILDs). Some customization -- columns, kill whole line, etc. Some custom functions (duplicate line, unfill-paragraph, etc.). A lot of code snippets, especially for LaTeX. Contains document template, plot generation, pie chart generation, and others. Mutt **** Compile options: IMAP and SMTP support. Extra deps: antiword, ccrypt, fortune, sxiv, w3m. This one is not easy to get into it. I managed to get multiple accounts with encrypted passwords working, which means there is no plain password stored on the disk. As a result, I just get prompted for a main password on Mutt startup, then everything works out of the box. I use ccrypt for password management because it is much more simple than gnupg. I'm using embedded IMAP and SMTP services which need appropriate compilation options. Some customization: custom index view, good Emacs integration (see .emacs), custom theme (matches Emacs colors), various tweaks. Thanks to the coloset.sh script, Mutt will check terminal color support and load colors appropriately. Therefore this configuration should work on any terminal, should it have 256-colors support or not. URxvt has an URL support that works also for Mutt. For other terminals, you might consider using the 'urlview' plugin for Mutt. Ranger ****** Extra deps: antiword, atool, highlight, img2txt, mediainfo, pdftotext, w3m. Custom bindings, file association, tweaked a few options. Scripts ******* .homeinit: initialize a new home configuration, i.e. get needed files, create symlinks, etc. .netinit: network setup. Works with wpa_supplicant. May replace any network manager. .save: generates a home configuration archive. Shell ***** Target: zsh, bash Probably the most interesting part here. A lot of stuff: aliases, functions, shell options, etc. Please note that this config is mainly intended -- and tested -- for zsh. It should be mostly bash-compatible though. When incompabilities have been encountered, it has been reported into the configuration files. Hence the shared folder .shell.d/, whose files get sourced by both bash and zsh. Bash-specific and zsh-specific options are in dedicated files ending with the appropriate shell name. TeX *** A lot of plainTeX and LaTeX macros. Among others: pie charts, dynamic plots with input file and trend. plainTeX macros are in the '.texmf' folder. LaTeX macros are all bundled into Emacs snippets so that .tex documents do not rely on any external file. URxvt ***** Extra deps: Muennich's perl extensions (keyboard-select, clipboard, url-matcher) Custom font and colors, no scroll bar, url-matcher, clipboard, and keyboard-select. Vim *** I've only been a casual Vim user, so do not expect too much from it. ################################################################################ Known issues ************ Emacs: some colors do not work as intended. Ranger: if editor is 'emacsclient -t -a ""', it will not show up if emacs daemon is not running. This is because the "" are not properly recognized. Shell: some custom functions would need auto-completion. URxvt: using the paste function from Muennich's clipboard on the same terminal where text was copied will make xsel crash. ################################################################################ Complete applist **************** aalib aircrack-ng antiword asciidoc astyle atool awesome awk bashmount bc cal calc catdvi ccrypt cdrtools centerim chrpath cmus column comm cppcheck cut dash diff doxygen dropbox dtach dvtm dwb emacs expac fbpdf fbv fdisk feh ffmpeg file finch fmt fortune gaupol gcolor2 gdb gimp gnumeric gnuplot gparted gpicview graphicsmagick grep groff handbrake hdparm help2man highlight htop id3v2 imagemagick indent inkscape iotop irssi latex2html latex2rtf lrzip lshw ltrace luakit lynx mediainfo mencoder mercurial mkfs mkvtoolnix movgrab mplayer2 mutt nasm ncdu ngrep nmap numlockx octave od okular openshot openssh oss p7zip pari parted patch poppler pstotext pwgen pwsafe ranger re2c rsync rtorrent rxvt-unicode scrot sdparm sed shred slock sort splint strace submarine sudo sxiv syslinux task tcc tcpdump texi2html texinfo texlive tig trash-cli tree udiskie unrtf upx valgrind vim vlock w3m weechat wipe wireshark wmfs wv x264 xclip xsel yasm zathura zsh