diff options
Diffstat (limited to '%HOME%')
-rw-r--r-- | %HOME%/.bash_profile | 56 | ||||
-rw-r--r-- | %HOME%/.bash_utils/cxx.sh | 118 | ||||
-rw-r--r-- | %HOME%/.bash_utils/distr.sh | 29 | ||||
-rw-r--r-- | %HOME%/.bash_utils/file.sh | 35 | ||||
-rw-r--r-- | %HOME%/.bash_utils/git.sh | 102 | ||||
-rw-r--r-- | %HOME%/.bash_utils/text.sh | 43 | ||||
-rw-r--r-- | %HOME%/.bashrc | 226 | ||||
-rw-r--r-- | %HOME%/.fonts.conf | 28 | ||||
-rw-r--r-- | %HOME%/.gitconfig | 30 | ||||
-rw-r--r-- | %HOME%/.gnupg/gpg.conf | 242 | ||||
-rw-r--r-- | %HOME%/.inputrc | 76 | ||||
-rw-r--r-- | %HOME%/.minttyrc | 23 | ||||
-rw-r--r-- | %HOME%/.nanorc | 8 | ||||
-rw-r--r-- | %HOME%/.profile | 37 | ||||
-rw-r--r-- | %HOME%/.pythonrc | 2 | ||||
-rw-r--r-- | %HOME%/.ssh/config | 1 | ||||
-rw-r--r-- | %HOME%/.vimrc | 53 | ||||
-rw-r--r-- | %HOME%/.vimtmp/backup/.gitkeep | 0 | ||||
-rw-r--r-- | %HOME%/.vimtmp/swap/.gitkeep | 0 | ||||
-rw-r--r-- | %HOME%/.vimtmp/undo/.gitkeep | 0 |
20 files changed, 1109 insertions, 0 deletions
diff --git a/%HOME%/.bash_profile b/%HOME%/.bash_profile new file mode 100644 index 0000000..342b8a3 --- /dev/null +++ b/%HOME%/.bash_profile @@ -0,0 +1,56 @@ +# To the extent possible under law, the author(s) have dedicated all +# copyright and related and neighboring rights to this software to the +# public domain worldwide. This software is distributed without any warranty. +# You should have received a copy of the CC0 Public Domain Dedication along +# with this software. +# If not, see <http://creativecommons.org/publicdomain/zero/1.0/>. + +# base-files version 4.2-4 + +# ~/.bash_profile: executed by bash(1) for login shells. + +# The latest version as installed by the Cygwin Setup program can +# always be found at /etc/defaults/etc/skel/.bash_profile + +# Modifying /etc/skel/.bash_profile directly will prevent +# setup from updating it. + +# The copy in your home directory (~/.bash_profile) is yours, please +# feel free to customise it to create a shell +# environment to your liking. If you feel a change +# would be benifitial to all, please feel free to send +# a patch to the cygwin mailing list. + +# User dependent .bash_profile file + +# source the users bashrc if it exists +if [ -f "${HOME}/.bashrc" ] ; then + source "${HOME}/.bashrc" +fi + +# Set PATH so it includes user's private bin if it exists +# if [ -d "${HOME}/bin" ] ; then +# PATH="${HOME}/bin:${PATH}" +# fi + +# Set MANPATH so it includes users' private man if it exists +# if [ -d "${HOME}/man" ]; then +# MANPATH="${HOME}/man:${MANPATH}" +# fi + +# Set INFOPATH so it includes users' private info if it exists +# if [ -d "${HOME}/info" ]; then +# INFOPATH="${HOME}/info:${INFOPATH}" +# fi + +spawn_ssh_agent() { + [ -n "${SSH_AGENT_PID:+x}" ] && return 0 + + eval "$( ssh-agent -s )" > /dev/null \ + && trap "$( printf 'kill %q' "$SSH_AGENT_PID" )" 0 \ + && ssh-add &> /dev/null +} + +[ "$( uname -o )" == 'Cygwin' ] && spawn_ssh_agent + +echo "Welcome to $( hostname )" diff --git a/%HOME%/.bash_utils/cxx.sh b/%HOME%/.bash_utils/cxx.sh new file mode 100644 index 0000000..527c120 --- /dev/null +++ b/%HOME%/.bash_utils/cxx.sh @@ -0,0 +1,118 @@ +#!/usr/bin/env bash + +# Copyright (c) 2016 Egor Tensin <Egor.Tensin@gmail.com> +# This file is part of the "Cygwin configuration files" project. +# For details, see https://github.com/egor-tensin/cygwin-home. +# Distributed under the MIT License. + +runc_flags=('-Wall' '-Wextra') + +runc() ( + set -o errexit -o nounset -o pipefail + + local -a c_flags=("${runc_flags[@]+"${runc_flags[@]}"}") + local -a src_files + local -a prog_flags + + while [ "$#" -gt 0 ]; do + case "$1" in + -c|--c-flags) + if [ "$#" -le 1 ]; then + echo "${FUNCNAME[0]}: missing argument for parameter: $1" >&2 + return 1 + fi + shift + c_flags+=("$1") + shift + ;; + + -h|--help) + echo "usage: ${FUNCNAME[0]} [-h|--help] [-c|--c-flags FLAG]... [--] [SRC_PATH]..." + return 0 + ;; + + --) + shift + break + ;; + + *) + src_files+=("$( realpath "$1" )") + shift + ;; + esac + done + + prog_flags=("$@") + + local build_dir + build_dir="$( mktemp --directory )" + + trap "$( printf 'popd > /dev/null && rm -rf %q' "$build_dir" )" 0 + pushd "$build_dir" > /dev/null + + local output_name + output_name="$( mktemp --tmpdir=. "${FUNCNAME[0]}XXX.exe" )" + + gcc -o "$output_name" \ + "${c_flags[@]+"${c_flags[@]}"}" \ + "${src_files[@]+"${src_files[@]}"}" + + "$output_name" "${prog_flags[@]+"${prog_flags[@]}"}" +) + +runcxx_flags=('-Wall' '-Wextra' '-std=c++14') + +runcxx() ( + set -o errexit -o nounset -o pipefail + + local -a cxx_flags=("${runcxx_flags[@]+"${runcxx_flags[@]}"}") + local -a src_files + local -a prog_flags + + while [ "$#" -gt 0 ]; do + case "$1" in + -c|--cxx-flags) + if [ "$#" -le 1 ]; then + echo "${FUNCNAME[0]}: missing argument for parameter: $1" >&2 + return 1 + fi + shift + cxx_flags+=("$1") + shift + ;; + + -h|--help) + echo "usage: ${FUNCNAME[0]} [-h|--help] [-c|--cxx-flags FLAG]... [--] [SRC_PATH]..." + return 0 + ;; + + --) + shift + break + ;; + + *) + src_files+=("$( realpath "$1" )") + shift + ;; + esac + done + + prog_flags=("$@") + + local build_dir + build_dir="$( mktemp --directory )" + + trap "$( printf 'popd > /dev/null && rm -rf %q' "$build_dir" )" 0 + pushd "$build_dir" > /dev/null + + local output_name + output_name="$( mktemp --tmpdir=. "${FUNCNAME[0]}XXX.exe" )" + + g++ -o "$output_name" \ + "${cxx_flags[@]+"${cxx_flags[@]}"}" \ + "${src_files[@]+"${src_files[@]}"}" + + "$output_name" "${prog_flags[@]+"${prog_flags[@]}"}" +) diff --git a/%HOME%/.bash_utils/distr.sh b/%HOME%/.bash_utils/distr.sh new file mode 100644 index 0000000..06d342a --- /dev/null +++ b/%HOME%/.bash_utils/distr.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +# Copyright (c) 2016 Egor Tensin <Egor.Tensin@gmail.com> +# This file is part of the "Cygwin configuration files" project. +# For details, see https://github.com/egor-tensin/cygwin-home. +# Distributed under the MIT License. + +checksums_path='sha1sums.txt' + +update_checksums() { + sha1sum -- "$@" > "$checksums_path" +} + +update_checksums_distr() ( + set -o errexit -o nounset -o pipefail + + local -a paths + local path + + while IFS= read -d '' -r path; do + paths+=("$path") + done < <( find . -type f -\( -iname '*.exe' -o -iname '*.iso' -\) -print0 ) + + update_checksums "${paths[@]+"${paths[@]}"}" +) + +verify_checksums() { + sha1sum --check "$checksums_path" +} diff --git a/%HOME%/.bash_utils/file.sh b/%HOME%/.bash_utils/file.sh new file mode 100644 index 0000000..0321833 --- /dev/null +++ b/%HOME%/.bash_utils/file.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +# Copyright (c) 2016 Egor Tensin <Egor.Tensin@gmail.com> +# This file is part of the "Cygwin configuration files" project. +# For details, see https://github.com/egor-tensin/cygwin-home. +# Distributed under the MIT License. + +swap_files() ( + set -o errexit -o nounset -o pipefail + + if [ "$#" -ne 2 ]; then + echo "usage: ${FUNCNAME[0]} PATH1 PATH2" >&2 + return 1 + fi + + local path1="$1" + local path2="$2" + + if [ ! -f "$path1" ]; then + echo "${FUNCNAME[0]}: must be a regular file: $path1" >&2 + return 1 + fi + + if [ ! -f "$path2" ]; then + echo "${FUNCNAME[0]}: must be a regular file: $path2" >&2 + return 1 + fi + + local tmp_path + tmp_path="$( mktemp "$( dirname "$path1" )/XXX" )" + + mv "$path1" "$tmp_path" + mv "$path2" "$path1" + mv "$tmp_path" "$path2" +) diff --git a/%HOME%/.bash_utils/git.sh b/%HOME%/.bash_utils/git.sh new file mode 100644 index 0000000..54e50f6 --- /dev/null +++ b/%HOME%/.bash_utils/git.sh @@ -0,0 +1,102 @@ +#!/usr/bin/env bash + +# Copyright (c) 2016 Egor Tensin <Egor.Tensin@gmail.com> +# This file is part of the "Cygwin configuration files" project. +# For details, see https://github.com/egor-tensin/cygwin-home. +# Distributed under the MIT License. + +list_repo_files() ( + set -o errexit -o nounset -o pipefail + + local -a cmd=(git ls-files) + + while [ "$#" -gt 0 ]; do + case "$1" in + -z|-0) + cmd+=(-z) + shift + ;; + + -h|--help) + echo "usage: ${FUNCNAME[0]} [-h|--help] [-z|-0]" + return 0 + ;; + + *) + echo "${FUNCNAME[0]}: unrecognized parameter: $1" >&2 + return 1 + ;; + esac + done + + eval "${cmd[@]+"${cmd[@]}"}" +) + +list_repo_dirs() ( + set -o errexit -o nounset -o pipefail + + local -a cmd=(git ls-tree -d -r) + + while [ "$#" -gt 0 ]; do + case "$1" in + -z|-0) + cmd+=(-z) + shift + ;; + + -h|--help) + echo "usage: ${FUNCNAME[0]} [-h|--help] [-z|-0]" + return 0 + ;; + + *) + echo "${FUNCNAME[0]}: unrecognized parameter: $1" >&2 + return 1 + ;; + esac + done + + cmd+=(--name-only HEAD) + + eval "${cmd[@]+"${cmd[@]}"}" +) + +tighten_repo_security() ( + set -o errexit -o nounset -o pipefail + + list_repo_files -z | xargs -0 chmod 0600 + list_repo_dirs -z | xargs -0 chmod 0700 + chmod 0700 .git +) + +backup_repo() ( + set -o errexit -o nounset -o pipefail + + local repo_dir + repo_dir="$( realpath . )" + local repo_name + repo_name="$( basename "$repo_dir" )" + local backup_dir="$repo_dir" + + if [ $# -eq 1 ]; then + backup_dir="$1" + elif [ $# -gt 1 ]; then + echo "usage: ${FUNCNAME[0]} [BACKUP_DIR]" >&2 + exit 1 + fi + + local zip_name + zip_name="${repo_name}_$( date -u +'%Y%m%dT%H%M%S' ).zip" + + git archive \ + --format=zip -9 \ + --output="$backup_dir/$zip_name" \ + --remote="$repo_dir" \ + HEAD +) + +backup_repo_dropbox() ( + set -o errexit -o nounset -o pipefail + + backup_repo "$USERPROFILE/Dropbox/backups" +) diff --git a/%HOME%/.bash_utils/text.sh b/%HOME%/.bash_utils/text.sh new file mode 100644 index 0000000..ad3f203 --- /dev/null +++ b/%HOME%/.bash_utils/text.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +# Copyright (c) 2016 Egor Tensin <Egor.Tensin@gmail.com> +# This file is part of the "Cygwin configuration files" project. +# For details, see https://github.com/egor-tensin/cygwin-home. +# Distributed under the MIT License. + +alias dos2eol='sed --binary --in-place '"'"'s/\(\r\?\)$//'"'" +alias eol2dos='sed --binary --in-place '"'"'s/\r\?$/\r/'"'" + +alias trim='sed --binary --in-place '"'"'s/[[:blank:]]*\(\r\?\)$/\1/'"'" + +alias trimeol='sed --binary --in-place -e :a -e '"'"'/^\n*$/{$d;N;ba}'"'" +alias trimdoseol='sed --binary --in-place -e :a -e '"'"'/^\(\r\n\)*\r$/{$d;N;ba}'"'" + +alias eol='sed --binary --in-place '"'"'$a\'"'" +alias doseol='sed --binary --in-place '"'"'$s/\r\?$/\r/;a\'"'" + +alias trimbom='sed --binary --in-place '"'"'1 s/^\xef\xbb\xbf//'"'" + +lint() { + trim "$@" && trimeol "$@" && eol "$@" +} + +doslint() { + trim "$@" && trimdoseol "$@" && doseol "$@" +} + +replace_word() ( + set -o errexit -o nounset -o pipefail + + if [ "$#" -lt 3 ]; then + echo "usage: ${FUNCNAME[0]} OLD NEW PATH..." >&2 + return 1 + fi + + local old="$1" + shift + local new="$2" + shift + + sed --binary --in-place "s/\\b$old\\b/$new/g" "$@" +) diff --git a/%HOME%/.bashrc b/%HOME%/.bashrc new file mode 100644 index 0000000..f92324a --- /dev/null +++ b/%HOME%/.bashrc @@ -0,0 +1,226 @@ +# To the extent possible under law, the author(s) have dedicated all +# copyright and related and neighboring rights to this software to the +# public domain worldwide. This software is distributed without any warranty. +# You should have received a copy of the CC0 Public Domain Dedication along +# with this software. +# If not, see <http://creativecommons.org/publicdomain/zero/1.0/>. + +# base-files version 4.2-4 + +# ~/.bashrc: executed by bash(1) for interactive shells. + +# The latest version as installed by the Cygwin Setup program can +# always be found at /etc/defaults/etc/skel/.bashrc + +# Modifying /etc/skel/.bashrc directly will prevent +# setup from updating it. + +# The copy in your home directory (~/.bashrc) is yours, please +# feel free to customise it to create a shell +# environment to your liking. If you feel a change +# would be benifitial to all, please feel free to send +# a patch to the cygwin mailing list. + +# User dependent .bashrc file + +# If not running interactively, don't do anything +[[ "$-" != *i* ]] && return + +# Shell Options +# +# See man bash for more options... +# +# Don't wait for job termination notification +# set -o notify +# +# Don't use ^D to exit +# set -o ignoreeof +# +# Use case-insensitive filename globbing +# shopt -s nocaseglob +# +# Make bash append rather than overwrite the history on disk +# shopt -s histappend +# +# When changing directory small typos can be ignored by bash +# for example, cd /vr/lgo/apaache would find /var/log/apache +# shopt -s cdspell + +# Completion options +# +# These completion tuning parameters change the default behavior of bash_completion: +# +# Define to access remotely checked-out files over passwordless ssh for CVS +# COMP_CVS_REMOTE=1 +# +# Define to avoid stripping description in --option=description of './configure --help' +# COMP_CONFIGURE_HINTS=1 +# +# Define to avoid flattening internal contents of tar files +# COMP_TAR_INTERNAL_PATHS=1 +# +# Uncomment to turn on programmable completion enhancements. +# Any completions you add in ~/.bash_completion are sourced last. +# [[ -f /etc/bash_completion ]] && . /etc/bash_completion + +# History Options +# +# Don't put duplicate lines in the history. +# export HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups +# +# Ignore some controlling instructions +# HISTIGNORE is a colon-delimited list of patterns which should be excluded. +# The '&' is a special pattern which suppresses duplicate entries. +# export HISTIGNORE=$'[ \t]*:&:[fb]g:exit' +# export HISTIGNORE=$'[ \t]*:&:[fb]g:exit:ls' # Ignore the ls command as well +# +# Whenever displaying the prompt, write the previous line to disk +# export PROMPT_COMMAND="history -a" + +# Aliases +# +# Some people use a different file for aliases +# if [ -f "${HOME}/.bash_aliases" ]; then +# source "${HOME}/.bash_aliases" +# fi +# +# Some example alias instructions +# If these are enabled they will be used instead of any instructions +# they may mask. For example, alias rm='rm -i' will mask the rm +# application. To override the alias instruction use a \ before, ie +# \rm will call the real rm not the alias. +# +# Interactive operation... +# alias rm='rm -i' +# alias cp='cp -i' +# alias mv='mv -i' +# +# Default to human readable figures +# alias df='df -h' +# alias du='du -h' +# +# Misc :) +# alias less='less -r' # raw control characters +# alias whence='type -a' # where, of a sort +# alias grep='grep --color' # show differences in colour +# alias egrep='egrep --color=auto' # show differences in colour +# alias fgrep='fgrep --color=auto' # show differences in colour +# +# Some shortcuts for different directory listings +# alias ls='ls -hF --color=tty' # classify files in colour +# alias dir='ls --color=auto --format=vertical' +# alias vdir='ls --color=auto --format=long' +# alias ll='ls -l' # long list +# alias la='ls -A' # all but . and .. +# alias l='ls -CF' # + +# Umask +# +# /etc/profile sets 022, removing write perms to group + others. +# Set a more restrictive umask: i.e. no exec perms for others: +# umask 027 +# Paranoid: neither group nor others have any perms: +# umask 077 + +# Functions +# +# Some people use a different file for functions +# if [ -f "${HOME}/.bash_functions" ]; then +# source "${HOME}/.bash_functions" +# fi +# +# Some example functions: +# +# a) function settitle +# settitle () +# { +# echo -ne "\e]2;$@\a\e]1;$@\a"; +# } +# +# b) function cd_func +# This function defines a 'cd' replacement function capable of keeping, +# displaying and accessing history of visited directories, up to 10 entries. +# To use it, uncomment it, source this file and try 'cd --'. +# acd_func 1.0.5, 10-nov-2004 +# Petar Marinov, http:/geocities.com/h2428, this is public domain +# cd_func () +# { +# local x2 the_new_dir adir index +# local -i cnt +# +# if [[ $1 == "--" ]]; then +# dirs -v +# return 0 +# fi +# +# the_new_dir=$1 +# [[ -z $1 ]] && the_new_dir=$HOME +# +# if [[ ${the_new_dir:0:1} == '-' ]]; then +# # +# # Extract dir N from dirs +# index=${the_new_dir:1} +# [[ -z $index ]] && index=1 +# adir=$(dirs +$index) +# [[ -z $adir ]] && return 1 +# the_new_dir=$adir +# fi +# +# # +# # '~' has to be substituted by ${HOME} +# [[ ${the_new_dir:0:1} == '~' ]] && the_new_dir="${HOME}${the_new_dir:1}" +# +# # +# # Now change to the new dir and add to the top of the stack +# pushd "${the_new_dir}" > /dev/null +# [[ $? -ne 0 ]] && return 1 +# the_new_dir=$(pwd) +# +# # +# # Trim down everything beyond 11th entry +# popd -n +11 2>/dev/null 1>/dev/null +# +# # +# # Remove any other occurence of this dir, skipping the top of the stack +# for ((cnt=1; cnt <= 10; cnt++)); do +# x2=$(dirs +${cnt} 2>/dev/null) +# [[ $? -ne 0 ]] && return 0 +# [[ ${x2:0:1} == '~' ]] && x2="${HOME}${x2:1}" +# if [[ "${x2}" == "${the_new_dir}" ]]; then +# popd -n +$cnt 2>/dev/null 1>/dev/null +# cnt=cnt-1 +# fi +# done +# +# return 0 +# } +# +# alias cd=cd_func + +PS1='\[\e[33m\]\W\[\e[0m\]: ' + +set -o nounset +set -o pipefail + +shopt -s dotglob +shopt -s nullglob +shopt -s nocaseglob + +export PYTHONSTARTUP="$HOME/.pythonrc" + +alias df='df --human-readable' +alias du='du --human-readable' +alias egrep='egrep --color=auto' +alias fgrep='fgrep --color=auto' +alias grep='grep --color=auto' +alias less='less --RAW-CONTROL-CHARS' +alias ls='ls --almost-all -l --human-readable --color=auto' +alias tree='tree -a' + +alias cygwin_packages='cygcheck -cd' + +[ -f '.bash_utils/cxx.sh' ] && source .bash_utils/cxx.sh +[ -f '.bash_utils/distr.sh' ] && source .bash_utils/distr.sh +[ -f '.bash_utils/file.sh' ] && source .bash_utils/file.sh +[ -f '.bash_utils/git.sh' ] && source .bash_utils/git.sh +[ -f '.bash_utils/text.sh' ] && source .bash_utils/text.sh diff --git a/%HOME%/.fonts.conf b/%HOME%/.fonts.conf new file mode 100644 index 0000000..1141094 --- /dev/null +++ b/%HOME%/.fonts.conf @@ -0,0 +1,28 @@ +<?xml version="1.0"?> + +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> + +<fontconfig> + <match target="font"> + <edit mode="assign" name="rgba"><const>rgb</const></edit> + <edit mode="assign" name="antialias"><bool>true</bool></edit> + <edit mode="assign" name="hinting"><bool>true</bool></edit> + <edit mode="assign" name="hintstyle"><const>hintfull</const></edit> + </match> + <alias> + <family>serif</family> + <prefer><family>Liberation Serif</family></prefer> + </alias> + <alias> + <family>sans-serif</family> + <prefer><family>Liberation Sans</family></prefer> + </alias> + <alias> + <family>monospace</family> + <prefer><family>Liberation Mono</family></prefer> + </alias> + <match target="font"> + <test name="family"><string>Liberation Mono</string></test> + <edit mode="assign" name="pixelsize"><double>14</double></edit> + </match> +</fontconfig> diff --git a/%HOME%/.gitconfig b/%HOME%/.gitconfig new file mode 100644 index 0000000..9da4196 --- /dev/null +++ b/%HOME%/.gitconfig @@ -0,0 +1,30 @@ +[user] + name = Egor Tensin + email = Egor.Tensin@gmail.com +[core] + editor = vim + ignorecase = false + autocrlf = true +[push] + default = current +[merge] + tool = kdiff3 +[mergetool "kdiff3"] + trustExitCode = false +[mergetool] + keepBackup = false +[diff] + tool = kdiff3 +[difftool] + keepBackup = false +[difftool "kdiff3"] + trustExitCode = false +[pull] + ff = only +[alias] + clean-all = clean -fdx + clean-ignored = clean -fdX + clean-unknown = clean -fd + l = log --oneline +[fetch] + prune = true diff --git a/%HOME%/.gnupg/gpg.conf b/%HOME%/.gnupg/gpg.conf new file mode 100644 index 0000000..018cc7e --- /dev/null +++ b/%HOME%/.gnupg/gpg.conf @@ -0,0 +1,242 @@ +# Options for GnuPG +# Copyright 1998, 1999, 2000, 2001, 2002, 2003, +# 2010 Free Software Foundation, Inc. +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This file is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Unless you specify which option file to use (with the command line +# option "--options filename"), GnuPG uses the file ~/.gnupg/gpg.conf +# by default. +# +# An options file can contain any long options which are available in +# GnuPG. If the first non white space character of a line is a '#', +# this line is ignored. Empty lines are also ignored. +# +# See the man page for a list of options. + +# Uncomment the following option to get rid of the copyright notice + +#no-greeting + +# If you have more than 1 secret key in your keyring, you may want to +# uncomment the following option and set your preferred keyid. + +#default-key 621CC013 + +# If you do not pass a recipient to gpg, it will ask for one. Using +# this option you can encrypt to a default key. Key validation will +# not be done in this case. The second form uses the default key as +# default recipient. + +#default-recipient some-user-id +#default-recipient-self + +# Use --encrypt-to to add the specified key as a recipient to all +# messages. This is useful, for example, when sending mail through a +# mail client that does not automatically encrypt mail to your key. +# In the example, this option allows you to read your local copy of +# encrypted mail that you've sent to others. + +#encrypt-to some-key-id + +# By default GnuPG creates version 4 signatures for data files as +# specified by OpenPGP. Some earlier (PGP 6, PGP 7) versions of PGP +# require the older version 3 signatures. Setting this option forces +# GnuPG to create version 3 signatures. + +#force-v3-sigs + +# Because some mailers change lines starting with "From " to ">From " +# it is good to handle such lines in a special way when creating +# cleartext signatures; all other PGP versions do it this way too. + +#no-escape-from-lines + +# If you do not use the Latin-1 (ISO-8859-1) charset, you should tell +# GnuPG which is the native character set. Please check the man page +# for supported character sets. This character set is only used for +# metadata and not for the actual message which does not undergo any +# translation. Note that future version of GnuPG will change to UTF-8 +# as default character set. In most cases this option is not required +# as GnuPG is able to figure out the correct charset at runtime. + +#charset utf-8 + +# Group names may be defined like this: +# group mynames = paige 0x12345678 joe patti +# +# Any time "mynames" is a recipient (-r or --recipient), it will be +# expanded to the names "paige", "joe", and "patti", and the key ID +# "0x12345678". Note there is only one level of expansion - you +# cannot make an group that points to another group. Note also that +# if there are spaces in the recipient name, this will appear as two +# recipients. In these cases it is better to use the key ID. + +#group mynames = paige 0x12345678 joe patti + +# Lock the file only once for the lifetime of a process. If you do +# not define this, the lock will be obtained and released every time +# it is needed, which is usually preferable. + +#lock-once + +# GnuPG can send and receive keys to and from a keyserver. These +# servers can be HKP, email, or LDAP (if GnuPG is built with LDAP +# support). +# +# Example HKP keyserver: +# hkp://keys.gnupg.net +# hkp://subkeys.pgp.net +# +# Example email keyserver: +# mailto:pgp-public-keys@keys.pgp.net +# +# Example LDAP keyservers: +# ldap://keyserver.pgp.com +# +# Regular URL syntax applies, and you can set an alternate port +# through the usual method: +# hkp://keyserver.example.net:22742 +# +# Most users just set the name and type of their preferred keyserver. +# Note that most servers (with the notable exception of +# ldap://keyserver.pgp.com) synchronize changes with each other. Note +# also that a single server name may actually point to multiple +# servers via DNS round-robin. hkp://keys.gnupg.net is an example of +# such a "server", which spreads the load over a number of physical +# servers. To see the IP address of the server actually used, you may use +# the "--keyserver-options debug". + +keyserver hkp://keys.gnupg.net +#keyserver mailto:pgp-public-keys@keys.nl.pgp.net +#keyserver ldap://keyserver.pgp.com + +# Common options for keyserver functions: +# +# include-disabled : when searching, include keys marked as "disabled" +# on the keyserver (not all keyservers support this). +# +# no-include-revoked : when searching, do not include keys marked as +# "revoked" on the keyserver. +# +# verbose : show more information as the keys are fetched. +# Can be used more than once to increase the amount +# of information shown. +# +# use-temp-files : use temporary files instead of a pipe to talk to the +# keyserver. Some platforms (Win32 for one) always +# have this on. +# +# keep-temp-files : do not delete temporary files after using them +# (really only useful for debugging) +# +# http-proxy="proxy" : set the proxy to use for HTTP and HKP keyservers. +# This overrides the "http_proxy" environment variable, +# if any. +# +# auto-key-retrieve : automatically fetch keys as needed from the keyserver +# when verifying signatures or when importing keys that +# have been revoked by a revocation key that is not +# present on the keyring. +# +# no-include-attributes : do not include attribute IDs (aka "photo IDs") +# when sending keys to the keyserver. + +#keyserver-options auto-key-retrieve + +# Display photo user IDs in key listings + +# list-options show-photos + +# Display photo user IDs when a signature from a key with a photo is +# verified + +# verify-options show-photos + +# Use this program to display photo user IDs +# +# %i is expanded to a temporary file that contains the photo. +# %I is the same as %i, but the file isn't deleted afterwards by GnuPG. +# %k is expanded to the key ID of the key. +# %K is expanded to the long OpenPGP key ID of the key. +# %t is expanded to the extension of the image (e.g. "jpg"). +# %T is expanded to the MIME type of the image (e.g. "image/jpeg"). +# %f is expanded to the fingerprint of the key. +# %% is %, of course. +# +# If %i or %I are not present, then the photo is supplied to the +# viewer on standard input. If your platform supports it, standard +# input is the best way to do this as it avoids the time and effort in +# generating and then cleaning up a secure temp file. +# +# If no photo-viewer is provided, GnuPG will look for xloadimage, eog, +# or display (ImageMagick). On Mac OS X and Windows, the default is +# to use your regular JPEG image viewer. +# +# Some other viewers: +# photo-viewer "qiv %i" +# photo-viewer "ee %i" +# +# This one saves a copy of the photo ID in your home directory: +# photo-viewer "cat > ~/photoid-for-key-%k.%t" +# +# Use your MIME handler to view photos: +# photo-viewer "metamail -q -d -b -c %T -s 'KeyID 0x%k' -f GnuPG" + +# Passphrase agent +# +# We support the old experimental passphrase agent protocol as well as +# the new Assuan based one (currently available in the "newpg" package +# at ftp.gnupg.org/gcrypt/alpha/aegypten/). To make use of the agent, +# you have to run an agent as daemon and use the option +# +# use-agent +# +# which tries to use the agent but will fallback to the regular mode +# if there is a problem connecting to the agent. The normal way to +# locate the agent is by looking at the environment variable +# GPG_AGENT_INFO which should have been set during gpg-agent startup. +# In certain situations the use of this variable is not possible, thus +# the option +# +# --gpg-agent-info=<path>:<pid>:1 +# +# may be used to override it. + +# Automatic key location +# +# GnuPG can automatically locate and retrieve keys as needed using the +# auto-key-locate option. This happens when encrypting to an email +# address (in the "user@example.com" form), and there are no +# user@example.com keys on the local keyring. This option takes the +# following arguments, in the order they are to be tried: +# +# cert = locate a key using DNS CERT, as specified in RFC-4398. +# GnuPG can handle both the PGP (key) and IPGP (URL + fingerprint) +# CERT methods. +# +# pka = locate a key using DNS PKA. +# +# ldap = locate a key using the PGP Universal method of checking +# "ldap://keys.(thedomain)". For example, encrypting to +# user@example.com will check ldap://keys.example.com. +# +# keyserver = locate a key using whatever keyserver is defined using +# the keyserver option. +# +# You may also list arbitrary keyservers here by URL. +# +# Try CERT, then PKA, then LDAP, then hkp://subkeys.net: +#auto-key-locate cert pka ldap hkp://subkeys.pgp.net + +personal-cipher-preferences AES256 AES192 AES CAST5 +personal-digest-preferences SHA512 SHA384 SHA256 SHA224 +cert-digest-algo SHA512 +personal-compress-preferences ZLIB BZIP2 ZIP Uncompressed +default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed diff --git a/%HOME%/.inputrc b/%HOME%/.inputrc new file mode 100644 index 0000000..cd471e8 --- /dev/null +++ b/%HOME%/.inputrc @@ -0,0 +1,76 @@ +# To the extent possible under law, the author(s) have dedicated all +# copyright and related and neighboring rights to this software to the +# public domain worldwide. This software is distributed without any warranty. +# You should have received a copy of the CC0 Public Domain Dedication along +# with this software. +# If not, see <http://creativecommons.org/publicdomain/zero/1.0/>. + +# base-files version 4.2-4 + +# ~/.inputrc: readline initialization file. + +# The latest version as installed by the Cygwin Setup program can +# always be found at /etc/defaults/etc/skel/.inputrc + +# Modifying /etc/skel/.inputrc directly will prevent +# setup from updating it. + +# The copy in your home directory (~/.inputrc) is yours, please +# feel free to customise it to create a shell +# environment to your liking. If you feel a change +# would be benifitial to all, please feel free to send +# a patch to the cygwin mailing list. + +# the following line is actually +# equivalent to "\C-?": delete-char +"\e[3~": delete-char + +# VT +"\e[1~": beginning-of-line +"\e[4~": end-of-line + +# kvt +"\e[H": beginning-of-line +"\e[F": end-of-line + +# rxvt and konsole (i.e. the KDE-app...) +"\e[7~": beginning-of-line +"\e[8~": end-of-line + +# VT220 +"\eOH": beginning-of-line +"\eOF": end-of-line + +# Allow 8-bit input/output +#set meta-flag on +#set convert-meta off +#set input-meta on +#set output-meta on +$if Bash + # Don't ring bell on completion + set bell-style none + + # or, don't beep at me - show me + set bell-style visible + + # Filename completion/expansion + set completion-ignore-case on + set show-all-if-ambiguous on + + # Expand homedir name + set expand-tilde on + + # Append "/" to all dirnames + set mark-directories on + set mark-symlinked-directories on + + # Match all files + set match-hidden-files on + + # 'Magic Space' + # Insert a space character then performs + # a history expansion in the line + #Space: magic-space + + TAB: menu-complete +$endif diff --git a/%HOME%/.minttyrc b/%HOME%/.minttyrc new file mode 100644 index 0000000..43fd612 --- /dev/null +++ b/%HOME%/.minttyrc @@ -0,0 +1,23 @@ +BoldAsFont=no +Font=Consolas +FontHeight=11 +Rows=25 +ScrollbackLines=9000 +BackgroundColour=30,30,30 +CursorColour=210,210,210 +Black=30,30,30 +BoldBlack=30,30,30 +Red=210,120,120 +BoldRed=210,120,120 +Green=120,210,120 +BoldGreen=120,210,120 +Yellow=210,210,120 +BoldYellow=210,210,120 +Blue=120,165,210 +BoldBlue=120,165,210 +Magenta=240,90,165 +BoldMagenta=240,90,165 +Cyan=90,210,210 +BoldCyan=90,210,210 +White=210,210,210 +BoldWhite=210,210,210 diff --git a/%HOME%/.nanorc b/%HOME%/.nanorc new file mode 100644 index 0000000..57c2c06 --- /dev/null +++ b/%HOME%/.nanorc @@ -0,0 +1,8 @@ +set autoindent +#set const +set morespace +#set nohelp +set nowrap +set tabsize 4 +set tabstospaces +set smooth diff --git a/%HOME%/.profile b/%HOME%/.profile new file mode 100644 index 0000000..6b44625 --- /dev/null +++ b/%HOME%/.profile @@ -0,0 +1,37 @@ +# To the extent possible under law, the author(s) have dedicated all +# copyright and related and neighboring rights to this software to the +# public domain worldwide. This software is distributed without any warranty. +# You should have received a copy of the CC0 Public Domain Dedication along +# with this software. +# If not, see <http://creativecommons.org/publicdomain/zero/1.0/>. + +# base-files version 4.2-4 + +# ~/.profile: executed by the command interpreter for login shells. + +# The latest version as installed by the Cygwin Setup program can +# always be found at /etc/defaults/etc/skel/.profile + +# Modifying /etc/skel/.profile directly will prevent +# setup from updating it. + +# The copy in your home directory (~/.profile) is yours, please +# feel free to customise it to create a shell +# environment to your liking. If you feel a change +# would be benificial to all, please feel free to send +# a patch to the cygwin mailing list. + +# User dependent .profile file + +# Set user-defined locale +export LANG=$(locale -uU) + +# This file is not read by bash(1) if ~/.bash_profile or ~/.bash_login +# exists. +# +# if running bash +if [ -n "${BASH_VERSION}" ]; then + if [ -f "${HOME}/.bashrc" ]; then + source "${HOME}/.bashrc" + fi +fi diff --git a/%HOME%/.pythonrc b/%HOME%/.pythonrc new file mode 100644 index 0000000..23b7e11 --- /dev/null +++ b/%HOME%/.pythonrc @@ -0,0 +1,2 @@ +import readline, rlcompleter +readline.parse_and_bind("tab:complete") diff --git a/%HOME%/.ssh/config b/%HOME%/.ssh/config new file mode 100644 index 0000000..07ff3a5 --- /dev/null +++ b/%HOME%/.ssh/config @@ -0,0 +1 @@ +AddKeysToAgent yes diff --git a/%HOME%/.vimrc b/%HOME%/.vimrc new file mode 100644 index 0000000..58ca33c --- /dev/null +++ b/%HOME%/.vimrc @@ -0,0 +1,53 @@ +source $VIMRUNTIME/vimrc_example.vim + +" Color scheme. +color desert + +" 4 spaces per indentation level, no tabs. +set softtabstop=4 +set shiftwidth=4 +set expandtab + +highlight ColorColumn ctermbg=darkgrey + +" In insert mode, press F2 to enter 'paste mode'. +" Now you can paste text from elsewhere and _not_ mess up indentation. +" Nice and easy, right? +" Press F2 again to exit 'paste mode'. +nnoremap <F2> :set invpaste paste?<CR> +set pastetoggle=<F2> +set showmode + +" Backup files are written to ~/.vimtmp/backup/. +" I'm not sure how the whole thing's gonna work out in case of concurrent +" writes to multiple files with the same name, since backup file names will +" collide due to a long-standing Vim issue. +" Vim treats `backupdir` option inconsistently: if its value ends with two +" slashes, Vim doesn't convert the absolute path of the file being backed up +" to its backup file name (replacing directory separators with % signs) as it +" does with swap and 'persisent undo' files, but rather simply appends ~ to +" the end of file's name. +" For some reason it still works this way when there're two slashes at the +" end, so I'm gonna stick with this, hoping that this problem gets fixed in +" the future. +set backupdir=~/.vimtmp/backup// +set nobackup +set writebackup + +" Swap files are written to ~/.vimrc/swap/. +set directory=~/.vimtmp/swap// +set swapfile + +" 'Persistent undo' files are written to ~/.vimrc/undo/. +if has('persistent_undo') + set undodir=~/.vimtmp/undo// + set undofile +endif + +" Enable current-directory .vimrc files. +set exrc +set secure + +" Case-insensitive (more precisely, so-called smart) search. +set ignorecase +set smartcase diff --git a/%HOME%/.vimtmp/backup/.gitkeep b/%HOME%/.vimtmp/backup/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/%HOME%/.vimtmp/backup/.gitkeep diff --git a/%HOME%/.vimtmp/swap/.gitkeep b/%HOME%/.vimtmp/swap/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/%HOME%/.vimtmp/swap/.gitkeep diff --git a/%HOME%/.vimtmp/undo/.gitkeep b/%HOME%/.vimtmp/undo/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/%HOME%/.vimtmp/undo/.gitkeep |