diff options
author | Mattias Andrée <maandree@kth.se> | 2021-06-25 12:56:30 +0200 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2021-06-25 12:56:30 +0200 |
commit | 5a7db2f34aa6a6787d98a001b6d28be97f36abf4 (patch) | |
tree | 52db199005cc5daee35b5c0e9b3d28b534449e1c | |
download | dotfiles-5a7db2f34aa6a6787d98a001b6d28be97f36abf4.tar.gz dotfiles-5a7db2f34aa6a6787d98a001b6d28be97f36abf4.tar.bz2 dotfiles-5a7db2f34aa6a6787d98a001b6d28be97f36abf4.tar.xz |
First commit
Signed-off-by: Mattias Andrée <maandree@kth.se>
122 files changed, 2498 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1189c62 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*\#* +*~ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..36ff3a8 --- /dev/null +++ b/Makefile @@ -0,0 +1,14 @@ +update: + @for PKG in *; do \ + if test -d "$${PKG}"; then \ + if pacman -Qq -- $${PKG} </dev/null >/dev/null 2>/dev/null ; then \ + printf -- '\033[1mmake -C %s install\033[m\n' "$${PKG}"; \ + make -C "$${PKG}" install; \ + else\ + printf -- '\033[1mmake -C %s uninstall\033[m\n' "$${PKG}"; \ + make -C "$${PKG}" uninstall; \ + fi; \ + fi; \ + done + +.PHONY: update @@ -0,0 +1,7 @@ +The following directories have the own source control: + rotd/config + libcontacts/contacts + +Configurations that are not tied to any package in particular +are stored in filesystem/ if they are related to the filesystem +and in base/ otherwise. diff --git a/asroot/Makefile b/asroot/Makefile new file mode 100644 index 0000000..1069f68 --- /dev/null +++ b/asroot/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/bash/aliases.d + test ! -d ~/.config/bash/aliases.d/asroot + ln -sf -- ~/.dotfiles/asroot/bash-aliases ~/.config/bash/aliases.d/asroot + +uninstall: + -unlink -- ~/.config/bash/aliases.d/asroot + -rmdir -- ~/.config/bash/aliases.d + +.PHONY: install uninstall diff --git a/asroot/bash-aliases b/asroot/bash-aliases new file mode 100644 index 0000000..6b20486 --- /dev/null +++ b/asroot/bash-aliases @@ -0,0 +1,4 @@ +# -*- shell-script -*- + +#DESCRIPTION: Run a command under `asroot` +alias _="asroot" diff --git a/atril/Makefile b/atril/Makefile new file mode 100644 index 0000000..cab4117 --- /dev/null +++ b/atril/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/atril + test ! -d ~/.config/atril/atril_toolbar.xml + ln -sf -- ~/.dotfiles/atril/atril_toolbar.xml ~/.config/atril/atril_toolbar.xml + +uninstall: + -unlink -- ~/.config/atril/atril_toolbar.xml + -rm -rf -- ~/.config/atril + +.PHONY: install uninstall diff --git a/atril/atril_toolbar.xml b/atril/atril_toolbar.xml new file mode 100644 index 0000000..1b5c719 --- /dev/null +++ b/atril/atril_toolbar.xml @@ -0,0 +1,29 @@ +<?xml version="1.0"?> +<toolbars version="1.0"> + <toolbar name="DefaultToolBar" hidden="false" editable="true"> + <toolitem name="GoPreviousPage"/> + <toolitem name="GoNextPage"/> + <separator/> + <toolitem name="PageSelector"/> + <separator/> + <toolitem name="ViewZoom"/> + <separator/> + <toolitem name="EditRotateLeft"/> + <toolitem name="EditRotateRight"/> + <separator/> + <toolitem name="ViewBestFit"/> + <toolitem name="ViewPageWidth"/> + <toolitem name="ViewZoomOut"/> + <toolitem name="ViewZoomIn"/> + <separator/> + <toolitem name="ViewInvertedColors"/> + <toolitem name="ViewPresentation"/> + <separator/> + <toolitem name="GoFirstPage"/> + <toolitem name="GoLastPage"/> + <separator/> + <toolitem name="ViewContinuous"/> + <toolitem name="ViewDual"/> + <toolitem name="ViewReload"/> + </toolbar> +</toolbars> diff --git a/audacity/Makefile b/audacity/Makefile new file mode 100644 index 0000000..ea262e6 --- /dev/null +++ b/audacity/Makefile @@ -0,0 +1,18 @@ +.POSIX: + +# Audacity heavily edits audacity.cfg so we make copy it instead of linking it + +install: + mkdir -p -- ~/.var/lib/audacity + mkdir -p -- ~/.config/profile.d + test ! -d ~/.config/profile.d/audacity + ln -sf -- ~/.dotfiles/audacity/user-profile ~/.config/profile.d/audacity + cp -- audacity.cfg ~/.var/lib/audacity/ + +uninstall: + -unlink -- ~/.config/profile.d/audacity + -rmdir -- ~/.config/profile.d + -rm -rf -- ~/.var/lib/audacity + -rm -rf -- /var/tmp/"audacity-$$(whoami)" + +.PHONY: install uninstall diff --git a/audacity/audacity.cfg b/audacity/audacity.cfg new file mode 100644 index 0000000..5c2b45e --- /dev/null +++ b/audacity/audacity.cfg @@ -0,0 +1,3 @@ +[GUI] +Theme=dark +ShowExtraMenus=1 diff --git a/audacity/user-profile b/audacity/user-profile new file mode 100644 index 0000000..99162c5 --- /dev/null +++ b/audacity/user-profile @@ -0,0 +1,3 @@ +# -*- shell-script -*- + +export AUDACITY_PATH=~/.var/lib/audacity diff --git a/base/Makefile b/base/Makefile new file mode 100644 index 0000000..8006e1f --- /dev/null +++ b/base/Makefile @@ -0,0 +1,25 @@ +.POSIX: + +FACE = penguin.png + +install: + mkdir -p -- ~/.config + test ! -d ~/.profile + test ! -d ~/.config/profile + test ! -d ~/.config/user-dirs.locale + test ! -d ~/.config/face + test ! -d ~/.face + test ! -d ~/.face.icon + ln -sf -- .config/profile ~/.profile + ln -sf -- ~/.dotfiles/base/profile ~/.config/profile + ln -sf -- ~/.dotfiles/base/user-dirs.locale ~/.config/ + ln -sf -- ~/.dotfiles/base/faces/$(FACE) ~/.config/face + ln -sf -- .face ~/.face.icon + ln -sf -- .config/face ~/.face + +uninstall: + -unlink -- ~/.config/profile + -unlink -- ~/.config/user-dirs.locale + -unlink -- ~/.profile + +.PHONY: install uninstall diff --git a/base/faces/gnu-wink.svg b/base/faces/gnu-wink.svg new file mode 100644 index 0000000..f9939e4 --- /dev/null +++ b/base/faces/gnu-wink.svg @@ -0,0 +1,217 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" + "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> +<svg version="1.0" xmlns="http://www.w3.org/2000/svg" + width="701.000000pt" height="715.000000pt" viewBox="0 0 701.000000 715.000000" + preserveAspectRatio="xMidYMid meet"> +<metadata> +Created by potrace 1.12, written by Peter Selinger 2001-2015 +</metadata> +<g transform="translate(0.000000,715.000000) scale(0.100000,-0.100000)" +fill="#000000" stroke="none"> +<path d="M1425 7139 c-203 -21 -393 -76 -580 -168 -344 -169 -534 -359 -695 +-693 -67 -140 -91 -210 -122 -353 -19 -87 -22 -130 -22 -330 0 -293 21 -458 +81 -650 65 -207 228 -461 418 -650 169 -170 356 -265 605 -311 52 -10 101 -22 +108 -27 8 -6 12 -37 12 -91 0 -93 -16 -136 -75 -206 -47 -55 -60 -88 -69 -164 +-9 -78 -32 -113 -114 -171 -104 -74 -152 -157 -152 -265 0 -90 55 -113 152 +-64 55 28 103 32 209 19 78 -9 111 4 155 62 39 52 63 70 105 81 l36 9 -5 -252 +c-8 -408 24 -608 140 -885 141 -333 376 -617 759 -915 51 -40 29 -13 -108 130 +-285 300 -385 430 -493 645 -77 154 -140 359 -177 575 -15 92 -18 159 -16 412 +1 190 5 309 12 321 7 13 26 23 53 27 81 14 193 55 272 100 44 25 83 42 86 38 +16 -18 50 -285 50 -385 0 -129 8 -154 52 -166 41 -10 53 -41 68 -183 6 -57 15 +-120 21 -141 9 -36 10 -36 72 -43 87 -10 103 -23 112 -87 10 -73 34 -98 96 +-98 26 0 50 -4 53 -9 6 -9 -19 -62 -52 -108 -33 -47 -37 -97 -13 -193 17 -65 +20 -100 15 -151 -6 -59 -3 -74 19 -123 29 -63 65 -90 133 -100 71 -9 84 -20 +84 -71 0 -51 16 -65 74 -65 44 0 113 -26 120 -47 8 -19 -8 -48 -56 -103 -58 +-66 -72 -105 -57 -154 20 -60 100 -139 237 -234 131 -91 162 -121 162 -156 0 +-28 -52 -77 -113 -106 -69 -32 -97 -102 -66 -163 20 -37 78 -105 111 -128 l31 +-23 -27 45 c-48 78 -59 106 -52 132 8 34 32 57 60 57 45 0 130 53 153 95 34 +61 29 98 -27 213 -27 56 -47 102 -43 102 3 0 29 -20 58 -44 35 -30 65 -69 90 +-117 22 -42 61 -95 95 -128 l57 -57 -58 -88 c-98 -148 -97 -228 5 -324 30 -29 +57 -52 59 -52 3 0 -11 31 -30 69 -39 75 -39 98 -2 145 11 14 33 33 49 41 l27 +14 -4 -43 c-7 -60 14 -95 121 -201 127 -127 209 -170 306 -163 l45 3 -57 27 +c-45 21 -61 35 -78 68 -12 23 -19 44 -16 47 2 3 20 -7 38 -21 77 -58 185 -90 +378 -110 l55 -6 -77 41 c-42 22 -84 52 -93 66 -18 27 -37 83 -28 83 3 0 43 +-24 88 -54 101 -66 154 -85 254 -93 86 -6 165 6 231 36 l45 20 -75 -5 c-41 -3 +-92 -2 -113 3 l-38 8 63 42 c77 51 178 149 224 217 19 28 34 54 34 58 0 4 -21 +-9 -48 -29 -44 -34 -170 -98 -178 -91 -1 2 13 23 32 47 18 24 34 47 34 52 0 4 +3 14 6 23 5 14 2 14 -26 5 -52 -19 -133 -6 -181 27 -54 37 -126 128 -141 176 +-14 47 -9 53 104 129 139 94 171 141 172 249 0 55 -6 78 -42 156 -23 50 -42 +97 -42 105 0 16 51 104 79 136 22 26 131 53 210 53 84 0 154 18 178 45 25 29 +53 118 53 170 0 47 -37 171 -58 191 -8 9 -39 33 -68 55 l-52 38 19 50 c10 28 +26 79 35 114 l16 64 56 2 c84 2 184 45 251 107 53 49 55 52 59 112 4 55 2 66 +-22 96 -14 19 -46 49 -71 67 -24 17 -56 49 -69 70 l-25 38 67 47 c37 27 108 +89 159 139 86 85 92 94 113 164 20 64 22 88 17 180 -9 150 -35 230 -90 275 +-69 56 -100 66 -161 50 -28 -8 -78 -17 -111 -20 -56 -6 -63 -4 -93 21 -36 30 +-49 68 -62 184 -5 43 -18 103 -29 135 -14 41 -16 56 -7 56 7 0 68 -36 135 -80 +154 -101 204 -126 285 -145 35 -8 104 -34 152 -57 l88 -43 170 -4 c110 -2 188 +1 223 9 88 19 153 91 153 168 0 43 -28 62 -88 62 -52 0 -71 10 -94 53 -12 22 +-39 149 -33 155 1 2 53 16 114 32 317 83 514 246 727 600 170 282 225 514 211 +885 -16 408 -98 676 -283 926 -213 288 -444 451 -780 548 -189 55 -526 69 +-717 30 -135 -27 -204 -58 -372 -164 -140 -89 -216 -125 -258 -125 -20 1 -57 +13 -109 35 -23 9 -23 -13 0 -80 26 -74 68 -121 142 -158 l65 -32 210 0 c177 1 +227 4 320 23 196 40 328 25 511 -58 210 -95 395 -311 472 -550 32 -98 42 -172 +42 -299 0 -226 -48 -386 -147 -492 -95 -101 -179 -118 -297 -60 -105 52 -189 +139 -384 401 -332 446 -445 562 -637 656 -151 74 -236 94 -395 94 -147 0 -197 +-12 -316 -75 -94 -49 -169 -103 -261 -186 -36 -32 -69 -59 -75 -59 -12 0 -44 +21 -183 125 -212 159 -346 205 -589 205 -310 0 -502 -77 -711 -285 -49 -49 +-202 -216 -339 -370 -376 -423 -446 -489 -569 -545 -130 -59 -284 7 -392 170 +-79 119 -88 157 -89 370 -1 194 1 207 54 340 35 89 128 253 180 317 153 189 +506 345 785 346 72 1 139 -7 240 -27 111 -23 167 -28 270 -28 324 0 469 80 +492 270 l6 51 -59 -24 c-40 -17 -79 -25 -119 -25 -72 0 -121 21 -313 138 -142 +86 -207 115 -311 137 -152 31 -473 43 -656 24z m595 -79 c107 -19 207 -57 319 +-123 58 -33 144 -82 191 -106 80 -43 89 -45 165 -45 45 0 90 5 103 12 56 32 +-13 -68 -72 -103 -86 -50 -137 -60 -316 -59 -134 0 -184 5 -265 23 -200 45 +-378 38 -600 -25 -179 -50 -367 -164 -476 -289 -105 -119 -228 -358 -263 -513 +-21 -94 -22 -354 -1 -435 26 -101 82 -196 159 -273 96 -96 162 -127 267 -126 +88 2 135 16 216 63 91 55 152 117 473 484 340 389 436 488 542 558 136 89 250 +118 478 120 134 1 166 -2 238 -22 162 -46 303 -133 454 -282 l78 -77 59 5 c80 +8 100 1 160 -53 72 -65 91 -106 91 -198 0 -92 11 -117 61 -145 21 -12 45 -31 +53 -42 12 -18 14 -18 20 -3 4 11 -7 28 -36 55 l-43 39 0 108 c0 90 -4 113 -22 +147 -26 49 -81 102 -148 145 -42 26 -45 30 -20 24 118 -27 331 -154 401 -241 +45 -55 72 -139 61 -185 -12 -48 -70 -118 -143 -173 -122 -92 -136 -165 -45 +-231 27 -19 51 -43 54 -55 9 -32 -13 -78 -44 -94 -42 -22 -56 -18 -31 8 14 15 +22 36 22 58 0 64 -82 128 -225 174 -152 50 -224 109 -249 208 -33 124 -37 273 +-10 372 4 15 -1 13 -20 -9 l-25 -30 -96 90 c-167 155 -249 202 -398 225 -168 +26 -356 -5 -522 -88 -186 -93 -321 -208 -528 -448 -314 -364 -399 -439 -642 +-570 -60 -32 -113 -71 -160 -116 l-70 -68 -55 65 c-52 61 -57 65 -90 60 -19 +-3 -60 -8 -91 -11 l-56 -6 -13 73 c-20 116 -19 114 -106 134 l-77 18 6 72 c4 +39 9 96 13 126 l6 54 -56 34 c-31 19 -56 38 -56 44 0 5 19 41 41 80 l41 71 +-45 85 -46 85 60 96 59 97 -22 92 -23 93 45 36 c95 78 89 68 100 170 5 52 14 +98 21 102 7 4 49 20 95 35 l83 28 37 88 38 88 107 0 107 0 49 61 50 60 150 3 +149 3 49 33 c54 37 38 39 142 -21 l42 -24 78 38 78 38 144 -50 c79 -28 146 +-49 148 -47 2 2 -38 37 -90 78 l-94 75 -89 12 c-49 6 -133 21 -187 33 l-98 22 +-111 -33 -110 -32 -98 22 -97 22 -95 -51 -94 -51 -100 5 -99 6 -45 -78 c-51 +-87 -40 -81 -192 -99 l-57 -6 -52 -88 c-48 -83 -56 -90 -115 -119 -35 -18 -64 +-36 -64 -42 0 -6 -7 -56 -15 -113 l-15 -102 -56 -51 -55 -51 25 -99 25 -99 +-51 -60 c-29 -33 -58 -68 -66 -77 -12 -15 -7 -26 47 -97 l61 -79 -65 -52 -65 +-52 67 -55 c111 -90 110 -73 13 -162 l-85 -79 90 -27 c50 -14 96 -28 103 -31 +9 -2 -8 -32 -52 -89 -36 -46 -62 -86 -58 -89 4 -2 35 -8 69 -11 33 -4 66 -11 +72 -15 8 -5 -4 -34 -39 -94 -27 -48 -50 -89 -50 -91 0 -3 41 -6 90 -7 l90 -3 +-46 -69 -46 -69 58 7 c33 4 78 9 102 13 26 3 42 1 42 -5 0 -6 -9 -48 -20 -94 +-11 -46 -20 -87 -20 -91 0 -5 34 19 75 53 49 40 77 57 79 48 3 -7 14 -60 27 +-118 12 -58 23 -106 24 -108 2 -2 25 33 51 77 27 45 51 81 54 81 3 0 14 -30 +24 -67 9 -38 22 -85 27 -106 l10 -38 62 77 62 78 5 -109 5 -108 64 91 c35 51 +66 91 68 89 2 -2 -13 -79 -34 -171 -32 -143 -40 -166 -56 -166 -36 0 -213 40 +-282 63 -178 61 -298 140 -441 290 -224 235 -360 500 -417 812 -19 103 -22 +156 -22 380 0 252 1 263 28 366 101 389 328 692 677 905 206 125 367 180 635 +218 60 8 552 -2 615 -14z m3783 -40 c196 -33 346 -91 484 -187 118 -82 324 +-292 404 -412 186 -278 242 -486 242 -886 -1 -345 -28 -478 -144 -705 -204 +-401 -442 -616 -747 -676 -42 -8 -87 -17 -98 -19 -18 -4 -26 5 -47 53 -21 47 +-73 270 -64 278 1 1 29 -40 61 -92 32 -52 61 -94 64 -94 3 0 2 47 -2 105 -4 +58 -4 105 -2 105 3 0 27 -28 53 -63 26 -35 52 -64 58 -66 5 -1 15 24 22 56 8 +32 18 76 24 98 l11 39 46 -84 46 -85 23 114 c13 63 24 116 26 117 1 2 30 -21 +64 -51 34 -30 63 -55 66 -55 2 0 -5 40 -16 90 -11 49 -18 92 -16 94 2 2 35 -1 +72 -6 101 -14 103 -12 63 52 -20 30 -36 58 -36 63 0 4 34 7 75 7 41 0 75 3 75 +8 0 4 -20 44 -44 89 -28 54 -39 84 -31 87 7 2 38 7 69 11 67 9 67 8 1 99 -25 +35 -45 68 -45 74 0 5 36 20 80 33 44 12 80 27 80 32 0 5 -31 41 -69 81 l-70 +71 70 59 c38 33 69 63 69 67 0 4 -22 27 -50 50 -27 23 -50 46 -50 51 0 5 22 +41 50 80 30 43 47 75 42 82 -5 6 -30 37 -55 69 -26 33 -47 66 -47 75 1 10 9 +53 20 97 l19 80 -49 50 -49 50 -13 105 -13 104 -56 33 c-48 29 -62 44 -102 +117 l-47 84 -67 7 c-107 10 -105 10 -148 91 l-40 76 -86 -7 -86 -6 -83 49 -84 +49 -70 -18 c-94 -25 -108 -24 -209 10 l-86 29 -71 -18 c-40 -10 -104 -24 -144 +-30 -39 -6 -81 -13 -93 -16 -19 -4 -204 -154 -190 -154 3 0 64 23 137 50 l131 +51 68 -37 67 -37 59 37 58 38 46 -33 c46 -32 47 -32 175 -34 l129 -2 41 -56 +41 -56 95 -3 95 -3 33 -81 34 -82 83 -32 82 -32 7 -60 c3 -34 6 -75 6 -93 0 +-27 9 -40 59 -81 33 -27 60 -56 60 -64 0 -8 -8 -49 -18 -91 l-18 -77 49 -86 +c26 -47 48 -92 48 -101 0 -8 -16 -48 -36 -88 l-37 -74 37 -65 c20 -36 36 -69 +36 -74 0 -5 -23 -25 -51 -43 -39 -27 -49 -40 -45 -55 2 -12 8 -65 11 -118 6 +-78 5 -99 -6 -102 -8 -3 -39 -12 -70 -20 -54 -15 -57 -18 -64 -53 -3 -21 -11 +-60 -17 -87 l-10 -48 -78 6 -78 7 -44 -55 c-23 -30 -47 -55 -51 -55 -4 -1 -32 +25 -61 57 -42 45 -76 68 -158 109 -157 78 -287 208 -523 522 -179 239 -279 +332 -470 439 -153 85 -291 117 -406 93 -60 -12 -199 -62 -199 -72 0 -3 36 -29 +79 -57 98 -64 211 -172 241 -232 18 -34 24 -62 24 -115 1 -76 -12 -109 -65 +-170 l-31 -35 95 0 c52 0 108 -3 125 -6 33 -7 31 -3 73 -194 10 -48 20 -63 81 +-123 82 -81 106 -128 114 -229 8 -86 -3 -127 -46 -187 l-30 -41 -83 1 c-65 0 +-101 -5 -159 -25 -41 -14 -78 -26 -83 -26 -4 0 -5 26 -2 57 5 44 11 61 31 77 +14 12 33 41 41 66 19 54 27 60 91 60 36 0 59 -6 77 -20 33 -26 41 -25 22 3 +-21 33 -57 47 -115 47 -28 0 -50 5 -50 10 0 21 29 66 64 99 52 50 49 99 -8 +120 -34 14 -91 0 -129 -29 -34 -27 -83 -126 -98 -198 -14 -71 -7 -279 13 -342 +8 -25 54 -99 103 -165 156 -211 234 -336 321 -513 76 -156 92 -181 153 -241 +43 -44 84 -74 114 -86 43 -16 50 -16 114 -1 113 28 116 28 162 4 72 -37 86 +-76 86 -233 0 -117 -3 -135 -25 -180 -13 -27 -57 -82 -96 -122 -109 -109 -232 +-184 -419 -254 l-100 -38 50 0 c45 -1 134 10 207 25 22 4 31 -1 58 -40 17 -25 +55 -61 84 -80 87 -55 97 -125 26 -174 -55 -37 -103 -43 -334 -46 -213 -2 -225 +-3 -346 -34 -244 -63 -351 -73 -511 -46 -122 20 -187 50 -254 118 -59 59 -185 +246 -286 425 -35 63 -82 134 -105 159 -39 44 -43 46 -105 49 l-64 3 47 -16 +c25 -9 60 -31 77 -48 18 -18 78 -123 135 -234 l103 -200 6 -124 c12 -214 42 +-337 123 -498 44 -89 77 -118 150 -132 95 -17 195 7 379 92 166 77 346 130 +439 130 58 0 158 -26 261 -67 53 -22 71 -34 76 -53 23 -81 -6 -261 -44 -282 +-13 -6 -58 -9 -121 -5 -192 9 -561 -31 -821 -89 -169 -38 -236 -41 -325 -14 +-134 40 -220 112 -259 214 -45 121 -50 261 -17 481 30 196 39 307 32 403 -7 +100 -28 227 -39 239 -13 13 -14 -3 -5 -77 13 -96 3 -409 -17 -570 -52 -419 +-53 -465 -10 -558 29 -63 96 -136 150 -165 37 -20 55 -22 235 -23 254 -1 238 +1 300 -39 69 -44 98 -44 186 0 46 23 82 35 109 34 52 -1 121 -22 118 -37 -2 +-6 -4 -35 -5 -65 -2 -49 2 -61 42 -121 35 -54 44 -79 48 -124 6 -70 -10 -99 +-92 -171 l-61 -53 -3 28 c-6 57 -12 58 -43 10 -34 -50 -129 -126 -115 -90 48 +116 57 191 34 269 l-12 40 -6 -65 c-12 -123 -73 -197 -232 -280 -202 -106 +-246 -185 -178 -320 17 -33 26 -60 20 -60 -6 0 -35 24 -64 53 -65 63 -86 121 +-86 239 l0 77 -53 25 c-69 33 -155 98 -189 142 -34 45 -53 130 -40 177 6 19 +21 52 36 73 14 21 24 40 22 42 -2 2 -19 -4 -36 -13 -45 -23 -115 -23 -141 1 +-19 17 -20 25 -14 129 l7 110 -49 -52 c-26 -29 -70 -63 -98 -76 -97 -48 -112 +-86 -91 -230 l8 -58 -45 31 c-61 41 -107 95 -107 126 0 13 14 52 31 86 40 79 +49 160 24 209 -53 101 -111 146 -218 166 -94 17 -167 52 -189 91 -22 39 -38 +163 -34 262 3 88 13 113 82 209 26 37 30 67 13 104 -8 18 -24 26 -72 36 -99 +20 -104 23 -109 76 -7 60 -52 119 -94 123 -83 7 -95 13 -110 47 -9 21 -14 70 +-14 127 0 121 -5 135 -51 158 -55 29 -61 45 -53 162 5 79 3 117 -10 164 -10 +38 -16 102 -16 167 l0 104 89 76 c91 77 141 136 227 266 40 60 50 70 56 55 4 +-11 21 -56 38 -101 29 -77 70 -147 133 -224 22 -28 18 -14 -23 73 -84 176 -98 +299 -60 523 12 66 23 181 25 255 5 144 0 140 -30 -25 -65 -355 -268 -670 -559 +-869 -129 -88 -233 -132 -426 -177 -152 -37 -210 -62 -278 -122 -80 -71 -107 +-82 -163 -68 -56 15 -102 5 -193 -41 l-59 -30 5 52 c5 45 11 58 54 101 27 28 +74 66 105 85 62 37 70 51 94 158 20 90 45 142 90 191 50 54 55 71 55 188 0 +112 21 201 95 407 152 424 308 669 510 802 196 129 304 176 445 190 61 6 154 +25 222 45 231 67 314 76 454 47 108 -23 212 -7 325 47 84 41 157 64 225 72 +l41 5 17 -61 c17 -59 44 -109 76 -135 49 -42 126 -83 191 -103 151 -45 219 +-87 219 -134 0 -30 -30 -55 -75 -62 -38 -6 -38 -6 -17 -24 50 -40 158 -31 204 +18 16 17 23 39 26 81 l4 59 -51 36 c-54 39 -70 72 -52 106 6 11 48 51 94 89 +171 143 200 202 162 330 -36 119 -264 298 -457 358 l-57 17 75 59 c92 72 182 +122 254 139 82 19 268 14 365 -10 166 -43 312 -140 455 -303 45 -51 167 -205 +270 -343 315 -418 456 -539 608 -521 157 19 269 136 333 351 27 89 36 303 20 +430 -22 164 -89 337 -178 462 -87 123 -263 261 -403 317 -158 63 -313 74 -515 +36 -70 -14 -172 -23 -281 -27 -146 -5 -178 -3 -224 12 -51 17 -121 70 -140 +105 -8 15 -3 17 43 17 67 1 106 19 300 136 169 103 281 148 415 167 98 13 374 +3 505 -20z m-908 -1746 c146 -30 260 -95 359 -202 54 -59 202 -265 231 -323 +13 -25 36 -88 51 -140 14 -52 40 -121 56 -154 40 -80 148 -235 219 -315 65 +-74 74 -93 84 -176 14 -118 68 -184 154 -184 48 0 50 -8 16 -49 -45 -53 -92 +-63 -271 -59 -158 3 -159 4 -224 37 -35 18 -102 44 -148 58 -116 33 -180 63 +-275 129 -44 30 -114 74 -153 95 l-73 40 -30 92 -31 91 32 33 32 33 -29 0 +c-17 0 -61 -15 -100 -34 -38 -19 -89 -37 -112 -41 -39 -6 -43 -5 -58 24 l-16 +31 51 0 c95 0 138 46 128 135 -5 39 -3 45 13 45 10 0 36 -18 59 -41 50 -51 66 +-47 63 15 -4 62 -24 99 -70 127 -21 12 -40 24 -42 26 -2 1 14 22 37 47 34 36 +41 53 47 100 10 74 -2 180 -25 233 -10 23 -48 73 -84 111 -71 77 -97 135 -77 +179 13 28 70 65 91 59 8 -3 51 -12 95 -22z m-40 -1206 c16 -57 39 -134 52 +-172 14 -43 23 -93 23 -130 l0 -61 -58 110 c-32 61 -86 154 -120 207 -34 54 +-62 100 -62 103 0 3 10 5 23 5 12 0 38 8 57 19 19 10 40 19 46 20 6 0 23 -45 +39 -101z m-1131 -1745 c102 -110 210 -152 416 -160 115 -5 136 -3 265 27 165 +37 257 45 426 35 l124 -7 -33 -67 c-18 -37 -36 -85 -39 -107 l-5 -39 -139 3 +c-166 4 -239 -11 -399 -83 -223 -100 -270 -115 -372 -115 -68 0 -104 5 -133 +19 -47 21 -112 89 -121 128 -4 15 -15 41 -25 58 -30 50 -62 203 -68 323 l-6 +113 30 -38 c16 -21 52 -61 79 -90z"/> +<path d="M3043 5183 c-35 -44 -86 -73 -126 -73 -25 0 -51 -18 -59 -42 -3 -7 +-31 -12 -76 -14 -50 -2 -79 -8 -95 -20 -36 -27 -104 -125 -111 -161 -5 -22 +-18 -38 -42 -52 -20 -12 -41 -36 -50 -58 -37 -87 -50 -106 -98 -140 -78 -56 +-77 -58 3 -18 41 20 100 61 130 90 31 29 75 62 99 74 33 17 42 27 42 47 0 31 +44 119 75 150 15 15 36 24 56 24 28 0 31 -3 25 -22 -3 -13 -6 -60 -6 -105 0 +-74 -3 -84 -27 -114 l-27 -32 25 8 c179 52 307 245 297 443 l-3 56 -32 -41z"/> +<path d="M3525 5073 c9 -47 19 -60 63 -79 20 -8 42 -23 49 -34 10 -14 26 -20 +54 -20 l40 0 54 -112 c29 -62 58 -137 64 -165 6 -32 32 -88 66 -143 65 -104 +83 -121 56 -53 -10 26 -27 84 -36 128 -20 90 -34 122 -65 148 -27 23 -78 132 +-115 247 -33 101 -38 109 -63 87 -26 -23 -58 -21 -121 8 l-53 25 7 -37z"/> +<path d="M3004 4614 c-11 -43 2 -112 29 -153 33 -50 132 -115 216 -142 53 -18 +98 -23 226 -26 150 -4 202 3 182 23 -4 4 -83 11 -175 15 -172 7 -198 11 -270 +48 -80 41 -150 136 -168 229 -7 38 -31 42 -40 6z"/> +<path d="M3878 3689 c-61 -14 -161 -64 -192 -95 -43 -44 -67 -99 -73 -172 -7 +-89 22 -168 85 -232 26 -27 41 -37 37 -25 -4 11 -10 42 -13 70 -5 45 -4 49 11 +36 27 -22 45 -6 52 46 9 68 20 90 57 113 41 25 83 25 131 1 20 -10 37 -15 37 +-11 0 17 -46 63 -76 76 -73 31 -151 11 -202 -52 -17 -21 -34 -35 -38 -31 -13 +12 7 74 36 114 54 73 175 111 317 99 97 -9 123 -19 223 -86 47 -32 121 -77 +164 -101 44 -23 116 -71 160 -104 120 -91 159 -109 217 -95 l34 7 -42 8 c-48 +8 -69 22 -179 118 -44 38 -119 94 -169 124 -49 31 -118 76 -153 101 -77 55 +-135 77 -236 91 -89 13 -136 13 -188 0z"/> +<path d="M3975 3315 c-22 -8 -41 -15 -42 -15 -1 0 -7 -16 -13 -35 -16 -49 -5 +-89 36 -125 37 -32 95 -41 134 -20 23 12 34 55 20 80 -9 17 -8 20 10 20 58 0 +179 -100 222 -183 12 -23 32 -71 45 -107 l23 -65 -6 74 c-21 262 -232 447 +-429 376z"/> +</g> +</svg> diff --git a/base/faces/penguin.png b/base/faces/penguin.png Binary files differnew file mode 100644 index 0000000..10be782 --- /dev/null +++ b/base/faces/penguin.png diff --git a/base/profile b/base/profile new file mode 100644 index 0000000..4410d8e --- /dev/null +++ b/base/profile @@ -0,0 +1,43 @@ +# -*- shell-script -*- + +export LOCALE="en_GB.UTF-8" +export LC_ALL="en_GB.UTF-8" +export LANG="en_GB.UTF-8" + +export MAIN_ALSA_CARD=0 +export MAIN_ALSA_MIXER=PCM + +if test -z "${XDG_RUNTIME_DIR}"; then + export XDG_RUNTIME_DIR='/tmp/.~'"$(whoami)" +fi +mkdir -p -- "${XDG_RUNTIME_DIR}" + +if test -x ~/.local/bin/e; then + export EDITOR=~/.local/bin/e +elif test -x /usr/bin/emacs; then + export EDITOR="emacs -nw" +elif test -x /usr/bin/vis; then + export EDITOR="vis" +elif test -x /usr/bin/nano; then + export EDITOR="nano" +elif test -x /usr/bin/vim; then + export EDITOR="vim" +elif test -x /usr/bin/vi; then + export EDITOR="vi" +fi +export VISUAL="${EDITOR}" + +for __script in ~/.config/profile.d/*; do + if test -r "${__script}"; then + . "${__script}" + fi +done +unset __script + +if test -r ~/.config/"profile-$(hostname)"; then + . ~/.config/"profile-$(hostname)" +fi + +if test -r ~/work/.config/profile; then + . ~/work/.config/profile +fi diff --git a/base/user-dirs.locale b/base/user-dirs.locale new file mode 100644 index 0000000..daa2955 --- /dev/null +++ b/base/user-dirs.locale @@ -0,0 +1 @@ +en_GB diff --git a/bash-completion/Makefile b/bash-completion/Makefile new file mode 100644 index 0000000..7d9fcc9 --- /dev/null +++ b/bash-completion/Makefile @@ -0,0 +1,17 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/bash/aliases.d + mkdir -p -- ~/.config/bash/bashrc.d + test ! -d ~/.config/bash/aliases.d/bash-completion + test ! -d ~/.config/bash/bashrc.d/bash-completion + ln -sf -- ~/.dotfiles/bash-completion/bash-aliases ~/.config/bash/aliases.d/bash-completion + ln -sf -- ~/.dotfiles/bash-completion/bash-bashrc ~/.config/bash/bashrc.d/bash-completion + +uninstall: + -unlink -- ~/.config/bash/aliases.d/bash-completion + -unlink -- ~/.config/bash/bashrc.d/bash-completion + -rmdir -- ~/.config/bash/aliases.d + -rmdir -- ~/.config/bash/bashrc.d + +.PHONY: install uninstall diff --git a/bash-completion/bash-aliases b/bash-completion/bash-aliases new file mode 100644 index 0000000..92aab19 --- /dev/null +++ b/bash-completion/bash-aliases @@ -0,0 +1,29 @@ +# -*- shell-script -*- + +# DESCRIPTION: reload autocompletion scripts and load new ones +# USAGE: recomplete + +recomplete () { + if test -f /etc/bash_completion && ! shopt -oq posix; then + . /etc/bash_completion + fi + if test -f /usr/share/bash-completion/bash_completion && ! shopt -oq posix; then + . /usr/share/bash-completion/bash_completion + fi + if test -d ~/.local/bash_completion.d ] && ! shopt -oq posix; then + for __completionscript in ~/.local/bash_completion.d/*; do + if test -r "${__completionscript}"; then + . "${__completionscript}" + fi + done + unset __completionscript + fi + if test -d ~/.local/share/bash_completion.d && ! shopt -oq posix; then + for __completionscript in ~/.local/share/bash_completion.d/*; do + if [ -r "${__completionscript}" ]; then + . "${__completionscript}" + fi + done + unset __completionscript + fi +} diff --git a/bash-completion/bash-bashrc b/bash-completion/bash-bashrc new file mode 100644 index 0000000..5222094 --- /dev/null +++ b/bash-completion/bash-bashrc @@ -0,0 +1,3 @@ +# -*- shell-script -*- + +recomplete diff --git a/bash/Makefile b/bash/Makefile new file mode 100644 index 0000000..7ea782a --- /dev/null +++ b/bash/Makefile @@ -0,0 +1,47 @@ +.POSIX: + +install: + mkdir -p -- ~/.var/cache + mkdir -p -- ~/.config/bash + touch -- ~/.var/cache/bash_history + test ! -d ~/.bash_history + test ! -d ~/.bash_logout + test ! -d ~/.bash_profile + test ! -d ~/.bashrc + test ! -d ~/.config/bash/logout + test ! -d ~/.config/bash/profile + test ! -d ~/.config/bash/bashrc + test ! -d ~/.config/bash/bashrc_palette + test ! -d ~/.config/bash/bashrc_prompt + test ! -d ~/.config/bash/aliases + test ! -d ~/.config/bash/aliases-Zenith + ln -sf -- .var/cache/bash_history ~/.bash_history + ln -sf -- .config/bash/logout ~/.bash_logout + ln -sf -- .config/bash/profile ~/.bash_profile + ln -sf -- .config/bash/bashrc ~/.bashrc + ln -sf -- ~/.dotfiles/bash/logout ~/.config/bash/logout + ln -sf -- ~/.dotfiles/bash/profile ~/.config/bash/profile + ln -sf -- ~/.dotfiles/bash/bashrc ~/.config/bash/bashrc + ln -sf -- ~/.dotfiles/bash/bashrc_palette ~/.config/bash/bashrc_palette + ln -sf -- ~/.dotfiles/bash/bashrc_prompt ~/.config/bash/bashrc_prompt + ln -sf -- ~/.dotfiles/bash/aliases ~/.config/bash/aliases + ln -sf -- ~/.dotfiles/bash/aliases-Zenith ~/.config/bash/aliases-Zenith + +uninstall: + -unlink -- ~/.bash_history + -unlink -- ~/.bash_logout + -unlink -- ~/.bash_profile + -unlink -- ~/.bashrc + -rm -f -- ~/.var/cache/bash_history + -unlink -- ~/.config/bash/logout + -unlink -- ~/.config/bash/profile + -unlink -- ~/.config/bash/bashrc + -unlink -- ~/.config/bash/bashrc_palette + -unlink -- ~/.config/bash/bashrc_prompt + -unlink -- ~/.config/bash/aliases + -unlink -- ~/.config/bash/aliases-Zenith + -rmdir -- ~/.config/bash/aliases.d + -rmdir -- ~/.config/bash/bashrc.d + -rmdir -- ~/.config/bash + +.PHONY: install uninstall diff --git a/bash/aliases b/bash/aliases new file mode 100644 index 0000000..140f958 --- /dev/null +++ b/bash/aliases @@ -0,0 +1,87 @@ +# -*- shell-script -*- + +# DESCRIPTION: Create directories and parents, if missing, and move into the first one +# USAGE: mkcd <directory> [<additional directories to create>] +mkcd () { + mkdir -p -- "$@" + cd -- "$1" +} + +# DESCRIPTION: Start bash in a temporary directory and destroy it after exiting the new bash instance +# USAGE: tmpsh +tmpsh () ( + local tmpdir + tmpdir="${XDG_RUNTIME_DIR}" + if test -z "$tmpdir"; then + tmpdir=/tmp + fi + tmpdir="$tmpdir/tmpsh-$$.d" + mkdir -p -- "$tmpdir" + cd -- "$tmpdir" + bash + cd / + rm -rf -- "$tmpdir" + test ! -e "$tmpdir" +) + +#DESCRIPTION: Reload the shell configurations +#USAGE: resh +resh () { + . ~/.bashrc +} + +#DESCRIPTION: Edit the shell configurations +#USAGE: edsh +edsh () { + if [ -z "$EDITOR" ]; then + echo 'No default editor is set, please configure the environment variable EDITOR' + else + $EDITOR ~/.bashrc + fi +} + +# DESCRIPTION: Run a command in a infinite loop with a sleep between executions +# USAGE: forever "<arguments for sleep>" <command> +forever () { + time="$1" + shift 1 + while true; do + "$@" + sleep $time + done +} + +#DESCRIPTION: ls with long listing, classification with appendix character, hidden files and the . and .. directories +alias ll='ls -alF' + +#DESCRIPTION: ls with hidden files +alias la='ls -A' + +#DESCRIPTION: ls with classification with appendix character +alias l='ls -CF' + +#DESCRIPTION: Go to the parent directory +alias ..="cd .." + + + +#libnotify +# DESCRIPTION: Add an "alert" alias for long running commands. Use like so: sleep 10; alert +alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history | tail -n1 | sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' + + + +for __script in ~/.config/bash/aliases.d/*; do + if test -r "${__script}"; then + . "${__script}" + fi +done +unset __script + +if test -r ~/.config/bash/"aliases-$(hostname)"; then + . ~/.config/bash/"aliases-$(hostname)" +fi + +if test -r ~/work/.config/bash/aliases; then + . ~/work/.config/bash/aliases +fi diff --git a/bash/aliases-Zenith b/bash/aliases-Zenith new file mode 100644 index 0000000..ac794c9 --- /dev/null +++ b/bash/aliases-Zenith @@ -0,0 +1,17 @@ +# -*- shell-script -*- + +mount-crypt () { + sudo printf '' && \ + device="$(sudo losetup --show -f -P /media/Secondary/.crypt/crypt.img)" && \ + printf '%s\n' "${device}" > "${XDG_RUNTIME_DIR}/CryptCrypt" && \ + gpg --decrypt /media/Secondary/.crypt/crypt.key | sudo cryptsetup -d - open "${device}" CryptCrypt && \ + mkdir -p ~/Crypt && \ + sudo mount /dev/mapper/CryptCrypt ~/Crypt +} + +umount-crypt () { + sudo umount ~/Crypt + rmdir ~/Crypt + sudo cryptsetup close CryptCrypt + sudo losetup --detach "$(cat -- "${XDG_RUNTIME_DIR}/CryptCrypt")" +} diff --git a/bash/bashrc b/bash/bashrc new file mode 100644 index 0000000..a500a9d --- /dev/null +++ b/bash/bashrc @@ -0,0 +1,64 @@ +# -*- shell-script -*- + +# If not running interactively, don't do anything +if [[ $- != *i* ]]; then + return +fi + + +# Don't put duplicate lines in the history. See bash(1) for more options +# ... or force ignoredups and ignorespace +HISTCONTROL=ignoredups:ignorespace +# Append to the history file, don't overwrite it +shopt -s histappend +# For setting history length see HISTSIZE and HISTFILESIZE in bash(1) +HISTSIZE=1000 +HISTFILESIZE=2000 + +# Check the window size after each command and, if necessary, update the values of LINES and COLUMNS. +shopt -s checkwinsize + + +set -o physical +alias cd='cd -L' + + + +if test -r ~/.config/bash/aliases; then + . ~/.config/bash/aliases +fi + +if test -r /etc/bash_opt; then + . /etc/bash_opt +fi + +~/.config/bash/bashrc_palette +~/.config/bash/bashrc_prompt + +for __script in ~/.config/bash/bashrc.d/*; do + if test -r "${__script}"; then + . "${__script}" + fi +done +unset __script + +if test -r ~/.config/bash/"bashrc-$(hostname)"; then + . ~/.config/bash/"bashrc-$(hostname)" +fi + +if test -r ~/work/.config/bash/bashrc; then + . ~/work/.config/bash/bashrc +fi + + + +if test "$TERM" = linux; then + printf '\e[?8c' + if test -n "$PALETTE"; then + printf "$PALETTE"'\e[H\e[2J' + fi + palette-set `blackNcsColours` +elif test "$TERM" = xterm; then + export TERM=xterm-256color +fi +featherweight-off diff --git a/bash/bashrc_palette b/bash/bashrc_palette new file mode 100644 index 0000000..8a4405a --- /dev/null +++ b/bash/bashrc_palette @@ -0,0 +1,89 @@ +# DESCRIPTION: Palettes for the terminal + +# DESCRIPTION: Restore to the last selected palette +# USAGE: palette-reset + +# DESCRIPTION: Store the last selected palette has that on set by <command> +# USAGE: palette-set <command> + +# DESCRIPTION: The last choosen palette +# VARIABLE: $PALETTE + +# Commands for setting the palette: +# linuxColours The standard Linux VT palette +# tangoColours The Tango palette +# tangoidColours The Tango palette, but with black background +# cobaltColours The Cobalt palette +# yellowColours A palette with yellow background +# redColours A palette with red background +# ncsColours A palette based on NCS S 2050 with blue background +# lightNcsColours A palette based on NCS S 2050 with lighter blue background +# blackNcsColours A palette based on NCS S 2050 with black background + + +__linux_c='\e]4;0;rgb:00/00/00\e\\\e]4;1;rgb:AA/00/00\e\\\e]4;2;rgb:00/AA/00\e\\\e]4;3;rgb:AA/55/00\e\\\e]4;4;rgb:00/00/AA\e\\\e]4;5;rgb:AA/00/AA\e\\\e]4;6;rgb:00/AA/AA\e\\\e]4;7;rgb:AA/AA/AA\e\\\e]4;8;rgb:55/55/55\e\\\e]4;9;rgb:FF/55/55\e\\\e]4;10;rgb:55/FF/55\e\\\e]4;11;rgb:FF/FF/55\e\\\e]4;12;rgb:55/55/FF\e\\\e]4;13;rgb:FF/55/FF\e\\\e]4;14;rgb:55/FF/FF\e\\\e]4;15;rgb:FF/FF/FF\e\\' + +__tango_c='\e]4;0;rgb:2E/34/36\e\\\e]4;1;rgb:CC/00/00\e\\\e]4;2;rgb:4E/9A/06\e\\\e]4;3;rgb:C4/A0/00\e\\\e]4;4;rgb:34/65/A4\e\\\e]4;5;rgb:75/50/7B\e\\\e]4;6;rgb:06/98/9A\e\\\e]4;7;rgb:D3/D7/CF\e\\\e]4;8;rgb:58/58/58\e\\\e]4;9;rgb:FF/55/55\e\\\e]4;10;rgb:55/FF/55\e\\\e]4;11;rgb:FF/FF/55\e\\\e]4;12;rgb:55/55/FF\e\\\e]4;13;rgb:FF/55/FF\e\\\e]4;14;rgb:55/FF/FF\e\\\e]4;15;rgb:FF/FF/FF\e\\' + +__tangoid_c='\e]4;0;rgb:00/00/00\e\\\e]4;1;rgb:CC/00/00\e\\\e]4;2;rgb:4E/9A/06\e\\\e]4;3;rgb:C4/A0/00\e\\\e]4;4;rgb:34/65/A4\e\\\e]4;5;rgb:75/50/7B\e\\\e]4;6;rgb:06/98/9A\e\\\e]4;7;rgb:D3/D7/CF\e\\\e]4;8;rgb:58/58/58\e\\\e]4;9;rgb:FF/55/55\e\\\e]4;10;rgb:55/FF/55\e\\\e]4;11;rgb:FF/FF/55\e\\\e]4;12;rgb:55/55/FF\e\\\e]4;13;rgb:FF/25/5FF\e\\\e]4;14;rgb:55/FF/FF\e\\\e]4;15;rgb:FF/FF/FF\e\\' + +__cobalt_c='\e]4;0;rgb:02/08/40\e\\\e]4;1;rgb:CC/00/00\e\\\e]4;2;rgb:4E/9A/06\e\\\e]4;3;rgb:C4/A0/00\e\\\e]4;4;rgb:34/657A4\e\\\e]4;5;rgb:75/50/7B\e\\\e]4;6;rgb:06/98/9A\e\\\e]4;7;rgb:D3/D7/CF\e\\\e]4;8;rgb:58/58/58\e\\\e]4;9;rgb:FF/55/55\e\\\e]4;10;rgb:55/FF/55\e\\\e]4;11;rgb:FF/FF/55\e\\\e]4;12;rgb:55/55/FF\e\\\e]4;13;rgb:FF/55/FF\e\\\e]4;14;rgb:55/FF/FF\e\\\e]4;15;rgb:FF/FF/FF\e\\' + +__yellow_c='\e]4;0;rgb:30/30/08\e\\\e]4;1;rgb:CC/00/00\e\\\e]4;2;rgb:4E/9A/06\e\\\e]4;3;rgb:C4/A0/00\e\\\e]4;4;rgb:34/65/A4\e\\\e]4;5;rgb:75/50/7B\e\\\e]4;6;rgb:06/98/9A\e\\\e]4;7;rgb:D3/D7/CF\e\\\e]4;8;rgb:58/58/58\e\\\e]4;9;rgb:FF/55/55\e\\\e]4;10;rgb:55/FF/55\e\\\e]4;11;rgb:FF/FF/55\e\\\e]4;12;rgb:55/55/FF\e\\\e]4;13;rgb:FF/55/FF\e\\\e]4;14;rgb:55/FF/FF\e\\\e]4;15;rgb:FF/FF/FF\e\\' + +__red_c='\e]4;0;rgb:30/00/00\e\\\e]4;1;rgb:CD/65/6C\e\\\e]4;2;rgb:32/A6/79\e\\\e]4;3;rgb:CC/AD/47\e\\\e]4;4;rgb:24/95/BE\e\\\e]4;5;rgb:A4/6E/B0\e\\\e]4;6;rgb:00/A0/9F\e\\\e]4;7;rgb:D3/D7/CF\e\\\e]4;8;rgb:55/57/53\e\\\e]4;9;rgb:EB/5E/6A\e\\\e]4;10;rgb:0E/C2/87\e\\\e]4;11;rgb:F2/CA/38\e\\\e]4;12;rgb:00/AC/E0\e\\\e]4;13;rgb:C4/73/D1\e\\\e]4;14;rgb:00/C3/C7\e\\\e]4;15;rgb:EE/EE/EE\e\\' + +__ncs_c='\e]4;0;rgb:02/08/40\e\\\e]4;1;rgb:CD/65/6C\e\\\e]4;2;rgb:32/A6/79\e\\\e]4;3;rgb:CC/AD/47\e\\\e]4;4;rgb:24/95/BE\e\\\e]4;5;rgb:A4/6E/B0\e\\\e]4;6;rgb:00/A0/9F\e\\\e]4;7;rgb:D3/D7/CF\e\\\e]4;8;rgb:55/57/53\e\\\e]4;9;rgb:EB/5E/6A\e\\\e]4;10;rgb:0E/C2/87\e\\\e]4;11;rgb:F2/CA/38\e\\\e]4;12;rgb:00/AC/E0\e\\\e]4;13;rgb:C4/73/D1\e\\\e]4;14;rgb:00/C3/C7\e\\\e]4;15;rgb:EE/EE/EE\e\\' + +__light_ncs_c='\e]4;0;rgb:0C/14/58\e\\\e]4;1;rgb:CD/65/6C\e\\\e]4;2;rgb:32/A6/79\e\\\e]4;3;rgb:CC/AD/47\e\\\e]4;4;rgb:24/95/BE\e\\\e]4;5;rgb:A4/6E/B0\e\\\e]4;6;rgb:00/A0/9F\e\\\e]4;7;rgb:D3/D7/CF\e\\\e]4;8;rgb:55/57/53\e\\\e]4;9;rgb:EB/5E/6A\e\\\e]4;10;rgb:0E/C2/87\e\\\e]4;11;rgb:F2/CA/38\e\\\e]4;12;rgb:00/AC/E0\e\\\e]4;13;rgb:C4/73/D1\e\\\e]4;14;rgb:00/C3/C7\e\\\e]4;15;rgb:EE/EE/EE\e\\' + +__black_ncs_c='\e]4;0;rgb:00/00/00\e\\\e]4;1;rgb:CD/65/6C\e\\\e]4;2;rgb:32/A6/79\e\\\e]4;3;rgb:CC/AD/47\e\\\e]4;4;rgb:24/95/BE\e\\\e]4;5;rgb:A4/6E/B0\e\\\e]4;6;rgb:00/A0/9F\e\\\e]4;7;rgb:D3/D7/CF\e\\\e]4;8;rgb:55/57/53\e\\\e]4;9;rgb:EB/5E/6A\e\\\e]4;10;rgb:0E/C2/87\e\\\e]4;11;rgb:F2/CA/38\e\\\e]4;12;rgb:00/AC/E0\e\\\e]4;13;rgb:C4/73/D1\e\\\e]4;14;rgb:00/C3/C7\e\\\e]4;15;rgb:EE/EE/EE\e\\' + + +if [ "$TERM" = "linux" ]; then + __c () { + sed -e 's:;10;:A:g' -e 's:;11;:B:g' -e 's:;12;:C:g' -e 's:;13;:D:g' -e 's:;14;:E:g' -e 's:;15;:F:g' | + sed -e 's:]4:]P:g' -e 's:;::g' -e 's:rgb::g' -e 's:/::g' -e 's/://g' -e 's:\\e\\\\::g' + } + __linux_c="$(__c <<<"${__linux_c}")" + __tango_c="$(__c <<<"${__tango_c}")" + __tangoid_c="$(__c <<<"${__tangoid_c}")" + __cobalt_c="$(__c <<<"${__cobalt_c}")" + __yellow_c="$(__c <<<"${__yellow_c}")" + __red_c="$(__c <<<"${__red_c}")" + __ncs_c="$(__c <<<"${__ncs_c}")" + __light_ncs_c="$(__c <<<"${__light_ncs_c}")" + __black_ncs_c="$(__c <<<"${__black_ncs_c}")" +fi + +alias linuxColours='echo -en "${__linux_c}"' +alias tangoColours='echo -en "${__tango_c}"' +alias tangoidColours='echo -en "${__tangoid_c}"' +alias cobaltColours='echo -en "${__cobalt_c}"' +alias yellowColours='echo -en "${__yellow_c}"' +alias redColours='echo -en "${__red_c}"' +alias ncsColours='echo -en "${__ncs_c}"' +alias lightNcsColours='echo -en "${__light_ncs_c}"' +alias blackNcsColours='echo -en "${__black_ncs_c}"' + +if [ "$USER" = 'root' ]; then + alias stdColours=redColours +else + alias stdColours=blackNcsColours +fi + +if [ "$COLORTERM" = '' ]; then + stdColours +fi + +PALETTE= + +palette-set () { + PALETTE="$*" +} + +palette-reset () { + printf '%s' "$PALETTE" +} + +palette-set `stdColours` diff --git a/bash/bashrc_prompt b/bash/bashrc_prompt new file mode 100644 index 0000000..5463afb --- /dev/null +++ b/bash/bashrc_prompt @@ -0,0 +1,413 @@ +#DESCRIPTION: A nicer default shell prompt line + + +#DESCRIPTION: Use full block cursor Do not use full block cursor +#USAGE block-on block-off + +#DESCRIPTION: Print username Do not print username Set colour of username +#USAGE: username-on username-off username-colour <ansi-colour> + +#DESCRIPTION: Print hostname Do not print hostname Set colour of hostname +#USAGE: hostname-on hostname-off hostname-colour <ansi-colour> + +#DESCRIPTION: Print IP address in place hostname +#USAGE: hostname-ip + +#DESCRIPTION: Print terminal name Do not print terminal name Set colour of terminal name +#USAGE: pts-on pts-off pts-colour <ansi-colour> + +#DESCRIPTION: Print git branch Do not print git branch Set colour of git branch +#USAGE: git-on git-off git-colour <ansi-colour> + +#DESCRIPTION: Print directory Do not print directory Set colour of directory +#USAGE: dir-on dir-off dir-colour <ansi-colour> + +#DESCRIPTION: Print directory tip Print absolute directory Print custom directory +#USAGE: dir-short dir-full dir-text <text> + +#DESCRIPTION: Print current time Do not print current time Set colour of current time +#USAGE: clock-on clock-off clock-colour <ansi-colour> + +#DESCRIPTION: Print battery status Do not print battery status Set colour of battery status +#USAGE: battery-on battery-off battery-colour <ansi-colour> + +#DESCRIPTION: Print featherweight status Do not print featherweight status Set the used colour +#USAGE featherweight-on featherweight-off featherweight-colour <ansi-colour> + +#DESCRIPTION: Set title on terminal Do not set title on terminal +#USAGE title-on title-off + +#DESCRIPTION: Use two lines Use a single line +#USAGE dual-on dual-off + +#DESCRIPTION: Set colour of error code +#USAGE error-colour <ansi-colour> + +#DESCRIPTION: Set colour of dollar/hash sign +#USAGE dollar-colour <ansi-colour> + + +prompt_addons=() + + +__prompt_block="" +if [ "$TERM" = "linux" ]; then + __prompt_block="\033[?8c" +fi +block-on () { + __prompt_block="\033[?8c" + update-prompt +} +block-off () { + __prompt_block="" + update-prompt +} + + +__prompt_username="\u" +username-on () { + __prompt_username="\u" + update-prompt +} +username-off () { + __prompt_username="" + update-prompt +} + + +__prompt_username_colour="94" +if [ "$USER" = "root" ]; then + __prompt_username_colour="91" + if [ "$TERM" = "linux" ]; then + __prompt_username_colour="31;01" + fi +elif [ "$TERM" = "linux" ]; then + __prompt_username_colour="34;01" +fi +username-colour () { + __prompt_username_colour="$*" + update-prompt +} + + +__prompt_hostname="1" +hostname-on () { + __prompt_hostname="1" + update-prompt +} +hostname-ip () { + __prompt_hostname="$( (ifconfig | sed -n 's/^[\t ]*inet[\t ][\t ]*\([^\t ]*\).*$/\1/p' | + sed '/^127\.0\.0\.1$/d' ; echo 127.0.0.1) | sed 1q )" + update-prompt +} +hostname-off () { + __prompt_hostname="0" + update-prompt +} + + +__prompt_hostname_colour="34" +hostname-colour () { + __prompt_hostname_colour="$*" + update-prompt +} + + +__prompt_pts="0" +if [ "$TERM" = "linux" ]; then + __prompt_pts="1" +fi +pts-on () { + __prompt_pts="1" + update-prompt +} +pts-off () { + __prompt_pts="0" + update-prompt +} + + +__prompt_pts_colour="36" +pts-colour () { + __prompt_pts_colour="$*" + update-prompt +} + + +__prompt_git="1" +git-on () { + __prompt_git="1" + update-prompt +} +git-off () { + __prompt_git="0" + update-prompt +} + + +__prompt_git_colour="32" +git-colour () { + __prompt_git_colour="$*" + update-prompt +} + + +__prompt_func_git () { + exec 2>/dev/null + if git status >&2; then + status="$(git status -s -b | head -n 1)" + if [ "$(echo "${status}" | cut -d ' ' -f 3)" = '[ahead' ]; then + echo "${status}" | cut -d ' ' -f 2 + else + echo "${status}" | cut -d ' ' -f 2 | cut -d . -f 1 + fi + fi +} + + +__prompt_dir="\w" +dir-on () { + __prompt_dir="\w" + update-prompt +} +dir-short () { + __prompt_dir="\W" + update-prompt +} +dir-full () { + __prompt_dir='$(pwd)' + update-prompt +} +dir-text () { + __prompt_dir="$(sed -e 's:\\:\\\\:g' <<<"$*")" + update-prompt +} +dir-off () { + __prompt_dir="" + update-prompt +} + + +__prompt_dir_colour="35" +dir-colour () { + __prompt_dir_colour="$*" + update-prompt +} + + +__prompt_clock="(\t)" +clock-on () { + __prompt_clock="(\t)" + update-prompt +} +clock-off () { + __prompt_clock="" + update-prompt +} + + +__prompt_clock_colour="33" +clock-colour () { + __prompt_clock_colour="$*" + update-prompt +} + + +__prompt_dual="\[\033[00m\]\n\[\033[1K\]" +dual-on () { + __prompt_dual="\[\033[00m\]\n\[\033[1K\]" + update-prompt +} +dual-off () { + __prompt_dual="" + update-prompt +} + + +__prompt_dollar_colour="01;34" +if [ "$USER" = "root" ]; then + __prompt_dollar_colour="01;31" +fi +dollar-colour () { + __prompt_dollar_colour="$*" + update-prompt +} + + +__prompt_error_colour="01;31" +error-colour () { + __prompt_error_colour="$*" + update-prompt +} + + +__prompt_func_error () { + if [ "$1" = "0" ]; then + echo -n "" + else + echo -n "(error: $1) " + fi +} + + +__prompt_battery="" +battery-on () { + __prompt_battery='$(__prompt_func_battery)' + update-prompt +} +battery-off () { + __prompt_battery="" + update-prompt +} + + +__prompt_battery_colour="33" +battery-colour () { + __prompt_battery_colour="$*" + update-prompt +} + + +__prompt_func_battery () { + local __first=1 + acpi --battery 2>/dev/null | while read info; do + if [ $__first = 1 ]; then + echo -n "(${info})" + __first=0 + else + echo -n " (${info})" + fi + done +} + + +__prompt_featherweight='$(__prompt_func_featherweight)' +featherweight-on () { + __prompt_featherweight='$(__prompt_func_featherweight)' + update-prompt +} +featherweight-off () { + __prompt_featherweight='' + update-prompt +} + + +__prompt_featherweight_colour="36" +featherweight-colour () { + __prompt_featherweight_colour="$*" + update-prompt +} + + +__prompt_func_featherweight () { + local status + if [ -r ~/.var/lib/featherweight/status ]; then + status="$(cat ~/.var/lib/featherweight/status)" + if [ ! "${status}" = "0" ]; then + echo "(fw: ${status})" + fi + fi +} + + +__prompt_title="" +case "$TERM" in + xterm*|rxvt*|Eterm|aterm|kterm|gnome*) + __prompt_title="\033]0;\u@\h: \w || $(tty)\a" + ;; +esac +title-on () { + __prompt_title="\033]0;\u@\h: \w || $(tty)\a" + update-prompt +} +title-off () { + __prompt_title="" + update-prompt +} + + +__screen_title="" +case "$TERM" in + screen) + __screen_title="\033_\u@\h: \w || $(tty)\033\\" + ;; +esac +screen-title-on () { + __screen_title="\033_\u@\h: \w || $(tty)\033\\" + update-prompt +} +screen-title-off () { + __screen_title="" + update-prompt +} + + +update-prompt () { + local __invisible __addon + __invisible="\[${__prompt_title}${__screen_title}${__prompt_block}\033[00m\]" + PS1="" + if [ ! "${__prompt_username}" = "" ]; then + PS1="${PS1}\[\033[${__prompt_username_colour}m\]${__prompt_username}\[\033[00m\]" + fi + if [ "${__prompt_hostname}" = "1" ]; then + if [ ! "${PS1}" = "" ]; then + PS1="${PS1}@" + fi + PS1="${PS1}\[\033[${__prompt_hostname_colour}m\]\h\[\033[00m\]" + elif [ ! "${__prompt_hostname}" = "0" ]; then + if [ ! "${PS1}" = "" ]; then + PS1="${PS1}@" + fi + PS1="${PS1}\[\033[${__prompt_hostname_colour}m\]${__prompt_hostname}\[\033[00m\]" + fi + if [ "${__prompt_pts}" = "1" ]; then + if [ ! "${PS1}" = "" ]; then + PS1="${PS1}." + fi + PS1="${PS1}\[\033[${__prompt_pts_colour}m\]\l\[\033[00m\]" + fi + if [ "${__prompt_git}" = "1" ]; then + if [ ! "${PS1}" = "" ]; then + PS1="${PS1}"'$(git status 2>/dev/null >&2 && echo -n : || echo -n "")' + fi + PS1="${PS1}\[\033[${__prompt_git_colour}m\]"'$(__prompt_func_git)'"\[\033[00m\]" + fi + if [ ! "${__prompt_dir}" = "" ]; then + if [ ! "${PS1}" = "" ]; then + PS1="${PS1}: " + fi + PS1="${PS1}\[\033[${__prompt_dir_colour}m\]${__prompt_dir}\[\033[00m\]" + fi + if [ ! "${__prompt_clock}" = "" ]; then + if [ ! "${PS1}" = "" ]; then + PS1="${PS1} " + fi + PS1="${PS1}\[\033[${__prompt_clock_colour}m\]${__prompt_clock}\[\033[00m\]" + fi + if [ ! "${__prompt_battery}" = "" ]; then + if [ ! "${PS1}" = "" ]; then + PS1="${PS1} " + fi + PS1="${PS1}\[\033[${__prompt_battery_colour}m\]${__prompt_battery}\[\033[00m\]" + fi + if [ ! "${__prompt_featherweight}" = "" ]; then + if [ ! "${PS1}" = "" ]; then + PS1="${PS1} " + fi + PS1="${PS1}\[\033[${__prompt_featherweight_colour}m\]${__prompt_featherweight}\[\033[00m\]" + fi + __sh="\[\033[00m\033[${__prompt_dollar_colour}m\]\\$\[\033[00m\]" + __err="\[\033[${__prompt_error_colour}m\]"'$(__prompt_func_error $?)'"\[\033[00m\]" + for __addon in "${prompt_addons[@]}"; do + PS1="${PS1}$(${__addon})" + done + PS1="${__invisible}${__err}${PS1}${__prompt_dual}${__sh} " +} + + +update-prompt + + +PS2='\[\e[01;31m\]> \[\e[00m\]' +PS3='\[\e[01;31m\]> \[\e[00m\]' +PS4='\[\e[01;31m\]+ \[\e[00m\]' diff --git a/bash/logout b/bash/logout new file mode 100644 index 0000000..ef22cbc --- /dev/null +++ b/bash/logout @@ -0,0 +1,9 @@ +# -*- shell-script -*- + +if test -r ~/.config/bash/"logout-$(hostname)"; then + . ~/.config/bash/"logout-$(hostname)" +fi + +if test -r ~/work/.config/bash/logout; then + . ~/work/.config/bash/logout +fi diff --git a/bash/profile b/bash/profile new file mode 100644 index 0000000..096711e --- /dev/null +++ b/bash/profile @@ -0,0 +1,17 @@ +# -*- shell-script -*- + +if test -r ~/.config/profile; then + . ~/.config/profile +fi + +if test -r ~/.config/bash/"profile-$(hostname)"; then + . ~/.config/bash/"profile-$(hostname)" +fi + +if test -r ~/work/.config/bash/profile; then + . ~/work/.config/bash/profile +fi + +if test -r ~/.config/bash/bashrc; then + . ~/.config/bash/bashrc; +fi diff --git a/bus/Makefile b/bus/Makefile new file mode 100644 index 0000000..e677bd6 --- /dev/null +++ b/bus/Makefile @@ -0,0 +1,21 @@ +.POSIX: + +XINITRC_ORDER = 10 + +install: + mkdir -p -- ~/.config/profile.d + test ! -d ~/.config/profile.d/bus + ln -sf -- ~/.dotfiles/bus/user-profile ~/.config/profile.d/bus + mkdir -p -- ~/.config/X11/xinit/xinitrc.d + test ! -d ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-bus + ln -sf -- ~/.dotfiles/bus/xinit ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-bus + +uninstall: + -unlink -- ~/.config/profile.d/bus + -rmdir -- ~/.config/profile.d + -unlink -- ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-bus + -rmdir -- ~/.config/X11/xinit/xinitrc.d + -rmdir -- ~/.config/X11/xinit + -rmdir -- ~/.config/X11 + +.PHONY: install uninstall diff --git a/bus/user-profile b/bus/user-profile new file mode 100644 index 0000000..521cb46 --- /dev/null +++ b/bus/user-profile @@ -0,0 +1,15 @@ +# -*- shell-script -*- + +mkdir -p "${XDG_RUNTIME_DIR}/@bus" + +export BUS_AUDIO="${XDG_RUNTIME_DIR}/@bus/audio" +export BUS_INPUT="${XDG_RUNTIME_DIR}/@bus/input" +export BUS_VIDEO="${XDG_RUNTIME_DIR}/@bus/video" +export BUS_FILES="${XDG_RUNTIME_DIR}/@bus/files" +export BUS_GENERIC="${XDG_RUNTIME_DIR}/@bus/generic" + +if test ! -e "${BUS_AUDIO}"; then bus create "${BUS_AUDIO}"; fi +if test ! -e "${BUS_INPUT}"; then bus create "${BUS_INPUT}"; fi +if test ! -e "${BUS_VIDEO}"; then bus create "${BUS_VIDEO}"; fi +if test ! -e "${BUS_FILES}"; then bus create "${BUS_FILES}"; fi +if test ! -e "${BUS_GENERIC}"; then bus create "${BUS_GENERIC}"; fi diff --git a/bus/xinit b/bus/xinit new file mode 100644 index 0000000..de6c824 --- /dev/null +++ b/bus/xinit @@ -0,0 +1,9 @@ +# -*- shell-script -*- + +# Create buses +if test -z "${XDG_RUNTIME_DIR}"; then + export XDG_RUNTIME_DIR='/tmp/.~'"$(whoami)" +fi +mkdir -p "${XDG_RUNTIME_DIR}/@bus" +export BUS_AUDIO="${XDG_RUNTIME_DIR}/@bus/audio" +bus create "${BUS_AUDIO}" diff --git a/coreutils/Makefile b/coreutils/Makefile new file mode 100644 index 0000000..9058e3e --- /dev/null +++ b/coreutils/Makefile @@ -0,0 +1,17 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/bash/aliases.d + mkdir -p -- ~/.config/bash/bashrc.d + test ! -d ~/.config/bash/aliases.d/coreutils + test ! -d ~/.config/bash/bashrc.d/coreutils + ln -sf -- ~/.dotfiles/coreutils/bash-aliases ~/.config/bash/aliases.d/coreutils + ln -sf -- ~/.dotfiles/coreutils/bash-bashrc ~/.config/bash/bashrc.d/coreutils + +uninstall: + -unlink -- ~/.config/bash/aliases.d/coreutils + -unlink -- ~/.config/bash/bashrc.d/coreutils + -rmdir -- ~/.config/bash/aliases.d + -rmdir -- ~/.config/bash/bashrc.d + +.PHONY: install uninstall diff --git a/coreutils/bash-aliases b/coreutils/bash-aliases new file mode 100644 index 0000000..378c1d7 --- /dev/null +++ b/coreutils/bash-aliases @@ -0,0 +1,5 @@ +# -*- shell-script -*- + +#DESCRIPTION: Use colours in ls when the output is not piped + +alias ls='ls --color=auto' diff --git a/coreutils/bash-bashrc b/coreutils/bash-bashrc new file mode 100644 index 0000000..c4df04b --- /dev/null +++ b/coreutils/bash-bashrc @@ -0,0 +1,51 @@ +# -*- shell-script -*- + +# lc = left of colour sequence (default = "\033[") +# rc = right of colour sequence (default = "m") +# en = end color (replaced lc+no+rc; default = NULL) +# cl = clear to end of line (default = "\033[K") +# rs = reset to ordinary colors (default = "0") + +# no = normal (global default) +# di = directory +# fi = regular file +# ex = executable regular file +# pi = named pipe (FIFO) +# bd = block device +# cd = character device +# ln = symbolic link +# or = orphaned symbolic link (points to a file that no longer exists) +# mi = missing file (a missing file that an orphan symbolic link points to) +# so = socket +# do = door +# su = setuid +# sg = setgid +# st = sticky +# ow = other-writable +# tw = ow (other-writable) + st (sticky) +# ca = ??? +# mh = ??? + +export LS_COLORS=\ +"di=1;34:"\ +"fi=0:"\ +"ex=1;32:"\ +"pi=42;30:"\ +"bd=46;37:"\ +"cd=46;30:"\ +"ln=1;36:"\ +"or=1;31:"\ +"mi=1;31:"\ +"so=41;37:"\ +"do=41;30:"\ +"su=1;45;7:"\ +"sg=1;35:"\ +"st=31:"\ +"ow=32:"\ +"tw=33:"\ +"$(printf "*.%s=34:" tar tgz arj taz lzh lzma tlz txz zip z Z dz gz lz xz bz2 bz tbz tbz2 tz deb rpm jar war ear sar rar + ace zoo cpio 7z rz zst dmg)"\ +"$(printf "*.%s=35:" jpg jpeg gif bmp pbm pgm ppm tga zbm xpm tif tiff png svg svgz mng pcx mov mpg mpeg m2v mkc webm ogm + mp4 m4v mp4v vob nuv wmv asf rm rmvb flv avi fli flv gl dl xcf xwd yuv cgm emf axv anx ogv ogx pam + ff webm webp)"\ +"$(printf "*.%s=36:" aac au flc flac m4a mid midi mka mp3 mpc ogg ra wav axa oga spx xsdf opus)" diff --git a/cvs/Makefile b/cvs/Makefile new file mode 100644 index 0000000..c834e59 --- /dev/null +++ b/cvs/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/profile.d + test ! -d ~/.config/profile.d/cvs + ln -sf -- ~/.dotfiles/cvs/user-profile ~/.config/profile.d/cvs + +uninstall: + -unlink -- ~/.config/profile.d/cvs + -rmdir -- ~/.config/profile.d + +.PHONY: install uninstall diff --git a/cvs/user-profile b/cvs/user-profile new file mode 100644 index 0000000..0788bd0 --- /dev/null +++ b/cvs/user-profile @@ -0,0 +1,4 @@ +# -*- shell-script -*- + +export CVSROOT=~/.var/lib/cvsroot +export CVS_RSH=ssh diff --git a/dconf/Makefile b/dconf/Makefile new file mode 100644 index 0000000..0b1b6a1 --- /dev/null +++ b/dconf/Makefile @@ -0,0 +1,16 @@ +.POSIX: + +XINITRC_ORDER = 10 + +install: + mkdir -p -- ~/.config/X11/xinit/xinitrc.d + test ! -d ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-dconf + ln -sf -- ~/.dotfiles/dconf/xinit ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-dconf + +uninstall: + -unlink -- ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-dconf + -rmdir -- ~/.config/X11/xinit/xinitrc.d + -rmdir -- ~/.config/X11/xinit + -rmdir -- ~/.config/X11 + +.PHONY: install uninstall diff --git a/dconf/xinit b/dconf/xinit new file mode 100644 index 0000000..645f699 --- /dev/null +++ b/dconf/xinit @@ -0,0 +1,17 @@ +# -*- shell-script -*- + +# Set dconf profile +if test ! "${SET_DCONF_PROFILE}" = 0; then + export DCONF_PROFILE=~/.config/dconf/profiles/"${SESSION/-/_}" + + mkdir -p ~/.config/dconf/profiles + + if test ! -e ~/.config/dconf/profiles/"${SESSION/-/_}"; then + printf '%s\n' "user-db:${SESSION}" user-db:user system-db:local system-db:site \ + > ~/.config/dconf/profiles/"${SESSION/-/_}" + fi + + if test ! -e ~/.config/dconf/"${SESSION/-/_}" && test -e ~/.config/dconf/user; then + cp -- ~/.config/dconf/user ~/.config/dconf/"${SESSION/-/_}" + fi +fi diff --git a/featherweight/Makefile b/featherweight/Makefile new file mode 100644 index 0000000..cc4f9db --- /dev/null +++ b/featherweight/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/bash/aliases.d + test ! -d ~/.config/bash/aliases.d/featherweight + ln -sf -- ~/.dotfiles/featherweight/bash-aliases ~/.config/bash/aliases.d/featherweight + +uninstall: + -unlink -- ~/.config/bash/aliases.d/featherweight + -rmdir -- ~/.config/bash/aliases.d + +.PHONY: install uninstall diff --git a/featherweight/bash-aliases b/featherweight/bash-aliases new file mode 100644 index 0000000..b81fa18 --- /dev/null +++ b/featherweight/bash-aliases @@ -0,0 +1,3 @@ +# -*- shell-script -*- + +alias fw=featherweight diff --git a/ffmpeg/Makefile b/ffmpeg/Makefile new file mode 100644 index 0000000..32991b3 --- /dev/null +++ b/ffmpeg/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/bash/aliases.d + test ! -d ~/.config/bash/aliases.d/ffmpeg + ln -sf -- ~/.dotfiles/ffmpeg/bash-aliases ~/.config/bash/aliases.d/ffmpeg + +uninstall: + -unlink -- ~/.config/bash/aliases.d/ffmpeg + -rmdir -- ~/.config/bash/aliases.d + +.PHONY: install uninstall diff --git a/ffmpeg/bash-aliases b/ffmpeg/bash-aliases new file mode 100644 index 0000000..41846c8 --- /dev/null +++ b/ffmpeg/bash-aliases @@ -0,0 +1,25 @@ +# -*- shell-script -*- + +remove-video-on-all () ( + for ext in opus aac mp3 m4a; do + for f in *.{mkv,mp4,webm}; do + if ffmpeg -i "$f" -map 0:a -codec copy -y -- "$f.$ext"; then + rm -- "$f" + else + rm -- "$f.$ext" + fi + done + done +) + +remove-video-on-all-1 () ( + for ext in opus aac mp3 m4a; do + for f in *."$1"; do + if ffmpeg -i "$f" -map 0:a -codec copy -y -- "$f.$ext"; then + rm -- "$f" + else + rm -- "$f.$ext" + fi + done + done +) diff --git a/filesystem/Makefile b/filesystem/Makefile new file mode 100644 index 0000000..c46eea2 --- /dev/null +++ b/filesystem/Makefile @@ -0,0 +1,90 @@ +.POSIX: + +install: + mkdir -p -- ~/.config + mkdir -p -- ~/.var/cache/.thumbnails + rm -rf -- ~/.config/.cache + rm -rf -- ~/.cache + rm -rf -- ~/.thumbnails + ln -sf -- ../.cache ~/.config/.cache + ln -sf -- .var/cache ~/.cache + ln -sf -- .cache/.thumbnails ~/.thumbnails + mkdir -p -- ~/.var/games + mkdir -p -- ~/.var/lib + mkdir -p -- ~/.var/mail + mkdir -p -- ~/.var/spool + rm -f -- ~/.spool + rm -f -- ~/.local/var + ln -sf .var/spool/ ~/.spool + ln -sf ../.var ~/.local/var + mkdir -p -- ~/.local/bin + mkdir -p -- ~/.local/src + if test -d ~/.fonts && test ! -L ~/.fonts; then \ + mkdir -p -- ~/.local/share && \ + test ! -e ~/.local/share/fonts && \ + mv ~/.fonts ~/.local/share/fonts; \ + else \ + mkdir -p -- ~/.local/share/fonts && \ + rm -f -- ~/.fonts && \ + ln -sf -- .local/share/fonts ~/.fonts; \ + fi + if test -d ~/.icons && test ! -L ~/.icons; then \ + mkdir -p -- ~/.local/share && \ + test ! -e ~/.local/share/icons && \ + mv ~/.icons ~/.local/share/icons; \ + else \ + mkdir -p -- ~/.local/share/icons && \ + rm -f -- ~/.icons && \ + ln -sf -- .local/share/icons ~/.icons; \ + fi + if test -d ~/.themes && test ! -L ~/.themes; then \ + mkdir -p -- ~/.local/share && \ + test ! -e ~/.local/share/themes && \ + mv ~/.themes ~/.local/share/themes; \ + else \ + mkdir -p -- ~/.local/share/themes && \ + rm -f -- ~/.themes && \ + ln -sf -- .local/share/themes ~/.themes; \ + fi + mkdir -p -- ~/.usr/bin + mkdir -p -- ~/.usr/include + mkdir -p -- ~/.usr/lib + mkdir -p -- ~/.usr/libexec + mkdir -p -- ~/.usr/share/man + mkdir -p -- ~/.usr/src + ln -sf -- ~/.dotfiles/filesystem/user-dirs.dirs ~/.config/ + +uninstall: + -unlink -- ../.cache ~/.config/.cache + -unlink -- .var/cache ~/.cache + -unlink -- .cache/.thumbnails ~/.thumbnails + -unlink -- .var/spool/ ~/.spool + -unlink -- ../.var ~/.local/var + -unlink -- .local/share/fonts ~/.fonts + -unlink -- .local/share/icons ~/.icons + -unlink -- .local/share/themes ~/.themes + -rmdir -- ~/.config + -rmdir -- ~/.var/cache/.thumbnails + -rmdir -- ~/.var/cache + -rmdir -- ~/.var/games + -rmdir -- ~/.var/lib + -rmdir -- ~/.var/mail + -rmdir -- ~/.var/spool + -rmdir -- ~/.var + -rmdir -- ~/.local/bin + -rmdir -- ~/.local/src + -rmdir -- ~/.local/share/fonts + -rmdir -- ~/.local/share/icons + -rmdir -- ~/.local/share/themes + -rmdir -- ~/.local/share + -rmdir -- ~/.local + -rmdir -- ~/.usr/bin + -rmdir -- ~/.usr/include + -rmdir -- ~/.usr/lib + -rmdir -- ~/.usr/libexec + -rmdir -- ~/.usr/share/man + -rmdir -- ~/.usr/share + -rmdir -- ~/.usr/src + -rmdir -- ~/.usr + +.PHONY: install uninstall diff --git a/filesystem/user-dirs.dirs b/filesystem/user-dirs.dirs new file mode 100644 index 0000000..a6adde0 --- /dev/null +++ b/filesystem/user-dirs.dirs @@ -0,0 +1,15 @@ +# This file is written by xdg-user-dirs-update +# If you want to change or add directories, just edit the line you're +# interested in. All local changes will be retained on the next run +# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped +# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an +# absolute path. No other format is supported. +# +XDG_DESKTOP_DIR="/var/empty" +XDG_DOWNLOAD_DIR="$HOME/" +XDG_TEMPLATES_DIR="$HOME/Templates" +XDG_PUBLICSHARE_DIR="$HOME/Public" +XDG_DOCUMENTS_DIR="$HOME/" +XDG_MUSIC_DIR="$HOME/" +XDG_PICTURES_DIR="$HOME/" +XDG_VIDEOS_DIR="$HOME/" diff --git a/gcc/Makefile b/gcc/Makefile new file mode 100644 index 0000000..ce541b9 --- /dev/null +++ b/gcc/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/profile.d + test ! -d ~/.config/profile.d/gcc + ln -sf -- ~/.dotfiles/gcc/user-profile ~/.config/profile.d/gcc + +uninstall: + -unlink -- ~/.config/profile.d/gcc + -rmdir -- ~/.config/profile.d + +.PHONY: install uninstall diff --git a/gcc/user-profile b/gcc/user-profile new file mode 100644 index 0000000..0d231e6 --- /dev/null +++ b/gcc/user-profile @@ -0,0 +1,4 @@ +# -*- shell-script -*- + +export CC="gcc -fdiagnostics-color=auto" +export CXX="g++ -fdiagnostics-color=auto" diff --git a/git/Makefile b/git/Makefile new file mode 100644 index 0000000..a428302 --- /dev/null +++ b/git/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/bash/aliases.d + test ! -d ~/.config/bash/aliases.d/git + ln -sf -- ~/.dotfiles/git/bash-aliases ~/.config/bash/aliases.d/git + +uninstall: + -unlink -- ~/.config/bash/aliases.d/git + -rmdir -- ~/.config/bash/aliases.d + +.PHONY: install uninstall diff --git a/git/bash-aliases b/git/bash-aliases new file mode 100644 index 0000000..3552668 --- /dev/null +++ b/git/bash-aliases @@ -0,0 +1,50 @@ +# -*- shell-script -*- + +alias gitlog="git log --graph --decorate" +alias gitlogg="git log --graph --decorate --full-history" + +gitcomm () { + git commit --signoff -S"$GPG_KEY" -m "$*" +} + +ge () { + if [ -z "$EDITOR" ]; then + printf '\e[1;31m%s\e[0m\n' 'No default editor is set, please configure the environment variable EDITOR' + else + $EDITOR -- "$@" + git add -- "$@" + fi +} + +gitpush () { + git push -u origin `___git_branch_` +} + +gitpull () { + __gb_=`___git_branch_` + git checkout "$1" && + git pull && + git checkout $__gb_ && + git pull . "$1" + unset __gb_ +} + +gitp () { + __gb_=`___git_branch_` + git pull && + git checkout "$1" && + git pull && + git pull . $__gb_ + unset __gb_ +} + + +_____gp___bashrc_ () { + printf '%s\n' "$2" +} +_____gp__bashrc_ () { + _____gp___bashrc_ `git status -b -s 2>/dev/null` +} +___git_branch_ () { + printf '%s\n' `_____gp__bashrc_ | cut -d . -f 1` +} diff --git a/gnupg/Makefile b/gnupg/Makefile new file mode 100644 index 0000000..ac5408f --- /dev/null +++ b/gnupg/Makefile @@ -0,0 +1,14 @@ +.POSIX: + +install: + mkdir -p -- ~/.var/lib/gnupg + mkdir -p -- ~/.config/profile.d + test ! -d ~/.config/profile.d/gnupg + ln -sf -- ~/.dotfiles/gnupg/user-profile ~/.config/profile.d/gnupg + +uninstall: + -unlink -- ~/.config/profile.d/gnupg + -rmdir -- ~/.config/profile.d + -rmdir -- ~/.var/lib/gnupg + +.PHONY: install uninstall diff --git a/gnupg/user-profile b/gnupg/user-profile new file mode 100644 index 0000000..67cbb86 --- /dev/null +++ b/gnupg/user-profile @@ -0,0 +1,8 @@ +# -*- shell-script -*- + +export GNUPGHOME=~/.var/lib/.gnupg + +export GPG_KEY=69E7C5ED +export GPG_KEYA=45668AAD +export GPG_KEY_EMAIL=6ABC233E # 8AAD AC7C E522 E5E8 674C F187 5319 6754 6ABC 233E +# Old GPG_KEY_EMAIL: 678A6A76 diff --git a/google-chrome/Makefile b/google-chrome/Makefile new file mode 100644 index 0000000..88142fa --- /dev/null +++ b/google-chrome/Makefile @@ -0,0 +1,9 @@ +.POSIX: + +install: + @: + +uninstall: + -rm -rf -- ~/.config/google-chrome + +.PHONY: install uninstall diff --git a/gpm/Makefile b/gpm/Makefile new file mode 100644 index 0000000..7e3b16f --- /dev/null +++ b/gpm/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/bash/aliases.d + test ! -d ~/.config/bash/aliases.d/gpm + ln -sf -- ~/.dotfiles/gpm/bash-aliases ~/.config/bash/aliases.d/gpm + +uninstall: + -unlink -- ~/.config/bash/aliases.d/gpm + -rmdir -- ~/.config/bash/aliases.d + +.PHONY: install uninstall diff --git a/gpm/bash-aliases b/gpm/bash-aliases new file mode 100644 index 0000000..8c24fdd --- /dev/null +++ b/gpm/bash-aliases @@ -0,0 +1,4 @@ +# -*- shell-script -*- + +alias start-gpm="asroot gpm -m /dev/input/mice -t imps2" +alias stop-gpm="asroot gpm -k" diff --git a/grep/Makefile b/grep/Makefile new file mode 100644 index 0000000..6c0d4e8 --- /dev/null +++ b/grep/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/bash/aliases.d + test ! -d ~/.config/bash/aliases.d/grep + ln -sf -- ~/.dotfiles/grep/bash-aliases ~/.config/bash/aliases.d/grep + +uninstall: + -unlink -- ~/.config/bash/aliases.d/grep + -rmdir -- ~/.config/bash/aliases.d + +.PHONY: install uninstall diff --git a/grep/bash-aliases b/grep/bash-aliases new file mode 100644 index 0000000..59c21d8 --- /dev/null +++ b/grep/bash-aliases @@ -0,0 +1,7 @@ +# -*- shell-script -*- + +#DESCRIPTION: Use colours with grep when the output is not piped + +alias grep='grep --color=auto' +alias fgrep='fgrep --color=auto' +alias egrep='egrep --color=auto' diff --git a/gtk3/Makefile b/gtk3/Makefile new file mode 100644 index 0000000..750394e --- /dev/null +++ b/gtk3/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/profile.d + test ! -d ~/.config/profile.d/gtk3 + ln -sf -- ~/.dotfiles/gtk3/user-profile ~/.config/profile.d/gtk3 + +uninstall: + -unlink -- ~/.config/profile.d/gtk3 + -rmdir -- ~/.config/profile.d + +.PHONY: install uninstall diff --git a/gtk3/user-profile b/gtk3/user-profile new file mode 100644 index 0000000..e53ea36 --- /dev/null +++ b/gtk3/user-profile @@ -0,0 +1,3 @@ +# -*- shell-script -*- + +export GTK_THEME=Adwaita:dark @@ -0,0 +1 @@ +texinfo
\ No newline at end of file diff --git a/java-runtime/Makefile b/java-runtime/Makefile new file mode 100644 index 0000000..9d4947b --- /dev/null +++ b/java-runtime/Makefile @@ -0,0 +1,18 @@ +.POSIX: + +install: + mkdir -p -- ~/.var/cache/java + -rm -rf -- ~/.java + test ! -e ~/.java + ln -s -- .var/cache/java ~/.java + mkdir -p -- ~/.config/profile.d + test ! d ~/.config/profile.d/java-runtime + ln -sf -- ~/.dotfiles/java-runtime/user-profile ~/.config/profile.d/java-runtime + +uninstall: + -unlink -- ~/.config/profile.d/java-runtime + -rmdir -- ~/.config/profile.d + -rm -rf -- ~/.java + -rm -rf -- ~/.var/cache/java + +.PHONY: install uninstall diff --git a/java-runtime/user-profile b/java-runtime/user-profile new file mode 100644 index 0000000..9b60457 --- /dev/null +++ b/java-runtime/user-profile @@ -0,0 +1,3 @@ +# -*- shell-script -*- + +export _JAVA_OPTIONS='-Djdk.gtk.version=2.2' diff --git a/kdenlive/Makefile b/kdenlive/Makefile new file mode 100644 index 0000000..d482e64 --- /dev/null +++ b/kdenlive/Makefile @@ -0,0 +1,9 @@ +.POSIX: + +install: + @: + +uninstall: + -rm -f -- ~/.config/kdenliverc + +.PHONY: install uninstall diff --git a/less/Makefile b/less/Makefile new file mode 100644 index 0000000..73b43c7 --- /dev/null +++ b/less/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/profile.d + test ! -d ~/.config/profile.d/less + ln -sf -- ~/.dotfiles/less/user-profile ~/.config/profile.d/less + +uninstall: + -unlink -- ~/.config/profile.d/less + -rmdir -- ~/.config/profile.d + +.PHONY: install uninstall diff --git a/less/user-profile b/less/user-profile new file mode 100644 index 0000000..469134d --- /dev/null +++ b/less/user-profile @@ -0,0 +1,3 @@ +# -*- shell-script -*- + +export LESSHISTFILE=/dev/null diff --git a/libcontacts-glibc b/libcontacts-glibc new file mode 120000 index 0000000..205dcc8 --- /dev/null +++ b/libcontacts-glibc @@ -0,0 +1 @@ +libcontacts
\ No newline at end of file diff --git a/libcontacts-musl b/libcontacts-musl new file mode 120000 index 0000000..205dcc8 --- /dev/null +++ b/libcontacts-musl @@ -0,0 +1 @@ +libcontacts
\ No newline at end of file diff --git a/libcontacts/.gitignore b/libcontacts/.gitignore new file mode 100644 index 0000000..9b698a0 --- /dev/null +++ b/libcontacts/.gitignore @@ -0,0 +1 @@ +/contacts/ diff --git a/libcontacts/Makefile b/libcontacts/Makefile new file mode 100644 index 0000000..7b7ad08 --- /dev/null +++ b/libcontacts/Makefile @@ -0,0 +1,15 @@ +.POSIX: + +install: + mkdir -p -- ~/.config + if test ! -L ~/.config/contacts; then \ + test ! -e ~/.config/contacts && \ + ln -sf -- ~/.dotfiles/libcontacts/contacts ~/.config/contacts; \ + else \ + test "$(readlink ~/.config/contacts)" = ~/.dotfiles/libcontacts/contacts; \ + fi + +uninstall: + -unlink -- ~/.config/contacts + +.PHONY: install uninstall diff --git a/meld/Makefile b/meld/Makefile new file mode 100644 index 0000000..bda9978 --- /dev/null +++ b/meld/Makefile @@ -0,0 +1,15 @@ +.POSIX: + +# Unfortunely meldrc.ini contains both (for us unless) state and settings, +# therefore we are making a copy instead of a link. Otherwise running meld +# could make changes to our dotfiles. + +install: + mkdir -p -- ~/.config/meld + cp -- meldrc.ini ~/.config/meld/ + +uninstall: + -unlink -- ~/.config/meld/meldrc.ini + -rm -rf -- ~/.config/meld + +.PHONY: install uninstall diff --git a/meld/meldrc.ini b/meld/meldrc.ini new file mode 100644 index 0000000..fba8e9b --- /dev/null +++ b/meld/meldrc.ini @@ -0,0 +1,14 @@ +[DEFAULT] +use_custom_font = True +custom_font = Fixed 10 +tab_size = 8 +edit_wrap_lines = 0 +highlight_current_line = True +show_line_numbers = False +show_whitespace = False +use_syntax_highlighting = False +edit_command_type = custom +edit_command_custom = emacs +dirdiff_time_resolution_ns = 1 +text_codecs = utf8 +vc_show_commit_margin = True diff --git a/moc/Makefile b/moc/Makefile new file mode 100644 index 0000000..0d4ee14 --- /dev/null +++ b/moc/Makefile @@ -0,0 +1,17 @@ +.POSIX: + +install: + mkdir -p -- ~/.var/lib/moc + mkdir -p -- ~/.config/bash/aliases.d + rm -rf ~/.moc + test ! -d ~/.config/bash/aliases.d/moc + ln -sf -- .var/lib/moc ~/.moc + ln -sf -- ~/.dotfiles/moc/bash-aliases ~/.config/bash/aliases.d/moc + +uninstall: + -unlink -- ~/.moc + -unlink -- ~/.config/bash/aliases.d/moc + -rmdir -- ~/.config/bash/aliases.d + -rm -rf -- ~/.var/lib/moc + +.PHONY: install uninstall diff --git a/moc/bash-aliases b/moc/bash-aliases new file mode 100644 index 0000000..6dc6ab2 --- /dev/null +++ b/moc/bash-aliases @@ -0,0 +1,7 @@ +# -*- shell-script -*- + +if test "$TERM" = linux; then + alias mocp="mocp --theme darkdot_theme" +else + alias mocp="etty; exec mocp --theme darkdot_theme" +fi diff --git a/mplayer/Makefile b/mplayer/Makefile new file mode 100644 index 0000000..57e4ff8 --- /dev/null +++ b/mplayer/Makefile @@ -0,0 +1,13 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/profile.d + test ! -d ~/.config/profile.d/mplayer + ln -sf -- ~/.dotfiles/mplayer/user-profile ~/.config/profile.d/mplayer + +uninstall: + -unlink -- ~/.config/profile.d/mplayer + -rmdir -- ~/.config/profile.d + -rm -rf -- ~/.config/mplayer + +.PHONY: install uninstall diff --git a/mplayer/user-profile b/mplayer/user-profile new file mode 100644 index 0000000..581717b --- /dev/null +++ b/mplayer/user-profile @@ -0,0 +1,3 @@ +# -*- shell-script -*- + +export MPLAYER_HOME="${XDG_CONFIG_HOME}/mplayer" diff --git a/my-scripts/Makefile b/my-scripts/Makefile new file mode 100644 index 0000000..23d998a --- /dev/null +++ b/my-scripts/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/bash/aliases.d + test ! -d ~/.config/bash/aliases.d/my-scripts + ln -sf -- ~/.dotfiles/my-scripts/bash-aliases ~/.config/bash/aliases.d/my-scripts + +uninstall: + -unlink -- ~/.config/bash/aliases.d/my-scripts + -rmdir -- ~/.config/bash/aliases.d + +.PHONY: install uninstall diff --git a/my-scripts/bash-aliases b/my-scripts/bash-aliases new file mode 100644 index 0000000..4b3b78b --- /dev/null +++ b/my-scripts/bash-aliases @@ -0,0 +1,5 @@ +# -*- shell-script -*- + +if test "$TERM" = linux; then + alias etty='etty;palette-reset' +fi diff --git a/openssh/Makefile b/openssh/Makefile new file mode 100644 index 0000000..41a8d84 --- /dev/null +++ b/openssh/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/bash/aliases.d + test ! -d ~/.config/bash/aliases.d/openssh + ln -sf -- ~/.dotfiles/openssh/bash-aliases ~/.config/bash/aliases.d/openssh + +uninstall: + -unlink -- ~/.config/bash/aliases.d/openssh + -rmdir -- ~/.config/bash/aliases.d + +.PHONY: install uninstall diff --git a/openssh/bash-aliases b/openssh/bash-aliases new file mode 100644 index 0000000..38f7a01 --- /dev/null +++ b/openssh/bash-aliases @@ -0,0 +1,9 @@ +# -*- shell-script -*- + +if test -n "$DISPLAY"; then + alias sshhome="ssh -YC -p7777 mattias@maandree.ignorelist.com" +else + alias sshhome="ssh -p7777 mattias@maandree.ignorelist.com" +fi +alias sftphome="sftp -P7777 mattias@maandree.ignorelist.com" +alias scphome="scp -P7777" diff --git a/pluma/Makefile b/pluma/Makefile new file mode 100644 index 0000000..0971cfd --- /dev/null +++ b/pluma/Makefile @@ -0,0 +1,9 @@ +.POSIX: + +install: + @: + +uninstall: + -rm -rf -- ~/.config/pluma + +.PHONY: install uninstall diff --git a/pony.computer/Makefile b/pony.computer/Makefile new file mode 100644 index 0000000..4aa7464 --- /dev/null +++ b/pony.computer/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/bash/aliases.d + test ! -d ~/.config/bash/aliases.d/pony.computer + ln -sf -- ~/.dotfiles/pony.computer/bash-aliases ~/.config/bash/aliases.d/pony.computer + +uninstall: + -unlink -- ~/.config/bash/aliases.d/pony.computer + -rmdir -- ~/.config/bash/aliases.d + +.PHONY: install uninstall diff --git a/pony.computer/bash-aliases b/pony.computer/bash-aliases new file mode 100644 index 0000000..4a9326d --- /dev/null +++ b/pony.computer/bash-aliases @@ -0,0 +1,10 @@ +# -*- shell-script -*- + +#DESCRIPTION: Utilise KMS support in ponysay when in a TTY and running pony.computer + +if "$TERM" = "linux"; then + pony.computer () { + PONYSAY_KMS_PALETTE="$PALETTE" /usr/bin/pony.computer "$@" + printf "$PALETTE" + } +fi diff --git a/ponysay/Makefile b/ponysay/Makefile new file mode 100644 index 0000000..7b90bd9 --- /dev/null +++ b/ponysay/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/bash/aliases.d + test ! -d ~/.config/bash/aliases.d/ponysay + ln -sf -- ~/.dotfiles/ponysay/bash-aliases ~/.config/bash/aliases.d/ponysay + +uninstall: + -unlink -- ~/.config/bash/aliases.d/ponysay + -rmdir -- ~/.config/bash/aliases.d + +.PHONY: install uninstall diff --git a/ponysay/bash-aliases b/ponysay/bash-aliases new file mode 100644 index 0000000..3b9faed --- /dev/null +++ b/ponysay/bash-aliases @@ -0,0 +1,10 @@ +# -*- shell-script -*- + +#DESCRIPTION: Utilise KMS support in ponysay when in a TTY + +if test"$TERM" = "linux"; then + ponysay () { + PONYSAY_KMS_PALETTE="$PALETTE" /usr/bin/ponysay "$@" + printf "$PALETTE" + } +fi diff --git a/procps/Makefile b/procps/Makefile new file mode 100644 index 0000000..d7b150c --- /dev/null +++ b/procps/Makefile @@ -0,0 +1,9 @@ +.POSIX: + +install: + -rmdir -- ~/.config/procps + +uninstall: + -rm -rf -- ~/.config/procps + +.PHONY: install uninstall diff --git a/pytagomacs/Makefile b/pytagomacs/Makefile new file mode 100644 index 0000000..139cef6 --- /dev/null +++ b/pytagomacs/Makefile @@ -0,0 +1,11 @@ +.POSIX: + +install: + mkdir -p -- ~/.config + test ! -d ~/.config/pytagomacsrc + ln -sf -- ~/.dotfiles/pytagomacs/pytagomacsrc ~/.config/pytagomacsrc + +uninstall: + -unlink -- ~/.config/pytagomacsrc + +.PHONY: install uninstall diff --git a/pytagomacs/pytagomacsrc b/pytagomacs/pytagomacsrc new file mode 100644 index 0000000..d35fa58 --- /dev/null +++ b/pytagomacs/pytagomacsrc @@ -0,0 +1,7 @@ +# -*- python -*- + +INACTIVE_COLOUR = '34' +ACTIVE_COLOUR = '01;31' +SELECTED_COLOUR = '44;37' +STATUS_COLOUR = '07' +ALERT_COLOUR = None diff --git a/python/Makefile b/python/Makefile new file mode 100644 index 0000000..8c2d730 --- /dev/null +++ b/python/Makefile @@ -0,0 +1,16 @@ +.POSIX: + +install: + mkdir -p -- ~/.var/cache + ln -sf .var/cache/python_history ~/ + mkdir -p -- ~/.config/profile.d + test ! -d ~/.config/profile.d/python + ln -sf -- ~/.dotfiles/python/user-profile ~/.config/profile.d/python + +uninstall: + -unlink -- ~/.config/profile.d/python + -rmdir -- ~/.config/profile.d + -unlink -- ~/.var/cache/python_history + -unlink -- ~/.python_history + +.PHONY: install uninstall diff --git a/python/user-profile b/python/user-profile new file mode 100644 index 0000000..8c9f982 --- /dev/null +++ b/python/user-profile @@ -0,0 +1,3 @@ +# -*- shell-script -*- + +export PYTHON_EGG_CACHE="${XDG_CACHE_HOME}/python-eggs" diff --git a/qt5-styleplugins/Makefile b/qt5-styleplugins/Makefile new file mode 100644 index 0000000..3f0c44f --- /dev/null +++ b/qt5-styleplugins/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/profile.d + test ! -d ~/.config/profile.d/qt5-styleplugins + ln -sf -- ~/.dotfiles/qt5-styleplugins/user-profile ~/.config/profile.d/qt5-styleplugins + +uninstall: + -unlink -- ~/.config/profile.d/qt5-styleplugins + -rmdir -- ~/.config/profile.d + +.PHONY: install uninstall diff --git a/qt5-styleplugins/user-profile b/qt5-styleplugins/user-profile new file mode 100644 index 0000000..1491d3b --- /dev/null +++ b/qt5-styleplugins/user-profile @@ -0,0 +1,3 @@ +# -*- shell-script -*- + +export QT_STYLE_OVERRIDE=GTK2 diff --git a/radharc/Makefile b/radharc/Makefile new file mode 100644 index 0000000..f5f2c66 --- /dev/null +++ b/radharc/Makefile @@ -0,0 +1,16 @@ +.POSIX: + +XINITRC_ORDER = 20 + +install: + mkdir -p -- ~/.config/X11/xinit/xinitrc.d + test ! -d ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-radharc + ln -sf -- ~/.dotfiles/radharc/xinit ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-radharc + +uninstall: + -unlink -- ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-radharc + -rmdir -- ~/.config/X11/xinit/xinitrc.d + -rmdir -- ~/.config/X11/xinit + -rmdir -- ~/.config/X11 + +.PHONY: install uninstall diff --git a/radharc/xinit b/radharc/xinit new file mode 100644 index 0000000..f0051b5 --- /dev/null +++ b/radharc/xinit @@ -0,0 +1,3 @@ +# -*- shell-script -*- + +radharc & diff --git a/rotd/.gitignore b/rotd/.gitignore new file mode 100644 index 0000000..5b8a7b8 --- /dev/null +++ b/rotd/.gitignore @@ -0,0 +1 @@ +/config/ diff --git a/rotd/Makefile b/rotd/Makefile new file mode 100644 index 0000000..5db6e1b --- /dev/null +++ b/rotd/Makefile @@ -0,0 +1,15 @@ +.POSIX: + +install: + mkdir -p -- ~/.config + if test ! -L ~/.config/rotd; then \ + test ! -e ~/.config/rotd && \ + ln -sf -- ~/.dotfiles/rotd/config ~/.config/rotd; \ + else \ + test "$(readlink ~/.config/rotd)" = ~/.dotfiles/rotd/config; \ + fi + +uninstall: + -unlink -- ~/.config/rotd + +.PHONY: install uninstall diff --git a/rust/Makefile b/rust/Makefile new file mode 100644 index 0000000..d58e207 --- /dev/null +++ b/rust/Makefile @@ -0,0 +1,20 @@ +.POSIX: + +install: + if test -d ~/.cargo; then \ + test ! -d ~/.var/lib/cargo && \ + mkdir -p -- ~/.var/lib && \ + mv ~/.cargo ~/.var/lib/cargo; \ + else \ + mkdir -p -- ~/.var/lib; \ + fi + test ! -d ~/.config/profile.d/rust + ln -sf -- ~/.dotfiles/rust/user-profile ~/.config/profile.d/rust + +uninstall: + -rm -rf -- ~/.var/cache/cargo + -rm -rf -- ~/.cargo + -unlink -- ~/.config/profile.d/rust + -rmdir -- ~/.config/profile.d + +.PHONY: install uninstall diff --git a/rust/user-profile b/rust/user-profile new file mode 100644 index 0000000..be94b1a --- /dev/null +++ b/rust/user-profile @@ -0,0 +1,3 @@ +# -*- shell-script -*- + +export CARGO_HOME=~/.var/lib/cargo diff --git a/signal-desktop/Makefile b/signal-desktop/Makefile new file mode 100644 index 0000000..1d82c40 --- /dev/null +++ b/signal-desktop/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/bash/aliases.d + test ! -d ~/.config/bash/aliases.d/signal-desktop + ln -sf -- ~/.dotfiles/signal-desktop/bash-aliases ~/.config/bash/aliases.d/signal-desktop + +uninstall: + -unlink -- ~/.config/bash/aliases.d/signal-desktop + -rmdir -- ~/.config/bash/aliases.d + +.PHONY: install uninstall diff --git a/signal-desktop/bash-aliases b/signal-desktop/bash-aliases new file mode 100644 index 0000000..1e76a52 --- /dev/null +++ b/signal-desktop/bash-aliases @@ -0,0 +1,15 @@ +# -*- shell-script -*- + +mount-signal () { + sudo printf '' && \ + device="$(sudo losetup --show -f -P ~/.var/signal/SignalCrypt.img)" && \ + printf '%s\n' "${device}" > "${XDG_RUNTIME_DIR}/SignalCrypt" && \ + gpg --decrypt ~/.var/signal/SignalCrypt.key | sudo cryptsetup -d - open "${device}" SignalCrypt && \ + sudo mount /dev/mapper/SignalCrypt /home/mattias/.var/signal/SignalCrypt.d +} + +umount-signal () { + sudo umount /home/mattias/.var/signal/SignalCrypt.d + sudo cryptsetup close SignalCrypt + sudo losetup --detach "$(cat -- "${XDG_RUNTIME_DIR}/SignalCrypt")" +} @@ -0,0 +1 @@ +openssh
\ No newline at end of file diff --git a/sudo/Makefile b/sudo/Makefile new file mode 100644 index 0000000..479092b --- /dev/null +++ b/sudo/Makefile @@ -0,0 +1,12 @@ +.POSIX: + +install: + mkdir -p -- ~/.config/bash/aliases.d + test ! -d ~/.config/bash/aliases.d/sudo + ln -sf -- ~/.dotfiles/sudo/bash-aliases ~/.config/bash/aliases.d/sudo + +uninstall: + -unlink -- ~/.config/bash/aliases.d/sudo + -rmdir -- ~/.config/bash/aliases.d + +.PHONY: install uninstall diff --git a/sudo/bash-aliases b/sudo/bash-aliases new file mode 100644 index 0000000..8276bd3 --- /dev/null +++ b/sudo/bash-aliases @@ -0,0 +1,8 @@ +# -*- shell-script -*- + +# DESCRIPTION: safeguards to prevent security exploitations + +# Prevents a program or shell function from pretending to be sudo +sudo () { + /usr/bin/sudo --prompt $'\e[01;32m[sudo] password for '"$USER"$': \033[00m' "$@" +} diff --git a/texinfo/Makefile b/texinfo/Makefile new file mode 100644 index 0000000..0cc5a60 --- /dev/null +++ b/texinfo/Makefile @@ -0,0 +1,16 @@ +.POSIX: + +install: + if test -x /usr/bin/info; then \ + mkdir -p -- ~/.config/bash/aliases.d && \ + test ! -d ~/.config/bash/aliases.d/texinfo && \ + ln -sf -- ~/.dotfiles/texinfo/bash-aliases ~/.config/bash/aliases.d/texinfo; \ + else \ + make uninstall; \ + fi + +uninstall: + -unlink -- ~/.config/bash/aliases.d/texinfo + -rmdir -- ~/.config/bash/aliases.d + +.PHONY: install uninstall diff --git a/texinfo/bash-aliases b/texinfo/bash-aliases new file mode 100644 index 0000000..b52e4e8 --- /dev/null +++ b/texinfo/bash-aliases @@ -0,0 +1,30 @@ +# -*- shell-script -*- + +#DESCRIPTION: Open a programs info manual and open the invoking chapter +#USAGE: iv [program] + +iv () { + __texinfo="$1" + shift 1 + info "(${__texinfo})" invoking "$@" + unset __texinfo +} + + +#DESCRIPTION: Open a programs info manual and try to select a usage page +#USAGE: iu [program] [node] + +iu () { + info --usage "$@" +} + + +#DESCRIPTION: Open a programs info manual +#USAGE: i [program] [node] + +i () { + __texinfo="$1" + shift 1 + info "(${__texinfo})" "$@" + unset __texinfo +} diff --git a/texlive-bin/Makefile b/texlive-bin/Makefile new file mode 100644 index 0000000..4b21f55 --- /dev/null +++ b/texlive-bin/Makefile @@ -0,0 +1,17 @@ +.POSIX: + +install: + if test -d ~/.texlive; then \ + test ! -d ~/.var/cache/texlive && \ + mkdir -p -- ~/.var/cache && \ + mv ~/.texlive ~/.var/cache/texlive; \ + else \ + mkdir -p -- ~/.var/cache/texlive; \ + fi + ln -sf -- .var/cache/texlive ~/.texlive + +uninstall: + -rm -rf -- ~/.var/cache/texlive + -rm -rf -- ~/.texlive + +.PHONY: install uninstall diff --git a/vlc/Makefile b/vlc/Makefile new file mode 100644 index 0000000..1438ec6 --- /dev/null +++ b/vlc/Makefile @@ -0,0 +1,9 @@ +.POSIX: + +install: + @: + +uninstall: + -rm -rf -- ~/.config/vlc + +.PHONY: install uninstall diff --git a/wget/Makefile b/wget/Makefile new file mode 100644 index 0000000..35c640f --- /dev/null +++ b/wget/Makefile @@ -0,0 +1,10 @@ +.POSIX: + +install: + test ! -d ~/.wget-hsts + ln -sf -- /dev/null ~/.wget-hsts + +uninstall: + -unlink -- ~/.wget-hsts + +.PHONY: install uninstall diff --git a/xmonad/Makefile b/xmonad/Makefile new file mode 100644 index 0000000..afb5a4b --- /dev/null +++ b/xmonad/Makefile @@ -0,0 +1,21 @@ +.POSIX: + +XINITRC_ORDER = 80 + +install: + pacman -Qq -- xwallpaper </dev/null >/dev/null + pacman -Qq -- xcman </dev/null >/dev/null + pacman -Qq -- pdeath </dev/null >/dev/null + pacman -Qq -- mate-panel </dev/null >/dev/null + -pacman -Qq -- mate-settings-daemon </dev/null >/dev/null + mkdir -p -- ~/.config/X11/xinit/xinitrc.d + test ! -d ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xmonad + ln -sf -- ~/.dotfiles/xmonad/xinit ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xmonad + +uninstall: + -unlink -- ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xmonad + -rmdir -- ~/.config/X11/xinit/xinitrc.d + -rmdir -- ~/.config/X11/xinit + -rmdir -- ~/.config/X11 + +.PHONY: install uninstall diff --git a/xmonad/xinit b/xmonad/xinit new file mode 100644 index 0000000..13f8392 --- /dev/null +++ b/xmonad/xinit @@ -0,0 +1,24 @@ +# -*- shell-script -*- + +# Only apply if starting xmonad as the window manager +if test "${SESSION}" = xmonad; then + + # Tell Java if we are using a non-reparenting window manager + export _JAVA_AWT_WM_NONREPARENTING=1 + + # Start GTK2 settings daemon + if test ! "${NO_MATE}" = y && test -x /usr/lib/mate-settings-daemon/mate-settings-daemon; then + /usr/lib/mate-settings-daemon/mate-settings-daemon & + sleep 0.5 + fi + + # Automatically focus output when mouse is moving in root window + pdeath HUP xmonad-autofocus-output & + + # Start composition manager + xcman & + + # Start application panel + mate-panel & + +fi diff --git a/xorg-twm/Makefile b/xorg-twm/Makefile new file mode 100644 index 0000000..8935a6f --- /dev/null +++ b/xorg-twm/Makefile @@ -0,0 +1,11 @@ +.POSIX: + +install: + mkdir -p -- ~/.config + test ! -d ~/.config/twmrc + ln -sf -- ~/.dotfiles/xorg-twm/twmrc ~/.config/twmrc + +uninstall: + -unlink -- ~/.config/twmrc + +.PHONY: install uninstall diff --git a/xorg-twm/twmrc b/xorg-twm/twmrc new file mode 100644 index 0000000..91869e1 --- /dev/null +++ b/xorg-twm/twmrc @@ -0,0 +1,93 @@ +# +# Default twm configuration file; needs to be kept small to conserve string +# space in systems whose compilers don't handle medium-sized strings. +# +# Sites should tailor this file, providing any extra title buttons, menus, etc. +# that may be appropriate for their environment. For example, if most of the +# users were accustomed to uwm, the defaults could be set up not to decorate +# any windows and to use meta-keys. +# + +NoGrabServer +RestartPreviousState +DecorateTransients +TitleFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*" +ResizeFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*" +MenuFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*" +IconFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*-*-*-*" +IconManagerFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*" +#ClientBorderWidth + +Color +{ + BorderColor "slategrey" + DefaultBackground "rgb:2/a/9" + DefaultForeground "gray85" + TitleBackground "rgb:2/a/9" + TitleForeground "gray85" + MenuBackground "rgb:2/a/9" + MenuForeground "gray85" + MenuBorderColor "slategrey" + MenuTitleBackground "gray70" + MenuTitleForeground "rgb:2/a/9" + IconBackground "rgb:2/a/9" + IconForeground "gray85" + IconBorderColor "gray85" + IconManagerBackground "rgb:2/a/9" + IconManagerForeground "gray85" +} + +# +# Define some useful functions for motion-based actions. +# +MoveDelta 3 +Function "move-or-lower" { f.move f.deltastop f.lower } +Function "move-or-raise" { f.move f.deltastop f.raise } +Function "move-or-iconify" { f.move f.deltastop f.iconify } + +# +# Set some useful bindings. Sort of uwm-ish, sort of simple-button-ish +# +Button1 = : root : f.menu "defops" + +Button1 = m : window|icon : f.function "move-or-lower" +Button2 = m : window|icon : f.iconify +Button3 = m : window|icon : f.function "move-or-raise" + +Button1 = : title : f.function "move-or-raise" +Button2 = : title : f.raiselower + +Button1 = : icon : f.function "move-or-iconify" +Button2 = : icon : f.iconify + +Button1 = : iconmgr : f.iconify +Button2 = : iconmgr : f.iconify + +# +# And a menus with the usual things +# +menu "defops" +{ +"Twm" f.title +"Iconify" f.iconify +"Resize" f.resize +"Move" f.move +"Raise" f.raise +"Lower" f.lower +"" f.nop +"Focus" f.focus +"Unfocus" f.unfocus +"Show Iconmgr" f.showiconmgr +"Hide Iconmgr" f.hideiconmgr +"" f.nop +"Terminator" f.exec "exec terminator &" +"Xterm" f.exec "exec xterm &" +"Firefox" f.exec "exec firefox &" +"Caja" f.exec "exec c &" +"" f.nop +"Kill" f.destroy +"Delete" f.delete +"" f.nop +"Restart" f.restart +"Exit" f.quit +} diff --git a/xorg-xinit/Makefile b/xorg-xinit/Makefile new file mode 100644 index 0000000..1c37d2f --- /dev/null +++ b/xorg-xinit/Makefile @@ -0,0 +1,36 @@ +.POSIX: + +XINITRC_ORDER = 50 + +# Testing that xmonad is installed because it is the default sessions +# Testing that asroot, xorg-setxkbmap, and xorg-xmodmap are installed because setkeys uses them +install: + pacman -Qq -- asroot </dev/null >/dev/null + pacman -Qq -- dconf </dev/null >/dev/null + pacman -Qq -- xmonad </dev/null >/dev/null + pacman -Qq -- xorg-setxkbmap </dev/null >/dev/null + pacman -Qq -- xorg-xmodmap </dev/null >/dev/null + pacman -Qq -- xorg-xrandr </dev/null >/dev/null + pacman -Qq -- xorg-xrdb </dev/null >/dev/null + pacman -Qq -- xorg-xset </dev/null >/dev/null + pacman -Qq -- xorg-xsetroot </dev/null >/dev/null + mkdir -p -- ~/.config/bash/aliases.d + test ! -d ~/.config/bash/aliases.d/xorg-xinit + ln -sf -- ~/.dotfiles/xorg-xinit/bash-aliases ~/.config/bash/aliases.d/xorg-xinit + mkdir -p -- ~/.config/X11/xinit + test ! -d ~/.config/X11/xinit/xinitrc + ln -sf -- ~/.dotfiles/xorg-xinit/xinitrc ~/.config/X11/xinit/xinitrc + mkdir -p -- ~/.config/X11/xinit/xinitrc.d + test ! -d ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xorg-xinit + ln -sf -- ~/.dotfiles/xorg-xinit/xinit ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xorg-xinit + +uninstall: + -unlink -- ~/.config/bash/aliases.d/xorg-xinit + -rmdir -- ~/.config/bash/aliases.d + -unlink -- ~/.config/X11/xinit/xinitrc + -unlink -- ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xorg-xinit + -rmdir -- ~/.config/X11/xinit/xinitrc.d + -rmdir -- ~/.config/X11/xinit + -rmdir -- ~/.config/X11 + +.PHONY: install uninstall diff --git a/xorg-xinit/bash-aliases b/xorg-xinit/bash-aliases new file mode 100644 index 0000000..14b2000 --- /dev/null +++ b/xorg-xinit/bash-aliases @@ -0,0 +1,9 @@ +# -*- shell-script -*- + +if test "$TERM" = dumb; then + alias startx='printf '\''\e[1;31m%s\e[0m\n\c'\'' "Do not start an X session from a dumb terminal"; false' + alias xinit='printf '\''\e[1;31m%s\e[0m\n\c'\'' "Do not start an X session from a dumb terminal"; false' +elif test ! "$TERM" = linux || test -n "$DISPLAY"; then + alias startx='printf '\''\e[1;31m%s\e[0m\n\c'\'' "Do not start an X session from within an X session"; false' + alias xinit='printf '\''\e[1;31m%s\e[0m\n\c'\'' "Do not start an X session from within an X session"; false' +fi diff --git a/xorg-xinit/xinit b/xorg-xinit/xinit new file mode 100644 index 0000000..bd1874c --- /dev/null +++ b/xorg-xinit/xinit @@ -0,0 +1,7 @@ +# -*- shell-script -*- + +for f in /etc/X11/xinit/xinitrc.d/*; do + if test -r "$f"; then + . -- "$f" + fi +done diff --git a/xorg-xinit/xinitrc b/xorg-xinit/xinitrc new file mode 100644 index 0000000..5d6a3ab --- /dev/null +++ b/xorg-xinit/xinitrc @@ -0,0 +1,30 @@ +# -*- shell-script -*- + +# Get selected session +default_session=xmonad +SESSION_="$SESSION" +if test -z "$SESSION" = ""; then + SESSION="$default_session" + SESSION_="$SESSION" +fi + +# Export DESKTOP_SESSION +if [ ! "${SET_DESKTOP_SESSION}" = n ]; then + export DESKTOP_SESSION="$SESSION" +fi + +# Apply package specific settings and run package specific programs +for f in ~/.config/X11/xinit/xinitrc.d/*; do + if test -r "$f"; then + . -- "$f" + fi +done + +# Set keyboard settings +setkeys + +# Start hotkey daemon +xkbdbind & + +# Start session +exec ${SESSION_WRAPPER} "$SESSION" diff --git a/xorg-xrandr/Makefile b/xorg-xrandr/Makefile new file mode 100644 index 0000000..6eed73b --- /dev/null +++ b/xorg-xrandr/Makefile @@ -0,0 +1,18 @@ +.POSIX: + +XINITRC_ORDER = 15 + +# Testing that xwallpaper is installed because setres calls it +install: + pacman -Qq -- xwallpaper </dev/null >/dev/null + mkdir -p -- ~/.config/X11/xinit/xinitrc.d + test ! -d ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xorg-xrandr + ln -sf -- ~/.dotfiles/xorg-xrandr/xinit ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xorg-xrandr + +uninstall: + -unlink -- ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xorg-xrandr + -rmdir -- ~/.config/X11/xinit/xinitrc.d + -rmdir -- ~/.config/X11/xinit + -rmdir -- ~/.config/X11 + +.PHONY: install uninstall diff --git a/xorg-xrandr/xinit b/xorg-xrandr/xinit new file mode 100644 index 0000000..771d2ff --- /dev/null +++ b/xorg-xrandr/xinit @@ -0,0 +1,4 @@ +# -*- shell-script -*- + +# Set screen layout, resolution and calibration +setres diff --git a/xorg-xrdb/Makefile b/xorg-xrdb/Makefile new file mode 100644 index 0000000..7dce6db --- /dev/null +++ b/xorg-xrdb/Makefile @@ -0,0 +1,16 @@ +.POSIX: + +XINITRC_ORDER = 20 + +install: + mkdir -p -- ~/.config/X11/xinit/xinitrc.d + test ! -d ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xorg-xrdb + ln -sf -- ~/.dotfiles/xorg-xrdb/xinit ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xorg-xrdb + +uninstall: + -unlink -- ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xorg-xrdb + -rmdir -- ~/.config/X11/xinit/xinitrc.d + -rmdir -- ~/.config/X11/xinit + -rmdir -- ~/.config/X11 + +.PHONY: install uninstall diff --git a/xorg-xrdb/xinit b/xorg-xrdb/xinit new file mode 100644 index 0000000..b93f2d0 --- /dev/null +++ b/xorg-xrdb/xinit @@ -0,0 +1,12 @@ +# -*- shell-script -*- + +# Set font settings and potentionally other resources +if test -r /etc/X11/xinit/Xresources; then + xrdb -merge /etc/X11/xinit/Xresources +fi +if test -r ~/.config/X11/xinit/Xresources; then + xrdb -merge ~/.config/X11/xinit/Xresources +fi +if test -r ~/.Xresources; then + xrdb -merge ~/.Xresources +fi diff --git a/xorg-xset/Makefile b/xorg-xset/Makefile new file mode 100644 index 0000000..18a23be --- /dev/null +++ b/xorg-xset/Makefile @@ -0,0 +1,16 @@ +.POSIX: + +XINITRC_ORDER = 20 + +install: + mkdir -p -- ~/.config/X11/xinit/xinitrc.d + test ! -d ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xorg-xset + ln -sf -- ~/.dotfiles/xorg-xset/xinit ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xorg-xset + +uninstall: + -unlink -- ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xorg-xset + -rmdir -- ~/.config/X11/xinit/xinitrc.d + -rmdir -- ~/.config/X11/xinit + -rmdir -- ~/.config/X11 + +.PHONY: install uninstall diff --git a/xorg-xset/xinit b/xorg-xset/xinit new file mode 100644 index 0000000..1d8433a --- /dev/null +++ b/xorg-xset/xinit @@ -0,0 +1,4 @@ +# -*- shell-script -*- + +# Turn off screen saver +xset -dpms s off diff --git a/xorg-xsetroot/Makefile b/xorg-xsetroot/Makefile new file mode 100644 index 0000000..05648e8 --- /dev/null +++ b/xorg-xsetroot/Makefile @@ -0,0 +1,16 @@ +.POSIX: + +XINITRC_ORDER = 20 + +install: + mkdir -p -- ~/.config/X11/xinit/xinitrc.d + test ! -d ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xorg-xsetroot + ln -sf -- ~/.dotfiles/xorg-xsetroot/xinit ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xorg-xsetroot + +uninstall: + -unlink -- ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xorg-xsetroot + -rmdir -- ~/.config/X11/xinit/xinitrc.d + -rmdir -- ~/.config/X11/xinit + -rmdir -- ~/.config/X11 + +.PHONY: install uninstall diff --git a/xorg-xsetroot/xinit b/xorg-xsetroot/xinit new file mode 100644 index 0000000..27f06b1 --- /dev/null +++ b/xorg-xsetroot/xinit @@ -0,0 +1,4 @@ +# -*- shell-script -*- + +# Set cursor to right handed pointer +xsetroot -cursor_name left_ptr diff --git a/xwallpaper/Makefile b/xwallpaper/Makefile new file mode 100644 index 0000000..1d7f330 --- /dev/null +++ b/xwallpaper/Makefile @@ -0,0 +1,20 @@ +.POSIX: + +XINITRC_ORDER = 20 + +install: + pacman -Qq -- xcman </dev/null >/dev/null + pacman -Qq -- pdeath </dev/null >/dev/null + pacman -Qq -- mate-panel </dev/null >/dev/null + -pacman -Qq -- mate-settings-daemon </dev/null >/dev/null + mkdir -p -- ~/.config/X11/xinit/xinitrc.d + test ! -d ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xwallpaper + ln -sf -- ~/.dotfiles/xwallpaper/xinit ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xwallpaper + +uninstall: + -unlink -- ~/.config/X11/xinit/xinitrc.d/$(XINITRC_ORDER)-xwallpaper + -rmdir -- ~/.config/X11/xinit/xinitrc.d + -rmdir -- ~/.config/X11/xinit + -rmdir -- ~/.config/X11 + +.PHONY: install uninstall diff --git a/xwallpaper/xinit b/xwallpaper/xinit new file mode 100644 index 0000000..9080e46 --- /dev/null +++ b/xwallpaper/xinit @@ -0,0 +1,10 @@ +# -*- shell-script -*- + +# Set background +if test -f ~/.config/background."${SESSION_}"; then + xwallpaper --zoom ~/.config/background."${SESSION_}" +elif test -f ~/.config/background; then + xwallpaper --zoom ~/.config/background +elif test -f /etc/background; then + xwallpaper --zoom /etc/background +fi diff --git a/zathura/Makefile b/zathura/Makefile new file mode 100644 index 0000000..cd99a66 --- /dev/null +++ b/zathura/Makefile @@ -0,0 +1,9 @@ +.POSIX: + +install: + -rmdir -- ~/.config/zathura + +uninstall: + -rm -rf -- ~/.config/zathura + +.PHONY: install uninstall |