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