diff --git a/.pkg-texlive-Linux-peteramd b/.pkg-texlive-Linux-peteramd index 1ca0e512..e726d3f8 100644 --- a/.pkg-texlive-Linux-peteramd +++ b/.pkg-texlive-Linux-peteramd @@ -1,10 +1,11 @@ +amscls amsmath babel beamer carlisle ec eplain -eurosym +eukdate fancyhdr geometry glossaries @@ -29,6 +30,5 @@ pgf tabulary tools url -was xcolor xkeyval diff --git a/.pkggen b/.pkggen new file mode 100755 index 00000000..36f48975 --- /dev/null +++ b/.pkggen @@ -0,0 +1,70 @@ +#!/usr/bin/env zsh +################################################################################ +## Package List Generator +## 2013-01-09 +################################################################################ +## This script used to save the file list. of my home config. However this is +## quiet cumbersome to maintain, especially in sync with a VCS. Since VCS can do +## the same job much more easily, I do not feel the need anymore to use this +## script for backup purpose. Still it remains useful to create package lists +## for pacman, FreeBSD, TeX Live, and so on. + +## Git can create a bundle with: +## +## git bundle create --all +## +## and can list files with +## +## git ls-files + +## This script should be compatible with ksh, bash and zsh. Issue with sh +## however: we use arrays. Therefore we do not comply with POSIX and use some +## extended syntax for file input -- the <(...) syntax. We used to write the +## file list in an array which is not support by POSIX neither. + +## Note for zsh: because of the Ksh-style arrays (index starting at 0), you +## cannot use array index to append elements to arrays -- otherwise the +## KSH_ARRAYS option for zsh must be used. + +## Variables +OLDPATH="$(pwd)" +cd "$HOME" +SCRIPTPATH="$(readlink -f $(dirname "$0"))" +HOST=$(hostname) + +## Arch Linux +if [ -e "/usr/bin/pacman" ]; then + + ARCH_PKG_OFFICIAL="$HOME/.pkg-arch-official" + ARCH_PKG_EXPLICIT="$HOME/.pkg-arch-explicit" + ARCH_PKG_AUR="$HOME/.pkg-arch-aur" + + PKG_LOCAL='pacman -Qq | sort' + PKG_FOREIGN='pacman -Qmq | sort' + PKG_EXPLICIT='pacman -Qeq | sort' + + comm -3 <(eval "${PKG_LOCAL}") <(eval "${PKG_FOREIGN}") >"${ARCH_PKG_OFFICIAL}-${HOST}" + + eval "${PKG_EXPLICIT}" >"${ARCH_PKG_EXPLICIT}-${HOST}" + eval "${PKG_FOREIGN}" >"${ARCH_PKG_AUR}-${HOST}" +fi + +## FreeBSD +if [ "$(uname)" = "FreeBSD" ]; then + pkg_info | cut -f1 -d' ' >"$HOME/.pkg-freebsd-${HOST}" +fi + +## TeXlive +if type tlmgr >/dev/null 2>&1; then + HOST=$(hostname) + + ## We use in the sed expressions. + TEXLIVE_BASIC="$(tlmgr info collection-basic --list | sed -n '/^ /{s/ //g;p;}' | sort)" + TEXLIVE_ALL="$(tlmgr info --only-installed | grep -v 'x86_64\|amd64' | cut -d' ' -f2 | cut -f1 -d':' | sort)" + + comm -3 <(echo "$TEXLIVE_BASIC") <(echo "$TEXLIVE_ALL") | sed 's/ //g' | \ + grep -vi 'collection-basic\|scheme-minimal\|texlive-common\|texlive-docindex\|texlive-en' >"$HOME/.pkg-texlive-$(uname)-${HOST}" +fi + +## Cleaning +cd "${OLDPATH}" diff --git a/.save b/.save deleted file mode 100755 index efac6e33..00000000 --- a/.save +++ /dev/null @@ -1,256 +0,0 @@ -#!/usr/bin/env zsh -################################################################################ -## Home Config Backup Script -## 2012-11-01 -################################################################################ - -## This script should be compatible with ksh, bash and zsh. Issue with sh -## however: we use arrays. Therefore we do not comply with POSIX and use some -## extended syntax for arrays and file input -- the <(...) syntax. - -## Note for Zsh: because of the Ksh-style arrays (index starting at 0), you -## cannot use array index to append elements to arrays -- otherwise the -## KSH_ARRAYS option for zsh must be used. - -##============================================================================== -## Options -##============================================================================== - -## Set Debug mode on -DEBUG=no -if [ "$DEBUG" = "yes" ]; then - set -x -fi - -## Variables -OLDPATH="$(pwd)" -cd "$HOME" -SCRIPTPATH="$(readlink -f $(dirname "$0"))" -COMPRESSION="gz" -ARCHIVENAME="$HOME/home-config-$(date "+%y-%m-%d-%H%M%S")" -ARCEXT="tar.gz" -ARCOPT="czf" - -print_help() -{ - echo "Synopsis:" - echo " $1 [-o ARCHIVENAME] [-m COMPRESSION]" - echo - echo "Usage:" - echo " default: " - echo " -h:\t\tDisplay this help." - echo " -m: compression method among" - echo " * gz (default)" - echo " * xz" - echo " -o: output archive name (without extension)." - echo "" - echo "Note: xz is not available on older Unices." - -} - -while getopts ":hm:o:" opt; do - case $opt in - h) - print_help "$0" - exit 1 - ;; - m) - COMPRESSION="$OPTARG" - ;; - o) - ARCHIVENAME="${OLDPATH}/$OPTARG" - ;; - ?) - print_help "$0" - exit 1 - ;; - :) - echo "Missing argument." - echo "Use $0 -h for help." - exit 1 - ;; - esac -done - -shift $(($OPTIND - 1)) - -case $COMPRESSION in - "gz") - ARCEXT="tar.gz" - ARCOPT="czf" - ;; - "xz") - ARCEXT="tar.xz" - ARCOPT="cJf" - ;; - *) - ARCEXT="tar.gz" - ARCOPT="czf" - ;; -esac - - -if [ "${DEBUG}" = "yes" ]; then - echo "COMPRESSION=[$COMPRESSION]" - echo "ARCHIVENAME=[$ARCHIVENAME]" - echo "ARCEXT=[$ARCEXT]" - echo "ARCOPT=[$ARCOPT]" -fi - -if [ -e "${ARCHIVENAME}.${ARCEXT}" ]; then - echo "Error: ${ARCHIVENAME}.${ARCEXT} already exists!">&2 - exit 0 -fi - -##============================================================================== -## Packages list -##============================================================================== - -HOST=$(hostname) - -## Arch Linux -if [ -e "/usr/bin/pacman" ]; then - - ARCH_PKG_OFFICIAL="$HOME/.pkg-arch-official" - ARCH_PKG_EXPLICIT="$HOME/.pkg-arch-explicit" - ARCH_PKG_AUR="$HOME/.pkg-arch-aur" - - PKG_LOCAL='pacman -Qq | sort' - PKG_FOREIGN='pacman -Qmq | sort' - PKG_EXPLICIT='pacman -Qeq | sort' - - comm -3 <(eval "${PKG_LOCAL}") <(eval "${PKG_FOREIGN}") >"${ARCH_PKG_OFFICIAL}-${HOST}" - - eval "${PKG_EXPLICIT}" >"${ARCH_PKG_EXPLICIT}-${HOST}" - eval "${PKG_FOREIGN}" >"${ARCH_PKG_AUR}-${HOST}" -fi - -## FreeBSD -if [ "$(uname)" = "FreeBSD" ]; then - pkg_info | cut -f1 -d' ' >"$HOME/.pkg-freebsd-${HOST}" -fi - -## TeXlive -if type tlmgr >/dev/null 2>&1; then - HOST=$(hostname) - - ## We use in the sed expressions. - TEXLIVE_BASIC="$(tlmgr info collection-basic --list | sed -n '/^ /{s/ //g;p;}' | sort)" - TEXLIVE_ALL="$(tlmgr info --only-installed | grep -v 'x86_64\|amd64' | cut -d' ' -f2 | cut -f1 -d':' | sort)" - - comm -3 <(echo "$TEXLIVE_BASIC") <(echo "$TEXLIVE_ALL") | sed 's/ //g' | \ - grep -vi 'collection-basic\|scheme-minimal\|texlive-common\|texlive-docindex\|texlive-en' >"$HOME/.pkg-texlive-$(uname)-${HOST}" -fi - -##============================================================================== -## Let's fill the file list: -##============================================================================== -FILELIST=() - -## Distro + TeXlive Package list -for i in $(find . -maxdepth 1 -name '.pkg*' -exec basename {} \;) -do - FILELIST=(${FILELIST[*]} "$i") -done - -## Awesome -FILELIST=(${FILELIST[*]} ".config/awesome/rc.lua") -FILELIST=(${FILELIST[*]} ".config/awesome/themes/custom/theme.lua") - -## cmus -FILELIST=(${FILELIST[*]} ".cmus/rc") - -## DWB -FILELIST=(${FILELIST[*]} ".config/dwb/searchengines") -FILELIST=(${FILELIST[*]} ".config/dwb/settings") - -## Emacs -FILELIST=(${FILELIST[*]} ".emacs") -FILELIST=(${FILELIST[*]} ".emacs.d/abbrev_defs") -FILELIST=(${FILELIST[*]} ".emacs.d/functions.el") -FILELIST=(${FILELIST[*]} ".emacs.d/main.el") -FILELIST=(${FILELIST[*]} ".emacs.d/modes.el") -FILELIST=(${FILELIST[*]} ".emacs.d/plugins.el") -FILELIST=(${FILELIST[*]} ".emacs.d/snippets") -FILELIST=(${FILELIST[*]} ".emacs.d/theme.el") - -## GTK -FILELIST=(${FILELIST[*]} ".gtkrc-2.0") -# FILELIST=(${FILELIST[*]} ".config/gtk-3.0/settings.ini") - -## Git -FILELIST=(${FILELIST[*]} ".gitconfig") - -## Homeinit -FILELIST=(${FILELIST[*]} ".homeinit") - -## Luakit -FILELIST=(${FILELIST[*]} ".config/luakit/rc.lua") -FILELIST=(${FILELIST[*]} ".config/luakit/globals.lua") - -## Mutt -FILELIST=(${FILELIST[*]} ".muttrc") -FILELIST=(${FILELIST[*]} ".mutt.d/colors.ambrevar") -FILELIST=(${FILELIST[*]} ".mutt.d/colorset.sh") -FILELIST=(${FILELIST[*]} ".mutt.d/mailcap") - -## Netinit -FILELIST=(${FILELIST[*]} ".netinit") - -## Ranger -FILELIST=(${FILELIST[*]} ".config/ranger/apps.py") -FILELIST=(${FILELIST[*]} ".config/ranger/options.py") -FILELIST=(${FILELIST[*]} ".config/ranger/rc.conf") -FILELIST=(${FILELIST[*]} ".config/ranger/scope.sh") - -## README -FILELIST=(${FILELIST[*]} "README") - -## rtorrent -FILELIST=(${FILELIST[*]} ".rtorrent.rc") - -## Shells -FILELIST=(${FILELIST[*]} ".bash_profile") -FILELIST=(${FILELIST[*]} ".bashrc") -FILELIST=(${FILELIST[*]} ".zshrc") -for i in $(ls -a .shell.d/*|grep -vi 'bhistory') -do - FILELIST=(${FILELIST[*]} "$i") -done - -## Taskwarrior -FILELIST=(${FILELIST[*]} ".taskrc") - -## Terminfo -# FILELIST=(${FILELIST[*]} ".terminfo/x/xterm") - -## TeXlive -FILELIST=(${FILELIST[*]} ".texmf") - -## Vim -FILELIST=(${FILELIST[*]} ".vimrc") - -## Xinit -FILELIST=(${FILELIST[*]} ".xinitrc") - -## XKB -FILELIST=(${FILELIST[*]} ".xkb") - -## Xresource -FILELIST=(${FILELIST[*]} ".Xresources") - -##============================================================================== -## Archiving -##============================================================================== - -tar ${ARCOPT} "${ARCHIVENAME}.${ARCEXT}" -C "$HOME" ${FILELIST[*]} -C "$SCRIPTPATH" "$(basename "$0")" - -##============================================================================== -## Cleaning -##============================================================================== -cd "${OLDPATH}" - -## Set Debug mode off -if [ "$DEBUG" = "yes" ]; then - set +x -fi