dotfiles

regexghost dotfiles and scripts
git clone https://git.regexghost.com/dotfiles.git
Log | Files | Refs | README

otherPrograms.sh (16708B)


      1 #!/bin/sh
      2 
      3 export PATH="/usr/bin:$PATH"
      4 
      5 cleanup () {
      6 	cd ..
      7 	read -p "Delete temp folder (y/N)? " yesOrNo
      8 	if [ "$yesOrNo" = "y" ] || [ "$yesOrNo" = "Y" ]; then
      9 		[ -d temp_programs/ ] && trash-put temp_programs/
     10 	fi
     11 }
     12 
     13 trap 'cleanup' EXIT
     14 
     15 set -e
     16 
     17 mkdir -p temp_programs
     18 cd temp_programs
     19 
     20 # dev tools
     21 sudo apt install git make gcc automake cmake meson unzip gettext autopoint pkg-config libtool build-essential
     22 
     23 [ -d patches/ ] || git clone https://github.com/regexghost/patches
     24 
     25 jwm () {
     26 	sudo apt install libxext-dev libxmu-dev libxinerama-dev libxpm-dev libjpeg-dev libpng-dev libpango1.0-dev
     27 	git clone https://github.com/regexghost/jwm
     28 	cd jwm
     29 	./autogen.sh
     30 	gettextize -f
     31 	./configure
     32 	make
     33 	sudo make install
     34 	cd ..
     35 }
     36 
     37 bsky () {
     38 	sudo apt install golang
     39 	mkdir bsky
     40 	cd bsky
     41 	url="$(github-latest-release "github" "mattn" "bsky")"
     42 	wget "$url"
     43 	unzip *.zip
     44 	cd */
     45 	make
     46 	cp bsky ~/.local/bin/bsky
     47 	cd ..
     48 	cd ..
     49 }
     50 
     51 forgejo () {
     52 	sudo apt install rustup libssl-dev
     53 	rustup default stable
     54 	mkdir forgejo
     55 	cd forgejo
     56 	url="$(github-latest-release "codeberg" "forgejo-contrib" "forgejo-cli")"
     57 	wget "$url"
     58 	unzip *.zip
     59 	cd */
     60 	cargo build --release
     61 	cp target/release/fj ~/.local/bin/fj
     62 	cd ..
     63 	cd ..
     64 }
     65 
     66 aacgain () {
     67 	mkdir aacgain
     68 	cd aacgain
     69 	url="$(github-latest-release "github" "dgilman" "aacgain")"
     70 	wget "$url"
     71 }
     72 
     73 bat () {
     74 	git clone https://github.com/sharkdp/bat
     75 	cd bat
     76 	cargo build --release
     77 	cp target/release/bat ~/.local/bin/bat
     78 	cd ..
     79 }
     80 
     81 gozer () {
     82 	sudo apt install golang
     83 	git clone https://github.com/regexghost/gozer
     84 	cd gozer
     85 	go build
     86 	cp gozer ~/.local/bin
     87 	cd ..
     88 }
     89 
     90 less () {
     91 	sudo apt install libncurses-dev
     92 	#mkdir less
     93 	#cd less
     94 	#version="$(curl https://www.greenwoodsoftware.com/less/download.html | grep RECOMMENDED | tail -n 1 | sed -nE 's/.*version ([0-9]*).*/\1/p')"
     95 	#echo $version
     96 	#wget "https://greenwoodsoftware.com/less/less-${version}.zip"
     97 	#unzip *.zip
     98 	#cd */
     99 	git clone https://github.com/gwsw/less
    100 	cd less
    101 	cp ../patches/less-bsu-esu.diff .
    102 	patch < less-bsu-esu.diff
    103 	make -f Makefile.aut distfiles
    104 	./configure --prefix="$HOME/.local"
    105 	make
    106 	make install
    107 	cd ..
    108 	#cd ..
    109 }
    110 
    111 nano () {
    112 	mkdir nano
    113 	cd nano
    114 	version="$(curl "https://www.nano-editor.org/download.php" | grep "dist/" | head -n 1 | cut -d "\"" -f 2)"
    115 	wget "https://nano-editor.org/${version}"
    116 	tar -xf *.xz
    117 	cd */
    118 	./configure --prefix="$HOME/.local"
    119 
    120 	cp ../../patches/nano-copy-system.diff .
    121 	patch -p 1 < nano-copy-system.diff
    122 
    123 	make
    124 	make install
    125 	cd ..
    126 	cd ..
    127 }
    128 
    129 oksh () {
    130 	mkdir oksh
    131 	cd oksh
    132 	url="$(github-latest-release "github" "ibara" "oksh")"
    133 	wget "$url"
    134 	unzip *.zip
    135 	cd */
    136 	cp ../../patches/oksh-case-insensitive.diff .
    137 	cp ../../patches/oksh-history.diff .
    138 	cp ../../patches/oksh-ctrl-backspace-delete.diff .
    139 	patch < oksh-case-insensitive.diff
    140 	patch < oksh-history.diff
    141 	patch < oksh-ctrl-backspace-delete.diff
    142 	./configure
    143 	make
    144 	sudo make install
    145 	cd ..
    146 	cd ..
    147 }
    148 
    149 opustags () {
    150 	sudo apt install libogg-dev
    151 	mkdir opustags
    152 	cd opustags
    153 	url="$(github-latest-release "github" "fmang" "opustags")"
    154 	wget "$url"
    155 	unzip *.zip
    156 	cd */
    157 	mkdir build
    158 	cd build
    159 	cmake -DCMAKE_INSTALL_PREFIX="$HOME/.local" ..
    160 	make
    161 	make install
    162 	cd ..
    163 	cd ..
    164 	cd ..
    165 }
    166 
    167 rsgain () {
    168 	sudo apt install libavcodec-dev libavformat-dev libtag-dev libebur128-dev libinih-dev libfmt-dev
    169 	mkdir rsgain
    170 	cd rsgain
    171 	url="$(github-latest-release "github" "complexlogic" "rsgain")"
    172 	wget "$url"
    173 	unzip *.zip
    174 	cd */
    175 	mkdir build
    176 	cd build
    177 	cmake -DCMAKE_INSTALL_PREFIX="$HOME/.local" ..
    178 	make
    179 	make install
    180 	cd ..
    181 	cd ..
    182 	cd ..
    183 }
    184 
    185 newsraft () {
    186 	sudo apt install libcurl4-openssl-dev libsqlite3-dev libgumbo-dev
    187 	git clone https://codeberg.org/newsraft/newsraft
    188 	cd newsraft
    189 	make PREFIX="$HOME/.local"
    190 	make install PREFIX="$HOME/.local"
    191 	cd ..
    192 }
    193 
    194 aacgain () {
    195 	git clone --recursive https://github.com/dgilman/aacgain
    196 	cd aacgain
    197 	mkdir build
    198 	cd build
    199 	cmake -DCMAKE_INSTALL_PREFIX="$HOME/.local" ..
    200 	make
    201 	make install
    202 	cd ..
    203 	cd ..
    204 }
    205 
    206 bug () {
    207 	git clone https://github.com/regexghost/bug-fork
    208 	cd bug-fork
    209 	make install
    210 	cd ..
    211 }
    212 
    213 st () {
    214 	sudo apt install libgd-dev papirus-icon-theme
    215 
    216 	git clone https://github.com/regexghost/st
    217 	cd st
    218 	make full
    219 	sudo make install
    220 	cd ..
    221 
    222 }
    223 
    224 dmenu () {
    225 	git clone https://github.com/regexghost/dmenu
    226 	cd dmenu
    227 	make full
    228 	sudo make install
    229 	cd ..
    230 
    231 }
    232 
    233 slock () {
    234 	sudo apt install libxrandr-dev libimlib2-dev
    235 	git clone https://github.com/regexghost/slock
    236 	cd slock
    237 	make full
    238 	sudo make install
    239 	cd ..
    240 }
    241 
    242 bluetui () {
    243 	mkdir bluetui
    244 	cd bluetui
    245 	url="$(github-latest-release "github" "pythops" "bluetui")"
    246 	wget "$url"
    247 	unzip *.zip
    248 	cd */
    249 	cargo build --release
    250 	cp target/release/bluetui ~/.local/bin/bluetui
    251 	cd ..
    252 	cd ..
    253 }
    254 
    255 retroarch () {
    256 	cp -r ../retroarch-setup .
    257 	cd retroarch-setup
    258 	./retroarch-setup.sh
    259 	cd ..
    260 }
    261 
    262 lemonbar () {
    263 	sudo apt install libxcb-randr0-dev libx11-xcb-dev libxcb-xinerama0-dev
    264 	git clone https://github.com/silentz/lemonbar-xft
    265 	cd lemonbar-xft
    266 	cp ../patches/lemonbar-xft-font-offset.diff .
    267 	patch < lemonbar-xft-font-offset.diff
    268 	make
    269 	sudo make install
    270 	cd ..
    271 }
    272 
    273 pipeviewer () {
    274 	sudo apt install libmodule-build-perl libwww-curl-perl libjson-perl libterm-readline-gnu-perl libdata-dump-perl liblwp-protocol-https-perl libunicode-linebreak-perl
    275 	mkdir pipeviewer
    276 	cd pipeviewer
    277 	url="$(github-latest-release "github" "trizen" "pipe-viewer")"
    278 	wget "$url"
    279 	unzip *.zip
    280 	cd */
    281 	cp ../../patches/pipe-viewer-copy.diff .
    282 	cd bin
    283 	patch < ../pipe-viewer-copy.diff
    284 	cd ..
    285 	perl Build.PL
    286 	sudo ./Build installdeps
    287 	sudo ./Build install
    288 	cd ..
    289 	cd ..
    290 }
    291 
    292 sbase () {
    293 	sudo apt install yacc
    294 	git clone https://git.suckless.org/sbase
    295 	cd sbase
    296 	make
    297 	sudo make install
    298 	cd ..
    299 
    300 	read -p "Add \"/usr/bin\" to start of secure_path (enter to continue):"
    301 	sudo visudo
    302 }
    303 
    304 sxiv () {
    305 	sudo apt install libexif-dev
    306 
    307 	git clone https://github.com/xyb3rt/sxiv
    308 	cd sxiv
    309 
    310 	cp ../patches/sxiv-print-index.diff .
    311 	patch < sxiv-print-index.diff
    312 
    313 	make
    314 	sudo make install
    315 	cd ..
    316 }
    317 
    318 openssh () {
    319 	mkdir openssh
    320 	cd openssh
    321 	url="$(curl "https://www.openssh.org/openbsd.html" | grep "ftp" | head -n 2 | tail -n 1 | cut -d "\"" -f 2)"
    322 	wget "$url"
    323 	tar -xf *.tar.gz/
    324 }
    325 
    326 cava () {
    327 	sudo apt install libfftw3-dev libasound2-dev libpulse-dev libtool libiniparser-dev libsdl2-2.0-0 libsdl2-dev libjack-jackd2-dev
    328 
    329 	mkdir cava
    330 	cd cava
    331 	url="$(github-latest-release "github" "karlstav" "cava")"
    332 	wget "$url"
    333 	unzip *.zip
    334 	cd */
    335 
    336 	./autogen.sh
    337 	./configure --prefix="$HOME/.local"
    338 	make
    339 	make install
    340 
    341 	cd ..
    342 	cd ..
    343 }
    344 
    345 alpine () {
    346 	mkdir alpine
    347 	cd alpine
    348 	url="$(curl "https://alpineapp.email/" | grep "HREF" | grep "tar.xz" | head -n 1 | cut -d "\"" -f 4)"
    349 	wget "$url"
    350 	tar -xf *.xz
    351 	cd */
    352 	./configure
    353 	make
    354 	sudo make install
    355 	cd ..
    356 	cd ..
    357 }
    358 
    359 dotacat () {
    360 	git clone https://gitlab.scd31.com/sophie/dotacat.git
    361 	cd dotacat
    362 	cargo build --release
    363 	cp target/release/dotacat ~/.local/bin/dotacat
    364 	cd ..
    365 }
    366 
    367 mepo () {
    368 	sudo apt install libsdl2-gfx-1.0-0 libsdl2-dev libsdl2-image-2.0-0 libsdl2-image-dev libsdl2-ttf-2.0-0 libsdl2-ttf-dev
    369 
    370 	mkdir mepo
    371 	cd mepo
    372 	url="$(github-latest-release "sourcehut" '~mil' "mepo")"
    373 	wget "$url"
    374 	unzip *.zip
    375 	cd */
    376 
    377 	trim () {
    378 		sed -ne '/---/,$ p' | sed 's/\r//g'
    379 	}
    380 
    381 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20250821020031.28035-1-lauren@selfisekai.rocks%3E/raw" | trim > 15-part1.diff
    382 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20250910145816.10962-1-lauren@selfisekai.rocks%3E/raw" | trim > 15-part2.diff
    383 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20250821020031.28035-3-lauren@selfisekai.rocks%3E/raw" | trim > 15-part3.diff
    384 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20250821020031.28035-4-lauren@selfisekai.rocks%3E/raw" | trim > 15-part4.diff
    385 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20250821020031.28035-5-lauren@selfisekai.rocks%3E/raw" | trim > 15-part5.diff
    386 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20250821020031.28035-6-lauren@selfisekai.rocks%3E/raw" | trim > 15-part6.diff
    387 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20250821020031.28035-7-lauren@selfisekai.rocks%3E/raw" | trim > 15-part7.diff
    388 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20250821020031.28035-8-lauren@selfisekai.rocks%3E/raw" | trim > 15-part8.diff
    389 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20250821020031.28035-9-lauren@selfisekai.rocks%3E/raw" | trim > 15-part9.diff
    390 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20250821020031.28035-10-lauren@selfisekai.rocks%3E/raw" | trim > 15-part10.diff
    391 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20250821020031.28035-11-lauren@selfisekai.rocks%3E/raw" | trim > 15-part11.diff
    392 
    393 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20260421135005.20761-1-lauren@selfisekai.rocks%3E/raw" | trim > 16-part1.diff
    394 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20260421135005.20761-2-lauren@selfisekai.rocks%3E/raw" | trim | sed 's/15/14/g' > 16-part2.diff
    395 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20260421135005.20761-3-lauren@selfisekai.rocks%3E/raw" | trim > 16-part3.diff
    396 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20260421135005.20761-4-lauren@selfisekai.rocks%3E/raw" | trim > 16-part4.diff
    397 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20260421135005.20761-5-lauren@selfisekai.rocks%3E/raw" | trim > 16-part5.diff
    398 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20260421135005.20761-6-lauren@selfisekai.rocks%3E/raw" | trim > 16-part6.diff
    399 	curl "https://lists.sr.ht/~mil/mepo-devel/%3C20260421135005.20761-7-lauren@selfisekai.rocks%3E/raw" | trim > 16-part7.diff
    400 
    401 	patch -p 1 < 15-part1.diff
    402 	patch -p 1 < 15-part2.diff
    403 #	patch -p 1 < 15-part3.diff
    404 	patch -p 1 < 15-part4.diff
    405 	patch -p 1 < 15-part5.diff
    406 	patch -p 1 < 15-part6.diff
    407 	patch -p 1 < 15-part7.diff
    408 	patch -p 1 < 15-part8.diff
    409 	patch -p 1 < 15-part9.diff
    410 	patch -p 1 < 15-part10.diff
    411 	patch -p 1 < 15-part11.diff
    412 	patch -p 1 < 16-part1.diff
    413 	patch -p 1 < 16-part2.diff
    414 	patch -p 1 < 16-part3.diff
    415 	patch -p 1 < 16-part4.diff
    416 	patch -p 1 < 16-part5.diff
    417 	patch -p 1 < 16-part6.diff
    418 	patch -p 1 < 16-part7.diff
    419 
    420 	zig build
    421 
    422 	cp zig-out/bin/* ~/.local/bin/
    423 	[ -d ~/.local/share/applications ] || mkdir ~/.local/share/applications
    424 	cp zig-out/share/applications/mepo.desktop ~/.local/share/applications/mepo.desktop
    425 	[ -d ~/.local/share/icons ] || mkdir ~/.local/share/icons
    426 	cp -r zig-out/share/icons/* ~/.local/share/icons
    427 	[ -d ~/.local/share/pixmaps ] || mkdir ~/.local/share/pixmaps
    428 	cp zig-out/share/pixmaps/mepo.png ~/.local/share/pixmaps/mepo.png
    429 
    430 	cd ..
    431 	cd ..
    432 }
    433 
    434 fastfetch () {
    435 	mkdir fastfetch
    436 	cd fastfetch
    437 	url="$(github-latest-release "github" "fastfetch-cli" "fastfetch")"
    438 	wget "$url"
    439 	unzip *.zip
    440 	cd */
    441 	mkdir build
    442 	cd build
    443 	cmake -DCMAKE_INSTALL_PREFIX="$HOME/.local" ..
    444 	make
    445 	make install
    446 
    447 	cd ..
    448 	cd ..
    449 	cd ..
    450 }
    451 
    452 dragon () {
    453 	sudo apt install libgtk-3-dev
    454 	git clone https://github.com/mwh/dragon
    455 	cd dragon
    456 	make
    457 	cp dragon ~/.local/bin/dragon
    458 	cd ..
    459 }
    460 
    461 cal () {
    462 	mkdir util-linux
    463 	cd util-linux
    464 	ver="$(curl "https://www.kernel.org/pub/linux/utils/util-linux/" | grep "v2." | tail -n 1 | cut -d "\"" -f 2 | tr -d "/" | tr -d "v")"
    465 	wget "https://www.kernel.org/pub/linux/utils/util-linux/v${ver}/util-linux-${ver}.tar.xz"
    466 	tar -xf *.xz
    467 	cd */
    468 	./configure --disable-all-programs --enable-cal
    469 	make
    470 	cp cal ~/.local/bin/cal
    471 
    472 	cd ..
    473 	cd ..
    474 }
    475 
    476 mercusys () {
    477 	sudo apt install dkms linux-headers-amd64
    478 
    479 	git clone https://github.com/ProgrammingRainbow/mercusys-ma530-dkms
    480 
    481 	sed 's/kernel=.*/kernel="$\{1%%-*\}"\nkernel="$\{kernel%%+*\}"/g' mercusys-ma530-dkms/pre_build.sh > /tmp/pre_build.sh
    482 	mv /tmp/pre_build.sh mercusys-ma530-dkms/pre_build.sh
    483 	chmod +x mercusys-ma530-dkms/pre_build.sh
    484 
    485 	sudo dkms remove mercusys-ma530-dkms/1.0 --all || echo "Not installed"
    486 	sudo dkms add ./mercusys-ma530-dkms
    487 	sudo dkms install mercusys-ma530-dkms/1.0
    488 }
    489 
    490 zathura () {
    491 	sudo apt install libxxhash-dev libmagic-dev libgtk-4-dev xorg-dev libxcursor-dev libxrandr-dev libxinerama-dev mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev
    492 
    493 	git clone https://github.com/ArtifexSoftware/mupdf
    494 	cd mupdf
    495 	git checkout 205b8cf
    496 	git submodule update --init
    497 	make shared=yes build=release XCFLAGS="-fPIC" XCXXFLAGS="-fPIC" USE_SYSTEM_FREETYPE=yes USE_SYSTEM_GUMBO=yes USE_SYSTEM_HARFBUZZ=yes USE_SYSTEM_JBIG2DEC=yes USE_SYSTEM_LIBJPEG=yes USE_SYSTEM_OPENJPEG=no USE_SYSTEM_ZLIB=yes USE_SYSTEM_GLUT=yes USE_SYSTEM_CURL=yes USE_SYSTEM_LEPTONICA=yes USE_SYSTEM_TESSERACT=yes USE_SYSTEM_ZXINGCPP=yes USE_SYSTEM_BROTLI=yes
    498 	sudo make shared=yes build=release XCFLAGS="-fPIC" XCXXFLAGS="-fPIC" USE_SYSTEM_FREETYPE=yes USE_SYSTEM_GUMBO=yes USE_SYSTEM_HARFBUZZ=yes USE_SYSTEM_JBIG2DEC=yes USE_SYSTEM_LIBJPEG=yes USE_SYSTEM_OPENJPEG=no USE_SYSTEM_ZLIB=yes USE_SYSTEM_GLUT=yes USE_SYSTEM_CURL=yes USE_SYSTEM_LEPTONICA=yes USE_SYSTEM_TESSERACT=yes USE_SYSTEM_ZXINGCPP=yes USE_SYSTEM_BROTLI=yes install
    499 	cd ..
    500 
    501 	mkdir girara
    502 	cd girara
    503 	tag="$(curl "https://github.com/pwmt/girara/tags" | grep "releases/tag" | head -n 3 | tail -n 1 | cut -d "\"" -f 6 | cut -d "/" -f 6)"
    504 	wget "https://github.com/pwmt/girara/archive/refs/tags/${tag}.zip"
    505 	unzip *.zip
    506 	cd */
    507 	meson build
    508 	cd build
    509 	ninja
    510 	sudo ninja install
    511 	cd ..
    512 	cd ..
    513 	cd ..
    514 
    515 	mkdir zathura
    516 	cd zathura
    517 	tag="$(curl "https://github.com/pwmt/zathura/tags" | grep "releases/tag" | head -n 3 | tail -n 1 | cut -d "\"" -f 6 | cut -d "/" -f 6)"
    518 	wget "https://github.com/pwmt/zathura/archive/refs/tags/${tag}.zip"
    519 	unzip *.zip
    520 	cd */
    521 	sed 's/test-wayland features<\/issue>/test-wayland features<\/p>/g' data/org.pwmt.zathura.metainfo.xml.in > /tmp/out
    522 	mv /tmp/out data/org.pwmt.zathura.metainfo.xml.in
    523 	meson build
    524 	cd build
    525 	ninja
    526 	sudo ninja install
    527 	cd ..
    528 	cd ..
    529 	cd ..
    530 
    531 	mkdir zathura-mupdf
    532 	cd zathura-mupdf
    533 	tag="$(curl "https://github.com/pwmt/zathura-pdf-mupdf/tags" | grep "releases/tag" | head -n 3 | tail -n 1 | cut -d "\"" -f 6 | cut -d "/" -f 6)"
    534 	wget "https://github.com/pwmt/zathura-pdf-mupdf/archive/refs/tags/${tag}.zip"
    535 	unzip *.zip
    536 	cd */
    537 	meson build
    538 	cd build
    539 	ninja
    540 	sudo ninja install
    541 	cd ..
    542 	cd ..
    543 	cd ..
    544 }
    545 
    546 zigitself () {
    547 	mkdir zig
    548 	cd zig
    549 	url="$(curl "https://ziglang.org/download/" | pup 'table:nth-of-type(2)' | grep "zig-x86_64-linux" | head -n 1 | cut -d "\"" -f 2)"
    550 	wget "$url"
    551 	unxz *.xz
    552 	tar -xf *.tar
    553 	cd */
    554 	cp -r doc/* ~/.local/share/doc/
    555 	cp -r lib/ ~/.local/bin/
    556 	cp zig ~/.local/bin/
    557 	cd ..
    558 	cd ..
    559 }
    560 
    561 ueberzugpp () {
    562 	sudo apt install libssl-dev libvips-dev libsixel-dev libchafa-dev libtbb-dev libxcb-image0-dev libxcb-res0 libxcb-res0-dev
    563 
    564 	mkdir ueberzugpp
    565 	cd ueberzugpp
    566 	url="$(github-latest-release "github" "jstkdng" "ueberzugpp")"
    567 	wget "$url"
    568 	unzip *.zip
    569 	cd */
    570 
    571 	mkdir build
    572 	cd build
    573 	cmake -DCMAKE_BUILD_TYPE=Release ..
    574 	cmake --build .
    575 	cd ..
    576 	sudo cmake --install build
    577 
    578 	cd ..
    579 	cd ..
    580 }
    581 
    582 build () {
    583 	read -p "q to quit, s to skip (next: $1)" qToQuit
    584 	[ "$qToQuit" = "q" ] && exit
    585 	[ "$qToQuit" = "s" ] || "$1"
    586 }
    587 
    588 if [ "$1" = "mine" ]; then
    589 	build bug
    590 	build st
    591 	build dmenu
    592 	build slock
    593 	build jwm
    594 	build gozer
    595 	echo "done"
    596 elif [ "$1" = "notmine" ]; then
    597 	build bsky
    598 	build forgejo
    599 	build bat
    600 	build less
    601 	build nano
    602 	build oksh
    603 	build opustags
    604 	build rsgain
    605 	build newsraft
    606 	build aacgain
    607 	build bluetui
    608 	build lemonbar
    609 	build pipeviewer
    610 	build sbase
    611 	build sxiv
    612 	build alpine
    613 	build dotacat
    614 	build fastfetch
    615 	build dragon
    616 	build cal
    617 	build mercusys
    618 	build zathura
    619 	build ueberzugpp
    620 	build openssh
    621 	build zigitself
    622 	build mepo
    623 	build cava
    624 	build retroarch
    625 	echo "done"
    626 elif [ "$1" = "jwm" ]; then
    627 	jwm
    628 elif [ "$1" = "bsky" ]; then
    629 	bsky
    630 elif [ "$1" = "forgejo" ]; then
    631 	forgejo
    632 elif [ "$1" = "bat" ]; then
    633 	bat
    634 elif [ "$1" = "gozer" ]; then
    635 	gozer
    636 elif [ "$1" = "less" ]; then
    637 	less
    638 elif [ "$1" = "nano" ]; then
    639 	nano
    640 elif [ "$1" = "oksh" ]; then
    641 	oksh
    642 elif [ "$1" = "opustags" ]; then
    643 	opustags
    644 elif [ "$1" = "rsgain" ]; then
    645 	rsgain
    646 elif [ "$1" = "newsraft" ]; then
    647 	newsraft
    648 elif [ "$1" = "aacgain" ]; then
    649 	aacgain
    650 elif [ "$1" = "bug" ]; then
    651 	bug
    652 elif [ "$1" = "st" ]; then
    653 	st
    654 elif [ "$1" = "dmenu" ]; then
    655 	dmenu
    656 elif [ "$1" = "slock" ]; then
    657 	slock
    658 elif [ "$1" = "bluetui" ]; then
    659 	bluetui
    660 elif [ "$1" = "retroarch" ]; then
    661 	retroarch
    662 elif [ "$1" = "lemonbar" ]; then
    663 	lemonbar
    664 elif [ "$1" = "pipe-viewer" ]; then
    665 	pipeviewer
    666 elif [ "$1" = "sbase" ]; then
    667 	sbase
    668 elif [ "$1" = "sxiv" ]; then
    669 	sxiv
    670 elif [ "$1" = "dotacat" ]; then
    671 	dotacat
    672 elif [ "$1" = "mepo" ]; then
    673 	mepo
    674 elif [ "$1" = "fastfetch" ]; then
    675 	fastfetch
    676 elif [ "$1" = "dragon" ]; then
    677 	dragon
    678 elif [ "$1" = "cal" ]; then
    679 	cal
    680 elif [ "$1" = "mercusys" ]; then
    681 	mercusys
    682 elif [ "$1" = "zathura" ]; then
    683 	zathura
    684 elif [ "$1" = "ueberzugpp" ]; then
    685 	ueberzugpp
    686 elif [ "$1" = "openssh" ]; then
    687 	openssh
    688 elif [ "$1" = "zig" ]; then
    689 	zigitself
    690 elif [ "$1" = "cava" ]; then
    691 	cava
    692 elif [ "$1" = "alpine" ]; then
    693 	alpine
    694 else
    695 	echo "Not found"
    696 	echo "\"mine\" to install my programs/forks"
    697 	echo "\"notmine\" to install other programs"
    698 	exit
    699 fi