summary refs log tree commit diff
path: root/rc
diff options
context:
space:
mode:
Diffstat (limited to 'rc')
-rw-r--r--rc87
1 files changed, 87 insertions, 0 deletions
diff --git a/rc b/rc new file mode 100644 index 0000000..cc9fc43 --- /dev/null +++ b/rc
@@ -0,0 +1,87 @@
1# for history
2export HISTFILE="$HOME/.history"
3export HISTSIZE=10000
4export HISTFILESIZE=20000
5export HISTCONTROL=ignoredups:ignorespace
6
7# terminal
8export GPG_TTY=$(tty)
9export COLORTERM=truecolor
10
11# gpg
12export GPG_KEY="BBA6732C9C740D27"
13
14# editors, pagers, aliases, funcs
15export EDITOR="mg"
16export VISUAL="mg"
17export PAGER="less"
18export MANPAGER="less -R"
19
20alias ls='ls -p'
21
22gpgsign() {
23 if [ $# -eq 0 ]; then
24 echo "err: bad usage."
25 return 2
26 fi
27
28 local binary_mode=0
29 local file=""
30
31 while [ $# -gt 0 ]; do
32 case "$1" in
33 -b)
34 binary_mode=1
35 shift
36 ;;
37 -*)
38 echo "err: not a option '$1'."
39 return 2
40 ;;
41 *)
42 file="$1"
43 shift
44 ;;
45 esac
46 done
47
48 if [ -z "$file" ]; then
49 echo "err: no filename specified."
50 return 1
51 fi
52
53 local backup_file="${file}.bak.$$"
54 cp "$file" "$backup_file" || return 1
55
56 local temp_file=$(mktemp -p /tmp gpgsign.XXXXXX) || {
57 rm -f "$backup_file"
58 return 1
59 }
60
61 trap "rm -f '$temp_file' '$backup_file'" EXIT INT TERM
62
63 local sign_cmd="gpg --batch --yes --clearsign"
64 [ $binary_mode -eq 1 ] && sign_cmd="gpg --batch --yes --sign"
65
66 echo "signing file..."
67 $sign_cmd -u "$GPG_KEY" -o "$temp_file" "$file" 2>/dev/null || {
68 echo "err: failed to sign."
69 mv "$backup_file" "$file"
70 rm -f "$temp_file"
71 return 1
72 }
73
74 if gpg --verify "$temp_file" 2>/dev/null; then
75 mv "$temp_file" "$file" && rm -f "$backup_file"
76 echo "ok: signed successfully."
77 trap - EXIT INT TERM
78 return 0
79 else
80 echo "err: verification failed"
81 mv "$backup_file" "$file"
82 rm -f "$temp_file"
83 return 1
84 fi
85}
86
87export PS1="> "