This commit is contained in:
2026-03-24 22:53:51 -04:00
parent fe74e79404
commit 89dc5175d9
115 changed files with 1709 additions and 437 deletions

18
.gitmodules vendored Normal file
View File

@@ -0,0 +1,18 @@
[submodule "CustomizeLinux/adw-gtk3"]
path = CustomizeLinux/adw-gtk3
url = git@github.com:lassekongo83/adw-gtk3.git
[submodule "CustomizeLinux/minegrub"]
path = CustomizeLinux/minegrub
url = https://github.com/Lxtharia/minegrub-theme.git
[submodule "CustomizeLinux/posy-cursors"]
path = CustomizeLinux/posy-cursors
url = git@github.com:notkaramel/posy-cursors.git
[submodule "CustomizeLinux/SpotX-Bash"]
path = CustomizeLinux/SpotX-Bash
url = https://github.com/SpotX-Official/SpotX-Bash.git
[submodule "CustomizeLinux/Tela-icon-theme"]
path = CustomizeLinux/Tela-icon-theme
url = git@github.com:vinceliuice/Tela-icon-theme.git
[submodule "CustomizeLinux/yay"]
path = CustomizeLinux/yay
url = https://aur.archlinux.org/yay.git

0
.nvimlog Normal file
View File

365
CustomizeLinux/colortest Normal file
View File

@@ -0,0 +1,365 @@
#!/usr/bin/perl
# by entheon, do whatever the hell you want with this file
print "\n";
print "**************************\n";
print "*XTERM 256Color Test Chart\n";
print "**************************\n";
print "* 16 = black\n";
print "* 255 = white\n";
print "*\n";
print "* Usage:\n";
print "* colortest -w\n";
print "* wide display\n";
print "*\n";
print "* colortest -w -r\n";
print "* wide display reversed\n";
print "*\n";
print "* colortest -w -s\n";
print "* extra spaces padding\n";
print "*\n";
print "* colortest -w -r -s\n";
print "* available combination\n";
print "*\n";
print "**************************\n";
if( $ARGV[0] eq "-w" || $ARGV[1] eq "-w" || $ARGV[2] eq "-w" ) {
push(@arr, [( " 16: 00/00/00", " 17: 00/00/5f", " 18: 00/00/87", " 19: 00/00/af", " 20: 00/00/d7", " 21: 00/00/ff")] );
push(@arr, [( " 22: 00/5f/00", " 23: 00/5f/5f", " 24: 00/5f/87", " 25: 00/5f/af", " 26: 00/5f/d7", " 27: 00/5f/ff")] );
push(@arr, [( " 28: 00/87/00", " 29: 00/87/5f", " 30: 00/87/87", " 31: 00/87/af", " 32: 00/87/d7", " 33: 00/87/ff")] );
push(@arr, [( " 34: 00/af/00", " 35: 00/af/5f", " 36: 00/af/87", " 37: 00/af/af", " 38: 00/af/d7", " 39: 00/af/ff")] );
push(@arr, [( " 40: 00/d7/00", " 41: 00/d7/5f", " 42: 00/d7/87", " 43: 00/d7/af", " 44: 00/d7/d7", " 45: 00/d7/ff")] );
push(@arr, [( " 46: 00/ff/00", " 47: 00/ff/5f", " 48: 00/ff/87", " 49: 00/ff/af", " 50: 00/ff/d7", " 51: 00/ff/ff")] );
push(@arr, [( " 52: 5f/00/00", " 53: 5f/00/5f", " 54: 5f/00/87", " 55: 5f/00/af", " 56: 5f/00/d7", " 57: 5f/00/ff")] );
push(@arr, [( " 58: 5f/5f/00", " 59: 5f/5f/5f", " 60: 5f/5f/87", " 61: 5f/5f/af", " 62: 5f/5f/d7", " 63: 5f/5f/ff")] );
push(@arr, [( " 64: 5f/87/00", " 65: 5f/87/5f", " 66: 5f/87/87", " 67: 5f/87/af", " 68: 5f/87/d7", " 69: 5f/87/ff")] );
push(@arr, [( " 70: 5f/af/00", " 71: 5f/af/5f", " 72: 5f/af/87", " 73: 5f/af/af", " 74: 5f/af/d7", " 75: 5f/af/ff")] );
push(@arr, [( " 76: 5f/d7/00", " 77: 5f/d7/5f", " 78: 5f/d7/87", " 79: 5f/d7/af", " 80: 5f/d7/d7", " 81: 5f/d7/ff")] );
push(@arr, [( " 82: 5f/ff/00", " 83: 5f/ff/5f", " 84: 5f/ff/87", " 85: 5f/ff/af", " 86: 5f/ff/d7", " 87: 5f/ff/ff")] );
push(@arr, [( " 88: 87/00/00", " 89: 87/00/5f", " 90: 87/00/87", " 91: 87/00/af", " 92: 87/00/d7", " 93: 87/00/ff")] );
push(@arr, [( " 94: 87/5f/00", " 95: 87/5f/5f", " 96: 87/5f/87", " 97: 87/5f/af", " 98: 87/5f/d7", " 99: 87/5f/ff")] );
push(@arr, [( " 100: 87/87/00", " 101: 87/87/5f", " 102: 87/87/87", " 103: 87/87/af", " 104: 87/87/d7", " 105: 87/87/ff")] );
push(@arr, [( " 106: 87/af/00", " 107: 87/af/5f", " 108: 87/af/87", " 109: 87/af/af", " 110: 87/af/d7", " 111: 87/af/ff")] );
push(@arr, [( " 112: 87/d7/00", " 113: 87/d7/5f", " 114: 87/d7/87", " 115: 87/d7/af", " 116: 87/d7/d7", " 117: 87/d7/ff")] );
push(@arr, [( " 118: 87/ff/00", " 119: 87/ff/5f", " 120: 87/ff/87", " 121: 87/ff/af", " 122: 87/ff/d7", " 123: 87/ff/ff")] );
push(@arr, [( " 124: af/00/00", " 125: af/00/5f", " 126: af/00/87", " 127: af/00/af", " 128: af/00/d7", " 129: af/00/ff")] );
push(@arr, [( " 130: af/5f/00", " 131: af/5f/5f", " 132: af/5f/87", " 133: af/5f/af", " 134: af/5f/d7", " 135: af/5f/ff")] );
push(@arr, [( " 136: af/87/00", " 137: af/87/5f", " 138: af/87/87", " 139: af/87/af", " 140: af/87/d7", " 141: af/87/ff")] );
push(@arr, [( " 142: af/af/00", " 143: af/af/5f", " 144: af/af/87", " 145: af/af/af", " 146: af/af/d7", " 147: af/af/ff")] );
push(@arr, [( " 148: af/d7/00", " 149: af/d7/5f", " 150: af/d7/87", " 151: af/d7/af", " 152: af/d7/d7", " 153: af/d7/ff")] );
push(@arr, [( " 154: af/ff/00", " 155: af/ff/5f", " 156: af/ff/87", " 157: af/ff/af", " 158: af/ff/d7", " 159: af/ff/ff")] );
push(@arr, [( " 160: d7/00/00", " 161: d7/00/5f", " 162: d7/00/87", " 163: d7/00/af", " 164: d7/00/d7", " 165: d7/00/ff")] );
push(@arr, [( " 166: d7/5f/00", " 167: d7/5f/5f", " 168: d7/5f/87", " 169: d7/5f/af", " 170: d7/5f/d7", " 171: d7/5f/ff")] );
push(@arr, [( " 172: d7/87/00", " 173: d7/87/5f", " 174: d7/87/87", " 175: d7/87/af", " 176: d7/87/d7", " 177: d7/87/ff")] );
push(@arr, [( " 178: d7/af/00", " 179: d7/af/5f", " 180: d7/af/87", " 181: d7/af/af", " 182: d7/af/d7", " 183: d7/af/ff")] );
push(@arr, [( " 184: d7/d7/00", " 185: d7/d7/5f", " 186: d7/d7/87", " 187: d7/d7/af", " 188: d7/d7/d7", " 189: d7/d7/ff")] );
push(@arr, [( " 190: d7/ff/00", " 191: d7/ff/5f", " 192: d7/ff/87", " 193: d7/ff/af", " 194: d7/ff/d7", " 195: d7/ff/ff")] );
push(@arr, [( " 196: ff/00/00", " 197: ff/00/5f", " 198: ff/00/87", " 199: ff/00/af", " 200: ff/00/d7", " 201: ff/00/ff")] );
push(@arr, [( " 202: ff/5f/00", " 203: ff/5f/5f", " 204: ff/5f/87", " 205: ff/5f/af", " 206: ff/5f/d7", " 207: ff/5f/ff")] );
push(@arr, [( " 208: ff/87/00", " 209: ff/87/5f", " 210: ff/87/87", " 211: ff/87/af", " 212: ff/87/d7", " 213: ff/87/ff")] );
push(@arr, [( " 214: ff/af/00", " 215: ff/af/5f", " 216: ff/af/87", " 217: ff/af/af", " 218: ff/af/d7", " 219: ff/af/ff")] );
push(@arr, [( " 220: ff/d7/00", " 221: ff/d7/5f", " 222: ff/d7/87", " 223: ff/d7/af", " 224: ff/d7/d7", " 225: ff/d7/ff")] );
push(@arr, [( " 226: ff/ff/00", " 227: ff/ff/5f", " 228: ff/ff/87", " 229: ff/ff/af", " 230: ff/ff/d7", " 231: ff/ff/ff")] );
push(@arr, [( " 232: 08/08/08", " 233: 12/12/12", " 234: 1c/1c/1c", " 235: 26/26/26", " 236: 30/30/30", " 237: 3a/3a/3a")] );
push(@arr, [( " 238: 44/44/44", " 239: 4e/4e/4e", " 240: 58/58/58", " 241: 62/62/62", " 242: 6c/6c/6c", " 243: 76/76/76")] );
push(@arr, [( " 244: 80/80/80", " 245: 8a/8a/8a", " 246: 94/94/94", " 247: 9e/9e/9e", " 248: a8/a8/a8", " 249: b2/b2/b2")] );
push(@arr, [( " 250: bc/bc/bc", " 251: c6/c6/c6", " 252: d0/d0/d0", " 253: da/da/da", " 254: e4/e4/e4", " 255: ee/ee/ee")] );
if( $ARGV[0] eq "-s" || $ARGV[1] eq "-s" || $ARGV[2] eq "-s" ){
$padding = " ";
}
else {
}
# display in reverse order
if( $ARGV[0] eq "-r" || $ARGV[1] eq "-r" || $ARGV[2] eq "-r" ){
for( $dimone = 0; $dimone < scalar @arr; $dimone++ ) {
$seed = ($dimone % 6) * -1;
for( $dimtwo = 0; $dimtwo < 6; $dimtwo++ ) {
$movone = $seed;
$movtwo = $seed * -1;
print $arr[$dimone][$dimtwo] . $padding;
$seed = $seed+1;
}
print "\n";
}
}
else {
for( $dimone = 0; $dimone < scalar @arr; $dimone++ ) {
$seed = ($dimone % 6) * -1;
for( $dimtwo = 0; $dimtwo < 6; $dimtwo++ ) {
$movone = $seed;
$movtwo = $seed * -1;
$newone = $dimone+$movone;
$newtwo = $dimtwo+$movtwo;
if( $newone < scalar @arr ){
print $arr[$newone][$newtwo] . $padding;
}
$seed = $seed+1;
}
print "\n";
}
}
print "\n";
print "\n";
}
else {
print " 16: 00/00/00\n";
print " 17: 00/00/5f\n";
print " 18: 00/00/87\n";
print " 19: 00/00/af\n";
print " 20: 00/00/d7\n";
print " 21: 00/00/ff\n";
print " 22: 00/5f/00\n";
print " 23: 00/5f/5f\n";
print " 24: 00/5f/87\n";
print " 25: 00/5f/af\n";
print " 26: 00/5f/d7\n";
print " 27: 00/5f/ff\n";
print " 28: 00/87/00\n";
print " 29: 00/87/5f\n";
print " 30: 00/87/87\n";
print " 31: 00/87/af\n";
print " 32: 00/87/d7\n";
print " 33: 00/87/ff\n";
print " 34: 00/af/00\n";
print " 35: 00/af/5f\n";
print " 36: 00/af/87\n";
print " 37: 00/af/af\n";
print " 38: 00/af/d7\n";
print " 39: 00/af/ff\n";
print " 40: 00/d7/00\n";
print " 41: 00/d7/5f\n";
print " 42: 00/d7/87\n";
print " 43: 00/d7/af\n";
print " 44: 00/d7/d7\n";
print " 45: 00/d7/ff\n";
print " 46: 00/ff/00\n";
print " 47: 00/ff/5f\n";
print " 48: 00/ff/87\n";
print " 49: 00/ff/af\n";
print " 50: 00/ff/d7\n";
print " 51: 00/ff/ff\n";
print " 52: 5f/00/00\n";
print " 53: 5f/00/5f\n";
print " 54: 5f/00/87\n";
print " 55: 5f/00/af\n";
print " 56: 5f/00/d7\n";
print " 57: 5f/00/ff\n";
print " 58: 5f/5f/00\n";
print " 59: 5f/5f/5f\n";
print " 60: 5f/5f/87\n";
print " 61: 5f/5f/af\n";
print " 62: 5f/5f/d7\n";
print " 63: 5f/5f/ff\n";
print " 64: 5f/87/00\n";
print " 65: 5f/87/5f\n";
print " 66: 5f/87/87\n";
print " 67: 5f/87/af\n";
print " 68: 5f/87/d7\n";
print " 69: 5f/87/ff\n";
print " 70: 5f/af/00\n";
print " 71: 5f/af/5f\n";
print " 72: 5f/af/87\n";
print " 73: 5f/af/af\n";
print " 74: 5f/af/d7\n";
print " 75: 5f/af/ff\n";
print " 76: 5f/d7/00\n";
print " 77: 5f/d7/5f\n";
print " 78: 5f/d7/87\n";
print " 79: 5f/d7/af\n";
print " 80: 5f/d7/d7\n";
print " 81: 5f/d7/ff\n";
print " 82: 5f/ff/00\n";
print " 83: 5f/ff/5f\n";
print " 84: 5f/ff/87\n";
print " 85: 5f/ff/af\n";
print " 86: 5f/ff/d7\n";
print " 87: 5f/ff/ff\n";
print " 88: 87/00/00\n";
print " 89: 87/00/5f\n";
print " 90: 87/00/87\n";
print " 91: 87/00/af\n";
print " 92: 87/00/d7\n";
print " 93: 87/00/ff\n";
print " 94: 87/5f/00\n";
print " 95: 87/5f/5f\n";
print " 96: 87/5f/87\n";
print " 97: 87/5f/af\n";
print " 98: 87/5f/d7\n";
print " 99: 87/5f/ff\n";
print " 100 :87/87/00\n";
print " 101 :87/87/5f\n";
print " 102 :87/87/87\n";
print " 103 :87/87/af\n";
print " 104 :87/87/d7\n";
print " 105 :87/87/ff\n";
print " 106 :87/af/00\n";
print " 107 :87/af/5f\n";
print " 108 :87/af/87\n";
print " 109 :87/af/af\n";
print " 110 :87/af/d7\n";
print " 111 :87/af/ff\n";
print " 112 :87/d7/00\n";
print " 113 :87/d7/5f\n";
print " 114 :87/d7/87\n";
print " 115 :87/d7/af\n";
print " 116 :87/d7/d7\n";
print " 117 :87/d7/ff\n";
print " 118 :87/ff/00\n";
print " 119 :87/ff/5f\n";
print " 120 :87/ff/87\n";
print " 121 :87/ff/af\n";
print " 122 :87/ff/d7\n";
print " 123 :87/ff/ff\n";
print " 124 :af/00/00\n";
print " 125 :af/00/5f\n";
print " 126 :af/00/87\n";
print " 127 :af/00/af\n";
print " 128 :af/00/d7\n";
print " 129 :af/00/ff\n";
print " 130 :af/5f/00\n";
print " 131 :af/5f/5f\n";
print " 132 :af/5f/87\n";
print " 133 :af/5f/af\n";
print " 134 :af/5f/d7\n";
print " 135 :af/5f/ff\n";
print " 136 :af/87/00\n";
print " 137 :af/87/5f\n";
print " 138 :af/87/87\n";
print " 139 :af/87/af\n";
print " 140 :af/87/d7\n";
print " 141 :af/87/ff\n";
print " 142 :af/af/00\n";
print " 143 :af/af/5f\n";
print " 144 :af/af/87\n";
print " 145 :af/af/af\n";
print " 146 :af/af/d7\n";
print " 147 :af/af/ff\n";
print " 148 :af/d7/00\n";
print " 149 :af/d7/5f\n";
print " 150 :af/d7/87\n";
print " 151 :af/d7/af\n";
print " 152 :af/d7/d7\n";
print " 153 :af/d7/ff\n";
print " 154 :af/ff/00\n";
print " 155 :af/ff/5f\n";
print " 156 :af/ff/87\n";
print " 157 :af/ff/af\n";
print " 158 :af/ff/d7\n";
print " 159 :af/ff/ff\n";
print " 160 :d7/00/00\n";
print " 161 :d7/00/5f\n";
print " 162 :d7/00/87\n";
print " 163 :d7/00/af\n";
print " 164 :d7/00/d7\n";
print " 165 :d7/00/ff\n";
print " 166 :d7/5f/00\n";
print " 167 :d7/5f/5f\n";
print " 168 :d7/5f/87\n";
print " 169 :d7/5f/af\n";
print " 170 :d7/5f/d7\n";
print " 171 :d7/5f/ff\n";
print " 172 :d7/87/00\n";
print " 173 :d7/87/5f\n";
print " 174 :d7/87/87\n";
print " 175 :d7/87/af\n";
print " 176 :d7/87/d7\n";
print " 177 :d7/87/ff\n";
print " 178 :d7/af/00\n";
print " 179 :d7/af/5f\n";
print " 180 :d7/af/87\n";
print " 181 :d7/af/af\n";
print " 182 :d7/af/d7\n";
print " 183 :d7/af/ff\n";
print " 184 :d7/d7/00\n";
print " 185 :d7/d7/5f\n";
print " 186 :d7/d7/87\n";
print " 187 :d7/d7/af\n";
print " 188 :d7/d7/d7\n";
print " 189 :d7/d7/ff\n";
print " 190 :d7/ff/00\n";
print " 191 :d7/ff/5f\n";
print " 192 :d7/ff/87\n";
print " 193 :d7/ff/af\n";
print " 194 :d7/ff/d7\n";
print " 195 :d7/ff/ff\n";
print " 196 :ff/00/00\n";
print " 197 :ff/00/5f\n";
print " 198 :ff/00/87\n";
print " 199 :ff/00/af\n";
print " 200 :ff/00/d7\n";
print " 201 :ff/00/ff\n";
print " 202 :ff/5f/00\n";
print " 203 :ff/5f/5f\n";
print " 204 :ff/5f/87\n";
print " 205 :ff/5f/af\n";
print " 206 :ff/5f/d7\n";
print " 207 :ff/5f/ff\n";
print " 208 :ff/87/00\n";
print " 209 :ff/87/5f\n";
print " 210 :ff/87/87\n";
print " 211 :ff/87/af\n";
print " 212 :ff/87/d7\n";
print " 213 :ff/87/ff\n";
print " 214 :ff/af/00\n";
print " 215 :ff/af/5f\n";
print " 216 :ff/af/87\n";
print " 217 :ff/af/af\n";
print " 218 :ff/af/d7\n";
print " 219 :ff/af/ff\n";
print " 220 :ff/d7/00\n";
print " 221 :ff/d7/5f\n";
print " 222 :ff/d7/87\n";
print " 223 :ff/d7/af\n";
print " 224 :ff/d7/d7\n";
print " 225 :ff/d7/ff\n";
print " 226 :ff/ff/00\n";
print " 227 :ff/ff/5f\n";
print " 228 :ff/ff/87\n";
print " 229 :ff/ff/af\n";
print " 230 :ff/ff/d7\n";
print " 231 :ff/ff/ff\n";
print " 232 :08/08/08\n";
print " 233 :12/12/12\n";
print " 234 :1c/1c/1c\n";
print " 235 :26/26/26\n";
print " 236 :30/30/30\n";
print " 237 :3a/3a/3a\n";
print " 238 :44/44/44\n";
print " 239 :4e/4e/4e\n";
print " 240 :58/58/58\n";
print " 241 :62/62/62\n";
print " 242 :6c/6c/6c\n";
print " 243 :76/76/76\n";
print " 244 :80/80/80\n";
print " 245 :8a/8a/8a\n";
print " 246 :94/94/94\n";
print " 247 :9e/9e/9e\n";
print " 248 :a8/a8/a8\n";
print " 249 :b2/b2/b2\n";
print " 250 :bc/bc/bc\n";
print " 251 :c6/c6/c6\n";
print " 252 :d0/d0/d0\n";
print " 253 :da/da/da\n";
print " 254 :e4/e4/e4\n";
print " 255 :ee/ee/ee\n";
print "\n";
print "\n";
}
print "0m";
exit;

1
CustomizeLinux/yay Submodule

Submodule CustomizeLinux/yay added at 1a092538eb

191
README.md
View File

@@ -1,51 +1,190 @@
# dotfiles # dotfiles
My configuration and styling for things I use on my Linux PC, while embracing the power of GNU Stow and symlink!
My configuration and styling for things I use on my Linux PC, embracing the power of GNU Stow and symlinks.
## Quick start
```sh ```sh
git clone git@github.com:notkaramel/dotfiles ~/dotfiles git clone --recurse-submodules git@github.com:notkaramel/dotfiles ~/dotfiles
cd ~/dotfiles cd ~/dotfiles
stow <the app> stow <app>
``` ```
Behind the scene, by default, Stow does: If you already cloned without submodules:
```sh ```sh
stow <the app> --target ~/ git submodule update --init --recursive
# --target -> the parent folder
``` ```
Credit: to [**Dreams of Autonomy** video](https://youtu.be/y6XCebnB9gs) and [**DevInsideYou**'s video](https://youtu.be/CFzEuBGPPPg) on GNU stow. ---
# License (CC0 1.0 Universal) ## GNU Stow
> See [LICENSE](LICENSE) for the full text.
notkaramel/dotfiles by Antoine Phan (@notkaramel) is marked with CC0 1.0 Universal. To view a copy of this license, visit http://creativecommons.org/publicdomain/zero/1.0 [GNU Stow](https://www.gnu.org/software/stow/) symlinks a package directory's contents into a target directory. By default the target is the parent of the current directory, so running from `~/dotfiles` symlinks into `~/`.
Essentially, you can do whatever you want with this and no need to credit me for the :sparkles: inspiration :sparkles:. (I'd appreciate it if you did, though!) ### User-local installation (default)
# Notes Installs configs into `~/` — no root required.
- Network interface is set to `wlan0`
# Useful commands:
- Getting all the local packages (`pacman`)
```sh ```sh
pacman -Qs | grep "local/" | awk '{print $1}' - | awk -F '/' '{print $2}' > allPackages.txt # From ~/dotfiles:
``` stow zsh # → ~/.zshrc, etc.
- (Re)Installing all packages back stow alacritty # → ~/.config/alacritty/
```sh stow nvim # → ~/.config/nvim/
cat allPackages.txt | yay -S - --needed stow waybar # → ~/.config/waybar/
``` ```
# Actively using programs This is equivalent to:
```sh
stow <app> --target ~/
```
To remove (unstow):
```sh
stow -D <app>
```
### System-wide installation (requires sudo)
Some programs install assets into system directories under `/usr/share/`. Use `--target` to override the destination.
```sh
# Themes → /usr/share/themes/
sudo stow <theme> --dir ~/dotfiles --target /usr/share/themes
# Icons/cursors → /usr/share/icons/
sudo stow <icon-theme> --dir ~/dotfiles --target /usr/share/icons
# Fonts → /usr/share/fonts/
sudo stow <font> --dir ~/dotfiles --target /usr/share/fonts
```
To remove a system-wide stow:
```sh
sudo stow -D <app> --dir ~/dotfiles --target /usr/share/themes
```
---
## CustomizeLinux
Third-party programs and themes managed as git submodules under `CustomizeLinux/`. After cloning with `--recurse-submodules` they are ready to use.
| Directory | Description | Install target |
|-----------|-------------|----------------|
| `adw-gtk3` | GTK3 libadwaita theme | `/usr/share/themes` (system) or `~/.themes` (user) |
| `minegrub` | Minecraft-style GRUB theme | `/boot/grub/themes` (requires sudo) |
| `posy-cursors` | Clean cursor theme | `/usr/share/icons` (system) or `~/.local/share/icons` (user) |
| `SpotX-Bash` | Spotify ad-blocker patch script | Run as user |
| `Tela-icon-theme` | Flat icon theme | `/usr/share/icons` (system) or `~/.local/share/icons` (user) |
| `yay` | AUR helper PKGBUILD | Build with `makepkg -si` |
### adw-gtk3
```sh
cd CustomizeLinux/adw-gtk3
# User install (~/.themes)
./install_theme.sh
# System install (/usr/share/themes)
sudo ./install_theme.sh
```
### minegrub (GRUB theme — requires sudo)
```sh
cd CustomizeLinux/minegrub
# Follow README instructions, then:
sudo cp -r minegrub-theme /boot/grub/themes/
# Update /etc/default/grub: GRUB_THEME="/boot/grub/themes/minegrub-theme/theme.txt"
sudo grub-mkconfig -o /boot/grub/grub.cfg
```
### posy-cursors
```sh
cd CustomizeLinux/posy-cursors
# User install
mkdir -p ~/.local/share/icons
cp -r posy-cursor* ~/.local/share/icons/
# System install
sudo cp -r posy-cursor* /usr/share/icons/
```
### SpotX-Bash
```sh
cd CustomizeLinux/SpotX-Bash
bash spotx.sh
```
### Tela-icon-theme
```sh
cd CustomizeLinux/Tela-icon-theme
# User install (~/.local/share/icons)
./install.sh
# System install (/usr/share/icons, requires sudo)
sudo ./install.sh
```
### yay (AUR helper)
```sh
cd CustomizeLinux/yay
makepkg -si
```
---
## Actively using programs
- Shell: `zsh` with `oh-my-zsh` - Shell: `zsh` with `oh-my-zsh`
- Terminal: `alacritty` - Terminal: `alacritty`
- WM: `hyprland` and (slowly configuring) `niri` - WM: `niri` (Wayland, scrollable tiling)
- Wallpaper: `hyprpaper` - Wallpaper: `hyprpaper`
- Notification: `mako` - Notification: `mako`
- Lock: `swaylock` - Lock: `swaylock`
- Bar: `waybar` - Bar: `waybar`
- Menu: `wofi` and `wofi-emoji` - Menu: `wofi` / `wofi-emoji`
- Audio: `wireplumber` - Audio: `wireplumber`
- Tools: - Tools: `tmux`, `neovim`
- `tmux`
- `neovim` ---
## Useful commands
Getting all locally installed packages:
```sh
pacman -Qs | grep "local/" | awk '{print $1}' | awk -F '/' '{print $2}' > allPackages.txt
```
Reinstalling all packages:
```sh
cat allPackages.txt | yay -S - --needed
```
---
## Notes
- Network interface is set to `wlan0`
- Static IP `192.168.0.99/24` assigned to `wlan0` via NetworkManager
- Gateway: `192.168.0.1`
- To inspect: `nmcli connection show`
- To reconfigure: `nmcli connection modify <connection> ipv4.addresses 192.168.0.99/24 ipv4.gateway 192.168.0.1 ipv4.method manual && nmcli connection up <connection>`
---
## License (CC0 1.0 Universal)
> See [LICENSE](LICENSE) for the full text.
notkaramel/dotfiles by Antoine Phan (@notkaramel) is marked with CC0 1.0 Universal. To view a copy of this license, visit http://creativecommons.org/publicdomain/zero/1.0
Credit: [Dreams of Autonomy](https://youtu.be/y6XCebnB9gs) and [DevInsideYou](https://youtu.be/CFzEuBGPPPg) for the GNU Stow workflow.

829
README_Packages.md Normal file
View File

@@ -0,0 +1,829 @@
# Package Reference — LuminisArcana (Arch Linux)
This document categorizes all packages installed on the **LuminisArcana** machine, sourced from `allPackages_LuminisArcana.txt`. It serves as a reference for rebuilding or auditing the system.
---
## Table of Contents
1. [Base System & Boot](#1-base-system--boot)
2. [Build Tools & Development](#2-build-tools--development)
3. [Package Management](#3-package-management)
4. [Shell & Terminal](#4-shell--terminal)
5. [CLI Utilities](#5-cli-utilities)
6. [Text Editors](#6-text-editors)
7. [Desktop Environment — Niri / Wayland](#7-desktop-environment--niri--wayland)
8. [Audio — PipeWire / ALSA](#8-audio--pipewire--alsa)
9. [Bluetooth](#9-bluetooth)
10. [Networking](#10-networking)
11. [Virtualization & Containers](#11-virtualization--containers)
12. [Fonts](#12-fonts)
13. [Themes & Icons](#13-themes--icons)
14. [Web Browsers](#14-web-browsers)
15. [Communication & Social](#15-communication--social)
16. [Media & Entertainment](#16-media--entertainment)
17. [Graphics & GPU](#17-graphics--gpu)
18. [Scientific Computing & Math](#18-scientific-computing--math)
19. [Java](#19-java)
20. [JavaScript / Node.js](#20-javascript--nodejs)
21. [Python](#21-python)
22. [Security & Cryptography](#22-security--cryptography)
23. [Storage & Filesystem](#23-storage--filesystem)
24. [Android / iOS Connectivity](#24-android--ios-connectivity)
25. [Printing & Document Rendering](#25-printing--document-rendering)
26. [Qt Libraries](#26-qt-libraries)
27. [GTK & GNOME Libraries](#27-gtk--gnome-libraries)
28. [System Libraries](#28-system-libraries)
---
## 1. Base System & Boot
Core packages for a functional Arch system, kernel, bootloader, and firmware.
```
base base-devel filesystem licenses iana-etc tzdata
linux-lts linux-headers linux-api-headers linux-firmware
linux-firmware-amdgpu linux-firmware-atheros linux-firmware-broadcom
linux-firmware-cirrus linux-firmware-intel linux-firmware-mediatek
linux-firmware-nvidia linux-firmware-other linux-firmware-radeon
linux-firmware-realtek linux-firmware-whence
amd-ucode
glibc glib2 glib2-devel gcc-libs libgcc libstdc++ libc++ libatomic
coreutils findutils diffutils sed grep gawk tar gzip bzip2 xz lz4 lzo zstd
util-linux util-linux-libs shadow sudo pam pambase
procps-ng psmisc iproute2 iputils net-tools which less
man-db man-pages texinfo groff
kbd kmod systemd systemd-libs systemd-sysvcompat
grub efibootmgr efivar os-prober
mkinitcpio mkinitcpio-busybox
device-mapper cryptsetup
e2fsprogs btrfs-progs xfsprogs
```
---
## 2. Build Tools & Development
Compilers, build systems, and core development toolchain.
```
gcc binutils make cmake meson ninja
autoconf automake libtool m4 bison flex fakeroot patch pkgconf
clang compiler-rt lld llvm-libs
rust
debugedit pahole
doxygen gtk-doc gobject-introspection gobject-introspection-runtime
gendesk semver
```
---
## 3. Package Management
```
pacman pacman-mirrorlist archlinux-keyring
yay # AUR helper
stow # dotfile symlink manager
```
> **AUR:** `yay`, `yay-debug`
---
## 4. Shell & Terminal
```
zsh zsh-autosuggestions zsh-syntax-highlighting
bash fish
alacritty # GPU-accelerated terminal
tmux
ncurses
```
---
## 5. CLI Utilities
```
bat ripgrep jq tree zoxide
htop gotop-bin
lf # terminal file manager
inotify-tools rsync wget curl
dog # DNS client (dig replacement)
openbsd-netcat
unzip zip
cowsay
```
> **AUR:** `gotop-bin`, `dog`, `lf`
---
## 6. Text Editors
```
neovim vim vim-runtime vim-plug
tree-sitter tree-sitter-c tree-sitter-lua tree-sitter-markdown
tree-sitter-query tree-sitter-vim tree-sitter-vimdoc
zed # modern code editor
cursor-bin # AI-powered editor
```
> **AUR:** `cursor-bin`, `vim-plug`
---
## 7. Desktop Environment — Niri / Wayland
Niri scrollable-tiling Wayland compositor with supporting ecosystem.
```
niri
waybar
wofi wofi-calc wofi-emoji wofi-pass
mako # notification daemon
hyprpaper # wallpaper
hyprcursor hyprgraphics hyprlang hyprtoolkit hyprutils
hyprwayland-scanner hyprwire
aquamarine # Hyprland/Niri graphics layer
wayland wayland-protocols wayland-utils
xdg-desktop-portal xdg-desktop-portal-gnome xdg-desktop-portal-gtk
xdg-desktop-portal-hyprland
xdg-user-dirs xdg-user-dirs-gtk xdg-utils
gtk-layer-shell
seatd
wl-clipboard wlopm wtype
xwayland-satellite xorg-xwayland
xorg-setxkbmap xorg-xkbcomp xorg-xprop xorg-fonts-encodings
xkeyboard-config libxkbcommon libxkbcommon-x11 libxkbfile
polkit libdecor
playerctl
```
> **AUR:** `wofi-calc`, `wofi-emoji`, `wofi-pass`, `hyprwire`
---
## 8. Audio — PipeWire / ALSA
Full PipeWire audio stack with JACK and PulseAudio compatibility.
```
pipewire pipewire-audio pipewire-docs pipewire-jack
pipewire-pulse pipewire-session-manager pipewire-v4l2
wireplumber libwireplumber
rtkit
pavucontrol # PulseAudio volume control
pwvucontrol # PipeWire volume control
helvum # PipeWire patchbay
alsa-lib alsa-card-profiles alsa-topology-conf alsa-ucm-conf
jack_delay aj-snapshot
```
> **AUR:** `pwvucontrol`, `pwvucontrol-debug`, `jack_delay`, `aj-snapshot`, `libwireplumber-4.0-compat`, `libwireplumber-4.0-compat-debug`
---
## 9. Bluetooth
```
bluez bluez-hid2hci bluez-libs bluez-utils bluez-tools bluez-qt5
blueberry-wayland
gnome-bluetooth
```
> **AUR:** `blueberry-wayland`
---
## 10. Networking
```
networkmanager libnm libnl libndp
iwd wpa_supplicant
nftables iptables
avahi libdaemon
openssh openssl
rpcbind
mobile-broadband-provider-info
```
---
## 11. Virtualization & Containers
Full QEMU/KVM stack plus Docker for containerization.
### Docker
```
docker docker-buildx docker-compose docker-machine
containerd runc
```
### QEMU / KVM
```
qemu-full qemu-base qemu-common qemu-desktop qemu-docs
qemu-img qemu-tools qemu-user
qemu-emulators-full
qemu-audio-alsa qemu-audio-dbus qemu-audio-jack qemu-audio-oss
qemu-audio-pa qemu-audio-pipewire qemu-audio-sdl qemu-audio-spice
qemu-block-curl qemu-block-dmg qemu-block-gluster
qemu-block-iscsi qemu-block-nfs qemu-block-ssh
qemu-chardev-baum qemu-chardev-spice
qemu-hw-display-qxl qemu-hw-display-virtio-gpu
qemu-hw-display-virtio-gpu-gl qemu-hw-display-virtio-gpu-pci
qemu-hw-display-virtio-gpu-pci-gl qemu-hw-display-virtio-gpu-pci-rutabaga
qemu-hw-display-virtio-gpu-rutabaga qemu-hw-display-virtio-vga
qemu-hw-display-virtio-vga-gl qemu-hw-display-virtio-vga-rutabaga
qemu-hw-s390x-virtio-gpu-ccw qemu-hw-uefi-vars
qemu-hw-usb-host qemu-hw-usb-redirect qemu-hw-usb-smartcard
qemu-pr-helper qemu-vmsr-helper qemu-tests qemu-vhost-user-gpu
qemu-ui-curses qemu-ui-dbus qemu-ui-egl-headless qemu-ui-gtk
qemu-ui-opengl qemu-ui-sdl qemu-ui-spice-app qemu-ui-spice-core
qemu-system-aarch64 qemu-system-alpha qemu-system-alpha-firmware
qemu-system-arm qemu-system-arm-firmware qemu-system-avr
qemu-system-hppa qemu-system-hppa-firmware
qemu-system-loongarch64 qemu-system-m68k
qemu-system-microblaze qemu-system-microblaze-firmware
qemu-system-mips qemu-system-or1k
qemu-system-ppc qemu-system-ppc-firmware
qemu-system-riscv qemu-system-riscv-firmware
qemu-system-rx qemu-system-s390x qemu-system-s390x-firmware
qemu-system-sh4 qemu-system-sparc qemu-system-sparc-firmware
qemu-system-tricore qemu-system-x86 qemu-system-x86-firmware
qemu-system-xtensa
edk2-aarch64 edk2-arm edk2-ovmf seabios
virtiofsd virglrenderer libslirp vde2 usbredir rutabaga-ffi
gfxstream libaemu libcacard libiscsi libnfs
spice spice-protocol
glusterfs
```
---
## 12. Fonts
```
noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra
ttf-dejavu ttf-dejavu-nerd ttf-liberation
otf-fira-mono otf-fira-sans woff2-fira-code
cantarell-fonts adwaita-fonts
ttf-material-symbols-variable
gsfonts
```
> **AUR:** `ttf-material-symbols-variable`
---
## 13. Themes & Icons
```
adwaita-cursors adwaita-icon-theme adwaita-icon-theme-legacy
hicolor-icon-theme default-cursors
xapp xapp-symbolic-icons
sound-theme-freedesktop
nodejs-material-design-icons otf-material-icons
```
> **AUR:** `xapp`, `xapp-symbolic-icons`, `nodejs-material-design-icons`
---
## 14. Web Browsers
```
chromium
vivaldi vivaldi-ffmpeg-codecs
```
---
## 15. Communication & Social
```
discord
slack-desktop
spotify
```
> **AUR:** `slack-desktop`, `spotify`
---
## 16. Media & Entertainment
```
ffmpeg mpd mpg123
flac wavpack opus libvorbis libtheora libopenmpt
libmad libbs2b libcdio libcdio-paranoia libbluray libdvdnav libdvdread
chromaprint
gstreamer gst-plugins-base gst-plugins-base-libs gst-plugins-bad-libs gst-plugin-gtk
totem-pl-parser
v4l-utils vapoursynth
vid.stab vmaf svt-av1 rav1e dav1d aom
x264 x265 xvidcore
rubberband soxr libebur128
playerctl
evince sushi nautilus
```
---
## 17. Graphics & GPU
```
mesa
vulkan-radeon vulkan-icd-loader vulkan-mesa-implicit-layers vulkan-tools
vulkan-icd-loader vulkan-tools
libdrm libva libvdpau libvpl libglvnd
ocl-icd
openxr
graphicsmagick
```
---
## 18. Scientific Computing & Math
```
matlab matlab-meta matlab-mpm
octave arpack blas lapack
fftw glpk hdf5 suitesparse sundials
qhull qrupdate
openmpi openpmix openucx prrte numactl hwloc
gpsd pps-tools
```
> **AUR:** `matlab`, `matlab-meta`, `matlab-mpm`, `matlab-mpm-debug`
---
## 19. Java
```
jdk-openjdk java-environment-common java-runtime-common
openjdk-doc openjdk-src
maven
```
---
## 20. JavaScript / Node.js
```
nodejs npm pnpm node-gyp nodejs-nopt
electron electron39
```
---
## 21. Python
```
python
python-autocommand python-babel python-breathe python-cffi
python-charset-normalizer python-dbus python-dbusmock python-docutils
python-gobject python-graphviz python-idna python-imagesize
python-jack-client python-jaraco.collections python-jaraco.context
python-jaraco.functools python-jaraco.text python-jinja python-lxml
python-mako python-markdown python-markupsafe python-more-itertools
python-packaging python-pkg_resources python-platformdirs
python-pyalsaaudio python-pycparser python-pygments
python-pyqt6 python-pyqt6-sip python-pytz python-requests
python-roman-numerals-py python-setproctitle python-setuptools
python-snowballstemmer python-sphinx python-sphinx-alabaster-theme
python-sphinx_rtd_theme python-sphinxcontrib-applehelp
python-sphinxcontrib-devhelp python-sphinxcontrib-htmlhelp
python-sphinxcontrib-jquery python-sphinxcontrib-jsmath
python-sphinxcontrib-qthelp python-sphinxcontrib-serializinghtml
python-tqdm python-typing_extensions python-urllib3 python-wheel
```
> **AUR:** `python-roman-numerals-py`, `python-pyalsaaudio`, `python-pyalsaaudio-debug`
---
## 22. Security & Cryptography
```
gnupg gpgme gpgmepp pinentry
pass passff-host
cryptsetup
tpm2-tools tpm2-tss
audit pcsclite
libsecret libgcrypt libgpg-error libksba libassuan npth
p11-kit libp11-kit
polkit bubblewrap
openssl gnutls nettle
ca-certificates ca-certificates-mozilla ca-certificates-utils
```
> **AUR:** `passff-host`
---
## 23. Storage & Filesystem
```
btrfs-progs btrbk e2fsprogs xfsprogs parted gparted
mdadm ndctl
udisks2 volume_key
libblockdev libblockdev-crypto libblockdev-fs libblockdev-loop
libblockdev-mdraid libblockdev-nvme libblockdev-part
libblockdev-smart libblockdev-swap libbytesize
multipath-tools
```
---
## 24. Android / iOS Connectivity
```
android-file-transfer android-tools android-udev
libimobiledevice libimobiledevice-glue libusbmuxd libtatsu libplist
mtpfs libmtp
```
---
## 25. Printing & Document Rendering
```
ghostscript gsfonts libspectre
poppler poppler-glib poppler-data
djvulibre
libcups
evince
```
---
## 26. Qt Libraries
```
qt5-3d qt5-base qt5-declarative qt5-graphicaleffects qt5-imageformats
qt5-location qt5-multimedia qt5-networkauth qt5-quickcontrols
qt5-quickcontrols2 qt5-script qt5-sensors qt5-serialport qt5-speech
qt5-svg qt5-tools qt5-translations qt5-virtualkeyboard qt5-wayland
qt5-x11extras qt5-xmlpatterns
qt6-3d qt6-5compat qt6-base qt6-charts qt6-connectivity qt6-datavis3d
qt6-declarative qt6-doc qt6-examples qt6-graphs qt6-grpc
qt6-httpserver qt6-imageformats qt6-languageserver qt6-location
qt6-lottie qt6-multimedia qt6-multimedia-ffmpeg qt6-networkauth
qt6-positioning qt6-quick3d qt6-quick3dphysics qt6-quickeffectmaker
qt6-quicktimeline qt6-remoteobjects qt6-scxml qt6-sensors
qt6-serialbus qt6-serialport qt6-shadertools qt6-speech qt6-svg
qt6-tools qt6-translations qt6-virtualkeyboard qt6-wayland
qt6-webchannel qt6-webengine qt6-websockets qt6-webview
qscintilla-qt6
```
---
## 27. GTK & GNOME Libraries
```
gtk3 gtk4 gtk-update-icon-cache gtk-layer-shell
gtkmm-4.0 gtkmm3 gtksourceview4
libadwaita libhandy
glib2 glibmm glibmm-2.68
cairo cairomm cairomm-1.16
pango pangomm pangomm-2.48
atkmm
gdk-pixbuf2 librsvg
at-spi2-core
gobject-introspection-runtime
gnome-keyring gnome-desktop gnome-desktop-4 gnome-desktop-common
gnome-autoar gnome-bluetooth
gsettings-desktop-schemas gsettings-system-schemas
dconf gvfs
gspell libgnomekbd
libayatana-appindicator libayatana-indicator ayatana-ido
libdbusmenu-glib libdbusmenu-gtk3
localsearch tinysparql
glycin libgirepository
xapp
```
---
## 28. System Libraries
Core shared libraries that underpin the entire system.
```
abseil-cpp acl attr audit brotli c-ares
curl libcurl-gnutls
dbus dbus-broker dbus-broker-units dbus-units
double-conversion duktape
expat fribidi fontconfig freetype2 harfbuzz
fuse2 fuse3 fuse-common
gc gmp mpfr mpc libmpc libmpc
giflib graphite graphene
hunspell enchant
icu json-c json-glib jsoncpp jansson
keyutils krb5 libkrb5
lcms2 lmdb lua luajit lua51-lpeg
lame libogg libvorbis flac
libao libcanberra
libass libavif libheif libjxl libyuv
libjpeg-turbo libpng libtiff libwebp
libinput libevdev libwacom mtdev tslib
libarchive libzip zziplib minizip
libmd libbsd libunistring libidn libidn2
libffi libelf libunwind
libfabric libbpf liburing liburcu libpcap
libsodium libseccomp
libxml2 libxmlb libxslt libgit2
libyaml tomlplusplus
md4c pugixml simdjson
msgpack-c protobuf re2
ncurses readline libedit libvterm unibilium
oniguruma pcre pcre2
pipewire-related: libpipewire libpipeline
portaudio sndio
sqlite mpdecimal gdbm db5.3
tdb lmdb
uchardet utf8proc libunibreak
usb: libusb hidapi
util: libaio libcap libcap-ng libnsl libtirpc
libuv libluv libevent libasyncns
vulkan: shaderc glslang spirv-tools
libplacebo
openal
zeromq libpgm
zlib zlib-ng
xxhash oniguruma
semver spdlog fmt srt snappy lz4 lzo
wolfssl leancrypto
libnice webrtc-audio-processing-1
rdma-core
sdl2-compat sdl2_image sdl3
libbluray libdvdnav libdvdread
faad2 fluidsynth gsm sbc speex speexdsp
lilv lv2 serd sord sratom zix
wildmidi twolame libmpcdec libshout
rubberband
libfreeaptx liblc3 libldac
opencore-amr openh264 l-smash
```
---
## Installation Commands
### Step 1 — Install `yay` (AUR helper) if not present
```bash
sudo pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay.git /tmp/yay
cd /tmp/yay && makepkg -si
```
### Step 2 — Install all official (pacman) packages
```bash
sudo pacman -S --needed \
abseil-cpp acl adwaita-cursors adwaita-fonts adwaita-icon-theme \
adwaita-icon-theme-legacy alacritty alsa-card-profiles alsa-lib \
alsa-topology-conf alsa-ucm-conf amd-ucode android-file-transfer \
android-tools android-udev aom appstream aquamarine archlinux-keyring \
arpack at-spi2-core atkmm attr audit autoconf automake avahi \
ayatana-ido base base-devel bash bat binutils bison blas bluez \
bluez-hid2hci bluez-libs bluez-qt5 bluez-tools bluez-utils brotli \
btrbk btrfs-progs bubblewrap bzip2 c-ares ca-certificates \
ca-certificates-mozilla ca-certificates-utils cairo cairomm \
cairomm-1.16 cantarell-fonts capstone cdparanoia chromaprint \
chromium clang compiler-rt containerd coreutils cryptsetup curl \
dav1d db5.3 dbus dbus-broker dbus-broker-units dbus-units dconf \
debugedit default-cursors desktop-file-utils device-mapper diffutils \
djvulibre docbook-xml docbook-xsl docker docker-buildx docker-compose \
double-conversion doxygen dtc duktape e2fsprogs edk2-aarch64 \
edk2-arm edk2-ovmf efibootmgr efivar electron enchant evince \
exempi exiv2 expat faad2 fakeroot ffmpeg fftw file filesystem \
findutils fish flac flex fluidsynth fmt fontconfig freeglut \
freetype2 fribidi fuse-common fuse2 fuse3 gawk gc gcc gcc-libs \
gcr gcr-4 gd gdbm gdk-pixbuf2 gettext gexiv2 gfxstream ghostscript \
giflib git github-cli gjs gl2ps glib-networking glib2 glib2-devel \
glib2-docs glibc glibmm glibmm-2.68 glm glpk glslang glu glusterfs \
glycin gmp gnome-autoar gnome-bluetooth gnome-desktop gnome-desktop-4 \
gnome-desktop-common gnome-keyring gnupg gnutls gobject-introspection \
gobject-introspection-runtime gparted gperftools gpgme gpgmepp gpm \
gpsd graphene graphicsmagick graphite graphviz grep groff grub \
gsettings-desktop-schemas gsettings-system-schemas gsfonts gsm \
gspell gssdp gst-plugin-gtk gst-plugins-bad-libs gst-plugins-base \
gst-plugins-base-libs gstreamer gtest gtk-doc gtk-layer-shell \
gtk-update-icon-cache gtk3 gtk4 gtkmm-4.0 gtkmm3 gtksourceview4 \
gts guile gupnp gupnp-dlna gupnp-igd gvfs gzip harfbuzz hdf5 \
helvum hicolor-icon-theme hidapi highway htop hunspell hwdata \
hwloc hyprcursor hyprgraphics hyprlang hyprpaper hyprtoolkit \
hyprutils hyprwayland-scanner iana-etc icu ijs iniparser \
inotify-tools iproute2 iptables iputils iso-codes iwd jansson \
jasper java-environment-common java-runtime-common jbig2dec \
jbigkit jdk-openjdk jq js140 json-c json-glib jsoncpp kbd \
keyutils kmod krb5 l-smash lame lapack lcms2 leancrypto less lf \
libadwaita libaec libaio libao libarchive libasan libass libassuan \
libasyncns libatasmart libatomic libavc1394 libavif \
libayatana-appindicator libayatana-indicator libb2 libblockdev \
libblockdev-crypto libblockdev-fs libblockdev-loop libblockdev-mdraid \
libblockdev-nvme libblockdev-part libblockdev-smart libblockdev-swap \
libbluray libbpf libbs2b libbsd libbytesize libcacard libcanberra \
libcap libcap-ng libcbor libcdio libcdio-paranoia libcloudproviders \
libcolord libcue libcups libcurl-gnutls libdaemon libdatrie \
libdbusmenu-glib libdbusmenu-gtk3 libde265 libdecor libdeflate \
libdisplay-info libdovi libdrm libdvdnav libdvdread libebur128 \
libedit libei libelf libepoxy libevdev libevent libexif libfabric \
libfdk-aac libffi libfontenc libfreeaptx libfyaml libgcc libgcrypt \
libgexiv2 libgfortran libgirepository libgit2 libglvnd libgme \
libgnomekbd libgomp libgpg-error libgsf libgudev libgxps libhandy \
libheif libice libid3tag libidn libidn2 libiec61883 libimobiledevice \
libimobiledevice-glue libinih libinput libiptcdata libiscsi \
libisl libjpeg-turbo libjxl libksba liblc3 libldac libldap \
liblouis liblsan libluv libmad libmakepkg-dropins libmd libmikmod \
libmm-glib libmms libmng libmnl libmodplug libmpc libmpcdec \
libmpdclient libmtp libmysofa libnautilus-extension libndp libnet \
libnetfilter_conntrack libnewt libnfnetlink libnfs libnftnl \
libnghttp2 libnghttp3 libngtcp2 libnice libnl libnm libnotify \
libnsl libnvme libobjc libogg libopenmpt libosinfo libp11-kit \
libpaper libpcap libpciaccess libpgm libpipeline libpipewire \
libplacebo libplist libpng libportal libportal-gtk4 libproxy libpsl \
libpulse libqalculate libquadmath libraw1394 librsvg libsamplerate \
libsasl libseccomp libsecret libshout libsidplayfp libsigc++ \
libsigc++-3.0 libslirp libsm libsndfile libsodium libsoup3 \
libsoxr libspectre libspeechd libssh libssh2 libstdc++ libstemmer \
libsynctex libsysprof-capture libtasn1 libtatsu libteam libthai \
libtheora libtiff libtirpc libtool libtraceevent libtracefs \
libtsan libubsan libunibreak libunistring libunwind libupnp \
liburcu liburing libusb libusbmuxd libutempter libutf8proc libuv \
libva libvdpau libverto libvorbis libvpl libvpx libvterm libwacom \
libwebp libwireplumber libx11 libxau libxcb libxcomposite libxcrypt \
libxcrypt-compat libxcursor libxcvt libxdamage libxdmcp libxdp \
libxext libxfixes libxfont2 libxft libxi libxinerama libxkbcommon \
libxkbcommon-x11 libxkbfile libxklavier libxml2 libxmlb libxpm \
libxrandr libxrender libxshmfence libxslt libxss libxt libxtst \
libxv libxxf86vm libyaml libyuv libzip licenses lilv linux-api-headers \
linux-firmware linux-firmware-amdgpu linux-firmware-atheros \
linux-firmware-broadcom linux-firmware-cirrus linux-firmware-intel \
linux-firmware-mediatek linux-firmware-nvidia linux-firmware-other \
linux-firmware-radeon linux-firmware-realtek linux-firmware-whence \
linux-headers linux-lts lld llhttp llvm-libs lm_sensors lmdb \
localsearch lua lua51-lpeg luajit lv2 lz4 lzo m4 mailcap make \
mako man-db man-pages md4c mdadm mesa meson minizip mkinitcpio \
mkinitcpio-busybox mobile-broadband-provider-info mpd mpdecimal \
mpfr mpg123 msgpack-c mtdev mtpfs multipath-tools mxml nautilus \
ncurses ndctl neovim net-tools netpbm nettle networkmanager \
nftables ninja niri node-gyp nodejs nodejs-nopt noto-fonts \
noto-fonts-cjk noto-fonts-emoji noto-fonts-extra npm npth nspr \
nss numactl ocl-icd openal openbsd-netcat opencore-amr openh264 \
openjdk-doc openjdk-src openjpeg2 openmpi openpmix openssh \
openssl openucx openxr opus orc os-prober osinfo-db otf-fira-mono \
otf-fira-sans p11-kit pacman pacman-mirrorlist pahole pam pambase \
pango pangomm pangomm-2.48 parted pass patch pavucontrol pciutils \
pcre pcre2 pcsclite perl perl-error perl-mailtools perl-timedate \
pinentry pipewire pipewire-audio pipewire-docs pipewire-jack \
pipewire-pulse pipewire-session-manager pipewire-v4l2 pixman \
pkgconf playerctl pnpm polkit poppler poppler-data poppler-glib \
popt portaudio pps-tools procps-ng protobuf prrte psmisc pugixml \
python python-autocommand python-babel python-breathe python-cffi \
python-charset-normalizer python-dbus python-dbusmock \
python-docutils python-gobject python-graphviz python-idna \
python-imagesize python-jack-client python-jaraco.collections \
python-jaraco.context python-jaraco.functools python-jaraco.text \
python-jinja python-lxml python-mako python-markdown \
python-markupsafe python-more-itertools python-packaging \
python-pkg_resources python-platformdirs python-pycparser \
python-pygments python-pyqt6 python-pyqt6-sip python-pytz \
python-requests python-setproctitle python-setuptools \
python-snowballstemmer python-sphinx python-sphinx-alabaster-theme \
python-sphinx_rtd_theme python-sphinxcontrib-applehelp \
python-sphinxcontrib-devhelp python-sphinxcontrib-htmlhelp \
python-sphinxcontrib-jquery python-sphinxcontrib-jsmath \
python-sphinxcontrib-qthelp python-sphinxcontrib-serializinghtml \
python-tqdm python-typing_extensions python-urllib3 python-wheel \
qemu-audio-alsa qemu-audio-dbus qemu-audio-jack qemu-audio-oss \
qemu-audio-pa qemu-audio-pipewire qemu-audio-sdl qemu-audio-spice \
qemu-base qemu-block-curl qemu-block-dmg qemu-block-gluster \
qemu-block-iscsi qemu-block-nfs qemu-block-ssh qemu-chardev-baum \
qemu-chardev-spice qemu-common qemu-desktop qemu-docs \
qemu-emulators-full qemu-full qemu-hw-display-qxl \
qemu-hw-display-virtio-gpu qemu-hw-display-virtio-gpu-gl \
qemu-hw-display-virtio-gpu-pci qemu-hw-display-virtio-gpu-pci-gl \
qemu-hw-display-virtio-gpu-pci-rutabaga \
qemu-hw-display-virtio-gpu-rutabaga qemu-hw-display-virtio-vga \
qemu-hw-display-virtio-vga-gl qemu-hw-display-virtio-vga-rutabaga \
qemu-hw-s390x-virtio-gpu-ccw qemu-hw-uefi-vars qemu-hw-usb-host \
qemu-hw-usb-redirect qemu-hw-usb-smartcard qemu-img qemu-pr-helper \
qemu-system-aarch64 qemu-system-alpha qemu-system-alpha-firmware \
qemu-system-arm qemu-system-arm-firmware qemu-system-avr \
qemu-system-hppa qemu-system-hppa-firmware qemu-system-loongarch64 \
qemu-system-m68k qemu-system-microblaze \
qemu-system-microblaze-firmware qemu-system-mips qemu-system-or1k \
qemu-system-ppc qemu-system-ppc-firmware qemu-system-riscv \
qemu-system-riscv-firmware qemu-system-rx qemu-system-s390x \
qemu-system-s390x-firmware qemu-system-sh4 qemu-system-sparc \
qemu-system-sparc-firmware qemu-system-tricore qemu-system-x86 \
qemu-system-x86-firmware qemu-system-xtensa qemu-tests qemu-tools \
qemu-ui-curses qemu-ui-dbus qemu-ui-egl-headless qemu-ui-gtk \
qemu-ui-opengl qemu-ui-sdl qemu-ui-spice-app qemu-ui-spice-core \
qemu-user qemu-vhost-user-gpu qemu-vmsr-helper qhull qrupdate \
qscintilla-qt6 qt5-3d qt5-base qt5-declarative qt5-graphicaleffects \
qt5-imageformats qt5-location qt5-multimedia qt5-networkauth \
qt5-quickcontrols qt5-quickcontrols2 qt5-script qt5-sensors \
qt5-serialport qt5-speech qt5-svg qt5-tools qt5-translations \
qt5-virtualkeyboard qt5-wayland qt5-x11extras qt5-xmlpatterns \
qt6-3d qt6-5compat qt6-base qt6-charts qt6-connectivity \
qt6-datavis3d qt6-declarative qt6-doc qt6-examples qt6-graphs \
qt6-grpc qt6-httpserver qt6-imageformats qt6-languageserver \
qt6-location qt6-lottie qt6-multimedia qt6-multimedia-ffmpeg \
qt6-networkauth qt6-positioning qt6-quick3d qt6-quick3dphysics \
qt6-quickeffectmaker qt6-quicktimeline qt6-remoteobjects qt6-scxml \
qt6-sensors qt6-serialbus qt6-serialport qt6-shadertools qt6-speech \
qt6-svg qt6-tools qt6-translations qt6-virtualkeyboard qt6-wayland \
qt6-webchannel qt6-webengine qt6-websockets qt6-webview rav1e \
rdma-core re2 readline ripgrep rpcbind rsync rtkit rubberband runc \
rust rutabaga-ffi sbc sdbus-cpp sdl2-compat sdl2_image sdl3 \
seabios seatd sed semver serd shaderc shadow shared-mime-info \
simdjson slang snappy sndio sord sound-theme-freedesktop spandsp \
spdlog speex speexdsp spice spice-protocol spirv-tools sqlite \
sratom srt stow sudo suitesparse sundials sushi svt-av1 systemd \
systemd-libs systemd-sysvcompat taglib tar tcl tdb texinfo \
tinysparql tmux tomlplusplus totem-pl-parser tpm2-tools tpm2-tss \
tree tree-sitter tree-sitter-c tree-sitter-lua tree-sitter-markdown \
tree-sitter-query tree-sitter-vim tree-sitter-vimdoc tslib \
ttf-dejavu ttf-liberation twolame tzdata uchardet udisks2 \
unibilium unzip upower usbredir util-linux util-linux-libs v4l-utils \
vapoursynth vde2 vid.stab vim vim-runtime virglrenderer virtiofsd \
vmaf volume_key vte-common vte3 vulkan-icd-loader \
vulkan-mesa-implicit-layers vulkan-radeon vulkan-tools wavpack \
waybar wayland wayland-protocols wayland-utils \
webrtc-audio-processing-1 wget which wildmidi wireplumber \
wl-clipboard wlopm wolfssl wpa_supplicant wtype x264 x265 \
xcb-proto xcb-util xcb-util-cursor xcb-util-image xcb-util-keysyms \
xcb-util-renderutil xcb-util-wm xdg-desktop-portal \
xdg-desktop-portal-gnome xdg-desktop-portal-gtk \
xdg-desktop-portal-hyprland xdg-user-dirs xdg-user-dirs-gtk \
xdg-utils xfsprogs xkeyboard-config xorg-fonts-encodings \
xorg-server-common xorg-setxkbmap xorg-xkbcomp xorg-xprop \
xorg-xwayland xorgproto xvidcore xxhash xz yay zed zeromq zimg \
zip zix zlib zlib-ng zoxide zsh zsh-autosuggestions \
zsh-syntax-highlighting zstd zziplib
```
### Step 3 — Install AUR packages
```bash
yay -S --needed \
aj-snapshot \
blueberry-wayland \
cable \
cursor-bin \
dog \
ducker \
gnome-bluetooth-debug \
gotop-bin \
gnutls3.8.9 gnutls3.8.9-debug \
hyprwire \
jack_delay \
legcord \
lf \
libwireplumber-4.0-compat libwireplumber-4.0-compat-debug \
matlab matlab-meta matlab-mpm matlab-mpm-debug \
nodejs-material-design-icons \
otf-material-icons \
passff-host \
pwvucontrol pwvucontrol-debug \
python-pyalsaaudio python-pyalsaaudio-debug \
python-roman-numerals-py \
slack-desktop \
spotify \
ttf-dejavu-nerd \
ttf-material-symbols-variable \
vencord \
vesktop vesktop-debug \
woff2-fira-code \
wofi-calc wofi-emoji wofi-pass \
xapp xapp-symbolic-icons \
xwayland-satellite \
yay-debug \
zed
```
> **Note:** Some AUR packages (especially `matlab`, `cursor-bin`, `slack-desktop`, `spotify`) may require manual steps or license agreements. Review each PKGBUILD before installing.
---
## Notes
- `electron` / `electron39` are pulled in as dependencies of `cursor-bin` and other Electron apps — installing those AUR packages will bring them in automatically.
- `docker-machine` is deprecated upstream; consider replacing with a native QEMU/KVM workflow or `podman`.
- The `gnutls3.8.9` packages are legacy compatibility versions; only needed if specific software pins to that ABI.
- Debug packages (`*-debug`, `yay-debug`) can be omitted on production systems — they exist for symbol-level debugging.
- `matlab` requires a valid MathWorks license to function after installation.

View File

@@ -81,3 +81,8 @@ white = "#e2e8f0"
# # "~/.config/alacritty/themes/themes/catppuccin_macchiato.toml" # # "~/.config/alacritty/themes/themes/catppuccin_macchiato.toml"
# ] # ]
[[keyboard.bindings]]
key = "Return"
mods = "Shift"
chars = "\u001B\r"

View File

@@ -0,0 +1,83 @@
[cursor]
blink_interval = 750
thickness = 0.2
unfocused_hollow = true
[cursor.style]
blinking = "On"
shape = "Beam"
[env]
TERM = "xterm-256color"
COLORTERM = "truecolor"
[font]
size = 9
[font.bold]
style = "Bold"
[font.normal]
family = "Fira Code"
style = "Medium"
[window]
decorations = "none"
decorations_theme_variant = "Dark"
dynamic_padding = false
dynamic_title = true
opacity = 0.8
title = "Alacritty"
[window.dimensions]
columns = 90
lines = 32
[window.padding]
x = 10
y = 10
[colors.primary]
background = "#1e293b"
foreground = "#e0e7ff"
[colors.cursor]
text = "#1e293b"
cursor = "#fef3c7"
[colors.vi_mode_cursor]
text = "#1e293b"
cursor = "#fde68a"
[colors.selection]
text = "#1e293b"
background = "#93c5fd"
[colors.normal]
black = "#334155"
red = "#fca5a5"
green = "#86efac"
yellow = "#fde68a"
blue = "#93c5fd"
magenta = "#c4b5fd"
cyan = "#67e8f9"
white = "#cbd5e1"
[colors.bright]
black = "#475569"
red = "#fca5a5"
green = "#86efac"
yellow = "#fef3c7"
blue = "#bfdbfe"
magenta = "#ddd6fe"
cyan = "#a5f3fc"
white = "#e2e8f0"
# [general]
# import = [
# # "~/.config/alacritty/themes/themes/nord.toml"
# # "~/.config/alacritty/themes/themes/enfocado_dark.toml"
# # "~/.config/alacritty/themes/themes/wombat.toml"
# # "~/.config/alacritty/themes/themes/catppuccin_macchiato.toml"
# ]

File diff suppressed because it is too large Load Diff

96
fail2ban/README.md Normal file
View File

@@ -0,0 +1,96 @@
# fail2ban — SSH DDoS Protection (Arch Linux)
## Overview
fail2ban monitors authentication logs and bans IPs that show malicious signs (too many failed logins, DDoS patterns). This setup uses the `ddos` filter mode for SSH, incremental banning, and systemd as the log backend (correct for Arch).
## Installation
```bash
sudo pacman -S fail2ban
sudo systemctl enable --now fail2ban
```
## Configuration
Create `/etc/fail2ban/jail.d/sshd.local`:
```ini
[sshd]
enabled = true
mode = ddos
backend = systemd
port = ssh
maxretry = 5
findtime = 60
bantime = 3600
bantime.increment = true
bantime.factor = 2
bantime.maxtime = 604800
ignoreip = 127.0.0.1/8 ::1
```
> If SSH runs on a non-standard port, replace `port = ssh` with the actual port number.
### Settings explained
| Setting | Value | Meaning |
|---|---|---|
| `mode` | `ddos` | Stricter filter that catches flood/DDoS patterns in addition to brute-force |
| `backend` | `systemd` | Reads from journald — correct for Arch (no log files needed) |
| `maxretry` | `5` | Ban after 5 failed attempts |
| `findtime` | `60s` | Failure window — counts failures within this period |
| `bantime` | `3600s` | Initial ban duration (1 hour) |
| `bantime.increment` | `true` | Ban duration increases for repeat offenders |
| `bantime.factor` | `2` | Each repeat offense doubles the ban time |
| `bantime.maxtime` | `604800s` | Maximum ban duration (7 days) |
| `ignoreip` | loopback | Never ban localhost |
## Applying changes
After editing any config:
```bash
sudo fail2ban-client -t # test config validity
sudo systemctl restart fail2ban # apply
```
## Usage
```bash
# Check jail status and current bans
sudo fail2ban-client status sshd
# Manually ban an IP
sudo fail2ban-client set sshd banip 1.2.3.4
# Unban an IP
sudo fail2ban-client set sshd unbanip 1.2.3.4
# Watch live fail2ban logs
sudo journalctl -u fail2ban -f
```
## How incremental banning works
Each time an IP is banned and re-offends, the ban duration multiplies:
| Offense | Ban duration |
|---|---|
| 1st | 1 hour |
| 2nd | 2 hours |
| 3rd | 4 hours |
| ... | doubles each time |
| max | 7 days |
## Verifying it works
```bash
sudo fail2ban-client status sshd
```
Expected output shows `Currently failed`, `Total failed`, and `Banned IP list`. The journal backend line should read:
```
Journal matches: _SYSTEMD_UNIT=sshd.service + _COMM=sshd
```

View File

@@ -168,7 +168,7 @@ layout {
focus-ring { focus-ring {
// off // off
width 3 width 2
// CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl(), etc. // CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl(), etc.
// active-color "rgba(24, 56, 104, 0.57)" // active-color "rgba(24, 56, 104, 0.57)"
@@ -177,7 +177,7 @@ layout {
// Gradients (take precedence over solid colors) // Gradients (take precedence over solid colors)
// - same syntax as CSS: linear-gradient(angle, from, to). // - same syntax as CSS: linear-gradient(angle, from, to).
// - use any CSS linear-gradient tool to set these up. // - use any CSS linear-gradient tool to set these up.
active-gradient from="rgba(32, 72, 133, 0.57)" to="rgba(53, 52, 131, 0.57)" angle=136 active-gradient from="rgba(32, 72, 173, 0.57)" to="rgba(53, 132, 131, 0.57)" angle=136
// You can also color the gradient relative to the entire view // You can also color the gradient relative to the entire view
// of the workspace, rather than relative to just the window itself. // of the workspace, rather than relative to just the window itself.
@@ -233,8 +233,8 @@ layout {
// Top and bottom struts will simply add outer gaps in addition to the area occupied by // Top and bottom struts will simply add outer gaps in addition to the area occupied by
// layer-shell panels and regular gaps. // layer-shell panels and regular gaps.
struts { struts {
left 9 left 0
right 9 right 0
top 0 top 0
bottom 0 bottom 0
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 780 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 KiB

Some files were not shown because too many files have changed in this diff Show More