forked from Szerwigi1410/brokefetch
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbrokefetch_beta.sh
More file actions
executable file
·1610 lines (1535 loc) · 85.2 KB
/
brokefetch_beta.sh
File metadata and controls
executable file
·1610 lines (1535 loc) · 85.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#!/bin/bash
# IMPORTANT NOTE: This script is called "brokefetch_beta.sh" because it is not fully functional yet.
# It is a work in progress. When completed, it will replace "brokefetch.sh".
# This script will many other useful stuff which brokefetch.sh doesn't support yet.
GREEN="\033[32m"
RED="\033[31m"
BLUE="\033[34m"
CYAN="\033[36m"
WHITE="\033[37m"
YELLOW="\033[33m"
PURPLE="\033[35m"
BOLD="\033[1m"
RESET="\033[0m"
BLACK="\033[30m"
GRAY="\033[90m"
#DISTRO=
#PKG_COUNT=$(pacman -Q | wc -l)
# Universal package count
if command -v pacman &>/dev/null; then
PKG_COUNT=$(pacman -Q | wc -l)
elif command -v dpkg &>/dev/null; then
PKG_COUNT=$(dpkg -l | grep '^ii' | wc -l)
elif command -v rpm &>/dev/null; then
PKG_COUNT=$(rpm -qa | wc -l)
elif command -v apk &>/dev/null; then
PKG_COUNT=$(apk info | wc -l)
elif command -v pkg &>/dev/null; then
PKG_COUNT=$(pkg info | wc -l | xargs)
elif command -v brew &>/dev/null; then
PKG_COUNT=$(brew list | wc -l | awk '{print $1}')
else
PKG_COUNT="1 000 000" # Unknown package manager
fi
# CONFIG
CONFIG_FILE="$HOME/.config/brokefetch/config"
# If there is no config – create a default one.
if [[ ! -f "$CONFIG_FILE" ]]; then
mkdir -p "$(dirname "$CONFIG_FILE")"
cat > "$CONFIG_FILE" <<'EOF'
# Available COLOR_NAME options: RED, GREEN, BLUE, CYAN, WHITE, YELLOW, PURPLE, BLACK, GRAY and DISTRO
# Set RAM_MB to your desired memory size in MB
# Set UPTIME_OVERRIDE to your desired uptime in hours
RAM_MB=128
UPTIME_OVERRIDE=16h
COLOR_NAME=DISTRO
# Bold ascii logo? (true/false)
ASCII_BOLD=false
# Cpu text (RANDOM for random funny text or whatever u like inside "")
CPU_TEXT=RANDOM
# enter your preferred screen type (CRT, LCD, OLED etc)
SCREEN_TYPE=CRT
# enter your preferred resolution (see the brokefetch wiki for supported resolutions)
SCREEN_RES=VGA
# Comma-separated order of sysinfo entries to display (keys: name,host,kernel,uptime,packages,shell,resolution,de,wm,window_system,terminal,cpu,gpu,memory)
SYSINFO_ORDER=name,host,kernel,uptime,packages,shell,resolution,de,wm,window_system,terminal,cpu,gpu,memory
# Comma-separated enabled sysinfo keys (subset of SYSINFO_ORDER). Set to empty to disable all.
SYSINFO_ENABLED=name,host,kernel,uptime,packages,shell,resolution,de,wm,window_system,terminal,cpu,gpu,memory
EOF
fi
# Load values from the config
source "$CONFIG_FILE"
# Default sysinfo order (comma-separated) and enabled map (comma-separated keys to show)
# Example: SYSINFO_ORDER="name,cpu,gpu,ram,uptime,packages,shell,resolution,de,wm,window_system,terminal,hostname"
# Example: SYSINFO_ENABLED="name,cpu,gpu,ram,uptime,packages"
if [ -z "$SYSINFO_ORDER" ]; then
SYSINFO_ORDER="name,host,kernel,uptime,packages,shell,resolution,de,wm,window_system,terminal,cpu,gpu,memory"
fi
if [ -z "$SYSINFO_ENABLED" ]; then
SYSINFO_ENABLED="$SYSINFO_ORDER"
fi
# Convert SYSINFO_ORDER and SYSINFO_ENABLED into arrays (normalized lowercase, trimmed)
IFS=',' read -ra ORDER_ARR <<< "$(echo "$SYSINFO_ORDER" | tr '[:upper:]' '[:lower:]' | tr -d '[:space:]')"
IFS=',' read -ra ENABLED_ARR <<< "$(echo "$SYSINFO_ENABLED" | tr '[:upper:]' '[:lower:]' | tr -d '[:space:]')"
# Helper to check if a key is enabled
is_enabled() {
local key="$1"
for e in "${ENABLED_ARR[@]}"; do
if [ "$e" = "$key" ]; then
return 0
fi
done
return 1
}
# OS
if [ -f /etc/os-release ]; then
# linux
OS_NAME="$(awk -F= '/^NAME=/{print $2}' /etc/os-release | tr -d '"')"
elif grep -q Microsoft /proc/version 2>/dev/null; then
# windows subsystem for linux
OS_NAME="WSL"
elif [[ "$(uname -o)" == "Android" ]]; then
# Termux on Android
OS_NAME="Android"
else
# Mac, Windows, Fallback (such as freeBSD)
case "$(uname -s)" in
Darwin)
OS_NAME="macOS"
;;
MINGW*|MSYS*|CYGWIN*)
OS_NAME="Windows"
;;
*)
# A new fallback case for unknown OS
OS_NAME="Generic Linux"
;;
esac
fi
case "$OS_NAME" in
"Adelie Linux") OS="Adelie Linux (Are you a Action Retro?)";; #
"Aeon") OS="Aeon (Bro wth is that, just use something normal)";; #
"AlmaLinux") OS="AlmaLinux (I can't believe it's not CentOS)";; #
"Alpine Linux") OS="Alpine (because I can't afford a mountain)";; #
"Amazon Linux") OS="Amazon (sold my data to afford this)";; #
"Arch Linux") OS="Arch Linux (we get it bro)";; #
"Artix Linux") OS="Artix (SystemD-broke-my-wallet-too)";; #
"Aserdev") OS="Aserdev (arch with a budget pacman repo)";; #
"CentOS Linux") OS="CentOS (no support, no money)";; #
"Debian GNU/Linux") OS="Plebian 12 (brokeworm)";; #
"EndeavourOS") OS="EndavoorOS (Arch for fetuses)";; #
"elementary OS") OS="TelementaryOS (Mac for the broke)";; #
"Fedora Linux") OS="Fedora (tips hat in poverty)";; #
"Garuda Linux") OS="Garuda (because RGB broke my wallet)";; #
"Gentoo") OS="Gen2 (Because I can't even afford time)";; #
"Linexin") OS="Linexin (You watch Linexy too?)";; #
"Linux Mint") OS="Linux Mint (but no teeth left)";; #
"Linux Lite") OS="Linux Lite (my distro is as light as my wallet)";; #
"Manjaro Linux") OS="ManjarNO (Oh Please God No)";; #
"NixOS") OS="NixOS (broke and broken by design)";; #
"Nobara Linux") OS="Nobara (Has 500 viruses from torrents)";; #
"openSUSE Tumbleweed") OS="openSUSE (tumbling into debt)";; #
"openSUSE Leap") OS="openSUSE Leap (into the void)";; #
"Pop!_OS") OS="Pop!_OS (For cracked games)";; #
"Kali Linux") OS="Kali Linux (Dollar Store haxxor addition)";; #
"Red Hat Enterprise Linux") OS="RHEL (Red Hat Enterprise Loans)";; #
"Rocky Linux") OS="Rocky Linux (bouncing checks)";; #
"Slackware") OS="Slackware (no updates, no rent)";; #
"Solus") OS="Solus (solo, broke and alone)";; #
"Ubuntu") OS="Ubunstu (Activate Windows Survivor)";; #
"Void Linux") OS="Void (bank account matches the name)";; #
"Zorin OS") OS="Zorin (Because I cant afford Windows)";; #
"Windows") OS="Windows (Rebooting my patience)";; #
"macOS") OS="macOS (Broke but still bragging)";; #
"WSL") OS="WSL (Linux for the scared)";; #
"Android") OS="Android (my phone is smarter than me)";; #
"FreeBSD") OS="FreeBSD (Free software, broke user)";; #
*) OS="$OS_NAME (??)";;
esac
# Kernel
if [ -f /etc/os-release ]; then
# linux
KERNEL_NAME="$(uname -r | grep -Eio 'zen|lts|rt|realtime' | head -1)"
case $KERNEL_NAME in
zen)KERNEL="Zen (But no peace in life)";;
lts)KERNEL="LTS (But no stability in life)";;
rt)KERNEL="Realtime (But lagging in life)";;
realtime)KERNEL="Realtime (But lagging in life)";;
*)KERNEL="$ 0.00/hour"
esac
elif grep -q Microsoft /proc/version 2>/dev/null; then
# windows subsystem for linux
KERNEL_NAME="Costs 129 dollars plus electricity."
elif [[ "$(uname -o)" == "Android" ]]; then
# Termux on Android
KERNEL_NAME="Android (Fake Linux ripoff)"
else
# Mac, Windows, Fallback (such as freeBSD)
case "$(uname -s)" in
"Darwin")
KERNEL="Darwin (Ate my wallet)"
;;
MINGW*|MSYS*|CYGWIN*)
KERNEL="NT (Like a tricycle the price of a Porsche)"
;;
*)
KERNEL="Generic (Synonym: Your life)"
;;
esac
fi
# Uptime - Linux, WSL & Android
if [ -r /proc/uptime ]; then
UPTIME_S=$(cut -d ' ' -f1 < /proc/uptime)
UPTIME_S=${UPTIME_S%.*} # drop decimal part
UPTIME_H=$(( UPTIME_S / 3600 ))
UPTIME_M=$(( (UPTIME_S % 3600) / 60 ))
UPTIME="${UPTIME_H} hours, ${UPTIME_M} minutes, or more idk"
fi
# Uptime - macOS
if [ "$OS" = "macOS" ]; then
BOOT_TIME=$(sysctl -n kern.boottime | awk -F'[ ,}]+' '{print $4}')
NOW=$(date +%s)
UPTIME_S=$((NOW - BOOT_TIME))
UPTIME_H=$(( UPTIME_S / 3600 ))
UPTIME_M=$(( (UPTIME_S % 3600) / 60 ))
UPTIME="${UPTIME_H} hours, ${UPTIME_M} minutes"
fi
# Uptime - Windows
if [ "$OS_NAME" = "Windows" ]; then
STATS=$(net stats srv 2>/dev/null | grep -i "Statistics since")
if [ -n "$STATS" ]; then
BOOT_TIME=$(echo "$STATS" | sed 's/.*since //')
BOOT_TS=$(date -d "$BOOT_TIME" +%s 2>/dev/null)
# Fallback
if [ -z "$BOOT_TS" ]; then
BOOT_TS=$(date -j -f "%m/%d/%Y %H:%M:%S" "$BOOT_TIME" +%s 2>/dev/null)
fi
if [ -n "$BOOT_TS" ]; then
NOW=$(date +%s)
UPTIME_S=$((NOW - BOOT_TS))
UPTIME_H=$(( UPTIME_S / 3600 ))
UPTIME_M=$(( (UPTIME_S % 3600) / 60 ))
UPTIME="${UPTIME_H} hours, ${UPTIME_M} minutes, I guess..."
else
UPTIME="The brokest"
fi
else
UPTIME="Can't afford admin privilages"
fi
fi
# RAM
MEMORY_MB=$RAM_MB
# Value of the color
if [ "$COLOR_NAME" = "DISTRO" ]; then
case $OS_NAME in
"Adelie Linux") COLOR="$CYAN";;
"Aeon") COLOR="$GREEN";;
"Arch Linux") COLOR="$CYAN";;
"Artix Linux") COLOR="$CYAN";;
"AlmaLinux") COLOR="$RED";;
"Alpine Linux") COLOR="$BLUE";;
"Aserdev") COLOR="$CYAN";;
"Android") COLOR="$CYAN";;
"Amazon Linux") COLOR="$YELLOW";;
"CentOS Linux") COLOR="$YELLOW";;
"Debian GNU/Linux") COLOR="$RED";;
"elementary OS") COLOR="$WHITE";;
"EndeavourOS") COLOR="$PURPLE";;
"Fedora Linux") COLOR="$BLUE";;
"FreeBSD") COLOR="$RED";;
"Garuda Linux") COLOR="$RED";;
"Gentoo") COLOR="$WHITE";;
"Linexin") COLOR="$WHITE";;
"Linux Mint") COLOR="$WHITE";;
"Linux Lite") COLOR="$YELLOW";;
"macOS") COLOR="$GRAY";;
"Nobara Linux") COLOR="$WHTE";;
"NixOS") COLOR="$CYAN";;
"openSUSE Tumbleweed") COLOR="$GREEN";;
"openSUSE Leap") COLOR="$GREEN";;
"Red Hat Enterprise Linux") COLOR="$RED";;
"Rocky Linux") COLOR="$GREEN";;
"Slackware") COLOR="$BLUE";;
"Void Linux") COLOR="$GREEN";;
"Solus") COLOR="$GRAY";;
"Ubuntu") COLOR="$RED";;
"Kubuntu") COLOR="$BLUE";;
"Xubuntu") COLOR="$BLUE";;
"Manjaro Linux") COLOR="$GREEN";;
"Pop!_OS") COLOR="$RED";;
"Kali Linux") COLOR="$BLUE";;
"Windows") COLOR="$BLUE";;
"WSL") COLOR="$PURPLE";;
"Zorin OS") COLOR="$BLUE";;
*) COLOR="$BLUE";;
esac
else
# Safe lookup for COLOR_NAME to avoid invalid indirect expansion
if [[ -n "${COLOR_NAME:-}" ]]; then
case "${COLOR_NAME^^}" in
RED) COLOR="$RED" ;;
GREEN) COLOR="$GREEN" ;;
BLUE) COLOR="$BLUE" ;;
CYAN) COLOR="$CYAN" ;;
WHITE) COLOR="$WHITE" ;;
YELLOW)COLOR="$YELLOW";;
PURPLE)COLOR="$PURPLE";;
BLACK) COLOR="$BLACK";;
GRAY) COLOR="$GRAY";;
*) COLOR="" ;;
esac
else
COLOR=""
fi
fi
# Bold ascii
BOLD_A=$ASCII_BOLD
if [ "$ASCII_BOLD" = true ]; then
BOLD_A="${BOLD}"
else [ "$ASCII_BOLD" = false ];
BOLD_A=""
fi
#CPU
cpu_rand=$(($RANDOM%9))
if [ "$CPU_TEXT" = RANDOM ]; then
case $cpu_rand in
0)CPU="Imaginary (thinking hard...)";;
1)CPU="Hopes and dreams";;
2)CPU="Two sticks rubbing together";;
3)CPU="(Less powerful than) Atom";;
4)CPU="Celery Acceleron";;
5)CPU="Fentium";;
6)CPU="Corei14billon (I wish)";;
7)CPU="Open it and look";;
8)CPU="Could be Intel, maybe AMD";;
esac
else
CPU="$CPU_TEXT"
fi
#MONITOR
MONITOR_TYPE="$SCREEN_TYPE"
case $SCREEN_RES in
"VGA")MONITOR_RES="640x480";;
"SVGA")MONITOR_RES="800x600";;
"XGA")MONITOR_RES="1024x768";;
"HD")MONITOR_RES="1280x720";;
"WXGA")MONITOR_RES="1280x800";;
"SXGA")MONITOR_RES="1280x1024";;
"HD_1366")MONITOR_RES="1366x768";;
"WXGA_PLUS")MONITOR_RES="1440x900";;
"HD_PLUS" | "HD+")MONITOR_RES="1600x900";;
"WSXGA_PLUS" | "WSXGA+")MONITOR_RES="1680x1050";;
"FHD")MONITOR_RES="1920x1080";;
"WUXGA")MONITOR_RES="1920x1200";;
"UW_FHD")MONITOR_RES="2560x1080";;
"QHD")MONITOR_RES="2560x1440";;
"WQXGA")MONITOR_RES="2560x1600";;
"UW_QHD")MONITOR_RES="3440x1440";;
"UHD" | "4K")MONITOR_RES="3840x2160";;
"DUAL_QHD")MONITOR_RES="5120x1440";;
"5K")MONITOR_RES="5120x2880";;
"UHD_8K" | "8K")MONITOR_RES="7680x4320";;
"CURRENT")MONITOR_RES="$(cat /sys/class/graphics/fb0/virtual_size | tr , x)";;
*)MONITOR_RES=$SCREEN_RES;;
esac
#GPU
if [ -f /etc/os-release ]; then
# linux
GPU_NAME="$(lspci | grep -iE 'VGA' | awk -F ': ' '{print $2}' | awk '{print $1}' | tr '[:upper:]' '[:lower:]')"
elif grep -q Microsoft /proc/version 2>/dev/null; then
# windows subsystem for linux
GPU_NAME="WSL"
elif [[ "$(uname -o)" == "Android" ]]; then
# Termux on Android
GPU_NAME="Android"
else
# Mac, Windows, Fallback (such as freeBSD)
case "$(uname -s)" in
Darwin)
GPU_NAME="ARM"
;;
MINGW*|MSYS*|CYGWIN*)
GPU_NAME="Windows"
;;
*)
GPU_NAME="IDK"
;;
esac
fi
case "$GPU_NAME" in
0)GPU="Integrated Depression";;
Nvidia | nvidia)GPU="Nvidia (but no drivers)";;
AMD)
if [ $((RANDOM % 2)) -eq 0 ]; then
GPU="AMD (Ain't My Dollar)"
else
GPU="Radeon 7000 (from 2001)"
fi
;;
Intel | intel)GPU="Inetl (I can't afford a real one)";;
IDK)GPU="Voodoo 3Dfx (I wish)";;
WSL)GPU="Emulated (Like my life)";;
Android)GPU="Adreno (from 2010)";;
ARM)GPU="SoC (Soldered forever)";;
Windows)GPU="Please purchase and activate to detect.";;
*)
if [ $((RANDOM % 2)) -eq 0 ]; then
GPU="Go outside for better grapchisc"
else
GPU="Integrated depression"
fi
;;
esac
#HOSTNAME
host_rand=$(($RANDOM%8))
case $host_rand in
0)HOST="Bedroom Floor (Carpet extra)";;
1)HOST="Creaky Desk (Chair not included)";;
2)HOST="Atari 2600 (with 128MB RAM)";;
3)HOST="IBM 5100 (55 pounds and counting)";;
4)HOST="iPhone -10";;
5)HOST="Side Closet";;
6)HOST="Thinkpad 700T (From 1992)";;
7)HOST="Library computer";;
8)HOST="Stolen laptop";;
esac
#Shell
if [ -f /etc/os-release ]; then
# linux
SHELL_NAME="$(echo $SHELL | grep -Ei "/bin" | awk -F "bin/" '{print $2}')"
elif grep -q Microsoft /proc/version 2>/dev/null; then
# windows subsystem for linux
SHELL_NAME="WSL"
elif [[ "$(uname -o)" == "Android" ]]; then
# Termux on Android
SHELL_NAME="Termux"
else
# Mac, Windows, Fallback (such as freeBSD)
case "$(uname -s)" in
Darwin)
SHELL_NAME="$(echo $SHELL | grep -Ei "/bin" | awk -F "bin/" '{print $2}')"
;;
MINGW*|MSYS*|CYGWIN*)
SHELL_NAME="pwsh"
;;
*)
SHELL_NAME="idksh"
;;
esac
fi
case $SHELL_NAME in
bash)SHELLOUT="$SHELL_NAME - The standard (for failure)";;
zsh)SHELLOUT="$SHELL_NAME - Powerful (Unlike you)";;
fish)SHELLOUT="$SHELL_NAME - Can't \"TAB to complete\" your life";;
# tcsh)SHELLOUT="";;
# csh)SHELLOUT="";;
pwsh)SHELLOUT="$SHELL_NAME - Commands for noobs (on Windoze)";;
sh)SHELLOUT="$SHELL_NAME - Old is gold (which I need)";;
dash)SHELLOUT="$SHELL_NAME - Speeeeed (for debian only)";;
# ksh)SHELLOUT="";;
idksh)SHELLOUT="idksh - What is this? (YOUR future)";;
*)SHELLOUT="Your shell is so niche that we don't care about it. We can't afford more code...";;
esac
#Desktop Environment
if [ -z "$DISPLAY" ] && [ -z "$WAYLAND_DISPLAY" ]; then
DESKTOP_ENV="TTY"
elif [ -n "$XDG_CURRENT_DESKTOP" ]; then
DESKTOP_ENV="$XDG_CURRENT_DESKTOP"
else
DESKTOP_ENV="$(echo "$DESKTOP_SESSION" | tr '[:upper:]' '[:lower:]')"
fi
# Convert to lowercase for consistent matching in the next case statement
DESKTOP_ENV="$(echo "$DESKTOP_ENV" | tr '[:upper:]' '[:lower:]')"
#Macos and windows and phone
case "$OS_NAME" in
"macOS")
DESKTOP_ENV="aqua";;
"Windows")
DESKTOP_ENV="aero";;
"WSL")
DESKTOP_ENV="WSL";;
"Android")
DESKTOP_ENV="Android";;
esac
case "$DESKTOP_ENV" in
"aqua") DESKTOP_ENV="Aqua (because I can't afford a real desktop)";;
"aero") DESKTOP_ENV="Aero (but no money for a real DE)";;
"Android") DESKTOP_ENV="Android Desktop (because I can't afford a real phone)";;
"gnome") DESKTOP_ENV="Gnome (but no extensions)";;
"kde" | "plasma") DESKTOP_ENV="KDE (but no Plasma)";;
"xfce") DESKTOP_ENV="XFCE (Gnome ugly edition)";;
"lxde") DESKTOP_ENV="LXDE (What's stopping you from LXqt?)";;
"lxqt") DESKTOP_ENV="LXQt (Lightweight, like your wallet)";;
"mate") DESKTOP_ENV="MATE (Gnome classic? What's that?)";;
"x-cinnamon" | "cinnamon") DESKTOP_ENV="Cinnamon (but no money for a real desktop)";;
"hyprland") DESKTOP_ENV="Hyprland (Yeah Hyprland is a DE lil bro)";;
"WSL") DESKTOP_ENV="WSL Desktop (because I can't afford a real Linux)";;
"tty") DESKTOP_ENV="TTY (go touch grass bro)";;
"niri") DESKTOP_ENV="Niri (bro linux is not tiktok)";;
"Budgie") DESKTOP_ENV="Budgie (but no budget)";;
*) DESKTOP_ENV="${XDG_CURRENT_DESKTOP} (No funny name for you)";;
esac
# Window Managers
WINDOW_SYSTEM="$(echo "$XDG_SESSION_TYPE" | tr '[:upper:]' '[:lower:]')"
# --- Funny WM names ---
case "$DESKTOP_SESSION" in
"kde" | "plasma") WINDOW_MANAGER="KWin (the KDE janitor)";;
"Mutter"|"mutter" | "gnome") WINDOW_MANAGER="Mutter (the GNOME babysitter)";;
"Sway"|"sway") WINDOW_MANAGER="Sway (i3 but woke)";;
"i3") WINDOW_MANAGER="i3 (tiled like my bathroom)";;
"Openbox"|"openbox") WINDOW_MANAGER="Openbox (because closed boxes cost money)";;
"Fluxbox"|"fluxbox") WINDOW_MANAGER="Fluxbox (because stability is overrated)";;
"XFCE"|"xfce") WINDOW_MANAGER="XFWM4 (four times more broke)";;
"Metacity"|"metacity") WINDOW_MANAGER="Metacity (meta broke)";;
"LXQt"|"lxqt") WINDOW_MANAGER="I don't know leave me alone";;
"IceWM"|"icewm") WINDOW_MANAGER="IceWM (cold and minimal, like my bank account)";;
"FVWM"|"fvwm") WINDOW_MANAGER="FVWM (Feels Very Wallet Miserable)";;
"awesome") WINDOW_MANAGER="awesome (self-proclaimed)";;
"herbstluftwm") WINDOW_MANAGER="herbstluftwm (gesundheit)";;
"wayfire") WINDOW_MANAGER="Wayfire (burning your GPU for fun)";;
"hyprland"|"Hyprland") WINDOW_MANAGER="Aquamarine (To drown myself in)";;
"Quartz Compositor") WINDOW_MANAGER="Quartz Compositor (shiny but overpriced)";;
"Desktop Window Manager (DWM)") WINDOW_MANAGER="Desktop Window Manager (Windows’ least exciting acronym)";;
"tty") WINDOW_MANAGER="tty (Idk what to say here tbh)";;
*) WINDOW_MANAGER="$WINDOW_MANAGER (probably broke like you)";;
esac
case "$OS_NAME" in
"macOS")
WINDOW_MANAGER="Quartz Compositor (shiny but overpriced)";;
"Windows")
WINDOW_MANAGER="Desktop Window Manager (Windows’ least exciting acronym)";;
"WSL")
WINDOW_MANAGER="WSL Window Manager (useless)";;
"Android")
WINDOW_MANAGER="Android Window Manager (Termux ig)";;
esac
# Window System
case "$WINDOW_SYSTEM" in
"Wayland"|"wayland") WINDOW_SYSTEM="Wayland (X11 is old and scary)";;
"X11"|"x11") WINDOW_SYSTEM="X11 (Wayland is good for toddlers)";;
*) WINDOW_SYSTEM="${XDG_SESSION_TYPE} (probably broke like you)";;
esac
case "$OS_NAME" in
"macOS")
WINDOW_SYSTEM="Quartz or something idk";;
"Windows")
WINDOW_SYSTEM="Windows is your system";;
"WSL")
WINDOWS_SYSTEM="I don't know";;
"Android")
WINDOW_SYSTEM="Maybe wayland, maybe X11";;
esac
# Initialize
ASCII_DISTRO=""
# Terminal
if [ -n "$TERM" ]; then
TERMINAL="$TERM"
else
TERMINAL="$(echo "$TERM" | tr '[:upper:]' '[:lower:]')"
fi
case "$TERM" in
"xterm") TERMINAL="XTerm (the original terminal, but no money for a newer one)";;
"xterm-color") TERMINAL="XTerm (but with a color)";;
"xterm-256color") TERMINAL="XTerm (But with whole 256 colors!)";;
"xterm-256colour") TERMINAL="XTerm (But with whole 256 colors and a U!)";;
"gnome-terminal") TERMINAL="Gnome Terminal (because I dislike gnome console)";;
"konsole") TERMINAL="Konsole (KDE's terminal, can't spell I guess)";;
"terminator") TERMINAL="Terminator (you are NOT Arnold Schwarzenegger)";;
"alacritty") TERMINAL="Alacritty (because I can't afford a real terminal)";;
"xterm-kitty" | "kitty") TERMINAL="Kitty (your daddy's terminal)";;
"rxvt-unicode") TERMINAL="Rxvt-Unicode (because I can't afford a real terminal)";;
*) TERMINAL="Terminal of regret";;
esac
# Get options
while getopts ":hva:l" option; do
case $option in
h) # display Help
echo "Only the therapist can help you at this point."
echo "Oh and btw the -v option displays the version of brokefetch EDGE."
echo " -a lets you override ASCII art distro name"
echo " -l lists all available ASCII arts"
echo ""
echo -e "The config file is located at ${BOLD}~/.config/brokefetch/${RESET}"
exit;;
v) # display Version
echo "brokefetch EDGE version 1.7"
echo "Make sure to star the repository on GitHub :)"
exit;;
a) # Set ASCII override to what the user typed
ASCII_DISTRO="$OPTARG"
;;
l) # List available ASCII arts
echo "Recognized Operating Systems:"
echo "amazon, zorin, elementary, Arch Linux, Alpine Linux, Ubuntu, Linux Mint, Linexin, Fedora Linux, Debian GNU/Linux, Manjaro Linux, EndeavourOS, openSUSE Tumbleweed, openSUSE Leap, Garuda Linux, elementary OS, Pop!_OS, Kali Linux, Zorin OS, Gentoo, NixOS, Slackware, Void Linux, Artix Linux, Aserdev, Nobara Linux, Windows, macOS, WSL, Android and FreeBSD."
exit;;
\?) # Invalid option
echo "We don't type that here."
exit;;
esac
done
# Normalize override (lowercase); fallback to OS name
if [[ -n "$ASCII_DISTRO" ]]; then
DISTRO_TO_DISPLAY=$(echo "$ASCII_DISTRO" | tr '[:upper:]' '[:lower:]')
else
DISTRO_TO_DISPLAY=$(echo "$OS_NAME" | tr '[:upper:]' '[:lower:]')
fi
# Reset ASCII variables before assigning
unset ascii00 ascii01 ascii02 ascii03 ascii04 ascii05 ascii06 ascii07 ascii08 ascii09 ascii10 ascii11 ascii12 ascii13 ascii14 ascii15 ascii16 ascii17 ascii18 ascii19
# Select ASCII art based on the distro name
case "$DISTRO_TO_DISPLAY" in
"adelie linux" | "adelie")
ascii00=" "
ascii01=" "
ascii02=" "
ascii03=" "
ascii04=" "
ascii05="${BOLD}I had issues with the adelie ascii "
ascii06=" "
ascii07=" "
ascii08=" "
ascii09=" "
ascii10=" "
ascii11=" "
ascii12=" "
ascii13=" "
ascii14=" "
ascii15=" "
ascii16="that's it"
ascii17=""
ascii18=""
ascii19=""
;;
"aeon")
ascii00="⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷ "
ascii01="⣿⡇ ⢸⣿ "
ascii02="⣿⡇ ⢀⣀ ⣀⡀ ⢸⣿ "
ascii03="⣿⣇ ⠸⣿⣄ ⣠⣿⠇ ⣸⣿ "
ascii04="⢹⣿⡄ ⠙⠻⠿⠿⠟⠋ ⢠⣿⡏ "
ascii05="⠹⣿⣦⡀ ⢀⣴⣿⠏ "
ascii06=" ⠈⠛⢿⣶⣤⣄ ⣠⣤⣶⡿⠛⠁ "
ascii07=" ⣠⣴⡿⠿⠛⠛⠿⢿⣦⣄ "
ascii08=" ⣠⣾⠟⠉ ⠉⠻⣷⣄ "
ascii09="⢰⣿⠏ ⢀⣤⣶⣶⣤⡀ ⠹⣿⡆ "
ascii10="⣿⡟ ⢰⣿⠏⠁⠈⠹⣿⡆ ⢿⣿ "
ascii11="⣿⡇ ⠈⠋ ⠙⠁ ⢸⣿ "
ascii12="⣿⡇ ⢸⣿ "
ascii13="⣿⣷⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣾⣿ "
ascii14=" "
ascii15=" "
ascii16=""
ascii17=""
ascii18=""
ascii19=""
;;
"alpine linux" | "alpine")
ascii00=" .hddddddddddddddddddddddh. "
ascii01=" :dddddddddddddddddddddddddd: "
ascii02=" /dddddddddddddddddddddddddddd/ "
ascii03=" +dddddddddddddddddddddddddddddd+ "
ascii04=" \`sdddddddddddddddddddddddddddddddds\` "
ascii05=" \`ydddddddddddd++hdddddddddddddddddddy\` "
ascii06=".hddddddddddd+\` \`+ddddh:-sdddddddddddh. "
ascii07="hdddddddddd+\` \`+y: .sddddddddddh "
ascii08="ddddddddh+\` \`//\` \`.\` -sddddddddd "
ascii09="ddddddh+\` \`/hddh/\` \`:s- -sddddddd "
ascii10="ddddh+\` \`/+/dddddh/\` \`+s- -sddddd "
ascii11="ddd+\` \`/o\` :dddddddh/\` \`oy- .yddd "
ascii12="hdddyo+ohddyosdddddddddho+oydddy++ohdddh "
ascii13=".hddddddddddddddddddddddddddddddddddddh. "
ascii14=" \`yddddddddddddddddddddddddddddddddddy\` "
ascii15=" \`sdddddddddddddddddddddddddddddddds\` "
ascii16=" +dddddddddddddddddddddddddddddd+ "
ascii17=" /dddddddddddddddddddddddddddd/ "
ascii18=" :dddddddddddddddddddddddddd: "
ascii19=" .hddddddddddddddddddddddh. "
;;
"almalinux")
ascii00=" ${RED}ooooooooooooooooooooooooooooo "
ascii01=" ${RED}oo${WHITE}...........................${RED}oo "
ascii02=" ${RED}o${WHITE}. .${RED}o "
ascii03=" ${RED}o${WHITE}. . . .${RED}o "
ascii04=" ${RED}o${WHITE}. . . .${RED}o "
ascii05=" ${RED}o${WHITE}. . . . . .${RED}o "
ascii06=" ${RED}o${WHITE}. . .. .. . .${RED}o "
ascii07=" ${RED}o${WHITE}. . ... ... . .${RED}o "
ascii08=" ${RED}o${WHITE}. . .... .... . .${RED}o "
ascii09=" ${RED}o${WHITE}. . . . . . .${RED}o "
ascii10=" ${RED}o${WHITE}. . . . . . .${RED}o "
ascii11=" ${RED}o${WHITE}. . . . . . .${RED}o "
ascii12=" ${RED}o${WHITE}. . . . . . .${RED}o "
ascii13=" ${RED}o${WHITE}. . . . . .${RED}o "
ascii14=" ${RED}o${WHITE}. . . .${RED}o "
ascii15=" ${RED}oo${WHITE}...........................${RED}oo "
ascii16=" ${RED}ooooooooooooooooooooooooooooo "
ascii17=" I still don't know what this is. "
ascii18=""
ascii19=""
;;
"amazon")
ascii00=" , S2#_S1 "
ascii01=" ~\_ S2####_S1 "
ascii02=" ~~ \_S2#####_S1 "
ascii03=" ~~ _S2###|S1 "
ascii04=" ~~ _S2#/S1 ___ "
ascii05=" ~~ V~' '-> "
ascii06=" ~~~ / "
ascii07=" ~~._. _/ "
ascii08=" _/ _/ "
ascii09=" _/m/' "
ascii10=" "
ascii11=" what is this? "
ascii12=" "
ascii13=" "
ascii14=" "
ascii15=" "
ascii16=" "
ascii17=" "
ascii18=" "
ascii19=" "
;;
"android")
ascii00="${GREEN} ⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⣀⡀ "
ascii01="${GREEN}⠀⠀⠀⠀⠀⠙⢷⣤⣤⣴⣶⣶⣦⣤⣤⡾⠋ "
ascii02="${GREEN}⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦ "
ascii03="${GREEN}⠀⠀⠀⠀⣼⣿⣿⣉⣹⣿⣿⣿⣿⣏⣉⣿⣿⣧ "
ascii04="${GREEN}⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇ "
ascii05="${GREEN}⣠⣄⠀⢠⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⡄⠀⣠⣄ "
ascii06="${GREEN}⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿ "
ascii07="${GREEN}⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿ "
ascii08="${GREEN}⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿ "
ascii09="${GREEN}⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿ "
ascii10="${GREEN}⠻⠟⠁⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠈⠻⠟ "
ascii11="${GREEN}⠀⠀⠀⠀⠉⠉⣿⣿⣿⡏⠉⠉⢹⣿⣿⣿⠉⠉ "
ascii12="${GREEN}⠀⠀⠀⠀⠀⠀⣿⣿⣿⡇⠀⠀⢸⣿⣿⣿ "
ascii13="${GREEN}⠀⠀⠀⠀⠀⠀⣿⣿⣿⡇⠀⠀⢸⣿⣿⣿ "
ascii14="${GREEN}⠀⠀⠀⠀⠀⠀⠈⠉⠉⠀⠀⠀⠀⠉⠉⠁ "
ascii15="${GREEN} "
ascii16=""
ascii17=""
ascii18=""
ascii19=""
;;
"arch" | "arch linux")
ascii00=" -\` "
ascii01=" .o+\` "
ascii02=" \`ooo/ "
ascii03=" \`+oooo: "
ascii04=" \`+oooooo: "
ascii05=" -+oooooo+: "
ascii06=" \`/:-:++oooo+: "
ascii07=" \`/++++/+++++++: "
ascii08=" \`/++++++++++++++: "
ascii09=" \`/+++ooooooooooooo/\` "
ascii10=" ./ooosssso++osssssso+\` "
ascii11=" .oossssso-\`\`\`\`/ossssss+\` "
ascii12=" -osssssso. :ssssssso. "
ascii13=" :osssssss/ osssso+++. "
ascii14=" /ossssssss/ +ssssooo/- "
ascii15=" \`/ossssso+/:- -:/+osssso+- "
ascii16=" \`+sso+:-\` \`.-/+oso: "
ascii17=" \`++:. \`-/+/ "
ascii18=" .\` \`/ "
ascii19=" "
;;
"artix" | "artix linux")
ascii00=" ' "
ascii01=" 'o' "
ascii02=" 'ooo' "
ascii03=" 'ooxoo' "
ascii04=" 'ooxxxoo' "
ascii05=" 'oookkxxoo' "
ascii06=" 'oiioxkkxxoo' "
ascii07=" ':;:iiiioxxxoo' "
ascii08=" ''.;::ioxxoo' "
ascii09=" '-. '':;jiooo' "
ascii10=" 'oooio-.. ''i:io' "
ascii11=" 'ooooxxxxoio:,. ''-;' "
ascii12=" 'ooooxxxxxkkxoooIi:-. '' "
ascii13=" 'ooooxxxxxkkkkxoiiiiiji' "
ascii14=" 'ooooxxxxxkxxoiiii:'' .i' "
ascii15=" 'ooooxxxxxoi:::'a ''ioxo' "
ascii16=" aooooxooi::aa .:iiixkxxo' "
ascii17=" aooooi:'a a'';ioxxo' "
ascii18=" ai:'a '':io' "
ascii19="systemd isn't that bad bruh replace your heart "
;;
"aserdev")
ascii00=" _ ____ _____ ____ "
ascii01=" / \ / ___|| ____| _ \\ "
ascii02=" / _ \ \___ \| _| | |_) | "
ascii03=" / ___ \ ___) | |___| _ < "
ascii04="/_/ \_\____/|_____|_| \_\\ "
ascii05=" "
ascii06=" ____ _______ __ "
ascii07="| _ \| ____\ \ / / "
ascii08="| | | | _| \ \ / / "
ascii09="| |_| | |___ \ V / "
ascii10="|____/|_____| \_/ "
ascii11=" "
ascii12=" "
ascii13=" better than arch and cheaper "
ascii14=" "
ascii15=" "
ascii16=" "
ascii17=" "
ascii18=" "
ascii19=" "
;;
"centos" | "centos linux")
ascii00=" ${BLUE}c${RED}c${YELLOW}c${GREEN}c${CYAN}c${BLUE}o${RED}o${YELLOW}o${GREEN}o${CYAN}o${BLUE}s${RED}s${YELLOW}s${GREEN}s${CYAN}s${BLUE}o${RED}o${YELLOW}o${GREEN}o${CYAN}o${WHITE}o ${COLOR} "
ascii01=" ${BLUE}cl${RED}cc${YELLOW}cc${GREEN}coo${CYAN}oss${BLUE}os${RED}oo${YELLOW}sss${GREEN}oo${CYAN}l.. ${COLOR} "
ascii02=" ${BLUE}co${RED}cc${YELLOW}oc${GREEN}co${CYAN}s${BLUE}l.${RED}c${YELLOW}oss${GREEN}o${CYAN}ls${BLUE}s${RED}s${YELLOW}s.l ${COLOR} "
ascii03=" ${BLUE}cosc${RED}co${YELLOW}s${GREEN}lo${CYAN}s${BLUE}s.${RED}ol${YELLOW}..${GREEN}c${CYAN}so. ${COLOR} "
ascii04=" ${BLUE}co${RED}co${YELLOW}s${GREEN}s${CYAN}os.${BLUE}l${RED}..${YELLOW}o${GREEN}s.${CYAN}l.${BLUE}..${RED}o${YELLOW}s ${COLOR} "
ascii05=" ${BLUE}cos${RED}so${YELLOW}sl.${GREEN}ls${CYAN}ol${BLUE}..${RED}s${YELLOW}l..${GREEN}sl${CYAN}ol ${COLOR} "
ascii06=" ${BLUE}co${RED}s${YELLOW}so${GREEN}s${CYAN}l.o${BLUE}l..s${RED}o.${YELLOW}l.${GREEN}ol..o${CYAN}l..${BLUE}o ${COLOR} "
ascii07=" ${BLUE}coc${RED}o${YELLOW}s${GREEN}s${CYAN}ol.l${BLUE}s..l${RED}s.${YELLOW}l${GREEN}o. ${CYAN}s${BLUE}l.${RED}l${YELLOW}s${GREEN}s${CYAN}o..s${BLUE}l${RED}c.s${YELLOW}o ${COLOR} "
ascii08=" ${BLUE}coc${RED}o${YELLOW}s${GREEN}os${CYAN}o..s${BLUE}o.o${RED}l.o${YELLOW}s.l${GREEN}c.s${CYAN}o..s${BLUE}ol.l${RED}o..${YELLOW}s${GREEN}l ${COLOR} "
ascii09=" ${BLUE}co${RED}s${YELLOW}so${GREEN}s${CYAN}l.o${BLUE}s.o${RED}l.o${YELLOW}s.o${GREEN}l..o${CYAN}s.o${BLUE}l..o${RED}l.o${YELLOW}s${GREEN}..${CYAN}l ${COLOR} "
ascii10=" ${BLUE}co${RED}s${YELLOW}o${GREEN}osl${CYAN}s${BLUE}l.${RED}so${YELLOW}l.${GREEN}so${CYAN}l..${BLUE}os.${RED}os.${YELLOW}ol..${GREEN}sl ${COLOR} "
ascii11=" ${BLUE}co${RED}so${YELLOW}sl${GREEN}s${CYAN}o.${BLUE}s${RED}l.l${YELLOW}s.${GREEN}o${CYAN}s..l${BLUE}s.${RED}os.${YELLOW}ol..${GREEN}os ${COLOR} "
ascii12=" ${BLUE}co${RED}so${YELLOW}o${GREEN}so${CYAN}osl${BLUE}s.s${RED}o${YELLOW}l..${GREEN}so${CYAN}l.${BLUE}os.${RED}ol.s${YELLOW}l.l${GREEN}s.l${CYAN}s..${BLUE}ol..s${RED}o ${COLOR} "
ascii13=" ${BLUE}cos${RED}o${YELLOW}ol.${GREEN}os${CYAN}ol..${BLUE}s${RED}o.${YELLOW}os${GREEN}o.${CYAN}l..${BLUE}ol..${RED}s${YELLOW}l..${GREEN}sl.osl..${CYAN}os..s${BLUE}o ${COLOR} "
ascii14=" ${BLUE}co${RED}so${YELLOW}o${GREEN}sl.s${CYAN}osl.l${BLUE}os.${RED}o${YELLOW}o.o${GREEN}s${CYAN}o..s${BLUE}o.${RED}s${YELLOW}o.s${GREEN}o..l${CYAN}s.${BLUE}osl.o${RED}s${YELLOW}osl..${GREEN}osl ${COLOR} "
ascii15=" ${COLOR}We were promised stability, not this... "
ascii16=""
ascii17=""
ascii18=""
ascii19=""
;;
"debian" | "debian gnu/linux")
ascii00="⣿⣿⡛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ "
ascii01="⣿⣿⠉⠿⣛⣻⣯⣭⣇⣙⠋⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ "
ascii02="⢯⢋⣵⣾⣿⡿⣫⣭⣽⣿⣿⣎⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿ "
ascii03="⢣⣿⣿⣶⣶⣿⠿⣫⣭⣝⢿⣿⡀⢹⣿⣿⣿⣿⣿⣿⣿⣿ "
ascii04="⢨⢒⣮⢻⡿⣯⢸⣿⣋⣹⠁⡿⠅⣸⣿⣿⣿⣿⣿⣿⣿⣿ "
ascii05="⡈⣛⣁⣬⡤⣬⣄⠙⢟⣁⠼⠋⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿ "
ascii06="⣿⣭⣄⠶⠀⠂⠀⠉⣿⡟⢁⠰⢀⡙⢿⣿⣿⣿⣿⣿⣿⣿ "
ascii07="⣿⣿⡏⠌⣤⣬⣬⠠⠛⠁⠠⠀⣿⣋⢠⠙⣿⣿⣿⣿⣿⣿ "
ascii08="⣿⣿⣿⣷⣾⣭⣭⡾⠀⡀⠂⣸⢷⣿⠀⣇⡘⣿⣿⣿⣿⣿ "
ascii09="⣿⣿⣿⣿⣿⣿⣿⡇⠀⢕⠁⠟⠃⠈⢤⡿⢷⡈⢿⣿⣿⣿ "
ascii10="⣿⣿⣿⣿⣿⣿⣿⡀⡁⢂⠄⠀⣶⡎⢈⡻⡈⠩⠈⢛⣿⣿ "
ascii11="⣿⣿⣿⣿⣿⣿⡿⠐⡄⢁⠐⢸⣿⠇⢸⠀⠀⠀⢐⣿⣿⣿ "
ascii12="⣿⣿⣿⣿⣿⣿⠇⠀⠐⠈⡃⠷⡶⠀⠘⣤⣷⣶⢹⣿⣿⣿ "
ascii13="⣿⣿⣿⣿⡟⠋⣾⠿⠧⠠⣸⣷⣶⠀⠀⠙⢿⡿⡸⣿⣿⣿ "
ascii14="⣿⣿⣿⣿⣷⢠⠅⡌⢎⡓⡼⢫⠣⠁⠀⣐⡀⢤⣁⣿⣿⣿ "
ascii15=" "
ascii16="How it feels having outdated packages?"
ascii17=""
ascii18=""
ascii19=""
;;
"elementary")
ascii00=" eeeeeeeeeeeeeeeee "
ascii01=" eeeeeeeeeeeeeeeeeeeeeee "
ascii02=" eeeee eeeeeeeeeeee eeeee "
ascii03=" eeee eeeee eee eeee "
ascii04=" eeee eeee eee eeee "
ascii05="eee eee eee eee "
ascii06="eee eee eee eee "
ascii07="ee eee eeeee eeeeee "
ascii08="ee eee eeeee eeeee ee "
ascii09="eee eeee eeeeee eeeee eee "
ascii10="eee eeeeeeeeee eeeeee eee "
ascii11=" eeeeeeeeeeeeeeeeeeeeeeee eeeee "
ascii12=" eeeeeeee eeeeeeeeeeee eeee "
ascii13=" eeeee eeeee "
ascii14=" eeeeeee eeeeeee "
ascii15=" eeeeeeeeeeeeeeeee "
ascii16=" "
ascii17=" "
ascii18=" can you even afford a macbook? "
ascii19=" "
;;
"endeavouros")
ascii00=" a2./a1oa3. "
ascii01=" a2./a1ssssoa3- "
ascii02=" a2asa1osssssss+a3- "
ascii03=" a2a:+a1ssssssssssoa3/. "
ascii04=" a2a-/oa1sssssssssssssoa3/. "
ascii05=" a2a-/+a1ssssssssssssssssoa3+:a "
ascii06=" a2a-:/+s1ssssssssssssssssssoa3+/. "
ascii07=" a2a.://oa1ssssssssssssssssssssoa3++- "
ascii08=" a2.://+a1sssssssssssssssssssssssoa3++: "
ascii09=" a2.:///oa1sssssssssssssssssssssssssoa3++: "
ascii10=" a2a:////a1sssssssssssssssssssssssssssoa3+++. "
ascii11="a2a-////+a1sssssssssssssssssssssssssssoa3++++- "
ascii12=" a2a..-+a1oossssssssssssssssssssssssoa3+++++/a "
ascii13=" a3./++++++++++++++++++++++++++++++/:. "
ascii14=" a:::::::::::::::::::::::::------aa "
ascii15=" go use arch bro,ru broke to see arch wiki "
ascii16=""
ascii17=""
ascii18=""
ascii19=""
;;
"fedora" | "fedora linux")
ascii00=" /:-------------:\ "
ascii01=" :-------------------:: "
ascii02=" :-----------${WHITE}/shhOHbmp${COLOR}---:\ "
ascii03=" /-----------${WHITE}omMMMNNNMMD${COLOR} ---: "
ascii04=" :-----------${WHITE}sMMMMNMNMP${COLOR}. ---: "
ascii05=" :-----------${WHITE}:MMMdP${COLOR}------- ---\ "
ascii06=",------------${WHITE}:MMMd${COLOR}-------- ---: "
ascii07=":------------${WHITE}:MMMd${COLOR}------- .---: "
ascii08=":---- ${WHITE}oNMMMMMMMMMNho${COLOR} .----: "
ascii09=":-- .${WHITE}+shhhMMMmhhy++${COLOR} .------/ "
ascii10=":- -------${WHITE}:MMMd${COLOR}--------------: "
ascii11=":- --------${WHITE}/MMMd${COLOR}-------------; "
ascii12=":- ------${WHITE}/hMMMy${COLOR}------------: "
ascii13=":-- ${WHITE}:dMNdhhdNMMNo${COLOR}------------; "
ascii14=":---${WHITE}:sdNMMMMNds:${COLOR}------------: "
ascii15=":------${WHITE}:://:${COLOR}-------------:: "
ascii16=":---------------------:// "
ascii17=""
ascii18=""
ascii19=""
;;
"freebsd" | "paidbsd")
ascii00="${WHITE}\`\`\` ${COLOR}\` "
ascii01=" ${WHITE}\` \`.....---...${COLOR}....--.\`\`\` -/ "
ascii02=" ${WHITE}+o .--\` ${COLOR}/y:\` +. "
ascii03=" ${WHITE}yo\`:. ${COLOR}:o \`+- "
ascii04=" ${WHITE}y/ ${COLOR}-/\` -o/ "
ascii05=" ${WHITE}.- ${COLOR}::/sy+:. "
ascii06=" ${WHITE}/ ${COLOR}\`-- / "
ascii07=" ${WHITE}\`: ${COLOR}:\` "
ascii08=" ${WHITE}\`: ${COLOR}:\` "
ascii09=" ${WHITE}/ ${COLOR}/ "
ascii10=" ${WHITE}.- ${COLOR}-. "
ascii11=" ${WHITE}-- ${COLOR}-. "
ascii12=" ${WHITE}\`:\` ${COLOR}\`:\` "
ascii13=" ${COLOR}.-- ${COLOR}\`--. "
ascii14=" ${COLOR}.---.....----. "
ascii15=" "
ascii16="Just tell me why not linux?"
ascii17="I'm not hating, just asking"
ascii18="ik now ,it is more stable "
ascii19=""
;;
"garuda linux" | "garuda")
ascii00=" .%;888:8898898: "
ascii01=" x;XxXB%89b8:b8%b88: "
ascii02=" .8Xxd 8X:. "
ascii03=" .8Xx; 8x:. "
ascii04=" .tt8x .d x88; "
ascii05=" .@8x8; .db: xx@; "
ascii06=" ,tSXX° .bbbbbbbbbbbbbbbbbbbB8x@; "
ascii07=" .SXxx bBBBBBBBBBBBBBBBBBBBbSBX8; "
ascii08=" ,888S pd! "
ascii09="8X88/ q "
ascii10="8X88/ "
ascii11="GBB. "
ascii12=" x%88 d888@8@X@X@X88X@@XX@@X@8@X. "
ascii13=" dxXd dB8b8b8B8B08bB88b998888b88x. "
ascii14=" dxx8o .@@;. "
ascii15=" dx88 .t@x. "
ascii16=" d:SS@8ba89aa67a853Sxxad. "
ascii17=" .d988999889889899dd. "
ascii18="Indian scammer who uses an arch-based disrto?"
ascii19="damn"
;;
"gentoo")
ascii00=" ${PURPLE}-/oyddmdhs+:. "
ascii01=" ${PURPLE}-oo2dN${COLOR}MMMMMMMMN${PURPLE}Nmhy+h1-s "
ascii02=" -${PURPLE}ys2${COLOR}NMMMMMMMMMMMNNNmmdhy${PURPLE}s1+- "
ascii03=" ${PURPLE}dos2${COLOR}mMMMMMMMMMMMM${PURPLE}NmdmmmmdD${COLOR}hhy${PURPLE}s1/s "
ascii04=" ${PURPLE}oms2${COLOR}MMMMMMMMMMM${PURPLE}Ns1hhyyyos2h${COLOR}mddd${PURPLE}hhhds1oc "