From 28602aa7ed99c610d5ad6bef2121cd8bbfdbeee9 Mon Sep 17 00:00:00 2001 From: Collin Doering Date: Sun, 10 Mar 2013 23:26:58 -0400 Subject: [PATCH] Some major revisions as i have recently replaced my desktop. Namely: * switched to systemd for user level daemons and startup programs originally run from .xinitrc * beefed up the logout menu implemented by .bin/xmonadClose.sh to support pretty well all windows-managers (with some minor modification) and now with support for suspend and hibernate .Xdefaults: * did a little rearrangement to make things pretty * added the clipboard extension .authinfo.gpg: .authinfo-cd.gpg: * encrypted authinfo files for gnus (emacs) .bash_profile: * now checks if ~/.bashrc is a file and then executes it instead of just assuming .bashrc: * added a few new aliases * modified path to include ~/.bin .bin/xmonadClose.sh: * now supports pretty well any window manager with minor modification (just edit the actionNames and actionExecs arrays respective elements) * now brings up a dmenu options menu to select one of cancel, logout, suspend, hybrid-sleep, hibernate, or shutdown * uses xdotool to send a hidden 'kill switch' to xmonad upon 'logout' * uses systemctl to suspend, hybrid-sleep and hibernate * uses the classic shutdown command for shutdown .config/mc/: * moved the config files from .mc .config/systemd/user/: * all user instance systemd service files go here default.target.wants/: * contains a symbolic link to all the currently enabled service files emacs.service: * starts the emacs daemon mpd.service: * starts a user level instance of mpd using the config ~/.mpdconf udiskie.service: * starts udiskie (a user level daemon for automounted media using udisk) urxvtd.service: * starts the urxvt daemon unclutter.service: * starts the uncluttered program trayer.service: * starts trayer using the options: --monitor 1 --edge top --align right --expand true --width 4 --height 2 --transparent true --tint 0x000000 xbindkeys.service: * starts xbindkeys xcompmgr.service: * starts xcompmgr xscreensaver.service: * starts xscreensaver .emacs: * added support for magit * added support for ipython * dropped in ELPA version of swank-clojure in place of the AUR version * preparing to use babel (part of org more for use with code) * upgraded yas to the most recent version from ELPA; need to smooth out some minor issues * python-mode is currently commented out in config but working; dropped in ELPA version in place of the AUR version i had previous * disabled gieser (in the process of dropping in the ELPA version..just ran into some hitch) * add a template for ruby to .emacs.d/templates .mpdconf: * user instance mpd config .screenrc: * re-enabled ncmpcpp in place of cmus as i'm using mpd now * disable mc in screen because it doesn't start correctly; mc is available through my xmonad scratchpad "mc" .vimrc: * enabled syntax highlighting .xbindkeysrc: * switched music keybindings from cmus-remote commands to there respective mpc commands * switched www key to conkeror in place of firefox .xinitrc: * use systemd --user to run a user instance of systemd to run startup programs generally run from this script. The programs i have written unit files are specified above and left as comments in this file. .xmobarrc: * my ethernet interface is now called 'eno1' not 'eth0' * TODO: need to setup wireless status xmobar widget for 'wlp7s0' .xmonad/xmonad.hs: * added keybinding for auto-umounting any disk auto-mounted by udiskie (Mod+shift+control u) * now using new .bin/xmonadClose.sh to kill session in a few different ways (Mod+shift q) * added a keybinding to toggle the status bar (xmobar) using (Mod b) * added better support for some full screen games: supertux2, doom3, steam and hl2 * set opacity on all emacs and gvim windows to 13/16 (btw this is done for urxvt using a property in .Xdefaults .xscreensaver: * an auto-generated file by xscreensaver-demo; may consider removing in the future as it can always be auto-generated but its nice to have all my screensavers saved and ready .xsession: * not currently using since i use slim but here for compatibility with gdm,kdm and other de's .zshrc: * some auto-generated changes thanks to compinstall * added a few new aliases * modified path to include ~/.bin Signed-off-by: Collin Doering --- .Xdefaults | 8 +- .bash_profile | 2 +- .bashrc | 8 +- .bin/xmonadClose.sh | 41 +- .config/mc/bindings | 684 ++++++++++++++++++ .config/mc/hotlist | 5 + .config/mc/ini | 194 +++++ .config/mc/panels.ini | 32 + .../user/default.target.wants/emacs.service | 1 + .../user/default.target.wants/emacsd.service | 1 + .../user/default.target.wants/mpd.service | 1 + .../user/default.target.wants/udiskie.service | 1 + .../default.target.wants/unclutter.service | 1 + .../user/default.target.wants/urxvtd.service | 1 + .../default.target.wants/xbindkeys.service | 1 + .../default.target.wants/xcompmgr.service | 1 + .../default.target.wants/xscreensaver.service | 1 + .config/systemd/user/emacs.service | 11 + .config/systemd/user/mpd.service | 9 + .config/systemd/user/trayer.service | 9 + .config/systemd/user/udiskie.service | 9 + .config/systemd/user/unclutter.service | 9 + .config/systemd/user/urxvtd.service | 9 + .config/systemd/user/xbindkeys.service | 9 + .config/systemd/user/xcompmgr.service | 9 + .config/systemd/user/xscreensaver.service | 9 + .emacs | 69 +- .emacs.d/templates/emacs-lisp-template.el | 19 + .emacs.d/templates/erlang-template.erl | 19 + .emacs.d/templates/lua-template.lua | 19 + .emacs.d/templates/ocaml-template.ml | 23 + .emacs.d/templates/php-template.php | 23 + .emacs.d/templates/python-scratch.py | 3 + .emacs.d/templates/ruby-template.rb | 19 + .emacs.d/templates/sml-template.ml | 23 + .eshell/alias | 5 + .eshell/profile | 7 + .gitconfig | 6 + .gnus | 2 +- .mpdconf | 456 ++++++++++++ .screenrc | 6 +- .stumpwmrc | 4 + .vimrc | 3 + .xbindkeysrc | 26 +- .xinitrc | 40 +- .xmobarrc | 4 +- .xmonad/xmonad.hs | 29 +- .xscreensaver | 258 +++++++ .xsession | 10 + .zshrc | 10 +- 50 files changed, 2072 insertions(+), 77 deletions(-) create mode 100644 .config/mc/bindings create mode 100644 .config/mc/hotlist create mode 100644 .config/mc/ini create mode 100644 .config/mc/panels.ini create mode 120000 .config/systemd/user/default.target.wants/emacs.service create mode 120000 .config/systemd/user/default.target.wants/emacsd.service create mode 120000 .config/systemd/user/default.target.wants/mpd.service create mode 120000 .config/systemd/user/default.target.wants/udiskie.service create mode 120000 .config/systemd/user/default.target.wants/unclutter.service create mode 120000 .config/systemd/user/default.target.wants/urxvtd.service create mode 120000 .config/systemd/user/default.target.wants/xbindkeys.service create mode 120000 .config/systemd/user/default.target.wants/xcompmgr.service create mode 120000 .config/systemd/user/default.target.wants/xscreensaver.service create mode 100644 .config/systemd/user/emacs.service create mode 100644 .config/systemd/user/mpd.service create mode 100644 .config/systemd/user/trayer.service create mode 100644 .config/systemd/user/udiskie.service create mode 100644 .config/systemd/user/unclutter.service create mode 100644 .config/systemd/user/urxvtd.service create mode 100644 .config/systemd/user/xbindkeys.service create mode 100644 .config/systemd/user/xcompmgr.service create mode 100644 .config/systemd/user/xscreensaver.service create mode 100644 .emacs.d/templates/emacs-lisp-template.el create mode 100644 .emacs.d/templates/erlang-template.erl create mode 100644 .emacs.d/templates/lua-template.lua create mode 100644 .emacs.d/templates/ocaml-template.ml create mode 100644 .emacs.d/templates/php-template.php create mode 100644 .emacs.d/templates/python-scratch.py create mode 100644 .emacs.d/templates/ruby-template.rb create mode 100644 .emacs.d/templates/sml-template.ml create mode 100644 .eshell/alias create mode 100644 .eshell/profile create mode 100644 .gitconfig create mode 100644 .mpdconf create mode 100644 .xscreensaver create mode 100644 .xsession diff --git a/.Xdefaults b/.Xdefaults index 3b701ee..a1a8f77 100644 --- a/.Xdefaults +++ b/.Xdefaults @@ -4,12 +4,14 @@ URxvt.cursorColor: green URxvt.underlineColor: yellow URxvt.font: xft:Bitstream Vera Sans Mono:pixelsize=12:antialias=false URxvt.boldFont: xft:Bitstream Vera Sans Mono:bold:pixelsize=13:antialias=false -URxvt.perl-ext-common: default,tabbedex,url-select,keyboard-select,matcher +URxvt.matcher.button: 1 +URxvt.scrollstyle: plain + +URxvt.perl-ext-common: default,clipboard,tabbedex,url-select,keyboard-select,matcher + URxvt.keysym.M-u: perl:url-select:select_next URxvt.urlLauncher: /usr/bin/conkeror URxvt.underlineURLs: true -URxvt.matcher.button: 1 -URxvt.scrollstyle: plain URxvt.keysym.M-Escape: perl:keyboard-select:activate URxvt.keysym.M-s: perl:keyboard-select:search diff --git a/.bash_profile b/.bash_profile index 282ff5d..34ae99a 100644 --- a/.bash_profile +++ b/.bash_profile @@ -1,4 +1,4 @@ -. $HOME/.bashrc +[[ -f ~/.bashrc ]] && . ~/.bashrc # Create variable GENERAL_SCREEN which is the pid of one or more screens called "general" export GENERAL_SCREEN=`screen -ls | grep general | cut -f1 -d'.' | sed 's/\W//g'` diff --git a/.bashrc b/.bashrc index e8b018d..d453e66 100644 --- a/.bashrc +++ b/.bashrc @@ -8,10 +8,13 @@ alias grep='grep --color=auto' alias fgrep='fgrep --color-auto' alias egrep='egrep --color-auto' alias ncmpc='ncmpc -c' +alias pacman='pacman-color' alias knk='knock rekahsoft-mini 7713:tcp 1377:udp && sleep 3s && ' alias knkc='knk ssh rekahsoft-mini ' alias skreen='screen -c /dev/null' alias tranr='transmission-remote' +alias sctl='sudo systemctl' +alias ctlu='systemctl --user' export GREP_COLOR="1;33" alias grep='grep --color=auto' @@ -20,6 +23,9 @@ alias grep='grep --color=auto' export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s" export LESS=' -R ' +# Set text/background colors for ls +export LS_COLORS="di=01;37" + PS1='[\u@\h: \w]\$ ' # Turn off noscroll @@ -29,7 +35,7 @@ stty stop undef # * mathematica / tools # * nxclient / associated tools # * maven tools -export PATH=${PATH}:/usr/local/bin:/opt/maven/bin:/opt/NX/bin:/home/collin/.cabal/bin +export PATH=${PATH}:/usr/local/bin:/opt/maven/bin:/opt/NX/bin:/home/collin/.cabal/bin:/home/collin/.bin # start keychain eval `keychain --eval --timeout 10 --quiet --agents ssh id_rsa` diff --git a/.bin/xmonadClose.sh b/.bin/xmonadClose.sh index ba9b109..d11ba62 100755 --- a/.bin/xmonadClose.sh +++ b/.bin/xmonadClose.sh @@ -18,7 +18,42 @@ # File: xmonadClose.sh # Author: Collin J. Doering # Date: May 13, 2011 +# Description: A simple script to allow a nice dmenu gui when logging out, +# shutting down, or rebooting +# TODO: * Support sleep and hibernate +# * Needs to check whether a reboot/shutdown is allowed (user must be in the group +# 'power' and must be the only user logged in or they will be prompted for sudo's +# password to override) +# * re-write in haskell direct into ~/.xmonad/xmonad.hs using the dmenu extension(?) +# - issue with that is then the script could only be used within xmonad +# - perhaps consider taking a second argument when logout is passed as the first +# so that the second argument could be used as a 'logout command' and thus +# this script could be used with any wm -if [[ `echo "" | dmenu -b -i -nb '#040404' -nf '#525252' -sf '#ffa0ff' -sb '#000000' -p "Do you really want to close XMonad? [yes/no]: "` == 'yes' ]]; then - xdotool key super+control+shift+End -fi +actionNames=(cancel logout suspend hibernate hybrid-sleep shutdown) +actionExecs=("" + "xdotool key super+control+shift+End" + "xscreensaver-command -lock && systemctl suspend" + "xscreensaver-command -lock && systemctl hibernate" + "xscreensaver-command -lock && systemctl hybrid-sleep" + "shutdown -h now") + +# Ask the user whether they want to logout, cancel, suspend, hibernate, hybrid-sleep, shutdown +ask=`echo ${actionNames[*]} | tr ' ' '\n' | dmenu -b -i -nb '#040404' -nf '#525252' -sf '#ffa0ff' -sb '#000000'` + +case "$ask" in + logout|suspend|hibernate|hybrid-sleep|shutdown) + if [[ `echo "" | dmenu -b -i -nb '#040404' -nf '#525252' -sf '#ffa0ff' -sb '#000000' -p "Are you sure you want to $ask? [yes/no] "` == 'yes' ]]; then + for ((i=0; i < ${#actionNames[*]}; i++)); do + if [[ "$ask" == "${actionNames[$i]}" ]]; then + sh -c "${actionExecs[$i]}" + break + fi + done + fi + break + ;; + cancel|*) + # Do nothing; the user entered cancel or a invalid input + ;; +esac diff --git a/.config/mc/bindings b/.config/mc/bindings new file mode 100644 index 0000000..606a479 --- /dev/null +++ b/.config/mc/bindings @@ -0,0 +1,684 @@ +# Midnight Commander 3.0 extension file +# Warning: Structure of this file has changed completely with version 3.0 +# +# All lines starting with # or empty lines are thrown away. +# Lines starting in the first column should have following format: +# +# keyword/descNL, i.e. everything after keyword/ until new line is desc +# +# keyword can be: +# +# shell (desc is, when starting with a dot, any extension (no wildcars), +# i.e. matches all the files *desc . Example: .tar matches *.tar; +# if it doesn't start with a dot, it matches only a file of that name) +# +# regex (desc is an extended regular expression) +# Please note that we are using the GNU regex library and thus +# \| matches the literal | and | has special meaning (or) and +# () have special meaning and \( \) stand for literal ( ). +# +# type (file matches this if `file %f` matches regular expression desc +# (the filename: part from `file %f` is removed)) +# +# directory (matches any directory matching regular expression desc) +# +# include (matches an include directive) +# +# default (matches any file no matter what desc is) +# +# Other lines should start with a space or tab and should be in the format: +# +# keyword=commandNL (with no spaces around =), where keyword should be: +# +# Open (if the user presses Enter or doubleclicks it), +# +# View (F3), Edit (F4) +# +# Include is the keyword used to add any further entries from an include/ +# section +# +# command is any one-line shell command, with the following substitutions: +# +# %% -> % character +# %p -> name of the current file (without path, but pwd is its path) +# %f -> name of the current file. Unlike %p, if file is located on a +# non-local virtual filesystem, i.e. either tarfs or ftpfs, +# then the file will be temporarily copied into a local directory +# and %f will be the full path to this local temporal file. +# If you don't want to get a local copy and want to get the +# virtual fs path (like /#ftp:ftp.cvut.cz/pub/hungry/xword), then +# use %d/%p instead of %f. +# %d -> name of the current directory (pwd, without trailing slash) +# %s -> "selected files", i.e. space separated list of tagged files if any +# or name of the current file +# %t -> list of tagged files +# %u -> list of tagged files (they'll be untaged after the command) +# +# (If these 6 letters are in uppercase, they refer to the other panel. +# But you shouldn't have to use it in this file.) +# +# +# %cd -> the rest is a path mc should change into (cd won't work, since it's +# a child process). %cd handles even vfs names. +# +# %view -> the command you type will be piped into mc's internal file viewer +# if you type only the %view and no command, viewer will load %f file +# instead (i.e. no piping, so it is different to %view cat %f) +# %view may be directly followed by {} with a list of any of +# ascii (Ascii mode), hex (Hex mode), nroff (color highlighting for +# text using backspace for bold and underscore) and unform +# (no highlighting for nroff sequences) separated by commas. +# +# %var -> You use it like this: %var{VAR:default}. This macro will expand +# to the value of the VAR variable in the environment if it's set +# otherwise the value in default will be used. This is similar to +# the Bourne shell ${VAR-default} construct. +# +# Rules are applied from top to bottom, thus the order is important. +# If some actions are missing, search continues as if this target didn't +# match (i.e. if a file matches the first and second entry and View action +# is missing in the first one, then on pressing F3 the View action from +# the second entry will be used. default should catch all the actions. +# +# Any new entries you develop for you are always welcome if they are +# useful on more than one system. You can post your modifications +# as tickets at www.midnight-commander.org + + +### Changes ### +# +# Reorganization: 2000-05-01 Michal Svec + + +### TODO ### +# +# Postscript Open: ps2svga [gs -DEVICE=jpeg|zgv or something] +# Images asciiview +# +# All X Apps [Nothing/Warning] if no DISPLAY +# Not found [Default/Warning] +# Empty Output [Default/Warning] +# Edit: CopyOut+EDIT+CopyIn +# Security Check gzip/bzip EDIT (mktemp) +# +# Maybe: Open/XOpen/GOpen/KOpen/... for Console/X/GNOME/KDE/etc. + + +### Archives ### + +# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk +regex/\.t([gp]?z|ar\.g?[zZ])$|\.ipk$ + Open=%cd %p#utar + View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf - + +regex/\.tar\.bz$ + # Open=%cd %p#utar + View=%view{ascii} bzip -dc %f 2>/dev/null | tar tvvf - + +regex/\.t(ar\.bz2|bz2?|b2)$ + Open=%cd %p#utar + View=%view{ascii} bzip2 -dc %f 2>/dev/null | tar tvvf - + +# .tar.lzma, .tlz +regex/\.t(ar\.lzma|lz)$ + Open=%cd %p#utar + View=%view{ascii} lzma -dc %f 2>/dev/null | tar tvvf - + +# .tar.xz, .txz +regex/\.t(ar\.xz|xz)$ + Open=%cd %p#utar + View=%view{ascii} xz -dc %f 2>/dev/null | tar tvvf - + +# .tar.F - used in QNX +regex/\.tar\.F$ + # Open=%cd %p#utar + View=%view{ascii} freeze -dc %f 2>/dev/null | tar tvvf - + +# .qpr/.qpk - QNX Neutrino package installer files +regex/\.(qp[rk])$ + Open=%cd %p#utar + View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf - + +# tar +regex/\.(tar|TAR)$ + Open=%cd %p#utar + View=%view{ascii} tar tvvf - < %f + +# lha +type/^LHa\ .*archive + Open=%cd %p#ulha + View=%view{ascii} lha l %f + +# arj +regex/\.a(rj|[0-9][0-9])$ + Open=%cd %p#uarj + View=%view{ascii} unarj l %f + +# cab +regex/\.([cC][aA][bB])$ + Open=%cd %p#ucab + View=%view{ascii} cabextract -l %f + +# ha +regex/\.([Hh][Aa])$ + Open=%cd %p#uha + View=%view{ascii} ha lf %f + +# rar +regex/\.[rR]([aA][rR]|[0-9][0-9])$ + Open=%cd %p#urar + View=%view{ascii} rar v -c- %f + +# ALZip +regex/\.(alz|ALZ)$ + Open=%cd %p#ualz + View=%view{ascii} unalz -l %f + +# cpio +shell/.cpio.Z + Open=%cd %p#ucpio + View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null + +shell/.cpio.gz + Open=%cd %p#ucpio + View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null + +shell/.cpio + Open=%cd %p#ucpio + View=%view{ascii} cpio -itv < %f 2>/dev/null + +# ls-lR +regex/(^|\.)ls-?lR(\.gz|Z|bz2)$ + Open=%cd %p#lslR + +# patch +regex/\.(diff|patch)(\.bz2)$ + Open=%cd %p#patchfs + View=%view{ascii} bzip2 -dc %f 2>/dev/null + +regex/\.(diff|patch)(\.(gz|Z))$ + Open=%cd %p#patchfs + View=%view{ascii} gzip -dc %f 2>/dev/null + +regex/\.(diff|patch)$ + Open=%cd %p#patchfs + View=%view{ascii} /bin/cat %f 2>/dev/null + +# ar library +regex/\.s?a$ + Open=%cd %p#uar + #Open=%view{ascii} ar tv %f + View=%view{ascii} file %f && nm -C %f + +# trpm +regex/\.trpm$ + Open=%cd %p#trpm + View=%view{ascii} rpm -qivl --scripts `basename %p .trpm` + +# RPM packages (SuSE uses *.spm for source packages) +regex/\.(src\.rpm|spm)$ + Open=%cd %p#rpm + View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f + +regex/\.rpm$ + Open=%cd %p#rpm + View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f + +# deb +regex/\.u?deb$ + Open=%cd %p#deb + View=%view{ascii} dpkg-deb -I %f && echo && dpkg-deb -c %f + +# dpkg +shell/.debd + Open=%cd %p#debd + View=%view{ascii} dpkg -s `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'` +# apt +shell/.deba + Open=%cd %p#deba + View=%view{ascii} apt-cache show `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'` + +# ISO9660 +regex/\.([iI][sS][oO])$ + Open=%cd %p#iso9660 + View=%view{ascii} isoinfo -l -i %f + +# 7zip archives (they are not man pages) +regex/\.(7z|7Z)$ + Open=%cd %p#u7z + View=%view{ascii} 7za l %f 2>/dev/null + +# Mailboxes +type/^ASCII\ mail\ text + Open=%cd %p#mailfs + + +### Sources ### + +# C +shell/.c + Open=%var{EDITOR:emacsclient} %f + +# Fortran +shell/.f + Open=%var{EDITOR:emacsclient} %f + +# Header +regex/\.(h|hpp)$ + Open=%var{EDITOR:emacsclient} %f + +# Asm +shell/.s + Open=%var{EDITOR:emacsclient} %f + +# C++ +regex/\.(C|cc|cpp)$ + Open=%var{EDITOR:emacsclient} %f + +# .so libraries +regex/\.(so|so\.[0-9\.]*)$ + View=%view{ascii} file %f && nm -C -D %f + +# Python +shell/.py + Open=%var{EDITOR:emacsclient} %f + +# Racket +shell/.rkt + Open=%var{EDITOR:emacsclient} %f + +# General Scheme +shell/.scm + Open=%var{EDITOR:emacsclient} %f + +# Lisp +shell/.lisp + Open=%var{EDITOR:emacsclient} %f + +# Haskell +shell/.hs + Open=%var{EDITOR:emacsclient} %f + +# Object +type/^ELF + #Open=%var{PAGER:more} %f + View=%view{ascii} file %f && nm -C %f + +### Documentation ### + +# Texinfo +regex/\.(te?xi|texinfo)$ + +# GNU Info page +type/^Info\ text + Open=info -f %f + +shell/.info + Open=info -f %f + +# Manual page +regex/(([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])|\.man)$ + Open=case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more} + View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff -c -Tlatin1 -mandoc ;; esac + +# Perl pod page +shell/.pod + Open=pod2man %f | nroff -c -Tlatin1 -mandoc | %var{PAGER:more} + View=%view{ascii,nroff} pod2man %f | nroff -c -Tlatin1 -mandoc + +# Troff with me macros. +# Exception - "read.me" is not a nroff file. +shell/read.me + Open= + View= + +shell/.me + Open=nroff -c -Tlatin1 -me %f | %var{PAGER:more} + View=%view{ascii,nroff} nroff -c -Tlatin1 -me %f + +# Troff with ms macros. +shell/.ms + Open=nroff -c -Tlatin1 -ms %f | %var{PAGER:more} + View=%view{ascii,nroff} nroff -c -Tlatin1 -ms %f + +# Manual page - compressed +regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.g?[Zz]$ + Open=case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more} + View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac + +regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz$ + Open=case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more} + View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac + +regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz2$ + Open=case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more} + View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff -c -Tlatin1 -mandoc ;; esac + +regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$ + Open=case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more} + View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff -c -Tlatin1 -mandoc ;; esac + +regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.xz$ + Open=case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more} + View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff -c -Tlatin1 -mandoc ;; esac + +# CHM +regex/\.(chm|CHM)$ + Open=which kchmviewer > /dev/null 2>&1 && (kchmviewer %f &) || (xchm %f &) + +### Images ### + +type/^GIF + Include=image + +type/^JPEG + View=%view{ascii} identify %f; test -x /usr/bin/exif && echo && exif %f 2>/dev/null + Include=image + +type/^PC\ bitmap + Include=image + +type/^PNG + Include=image + +type/^TIFF + Include=image + +type/^PBM + Include=image + +type/^PGM + Include=image + +type/^PPM + Include=image + +type/^Netpbm + Include=image + +shell/.xcf + Open=(gimp %f &) + +shell/.xbm + Open=bitmap %f + +shell/.xpm + Include=image + View=sxpm %f + +shell/.ico + Include=image + +include/image + Open=if [ "$DISPLAY" = "" ]; then zgv %f; else (feh --scale-down %f &); fi + View=%view{ascii} identify %f + #View=%view{ascii} asciiview %f + + +### Sound files ### + +regex/\.([wW][aA][vV]|[sS][nN][dD]|[vV][oO][cC]|[aA][uU]|[sS][mM][pP]|[aA][iI][fF][fF]|[sS][nN][dD])$ + Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi + +regex/\.([mM][oO][dD]|[sS]3[mM]|[xX][mM]|[iI][tT]|[mM][tT][mM]|669|[sS][tT][mM]|[uU][lL][tT]|[fF][aA][rR])$ + Open=mikmod %f + #Open=tracker %f + +regex/\.([wW][aA][wW]22)$ + Open=vplay -s 22 %f + +regex/\.([mM][pP]3)$ + Open=if [ "$DISPLAY" = "" ]; then mpg123 %f; else (xmms %f >/dev/null 2>&1 &); fi + View=%view{ascii} mpg123 -vtn1 %f 2>&1 | sed -n '/^Title/,/^Comment/p;/^MPEG/,/^Audio/p' + +regex/\.([oO][gG][gG|aA|vV|xX])$ + Open=if [ "$DISPLAY" = "" ]; then ogg123 %f; else (xmms %f >/dev/null 2>&1 &); fi + View=%view{ascii} ogginfo %s + +regex/\.([sS][pP][xX]|[fF][lL][aA][cC])$ + Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi + +regex/\.([mM][iI][dD][iI]?|[rR][mM][iI][dD]?)$ + Open=timidity %f + +regex/\.([wW][mM][aA])$ + Open=mplayer -vo null %f + View=%view{ascii} mplayer -quiet -slave -frames 0 -vo null -ao null -identify %f 2>/dev/null | tail +13 || file %f + + +### Play lists ### + +regex/\.([mM]3[uU]|[pP][lL][sS])$ + Open=if [ -z "$DISPLAY" ]; then mplayer -vo null -playlist %f; else (xmms -p %f >/dev/null 2>&1 &); fi + + +### Video ### + +regex/\.([aA][vV][iI])$ + Include=video + +regex/\.([aA][sS][fFxX])$ + Include=video + +regex/\.([dD][iI][vV][xX])$ + Include=video + +regex/\.([mM][kK][vV])$ + Include=video + +regex/\.([mM][oO][vV]|[qQ][tT])$ + Include=video + +regex/\.([mM][pP]4|[mM][pP][eE]?[gG])$ + Include=video + +regex/\.([vV][oO][bB])$ + Include=video + +regex/\.([wW][mM][vV])$ + Include=video + +regex/\.([fF][lL][iIcCvV])$ + Include=video + +regex/\.([oO][gG][mM])$ + Include=video + +regex/\.([rR][aA]?[mM])$ + Open=(realplay %f >/dev/null 2>&1 &) + +include/video + Open=(mplayer %f >/dev/null 2>&1 &) + #Open=(gtv %f >/dev/null 2>&1 &) + #Open=(xanim %f >/dev/null 2>&1 &) + + +### Documents ### + +# Postscript +type/^PostScript + Open=zathura --fork %f + View=%view{ascii} ps2ascii %f + +# PDF +type/^PDF + Open=zathura --fork %f + #Open=(acroread %f &) + #Open=(ghostview %f &) + View=%view{ascii} pdftotext %f - + +# The following code very ugly and should not be taken as example. +# It should be cleaned up when the new format of mc.ext is developed. + +# html +regex/\.([hH][tT][mM][lL]?)$ + Open=(if test -n "" && test -n "$DISPLAY"; then ( file://%d/%p &) 1>&2; else links %f || lynx -force_html %f || ${PAGER:-more} %f; fi) 2>/dev/null + View=%view{ascii} links -dump %f 2>/dev/null || w3m -dump %f 2>/dev/null || lynx -dump -force_html %f + +# StarOffice 5.2 +shell/.sdw + Open=(ooffice %f &) + +# StarOffice 6 and OpenOffice.org formats +regex/\.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$ + Open=(ooffice %f &) + View=%view{ascii} odt2txt %f + +# AbiWord +shell/.abw + Open=(abiword %f &) + +# Microsoft Word Document +regex/\.([Dd][oO][cCtT]|[Ww][rR][iI])$ + Open=(abiword %f >/dev/null 2>&1 &) + View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f +type/^Microsoft\ Word + Open=(abiword %f >/dev/null 2>&1 &) + View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f + +# RTF document +regex/\.([rR][tT][fF])$ + Open=(abiword %f >/dev/null 2>&1 &) + +# Microsoft Excel Worksheet +regex/\.([xX][lL][sSwW])$ + Open=(gnumeric %f >/dev/null 2>&1 &) + View=%view{ascii} xls2csv %f || strings %f +type/^Microsoft\ Excel + Open=(gnumeric %f >/dev/null 2>&1 &) + View=%view{ascii} xls2csv %f || strings %f + +# Use OpenOffice.org to open any MS Office documents +type/^Microsoft\ Office\ Document + Open=(ooffice %f &) + +# Framemaker +type/^FrameMaker + Open=fmclient -f %f + +# DVI +regex/\.([dD][vV][iI])$ + Open=if [ x$DISPLAY = x ]; then dvisvga %f; else (xdvi %f &); fi + View=%view{ascii} dvi2tty %f + +# TeX +regex/\.([Tt][Ee][Xx])$ + Open=%var{EDITOR:emacsclient} %f + +# DjVu (changed) +regex/\.(djvu|DJVU)$ + Open=zathura --fork %f + +### Miscellaneous ### + +# Makefile +regex/[Mm]akefile$ + Open=make -f %f %{Enter parameters} + +# Imakefile +shell/Imakefile + Open=xmkmf -a + +# Makefile.PL (MakeMaker) +regex/^Makefile.(PL|pl)$ + Open=%var{PERL:perl} %f + +# dbf +regex/\.([dD][bB][fF])$ + Open=%view{ascii} dbview %f + View=%view{ascii} dbview -b %f + +# REXX script +regex/\.(rexx?|cmd)$ + Open=rexx %f %{Enter parameters};echo "Press ENTER";read y + +# Disk images for Commodore computers (VIC20, C64, C128) +regex/\.(d64|D64)$ + Open=%cd %p#uc1541 + View=%view{ascii} c1541 %f -list + Extract=c1541 %f -extract + +# Glade, a user interface designer for GTK+ and GNOME +regex/\.([Gg][Ll][Aa][Dd][Ee])$ + Open=if glade-3 --version >/dev/null 2>&1; then (glade-3 %f >/dev/null 2>&1 &); else (glade-2 %f >/dev/null 2>&1 &); fi + +# Gettext Catalogs +shell/.mo + View=%view{ascii} msgunfmt %f || cat %f + +# lyx +regex/\.(lyx|LYX)$ + Open=lyx %f + View=%view{ascii} lyxcat %f + +### Plain compressed files ### + +# ace +regex/\.(ace|ACE)$ + Open=%cd %p#uace + View=%view{ascii} unace l %f + Extract=unace x %f + +# arc +regex/\.(arc|ARC)$ + Open=%cd %p#uarc + View=%view{ascii} arc l %f + Extract=arc x %f '*' + Extract (with flags)=I=%{Enter any Arc flags:}; if test -n "$I"; then arc x $I %f; fi + +# zip +type/^([Zz][Ii][Pp])\ archive + Open=%cd %p#uzip + View=%view{ascii} unzip -v %f + +# zoo +regex/\.([Zz][Oo][Oo])$ + Open=%cd %p#uzoo + View=%view{ascii} zoo l %f + +# gzip +type/^gzip + Open=gzip -dc %f | %var{PAGER:more} + View=%view{ascii} gzip -dc %f 2>/dev/null + +regex/\.(gz|Z)$ + View=%view{ascii} gzip -dc %f 2>/dev/null + +# bzip2 +type/^bzip2 + Open=bzip2 -dc %f | %var{PAGER:more} + View=%view{ascii} bzip2 -dc %f 2>/dev/null + +regex/\.bz2?$ + View=%view{ascii} bzip2 -dc %f 2>/dev/null + +# bzip +type/^bzip + Open=bzip -dc %f | %var{PAGER:more} + View=%view{ascii} bzip -dc %f 2>/dev/null + +# compress +type/^compress + Open=gzip -dc %f | %var{PAGER:more} + View=%view{ascii} gzip -dc %f 2>/dev/null + +# lzma +regex/\.lzma$ + Open=lzma -dc %f | %var{PAGER:more} + View=%view{ascii} lzma -dc %f 2>/dev/null + +# xz +regex/\.xz$ + Open=xz -dc %f | %var{PAGER:more} + View=%view{ascii} xz -dc %f 2>/dev/null + + +### Default ### + +# Default target for anything not described above +default/* + Open=%var{EDITOR:emacsclient} %f + View=%var{EDITOR:emacsclient} %f + + +### EOF ### diff --git a/.config/mc/hotlist b/.config/mc/hotlist new file mode 100644 index 0000000..32499c2 --- /dev/null +++ b/.config/mc/hotlist @@ -0,0 +1,5 @@ +ENTRY "/home/collin" URL "/home/collin" +ENTRY "/media/dm" URL "/media/dm" +GROUP "Local Network" + ENTRY "sh:alpha/~" URL "/home/collin/#sh:alpha/~" +ENDGROUP diff --git a/.config/mc/ini b/.config/mc/ini new file mode 100644 index 0000000..254995e --- /dev/null +++ b/.config/mc/ini @@ -0,0 +1,194 @@ + +[Midnight-Commander] +verbose=1 +pause_after_run=1 +shell_patterns=1 +auto_save_setup=1 +auto_menu=0 +use_internal_view=0 +use_internal_edit=0 +clear_before_exec=1 +confirm_delete=1 +confirm_overwrite=1 +confirm_execute=0 +confirm_history_cleanup=1 +confirm_exit=1 +confirm_directory_hotlist_delete=1 +safe_delete=1 +mouse_repeat_rate=100 +double_click_speed=250 +use_8th_bit_as_meta=0 +confirm_view_dir=0 +mouse_move_pages_viewer=1 +mouse_close_dialog=0 +fast_refresh=0 +drop_menus=0 +wrap_mode=1 +old_esc_mode=1 +old_esc_mode_timeout=1000000 +cd_symlinks=1 +show_all_if_ambiguous=0 +max_dirt_limit=10 +torben_fj_mode=0 +use_file_to_guess_type=1 +alternate_plus_minus=0 +only_leading_plus_minus=1 +show_output_starts_shell=0 +xtree_mode=0 +num_history_items_recorded=60 +file_op_compute_totals=1 +classic_progressbar=1 +vfs_timeout=60 +ftpfs_directory_timeout=900 +use_netrc=1 +ftpfs_retry_seconds=30 +ftpfs_always_use_proxy=0 +ftpfs_use_passive_connections=1 +ftpfs_use_passive_connections_over_proxy=0 +ftpfs_use_unix_list_options=1 +ftpfs_first_cd_then_ls=1 +fish_directory_timeout=900 +editor_tab_spacing=8 +editor_word_wrap_line_length=72 +editor_fill_tabs_with_spaces=0 +editor_return_does_auto_indent=1 +editor_backspace_through_tabs=0 +editor_fake_half_tabs=1 +editor_option_save_mode=0 +editor_option_save_position=1 +editor_option_auto_para_formatting=0 +editor_option_typewriter_wrap=0 +editor_edit_confirm_save=1 +editor_syntax_highlighting=1 +editor_persistent_selections=1 +editor_cursor_beyond_eol=0 +editor_visible_tabs=1 +editor_visible_spaces=1 +editor_line_state=0 +editor_simple_statusbar=0 +editor_check_new_line=0 +editor_show_right_margin=0 +nice_rotating_dash=1 +mcview_remember_file_position=0 +auto_fill_mkdir_name=1 +copymove_persistent_attr=1 +select_flags=6 +editor_backup_extension=~ +mcview_eof= +kilobyte_si=0 +mix_all_files=0 +show_backups=1 +show_dot_files=1 +fast_reload=0 +fast_reload_msg_shown=0 +mark_moves_down=1 +reverse_files_only=1 +navigate_with_arrows=0 +scroll_pages=1 +mouse_move_pages=1 +filetype_mode=1 +permission_mode=0 +quick_search_case_sensitive=2 +ignore_ftp_chattr_errors=true +keymap=mc.keymap +skin=gotar + +filepos_max_saved_entries=1024 + +preallocate_space=0 +editor_cursor_after_inserted_block=0 +editor_group_undo=0 + +[Layout] +message_visible=1 +keybar_visible=1 +xterm_title=1 +output_lines=0 +command_prompt=1 +menubar_visible=1 +show_mini_info=1 +free_space=1 + +horizontal_split=0 +vertical_equal=1 +left_panel_size=61 +horizontal_equal=1 +top_panel_size=113 + +[Misc] +timeformat_recent=%b %e %H:%M +timeformat_old=%b %e %Y +ftp_proxy_host=gate +ftpfs_password=anonymous@ +display_codepage=ASCII +source_codepage=Other_8_bit +autodetect_codeset= +clipboard_store= +clipboard_paste= + + +[Colors] +base_color= +screen= +color_terminals= + +rxvt-unicode-256color= + +xterm= + +[Panels] +kilobyte_si=false +mix_all_files=false +show_backups=true +show_dot_files=true +fast_reload=false +fast_reload_msg_shown=false +mark_moves_down=true +reverse_files_only=true +auto_save_setup_panels=true +navigate_with_arrows=false +panel_scroll_pages=true +mouse_move_pages=true +filetype_mode=true +permission_mode=false +quick_search_mode=2 + +simple_swap=false + +show_mini_info=true +torben_fj_mode=false + +[HotlistConfig] +expanded_view_of_groups=0 + +[FindFile] +ignore_dirs= +file_case_sens=true +file_shell_pattern=true +file_find_recurs=true +file_skip_hidden=false +file_all_charsets=false +content_use=true +content_case_sens=true +content_regexp=false +content_first_hit=false +content_whole_words=false +content_all_charsets=false + +ignore_dirs_enable=true + +[DiffView] +show_symbols=false +show_numbers=false +tab_size=8 +diff_quality=0 +diff_ignore_tws=false +diff_ignore_all_space=false +diff_ignore_space_change=false +diff_tab_expansion=false +diff_ignore_case=false + +[Panelize] +Find *.orig after patching=find . -name \\*.orig -print +Find SUID and SGID programs=find . \\( \\( -perm -04000 -a -perm +011 \\) -o \\( -perm -02000 -a -perm +01 \\) \\) -print +Find rejects after patching=find . -name \\*.rej -print diff --git a/.config/mc/panels.ini b/.config/mc/panels.ini new file mode 100644 index 0000000..2ca7013 --- /dev/null +++ b/.config/mc/panels.ini @@ -0,0 +1,32 @@ + +[New Left Panel] +display=listing +reverse=0 +case_sensitive=1 +exec_first=0 +sort_order=name +list_mode=full +user_format=half type name | size | perm +user_status0=half type name | size | perm +user_status1=half type name | size | perm +user_status2=half type name | size | perm +user_status3=half type name | size | perm +user_mini_status=0 + +[New Right Panel] +display=listing +reverse=0 +case_sensitive=1 +exec_first=0 +sort_order=name +list_mode=full +user_format=half type name | size | perm +user_status0=half type name | size | perm +user_status1=half type name | size | perm +user_status2=half type name | size | perm +user_status3=half type name | size | perm +user_mini_status=0 + +[Dirs] +other_dir=/home/collin +current_is_left=false diff --git a/.config/systemd/user/default.target.wants/emacs.service b/.config/systemd/user/default.target.wants/emacs.service new file mode 120000 index 0000000..b460aa8 --- /dev/null +++ b/.config/systemd/user/default.target.wants/emacs.service @@ -0,0 +1 @@ +/home/collin/.config/systemd/user/emacs.service \ No newline at end of file diff --git a/.config/systemd/user/default.target.wants/emacsd.service b/.config/systemd/user/default.target.wants/emacsd.service new file mode 120000 index 0000000..d6ca9f7 --- /dev/null +++ b/.config/systemd/user/default.target.wants/emacsd.service @@ -0,0 +1 @@ +/home/collin/.config/systemd/user/emacsd.service \ No newline at end of file diff --git a/.config/systemd/user/default.target.wants/mpd.service b/.config/systemd/user/default.target.wants/mpd.service new file mode 120000 index 0000000..080ac91 --- /dev/null +++ b/.config/systemd/user/default.target.wants/mpd.service @@ -0,0 +1 @@ +/home/collin/.config/systemd/user/mpd.service \ No newline at end of file diff --git a/.config/systemd/user/default.target.wants/udiskie.service b/.config/systemd/user/default.target.wants/udiskie.service new file mode 120000 index 0000000..47ed7aa --- /dev/null +++ b/.config/systemd/user/default.target.wants/udiskie.service @@ -0,0 +1 @@ +/home/collin/.config/systemd/user/udiskie.service \ No newline at end of file diff --git a/.config/systemd/user/default.target.wants/unclutter.service b/.config/systemd/user/default.target.wants/unclutter.service new file mode 120000 index 0000000..7506854 --- /dev/null +++ b/.config/systemd/user/default.target.wants/unclutter.service @@ -0,0 +1 @@ +/home/collin/.config/systemd/user/unclutter.service \ No newline at end of file diff --git a/.config/systemd/user/default.target.wants/urxvtd.service b/.config/systemd/user/default.target.wants/urxvtd.service new file mode 120000 index 0000000..f6e9c15 --- /dev/null +++ b/.config/systemd/user/default.target.wants/urxvtd.service @@ -0,0 +1 @@ +/home/collin/.config/systemd/user/urxvtd.service \ No newline at end of file diff --git a/.config/systemd/user/default.target.wants/xbindkeys.service b/.config/systemd/user/default.target.wants/xbindkeys.service new file mode 120000 index 0000000..39d1b53 --- /dev/null +++ b/.config/systemd/user/default.target.wants/xbindkeys.service @@ -0,0 +1 @@ +/home/collin/.config/systemd/user/xbindkeys.service \ No newline at end of file diff --git a/.config/systemd/user/default.target.wants/xcompmgr.service b/.config/systemd/user/default.target.wants/xcompmgr.service new file mode 120000 index 0000000..5d46f93 --- /dev/null +++ b/.config/systemd/user/default.target.wants/xcompmgr.service @@ -0,0 +1 @@ +/home/collin/.config/systemd/user/xcompmgr.service \ No newline at end of file diff --git a/.config/systemd/user/default.target.wants/xscreensaver.service b/.config/systemd/user/default.target.wants/xscreensaver.service new file mode 120000 index 0000000..13f8676 --- /dev/null +++ b/.config/systemd/user/default.target.wants/xscreensaver.service @@ -0,0 +1 @@ +/home/collin/.config/systemd/user/xscreensaver.service \ No newline at end of file diff --git a/.config/systemd/user/emacs.service b/.config/systemd/user/emacs.service new file mode 100644 index 0000000..d5b5074 --- /dev/null +++ b/.config/systemd/user/emacs.service @@ -0,0 +1,11 @@ +[Unit] +Description = Emacs: the extensible, self-documenting text editor + +[Service] +Type = forking +ExecStart = /usr/bin/emacs --daemon +ExecStop = /usr/bin/emacsclient --eval "(progn (setq kill-emacs-hook 'nil) (kill-emacs))" +Restart = always + +[Install] +WantedBy = default.target diff --git a/.config/systemd/user/mpd.service b/.config/systemd/user/mpd.service new file mode 100644 index 0000000..28416f0 --- /dev/null +++ b/.config/systemd/user/mpd.service @@ -0,0 +1,9 @@ +[Unit] +Description = Music Player Daemon + +[Service] +ExecStart = /usr/bin/mpd --no-daemon +Restart = always + +[Install] +WantedBy = default.target diff --git a/.config/systemd/user/trayer.service b/.config/systemd/user/trayer.service new file mode 100644 index 0000000..5f139d8 --- /dev/null +++ b/.config/systemd/user/trayer.service @@ -0,0 +1,9 @@ +[Unit] +Description = A lightwieght GTK2-based systray for UNIX desktop + +[Service] +ExecStart = /usr/bin/trayer --monitor 1 --edge top --align right --expand true --width 4 --height 2 --transparent true --tint 0x000000 +Restart = always + +[Install] +WantedBy = default.target diff --git a/.config/systemd/user/udiskie.service b/.config/systemd/user/udiskie.service new file mode 100644 index 0000000..36d1e68 --- /dev/null +++ b/.config/systemd/user/udiskie.service @@ -0,0 +1,9 @@ +[Unit] +Description = Automatic disk mounting service using udisks + +[Service] +ExecStart = /usr/bin/udiskie -s +Restart = always + +[Install] +WantedBy = default.target diff --git a/.config/systemd/user/unclutter.service b/.config/systemd/user/unclutter.service new file mode 100644 index 0000000..6958e3a --- /dev/null +++ b/.config/systemd/user/unclutter.service @@ -0,0 +1,9 @@ +[Unit] +Description = Remove idle cursor image from screen + +[Service] +ExecStart = /usr/bin/unclutter +Restart = always + +[Install] +WantedBy = default.target diff --git a/.config/systemd/user/urxvtd.service b/.config/systemd/user/urxvtd.service new file mode 100644 index 0000000..1e82a98 --- /dev/null +++ b/.config/systemd/user/urxvtd.service @@ -0,0 +1,9 @@ +[Unit] +Description = urxvt terminal daemon + +[Service] +ExecStart = /usr/bin/urxvtd --quiet +Restart = always + +[Install] +WantedBy = default.target \ No newline at end of file diff --git a/.config/systemd/user/xbindkeys.service b/.config/systemd/user/xbindkeys.service new file mode 100644 index 0000000..dca2432 --- /dev/null +++ b/.config/systemd/user/xbindkeys.service @@ -0,0 +1,9 @@ +[Unit] +Description = A grabbing keys program for X + +[Service] +ExecStart = /usr/bin/xbindkeys -n +Restart = always + +[Install] +WantedBy = default.target diff --git a/.config/systemd/user/xcompmgr.service b/.config/systemd/user/xcompmgr.service new file mode 100644 index 0000000..750865a --- /dev/null +++ b/.config/systemd/user/xcompmgr.service @@ -0,0 +1,9 @@ +[Unit] +Description = Simple X compositing manager + +[Service] +ExecStart = /usr/bin/xcompmgr +Restart = always + +[Install] +WantedBy = default.target diff --git a/.config/systemd/user/xscreensaver.service b/.config/systemd/user/xscreensaver.service new file mode 100644 index 0000000..43e6604 --- /dev/null +++ b/.config/systemd/user/xscreensaver.service @@ -0,0 +1,9 @@ +[Unit] +Description = Extensible screen saver framework, plus locking + +[Service] +ExecStart = /usr/bin/xscreensaver -no-splash +Restart = always + +[Install] +WantedBy = default.target diff --git a/.emacs b/.emacs index 9436982..0d9316e 100644 --- a/.emacs +++ b/.emacs @@ -15,14 +15,22 @@ ;; * caml (required by tuareg) ;; * tuareg ;; * project-mode +;; * register-list ;; ELPA packages configured explicitly below: ;; * php-mode ;; * python-mode +;; * ipython ;; * lua-mode ;; * erlang ;; * clojure-mode +;; Set repos for package.el +(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") + ("marmalade" . "http://marmalade-repo.org/packages/") + ("melpa" . "http://melpa.milkbox.net/packages/") + ("ELPA" . "http://tromey.com/elpa/"))) + ;; This needs to be a the start of ~/.emacs since package-initialize is run after the user ;; init file is read but before after-init-hook. It autoloads packages installed by ;; package.el including updating the load-path and running/loading/requiring @@ -185,6 +193,7 @@ (mode . geiser-mode) (mode . slime-repl-mode) (mode . inferior-python-mode) + (mode . ipython-mode) (mode . inferior-haskell-mode) (mode . inferior-lisp-mode) (mode . eshell-mode) @@ -193,6 +202,10 @@ (mode . erlang-shell-mode) (name . "^\\*inferior-lisp\\*$") (name . "^\\* Racket REPL \\*$"))) + ("git" (or + (name . "^\\*magit: ") ;; this regxp could be better + (mode . magit-mode) + (mode . magit-log-mode))) ("planner" (or (name . "^\\*Calendar\\*$") (name . "^diary$") @@ -274,9 +287,9 @@ (require 'slime) ;; AUR: emacs-slime-cvs (slime-setup '(slime-fancy)) -;; Setup swank-clojure-mode *TODO* drop in version from ELPA +;; Setup swank-clojure-mode (add-to-list 'load-path "/usr/share/emacs/site-lisp/swank-clojure") -(require 'swank-clojure) ;; AUR: swank-clojure-git +(require 'swank-clojure) ;; ELPA (add-hook 'clojure-mode-hook '(lambda () @@ -298,12 +311,18 @@ (add-hook 'org-mode-hook 'turn-on-font-lock) ; not needed when global-font-lock-mode is on (setq org-return-follows-link t) (setq org-log-done 'time) + +;; Add additional languages for org-babel (now part of org-mode) +(org-babel-do-load-languages + 'org-babel-load-languages + '((haskell . t))) + +;; Set keybindings for org-mode (global-set-key "\C-cl" 'org-store-link) (global-set-key "\C-ca" 'org-agenda) (global-set-key "\C-cb" 'org-iswitchb) -;; Setup emacs-haskell-mode *TODO* drop in ELPA version -(load "/usr/share/emacs/site-lisp/haskell-mode/haskell-site-file") +;; Setup haskell-mode ;; ELPA (add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode) (add-hook 'haskell-mode-hook 'turn-on-haskell-indentation) ;;(add-hook 'haskell-mode-hook 'turn-on-haskell-indent) @@ -312,9 +331,17 @@ ;; Set inferior haskell default executable (setq haskell-program-name "/usr/bin/ghci") +;; Python stuff currently *BROKEN* ;; Setup emacs-python-mode -(autoload 'python-mode "python-mode.el" "Python mode." t) ;; ELPA -(setq auto-mode-alist (append '(("/*.\.py$" . python-mode)) auto-mode-alist)) +;; (autoload 'python-mode "python-mode.el" "Python mode." t) ;; ELPA +;; (setq auto-mode-alist (append '(("/*.\.py$" . python-mode)) auto-mode-alist)) + +;; Setup ipython-mode +;; (setq py-python-command "/usr/bin/ipython") +;; (require 'ipython) ;; ELPA + +;; Make a variable alias because ipython-mode references python-mode-map as py-mode-map +;;(defvaralias 'python-mode-map 'py-mode-map) ;; Setup emacs-lua-mode (setq auto-mode-alist (cons '("\.lua$" . lua-mode) auto-mode-alist)) ;; ELPA @@ -327,7 +354,7 @@ ;; Setup enhanced scheme/racket mode consisting of geiser, quack and paredit ;; Setup geiser -(require 'geiser-install) ;; AUR: geiser-git +;;(require 'geiser-install) ;; AUR: geiser-git ;; Setup quack *DISABLED* ;(require 'quack) @@ -390,8 +417,8 @@ ;; Setup yasnippet-mode (not yasnippet-bundle) (require 'yasnippet) ;; ELPA -(yas/initialize) -(yas/load-directory "~/.emacs.d/elpa/yasnippet-0.6.1/snippets") +;;(yas/initialize) +(yas/load-directory "~/.emacs.d/elpa/yasnippet-20120718/snippets") ;; Enable flyspell-mode (ac-flyspell-workaround) @@ -411,6 +438,7 @@ '(("\\.c$" . ["c-template.c" auto-update-generic-template]) ("\\.\(cc\|cpp\)$" . ["cpp-template.c" auto-update-generic-template]) ("\\.php$" . ["php-template.php" auto-update-generic-template]) + ("\\.rb$" . ["ruby-template.rb" auto-update-generic-template]) ("\\.lua$" . ["lua-template.lua" auto-update-generic-template]) ("\\.erl$" . ["erlang-template.erl" auto-update-generic-template]) ("\\.sh$" . ["shell-template.sh" auto-update-generic-template]) @@ -525,12 +553,20 @@ ;; Commands that require a little more then a dumb-term (setq eshell-visual-commands '("vi" "screen" "top" "less" "more" "lynx" "ncftp" "vim" "ncmpcpp" "irssi" "mc" "alsamixer" "/usr/bin/sudo")) -(defun eshell/ff (fs) - "Find many files using eshell's built in regexps" + +(defun eshell/find-file-ext (fp) + "Finds a single file or a list of files and returns a list of their respective buffers" (interactive) - (if (listp fs) - (mapc #'find-file fs) - (find-file fs))) + (if (listp fp) (mapcar #'find-file fp) + (list (find-file fp)))) + +(defun eshell/ff (fp &rest other-fps) + "A FP is either a file path (relative or absolute) or a regexp which eshell converts to a +list of stings (file paths) which match the regexp (likely using file-expand-widcards). +eshell/ff takes one or more file paths and opens them in the current buffer returning a list +consisting of lists of buffers opened by each respective FP argument." + (interactive) + (mapcar #'eshell/find-file-ext (cons fp other-fps))) (defun eshell/clear () "04Dec2001 - sailor, to clear the eshell buffer." @@ -552,11 +588,6 @@ ;; ;; Synchronize el-get ;; (el-get 'sync) -;; Set repos for package.el -(setq package-archives '(("ELPA" . "http://tromey.com/elpa/") - ("gnu" . "http://elpa.gnu.org/packages/") - ("marmalade" . "http://marmalade-repo.org/packages/"))) - (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. diff --git a/.emacs.d/templates/emacs-lisp-template.el b/.emacs.d/templates/emacs-lisp-template.el new file mode 100644 index 0000000..1eb7deb --- /dev/null +++ b/.emacs.d/templates/emacs-lisp-template.el @@ -0,0 +1,19 @@ +;; (C) Copyright Collin Doering @!@YEAR@!@ +;; +;; This program is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. +;; +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;; File: @!@FILE@!@ +;; Author: Collin J. Doering +;; Date: @!@DATE@!@ + diff --git a/.emacs.d/templates/erlang-template.erl b/.emacs.d/templates/erlang-template.erl new file mode 100644 index 0000000..eddacfe --- /dev/null +++ b/.emacs.d/templates/erlang-template.erl @@ -0,0 +1,19 @@ +% (C) Copyright Collin Doering @!@YEAR@!@ +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see . + +% File: @!@FILE@!@ +% Author: Collin J. Doering +% Date: @!@DATE@!@ + diff --git a/.emacs.d/templates/lua-template.lua b/.emacs.d/templates/lua-template.lua new file mode 100644 index 0000000..4c841a8 --- /dev/null +++ b/.emacs.d/templates/lua-template.lua @@ -0,0 +1,19 @@ +-- (C) Copyright Collin Doering @!@YEAR@!@ +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . + +-- File: @!@FILE@!@ +-- Author: Collin J. Doering +-- Date: @!@DATE@!@ + diff --git a/.emacs.d/templates/ocaml-template.ml b/.emacs.d/templates/ocaml-template.ml new file mode 100644 index 0000000..f9c12a6 --- /dev/null +++ b/.emacs.d/templates/ocaml-template.ml @@ -0,0 +1,23 @@ +(* + * (C) Copyright Collin Doering @!@YEAR@!@ + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + *) + +(* + * File: @!@FILE@!@ + * Author: Collin J. Doering + * Date: @!@DATE@!@ + *) + diff --git a/.emacs.d/templates/php-template.php b/.emacs.d/templates/php-template.php new file mode 100644 index 0000000..b544a40 --- /dev/null +++ b/.emacs.d/templates/php-template.php @@ -0,0 +1,23 @@ +/** + * (C) Copyright Collin Doering @!@YEAR@!@ + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . +*/ + +/** + * File: @!@FILE@!@ + * Author: Collin J. Doering + * Date: @!@DATE@!@ + */ + diff --git a/.emacs.d/templates/python-scratch.py b/.emacs.d/templates/python-scratch.py new file mode 100644 index 0000000..99644b5 --- /dev/null +++ b/.emacs.d/templates/python-scratch.py @@ -0,0 +1,3 @@ +# This buffer is for notes you don't want to save, and for Lisp evaluation. +# If you want to create a file, visit that file with C-x C-f, +# then enter the text in that file's own buffer. diff --git a/.emacs.d/templates/ruby-template.rb b/.emacs.d/templates/ruby-template.rb new file mode 100644 index 0000000..0c076c1 --- /dev/null +++ b/.emacs.d/templates/ruby-template.rb @@ -0,0 +1,19 @@ +# (C) Copyright Collin Doering @!@YEAR@!@ +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# File: @!@FILE@!@ +# Author: Collin J. Doering +# Date: @!@DATE@!@ + diff --git a/.emacs.d/templates/sml-template.ml b/.emacs.d/templates/sml-template.ml new file mode 100644 index 0000000..ab82496 --- /dev/null +++ b/.emacs.d/templates/sml-template.ml @@ -0,0 +1,23 @@ +(* + * (C) Copyright Collin Doering 2013 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + *) + +(* + * File: sml-template.ml + * Author: Collin J. Doering + * Date: Mar 5, 2013 + *) + diff --git a/.eshell/alias b/.eshell/alias new file mode 100644 index 0000000..1bd6b41 --- /dev/null +++ b/.eshell/alias @@ -0,0 +1,5 @@ +alias ms magit-status $1 +alias mss magit-status . +alias ssudo /usr/bin/sudo +alias d dired $1 +alias ffo find-file-other-window $1 diff --git a/.eshell/profile b/.eshell/profile new file mode 100644 index 0000000..72bfbc3 --- /dev/null +++ b/.eshell/profile @@ -0,0 +1,7 @@ +# File: ~/.eshell/profile +# Author: Collin J. Doering +# Date: Nov 12, 2011 +# Description: + +# Set commands that use a Term buffer instead of the eshell dumbterm +setq eshell-visual-commands (list "vi" "screen" "top" "less" "more" "lynx" "ncftp" "pine" "tin" "trn" "elm" "vim" "ncmpcpp" "irssi" "mc" "vim" "ncmpcpp" "irssi" "mc" "vim" "ncmpcpp" "irssi" "mc" "/usr/bin/sudo") >> /dev/null diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 0000000..975fe55 --- /dev/null +++ b/.gitconfig @@ -0,0 +1,6 @@ +[user] + email = rekahsoft@gmail.com +[color] + branch = auto + diff = auto + status = auto diff --git a/.gnus b/.gnus index 67250be..90c6558 100644 --- a/.gnus +++ b/.gnus @@ -39,7 +39,7 @@ ;; (nnimap-address "imap.gmail.com") ;; (nnimap-server-port 993) ;; (nnimap-stream ssl) -;; (nnimap-authinfo-file "~/.cd-authinfo.gpg")) +;; (nnimap-authinfo-file "~/.authinfo-cd.gpg")) ;; (nnimap "rekahsoft" ;; (remove-prefix "INBOX.") ;; (nnimap-address "imap.gmail.com") diff --git a/.mpdconf b/.mpdconf new file mode 100644 index 0000000..b6e6da4 --- /dev/null +++ b/.mpdconf @@ -0,0 +1,456 @@ +# An example configuration file for MPD +# See the mpd.conf man page for a more detailed description of each parameter. + + +# Files and directories ####################################################### +# +# This setting controls the top directory which MPD will search to discover the +# available audio files and add them to the daemon's online database. This +# setting defaults to the XDG directory, otherwise the music directory will be +# be disabled and audio files will only be accepted over ipc socket (using +# file:// protocol) or streaming files over an accepted protocol. +# +music_directory "/media/dm/Music" +# +# This setting sets the MPD internal playlist directory. The purpose of this +# directory is storage for playlists created by MPD. The server will use +# playlist files not created by the server but only if they are in the MPD +# format. This setting defaults to playlist saving being disabled. +# +playlist_directory "~/.mpd/playlists" +# +# This setting sets the location of the MPD database. This file is used to +# load the database at server start up and store the database while the +# server is not up. This setting defaults to disabled which will allow +# MPD to accept files over ipc socket (using file:// protocol) or streaming +# files over an accepted protocol. +# +db_file "~/.mpd/database" +# +# These settings are the locations for the daemon log files for the daemon. +# These logs are great for troubleshooting, depending on your log_level +# settings. +# +# The special value "syslog" makes MPD use the local syslog daemon. This +# setting defaults to logging to syslog, otherwise logging is disabled. +# +log_file "~/.mpd/log" +# +# This setting sets the location of the file which stores the process ID +# for use of mpd --kill and some init scripts. This setting is disabled by +# default and the pid file will not be stored. +# +pid_file "~/.mpd/pid" +# +# This setting sets the location of the file which contains information about +# most variables to get MPD back into the same general shape it was in before +# it was brought down. This setting is disabled by default and the server +# state will be reset on server start up. +# +state_file "~/.mpd/state" +# +# The location of the sticker database. This is a database which +# manages dynamic information attached to songs. +# +#sticker_file "~/.mpd/sticker.sql" +# +############################################################################### + + +# General music daemon options ################################################ +# +# This setting specifies the user that MPD will run as. MPD should never run as +# root and you may use this setting to make MPD change its user ID after +# initialization. This setting is disabled by default and MPD is run as the +# current user. +# +#user "nobody" +# +# This setting specifies the group that MPD will run as. If not specified +# primary group of user specified with "user" setting will be used (if set). +# This is useful if MPD needs to be a member of group such as "audio" to +# have permission to use sound card. +# +#group "nogroup" +# +# This setting sets the address for the daemon to listen on. Careful attention +# should be paid if this is assigned to anything other then the default, any. +# This setting can deny access to control of the daemon. +# +# For network +#bind_to_address "any" +# +# And for Unix Socket +#bind_to_address "~/.mpd/socket" +# +# This setting is the TCP port that is desired for the daemon to get assigned +# to. +# +port "6600" +# +# This setting controls the type of information which is logged. Available +# setting arguments are "default", "secure" or "verbose". The "verbose" setting +# argument is recommended for troubleshooting, though can quickly stretch +# available resources on limited hardware storage. +# +#log_level "default" +# +# If you have a problem with your MP3s ending abruptly it is recommended that +# you set this argument to "no" to attempt to fix the problem. If this solves +# the problem, it is highly recommended to fix the MP3 files with vbrfix +# (available from ), at which +# point gapless MP3 playback can be enabled. +# +#gapless_mp3_playback "yes" +# +# Setting "restore_paused" to "yes" puts MPD into pause mode instead +# of starting playback after startup. +# +#restore_paused "no" +# +# This setting enables MPD to create playlists in a format usable by other +# music players. +# +#save_absolute_paths_in_playlists "no" +# +# This setting defines a list of tag types that will be extracted during the +# audio file discovery process. The complete list of possible values can be +# found in the mpd.conf man page. +#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc" +# +# This setting enables automatic update of MPD's database when files in +# music_directory are changed. +# +auto_update "yes" +# +# Limit the depth of the directories being watched, 0 means only watch +# the music directory itself. There is no limit by default. +# +#auto_update_depth "3" +# +############################################################################### + + +# Symbolic link behavior ###################################################### +# +# If this setting is set to "yes", MPD will discover audio files by following +# symbolic links outside of the configured music_directory. +# +#follow_outside_symlinks "yes" +# +# If this setting is set to "yes", MPD will discover audio files by following +# symbolic links inside of the configured music_directory. +# +#follow_inside_symlinks "yes" +# +############################################################################### + + +# Zeroconf / Avahi Service Discovery ########################################## +# +# If this setting is set to "yes", service information will be published with +# Zeroconf / Avahi. +# +#zeroconf_enabled "yes" +# +# The argument to this setting will be the Zeroconf / Avahi unique name for +# this MPD server on the network. +# +#zeroconf_name "Music Player" +# +############################################################################### + + +# Permissions ################################################################# +# +# If this setting is set, MPD will require password authorization. The password +# can setting can be specified multiple times for different password profiles. +# +#password "password@read,add,control,admin" +# +# This setting specifies the permissions a user has who has not yet logged in. +# +#default_permissions "read,add,control,admin" +# +############################################################################### + + +# Input ####################################################################### +# + +input { + plugin "curl" +# proxy "proxy.isp.com:8080" +# proxy_user "user" +# proxy_password "password" +} + +# +############################################################################### + +# Audio Output ################################################################ +# +# MPD supports various audio output types, as well as playing through multiple +# audio outputs at the same time, through multiple audio_output settings +# blocks. Setting this block is optional, though the server will only attempt +# autodetection for one sound card. +# +# See for examples of +# other audio outputs. +# +# An example of an ALSA output: +# +#audio_output { +# type "alsa" +# name "My ALSA Device" +## device "hw:0,0" # optional +## format "44100:16:2" # optional +## mixer_type "hardware" # optional +## mixer_device "default" # optional +## mixer_control "PCM" # optional +## mixer_index "0" # optional +#} +# +# An example of an OSS output: +# +#audio_output { +# type "oss" +# name "My OSS Device" +## device "/dev/dsp" # optional +## format "44100:16:2" # optional +## mixer_type "hardware" # optional +## mixer_device "/dev/mixer" # optional +## mixer_control "PCM" # optional +#} +# +# An example of a shout output (for streaming to Icecast): +# +#audio_output { +# type "shout" +# encoding "ogg" # optional +# name "My Shout Stream" +# host "localhost" +# port "8000" +# mount "/mpd.ogg" +# password "hackme" +# quality "5.0" +# bitrate "128" +# format "44100:16:1" +## protocol "icecast2" # optional +## user "source" # optional +## description "My Stream Description" # optional +## url "http://example.com" # optional +## genre "jazz" # optional +## public "no" # optional +## timeout "2" # optional +## mixer_type "software" # optional +#} +# +# An example of a recorder output: +# +#audio_output { +# type "recorder" +# name "My recorder" +# encoder "vorbis" # optional, vorbis or lame +# path "/var/lib/mpd/recorder/mpd.ogg" +## quality "5.0" # do not define if bitrate is defined +# bitrate "128" # do not define if quality is defined +# format "44100:16:1" +#} +# +# An example of a httpd output (built-in HTTP streaming server): +# +#audio_output { +# type "httpd" +# name "My HTTP Stream" +# encoder "vorbis" # optional, vorbis or lame +# port "8000" +# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6 +## quality "5.0" # do not define if bitrate is defined +# bitrate "128" # do not define if quality is defined +# format "44100:16:1" +# max_clients "0" # optional 0=no limit +#} +# +# An example of a pulseaudio output (streaming to a remote pulseaudio server) +# +#audio_output { +# type "pulse" +# name "My Pulse Output" +## server "remote_server" # optional +## sink "remote_server_sink" # optional +#} +# + +audio_output { + type "pulse" + name "My Pulse Output" +# server "remote_server" # optional +# sink "remote_server_sink" # optional +} + +audio_output { + type "fifo" + name "RekahSoft_FIFO" + path "~/.mpd/mpd.fifo" + format "44100:16:2" +} + +## Example "pipe" output: +# +#audio_output { +# type "pipe" +# name "my pipe" +# command "aplay -f cd 2>/dev/null" +## Or if you're want to use AudioCompress +# command "AudioCompress -m | aplay -f cd 2>/dev/null" +## Or to send raw PCM stream through PCM: +# command "nc example.org 8765" +# format "44100:16:2" +#} +# +## An example of a null output (for no audio output): +# +#audio_output { +# type "null" +# name "My Null Output" +# mixer_type "none" # optional +#} +# +# This setting will change all decoded audio to be converted to the specified +# format before being passed to the audio outputs. By default, this setting is +# disabled. +# +#audio_output_format "44100:16:2" +# +# If MPD has been compiled with libsamplerate support, this setting specifies +# the sample rate converter to use. Possible values can be found in the +# mpd.conf man page or the libsamplerate documentation. By default, this is +# setting is disabled. +# +#samplerate_converter "Fastest Sinc Interpolator" +# +############################################################################### + + +# Normalization automatic volume adjustments ################################## +# +# This setting specifies the type of ReplayGain to use. This setting can have +# the argument "off", "album" or "track". See +# for more details. This setting is off by default. +# +#replaygain "album" +# +# This setting sets the pre-amp used for files that have ReplayGain tags. By +# default this setting is disabled. +# +#replaygain_preamp "0" +# +# This setting enables on-the-fly normalization volume adjustment. This will +# result in the volume of all playing audio to be adjusted so the output has +# equal "loudness". This setting is disabled by default. +# +volume_normalization "yes" +# +############################################################################### + + +# MPD Internal Buffering ###################################################### +# +# This setting adjusts the size of internal decoded audio buffering. Changing +# this may have undesired effects. Don't change this if you don't know what you +# are doing. +# +#audio_buffer_size "2048" +# +# This setting controls the percentage of the buffer which is filled before +# beginning to play. Increasing this reduces the chance of audio file skipping, +# at the cost of increased time prior to audio playback. +# +#buffer_before_play "10%" +# +############################################################################### + + +# Resource Limitations ######################################################## +# +# These settings are various limitations to prevent MPD from using too many +# resources. Generally, these settings should be minimized to prevent security +# risks, depending on the operating resources. +# +#connection_timeout "60" +#max_connections "10" +#max_playlist_length "16384" +#max_command_list_size "2048" +#max_output_buffer_size "8192" +# +############################################################################### + +# Client TCP keep alive ####################################################### +# +# For clients connected by TCP on supported platforms. +# Allows detection of dangling connections due to clients disappearing from +# the network without closing their connections. +# +# This is not usually necessary but can be useful in cases such as wifi connectected +# clients that go in and out of network range or turn off wifi without closing their +# connections. Combined with low max_connections this can soon cause clients to not +# be able to connect. +# +# +# Enable tcp keepalive on new client connections (default is "no") +# +#tcp_keep_alive "no" +# +# Time in seconds since the last communication on the connection and before +# the keepalive probing is started. (default is 7200 seconds) +#tcp_keep_alive_idle "7200" +# +# Interval in seconds between keepalive probes, once a probe started. +# (default is 75 seconds) +#tcp_keep_alive_interval "75" +# +# Number of failed probes before the connection is pronounced dead and +# the connection is closed. (default is 9 times) +#tcp_keep_alive_count "9" +# +############################################################################### + +# Character Encoding ########################################################## +# +# If file or directory names do not display correctly for your locale then you +# may need to modify this setting. +# +#filesystem_charset "UTF-8" +# +# This setting controls the encoding that ID3v1 tags should be converted from. +# +#id3v1_encoding "ISO-8859-1" +# +############################################################################### + + +# SIDPlay decoder ############################################################# +# +# songlength_database: +# Location of your songlengths file, as distributed with the HVSC. +# The sidplay plugin checks this for matching MD5 fingerprints. +# See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq +# +# default_songlength: +# This is the default playing time in seconds for songs not in the +# songlength database, or in case you're not using a database. +# A value of 0 means play indefinitely. +# +# filter: +# Turns the SID filter emulation on or off. +# +#decoder { +# plugin "sidplay" +# songlength_database "/media/C64Music/DOCUMENTS/Songlengths.txt" +# default_songlength "120" +# filter "true" +#} +# +############################################################################### + diff --git a/.screenrc b/.screenrc index 37b7a49..eff3b7f 100644 --- a/.screenrc +++ b/.screenrc @@ -1,10 +1,10 @@ # Open several named screens at startup and run different commands in each screen -t zsh 0 zsh screen -t irssi 1 irssi -#screen -t ncmpcpp 2 ncmpcpp +screen -t ncmpcpp 2 ncmpcpp screen -t alsamixer 3 alsamixer -screen -t mc 4 mc -screen -t cmus 5 cmus +#screen -t mc 4 mc +#screen -t cmus 5 cmus #screen -t nvlc 5 nvlc # Set default prefix from C-a to C-t diff --git a/.stumpwmrc b/.stumpwmrc index 2aadd9c..480a397 100644 --- a/.stumpwmrc +++ b/.stumpwmrc @@ -42,6 +42,10 @@ (stumpwm:define-key stumpwm:*root-map* (stumpwm:kbd "C-e") "exec emacsclient -c") (stumpwm:define-key stumpwm:*root-map* (stumpwm:kbd "P") "exec dmenu_run") +;; Center message and input windows +(setq stumpwm:*message-window-gravity* :center) +(setq stumpwm:*input-window-gravity* :center) + ;; Load swank for emacs to connect to stumpwm's lisp process (load "/usr/share/emacs/site-lisp/slime/swank-loader.lisp") (swank-loader:init) diff --git a/.vimrc b/.vimrc index 378a9a5..7759d2e 100644 --- a/.vimrc +++ b/.vimrc @@ -9,6 +9,9 @@ set guioptions-=T " set color scheme to a dark one colorscheme slate +" enable syntax highlighting +syntax enable + " number the lines set number diff --git a/.xbindkeysrc b/.xbindkeysrc index eb12f13..3ba209c 100644 --- a/.xbindkeysrc +++ b/.xbindkeysrc @@ -14,32 +14,32 @@ # play/pause key = toggle play pause #"~/.bin/toggle-pp.py" -#"mpc toggle" -"cmus-remote --pause" +#"cmus-remote --pause" +"mpc toggle" m:0x10 + c:172 XF86AudioPlay -#"mpc toggle" -"cmus-remote --pause" +#"cmus-remote --pause" +"mpc toggle" m:0x58 + c:33 Alt+Mod2+Mod4 + p # next key = next song -#"mpc next" -"cmus-remote --next" +#"cmus-remote --next" +"mpc next" m:0x10 + c:171 XF86AudioNext -#"mpc next" -"cmus-remote --next" +#"cmus-remote --next" +"mpc next" m:0x58 + c:60 Alt+Mod2+Mod4 + period # prev key = previous song -#"mpc prev" -"cmus-remote --prev" +#"cmus-remote --prev" +"mpc prev" m:0x10 + c:173 XF86AudioPrev -#"mpc prev" -"cmus-remote --prev" +#"cmus-remote --prev" +"mpc prev" m:0x58 + c:59 Alt+Mod2+Mod4 + comma @@ -88,7 +88,7 @@ ## Left side of keyboard # WWW key -"firefox" +"conkeror" m:0x10 + c:158 XF86WWW diff --git a/.xinitrc b/.xinitrc index 61e43e5..57ee029 100755 --- a/.xinitrc +++ b/.xinitrc @@ -10,37 +10,35 @@ # where: window-manager is one of '(xmonad openbox stumpwm awesome pekwm) # session-type is either "" or "remote" +# Runs system-wide xinitrc scripts +if [ -d /etc/X11/xinit/xinitrc.d ]; then + for f in /etc/X11/xinit/xinitrc.d/*; do + [ -x "$f" ] && . "$f" + done + unset f +fi + # Set the default curson used by all WM's xsetroot -cursor_name left_ptr # Initialize a local desktop session (run generic helper applications) function init_local_session() { - # Setup monitors - xrandr --output DVI-I-1 --auto --output DVI-I-2 --auto --left-of DVI-I-1 - - # Start xscreensaver - xscreensaver -no-splash & - + # Start a user instance of systemd, which in turns starts: + # * xcompmgr + # * xscreensaver + # * unclutter + # * xbindkeys + # * urxvtd + # * emacsd + # * trayer *disabled* .. + # * udiskie + systemd --user & + # Set a desktop background nitrogen --restore & - - # Have mouse pointer hide after 5 seconds - unclutter & # Setup system tray *DISABLED* :: whats the point of a systray if no apps use it? #trayer --monitor 1 --edge top --align right --expand true --width 4 --height 2 --transparent true --tint 0x000000 & - - # Use xbindkeys to bind media keys etc.. - xbindkeys & - - # Start pulseaudio - #start-pulseaudio-x11 & - - # Start-up applications - #parcellite & - emacs --daemon & - urxvtd --quiet & - xcompmgr & # Create variable GENERAL_SCREEN which is the pid of a screen called "general" export GENERAL_SCREEN=`screen -ls | grep general | cut -f1 -d'.' | sed 's/\W//g'` diff --git a/.xmobarrc b/.xmobarrc index 3f37ad0..99d2423 100644 --- a/.xmobarrc +++ b/.xmobarrc @@ -22,7 +22,7 @@ Config { font = "-*-terminus-*-*-*-*-35-*-*-*-*-*-*-u" , fgColor = "#00FFFF" , position = TopW L 100 , lowerOnStart = True - , commands = [ Run Network "eth0" ["-L","0","-H","32","-l","green","--normal","orange","--high","red"] 40 + , commands = [ Run Network "eno1" ["-L","0","-H","32","-l","green","--normal","orange","--high","red"] 40 -- , Run Com "/home/collin/.bin/vol.sh" [] "vol" 15 , Run MultiCpu ["-t","Cpu | cpu0: | cpu1: | cpu2: | cpu3: ","-L","3","-H","50","--high","#f0c040"] 10 , Run Memory ["-t","Mem: %","-l","green","--normal","orange","--high","red"] 40 @@ -35,5 +35,5 @@ Config { font = "-*-terminus-*-*-*-*-35-*-*-*-*-*-*-u" ] , sepChar = "%" , alignSep = "}{" - , template = " %StdinReader% }{ %multicpu% %memory% | %swap% | %eth0% | %uptime% | %CYKF% | %date% | " + , template = " %StdinReader% }{ %multicpu% %memory% | %swap% | %eno1% | %uptime% | %CYKF% | %date% | " } diff --git a/.xmonad/xmonad.hs b/.xmonad/xmonad.hs index 598ed9b..3ca220a 100644 --- a/.xmonad/xmonad.hs +++ b/.xmonad/xmonad.hs @@ -21,7 +21,7 @@ -- -- http://www.haskell.org/haskellwiki/Xmonad/Notable_changes_since_0.8 -- - + import XMonad import XMonad.Actions.UpdatePointer import XMonad.Actions.WindowBringer @@ -44,6 +44,7 @@ import XMonad.Hooks.ManageDocks import XMonad.Hooks.DynamicLog import XMonad.Hooks.UrgencyHook import XMonad.Hooks.ManageHelpers +import XMonad.Hooks.FadeInactive (setOpacity) import System.IO import qualified XMonad.StackSet as W @@ -177,8 +178,11 @@ myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $ , ((modm .|. shiftMask .|. controlMask, xK_End), io (exitWith ExitSuccess)) -- Quit xmonad (user friendly) - , ((modm .|. shiftMask, xK_q ), spawn "~/.bin/xmonadClose.sh") - + , ((modm .|. shiftMask, xK_q), spawn "~/.bin/xmonadClose.sh") + + -- Unmount automounted disks by udiskie + , ((modm .|. shiftMask .|. controlMask, xK_u), spawn "udiskie-umount -as") + --, ((modm .|. shiftMask, xK_w ), if (dmenu "-b -i -nb '#040404' -nf '#525252' -sf '#ffa0ff' -sb '#000000' -p \"Do you really want to close XMonad? [yes/no]: \"") == "yes" then (sendMessage Expand) else (sendMessage Shrink)) -- Restart xmonad @@ -211,6 +215,9 @@ myGenericKeys = -- Lock the screen using xscreensaver [ ((modm .|. shiftMask, xK_v), spawn "xscreensaver-command -lock") + -- Key binding to toggle the gap for the bar. + , ((modm, xK_b), sendMessage ToggleStruts) + -- Toggle full-screen mode , ((modm .|. controlMask, xK_space), sendMessage (Toggle "Full")) @@ -358,6 +365,10 @@ maxFloat = flip W.float $ rectWithBorder 0.05 doMaxFloat = ask >>= doF . maxFloat +-- removes duplicate code in my manage hook following the pattern: +-- resource =? "a" <||> resource =? "b" <||> ... +resourceIsOneOf = foldl (<||>) (return False) . fmap (resource =?) + ------------------------------------------------------------------------ -- Window rules: @@ -374,16 +385,18 @@ doMaxFloat = ask >>= doF . maxFloat -- 'className' and 'resource' are used below. -- myManageHook = composeAll - [ className =? "MPlayer" --> doFloat - , resource =? "supertux2" --> doCenterFloat --- , title =? "DOOM 3" --> doIgnore + [ resource =? "supertux2" --> doCenterFloat + , title =? "DOOM 3" --> doFullFloat , resource =? "Qt-subapplication" <&&> title /=? "Oracle VM VirtualBox Manager" --> doFloat , resource =? "vncviewer" --> doCenterFloat , resource =? "opennx" --> doMaxFloat - , resource =? "Steam.exe" --> doCenterFloat + , resource =? "Steam" --> doCenterFloat + , resource =? "supertux2" --> doCenterFloat , title =? "Xnest" --> doCenterFloat --- , resource =? "hl2.exe" --> doCenterFloat + , resource =? "qemu-system-x86_64" --> doFullFloat + , resource =? "hl2_linux" --> doFullFloat , isFullscreen --> (doF W.focusDown <+> doFullFloat) + , resourceIsOneOf ["emacs","gvim"] --> ask >>= (liftX . flip setOpacity (13/16)) >> idHook , resource =? "desktop_window" --> doIgnore ] <+> namedScratchpadManageHook scratchpads <+> manageDocks -- NamedScratchPad Hook diff --git a/.xscreensaver b/.xscreensaver new file mode 100644 index 0000000..eced537 --- /dev/null +++ b/.xscreensaver @@ -0,0 +1,258 @@ +# XScreenSaver Preferences File +# Written by xscreensaver-demo 5.21 for collin on Fri Mar 8 02:57:40 2013. +# http://www.jwz.org/xscreensaver/ + +timeout: 0:10:00 +cycle: 0:10:00 +lock: True +lockTimeout: 1:00:00 +passwdTimeout: 0:00:30 +visualID: default +installColormap: True +verbose: False +timestamp: True +splash: True +splashDuration: 0:00:05 +demoCommand: xscreensaver-demo +prefsCommand: xscreensaver-demo -prefs +nice: 10 +memoryLimit: 0 +fade: True +unfade: False +fadeSeconds: 0:00:03 +fadeTicks: 20 +captureStderr: True +ignoreUninstalledPrograms:False +font: *-medium-r-*-140-*-m-* +dpmsEnabled: False +dpmsQuickOff: False +dpmsStandby: 2:00:00 +dpmsSuspend: 2:00:00 +dpmsOff: 4:00:00 +grabDesktopImages: True +grabVideoFrames: False +chooseRandomImages: False +imageDirectory: + +mode: random +selected: -1 + +textMode: file +textLiteral: XScreenSaver +textFile: +textProgram: fortune +textURL: http://en.wikipedia.org/w/index.php?title=Special:NewPages&feed=rss + +programs: \ +- maze -root \n\ +- GL: superquadrics -root \n\ + attraction -root \n\ + blitspin -root \n\ +- greynetic -root \n\ +- helix -root \n\ +- hopalong -root \n\ +- imsmap -root \n\ +- noseguy -root \n\ +- pyro -root \n\ +- qix -root \n\ +- rocks -root \n\ +- rorschach -root \n\ + decayscreen -root \n\ +- flame -root \n\ +- halo -root \n\ + slidescreen -root \n\ +- pedal -root \n\ +- bouboule -root \n\ +- braid -root \n\ + coral -root \n\ +- deco -root \n\ + drift -root \n\ +- fadeplot -root \n\ +- galaxy -root \n\ +- goop -root \n\ + grav -root \n\ +- ifs -root \n\ +- GL: jigsaw -root \n\ +- julia -root \n\ +- kaleidescope -root \n\ +- GL: moebius -root \n\ +- moire -root \n\ +- GL: morph3d -root \n\ +- mountain -root \n\ +- munch -root \n\ +- penrose -root \n\ +- GL: pipes -root \n\ +- rd-bomb -root \n\ +- GL: rubik -root \n\ +- sierpinski -root \n\ + slip -root \n\ +- GL: sproingies -root \n\ +- starfish -root \n\ +- strange -root \n\ +- swirl -root \n\ +- triangle -root \n\ +- xjack -root \n\ +- xlyap -root \n\ +- GL: atlantis -root \n\ +- bsod -root \n\ +- GL: bubble3d -root \n\ +- GL: cage -root \n\ +- crystal -root \n\ +- cynosure -root \n\ +- discrete -root \n\ +- distort -root \n\ +- epicycle -root \n\ +- flow -root \n\ +- GL: glplanet -root \n\ +- interference -root \n\ +- kumppa -root \n\ +- GL: lament -root \n\ +- moire2 -root \n\ +- GL: sonar -root \n\ +- GL: stairs -root \n\ +- truchet -root \n\ +- vidwhacker -root \n\ + blaster -root \n\ + bumps -root \n\ +- ccurve -root \n\ +- compass -root \n\ +- deluxe -root \n\ + demon -root \n\ +- GL: extrusion -root \n\ +- loop -root \n\ +- penetrate -root \n\ +- petri -root \n\ +- phosphor -root \n\ +- GL: pulsar -root \n\ + ripples -root \n\ +- shadebobs -root \n\ +- GL: sierpinski3d -root \n\ + spotlight -root \n\ +- squiral -root \n\ +- wander -root \n\ +- webcollage -root \n\ +- xflame -root \n\ +- xmatrix -root \n\ +- GL: gflux -root \n\ +- nerverot -root \n\ +- xrayswarm -root \n\ +- xspirograph -root \n\ +- GL: circuit -root \n\ +- GL: dangerball -root \n\ +- GL: dnalogo -root \n\ +- GL: engine -root \n\ +- GL: flipscreen3d -root \n\ +- GL: gltext -root \n\ +- GL: menger -root \n\ +- GL: molecule -root \n\ +- rotzoomer -root \n\ +- speedmine -root \n\ +- GL: starwars -root \n\ +- GL: stonerview -root \n\ +- vermiculate -root \n\ + whirlwindwarp -root \n\ + zoom -root \n\ +- anemone -root \n\ +- apollonian -root \n\ +- GL: boxed -root \n\ +- GL: cubenetic -root \n\ +- GL: endgame -root \n\ +- euler2d -root \n\ +- fluidballs -root \n\ + GL: flurry -root \n\ +- GL: glblur -root \n\ +- GL: glsnake -root \n\ +- halftone -root \n\ +- GL: juggler3d -root \n\ +- GL: lavalite -root \n\ +- polyominoes -root \n\ +- GL: queens -root \n\ +- GL: sballs -root \n\ +- GL: spheremonics -root \n\ +- thornbird -root \n\ +- twang -root \n\ +- GL: antspotlight -root \n\ +- apple2 -root \n\ +- GL: atunnel -root \n\ +- barcode -root \n\ +- GL: blinkbox -root \n\ +- GL: blocktube -root \n\ +- GL: bouncingcow -root \n\ + cloudlife -root \n\ +- GL: cubestorm -root \n\ +- eruption -root \n\ +- GL: flipflop -root \n\ +- GL: flyingtoasters -root \n\ +- fontglide -root \n\ +- GL: gleidescope -root \n\ +- GL: glknots -root \n\ + GL: glmatrix -root \n\ +- GL: glslideshow -root \n\ +- GL: hypertorus -root \n\ +- GL: jigglypuff -root \n\ +- metaballs -root \n\ +- GL: mirrorblob -root \n\ +- piecewise -root \n\ +- GL: polytopes -root \n\ +- pong -root \n\ +- popsquares -root \n\ +- GL: surfaces -root \n\ + xanalogtv -root \n\ +- abstractile -root \n\ +- anemotaxis -root \n\ +- GL: antinspect -root \n\ + fireworkx -root \n\ +- fuzzyflakes -root \n\ + interaggregate -root \n\ + intermomentary -root \n\ +- memscroller -root \n\ +- GL: noof -root \n\ +- pacman -root \n\ +- GL: pinion -root \n\ +- GL: polyhedra -root \n\ +- GL: providence -root \n\ + substrate -root \n\ +- wormhole -root \n\ +- GL: antmaze -root \n\ +- GL: boing -root \n\ + boxfit -root \n\ + GL: carousel -root \n\ +- celtic -root \n\ +- GL: crackberg -root \n\ +- GL: cube21 -root \n\ +- fiberlamp -root \n\ +- GL: fliptext -root \n\ +- GL: glhanoi -root \n\ +- GL: tangram -root \n\ +- GL: timetunnel -root \n\ +- GL: glschool -root \n\ +- GL: topblock -root \n\ + GL: cubicgrid -root \n\ +- cwaves -root \n\ +- GL: gears -root \n\ +- GL: glcells -root \n\ +- GL: lockward -root \n\ +- m6502 -root \n\ +- GL: moebiusgears -root \n\ +- GL: voronoi -root \n\ +- GL: hypnowheel -root \n\ +- GL: klein -root \n\ +- lcdscrub -root \n\ +- GL: photopile -root \n\ +- GL: skytentacles -root \n\ +- GL: rubikblocks -root \n\ +- GL: companioncube -root \n\ +- GL: hilbert -root \n\ +- GL: tronbit -root \n\ + electricsheep --root 1 \n\ + + +pointerPollTime: 0:00:05 +pointerHysteresis: 10 +windowCreationTimeout:0:00:30 +initialDelay: 0:00:00 +GetViewPortIsFullOfLies:False +procInterrupts: True +xinputExtensionDev: False +overlayStderr: True + diff --git a/.xsession b/.xsession new file mode 100644 index 0000000..a16dc0b --- /dev/null +++ b/.xsession @@ -0,0 +1,10 @@ +#!/bin/sh + +# +# ~/.xsession +# +# Executed by xdm/gdm/kdm at login +# + +/bin/bash --login -i ~/.xinitrc + diff --git a/.zshrc b/.zshrc index 17177a1..c32548a 100644 --- a/.zshrc +++ b/.zshrc @@ -1,7 +1,7 @@ # The following lines were added by compinstall zstyle ':completion:*' completer _list _expand _complete _ignored _match _correct _approximate _prefix -zstyle ':completion:*' list-colors '' +zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} zstyle ':completion:*' matcher-list '' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'r:|[._-/,+]=** r:|=**' 'l:|=* r:|=*' zstyle ':completion:*' max-errors 5 zstyle ':completion:*' preserve-prefix '//[^/]##/' @@ -26,11 +26,14 @@ alias grep='grep --color=auto' alias fgrep='fgrep --color-auto' alias egrep='egrep --color-auto' alias ncmpc='ncmpc -c' +alias pacman='pacman-color' alias knk='knock rekahsoft-mini 7713:tcp 1377:udp && sleep 3s && ' alias knkc='knk ssh rekahsoft-mini ' alias kgit='knk git' alias skreen='screen -c /dev/null' alias tranr='transmission-remote' +alias sctl='sudo systemctl' +alias ctlu='systemctl --user' export GREP_COLOR="1;33" alias grep='grep --color=auto' @@ -39,6 +42,9 @@ alias grep='grep --color=auto' export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s" export LESS=' -R ' +# Set text/background colors for ls +export LS_COLORS="di=01;37" + PS1="[%n@%M: %~]%% " # Turn off noscroll @@ -48,7 +54,7 @@ stty stop undef # * mathematica / tools # * nxclient / associated tools # * maven tools -export PATH=${PATH}:/usr/local/bin:/opt/maven/bin:/opt/NX/bin:/home/collin/.cabal/bin +export PATH=${PATH}:/usr/local/bin:/opt/maven/bin:/opt/NX/bin:/home/collin/.cabal/bin:/home/collin/.bin # start keychain eval `keychain --eval --timeout 10 --quiet --agents ssh id_rsa`