diff options
-rw-r--r-- | Makefile | 10 | ||||
-rw-r--r-- | bash/aliases.bash | 26 | ||||
-rw-r--r-- | bash/blesh.bash.disable | 1 | ||||
-rw-r--r-- | bash/dircolors.bash | 1 | ||||
-rw-r--r-- | bash/functions.bash | 11 | ||||
-rw-r--r-- | bash/guix.bash | 3 | ||||
-rw-r--r-- | bash/history.bash | 35 | ||||
-rw-r--r-- | bash/man.bash | 9 | ||||
-rw-r--r-- | bash/please.bash | 14 | ||||
-rw-r--r-- | bash/prompt.bash | 25 | ||||
-rw-r--r-- | bootstrap/bash_logout | 6 | ||||
-rw-r--r-- | bootstrap/bash_profile | 4 | ||||
-rw-r--r-- | bootstrap/bashrc | 41 | ||||
-rw-r--r-- | bootstrap/profile | 17 | ||||
-rw-r--r-- | git/attributes | 3 | ||||
-rw-r--r-- | git/config | 90 | ||||
-rw-r--r-- | git/ignore | 3 | ||||
-rw-r--r-- | profile/defaults.sh | 4 | ||||
-rw-r--r-- | profile/etc.sh | 10 | ||||
-rw-r--r-- | profile/infopath.sh | 1 | ||||
-rw-r--r-- | profile/less.sh | 3 | ||||
-rw-r--r-- | profile/luarocks.sh | 4 | ||||
-rw-r--r-- | profile/manpath.sh | 9 | ||||
-rw-r--r-- | profile/path.sh | 30 | ||||
-rw-r--r-- | profile/xdg.sh | 27 | ||||
-rw-r--r-- | readline/inputrc | 22 | ||||
-rw-r--r-- | user-dirs.dirs | 15 |
27 files changed, 424 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..712877b --- /dev/null +++ b/Makefile | |||
@@ -0,0 +1,10 @@ | |||
1 | # ~/etc/ Makefile | ||
2 | |||
3 | BOOTSTRAPS:=$(wildcard bootstrap/*) | ||
4 | BOOTSTRAPS_OUT:=$(foreach b,$(BOOTSTRAPS),$(patsubst bootstrap/%,~/.%,$(b))) | ||
5 | |||
6 | .PHONY: bootstrap | ||
7 | bootstrap: $(BOOTSTRAPS_OUT) | ||
8 | |||
9 | ~/.%: bootstrap/% | ||
10 | ln -sf etc/$< $@ | ||
diff --git a/bash/aliases.bash b/bash/aliases.bash new file mode 100644 index 0000000..f2d6776 --- /dev/null +++ b/bash/aliases.bash | |||
@@ -0,0 +1,26 @@ | |||
1 | # Bash aliases | ||
2 | |||
3 | # sudo | ||
4 | sudo_cmds=( | ||
5 | shutdown | ||
6 | reboot | ||
7 | halt | ||
8 | mount | ||
9 | umount | ||
10 | visudo | ||
11 | ) | ||
12 | for cmd in "${sudo_cmds[@]}"; do | ||
13 | alias $cmd="sudo $cmd" | ||
14 | done | ||
15 | |||
16 | # LS | ||
17 | alias ls='ls -F --color=auto' | ||
18 | alias ll='ls -l' | ||
19 | # tree | ||
20 | alias tree='tree -F' | ||
21 | |||
22 | # make locally | ||
23 | alias lake='make PREFIX=~/usr' | ||
24 | |||
25 | # bash meta | ||
26 | alias rebash='source ~/.bash_profile' | ||
diff --git a/bash/blesh.bash.disable b/bash/blesh.bash.disable new file mode 100644 index 0000000..9fc617b --- /dev/null +++ b/bash/blesh.bash.disable | |||
@@ -0,0 +1 @@ | |||
source "$XDG_DATA_HOME/blesh/ble.sh" | |||
diff --git a/bash/dircolors.bash b/bash/dircolors.bash new file mode 100644 index 0000000..597ee95 --- /dev/null +++ b/bash/dircolors.bash | |||
@@ -0,0 +1 @@ | |||
eval $(dircolors --sh "${XDG_CONFIG_HOME:-$HOME/.config}/dircolors") | |||
diff --git a/bash/functions.bash b/bash/functions.bash new file mode 100644 index 0000000..058e0f9 --- /dev/null +++ b/bash/functions.bash | |||
@@ -0,0 +1,11 @@ | |||
1 | memq() { # memq ITEM ARRAY | ||
2 | # Test whether an ITEM is a member of ARRAY. | ||
3 | # Pass ARRAY as ${ARRAY[@]}. | ||
4 | local e needle="$1"; shift | ||
5 | for e; do | ||
6 | [[ "$e" == "$needle" ]] && { | ||
7 | return 0 | ||
8 | } | ||
9 | done | ||
10 | return 1 | ||
11 | } | ||
diff --git a/bash/guix.bash b/bash/guix.bash new file mode 100644 index 0000000..127afef --- /dev/null +++ b/bash/guix.bash | |||
@@ -0,0 +1,3 @@ | |||
1 | export GUIX_PROFILE="$HOME/.config/guix/current" | ||
2 | |||
3 | . "$GUIX_PROFILE/etc/profile" | ||
diff --git a/bash/history.bash b/bash/history.bash new file mode 100644 index 0000000..95edf9d --- /dev/null +++ b/bash/history.bash | |||
@@ -0,0 +1,35 @@ | |||
1 | # Bash history settings | ||
2 | # I don't export any variables in this file because history settings | ||
3 | # really only apply in an interactive session. | ||
4 | |||
5 | # XDG compliance | ||
6 | HISTFILE="$XDG_DATA_HOME/bash/history" | ||
7 | mkdir -p "$XDG_DATA_HOME/bash" | ||
8 | |||
9 | # Don't truncate history | ||
10 | HISTFILESIZE=-1 # numeric values less than zero => don't truncate | ||
11 | HISTSIZE=100000 # ideally, I wouldn't truncate at all, but after a while shell | ||
12 | # startup might be affected. | ||
13 | |||
14 | # Append the history to HISTFILE. | ||
15 | shopt -s histappend | ||
16 | |||
17 | # History editing with readline | ||
18 | shopt -s histreedit # allow re-editing of a failed history substitution | ||
19 | shopt -s histverify # verify a history expansion before running it | ||
20 | |||
21 | # Save command invocation time to HISTFILE, and format it thusly | ||
22 | HISTTIMEFORMAT="%F %T " | ||
23 | |||
24 | # Erase all duplicates before saving the current line | ||
25 | HISTCONTROL=erasedups | ||
26 | # Don't save some commands to history | ||
27 | # "'HISTIGNORE' subsumes the function of 'HISTCONTROL'. A pattern of | ||
28 | # '&' is identical to 'ignoredups', and a pattern of '[ ]*' is | ||
29 | # identical to 'ignorespace'." -- info (bash)Bash Variables | ||
30 | HISTIGNORE='&:[ ]*' | ||
31 | # Other commands to ignore | ||
32 | HISTIGNORE="$HISTIGNORE:ls:exit:cd" | ||
33 | |||
34 | # Automatically append to HISTFILE on every command | ||
35 | PROMPT_COMMAND="history -a; ${PROMPT_COMMAND:-:}" | ||
diff --git a/bash/man.bash b/bash/man.bash new file mode 100644 index 0000000..4927952 --- /dev/null +++ b/bash/man.bash | |||
@@ -0,0 +1,9 @@ | |||
1 | export MANWIDTH=80 | ||
2 | |||
3 | # on smaller terminals, use their width | ||
4 | # (cf. https://wiki.archlinux.org/index.php/Man_page#Page_width) | ||
5 | man() { | ||
6 | local width=$(tput cols) | ||
7 | [ $width -gt $MANWIDTH ] && width=$MANWIDTH | ||
8 | env MANWIDTH=$width man "$@" | ||
9 | } | ||
diff --git a/bash/please.bash b/bash/please.bash new file mode 100644 index 0000000..179ed17 --- /dev/null +++ b/bash/please.bash | |||
@@ -0,0 +1,14 @@ | |||
1 | # PLEASE | ||
2 | # if run without arguments, run the last command with 'sudo' (aka sudo !!) | ||
3 | # if run WITH arguments, alias as sudo | ||
4 | |||
5 | please() { | ||
6 | history -d -1 | ||
7 | if [ -z "$1" ]; then | ||
8 | #set -- $(HISTTIMEFORMAT=$'\t' history 2 | sed 's/^.*\t//;q') | ||
9 | set -- $(fc -lnr | sed 1q) | ||
10 | fi | ||
11 | echo >&2 sudo "$@" | ||
12 | history -s sudo "$@" | ||
13 | "${DEBUG:-false}" || sudo "$@" | ||
14 | } | ||
diff --git a/bash/prompt.bash b/bash/prompt.bash new file mode 100644 index 0000000..c61266b --- /dev/null +++ b/bash/prompt.bash | |||
@@ -0,0 +1,25 @@ | |||
1 | # bash prompt | ||
2 | |||
3 | PS1= | ||
4 | |||
5 | # user, host, and cwd | ||
6 | PROMPT_DIRTRIM=3 # how many dirs above current to print (rest are '...') | ||
7 | PS1+='\[\e[36m\]\u@\h \w' | ||
8 | |||
9 | # git bit | ||
10 | source /usr/share/git/git-prompt.sh && | ||
11 | PS1+='\[\e[35m\]$(__git_ps1)' | ||
12 | |||
13 | # newline | ||
14 | PS1+='\[\e[0m\]\n' | ||
15 | |||
16 | # exit code (only if error) | ||
17 | __prompt_exit_code() { | ||
18 | local ec=$? | ||
19 | (( $ec > 0 )) && | ||
20 | printf "$ec" | ||
21 | } | ||
22 | PS1+='\[\e[31m\]$(__prompt_exit_code)\[\e[0m\]' | ||
23 | |||
24 | # delimiter | ||
25 | PS1+='; ' | ||
diff --git a/bootstrap/bash_logout b/bootstrap/bash_logout new file mode 100644 index 0000000..d6c9b7a --- /dev/null +++ b/bootstrap/bash_logout | |||
@@ -0,0 +1,6 @@ | |||
1 | # bash_logout | ||
2 | # vim:ft=sh | ||
3 | |||
4 | if [[ -r "$XDG_CONFIG_HOME"/bash/logout ]]; then | ||
5 | source "$XDG_CONFIG_HOME"/bash/logout | ||
6 | fi | ||
diff --git a/bootstrap/bash_profile b/bootstrap/bash_profile new file mode 100644 index 0000000..4439ca7 --- /dev/null +++ b/bootstrap/bash_profile | |||
@@ -0,0 +1,4 @@ | |||
1 | # bash_profile | ||
2 | |||
3 | [[ -f ~/.profile ]] && source ~/.profile | ||
4 | [[ -f ~/.bashrc ]] && source ~/.bashrc | ||
diff --git a/bootstrap/bashrc b/bootstrap/bashrc new file mode 100644 index 0000000..4966e75 --- /dev/null +++ b/bootstrap/bashrc | |||
@@ -0,0 +1,41 @@ | |||
1 | # bashrc | ||
2 | |||
3 | # If not running interactively, don't do anything | ||
4 | [[ $- != *i* ]] && return | ||
5 | |||
6 | BASH_SOURCE_FIRST=( | ||
7 | aliases | ||
8 | functions | ||
9 | ) | ||
10 | |||
11 | BASH_SOURCE_LAST=( | ||
12 | blesh | ||
13 | ) | ||
14 | |||
15 | for f in "${BASH_SOURCE_FIRST[@]}"; do | ||
16 | file="${XDG_CONFIG_HOME:-$HOME/.config}/bash/$f.bash" | ||
17 | [[ -r "$file" ]] && source "$file" # || echo >&2 "no '$file' found" | ||
18 | done | ||
19 | |||
20 | for file in "$XDG_CONFIG_HOME"/bash/*.bash; do | ||
21 | file_base="${file##*/}" | ||
22 | memq "${file_base%.bash}" "${BASH_SOURCE_FIRST[@]}" && { | ||
23 | # echo >&2 "'$file' in BASH_SOURCE_FIRST, skipping" | ||
24 | continue | ||
25 | } | ||
26 | memq "${file_base%.bash}" "${BASH_SOURCE_LAST[@]}" && { | ||
27 | # echo >&2 "'$file' in BASH_SOURCE_LAST, skipping" | ||
28 | continue | ||
29 | } | ||
30 | [[ -r "$file" ]] && { | ||
31 | # echo >&2 "Sourcing '$file'" | ||
32 | source "$file" | ||
33 | } | ||
34 | unset file_base | ||
35 | done | ||
36 | |||
37 | for f in "${BASH_SOURCE_LAST[@]}"; do | ||
38 | file="${XDG_CONFIG_HOME:-$HOME/.config}/bash/$f.bash" | ||
39 | [[ -r "$file" ]] && source "$file" # || echo >&2 "no '$file' found" | ||
40 | true | ||
41 | done | ||
diff --git a/bootstrap/profile b/bootstrap/profile new file mode 100644 index 0000000..4cb459d --- /dev/null +++ b/bootstrap/profile | |||
@@ -0,0 +1,17 @@ | |||
1 | # profile | ||
2 | # vim:ft=sh | ||
3 | |||
4 | # XDG directories | ||
5 | export XDG_CONFIG_HOME="$HOME/etc" | ||
6 | export XDG_CACHE_HOME="$HOME/var/cache" | ||
7 | export XDG_DATA_HOME="$HOME/usr/share" | ||
8 | |||
9 | export XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" | ||
10 | export XDG_CONFIG_DIRS="${XDG_CONFIG_DIRS:-/etc/xdg}" | ||
11 | |||
12 | # source files in $XDG_CONFIG_HOME/profile | ||
13 | if [ -d "$XDG_CONFIG_HOME/profile" ]; then | ||
14 | for file in "$XDG_CONFIG_HOME"/profile/*.sh; do | ||
15 | [ -r "$file" ] && . "$file" | ||
16 | done | ||
17 | fi | ||
diff --git a/git/attributes b/git/attributes new file mode 100644 index 0000000..a5516e5 --- /dev/null +++ b/git/attributes | |||
@@ -0,0 +1,3 @@ | |||
1 | *.lisp diff=lisp | ||
2 | *.el diff=lisp | ||
3 | *.org diff=org | ||
diff --git a/git/config b/git/config new file mode 100644 index 0000000..cad9e12 --- /dev/null +++ b/git/config | |||
@@ -0,0 +1,90 @@ | |||
1 | [user] | ||
2 | email = acdw@acdw.net | ||
3 | name = Case Duckworth | ||
4 | |||
5 | [init] | ||
6 | defaultBranch = main | ||
7 | |||
8 | [push] | ||
9 | default = simple | ||
10 | |||
11 | [pull] | ||
12 | rebase = false | ||
13 | |||
14 | [core] | ||
15 | editor = vim | ||
16 | precomposeunicode = true | ||
17 | pager = less | ||
18 | autocrlf = false | ||
19 | eol = lf | ||
20 | |||
21 | [merge] | ||
22 | conflictstyle = diff3 | ||
23 | tool = vimdiff | ||
24 | |||
25 | [alias] | ||
26 | # Easier locations | ||
27 | root = rev-parse --show-toplevel | ||
28 | current-branch = rev-parse --abbrev-ref HEAD | ||
29 | # Easier listing and info | ||
30 | branches = branch -a | ||
31 | tags = tag -l | ||
32 | stashes = stash list | ||
33 | remotes = remote -v | ||
34 | staged = diff --cached | ||
35 | graph = log --graph -10 --branches --remotes --tags --format=format:'%Cgreen%h %Creset: %<(75,trunc)%s (%cN, %cr) %Cred%d' --date-order | ||
36 | precommit = diff --cached --diff-algorithm=minimal -w | ||
37 | # Easier actions | ||
38 | discard = checkout -- | ||
39 | uncommit = reset --soft HEAD^ | ||
40 | unstage = reset HEAD -- | ||
41 | amend = commit --amend | ||
42 | pushall = !git remote | xargs -L1 git push --all | ||
43 | # Shortened commonalities | ||
44 | st = status -bs | ||
45 | ac = !git add . && git commit -m | ||
46 | |||
47 | # diffing | ||
48 | [diff "lisp"] | ||
49 | xfuncname = "^(\\(.*)$" | ||
50 | [diff "org"] | ||
51 | xfuncname = "^(\\*+.*)$" | ||
52 | |||
53 | ; [credential] | ||
54 | ; helper = /home/case/.local/bin/pass-git-helper | ||
55 | ; useHttpPath = true | ||
56 | |||
57 | [bash] | ||
58 | showUntrackedFiles = true | ||
59 | showDirtyState = true | ||
60 | |||
61 | [sendemail] | ||
62 | smtpserver = smtp.fastmail.com | ||
63 | smtpuser = acdw@fastmail.com | ||
64 | smtpencryption = tls | ||
65 | smtpserverport = 465 | ||
66 | |||
67 | # Better urls | ||
68 | [url "https://github.com/"] | ||
69 | insteadOf = "gh:" | ||
70 | [url "git@github.com:"] | ||
71 | pushInsteadOf = "gh:" | ||
72 | [github] | ||
73 | user = duckwork | ||
74 | |||
75 | [url "https://gitlab.com/"] | ||
76 | insteadOf = "gl:" | ||
77 | [url "git@gitlab.com:"] | ||
78 | pushInsteadOf = "gl:" | ||
79 | [gitlab] | ||
80 | user = acdw | ||
81 | |||
82 | [url "https://git.sr.ht/"] | ||
83 | insteadOf = "sr:" | ||
84 | [url "git@git.sr.ht:"] | ||
85 | pushInsteadOf = "sr:" | ||
86 | |||
87 | [url "https://tildegit.org/"] | ||
88 | insteadOf = "tg:" | ||
89 | [url "git@tildegit.org:"] | ||
90 | pushInsteadOf = "tg:" | ||
diff --git a/git/ignore b/git/ignore new file mode 100644 index 0000000..6a4c747 --- /dev/null +++ b/git/ignore | |||
@@ -0,0 +1,3 @@ | |||
1 | *.sw? | ||
2 | *~ | ||
3 | .DS\_Store | ||
diff --git a/profile/defaults.sh b/profile/defaults.sh new file mode 100644 index 0000000..8facc97 --- /dev/null +++ b/profile/defaults.sh | |||
@@ -0,0 +1,4 @@ | |||
1 | # Default programs | ||
2 | |||
3 | export EDITOR="$(which vim)" # TODO: change to emacs | ||
4 | export VISUAL="$EDITOR" | ||
diff --git a/profile/etc.sh b/profile/etc.sh new file mode 100644 index 0000000..5458f02 --- /dev/null +++ b/profile/etc.sh | |||
@@ -0,0 +1,10 @@ | |||
1 | # etc. settings | ||
2 | |||
3 | export GUILE_INSTALL_LOCALE=0 | ||
4 | export TZ=America/Chicago | ||
5 | |||
6 | #export XINITRC="$XDG_CONFIG_HOME/X11/xinitrc" | ||
7 | #export XSERVERRC="$XDG_CONFIG_HOME/X11/xserverrc" | ||
8 | #export XAUTHORITY="$XDG_RUNTIME_DIR/Xauthority" | ||
9 | #export SVDIR="$HOME/.local/service" | ||
10 | #export INFOPATH="$INFOPATH:/usr/share/info" | ||
diff --git a/profile/infopath.sh b/profile/infopath.sh new file mode 100644 index 0000000..ad1ec3f --- /dev/null +++ b/profile/infopath.sh | |||
@@ -0,0 +1 @@ | |||
export INFOPATH="/usr/share/info:${XDG_DATA_HOME:-$HOME/.local/share}/info" | |||
diff --git a/profile/less.sh b/profile/less.sh new file mode 100644 index 0000000..19a73ce --- /dev/null +++ b/profile/less.sh | |||
@@ -0,0 +1,3 @@ | |||
1 | # less settings | ||
2 | |||
3 | export LESS="--mouse --RAW-CONTROL-CHARS" | ||
diff --git a/profile/luarocks.sh b/profile/luarocks.sh new file mode 100644 index 0000000..315c0b7 --- /dev/null +++ b/profile/luarocks.sh | |||
@@ -0,0 +1,4 @@ | |||
1 | # add luarocks stuff to $PATH | ||
2 | |||
3 | command -v luarocks >/dev/null 2>&1 && | ||
4 | eval $(luarocks path) | ||
diff --git a/profile/manpath.sh b/profile/manpath.sh new file mode 100644 index 0000000..def1963 --- /dev/null +++ b/profile/manpath.sh | |||
@@ -0,0 +1,9 @@ | |||
1 | # $MANPATH shouldn't be too extra complicated (as opposed to $PATH), | ||
2 | # so I'm not going to include a whole other function. AT SOME POINT, | ||
3 | # I suppose I should generalize that function to set /any/ path-type | ||
4 | # variable, not just $PATH. | ||
5 | # $MANPATH ends with `:' so that manpath(1) will prepend it to its | ||
6 | # special thing. | ||
7 | |||
8 | MANPATH="${XDG_DATA_HOME:-$HOME/.local/share}/man:" | ||
9 | export MANPATH | ||
diff --git a/profile/path.sh b/profile/path.sh new file mode 100644 index 0000000..56bdc39 --- /dev/null +++ b/profile/path.sh | |||
@@ -0,0 +1,30 @@ | |||
1 | # PATH | ||
2 | |||
3 | # add a path to PATH, but only if it's not already there | ||
4 | path_add() { # path_add [-a] PATH... | ||
5 | # -a appends (default is prepend) | ||
6 | APPEND=false | ||
7 | if [ "x$1" = "x-a" ]; then | ||
8 | APPEND=true | ||
9 | shift | ||
10 | fi | ||
11 | |||
12 | for p; do | ||
13 | case ":$PATH:" in | ||
14 | *:"$p":*) ;; | ||
15 | *) | ||
16 | if $APPEND; then | ||
17 | PATH="$PATH:$p" | ||
18 | else | ||
19 | PATH="$p:$PATH" | ||
20 | fi | ||
21 | ;; | ||
22 | esac | ||
23 | done | ||
24 | |||
25 | unset APPEND | ||
26 | } | ||
27 | |||
28 | path_add "$HOME/bin" "$HOME/usr/bin" | ||
29 | |||
30 | command -v luarocks >/dev/null 2>&1 && path_add "$HOME/.luarocks/bin" | ||
diff --git a/profile/xdg.sh b/profile/xdg.sh new file mode 100644 index 0000000..caa1a9a --- /dev/null +++ b/profile/xdg.sh | |||
@@ -0,0 +1,27 @@ | |||
1 | # XDG compliance (miscellaneous) | ||
2 | |||
3 | # If an XDG-complaint variable makes more sense somewhere else, it'll be | ||
4 | # moved there (e.g., HISTFILE is in history.bash). So variables might | ||
5 | # move /out/ of this directory, but they probably won't move /in/. | ||
6 | |||
7 | # Readline | ||
8 | export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc | ||
9 | |||
10 | # Less | ||
11 | export LESSKEY="$XDG_CONFIG_HOME"/less/lesskey | ||
12 | export LESSHISTFILE="$XDG_CACHE_HOME"/less/history | ||
13 | mkdir -p "$XDG_CACHE_HOME"/less | ||
14 | |||
15 | # Vim | ||
16 | export VIMINIT="let \$MYVIMRC=\"$XDG_CONFIG_HOME/vim/vimrc\" | source \$MYVIMRC" | ||
17 | |||
18 | # Weechat | ||
19 | export WEECHAT_HOME="$XDG_CONFIG_HOME/weechat" | ||
20 | |||
21 | # Lynx | ||
22 | export LYNX_CFG="$XDG_CONFIG_HOME/lynx/lynx.cfg" | ||
23 | |||
24 | # Xorg | ||
25 | export XINITRC="$XDG_CONFIG_HOME/X11/xinitrc" | ||
26 | export XSERVERRC="$XDG_CONFIG_HOME/X11/xserverrc" | ||
27 | export XAUTHORITY="$XDG_RUNTIME_DIR/Xauthority" | ||
diff --git a/readline/inputrc b/readline/inputrc new file mode 100644 index 0000000..424e7d9 --- /dev/null +++ b/readline/inputrc | |||
@@ -0,0 +1,22 @@ | |||
1 | # inputrc | ||
2 | |||
3 | # Include the system inputrc | ||
4 | $include /etc/inputrc | ||
5 | |||
6 | # Search based on what I've already typed | ||
7 | "\C-p":history-search-backward | ||
8 | "\C-n":history-search-forward | ||
9 | |||
10 | # Show completions using LS_COLORS | ||
11 | set colored-stats On | ||
12 | # Ignore case in completions | ||
13 | set completion-ignore-case On | ||
14 | # Show ... if common prefix is longer than 3 characters | ||
15 | set completion-prefix-display-length 3 | ||
16 | # Show symlinked directories with a slash | ||
17 | set mark-symlinked-directories On | ||
18 | # Show completions immediately | ||
19 | set show-all-if-ambiguous On | ||
20 | set show-all-if-unmodified On | ||
21 | # Show types (like ls -F) | ||
22 | set visible-stats On | ||
diff --git a/user-dirs.dirs b/user-dirs.dirs new file mode 100644 index 0000000..8c03e11 --- /dev/null +++ b/user-dirs.dirs | |||
@@ -0,0 +1,15 @@ | |||
1 | # This file is written by xdg-user-dirs-update | ||
2 | # If you want to change or add directories, just edit the line you're | ||
3 | # interested in. All local changes will be retained on the next run. | ||
4 | # Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped | ||
5 | # homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an | ||
6 | # absolute path. No other format is supported. | ||
7 | # | ||
8 | XDG_DESKTOP_DIR="$HOME/var/desk" | ||
9 | XDG_DOCUMENTS_DIR="$HOME/var/doc" | ||
10 | XDG_DOWNLOAD_DIR="$HOME/var/download" | ||
11 | XDG_MUSIC_DIR="$HOME/var/music" | ||
12 | XDG_PICTURES_DIR="$HOME/var/img" | ||
13 | XDG_PUBLICSHARE_DIR="$HOME/var/public" | ||
14 | XDG_TEMPLATES_DIR="$HOME/var/tmpl" | ||
15 | XDG_VIDEOS_DIR="$HOME/var/video" | ||