diff options
-rw-r--r-- | bash/aliases.bash | 2 | ||||
-rw-r--r-- | bash/completion.bash | 4 | ||||
-rw-r--r-- | bash/emacs.bash | 2 | ||||
-rw-r--r-- | bash/functions.bash | 2 | ||||
-rw-r--r-- | bash/prompt.bash | 25 | ||||
-rw-r--r-- | bash/z.bash | 2 | ||||
-rw-r--r-- | bootstrap.manifest | 7 | ||||
-rw-r--r-- | chicken/csirc | 3 | ||||
-rw-r--r-- | git/config | 2 | ||||
-rw-r--r-- | keepassxc/roaming.ini | 17 | ||||
-rw-r--r-- | notmuch/config | 103 | ||||
-rw-r--r-- | notmuch/post-new.tags | 4 | ||||
-rw-r--r-- | npm/npmrc | 1 | ||||
-rw-r--r-- | profile/01_path.sh | 2 | ||||
-rw-r--r-- | profile/manpath.sh | 4 | ||||
-rw-r--r-- | profile/nodejs.sh | 2 | ||||
-rw-r--r-- | profile/profile | 5 | ||||
-rw-r--r-- | profile/python.sh | 5 | ||||
-rw-r--r-- | profile/xdg.sh | 55 | ||||
-rw-r--r-- | xorg/xmodmap | 279 |
20 files changed, 382 insertions, 144 deletions
diff --git a/bash/aliases.bash b/bash/aliases.bash index 0132d33..6515873 100644 --- a/bash/aliases.bash +++ b/bash/aliases.bash | |||
@@ -20,7 +20,7 @@ alias ll='ls -l' | |||
20 | alias tree='tree -F' | 20 | alias tree='tree -F' |
21 | 21 | ||
22 | # make locally | 22 | # make locally |
23 | alias lake='make PREFIX=$LOCAL_PATH ' | 23 | alias lake='make PREFIX=$LOCAL_PREFIX ' |
24 | 24 | ||
25 | # bash meta | 25 | # bash meta |
26 | alias rebash='source ~/.bash_profile' | 26 | alias rebash='source ~/.bash_profile' |
diff --git a/bash/completion.bash b/bash/completion.bash index 764463e..2b3ca37 100644 --- a/bash/completion.bash +++ b/bash/completion.bash | |||
@@ -2,14 +2,14 @@ | |||
2 | # Source bash completion libraries | 2 | # Source bash completion libraries |
3 | 3 | ||
4 | POSSIBLE_COMPLETION_FILES=( | 4 | POSSIBLE_COMPLETION_FILES=( |
5 | /etc/bash_completion # Debian | 5 | /etc/bash_completion # Debian |
6 | /etc/profile.d/bash_completion.sh # Alpine | 6 | /etc/profile.d/bash_completion.sh # Alpine |
7 | # I'm sure there are many more | 7 | # I'm sure there are many more |
8 | /usr/share/bash-completion/bash_completion | ||
8 | ) | 9 | ) |
9 | 10 | ||
10 | for candidate in "${POSSIBLE_COMPLETION_FILES[@]}"; do | 11 | for candidate in "${POSSIBLE_COMPLETION_FILES[@]}"; do |
11 | if [[ -r "$candidate" ]]; then | 12 | if [[ -r "$candidate" ]]; then |
12 | source "$candidate" | 13 | source "$candidate" |
13 | break # XXX: Do I want this? | ||
14 | fi | 14 | fi |
15 | done | 15 | done |
diff --git a/bash/emacs.bash b/bash/emacs.bash index 188c64f..3b7bb64 100644 --- a/bash/emacs.bash +++ b/bash/emacs.bash | |||
@@ -18,7 +18,7 @@ setup_vterm() { | |||
18 | 18 | ||
19 | setup_emacs_shell() { | 19 | setup_emacs_shell() { |
20 | export PAGER=cat | 20 | export PAGER=cat |
21 | export PS1='\w \$ ' | 21 | # export PS1='\w \$ ' |
22 | } | 22 | } |
23 | 23 | ||
24 | # CONSIDER: Could this go in ~/.profile ? | 24 | # CONSIDER: Could this go in ~/.profile ? |
diff --git a/bash/functions.bash b/bash/functions.bash index 97f89b8..debea2c 100644 --- a/bash/functions.bash +++ b/bash/functions.bash | |||
@@ -81,7 +81,7 @@ f() { | |||
81 | } | 81 | } |
82 | 82 | ||
83 | words() { | 83 | words() { |
84 | grep "$1" /usr/share/dict/words | 84 | grep -E "$1" /usr/share/dict/words |
85 | } | 85 | } |
86 | 86 | ||
87 | if ! command -v dict >/dev/null 2>&1; then | 87 | if ! command -v dict >/dev/null 2>&1; then |
diff --git a/bash/prompt.bash b/bash/prompt.bash index f09d3ab..bee5223 100644 --- a/bash/prompt.bash +++ b/bash/prompt.bash | |||
@@ -26,13 +26,7 @@ __prompt_exit_code() { # __prompt_exit_code CODES... | |||
26 | printf '%s\n' "$ec" | 26 | printf '%s\n' "$ec" |
27 | } | 27 | } |
28 | 28 | ||
29 | two_line_prompt() { | 29 | git_prompt_integration() { |
30 | PS1= | ||
31 | |||
32 | # user, host, and cwd | ||
33 | PROMPT_DIRTRIM=3 # how many dirs above current to print (rest are '...') | ||
34 | PS1+='\[\e[0;46m\]\u@\h \w' | ||
35 | |||
36 | # git bit | 30 | # git bit |
37 | # see https://unix.stackexchange.com/questions/278206 | 31 | # see https://unix.stackexchange.com/questions/278206 |
38 | possible_git_prompt_locations=( | 32 | possible_git_prompt_locations=( |
@@ -45,10 +39,18 @@ two_line_prompt() { | |||
45 | for file in "${possible_git_prompt_locations[@]}"; do | 39 | for file in "${possible_git_prompt_locations[@]}"; do |
46 | if [[ -f "$file" ]]; then | 40 | if [[ -f "$file" ]]; then |
47 | source "$file" && | 41 | source "$file" && |
48 | PS1+='\[\e[0m\]\[\e[35m\]$(__git_ps1)' | 42 | PS1+='\[\e[35m\]$(__git_ps1) \[\e[0m\]' |
49 | break | 43 | break |
50 | fi | 44 | fi |
51 | done | 45 | done |
46 | } | ||
47 | |||
48 | two_line_prompt() { | ||
49 | PS1= | ||
50 | |||
51 | # user, host, and cwd | ||
52 | PROMPT_DIRTRIM=3 # how many dirs above current to print (rest are '...') | ||
53 | PS1+='\[\e[0;46m\]\u@\h \w' | ||
52 | 54 | ||
53 | # newline | 55 | # newline |
54 | PS1+='\[\e[0m\]\n' | 56 | PS1+='\[\e[0m\]\n' |
@@ -62,7 +64,12 @@ two_line_prompt() { | |||
62 | 64 | ||
63 | smiley_prompt() { | 65 | smiley_prompt() { |
64 | __prompt_ec() { case $? in 0) echo '^_^' ;; *) echo ';_;' ;; esac } | 66 | __prompt_ec() { case $? in 0) echo '^_^' ;; *) echo ';_;' ;; esac } |
65 | PS1='\[\e[1m\]$(__prompt_exit_code "ok=^_^" "fail=;_;") \w\[\e[0m\] ' | 67 | |
68 | PS1='\[\e[33m\]$(__prompt_exit_code "ok=^_^" "fail=;_;")' | ||
69 | PS1+=' \w\[\e[0m\]' | ||
70 | |||
71 | git_prompt_integration | ||
72 | |||
66 | PS1+='\[$(__prompt_term_title "$USER@$(hostname): $PWD")\]' | 73 | PS1+='\[$(__prompt_term_title "$USER@$(hostname): $PWD")\]' |
67 | PS1+='\$ ' | 74 | PS1+='\$ ' |
68 | } | 75 | } |
diff --git a/bash/z.bash b/bash/z.bash index d84fd55..0f644c7 100644 --- a/bash/z.bash +++ b/bash/z.bash | |||
@@ -3,7 +3,7 @@ | |||
3 | 3 | ||
4 | zlua="$HOME/misc/z.lua/z.lua" | 4 | zlua="$HOME/misc/z.lua/z.lua" |
5 | 5 | ||
6 | if [ -f "$zlua" ]; then | 6 | if [ -x "$zlua" ]; then |
7 | export _ZL_DATA="${XDG_DATA_HOME:-$LOCAL_PREFIX/share}/zlua" | 7 | export _ZL_DATA="${XDG_DATA_HOME:-$LOCAL_PREFIX/share}/zlua" |
8 | eval "$(lua "$zlua" --init bash enhanced once)" | 8 | eval "$(lua "$zlua" --init bash enhanced once)" |
9 | fi | 9 | fi |
diff --git a/bootstrap.manifest b/bootstrap.manifest index 28358c3..657095d 100644 --- a/bootstrap.manifest +++ b/bootstrap.manifest | |||
@@ -1,6 +1,6 @@ | |||
1 | ### bootstrap.manifest -*- conf -*- | 1 | ### bootstrap.manifest -*- conf -*- |
2 | # TAB-separated SOURCEs and DESTINATIONs for configuration-file links to ~. | 2 | # Whitespace-separated SOURCEs and DESTINATIONs for configuration-file links to |
3 | # see bootstrap.sh for details. | 3 | # $HOME. See bootstrap.sh for details. |
4 | 4 | ||
5 | # Custom XDG Directories (just in case they're hardcoded somewhere) | 5 | # Custom XDG Directories (just in case they're hardcoded somewhere) |
6 | ~/etc ~/.config | 6 | ~/etc ~/.config |
@@ -21,3 +21,6 @@ mail/mbsyncrc ~/.mbsyncrc | |||
21 | xorg/xinitrc ~/.xinitrc | 21 | xorg/xinitrc ~/.xinitrc |
22 | xorg/xsession ~/.xsession | 22 | xorg/xsession ~/.xsession |
23 | xorg/xcompose ~/.Xcompose | 23 | xorg/xcompose ~/.Xcompose |
24 | |||
25 | # SBCL | ||
26 | sbcl/sbclrc ~/.sbclrc \ No newline at end of file | ||
diff --git a/chicken/csirc b/chicken/csirc index 8cc74cf..9ff6c9d 100644 --- a/chicken/csirc +++ b/chicken/csirc | |||
@@ -3,8 +3,7 @@ | |||
3 | (set! ##sys#notices-enabled #f) | 3 | (set! ##sys#notices-enabled #f) |
4 | (import (chicken load)) | 4 | (import (chicken load)) |
5 | (load-verbose #f) | 5 | (load-verbose #f) |
6 | (import (r7rs) | 6 | (import (utf8)) |
7 | (utf8)) | ||
8 | ;; set up breadline | 7 | ;; set up breadline |
9 | (let () | 8 | (let () |
10 | (import (chicken format)) | 9 | (import (chicken format)) |
diff --git a/git/config b/git/config index 62455ef..d71289b 100644 --- a/git/config +++ b/git/config | |||
@@ -43,6 +43,8 @@ | |||
43 | # Shortened commonalities | 43 | # Shortened commonalities |
44 | st = status -bs | 44 | st = status -bs |
45 | ac = !git add . && git commit -m | 45 | ac = !git add . && git commit -m |
46 | yeet = push | ||
47 | yoink = pull | ||
46 | 48 | ||
47 | # diffing | 49 | # diffing |
48 | [diff "lisp"] | 50 | [diff "lisp"] |
diff --git a/keepassxc/roaming.ini b/keepassxc/roaming.ini index 76df3be..53417cd 100644 --- a/keepassxc/roaming.ini +++ b/keepassxc/roaming.ini | |||
@@ -3,6 +3,8 @@ BackupBeforeSave=true | |||
3 | ConfigVersion=2 | 3 | ConfigVersion=2 |
4 | GlobalAutoTypeKey=61 | 4 | GlobalAutoTypeKey=61 |
5 | GlobalAutoTypeModifiers=469762048 | 5 | GlobalAutoTypeModifiers=469762048 |
6 | MinimizeAfterUnlock=true | ||
7 | NumberOfRememberedLastDatabases=1 | ||
6 | UseAtomicSaves=false | 8 | UseAtomicSaves=false |
7 | 9 | ||
8 | [Browser] | 10 | [Browser] |
@@ -11,18 +13,28 @@ CustomProxyLocation= | |||
11 | Enabled=true | 13 | Enabled=true |
12 | 14 | ||
13 | [FdoSecrets] | 15 | [FdoSecrets] |
16 | ConfirmAccessItem=false | ||
14 | Enabled=true | 17 | Enabled=true |
18 | ShowNotification=false | ||
15 | 19 | ||
16 | [GUI] | 20 | [GUI] |
17 | AdvancedSettings=true | 21 | AdvancedSettings=true |
18 | ApplicationTheme=classic | 22 | ApplicationTheme=classic |
19 | CompactMode=false | 23 | CompactMode=false |
24 | MinimizeOnClose=true | ||
25 | MinimizeOnStartup=true | ||
26 | MinimizeToTray=true | ||
20 | ShowExpiredEntriesOnDatabaseUnlock=false | 27 | ShowExpiredEntriesOnDatabaseUnlock=false |
21 | TrayIconAppearance=monochrome-light | 28 | ShowTrayIcon=true |
29 | TrayIconAppearance=colorful | ||
22 | 30 | ||
23 | [PasswordGenerator] | 31 | [PasswordGenerator] |
24 | AdditionalChars= | 32 | AdditionalChars=!@#$%^&*() |
33 | AdvancedMode=true | ||
25 | ExcludedChars= | 34 | ExcludedChars= |
35 | Length=32 | ||
36 | Logograms=false | ||
37 | SpecialChars=true | ||
26 | 38 | ||
27 | [SSHAgent] | 39 | [SSHAgent] |
28 | Enabled=true | 40 | Enabled=true |
@@ -30,5 +42,6 @@ Enabled=true | |||
30 | [Security] | 42 | [Security] |
31 | EnableCopyOnDoubleClick=true | 43 | EnableCopyOnDoubleClick=true |
32 | IconDownloadFallback=true | 44 | IconDownloadFallback=true |
45 | LockDatabaseScreenLock=false | ||
33 | PasswordEmptyPlaceholder=true | 46 | PasswordEmptyPlaceholder=true |
34 | Security_HideNotes=true | 47 | Security_HideNotes=true |
diff --git a/notmuch/config b/notmuch/config deleted file mode 100644 index be90ebc..0000000 --- a/notmuch/config +++ /dev/null | |||
@@ -1,103 +0,0 @@ | |||
1 | # .notmuch-config - Configuration file for the notmuch mail system | ||
2 | # | ||
3 | # For more information about notmuch, see https://notmuchmail.org | ||
4 | |||
5 | # Database configuration | ||
6 | # | ||
7 | # The only value supported here is 'path' which should be the top-level | ||
8 | # directory where your mail currently exists and to where mail will be | ||
9 | # delivered in the future. Files should be individual email messages. | ||
10 | # Notmuch will store its database within a sub-directory of the path | ||
11 | # configured here named ".notmuch". | ||
12 | # | ||
13 | [database] | ||
14 | path=/home/case/var/mail | ||
15 | hook_dir=/home/case/etc/notmuch/default/hooks | ||
16 | |||
17 | # User configuration | ||
18 | # | ||
19 | # Here is where you can let notmuch know how you would like to be | ||
20 | # addressed. Valid settings are | ||
21 | # | ||
22 | # name Your full name. | ||
23 | # primary_email Your primary email address. | ||
24 | # other_email A list (separated by ';') of other email addresses | ||
25 | # at which you receive email. | ||
26 | # | ||
27 | # Notmuch will use the various email addresses configured here when | ||
28 | # formatting replies. It will avoid including your own addresses in the | ||
29 | # recipient list of replies, and will set the From address based on the | ||
30 | # address to which the original email was addressed. | ||
31 | # | ||
32 | [user] | ||
33 | name=Case Duckworth | ||
34 | primary_email=case@acdw.net | ||
35 | other_email=acdw@fastmail.com;acdw@acdw.net;breadpunk@acdw.net;caseandrachel19@acdw.net;caseduckworth@acdw.net;comments@acdw.net;lists@acdw.net;me@acdw.net;pam@acdw.net;ring@acdw.net;sonn-it@acdw.net;webring@acdw.net;caseduckworth@fastmail.com;loosepoops@fea.st;case@clickheredigital.com;case@thebryc.org;case.duckworth@papertutors.co | ||
36 | |||
37 | # Configuration for "notmuch new" | ||
38 | # | ||
39 | # The following options are supported here: | ||
40 | # | ||
41 | # tags A list (separated by ';') of the tags that will be | ||
42 | # added to all messages incorporated by "notmuch new". | ||
43 | # | ||
44 | # ignore A list (separated by ';') of file and directory names | ||
45 | # that will not be searched for messages by "notmuch new". | ||
46 | # | ||
47 | # NOTE: *Every* file/directory that goes by one of those | ||
48 | # names will be ignored, independent of its depth/location | ||
49 | # in the mail store. | ||
50 | # | ||
51 | [new] | ||
52 | tags=inbox;unread; | ||
53 | ignore=.mbsyncstate;.isyncuidmap.db;.uidvalidity;/.*[.](json|lock|bak|journal|new|drafts)$/; | ||
54 | |||
55 | # Search configuration | ||
56 | # | ||
57 | # The following option is supported here: | ||
58 | # | ||
59 | # exclude_tags | ||
60 | # A ;-separated list of tags that will be excluded from | ||
61 | # search results by default. Using an excluded tag in a | ||
62 | # query will override that exclusion. | ||
63 | # | ||
64 | [search] | ||
65 | exclude_tags=deleted;spam;Spam;Trash;sent | ||
66 | |||
67 | # Show configuration | ||
68 | [show] | ||
69 | extra_headers=List-Post; | ||
70 | |||
71 | # Maildir compatibility configuration | ||
72 | # | ||
73 | # The following option is supported here: | ||
74 | # | ||
75 | # synchronize_flags Valid values are true and false. | ||
76 | # | ||
77 | # If true, then the following maildir flags (in message filenames) | ||
78 | # will be synchronized with the corresponding notmuch tags: | ||
79 | # | ||
80 | # Flag Tag | ||
81 | # ---- ------- | ||
82 | # D draft | ||
83 | # F flagged | ||
84 | # P passed | ||
85 | # R replied | ||
86 | # S unread (added when 'S' flag is not present) | ||
87 | # | ||
88 | # The "notmuch new" command will notice flag changes in filenames | ||
89 | # and update tags, while the "notmuch tag" and "notmuch restore" | ||
90 | # commands will notice tag changes and update flags in filenames | ||
91 | # | ||
92 | [maildir] | ||
93 | synchronize_flags=true | ||
94 | |||
95 | # Cryptography related configuration | ||
96 | # | ||
97 | # The following option is supported here: | ||
98 | # | ||
99 | # gpg_path | ||
100 | # binary name or full path to invoke gpg. | ||
101 | # | ||
102 | [crypto] | ||
103 | gpg_path=gpg | ||
diff --git a/notmuch/post-new.tags b/notmuch/post-new.tags index e9dd2f7..f582c08 100644 --- a/notmuch/post-new.tags +++ b/notmuch/post-new.tags | |||
@@ -6,6 +6,7 @@ | |||
6 | 6 | ||
7 | +clickhere +work -- path:clickhere/** | 7 | +clickhere +work -- path:clickhere/** |
8 | -inbox -unread -- tag:TaskIQ | 8 | -inbox -unread -- tag:TaskIQ |
9 | -inbox -unread -- from:taskiq@clickheredigital.com | ||
9 | -inbox -unread -- from:get@myreports.email or from:mail@semrush.com | 10 | -inbox -unread -- from:get@myreports.email or from:mail@semrush.com |
10 | -inbox -unread -- from:"/Semrush App Center Team/" | 11 | -inbox -unread -- from:"/Semrush App Center Team/" |
11 | -inbox -- to:seo@clickheredigital.com | 12 | -inbox -- to:seo@clickheredigital.com |
@@ -14,9 +15,10 @@ | |||
14 | 15 | ||
15 | +paper +work -- path:paper/** | 16 | +paper +work -- path:paper/** |
16 | -inbox -unread -- path:paper/** and subject:"Shift Transfer Request" | 17 | -inbox -unread -- path:paper/** and subject:"Shift Transfer Request" |
18 | -inbox +slack -- from:notification@slack.com | ||
17 | 19 | ||
18 | # Spam | 20 | # Spam |
19 | +spam -new -- folder:/.*[Ss]pam.*/ or folder:/.*[Jj]unk.*/ | 21 | +spam -new -- (folder:/.*[Ss]pam.*/ or folder:/.*[Jj]unk.*/ or Xspam:yes) and tag:new |
20 | 22 | ||
21 | # Auto-archive | 23 | # Auto-archive |
22 | +archive -new -inbox -- not tag:unread and date:..6M | 24 | +archive -new -inbox -- not tag:unread and date:..6M |
diff --git a/npm/npmrc b/npm/npmrc index fc84b78..c2da224 100644 --- a/npm/npmrc +++ b/npm/npmrc | |||
@@ -1,4 +1,3 @@ | |||
1 | prefix=${XDG_DATA_HOME}/npm | 1 | prefix=${XDG_DATA_HOME}/npm |
2 | cache=${XDG_CACHE_HOME}/npm | 2 | cache=${XDG_CACHE_HOME}/npm |
3 | tmp=${XDG_RUNTIME_DIR}/npm | ||
4 | init-module=${XDG_CONFIG_HOME}/npm/config/npm-init.js | 3 | init-module=${XDG_CONFIG_HOME}/npm/config/npm-init.js |
diff --git a/profile/01_path.sh b/profile/01_path.sh index 6675241..8b18f5e 100644 --- a/profile/01_path.sh +++ b/profile/01_path.sh | |||
@@ -1,6 +1,6 @@ | |||
1 | # PATH and variables for $HOME-local installations | 1 | # PATH and variables for $HOME-local installations |
2 | 2 | ||
3 | LOCAL_PREFIX="$LOCAL_PATH" | 3 | LOCAL_PREFIX="$HOME/usr" |
4 | export LOCAL_PREFIX | 4 | export LOCAL_PREFIX |
5 | 5 | ||
6 | # Pkg-config | 6 | # Pkg-config |
diff --git a/profile/manpath.sh b/profile/manpath.sh index b52f5f8..bda4fd2 100644 --- a/profile/manpath.sh +++ b/profile/manpath.sh | |||
@@ -3,8 +3,8 @@ | |||
3 | path_add_unsafe MANPATH \ | 3 | path_add_unsafe MANPATH \ |
4 | "${XDG_DATA_HOME:-$LOCAL_PREFIX/share}/man" \ | 4 | "${XDG_DATA_HOME:-$LOCAL_PREFIX/share}/man" \ |
5 | "$LOCAL_PREFIX/local/man" \ | 5 | "$LOCAL_PREFIX/local/man" \ |
6 | "$LOCAL_PATH/local/man" \ | 6 | "$LOCAL_PREFIX/local/man" \ |
7 | "$LOCAL_PATH/man" | 7 | "$LOCAL_PREFIX/man" |
8 | 8 | ||
9 | # $MANPATH ends with `:' so that manpath(1) will prepend it to its | 9 | # $MANPATH ends with `:' so that manpath(1) will prepend it to its |
10 | # special thing. | 10 | # special thing. |
diff --git a/profile/nodejs.sh b/profile/nodejs.sh index 6d95dea..224dbbe 100644 --- a/profile/nodejs.sh +++ b/profile/nodejs.sh | |||
@@ -1,3 +1,3 @@ | |||
1 | # node.js environment | 1 | # node.js environment |
2 | 2 | ||
3 | export npm_config_prefix="$LOCAL_PATH" | 3 | export npm_config_prefix="$LOCAL_PREFIX" |
diff --git a/profile/profile b/profile/profile index 9a81186..5faff51 100644 --- a/profile/profile +++ b/profile/profile | |||
@@ -4,10 +4,13 @@ | |||
4 | # Source system profile | 4 | # Source system profile |
5 | source /etc/profile | 5 | source /etc/profile |
6 | 6 | ||
7 | # Local prefix | ||
8 | export LOCAL_PREFIX="$HOME/usr" | ||
9 | |||
7 | # XDG directories | 10 | # XDG directories |
8 | export XDG_CONFIG_HOME="$HOME/etc" | 11 | export XDG_CONFIG_HOME="$HOME/etc" |
9 | export XDG_CACHE_HOME="$HOME/var/cache" | 12 | export XDG_CACHE_HOME="$HOME/var/cache" |
10 | export XDG_DATA_HOME="$LOCAL_PATH/share" | 13 | export XDG_DATA_HOME="$LOCAL_PREFIX/share" |
11 | 14 | ||
12 | export XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" | 15 | export XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" |
13 | export XDG_CONFIG_DIRS="${XDG_CONFIG_DIRS:-/etc/xdg}" | 16 | export XDG_CONFIG_DIRS="${XDG_CONFIG_DIRS:-/etc/xdg}" |
diff --git a/profile/python.sh b/profile/python.sh index 80d4ee2..9353cfe 100644 --- a/profile/python.sh +++ b/profile/python.sh | |||
@@ -3,4 +3,7 @@ | |||
3 | # sometimes it's unavoidable. | 3 | # sometimes it's unavoidable. |
4 | 4 | ||
5 | # from grym on #emacs --- TODO: research what this actually does, lol | 5 | # from grym on #emacs --- TODO: research what this actually does, lol |
6 | export PIP_REQUIRE_VIRTUALENV=1 | 6 | # it's annoying ... (2023-02-08) |
7 | #export PIP_REQUIRE_VIRTUALENV=1 | ||
8 | |||
9 | path_add_to_PATH "$XDG_DATA_HOME/python/bin" | ||
diff --git a/profile/xdg.sh b/profile/xdg.sh index e11c5df..a4e395f 100644 --- a/profile/xdg.sh +++ b/profile/xdg.sh | |||
@@ -4,15 +4,17 @@ | |||
4 | # moved there (e.g., HISTFILE is in history.bash). So variables might | 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/. | 5 | # move /out/ of this directory, but they probably won't move /in/. |
6 | 6 | ||
7 | # See also [[https://github.com/b3nj5m1n/xdg-ninja][xdg-ninja]]. | 7 | # See also https://github.com/b3nj5m1n/xdg-ninja, |
8 | # https://wiki.archlinux.org/title/XDG_Base_Directory#Support | ||
8 | 9 | ||
9 | # Readline | 10 | # Readline |
10 | export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc | 11 | export INPUTRC="$XDG_CONFIG_HOME/readline/inputrc" |
12 | export RLWRAP_HOME="$XDG_DATA_HOME/rlwrap" | ||
11 | 13 | ||
12 | # Less | 14 | # Less |
13 | export LESSKEY="$XDG_CONFIG_HOME"/less/lesskey | 15 | export LESSKEY="$XDG_CONFIG_HOME/less/lesskey" |
14 | export LESSHISTFILE="$XDG_CACHE_HOME"/less/history | 16 | export LESSHISTFILE="$XDG_CACHE_HOME/less/history" |
15 | mkdir -p "$XDG_CACHE_HOME"/less | 17 | mkdir -p "$XDG_CACHE_HOME/less" |
16 | 18 | ||
17 | # Vim | 19 | # Vim |
18 | export VIMINIT="source ${XDG_CONFIG_HOME:=$HOME/.config}/vim/vimrc" | 20 | export VIMINIT="source ${XDG_CONFIG_HOME:=$HOME/.config}/vim/vimrc" |
@@ -27,9 +29,14 @@ export LYNX_CFG="$XDG_CONFIG_HOME/lynx/lynx.cfg" | |||
27 | export XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-$HOME}" | 29 | export XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-$HOME}" |
28 | export XINITRC="$XDG_CONFIG_HOME/X11/xinitrc" | 30 | export XINITRC="$XDG_CONFIG_HOME/X11/xinitrc" |
29 | export XSERVERRC="$XDG_CONFIG_HOME/X11/xserverrc" | 31 | export XSERVERRC="$XDG_CONFIG_HOME/X11/xserverrc" |
32 | export USERXSESSION="$XDG_CACHE_HOME/X11/xsession" | ||
33 | export ALTUSERXSESSION="$XDG_CACHE_HOME/X11/Xsession" | ||
34 | export ERRFILE="$XDG_CACHE_HOME/X11/xsession-errors" | ||
30 | 35 | ||
31 | # Notmuch | 36 | |
32 | export NOTMUCH_CONFIG="${XDG_CONFIG_HOME:=$HOME/.config}/notmuch/config" | 37 | |
38 | # Notmuch -- https://notmuchmail.org/pipermail/notmuch/2011/007007.html | ||
39 | export NOTMUCH_CONFIG="${XDG_CONFIG_HOME:=$HOME/.config}/notmuch/default/config" | ||
33 | 40 | ||
34 | # GNUPG | 41 | # GNUPG |
35 | export GNUPGHOME="$XDG_DATA_HOME/gnupg" | 42 | export GNUPGHOME="$XDG_DATA_HOME/gnupg" |
@@ -39,7 +46,39 @@ export ICEAUTHORITY="$XDG_CACHE_HOME/ICEauthority" | |||
39 | 46 | ||
40 | # mbsync (requires alias) | 47 | # mbsync (requires alias) |
41 | export MBSYNC_CONFIG_HOME="$XDG_CONFIG_HOME/isync/mbsyncrc" | 48 | export MBSYNC_CONFIG_HOME="$XDG_CONFIG_HOME/isync/mbsyncrc" |
42 | alias mbsync='mbsync -c "$MBSYNC_CONFIG_HOME"' | 49 | alias mbsync='command mbsync -c "$MBSYNC_CONFIG_HOME"' |
43 | 50 | ||
44 | # npm | 51 | # npm |
45 | export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc" | 52 | export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc" |
53 | |||
54 | # bash-complete | ||
55 | export BASH_COMPLETION_USER_FILE="$XDG_CONFIG_HOME/bash/completion" | ||
56 | |||
57 | # aspell | ||
58 | ASPELL_CONF="per-conf $XDG_CONFIG_HOME/aspell/aspell.conf" | ||
59 | ASPELL_CONF="$ASPELL_CONF; personal $XDG_CONFIG_HOME/aspell/en.pws" | ||
60 | ASPELL_CONF="$ASPELL_CONF; repl $XDG_CONFIG_HOME/aspell/en.prepl" | ||
61 | mkdir -p "$XDG_CONFIG_HOME/aspell" | ||
62 | export ASPELL_CONF | ||
63 | |||
64 | # Xcompose | ||
65 | export XCOMPOSEFILE="$XDG_CONFIG_HOME/xorg/xcompose" | ||
66 | export XCOMPOSECACHE="$XDG_CACHE_HOME/xorg/xcompose" | ||
67 | |||
68 | # sqlite | ||
69 | export SQLITE_HISTORY="$XDG_DATA_HOME/sqlite_history" | ||
70 | alias sqlite3='sqlite3 -init "$XDG_CONFIG_HOME/sqlite3/sqliterc"' | ||
71 | |||
72 | # python | ||
73 | export PYTHONSTARTUPFILE="$XDG_CONFIG_HOME/python/startup" | ||
74 | export PYTHONPYCACHEPREFIX="$XDG_CACHE_HOME/python" | ||
75 | export PYTHON_EGG_CACHE="$XDG_CACHE_HOME/python/eggs" | ||
76 | export PYTHONUSERBASE="$XDG_DATA_HOME/python" | ||
77 | |||
78 | # wget | ||
79 | export WGETRC="$XDG_CONFIG_HOME/wget/config" | ||
80 | mkdir -p "$XDG_CONFIG_HOME/wget" | ||
81 | alias wget='wget --hsts-file="$XDG_CACHE_HOME/wget-hsts"' | ||
82 | |||
83 | # dvdcss | ||
84 | export DVDCSS_HOME="$XDG_CACHE_HOME/dvdcss" | ||
diff --git a/xorg/xmodmap b/xorg/xmodmap index 4f7ed21..0117159 100644 --- a/xorg/xmodmap +++ b/xorg/xmodmap | |||
@@ -1,6 +1,277 @@ | |||
1 | ! ~/.xmodmap -*- conf-xdefaults -*- | 1 | ! xmodmap for the Colemak Mod-DH layout (US, ISO keyboard). |
2 | ! http://colemakmods.github.io/mod-dh/ | ||
3 | ! Public domain. | ||
2 | 4 | ||
3 | ! Make CapsLock an extra Control | 5 | keycode 49 = grave asciitilde dead_tilde asciitilde |
6 | keycode 10 = 1 exclam exclamdown onesuperior | ||
7 | keycode 11 = 2 at masculine twosuperior | ||
8 | keycode 12 = 3 numbersign ordfeminine threesuperior | ||
9 | keycode 13 = 4 dollar cent sterling | ||
10 | keycode 14 = 5 percent EuroSign yen | ||
11 | keycode 15 = 6 asciicircum hstroke Hstroke | ||
12 | keycode 16 = 7 ampersand eth ETH | ||
13 | keycode 17 = 8 asterisk thorn THORN | ||
14 | keycode 18 = 9 parenleft leftsinglequotemark leftdoublequotemark | ||
15 | keycode 19 = 0 parenright rightsinglequotemark rightdoublequotemark | ||
16 | keycode 20 = minus underscore endash emdash | ||
17 | keycode 21 = equal plus multiply division | ||
18 | |||
19 | keycode 24 = q Q adiaeresis Adiaeresis | ||
20 | keycode 25 = w W aring Aring | ||
21 | keycode 26 = f F atilde Atilde | ||
22 | keycode 27 = p P oslash Ooblique | ||
23 | keycode 28 = b B dead_breve asciitilde | ||
24 | keycode 29 = j J dstroke Dstroke | ||
25 | keycode 30 = l L lstroke Lstroke | ||
26 | keycode 31 = u U uacute Uacute | ||
27 | keycode 32 = y Y udiaeresis Udiaeresis | ||
28 | keycode 33 = semicolon colon odiaeresis Odiaeresis | ||
29 | keycode 34 = bracketleft braceleft guillemotleft U2039 | ||
30 | keycode 35 = bracketright braceright guillemotright U203a | ||
31 | keycode 51 = numbersign asciitilde dead_circumflex asciitilde | ||
32 | |||
33 | keycode 38 = a A aacute Aacute | ||
34 | keycode 39 = r R dead_grave asciitilde | ||
35 | keycode 40 = s S ssharp asciitilde | ||
36 | keycode 41 = t T dead_acute dead_doubleacute | ||
37 | keycode 42 = g G dead_ogonek asciitilde | ||
38 | keycode 43 = m M dead_macron asciitilde | ||
39 | keycode 44 = n N ntilde Ntilde | ||
40 | keycode 45 = e E eacute Eacute | ||
41 | keycode 46 = i I iacute Iacute | ||
42 | keycode 47 = o O oacute Oacute | ||
43 | keycode 48 = apostrophe quotedbl otilde Otilde | ||
44 | |||
45 | keycode 94 = z Z ae AE | ||
46 | keycode 52 = x X dead_circumflex asciitilde | ||
47 | keycode 53 = c C ccedilla Ccedilla | ||
48 | keycode 54 = d D dead_diaeresis asciitilde | ||
49 | keycode 55 = v V oe OE | ||
50 | keycode 56 = backslash bar asciitilde asciitilde | ||
51 | keycode 57 = k K dead_abovering asciitilde | ||
52 | keycode 58 = h H dead_caron asciitilde | ||
53 | keycode 59 = comma less dead_cedilla asciitilde | ||
54 | keycode 60 = period greater dead_abovedot asciitilde | ||
55 | keycode 61 = slash question questiondown asciitilde | ||
56 | |||
57 | keycode 65 = space space space nobreakspace | ||
58 | |||
59 | keycode 108 = Mode_switch Mode_switch | ||
60 | |||
61 | ! Remove these 2 lines if you want caps lock unmodified | ||
62 | keycode 66 = BackSpace BackSpace BackSpace BackSpace | ||
4 | clear Lock | 63 | clear Lock |
5 | keycode 66 = Control_R | 64 | |
6 | add Control = Control_R | 65 | !clear Shift |
66 | !clear Control | ||
67 | !clear Mod1 | ||
68 | !clear Mod2 | ||
69 | !clear Mod3 | ||
70 | !clear Mod4 | ||
71 | !clear Mod5 | ||
72 | |||
73 | !add Shift = Shift_L Shift_R | ||
74 | !add Control = Control_L Control_R | ||
75 | !add Mod1 = Alt_L Alt_R | ||
76 | !add Mod2 = Num_Lock | ||
77 | !add Mod4 = Meta_L Meta_R | ||
78 | !add Mod5 = Scroll_Lock | ||
79 | |||
80 | !keycode 9 = Escape | ||
81 | !keycode 22 = BackSpace Terminate_Server | ||
82 | !keycode 23 = Tab ISO_Left_Tab | ||
83 | !keycode 36 = Return | ||
84 | !keycode 37 = Control_L | ||
85 | !keycode 50 = Shift_L | ||
86 | !keycode 62 = Shift_R | ||
87 | !keycode 63 = KP_Multiply XF86_ClearGrab | ||
88 | !keycode 64 = Alt_L Meta_L | ||
89 | !keycode 67 = F1 XF86_Switch_VT_1 | ||
90 | !keycode 68 = F2 XF86_Switch_VT_2 | ||
91 | !keycode 69 = F3 XF86_Switch_VT_3 | ||
92 | !keycode 70 = F4 XF86_Switch_VT_4 | ||
93 | !keycode 71 = F5 XF86_Switch_VT_5 | ||
94 | !keycode 72 = F6 XF86_Switch_VT_6 | ||
95 | !keycode 73 = F7 XF86_Switch_VT_7 | ||
96 | !keycode 74 = F8 XF86_Switch_VT_8 | ||
97 | !keycode 75 = F9 XF86_Switch_VT_9 | ||
98 | !keycode 76 = F10 XF86_Switch_VT_10 | ||
99 | !keycode 95 = F11 XF86_Switch_VT_11 | ||
100 | !keycode 96 = F12 XF86_Switch_VT_12 | ||
101 | !keycode 77 = Num_Lock Pointer_EnableKeys | ||
102 | !keycode 78 = Scroll_Lock | ||
103 | !keycode 79 = KP_Home KP_7 | ||
104 | !keycode 80 = KP_Up KP_8 | ||
105 | !keycode 81 = KP_Prior KP_9 | ||
106 | !keycode 82 = KP_Subtract XF86_Prev_VMode | ||
107 | !keycode 83 = KP_Left KP_4 | ||
108 | !keycode 84 = KP_Begin KP_5 | ||
109 | !keycode 85 = KP_Right KP_6 | ||
110 | !keycode 86 = KP_Add XF86_Next_VMode | ||
111 | !keycode 87 = KP_End KP_1 | ||
112 | !keycode 88 = KP_Down KP_2 | ||
113 | !keycode 89 = KP_Next KP_3 | ||
114 | !keycode 90 = KP_Insert KP_0 | ||
115 | !keycode 91 = KP_Delete KP_Decimal | ||
116 | !keycode 92 = Print Sys_Req | ||
117 | !keycode 93 = Mode_switch | ||
118 | !keycode 97 = Home | ||
119 | !keycode 98 = Up | ||
120 | !keycode 99 = Prior | ||
121 | !keycode 100 = Left | ||
122 | !keycode 102 = Right | ||
123 | !keycode 103 = End | ||
124 | !keycode 104 = Down | ||
125 | !keycode 105 = Next | ||
126 | !keycode 106 = Insert | ||
127 | !keycode 107 = Delete | ||
128 | !keycode 108 = KP_Enter | ||
129 | !keycode 109 = Control_R | ||
130 | !keycode 110 = Pause Break | ||
131 | !keycode 111 = Print Sys_Req | ||
132 | !keycode 112 = KP_Divide XF86_Ungrab | ||
133 | !keycode 114 = Pause Break | ||
134 | !keycode 115 = Super_L | ||
135 | !keycode 116 = Super_R | ||
136 | !keycode 117 = Menu | ||
137 | !keycode 124 = ISO_Level3_Shift | ||
138 | !keycode 125 = NoSymbol Alt_L | ||
139 | !keycode 126 = KP_Equal | ||
140 | !keycode 127 = NoSymbol Super_L | ||
141 | !keycode 128 = NoSymbol Hyper_L | ||
142 | !keycode 156 = NoSymbol Meta_L | ||
143 | |||
144 | !keycode 8 = | ||
145 | !keycode 101 = | ||
146 | !keycode 118 = | ||
147 | !keycode 119 = | ||
148 | !keycode 120 = | ||
149 | !keycode 121 = | ||
150 | !keycode 122 = | ||
151 | !keycode 123 = | ||
152 | !keycode 129 = | ||
153 | !keycode 130 = | ||
154 | !keycode 131 = | ||
155 | !keycode 132 = | ||
156 | !keycode 133 = | ||
157 | !keycode 134 = | ||
158 | !keycode 135 = | ||
159 | !keycode 136 = | ||
160 | !keycode 137 = | ||
161 | !keycode 138 = | ||
162 | !keycode 139 = | ||
163 | !keycode 140 = | ||
164 | !keycode 141 = | ||
165 | !keycode 142 = | ||
166 | !keycode 143 = | ||
167 | !keycode 144 = | ||
168 | !keycode 145 = | ||
169 | !keycode 146 = | ||
170 | !keycode 147 = | ||
171 | !keycode 148 = | ||
172 | !keycode 149 = | ||
173 | !keycode 150 = | ||
174 | !keycode 151 = | ||
175 | !keycode 152 = | ||
176 | !keycode 153 = | ||
177 | !keycode 154 = | ||
178 | !keycode 155 = | ||
179 | !keycode 157 = | ||
180 | !keycode 158 = | ||
181 | !keycode 159 = | ||
182 | !keycode 160 = | ||
183 | !keycode 161 = | ||
184 | !keycode 162 = | ||
185 | !keycode 163 = | ||
186 | !keycode 164 = | ||
187 | !keycode 165 = | ||
188 | !keycode 166 = | ||
189 | !keycode 167 = | ||
190 | !keycode 168 = | ||
191 | !keycode 169 = | ||
192 | !keycode 170 = | ||
193 | !keycode 171 = | ||
194 | !keycode 172 = | ||
195 | !keycode 173 = | ||
196 | !keycode 174 = | ||
197 | !keycode 175 = | ||
198 | !keycode 176 = | ||
199 | !keycode 177 = | ||
200 | !keycode 178 = | ||
201 | !keycode 179 = | ||
202 | !keycode 180 = | ||
203 | !keycode 181 = | ||
204 | !keycode 182 = | ||
205 | !keycode 183 = | ||
206 | !keycode 184 = | ||
207 | !keycode 185 = | ||
208 | !keycode 186 = | ||
209 | !keycode 187 = | ||
210 | !keycode 188 = | ||
211 | !keycode 189 = | ||
212 | !keycode 190 = | ||
213 | !keycode 191 = | ||
214 | !keycode 192 = | ||
215 | !keycode 193 = | ||
216 | !keycode 194 = | ||
217 | !keycode 195 = | ||
218 | !keycode 196 = | ||
219 | !keycode 197 = | ||
220 | !keycode 198 = | ||
221 | !keycode 199 = | ||
222 | !keycode 200 = | ||
223 | !keycode 201 = | ||
224 | !keycode 202 = | ||
225 | !keycode 203 = | ||
226 | !keycode 204 = | ||
227 | !keycode 205 = | ||
228 | !keycode 206 = | ||
229 | !keycode 207 = | ||
230 | !keycode 208 = | ||
231 | !keycode 209 = | ||
232 | !keycode 210 = | ||
233 | !keycode 211 = | ||
234 | !keycode 212 = | ||
235 | !keycode 213 = | ||
236 | !keycode 214 = | ||
237 | !keycode 215 = | ||
238 | !keycode 216 = | ||
239 | !keycode 217 = | ||
240 | !keycode 218 = | ||
241 | !keycode 219 = | ||
242 | !keycode 220 = | ||
243 | !keycode 221 = | ||
244 | !keycode 222 = | ||
245 | !keycode 223 = | ||
246 | !keycode 224 = | ||
247 | !keycode 225 = | ||
248 | !keycode 226 = | ||
249 | !keycode 227 = | ||
250 | !keycode 228 = | ||
251 | !keycode 229 = | ||
252 | !keycode 230 = | ||
253 | !keycode 231 = | ||
254 | !keycode 232 = | ||
255 | !keycode 233 = | ||
256 | !keycode 234 = | ||
257 | !keycode 235 = | ||
258 | !keycode 236 = | ||
259 | !keycode 237 = | ||
260 | !keycode 238 = | ||
261 | !keycode 239 = | ||
262 | !keycode 240 = | ||
263 | !keycode 241 = | ||
264 | !keycode 242 = | ||
265 | !keycode 243 = | ||
266 | !keycode 244 = | ||
267 | !keycode 245 = | ||
268 | !keycode 246 = | ||
269 | !keycode 247 = | ||
270 | !keycode 248 = | ||
271 | !keycode 249 = | ||
272 | !keycode 250 = | ||
273 | !keycode 251 = | ||
274 | !keycode 252 = | ||
275 | !keycode 253 = | ||
276 | !keycode 254 = | ||
277 | !keycode 255 = | ||