394 Commits

Author SHA1 Message Date
JaKooLit
5a459d35e7 updated hyprland-git installer 2025-03-01 16:31:25 +09:00
JaKooLit
ea2125a467 updated pokomen.sh 2025-02-25 12:00:59 +09:00
JaKooLit
1182b17d0b updated zsh_pokemon.sh 2025-02-25 01:18:03 +09:00
JaKooLit
b16f579e86 applying of sddm theme fixed 2025-02-24 00:16:00 +09:00
JaKooLit
11f2b0c6fe it seems like installer is breaking pokemon 2025-02-23 20:43:18 +09:00
JaKooLit
2ee27f6959 updated pokemon 2025-02-23 16:35:54 +09:00
Ja.KooLit
6c5c4b22b8 Merge pull request #220 from JaKooLit/development
Development to main
2025-02-23 14:47:35 +09:00
Ja.KooLit
c1b872865a Merge branch 'main' into development 2025-02-23 14:47:24 +09:00
JaKooLit
8d92fdd1af added Fantasque Sans Mono Nerd for Kitty 2025-02-23 12:36:23 +09:00
JaKooLit
07f5053b2b added Victor Mono Font for proper hyprlock font rendering for Dots v2.3.12 2025-02-23 11:46:02 +09:00
JaKooLit
e4e488fc4c changed url for installing oh-my-zsh to get wider coverage. Some countries are blocking github raw url's 2025-02-22 13:01:24 +09:00
JaKooLit
1970cca375 testing so it will be more compatible for countries that block github raw 2025-02-22 12:04:06 +09:00
JaKooLit
2828811ad8 updated zsh.rc 2025-02-22 11:58:03 +09:00
JaKooLit
653ca995ae updated zsh_pokemon.sh 2025-02-22 11:07:18 +09:00
JaKooLit
f4fcd6deed minor update 2025-02-22 10:34:23 +09:00
JaKooLit
52531e7d1f replaced eog with loupe 2025-02-22 01:04:46 +09:00
Ja.KooLit
5db40aafa3 Merge pull request #219 from JaKooLit/main
fix zsh theme issue
2025-02-21 15:45:51 +09:00
JaKooLit
1d2126b7ff fix zsh theme issue 2025-02-21 15:03:15 +09:00
Ja.KooLit
622e09c781 Merge pull request #217 from JaKooLit/before-push
Main to development
2025-02-20 23:33:21 +09:00
Ja.KooLit
5baaec6f12 Merge branch 'development' into before-push 2025-02-20 23:33:06 +09:00
JaKooLit
941b24ed1d Added nwg-displays for the upcoming Kools dots v2.3.12 2025-02-20 22:37:49 +09:00
JaKooLit
cfab030ca2 added initial shell check first if zsh already inorder to skip changing to zsh 2025-02-19 20:23:33 +09:00
Ja.KooLit
8ea3dc390c Merge pull request #215 from brockar/main
[fix] add a line break to ask for password
2025-02-19 13:39:08 +09:00
brockar
6c1b941fa1 [fix] add a line break to ask for password 2025-02-19 00:58:26 -03:00
Ja.KooLit
3e7f5664e5 Update 01-hypr-pkgs.sh 2025-02-19 08:46:37 +09:00
JaKooLit
af4d191ee3 added mercurial for the new oh my zsh theme 2025-02-19 00:09:49 +09:00
JaKooLit
5fa3096724 Change default zsh theme to adnosterzak, pokemon coloscript integrated with fastfetch when opted with pokemon to add some bling, additional external oh-my-zsh theme 2025-02-18 11:59:47 +09:00
installer
d00addba58 updated Readme 2025-02-16 17:51:39 +09:00
JaKooLit
e28b5940cb updated sddm_theme.sh 2025-02-16 14:19:16 +09:00
JaKooLit
49f8cef0be updated sddm theme 2025-02-16 13:01:39 +09:00
JaKooLit
ac4ffc922a readme updated 2025-02-11 22:48:34 +09:00
JaKooLit
c93e1861d0 updated pokemon.sh 2025-02-10 18:18:39 +09:00
JaKooLit
4185638900 readme updated 2025-02-10 00:28:26 +09:00
JaKooLit
a4f16e24cb fixed sddm theme.sh 2025-02-09 10:35:55 +09:00
JaKooLit
d09e2dfd09 updated secondary check for disable other login managers 2025-02-09 09:40:32 +09:00
JaKooLit
9695a4c75b updated pipewire.sh and sddm.sh 2025-02-09 08:41:59 +09:00
JaKooLit
68af696789 updated pipewire.sh 2025-02-09 00:53:14 +09:00
JaKooLit
b2f43b18fd minor sddm.sh tweak 2025-02-09 00:32:33 +09:00
JaKooLit
f450ddd382 updated assets-hyprland install 2025-02-08 10:43:52 +09:00
JaKooLit
04c090a828 added 2025 2025-02-08 03:24:42 +09:00
Ja.KooLit
bb58ae9940 Merge pull request #204 from JaKooLit/development
Development to main
2025-02-07 21:38:20 +09:00
JaKooLit
39e515f9b0 updated since many conflicts 2025-02-07 21:35:56 +09:00
JaKooLit
8842d72a79 updated sddm and sddm theme 2025-02-07 21:27:54 +09:00
JaKooLit
573321fd5f updated sddm_theme.sh 2025-02-07 20:21:04 +09:00
JaKooLit
e766866207 updated install scripts for AUR 2025-02-07 19:57:20 +09:00
JaKooLit
fb9b3a8205 updated preset.sh 2025-02-07 19:18:17 +09:00
JaKooLit
3420522393 updated screenshot of install scripts 2025-02-07 01:29:31 +09:00
JaKooLit
409aadf655 RC1 2025-02-07 00:17:04 +09:00
JaKooLit
dcc282968e updated sddm_theme.sh 2025-02-06 23:04:38 +09:00
JaKooLit
a66845607d updated README .. will updated the Installation picture later 2025-02-06 22:36:28 +09:00
JaKooLit
f5e3ed99d2 minor update 2025-02-06 21:06:14 +09:00
JaKooLit
2d31448492 minor sddm_theme.sh change 2025-02-06 20:08:24 +09:00
JaKooLit
39d3f1a958 last tweak (hopefully) 2025-02-06 19:40:29 +09:00
JaKooLit
28c12f6df2 minor tweak 2025-02-06 19:22:54 +09:00
JaKooLit
79af4e7b7d updated and hopefully ready for release candidate :) 2025-02-06 19:14:58 +09:00
JaKooLit
8a60729680 tweaked 2025-02-06 19:00:39 +09:00
JaKooLit
fd1358d920 move all the initial questions at the beginning 2025-02-06 18:54:53 +09:00
JaKooLit
113fee6d7a another tweak for ags.sh 2025-02-06 13:06:02 +09:00
JaKooLit
87676210e2 tweaked ags.shv 2025-02-06 12:57:26 +09:00
JaKooLit
cf6cc1010e one more tweak 2025-02-06 12:46:45 +09:00
JaKooLit
52dfbe8593 oops found another thing :) 2025-02-06 12:28:45 +09:00
JaKooLit
e9c5d3d4a6 found it :) 2025-02-06 12:25:41 +09:00
JaKooLit
1e2704bc23 another tweak 2025-02-06 12:23:59 +09:00
JaKooLit
f049050b73 removed the --needed 2025-02-06 12:17:09 +09:00
JaKooLit
094ccb9b1f and yet I thought I already tweaked 2025-02-06 12:12:39 +09:00
JaKooLit
47791287f1 better 2025-02-06 12:07:00 +09:00
JaKooLit
4fba08d8d6 see.. and I thought it is almost ready ha ha 2025-02-06 12:03:13 +09:00
JaKooLit
a19b9b8a8d new logo :) 2025-02-06 11:58:26 +09:00
JaKooLit
5f20c04b05 updated 2025-02-06 10:47:00 +09:00
JaKooLit
9aa43ae531 hey. Dont mind me.. I am still tweaking :) 2025-02-06 10:01:45 +09:00
JaKooLit
bf67e6030c color coding & script tweaks 2025-02-06 01:33:58 +09:00
JaKooLit
9873283814 tweaked install.sh 2025-02-06 00:31:46 +09:00
JaKooLit
03aa990f35 package removal function enhanced 2025-02-05 23:38:49 +09:00
JaKooLit
2c4cdd3889 minor update 2025-02-05 22:14:28 +09:00
JaKooLit
eb486d7ef2 minor tweak 2025-02-05 13:31:43 +09:00
JaKooLit
262b6eb87c updated install.sh 2025-02-05 11:44:49 +09:00
JaKooLit
3233396b72 updated thunar.sh 2025-02-05 11:35:30 +09:00
JaKooLit
df48873278 minor update 2025-02-05 11:12:20 +09:00
JaKooLit
3af8762a88 tweakked for nvidia 2025-02-05 11:05:09 +09:00
JaKooLit
e35d66658c quite possibly ready for testing? 2025-02-05 08:45:49 +09:00
JaKooLit
e320af02c8 updated showcase readme 2025-02-04 22:24:07 +09:00
JaKooLit
6a67a21a33 updated showcase readme 2025-02-04 22:24:00 +09:00
JaKooLit
b6d982d168 updated Readme showcase 2025-02-04 21:08:36 +09:00
JaKooLit
2590e76bd2 updated Readme showcase 2025-02-04 21:08:28 +09:00
JaKooLit
bde3ef8433 minor update.sh 2025-02-04 19:31:08 +09:00
JaKooLit
6b3d3efbb5 minor update 2025-02-04 18:04:26 +09:00
JaKooLit
c4074aeffa removed the exit on individual install scripts since its already handled by Global functions 2025-02-04 16:21:58 +09:00
JaKooLit
f578249698 new sddm.png 2025-02-04 12:07:31 +09:00
JaKooLit
b43ace2f24 updated sddm.sh 2025-02-04 11:57:39 +09:00
JaKooLit
815438934a minor tweak sddm.sh 2025-02-04 10:51:02 +09:00
JaKooLit
5d5af21bea updated default sddm wallpaper 2025-02-04 01:11:43 +09:00
JaKooLit
e1d258503a updated zsh.sh 2025-02-03 22:29:04 +09:00
JaKooLit
fa9c2ae04f updated thunar.sh 2025-02-03 22:23:11 +09:00
JaKooLit
8a7f40c75a fixed sddm theme cloning 2025-02-03 19:41:44 +09:00
JaKooLit
d6a25e04e7 add argument to check if yay or paru is installed first before asking if want yay or paru 2025-02-03 19:40:33 +09:00
JaKooLit
61b61a980c good thing a cross check is done :) 2025-02-03 18:33:55 +09:00
JaKooLit
cc9ce2cb49 minor zsh update 2025-02-03 18:16:09 +09:00
JaKooLit
7278a45305 added support to make current wallpaper to SDDM (NOTE: need sequoia wallpaper) 2025-02-03 17:24:54 +09:00
JaKooLit
049c27ac22 offering a new SDDM theme 2025-02-03 15:54:42 +09:00
JaKooLit
90121d9172 moved the nvidia question on the beginning 2025-02-03 13:14:16 +09:00
JaKooLit
2b0528ca89 added pciutils and lspci will check if nvidia is present 2025-02-03 13:11:28 +09:00
JaKooLit
528551ea86 There are still some other things you see on final test :) BUT, Im quite ok with this 2025-02-03 12:25:10 +09:00
JaKooLit
8c71bdeee7 final tweak before merging to main... I think I am happy now with this 2025-02-03 12:05:06 +09:00
JaKooLit
63f2f45866 This is it..
I can feel it... danggit
2025-02-03 11:52:58 +09:00
JaKooLit
c1f67feb18 Final color coding tweak. If also thunar.sh not able to use preset.sh, then I dont know 2025-02-03 11:42:43 +09:00
JaKooLit
d215fbd786 Probably now fixed if preset.sh is used for thunar 2025-02-03 11:21:32 +09:00
JaKooLit
1d812d7357 updated the mini script to install non-git or git hyprland version 2025-02-03 11:02:58 +09:00
JaKooLit
083c20878e updated ags.sh to skip if v1.9.0 is already installed 2025-02-03 02:29:53 +09:00
JaKooLit
695081332b I think I found the fix on the Thunar making default when use preset.sh 2025-02-03 02:22:57 +09:00
JaKooLit
93d3a18b9a looks cooler :) 2025-02-03 02:08:17 +09:00
JaKooLit
29cc1c3f52 change progress bar to growing and shrinking dots 2025-02-03 02:05:01 +09:00
JaKooLit
bfbbbd2e52 change progress animation 2025-02-03 01:59:04 +09:00
JaKooLit
e2fe39222c getting tired 2025-02-03 01:41:40 +09:00
JaKooLit
872fd89261 argh still found something 2025-02-03 01:32:54 +09:00
JaKooLit
d3f0016158 Final tweak. I hope so :) 2025-02-03 01:28:27 +09:00
JaKooLit
8995c47902 heh!!!... still tweaking 2025-02-03 00:57:08 +09:00
JaKooLit
058859a07e minor tweak 2025-02-03 00:51:48 +09:00
JaKooLit
54363d5267 seems does not want color 2025-02-03 00:47:05 +09:00
JaKooLit
b2628c8126 update 2025-02-03 00:45:50 +09:00
JaKooLit
7ecb641731 hmmm 2025-02-03 00:43:42 +09:00
JaKooLit
497e71fdf5 color coding tweak 2025-02-03 00:41:15 +09:00
JaKooLit
35aa72e021 another color coding tweak 2025-02-03 00:34:27 +09:00
JaKooLit
9c1741e00d color coding tweak 2025-02-03 00:29:47 +09:00
JaKooLit
fcf18bede5 minor tweak 2025-02-03 00:27:04 +09:00
JaKooLit
6abc879468 some tweaking on install-scripts except the compiling part. It will not show progress for much cleaner work. 2025-02-02 22:54:58 +09:00
JaKooLit
38ce478f5c updated hyprland install script helper 2025-02-02 19:59:00 +09:00
Ja.KooLit
527a504e83 Delete assets/hyprland-install.tar.gz 2025-02-02 13:44:19 +09:00
JaKooLit
a44b376e79 added hyprland-install scripts 2025-02-02 13:42:37 +09:00
Ja.KooLit
2e62542a35 Add files via upload 2025-02-01 14:30:59 +09:00
JaKooLit
5343041805 updated some color coding.
Will probably tweak more later
2025-01-31 23:36:38 +09:00
JaKooLit
221870054e color coding update 2025-01-31 00:52:57 +09:00
JaKooLit
193977dcb6 color coding adjustments 2025-01-31 00:37:29 +09:00
JaKooLit
c18526390d remove ags on final check since it is now optional 2025-01-30 21:32:53 +09:00
JaKooLit
7b403cd72d updated link for AGS overview 2025-01-30 20:41:23 +09:00
Ja.KooLit
9a6fce78ab Update README.md 2025-01-30 20:23:24 +09:00
JaKooLit
0c8c829c57 added readme for AGS overview 2025-01-30 12:03:41 +09:00
JaKooLit
2ed79c491a updated Readme to add AGS overview demo 2025-01-30 11:07:17 +09:00
JaKooLit
c1c5450c9b updated installer. AGS overview is completely optional now 2025-01-30 10:21:52 +09:00
Ja.KooLit
7eea1d7659 Merge pull request #197 from JaKooLit/development
Development to Main
2025-01-29 23:11:24 +09:00
JaKooLit
dac6c373c9 updated changelogs 2025-01-29 23:10:46 +09:00
JaKooLit
b9b437cb23 updated nvidia.sh 2025-01-29 21:51:06 +09:00
JaKooLit
01a001f9a6 updated nvidia installation re bootloaders 2025-01-29 21:37:06 +09:00
JaKooLit
fc2df0f9a3 updated nvidia 2025-01-29 21:01:22 +09:00
JaKooLit
67d6c1524e enhance global function and added systemd boot entries 2025-01-29 20:59:22 +09:00
Ja.KooLit
e96da3ea4a Merge pull request #196 from JaKooLit/main
main to development
2025-01-29 20:57:24 +09:00
JaKooLit
b3a0055785 added libspng - required in hyprgraphics 2025-01-27 23:37:21 +09:00
JaKooLit
bd03f3eeeb updated xdph added umockdev 2025-01-27 17:59:51 +09:00
Ja.KooLit
68eef02324 Merge pull request #191 from JaKooLit/JaKooLit-patch-1
Update README.md - added latest installation video by ksk royal
2025-01-23 07:07:26 +08:00
Ja.KooLit
6ab203a6d4 Update README.md - added latest installation video by ksk royal 2025-01-23 07:06:27 +08:00
JaKooLit
2fc7acf538 updated readme 2025-01-18 10:58:37 +09:00
JaKooLit
7a70f63f3e updated nvidia.sh to install non-git libva-nvidia-driver 2025-01-17 00:21:08 +09:00
Ja.KooLit
7d056ae6e4 Merge pull request #189 from JaKooLit/main
main to development
2025-01-16 06:30:08 +09:00
JaKooLit
4c09bdfad1 replaced polkit-gnome with hyprpolkitagent 2025-01-13 11:08:30 +09:00
JaKooLit
94bc08c1a4 switch to final version of aylurs-gtk-shell-v1 2025-01-12 13:20:42 +09:00
JaKooLit
71cc8ef641 added cachyos-hyprland-settings to uninstallv 2025-01-11 23:18:51 +09:00
JaKooLit
5610bc9d30 readme updated 2025-01-07 21:59:31 +09:00
Ja.KooLit
e7fc2dc95a Merge pull request #185 from JaKooLit/main
main to development
2025-01-07 21:45:46 +09:00
JaKooLit
ced449539e updated readme 2025-01-07 21:05:52 +09:00
JaKooLit
79fbcc022b switched to xarchiver simply because file-roller sucks. gives me lots of issues 2025-01-07 11:51:02 +09:00
JaKooLit
2f4790f04e zsh theme to funky and added fastfetch config for distro specific 2025-01-07 11:09:28 +09:00
JaKooLit
ef7e427b7e fixed copying of fastfetch 2025-01-06 21:00:43 +09:00
JaKooLit
fbe4560a4a added copying of modified fastfetch-compact for Arch 2025-01-06 14:21:15 +09:00
JaKooLit
4d783a270b templates final 2025-01-03 22:48:04 +09:00
JaKooLit
e4c8763d6f updated issue and feature request template 2025-01-03 21:30:01 +09:00
JaKooLit
b253c9f764 installing paru-bin to address issue https://github.com/JaKooLit/Arch-Hyprland/issues/183 to not pull cargo/or rust nor rustup 2024-12-31 09:00:07 +09:00
JaKooLit
813b11dcab Global Function Tweak and Final Check 2024-12-29 01:35:45 +09:00
JaKooLit
09fb19d8a3 small tweak on Global Functions 2024-12-27 20:03:15 +09:00
JaKooLit
3cab113056 Removal of Bibata Ice cursor on assets since its integrated in the GTK Themes and Icons extract from a separate repo 2024-12-26 06:54:31 +09:00
Donald Williams
a31f6a4716 Merge pull request #180 from brockar/hyprland-qtutils
add hyprland-qtutils to install as a new dependency in Hyprland 0.46+  removes error msg on startup
2024-12-21 16:32:01 -05:00
brockar
3f2c9ac655 add hyprland-qtutils to install
now hyprland request this on a popup, so i added this to fix that error
2024-12-21 17:32:04 -03:00
Ja.KooLit
080c210d60 Update ags.sh 2024-11-22 07:04:13 +00:00
JaKooLit
70604dc0a5 added aylurs-gtk-shell to packages to uninstall 2024-11-16 09:28:59 +09:00
JaKooLit
ac22f4e161 revert ags to older version (compiling from source to have AGS overview) 2024-11-16 09:10:51 +09:00
Ja.KooLit
cbe3de92f5 Merge pull request #162 from SSYH/patch-1
simple spelling change
2024-10-13 13:56:47 +09:00
Sam Hahn
e5c54b9145 simple spelling change
costumize -> customize
2024-10-12 21:49:47 -07:00
Ja.KooLit
170e36518a Update README.md 2024-10-11 17:17:46 +04:00
JaKooLit
54b65e92b8 added qalculate-gtk 2024-10-08 23:52:28 +09:00
JaKooLit
84a413c615 added tip for searchable keybinds via rofi 2024-09-21 22:27:11 +09:00
JaKooLit
cea9183d2d User will be ask if they want to set Thunar as default file manager if they decided to install it 2024-09-20 20:05:50 +09:00
JaKooLit
8eef96db51 small tweak 2024-09-20 18:55:13 +09:00
JaKooLit
f99474f81f updated thunar and preset.sh 2024-09-20 18:51:13 +09:00
JaKooLit
10a1e9142d updaed preset.sh 2024-09-20 18:40:02 +09:00
JaKooLit
b4bfd935d9 updated zsh.sh 2024-09-20 17:43:10 +09:00
JaKooLit
17b836ee2f Added fastfetch on tty. However, will be disabled if user decided to install pokemon colorscripts 2024-09-19 17:05:05 +09:00
JaKooLit
54bc0d1499 updated install.sh 2024-09-18 23:35:44 +09:00
JaKooLit
0e876533c2 ask user if thunar wants to be default. some formatting changes 2024-09-18 17:13:17 +09:00
JaKooLit
f096714637 dotfiles will now be downloaded from main or master branch instead of from the releases version. 2024-09-18 14:32:20 +09:00
JaKooLit
38f24a43bb added dotfiles-main.sh to download from main instead of from releases 2024-09-18 01:21:47 +09:00
JaKooLit
0ed0894c38 switched over to non-bin yay or paru 2024-09-16 01:48:54 +09:00
JaKooLit
c0b198d562 Final tweaks of color variants for output messages 2024-09-14 17:08:00 +09:00
JaKooLit
99cc2c481b Some changes on numbers on install scripts 2024-09-14 13:12:01 +09:00
JaKooLit
b16dffda4d another update for uninstallation process 2024-09-14 11:40:36 +09:00
JaKooLit
04995241c4 updated uninstall functions 2024-09-14 11:32:32 +09:00
JaKooLit
44b58b3c65 just a bit tweak of final check script 2024-09-14 01:55:29 +09:00
JaKooLit
eb033d3220 final tweak of install scripts 2024-09-14 01:29:54 +09:00
JaKooLit
ba7dcc8523 updated Final-Check.sh 2024-09-14 01:28:27 +09:00
JaKooLit
bbc3094e3d update Install scripts 2024-09-14 01:16:32 +09:00
JaKooLit
8ad8784443 updated - added final check of install packages 2024-09-14 00:48:15 +09:00
JaKooLit
477545ac2e just color tweak 2024-09-08 14:55:13 +09:00
Ja.KooLit
5f59d96640 Merge pull request #147 from JaKooLit/development
Development to Main
2024-09-08 11:55:22 +09:00
JaKooLit
4f7ff52523 Added final error checks on install-logs 2024-09-08 11:40:30 +09:00
JaKooLit
16f3c44ec8 Added error checks 2024-09-08 11:25:42 +09:00
Ja.KooLit
fb2866eed1 Update install.sh 2024-09-08 11:08:51 +09:00
JaKooLit
b47a5f7a9a added a final error check 2024-09-08 11:02:58 +09:00
Ja.KooLit
8a452057cf Merge pull request #146 from JaKooLit/main
Main to development synchronization
2024-09-08 10:54:45 +09:00
JaKooLit
9241cbf2c6 added sof-firmware 2024-09-07 23:29:23 +09:00
JaKooLit
3318f33c31 adjusted to detect if pulseaudio is installed 2024-09-07 23:27:46 +09:00
Ja.KooLit
267eda6dc4 Merge pull request #143 from JaKooLit/main
Main to development
2024-09-05 17:07:30 +09:00
JaKooLit
48b57acbfd minor tweak 2024-09-03 23:45:14 +09:00
Ja.KooLit
e25cbba2c6 install.sh - Edited to WARN if hyprland failed to install 2024-09-01 15:31:45 +09:00
JaKooLit
38cb01047c switched over to non-git wallust package 2024-08-29 22:04:21 +09:00
JaKooLit
6fe4514341 move pyprland and other hyprland related packages in hyprland.sh 2024-08-29 10:35:36 +09:00
Ja.KooLit
43ce92bb86 Merge pull request #139 from JaKooLit/development
Synchronize Main and Development Branches
2024-08-28 18:42:28 +09:00
Ja.KooLit
8a5705156e Merge pull request #138 from JaKooLit/main
Main to Development
2024-08-28 18:41:35 +09:00
Ja.KooLit
3ed441614e Added final check if hyprland is installed and will give an error to user 2024-08-28 18:37:42 +09:00
Ja.KooLit
37f9b02292 updated install.sh to check if base-devel is install and Hyprland is installed and will exit and give an error message accordingly 2024-08-28 18:36:43 +09:00
Ja.KooLit
f8a0c925c3 Merge pull request #136 from JaKooLit/main
Main to Development synchronization
2024-08-26 23:11:08 +09:00
JaKooLit
d0605b5afe added nvidia_drm.fbdev=1 for grub 2024-08-26 23:09:29 +09:00
JaKooLit
39a97acf3b Set to uninstall rofi as conflicts with rofi-wayland 2024-08-26 20:32:19 +09:00
JaKooLit
a177ed254f Set to uninstall rofi as conflicts with rofi-wayland 2024-08-26 20:31:40 +09:00
JaKooLit
73938d8343 added base devel to install first 2024-08-26 15:40:42 +09:00
Ja.KooLit
f82fcf966c Merge pull request #130 from JaKooLit/main
Main to Dev
2024-08-14 21:03:14 +09:00
Ja.KooLit
f7bf5a4667 Update CHANGELOGS.md 2024-08-14 15:42:35 +09:00
Ja.KooLit
9ac06f2125 Update CHANGELOGS.md 2024-08-14 15:42:24 +09:00
Ja.KooLit
acce625ac7 Update 00-base.sh 2024-08-14 15:41:36 +09:00
Ja.KooLit
a09c819cb6 Add files via upload 2024-08-10 15:27:49 +00:00
Ja.KooLit
c891da45d5 Merge pull request #129 from JaKooLit/main
Main to Development
2024-08-08 15:48:27 +00:00
Ja.KooLit
0b1be97f7b Merge pull request #128 from JaKooLit/development
Development to main
2024-08-08 15:46:59 +00:00
Ja.KooLit
939444a27d Merge pull request #127 from JaKooLit/JaKooLit-patch-1
Update CHANGELOGS.md
2024-08-08 15:43:52 +00:00
Ja.KooLit
ae4bc4a855 Update CHANGELOGS.md 2024-08-08 15:43:31 +00:00
Ja.KooLit
7ebfa06c3b Update install.sh
Increased to 1 sec delay for installing base
2024-08-08 15:41:48 +00:00
Ja.KooLit
6655cc12e6 Merge pull request #106 from JaKooLit/main
synchronize Main to Development
2024-07-11 11:45:16 +09:00
JaKooLit
3502766cd7 updated readme re rofi 2024-07-11 11:40:40 +09:00
Ja.KooLit
60c62bd122 Merge pull request #105 from JaKooLit/main
synchronize Main to Development
2024-07-11 11:14:51 +09:00
JaKooLit
611d8ba612 updated readme 2024-07-11 11:12:35 +09:00
Ja.KooLit
56d3cbb19b Merge pull request #101 from JaKooLit/development
Development to Main
2024-07-07 22:49:50 +09:00
JaKooLit
69e938e33c move installation of eza on zsh.sh 2024-07-07 22:41:19 +09:00
Ja.KooLit
b0f2e59cd1 Merge pull request #100 from ElectroPerf/main
feat: Use eza to display file/folder icons in terminal
2024-07-07 22:26:32 +09:00
Kunmun
227ef1d75d feat: Use eza to display file/folder icons in terminal
Change-Id: I3807eef228a3799c652eea185384445de7c5c370
2024-07-07 17:42:34 +05:30
JaKooLit
165d8ff0bb added fbdev=1 on nvidia.sh 2024-06-25 22:00:36 +09:00
Ja.KooLit
0fdd31534f Update README.md 2024-06-23 17:04:05 +08:00
Ja.KooLit
2ae238ace1 Merge pull request #93 from JaKooLit/main
Main to Development
2024-06-22 15:12:43 +09:00
JaKooLit
1f822e3d5f updated Discord Link - Readme 2024-06-22 15:08:32 +09:00
JaKooLit
322ddee8e7 updated discord link 2024-06-21 04:26:25 +09:00
Ja.KooLit
9615baf63e updated readme regarding nvidia 2024-06-11 04:41:07 +09:00
JaKooLit
5add49ac89 updated base-devel installation 2024-06-10 00:13:52 +09:00
JaKooLit
86943a51b3 added inxi for better diagnostic info 2024-06-09 10:36:32 +09:00
Ja.KooLit
d24a9c4888 updated readme 2024-06-08 23:58:39 +09:00
Ja.KooLit
62e69cfd73 updated readme 2024-06-08 23:54:40 +09:00
JaKooLit
97992554b1 added keybinds link on readme 2024-06-05 13:25:15 +09:00
JaKooLit
6120faaea5 removed bookmarks from gtk-3.0 directory 2024-06-05 13:01:48 +09:00
Ja.KooLit
f45f41d14a Merge pull request #86 from JaKooLit/main
main to development
2024-06-04 03:04:45 +09:00
JaKooLit
f214cf3c8d updated Thunar.sh to include gtk-3.0 config if not present 2024-06-01 18:56:32 +09:00
JaKooLit
55f5819ae9 updated issue templates 2024-05-30 03:22:56 +09:00
Ja.KooLit
c15100db44 Merge pull request #85 from JaKooLit/main
Main to development
2024-05-27 05:21:38 +09:00
JaKooLit
c429266320 Added fzf for zsh, clean up readme 2024-05-27 05:18:22 +09:00
JaKooLit
3b6c7c3c73 updated GTK theme install script to avoid confusion 2024-05-25 18:06:44 +09:00
Ja.KooLit
4c56e4fbcc Update README.md 2024-05-25 17:35:26 +09:00
Ja.KooLit
e3c10a7661 Merge pull request #83 from JaKooLit/development
Development to Main for v2.2.12 Hyprland-Dots release
2024-05-24 21:23:34 +09:00
Ja.KooLit
5fc5342a67 Merge branch 'main' into development 2024-05-24 21:23:24 +09:00
JaKooLit
216008382e added fastfetch, power-profiles-daemon (only to ROG users), see changelogs notes 2024-05-24 00:08:09 +09:00
Ja.KooLit
51f4bcfa26 Update CHANGELOGS.md
For development. Not yet ready
2024-05-23 17:14:36 +09:00
Ja.KooLit
6f2128a27a Update 00-hypr-pkgs.sh
mistake.. should be in development first
2024-05-23 17:13:27 +09:00
Ja.KooLit
07824f1fab Merge pull request #81 from JaKooLit/main
Main to Development for new features
2024-05-23 17:09:36 +09:00
Ja.KooLit
1d100b2ca9 Merge branch 'development' into main 2024-05-23 17:09:15 +09:00
JaKooLit
8b01d91625 added qalculate-gtk for Hyprland-Dots v2.2.12 2024-05-23 13:26:47 +09:00
JaKooLit
bd162bffd3 changed the sddm theme destination to /etc/sddm.conf.d/10-theme.conf to theme.conf.user 2024-05-22 21:13:24 +09:00
JaKooLit
bc4a9b54f7 updated packages 2024-05-22 20:40:12 +09:00
JaKooLit
dc3dc39e12 updated readme regarding Hyprland Auto starting 2024-05-22 00:19:37 +09:00
JaKooLit
03ca2d6494 added file-roller in thunar 2024-05-21 21:44:23 +09:00
JaKooLit
eb62120deb updated readme 2024-05-20 11:40:20 +09:00
JaKooLit
340019c627 updated readme 2024-05-20 11:30:09 +09:00
Ja.KooLit
7a111e0284 Merge pull request #80 from JaKooLit/main
Main to development
2024-05-19 14:46:09 +09:00
JaKooLit
6252e96186 updated behaviour of .zprofile as causing auto-login to Hyprland 2024-05-19 12:27:05 +09:00
JaKooLit
92f595b6e4 updated readme 2024-05-18 23:23:50 +09:00
JaKooLit
37f09a8e7e updated readme 2024-05-18 18:39:12 +09:00
JaKooLit
ae859493b6 updated Readme 2024-05-18 00:53:25 +09:00
Ja.KooLit
ae720c7299 Merge pull request #78 from JaKooLit/main
Main to development
2024-05-14 00:39:41 +09:00
JaKooLit
84e32d5ea3 remove pywal colors for .zshrc 2024-05-14 00:27:22 +09:00
Ja.KooLit
b2195df659 Merge pull request #75 from JaKooLit/development
Releasing a new installer to work with Hyprland-Dots v2.2.11
2024-05-13 11:20:28 +09:00
Ja.KooLit
c5837fd525 Merge pull request #74 from JaKooLit/main
Merging Main to Development, prior release of new installer for Hyprland-Dots v2.2.11
2024-05-13 11:14:22 +09:00
JaKooLit
c3710b89aa edited install.sh to avoid confusion (hopefully) on use preset settings 2024-05-11 19:25:10 +09:00
JaKooLit
87dfa43733 updated readme to highlight pipewire 2024-05-11 11:37:24 +09:00
Ja.KooLit
faa76f335f Update README.md 2024-05-10 22:48:13 +09:00
Ja.KooLit
dc800878a6 Update README.md 2024-05-10 22:47:10 +09:00
JaKooLit
f7a20da6ea updated for wallust migration from pywal 2024-05-10 12:31:15 +09:00
Ja.KooLit
fdafa3d472 Merge pull request #72 from JaKooLit/main
Tweaked Script including sddm.sh
2024-05-08 11:11:49 +09:00
JaKooLit
9abf9a459d Tweaked Script including sddm.sh 2024-05-08 11:10:17 +09:00
JaKooLit
8ed397017c added ags for the upcoming hyprland-dots v2.2.11 with ags overview 2024-05-07 23:12:10 +09:00
Ja.KooLit
88629e5e07 Merge pull request #71 from JaKooLit/main
main to dev
2024-05-07 02:10:53 +09:00
JaKooLit
fdd442e74b updated arch. switched to cava as installation of cava-git keep the installation hang 2024-05-07 02:04:31 +09:00
Ja.KooLit
f1758c4a67 switched to rofi-wayland extra repo 2024-05-05 07:10:41 +09:00
Ja.KooLit
85eac029b8 Merge pull request #69 from JaKooLit/main
main to development update
2024-05-05 00:42:36 +09:00
Ja.KooLit
28a183f820 Merge pull request #68 from JaKooLit/development
Development to Main
2024-05-05 00:41:32 +09:00
JaKooLit
f57842bd36 Made a separate script for fonts installation for easy debugging purpose 2024-05-04 23:57:28 +09:00
Ja.KooLit
6247e2fa09 switched to cava-git version as cava have issues 2024-05-03 22:48:47 +09:00
JaKooLit
a6b1defa6c added pyquery for new weather python script for waybar on Hyprland-Dots v2.2.10 2024-05-03 17:59:52 +09:00
JaKooLit
d41ff66680 updated readme for some tips for nvidia-gpu users 2024-05-03 09:08:11 +09:00
JaKooLit
51bd4af82c Added pyprland (hyprland plugin) 2024-05-02 19:48:40 +09:00
Ja.KooLit
74ca2e4f90 Merge pull request #66 from JaKooLit/development
some error message grammar corrections
2024-05-02 00:04:17 +09:00
Ja.KooLit
0dec7b3ef2 some error message grammar corrections 2024-05-02 00:00:36 +09:00
Ja.KooLit
2c69ef4342 Merge pull request #65 from JaKooLit/main
synchronize main to development
2024-05-01 12:00:59 +09:00
Ja.KooLit
aeeb8b50d8 Merge pull request #64 from JaKooLit/development
updated install.sh
2024-05-01 12:00:10 +09:00
JaKooLit
8e97290429 updated install.sh 2024-05-01 11:56:21 +09:00
Ja.KooLit
1c49abbe54 Merge pull request #63 from JaKooLit/development
updated readme to add stargazers
2024-04-30 23:50:12 +09:00
JaKooLit
8cf857efc7 updated readme 2024-04-30 23:48:49 +09:00
Ja.KooLit
a265f12931 Merge pull request #62 from JaKooLit/development
Updated readme to download to user directory instead of somewhere else
2024-04-29 08:28:10 +09:00
Ja.KooLit
95cc453086 Merge pull request #61 from JaKooLit/main
main to development
2024-04-29 08:27:13 +09:00
JaKooLit
fbf8545540 Updated readme 2024-04-29 07:51:12 +09:00
JaKooLit
f1fd1d1170 updated readme 2024-04-26 09:39:59 +09:00
Ja.KooLit
2154eef613 Merge pull request #59 from JaKooLit/development
updated SDDM scripts. Regarding custom theme
2024-04-26 09:28:49 +09:00
JaKooLit
77192cd06e updated SDDM theme 2024-04-26 09:27:02 +09:00
Ja.KooLit
c73c155a79 Merge pull request #58 from JaKooLit/development
Dropping swayidle and swaylock in favor of hypridle and hyprlock
2024-04-25 22:49:48 +09:00
JaKooLit
45612f287a Dropping swayidle and swaylock in favor of hypridle and hyprlock 2024-04-23 01:47:12 +09:00
Ja.KooLit
b93b09e850 Merge pull request #54 from JaKooLit/development
Development
2024-04-21 01:56:26 +09:00
JaKooLit
24be6f7e0f updated changelogs 2024-04-21 01:55:53 +09:00
Ja.KooLit
37a6170c86 Merge pull request #53 from JaKooLit/main
synchronize main and development branch
2024-04-21 01:53:40 +09:00
Ja.KooLit
1626443441 Merge branch 'development' into main 2024-04-21 01:53:33 +09:00
JaKooLit
1a09f27e8c updated changed oh my zsh default theme to xiong-chiamiov-plus 2024-04-20 11:16:17 +09:00
Ja.KooLit
3ba886fc82 added hyprcursor 2024-03-17 02:32:05 +09:00
Ja.KooLit
80dad5f613 Merge pull request #41 from cbaconnier/fix-sddm-prompt-loop
fix: fix infinte loop when prompting for SDDM themes
2024-03-08 05:53:30 +09:00
Clément Baconnier
198b3e95eb Prevent infinte loop when prompting for SDDM themes 2024-03-07 20:54:24 +01:00
Ja.KooLit
f9a98bc123 Merge pull request #39 from JaKooLit/development
replaced sddm-git with sddm
2024-03-02 09:24:50 +09:00
Ja.KooLit
81efa38c70 replaced sddm-git with sddm 2024-03-02 09:22:16 +09:00
Ja.KooLit
7159473715 Merge pull request #21 from JaKooLit/development
dropped wlsunset
2024-01-11 14:03:47 +00:00
Ja.KooLit
dc6b2523c9 Merge pull request #23 from JaKooLit/JaKooLit-patch-1
Update CHANGELOGS.md
2024-01-11 14:03:32 +00:00
Ja.KooLit
0ff82e2781 Update CHANGELOGS.md 2024-01-11 14:03:06 +00:00
Ja.KooLit
be24393d81 Update CHANGELOGS.md 2024-01-11 14:01:37 +00:00
Ja.KooLit
f406c12892 Merge pull request #22 from JaKooLit/JaKooLit-patch-1
Update CHANGELOGS.md
2024-01-11 14:00:51 +00:00
Ja.KooLit
0258e4f128 Update CHANGELOGS.md 2024-01-11 14:00:28 +00:00
Ja.KooLit
c0bef5bf88 dropped wlsunset 2024-01-11 22:54:55 +09:00
JaKooLit
93218e0ff7 Readme updated regarding 470 nvidia drivers 2024-01-07 01:07:40 +09:00
JaKooLit
e8773551c2 some small corrections on the typo parts 2024-01-06 22:01:12 +09:00
JaKooLit
376cd5ddb7 corrected custom link 2024-01-06 02:25:45 +09:00
JaKooLit
382b9d6d37 Added guidelines for PR, and Reporting, etc 2024-01-06 02:20:03 +09:00
JaKooLit
986b94d138 added PR and Reporting templates, etc 2024-01-06 02:10:40 +09:00
Ja.KooLit
8fe78dd9c8 updated InputGroup prompt. Updated screenshot of installer 2024-01-05 23:33:41 +09:00
Ja.KooLit
743a9e992d returning SDDM question 2024-01-05 23:07:57 +09:00
Ja.KooLit
531edb0107 updated install.sh and preset.sh 2024-01-05 22:45:20 +09:00
Ja.KooLit
dc6f780932 Merge pull request #17 from PostCyberPunk/main
feat(preset): Added a Preset for Quick Installation / Update without prompting the user to answer questions
2024-01-05 22:38:07 +09:00
Ja.KooLit
e7d04b4f7b resolving conflicts 2024-01-05 22:37:05 +09:00
Ja.KooLit
457dbc577f added 2024-01-05 22:32:53 +09:00
Ja.KooLit
fbfdf9bc91 remove install.sh to avoid conflict 2024-01-05 22:32:01 +09:00
Ja.KooLit
0a35fe2b15 to resolve the PR conflict 2024-01-05 22:27:02 +09:00
Ja.KooLit
6066051354 Update preset.sh
Changed some preset settings in case Users accidentally choose Y in using preset with even reviewing it
2024-01-05 22:24:52 +09:00
Ja.KooLit
fc31b99d98 Update install.sh
Added some notes regarding Use of Preset
2024-01-05 22:22:33 +09:00
PostCyberPunk
33f538966f feat(preset):add preset for quick installlation
check var exist before ask

remove var

add preset file

add a question to check should use preset

patch custom question

fix blacklist nouveau name not clear

fix input group var not clear

fix pokemon var not clear

add comment for preset var

use preset env var before excute script

add preset to script

print preset info
2024-01-05 17:51:33 +08:00
JaKooLit
d574e9f10a updated readme re-nvidia 2024-01-04 14:12:42 +09:00
Ja.KooLit
749393f31e Merge pull request #16 from JaKooLit/JaKooLit-patch-1
Update README.md
2024-01-04 02:18:49 +09:00
Ja.KooLit
7d18142300 Update README.md 2024-01-04 02:18:33 +09:00
Ja.KooLit
cee14736b6 Merge pull request #15 from JaKooLit/JaKooLit-patch-1
Update README.md
2024-01-04 02:17:17 +09:00
Ja.KooLit
af581c5582 Update README.md 2024-01-04 02:17:00 +09:00
JaKooLit
97c2a6f802 updated readme 2024-01-03 18:45:38 +09:00
JaKooLit
2788c45347 updated Bibaba Cursor to newer version 2024-01-02 17:24:19 +09:00
Ja.KooLit
fa1b5cc43a Merge pull request #14 from JaKooLit/development
Migration to new structure completed
2024-01-01 23:24:20 +09:00
JaKooLit
f1542a11ed ok. This should be the final push.... F.. hard to tweak... lmao 2024-01-01 23:09:47 +09:00
JaKooLit
b540e8a930 tweaked abit 2024-01-01 22:56:17 +09:00
JaKooLit
70af4617c2 ok. adding sleep as seems that base is being ommited 2024-01-01 22:49:55 +09:00
JaKooLit
4dc56c6493 Migration to better install completed 2024-01-01 22:33:09 +09:00
JaKooLit
2720bb7441 ok I figured it out why 2024-01-01 21:48:58 +09:00
JaKooLit
b5985dab7e I think this is the culprit 2024-01-01 21:30:51 +09:00
JaKooLit
489a060a3e another update 2024-01-01 21:21:25 +09:00
JaKooLit
64a0cfae32 updated 2024-01-01 21:09:12 +09:00
JaKooLit
662e54aecd test- 2024-01-01 19:44:32 +09:00
JaKooLit
38e3430c64 revert back previous 2024-01-01 19:36:02 +09:00
JaKooLit
fe60a6129e update 2024-01-01 19:29:57 +09:00
JaKooLit
36c054be45 updated thunar.sh 2023-12-31 00:43:26 +09:00
JaKooLit
9c80e88985 Small update on install scripts 2023-12-30 21:00:01 +09:00
JaKooLit
2c8edda4f2 updated installer layout 2023-12-30 15:20:01 +09:00
JaKooLit
5052416f08 Making Pokemon Color Script as optional 2023-12-30 15:07:24 +09:00
JaKooLit
7ba47f5a6d Code Cleaned up. Easier to trace and Debug 2023-12-30 14:36:11 +09:00
JaKooLit
dd9626d900 Code Cleaned up :) Better and Easier to Debug and Trace 2023-12-30 14:35:01 +09:00
JaKooLit
4fcc7577de updated readme to add the wallpaper repo link 2023-12-30 00:44:38 +09:00
Ja.KooLit
d6a6ff75ee switch to swaync in favor of dunst 2023-12-29 17:23:37 +09:00
JaKooLit
4ab51d13cf updated .zshrc 2023-12-27 11:09:04 +09:00
JaKooLit
388142c7e4 updated thunar and xfce4 settings in assets 2023-12-26 16:25:04 +09:00
JaKooLit
211750e014 remove depth=1 in gtk 2023-12-26 01:50:25 +09:00
JaKooLit
d6049a0f75 added depth=1 in gtk_themes install 2023-12-26 00:02:37 +09:00
JaKooLit
7ceffc7ec5 switched to unzip on icons 2023-12-25 23:59:43 +09:00
JaKooLit
7018a5f637 added xdg-utils 2023-12-25 19:01:07 +09:00
JaKooLit
84aa42707a Readme updated 2023-12-25 18:14:09 +09:00
JaKooLit
2fa25ac977 readme updated 2023-12-24 22:49:32 +09:00
Ja.KooLit
772dc1bb8f readme updated 2023-12-24 12:37:25 +09:00
Ja.KooLit
049086eada added coffee.com link 2023-12-24 11:16:02 +09:00
Ja.KooLit
6195d3ada6 updated readme for nvidia nouveau 2023-12-24 11:09:12 +09:00
Ja.KooLit
32c06e65f7 some guy got pissed and they dont want to be recognized 2023-12-23 17:58:02 +09:00
JaKooLit
cfc668b8ac updated GTK theme install with tar.gz 2023-12-21 23:49:47 +09:00
JaKooLit
038d58036a added youtube playlist 2023-12-21 14:25:25 +09:00
JaKooLit
02999fed50 Added install script notes 2023-12-21 00:54:42 +09:00
JaKooLit
c578711910 updated readme 2023-12-21 00:06:43 +09:00
Ja.KooLit
8777ae50e8 updated sddm.sh 2023-12-18 13:56:28 +09:00
Ja.KooLit
e9c611daaa clean up and updated readme 2023-12-18 09:18:11 +09:00
Ja.KooLit
5aa16a287e updated sddm and gtk themes 2023-12-18 02:39:30 +09:00
Ja.KooLit
27d0ca8862 Change SDDM install script re Theme 2023-12-16 18:26:47 +09:00
88 changed files with 5188 additions and 2783 deletions

4
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,4 @@
# These are supported funding model platforms
github: JaKooLit
ko_fi: jakoolit

83
.github/ISSUE_TEMPLATE/bug.yml vendored Normal file
View File

@@ -0,0 +1,83 @@
name: Bug Report
description: Something is not working right
title: "[Bug]: "
labels: ["bug"]
assignees:
- JaKooLit
body:
- type: checkboxes
attributes:
label: Already reported ? *
description: Before opening a new bug report, please take a moment to search through the current open and closed issues to check if it already exists.
options:
- label: I have searched the existing open and closed issues.
required: true
- type: dropdown
id: type
attributes:
label: Regression?
description: |
Regression means that something used to work but no longer does.
options:
- "Yes"
- "No"
- "Not sure"
validations:
required: true
- type: textarea
id: ver
attributes:
label: System Info and Version
description: |
Paste the output of `inxi --full` here.
install inxi if command not found.
value: "<details>
<summary>System/Version info</summary>
```
<Paste the output of the command here, without removing any formatting around this>
```
</details>"
validations:
required: true
- type: textarea
id: dots
attributes:
label: KooL's Dots version
description: |
Paste the output of `find ~/.config/hypr/ -type f -name 'v*' -exec basename {} \;`
This is just KooL's Hyprland Dots version.
validations:
required: true
- type: textarea
id: desc
attributes:
label: Description
description: "What went wrong? What exactly happened?"
validations:
required: true
- type: textarea
id: repro
attributes:
label: How to reproduce
description: "How can someone else reproduce the issue?"
validations:
required: true
- type: textarea
id: logs
attributes:
label: install logs, images or videos
description: |
Anything that can help. Please always ATTACH and not paste them.

View File

@@ -0,0 +1,30 @@
name: Documentation update
description: Propose a change to the project documentation wiki
title: "[Documentation update]: "
labels: ["documentation_update"]
assignees:
- JaKooLit
body:
- type: textarea
id: desc
attributes:
label: Description
description: "Provide a clear and concise description of the documentation update"
validations:
required: true
- type: textarea
id: repro
attributes:
label: Proposed Solution
description: "Provide a clear and concise description of the updated documentation that you'd like to see added"
validations:
required: true
- type: textarea
id: logs
attributes:
label: install links, images or videos
description: |
Add any other information about the documentation update here. For example, you might include links to similar documentation in other projects, or screenshots or diagrams to help explain your idea

38
.github/ISSUE_TEMPLATE/feature.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
name: Feature Request
description: I'd like to propose some changes and enhancements
title: "[Enhancement]: "
labels: ["enhancement"]
assignees:
- JaKooLit
body:
- type: checkboxes
attributes:
label: Already reported ? *
description: Before opening a new feature request, please take a moment to search through the current open and closed issues / request to check if it already exists.
options:
- label: I have searched the existing open and closed request.
required: true
- type: textarea
id: desc
attributes:
label: Description
description: "Describe your idea?"
validations:
required: true
- type: textarea
id: repro
attributes:
label: Proposed Solution
description: "describe if you have a specific solution in mind"
validations:
required: true

43
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,43 @@
# Pull Request
## Description
Please read these instructions and remove unnecessary text.
- Try to include a summary of the changes and which issue is fixed.
- Also include relevant motivation and context (if applicable).
- List any dependencies that are required for this change. (e.g., packages or other PRs)
- Provide a link if there is an issue related to this pull request. e.g., Fixes # (issue)
- Please add Reviewers, Assignees, Labels, Projects, and Milestones to the PR. (if applicable)
## Type of change
Please put an `x` in the boxes that apply:
- [ ] **Bug fix** (non-breaking change which fixes an issue)
- [ ] **New feature** (non-breaking change which adds functionality)
- [ ] **Breaking change** (fix or feature that would cause existing functionality to not work as expected)
- [ ] **Documentation update** (non-breaking change; modified files are limited to the documentations)
- [ ] **Technical debt** (a code change that does not fix a bug or add a feature but makes something clearer for devs)
- [ ] **Other** (provide details below)
## Checklist
Please put an `x` in the boxes that apply:
- [ ] I have read the [CONTRIBUTING](https://github.com/JaKooLit/Arch-Hyprland/blob/main/CONTRIBUTING.md) document.
- [ ] My code follows the code style of this project.
- [ ] My commit message follows the [commit guidelines](https://github.com/JaKooLit/Arch-Hyprland/blob/main/CONTRIBUTING.md#git-commit-messages).
- [ ] My change requires a change to the documentation.
- [ ] I want to add something in Arch-Hyprland wiki.
- [ ] I have added tests to cover my changes.
- [ ] I have tested my code locally and it works as expected.
- [ ] All new and existing tests passed.
## Screenshots
(if appropriate)
## Additional context
Add any other context about the problem here.

View File

@@ -1,4 +1,168 @@
## Changelogs ## CHANGELOGS
## 23 Feb 2025
- added Victor Mono Font for proper hyprlock font rendering for Dots v2.3.12
- added Fantasque Sans Mono Nerd for Kitty
## 22 Feb 2025
- replaced eog with loupe
- changed url for installing oh-my-zsh to get wider coverage. Some countries are blocking github raw url's
## 20 Feb 2025
- Added nwg-displays for the upcoming Kools dots v2.3.12
## 18 Feb 2025
- Change default zsh theme to adnosterzak
- pokemon coloscript integrated with fastfetch when opted with pokemon to add some bling
- additional external oh-my-zsh theme
## 06 Feb 2025
- added semi-unattended function.
- move all the initial questions at the beginning
## 04 Feb 2025
- Re-coded for better visibility
- Offered a new SDDM theme.
- script will automatically detect if you have nvidia but script still offer if you want to set up for user
## 29 Jan 2025
- enhanced nvidia.sh to add additional systemd-bootloader entries for nvidia
## 16 Jan 2025
- updated nvidia.sh to install non-git libva-nvidia-driver
## 13 Jan 2025
- replaced polkit-gnome with hyprpolkitagent
## 12 Jan 2025
- switch to final version of aylurs-gtk-shell-v1
## 11 Jan 2025
- added cachyos-hyprland-settings to uninstall
## 06 Jan 2025
- added copying of modified fastfetch-compact for Arch
- default theme for oh my zsh theme is now "funky"
## 26 Dec 2024
- Removal of Bibata Ice cursor on assets since its integrated in the GTK Themes and Icons extract from a separate repo
- integrated hyprcursor in Bibata Ice Cursor
## 15 Nov 2024
- revert Aylurs GTK Shell (AGS) to install older version
- added aylurs-gtk-shell to uninstall
## 20 Sep 2024
- User will be ask if they want to set Thunar as default file manager if they decided to install it
## 19 Sep 2024
- Added fastfetch on tty. However, will be disabled if user decided to install pokemon colorscripts
## 18 Sep 2024
- dotfiles will now be downloaded from main or master branch instead of from the releases version.
## 14 Sep 2024
- remove the final error checks instead, introduced a final check of essential packages to ran Hyprland
## 08 Sep 2024
- Added final error checks on install-logs
## 07 Sep 2024
- added pulseaudio check
- added sof-firmware
## 29 Aug 2024
- switched over to non-git wallust package
- improved indentions on some install scripts
## 28 Aug 2024
- Added final check if hyprland is installed and will give an error to user
## 26 Aug 2024
- Set to uninstall rofi as conflicts with rofi-wayland
- added nvidia_drm.fbdev=1 for grub
## 14 Aug 2024
- added archlinux-keyring on base.sh
## 08 Aug 2024
- Increased to 1 sec delay for installing base-devel [commit](https://github.com/JaKooLit/Arch-Hyprland/commit/7ebfa06c3b186f9bec0bcf268fae401ba67dfc2a)
## 07 Jul 2024
- added eza (ls replacement for tty). Note only on .zshrc
## 25 Jun 2024
- added fbdev=1 for nvidia.sh on `/etc/modprobe.d/nvidia.conf`. see here `https://wiki.hyprland.org/Nvidia/#drm-kernel-mode-setting`
## 26 May 2024
- Added fzf for zsh (CTRL R to invoke FZF history)
## 23 May 2024
- added qalculate-gtk to work with rofi-calc. Default keybinds (SUPER ALT C)
- added power-profiles-daemon for ROG laptops. Note, I cant add to all since it conflicts with TLP, CPU-Auto-frequency etc.
- added fastfetch
## 22 May 2024
- nwg-look is now in extra repo so replaced with nwg-look from nwg-look-bin
- change the sddm theme destination to /etc/sddm.conf.d/10-theme.conf to theme.conf.user
## 19 May 2024
- Disabled the auto-login in .zprofile as it causes auto-login to Hyprland if any wayland was chosen. Can enabled if only using hyprland
## 10 May 2024
- added wallust-git and remove python-pywal for migration to wallust on Hyprland-Dots v2.2.11
## 08 May 2024
- Adjusted sddm.sh since it does not respect preset.sh
- install.sh have been rearranged so it quits if user choose not to proceed
## 07 May 2024
- Minor typo change on nvidia.sh
- switch back to cava since installing cava-git keep it hanging (see known-issue on readme)
## 05 May 2024
- switched to rofi-wayland Extra Repo
## 04 May 2024
- separated fonts installation script for easy debugging
## 03 May 2024
- added python3-pyquery for new weather-waybar python based on Hyprland-Dots
## 02 May 2024
- Added pyprland (hyprland plugin)
## 26 Apr 2024
- Updated sddm.sh for Qt6 variant
## 23 Apr 2024
- Dropping swayidle and swaylock in favor of hypridle and hyprlock
## 20 Apr 2024
- Change default Oh-my-zsh theme to xiong-chiamiov-plus
## 16 Mar 2024
- added hyprcursor
## 1 Mar 2024
- replaced sddm-git with sddm
## 11 Jan 2024
- dropped wlsunset
## 05 Jan 2024
- Added a preset feature
- Added templates for contributing, and reporting, etc
## 01 Jan 2024
- Re-coded complete and test
- Added to spice up pacman.conf including adding of ILoveCandy on it :)
## 30 Dec 2023
- Install scripts reconstructed
## 29 December 2023
- Remove dunst in favor of swaync. NOTE: Part of the script is to also uninstall mako and dunst (if installed) as on my experience, dunst is sometimes taking over the notification even if it is not set to start
## 16 Dec 2023 ## 16 Dec 2023
- zsh theme switched to `agnoster` theme by default - zsh theme switched to `agnoster` theme by default

128
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,128 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
mail[at]ml4w.com.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.

View File

@@ -0,0 +1,149 @@
# Commit Message Guidelines
A good commit message should be descriptive and provide context about the changes made. This makes it easier to understand and review the changes in the future.
Here are some guidelines for writing descriptive commit messages:
- Start with a short summary of the changes made in the commit.
- Use imperative mood for the summary, as if you're giving a command. For example, "Add feature" instead of "Added feature".
- Provide additional details in the commit message body, if necessary. This could include the reason for the change, the impact of the change, or any dependencies that were introduced or removed.
- Keep the message within 72 characters per line to ensure that it's easy to read in Git log output.
Examples of good commit messages:
- "Add authentication feature for user login"
- "Fix bug causing application to crash on startup"
- "Update documentation for API endpoints"
Remember, writing descriptive commit messages can save time and frustration in the future, and help others understand the changes made to the codebase.
## Commit Message Types
Here's a more comprehensive list of commit types that you can use:
`feat`: Adding a new feature to the project
```markdown
feat: Add multi-image upload support
```
`fix`: Fixing a bug or issue in the project
```markdown
fix: Fix bug causing application to crash on startup
```
`docs`: Updating documentation in the project
```markdown
docs: Update documentation for API endpoints
```
`style`: Making cosmetic or style changes to the project (such as changing colors or formatting code)
```markdown
style: Update colors and formatting
```
`refactor`: Making code changes that don't affect the behavior of the project, but improve its quality or maintainability
```markdown
refactor: Remove unused code
```
`test`: Adding or modifying tests for the project
```markdown
test: Add tests for new feature
```
`chore`: Making changes to the project that don't fit into any other category, such as updating dependencies or configuring the build system
```markdown
chore: Update dependencies
```
`perf`: Improving performance of the project
```markdown
perf: Improve performance of image processing
```
`security`: Addressing security issues in the project
```markdown
security: Update dependencies to address security issues
```
`merge`: Merging branches in the project
```markdown
merge: Merge branch 'feature/branch-name' into develop
```
`revert`: Reverting a previous commit
```markdown
revert: Revert "Add feature"
```
`build`: Making changes to the build system or dependencies of the project
```markdown
build: Update dependencies
```
`ci`: Making changes to the continuous integration (CI) system for the project
```markdown
ci: Update CI configuration
```
`config`: Making changes to configuration files for the project
```markdown
config: Update configuration files
```
`deploy`: Making changes to the deployment process for the project
```markdown
deploy: Update deployment scripts
```
`init`: Creating or initializing a new repository or project
```markdown
init: Initialize project
```
`move`: Moving files or directories within the project
```markdown
move: Move files to new directory
```
`rename`: Renaming files or directories within the project
```markdown
rename: Rename files
```
`remove`: Removing files or directories from the project
```markdown
remove: Remove files
```
`update`: Updating code, dependencies, or other components of the project
```markdown
update: Update code
```
These are just some examples, and you can create your own custom commit types as well. However, it's important to use them consistently and write clear, descriptive commit messages to make it easy for others to understand the changes you've made.
**Important:** If you are planning to use a custom commit message type other than the ones listed above, make sure to add it to this list so that others can understand it as well. Create a pull request to add it to this file.

70
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,70 @@
# Contributing to Community Standards
Thank you for your interest in contributing to Community Standards! We welcome any contributions, including bug fixes, feature enhancements, documentation improvements, and other general improvements.
## Getting Started
1. Fork the branch development repository to your GitHub account. This will create a copy of this repository in your account. You can make changes to this copy without affecting the original repository.
- For fork this repository, click the **Fork** button in the top right corner of this page or click [here](https://github.com/JaKooLit/Arch-Hyprland/fork).
- Make sure to uncheck the Copy the `main` branch only. This will copy the development branch and other branches (if any)
2. Clone your forked repository to your local machine.
- Use the following command to clone your forked repository to your local machine.
```bash
git clone --depth=1 -b development https://github.com/JaKooLit/Arch-Hyprland.git
```
3. Create a new branch for your changes.
- For example, to create a new branch named `your-branch-name`, use the following command.
```bash
git checkout -b your-branch-name
```
4. Make your changes and commit them with a descriptive commit message.
- For example, to commit your changes, use the following command and make sure to follow the [commit message guidelines](https://github.com/JaKooLit/Arch-Hyprland/blob/main/COMMIT_MESSAGE_GUIDELINES.md).
```bash
git commit -m "feat: add a new feature"
```
5. Push your changes to your forked repository.
- For example, to push your changes to your forked repository, use the following command.
```bash
git push origin your-branch-name
```
6. Submit a **pull request** to the development branch repository.
- For example, to create a pull request, use the following steps.
1. Go to your forked repository.
2. Click the **Compare & pull request** button next to your `your-branch-name` branch.
3. Add a title and description for your pull request.
4. Click **Create pull request** and remember to add the relevant labels with using the [pull request template](https://github.com/JaKooLit/Arch-Hyprland/blob/main/.github/PULL_REQUEST_TEMPLATE.md).
## Guidelines
- Follow the code style of the project.
- Update the **documentation** if necessary.
- Add tests if applicable.
- Make sure all tests pass or fully tested before submitting your changes.
- Keep your pull request focused and avoid including unrelated changes.
- Remember to follow the following files before submitting your changes.
- [bug_report.md](https://github.com/JaKooLit/Arch-Hyprland/blob/main/.github/ISSUE_TEMPLATE/bug_report.md) - Use this template to create a report to help us improve.
- [feature_request.md](https://github.com/JaKooLit/Arch-Hyprland/blob/main/.github/ISSUE_TEMPLATE/feature_request.md) - Use this template to suggest a feature for this project.
- [documentation_update.md](https://github.com/JaKooLit/Arch-Hyprland/blob/main/.github/ISSUE_TEMPLATE/documentation_update.md) - Use this template to propose a change to the documentation.
- [custom.md](https://github.com/JaKooLit/Arch-Hyprland/blob/main/.github/ISSUE_TEMPLATE/custom.md) - Use this template to submit a custom issue.
- [PULL_REQUEST_TEMPLATE.md](https://github.com/JaKooLit/Arch-Hyprland/blob/main/.github/PULL_REQUEST_TEMPLATE.md) - Use this template to submit a pull request.
- [COMMIT_MESSAGE_GUIDELINES.md](https://github.com/JaKooLit/Arch-Hyprland/blob/main/COMMIT_MESSAGE_GUIDELINES.md) - Read this file to learn about the commit message guidelines.
- [CONTRIBUTING.md](https://github.com/JaKooLit/Arch-Hyprland/blob/main/CONTRIBUTING.md) - Read this file to learn about the contributing guidelines.
- [LICENSE](https://github.com/JaKooLit/Arch-Hyprland/blob/main/LICENSE.md) - Read this file to learn about the license.
- [README.md](https://github.com/JaKooLit/Arch-Hyprland/blob/main/README.md) - Read this file to learn about the project.
## Contact
If you have any questions, feel free to contact via [GitHub Discussions](https://github.com/JaKooLit/Arch-Hyprland/discussions) or [Through Discord Server](https://discord.gg/V2SJ92vbEN)

BIN
Installer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 589 KiB

236
README.md
View File

@@ -1,63 +1,133 @@
<div align="center"> <div align="center">
# 💌 ** JaKooLit's Arch Hyprland Install Script ** 💌 # 💌 ** KooL's Arch - Hyprland Install Script ** 💌
![GitHub Repo stars](https://img.shields.io/github/stars/JaKooLit/Arch-Hyprland?style=for-the-badge&color=cba6f7) ![GitHub last commit](https://img.shields.io/github/last-commit/JaKooLit/Arch-Hyprland?style=for-the-badge&color=b4befe) ![GitHub repo size](https://img.shields.io/github/repo-size/JaKooLit/Arch-Hyprland?style=for-the-badge&color=cba6f7) <p align="center">
<img src="https://raw.githubusercontent.com/JaKooLit/Hyprland-Dots/main/assets/latte.png" width="400" />
</p>
![GitHub Repo stars](https://img.shields.io/github/stars/JaKooLit/Arch-Hyprland?style=for-the-badge&color=cba6f7) ![GitHub last commit](https://img.shields.io/github/last-commit/JaKooLit/Arch-Hyprland?style=for-the-badge&color=b4befe) ![GitHub repo size](https://img.shields.io/github/repo-size/JaKooLit/Arch-Hyprland?style=for-the-badge&color=cba6f7) <a href="https://discord.gg/9JEgZsfhex"> <img src="https://img.shields.io/discord/1151869464405606400?style=for-the-badge&logo=discord&color=cba6f7&link=https%3A%2F%2Fdiscord.gg%9JEgZsfhex"> </a>
<br/> <br/>
</div> </div>
#### Hyprland-Dots-showcase <div align="center">
<p align="center"> <br>
<img align="center" width="49%" src="https://raw.githubusercontent.com/JaKooLit/screenshots/main/Hyprland-ScreenShots/Arch-v2/Arch-Default-Layout.png" /> <img align="center" width="49%" src="https://raw.githubusercontent.com/JaKooLit/screenshots/main/Hyprland-Dots-Showcase/dark-theme.png" /> <a href="#-announcement-"><kbd><br>Read this First<br></kbd></a>&ensp;&ensp;
<img align="center" width="49%" src="https://raw.githubusercontent.com/JaKooLit/screenshots/main/Hyprland-Dots-Showcase/Light-theme.png" /> <img align="center" width="49%" src="https://raw.githubusercontent.com/JaKooLit/screenshots/main/Hyprland-ScreenShots/Arch-v2/Another-Screenshot.png"" /> <a href="#-to-use-this-script"><kbd><br>How to use this script<br></kbd></a>&ensp;&ensp;
</p> <a href="#gallery-and-videos"><kbd><br>Gallery<br></kbd></a>&ensp;&ensp;
</div><br>
<p align="center"> <p align="center">
<img align="center" width="49%" src="https://raw.githubusercontent.com/JaKooLit/screenshots/main/Hyprland-Dots-Showcase/default-waybar.png" /> <img align="center" width="49%" src="https://raw.githubusercontent.com/JaKooLit/screenshots/main/Hyprland-Dots-Showcase/rofi.png" /> <img src="https://raw.githubusercontent.com/JaKooLit/Hyprland-Dots/main/assets/latte.png" width="200" />
<img align="center" width="49%" src="https://raw.githubusercontent.com/JaKooLit/screenshots/main/Hyprland-Dots-Showcase/wlogout-dark.png" /> <img align="center" width="49%" src="https://raw.githubusercontent.com/JaKooLit/screenshots/main/Hyprland-Dots-Showcase/showcase2.png"" />
<img align="center" width="49%" src="https://raw.githubusercontent.com/JaKooLit/screenshots/main/Hyprland-Dots-Showcase/waybar-layout.png" /> <img align="center" width="49%" src="https://raw.githubusercontent.com/JaKooLit/screenshots/main/Hyprland-Dots-Showcase/waybar-style.png"" />
</p> </p>
<div align="center">
👇 KOOL's Hyprland-Dots related Links 👇
<br/>
</div>
<div align="center">
<br>
<a href="https://github.com/JaKooLit/Hyprland-Dots"><kbd><br>Hyprland-Dots repo<br></kbd></a>&ensp;&ensp;
<a href="https://www.youtube.com/playlist?list=PLDtGd5Fw5_GjXCznR0BzCJJDIQSZJRbxx"><kbd><br>Youtube<br></kbd></a>&ensp;&ensp;
<a href="https://github.com/JaKooLit/Hyprland-Dots/wiki"><kbd><br>Wiki<br></kbd></a>&ensp;&ensp;
<a href="https://github.com/JaKooLit/Hyprland-Dots/wiki/Keybinds"><kbd><br>Keybinds<br></kbd></a>&ensp;&ensp;
<a href="https://github.com/JaKooLit/Hyprland-Dots/wiki/FAQ"><kbd><br>FAQ<br></kbd></a>&ensp;&ensp;
<a href="https://discord.gg/9JEgZsfhex"><kbd><br>Discord<br></kbd></a>
</div><br>
### 📷 More Screenshots on v2 [`Link`](https://github.com/JaKooLit/screenshots/tree/main/Hyprland-Dots-Showcase) and [`Previous-Screenshots`](https://github.com/JaKooLit/screenshots/tree/main/Hyprland-ScreenShots/Arch-v2) and <p align="center">
<img src="https://raw.githubusercontent.com/JaKooLit/Hyprland-Dots/main/assets/latte.png" width="200" />
</p>
<h3 align="center">
<img src="https://github.com/JaKooLit/Telegram-Animated-Emojis/blob/main/Activity/Sparkles.webp" alt="Sparkles" width="38" height="38" />
KooL Hyprland-Dotfiles Showcase
<img src="https://github.com/JaKooLit/Telegram-Animated-Emojis/blob/main/Activity/Sparkles.webp" alt="Sparkles" width="38" height="38" />
</h3>
<div align="center">
https://github.com/user-attachments/assets/49bc12b2-abaf-45de-a21c-67aacd9bb872
</div>
### Gallery and Videos
#### 🎥 Feb 2025 Video explanation of installation with preset
- [YOUTUBE-LINK](https://youtu.be/wQ70lo7P6vA?si=_QcbrNKh_Bg0L3wC)
- [YOUTUBE-Hyprland-Playlist](https://youtube.com/playlist?list=PLDtGd5Fw5_GjXCznR0BzCJJDIQSZJRbxx&si=iaNjLulFdsZ6AV-t)
### ✨ A video walk through my dotfiles[`Link`](https://youtu.be/fO-RBHvVEcc?si=ijqxxnq_DLiyO8xb) ### 🪧🪧🪧 ANNOUNCEMENT 🪧🪧🪧
### ✨ A video walk on My Hyprland-Dots v2[`Link`](https://youtu.be/yaVurRoXc-s?si=iDnBC5S3thPBX3ZE) - This Repo does not contain Hyprland Dots or configs! Dotfiles can be checked here [`Hyprland-Dots`](https://github.com/JaKooLit/Hyprland-Dots) . During installation, if you opt to copy pre-configured dots, it will be downloaded from that centralized repo.
- Hyprland-Dots use are constantly evolving / improving. you can check CHANGELOGS here [`Hyprland-Dots-Changelogs`](https://github.com/JaKooLit/Hyprland-Dots/wiki/Changelogs)
### 📽️ youtube video showcase: [`Link`](https://youtu.be/W2UFwkgdwNo)
## 🪧🪧🪧 ANNOUNCEMENT 🪧🪧🪧
- This Repo does not contain Hyprland Dots or configs! Dotfiles can be checked here [`Hyprland-Dots`](https://github.com/JaKooLit/Hyprland-Dots) . During installation, if you opt to copy installation, it will be downloaded from that centralized repo.
- Hyprland-Dots use are constantly evolving / improving. you can check CHANGELOGS here [`Hyprland-Dots-Changelogs`](https://github.com/JaKooLit/Hyprland-Dots/wiki/7.-CHANGELOGS)
- Since the Hyprland-Dots are evolving, some of the screenshots maybe old - Since the Hyprland-Dots are evolving, some of the screenshots maybe old
- the wallpaper offered to be downloaded towards the end is from this [`REPO`](https://github.com/JaKooLit/Wallpaper-Bank)
### 🆕 Prerequisites > [!IMPORTANT]
#### 💬 install a backup tool like `snapper` or `timeshift`. and Backup your system before installing hyprland using this script. This script does NOT include uninstallation of packages as it may break your system due to shared packages / libraries. > install a backup tool like `snapper` or `timeshift`. and Backup your system before installing hyprland using this script. This script does NOT include uninstallation of packages
> [!NOTE]
> Main reason why I have not included an uninstallation script is simple. Some packages maybe already installed on your system by default. If I create an uninstall script with packages that I have set to install, you may end up a unrecoverable system.
> [!CAUTION]
> Download this script on a directory where you have write permissions. ie. HOME. Or any directory within your home directory. Else script will fail
#### 🆕 Prerequisites
- This install script is intended for atleast Server type / Minimal Arch Linux installed. - This install script is intended for atleast Server type / Minimal Arch Linux installed.
### 🔘 Pipewire and Pipewire audio > [!NOTE]
- This script will install pipewire and will also disable or will uninstall pulseaudio. If you dont want it, you can simply just delete pipewire.sh in install-scripts folder before installing. > 🔘 Pipewire and Pipewire audio
- This script will install pipewire and will also disable or will uninstall pulseaudio. If you dont want it, edit install.sh, about line 191 and comment the line `execute_script "pipewire.sh"` or you can simply just delete pipewire.sh in install-scripts directory before installing.
### ✨ Costumize the packages to be installed #### ✨ Customize the packages to be installed
- inside the install-scripts folder, you can edit 00-hypr-pkgs.sh. Care though as the Hyprland Dots may not work properly! - inside the install-scripts directory, you can edit 00-hypr-pkgs.sh. Care though as the Hyprland Dots may not work properly!
- default GTK theme if agreed to be installed is Tokyo night GTK themes (dark and light) + Tokyo night SE icons
### 👀 NVidia GPU Owners. #### 💫 SDDM and GTK Themes offered
- By default, nvidia-dkms will be installed. and only supports GTX 900 and newer. If required to install older driver, edit the nvidia.sh in scripts-folder - If you opted to install SDDM theme, here's the [`LINK`](https://codeberg.org/JaKooLit/sddm-sequoia) which is a fork of [`LINK`](https://codeberg.org/minMelody/sddm-sequoia)
- If you opted to install GTK Themes, Icons, here's the [`LINK`](https://github.com/JaKooLit/GTK-themes-icons). This also includes Bibata Modern Ice cursor.
#### 👀 NVidia GPU Owners.
- By default, nvidia-dkms will be installed. and only supports GTX 900 and newer. If required to install older driver, edit the nvidia.sh in install-scripts directory
> [!IMPORTANT]
> If you want to use nouveau driver, choose N when asked if you have nvidia gpu. This is because the nvidia installer part, it will blacklist nouveau. Hyprland will still be installed but it will skip blacklisting nouveau.
- After installation, check [`THIS`](https://github.com/JaKooLit/Hyprland-Dots/wiki/Notes_to_remember#--for-nvidia-gpu-users)
## ✨ to use this script
- clone this repo (latest commit only) to reduce file size download by using git. Change directory, make executable and run the script
### ✨ to run
> clone this repo by using git. Change directory, make executable and run the script
```bash ```bash
git clone https://github.com/JaKooLit/Arch-Hyprland.git git clone --depth=1 https://github.com/JaKooLit/Arch-Hyprland.git ~/Arch-Hyprland
cd Arch-Hyprland cd ~/Arch-Hyprland
chmod +x install.sh chmod +x install.sh
./install.sh ./install.sh
``` ```
### ✨ for ZSH and OH-MY-ZSH installation
<p align="center">
<img align="center" width="100%" src="https://raw.githubusercontent.com/JaKooLit/Arch-Hyprland/main/Installer.png" />
### 🤟 semi-unattended installation (new for Feb 2025)
- edit preset.sh to modify what packages you want. Make sure to change only with Y or N
- to use preset instead of usual `./install.sh` you can ran like this
```bash
./install.sh --preset
```
- if you have nvidia you can add --nvidia argument
```bash
./install.sh --preset --nvidia
```
- its called semi-unattended it is because you still have to answer some questions when installing KooL's Hyprland Dots
#### ✨ for ZSH and OH-MY-ZSH installation
> installer should auto change your default shell to zsh. However, if it does not, do this > installer should auto change your default shell to zsh. However, if it does not, do this
```bash ```bash
chsh -s $(which zsh) chsh -s $(which zsh)
@@ -65,23 +135,48 @@ zsh
source ~/.zshrc source ~/.zshrc
``` ```
- reboot or logout - reboot or logout
- by default agnoster theme is installed. You can find more themes from this [`OH-MY-ZSH-THEMES`](https://github.com/ohmyzsh/ohmyzsh/wiki/Themes) - by default `agnosterzak` theme is installed. Which is from external oh-my-zsh theme. You can find more themes from this [`OH-MY-ZSH-THEMES`](https://github.com/ohmyzsh/ohmyzsh/wiki/Themes)
- to change the theme, edit ~/.zshrc . Look for ZSH_THEME="desired theme" - to change the theme, `SUPER SHIFT O` , choose desired theme, and close and open terminal.
- or manually edit `~/.zshrc` . Look for ZSH_THEME="desired theme"
### ✨ TO DO once installation done and dotfiles copied #### 🎞️ AGS Overview DEMO
- ~~if you opted to install gtk themes, to apply the theme and icon, press the dark/light button (beside the padlock). To apply Bibata modern ice cursor, launch nwg-look (GTK Settings) through rofi.~~ Hyprland-Dots v2.1.18, initial boot file will attempt to apply GTK themes,cursor, and icons. You can tweak more using nwg-look (GTK-Settings) utility - in case you wonder, here is a short demo of AGS overview [Youtube LINK](https://youtu.be/zY5SLNPBJTs)
#### ✨ TO DO once installation done and dotfiles copied
- SUPER H for HINT or click on the waybar HINT! Button - SUPER H for HINT or click on the waybar HINT! Button
- Head over to [FAQ](https://github.com/JaKooLit/Hyprland-Dots/wiki/4.-FAQ) and [TIPS](https://github.com/JaKooLit/Hyprland-Dots/wiki/5.-TIPS) - Head over to [KooL Hyprland WIKI](https://github.com/JaKooLit/Hyprland-Dots/wiki)
### 🏴‍☠️🏴‍☠️🏴‍☠️ Got a questions regarding the Hyprland Dots? #### 🙋 Got a questions regarding the Hyprland Dots or configurations? 🙋
- Head over to wiki Link [`WIKI`](🏴https://github.com/JaKooLit/Hyprland-Dots/wiki) - Head over to wiki Link [`WIKI`](https://github.com/JaKooLit/Hyprland-Dots/wiki)
### 🛣️ Roadmap: #### ⌨ Keybinds
- ~~[ ] Install zsh and oh-my-zsh without necessary steps above~~ DONE - Keybinds [`CLICK`](https://github.com/JaKooLit/Hyprland-Dots/wiki/Keybinds)
- [ ] possibly adding gruvbox themes, cursors, icons
### ⚠️ some known issues > [!TIP]
> KooL Hyprland has a searchable keybind function via rofi. (SUPER SHIFT K) or right click the `HINTS` waybar button
#### 🔄 switching between Hyprland-git and none Hyprland-git
- you can use my prepared script [`LINK`](https://github.com/JaKooLit/Arch-Hyprland/tree/main/assets/hyprland-install)
- Readme is also there
#### 🙋 👋 Having issues or questions?
- for the install part, kindly open issue on this repo
- for the Pre-configured Hyprland dots / configuration, submit issue [`here`](https://github.com/JaKooLit/Hyprland-Dots/issues)
#### 🔧 Proper way to re-installing a particular script from install-scripts directory
- CD into Arch-Hyprland directory and then ran the below command.
- i.e. `./install-scripts/gtk-themes.sh` - For reinstall GTK Themes or
- `./install-scripts/sddm.sh` - For reinstall sddm
> [!IMPORTANT]
> DO NOT cd into install-scripts directory as script will most likely to fail
#### 🛣️ Roadmap:
- [ ] show a progress bar in downloading and compiling part when installing outside AUR or official repo
#### ❗ some known issues for nvidia
- reports from members of my discord, states that some users of nvidia are getting stuck on sddm login. credit to @Kenni Fix stated was - reports from members of my discord, states that some users of nvidia are getting stuck on sddm login. credit to @Kenni Fix stated was
``` ```
while in sddm press ctrl+alt+F2 or F3 while in sddm press ctrl+alt+F2 or F3
@@ -90,23 +185,62 @@ log into your account
`ls /dev/dri/by-path` find the matching id `ls /dev/dri/by-path` find the matching id
`ls -l /dev/dri/by-path` to check where the symlink points to `ls -l /dev/dri/by-path` to check where the symlink points to
) )
7. add "env = WLR_DRM_DEVICES,/dev/dri/cardX" to the ENVvariables config (.config/hypr/configs/ENVariables.conf) ; X being where the symlink of the gpu points to
``` ```
- add "env = WLR_DRM_DEVICES,/dev/dri/cardX" to the ENVvariables config `~/.config/hypr/UserConfigs/ENVariables.conf` ; X being where the symlink of the gpu points to
- more info from the hyprland wiki [`Hyprland Wiki Link`](https://wiki.hyprland.org/FAQ/#my-external-monitor-is-blank--doesnt-render--receives-no-signal-laptop) - more info from the hyprland wiki [`Hyprland Wiki Link`](https://wiki.hyprland.org/FAQ/#my-external-monitor-is-blank--doesnt-render--receives-no-signal-laptop)
### 📒 Final Notes
- join my discord channel [`Discord`](https://discord.gg/V2SJ92vbEN) - reports from a member of discord for Nvidia for additional env's
- remove # from the following env's on
```
env = GBM_BACKEND,nvidia-drm
env = WLR_RENDERER_ALLOW_SOFTWARE,1
```
#### ❗ other known issues
- [ ] If you are using this script on an Arch-Based distros like Arco linux, or cachy OS or EOS or Manjaro, make sure to install pipewire, pipewire-pulse & pipewire-audio first. Arco Linux, on some of their ISO's still shipped with pulseaudio as audio backend. You will experience getting "stuck" on installation.
- [ ] To install pipewire and its services , `sudo pacman -S pipewire wireplumber pipewire-audio pipewire-pulse` . When prompted, remove / replace pulseaudio. After that, you can ran `./install.sh`
- [ ] installing of cava-git on a newly installed Arch makes the install keep hanging. Switched back to cava. After booting and logged in, if cava dont work, replace it cava-git `yay -S cava-git` or `paru -S cava-git`
> [!NOTE]
> Auto start of Hyprland after login (no SDDM or GDM or any login managers)
- [ ] This was disabled a few days ago. (19 May 2024). This was because some users, after they used the Distro-Hyprland scripts with other DE (gnome-wayland or plasma-wayland), if they choose to login into gnome-wayland for example, Hyprland is starting.
- [ ] to avoid this, I disabled it. You can re-enable again by editing `~/.zprofile` . Remove all the # on the first lines
- [ ] ROFI issues (scaling, unexplained scaling etc). This is most likely to experience if you are installing on a system where rofi is currently installed. To fix it uninstall rofi and install rofi-wayland . `sudo pacman -Rns rofi` . Install rofi-wayland with `sudo pacman -S rofi-wayland`. Rofi-wayland is compatible with x11 so no need to worry.
#### 🫥 Improving performance for Older Nvidia Cards using driver 470
- [`SEE HERE`](https://github.com/JaKooLit/Hyprland-Dots/discussions/123#discussion-6035205)
#### 📒 Final Notes
- join my discord channel [`Discord`](https://discord.com/invite/9JEgZsfhex)
- Feel free to copy, re-distribute, and use this script however you want. Would appreciate if you give me some loves by crediting my work :) - Feel free to copy, re-distribute, and use this script however you want. Would appreciate if you give me some loves by crediting my work :)
### 👍👍👍 Thanks and Credits!
#### ⏩ Contributing
- As stated above, these script does not contain actual config files. These are only the installer of packages
- The development branch of this script is pulling the latest "stable" releases of the Hyprland-Dotfiles.
- If you want to contribute and/or test the Hyprland-Dotfiles (development branch), [`Hyprland-Dots-Development`](https://github.com/JaKooLit/Hyprland-Dots/tree/development)
#### 👍👍👍 Thanks and Credits!
- [`Hyprland`](https://hyprland.org/) Of course to Hyprland and @vaxerski for this awesome Dynamic Tiling Manager. - [`Hyprland`](https://hyprland.org/) Of course to Hyprland and @vaxerski for this awesome Dynamic Tiling Manager.
- shout out to CooSee from Gentoo forums for the nice rainbow borders
## 💖 Support ## 💖 Support
- a Star on my Github repos would be nice 🌟 - a Star on my Github repos would be nice 🌟
- Subscribe to my Youtube Channel [YouTube](https://www.youtube.com/@Ja.KooLit) - Subscribe to my Youtube Channel [YouTube](https://www.youtube.com/@Ja.KooLit)
- You can also buy me Coffee Through ko-fi.com 🤩 - You can also buy me Coffee Through ko-fi.com or Coffee.com 🤩
<a href='https://ko-fi.com/jakoolit' target='_blank'><img height='35' style='border:0px;height:46px;' src='https://az743702.vo.msecnd.net/cdn/kofi3.png?v=0' border='0' alt='Buy Me a Coffee at ko-fi.com' /> <a href='https://ko-fi.com/jakoolit' target='_blank'><img height='35' style='border:0px;height:46px;' src='https://az743702.vo.msecnd.net/cdn/kofi3.png?v=0' border='0' alt='Buy Me a Coffee at ko-fi.com' />
[!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/JaKooLit)
#### 📹 Youtube videos (Click to view and watch the playlist) 📹
[![Youtube Playlist Thumbnail](https://raw.githubusercontent.com/JaKooLit/screenshots/main/Youtube.png)](https://youtube.com/playlist?list=PLDtGd5Fw5_GjXCznR0BzCJJDIQSZJRbxx&si=iaNjLulFdsZ6AV-t)
## 🥰🥰 💖💖 👍👍👍
[![Stargazers over time](https://starchart.cc/JaKooLit/Arch-Hyprland.svg?variant=adaptive)](https://starchart.cc/JaKooLit/Arch-Hyprland)

View File

@@ -1,3 +1,3 @@
if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then #if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
Hyprland # Hyprland
fi #fi

View File

@@ -3,7 +3,7 @@
export ZSH="$HOME/.oh-my-zsh" export ZSH="$HOME/.oh-my-zsh"
ZSH_THEME="agnoster" ZSH_THEME="agnosterzak"
plugins=( plugins=(
git git
@@ -17,21 +17,23 @@ source $ZSH/oh-my-zsh.sh
# Check archlinux plugin commands here # Check archlinux plugin commands here
# https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/archlinux # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/archlinux
# Display Pokemon-colorscripts # Display Pokemon-colorscripts
# Project page: https://gitlab.com/phoneybadger/pokemon-colorscripts#on-other-distros-and-macos # Project page: https://gitlab.com/phoneybadger/pokemon-colorscripts#on-other-distros-and-macos
pokemon-colorscripts --no-title -s -r #pokemon-colorscripts --no-title -s -r #without fastfetch
#pokemon-colorscripts --no-title -s -r | fastfetch -c $HOME/.config/fastfetch/config-pokemon.jsonc --logo-type file-raw --logo-height 10 --logo-width 5 --logo -
# fastfetch. Will be disabled if above colorscript was chosen to install
fastfetch -c $HOME/.config/fastfetch/config-compact.jsonc
# Import colorscheme from 'wal' asynchronously # Set-up icons for files/folders in terminal
# & # Run the process in the background. alias ls='eza -a --icons'
# ( ) # Hide shell job control messages. alias ll='eza -al --icons'
# Not supported in the "fish" shell. alias lt='eza -a --tree --level=1 --icons'
#(cat ~/.cache/wal/sequences &)
# Alternative (blocks terminal for 0-3ms) # Set-up FZF key bindings (CTRL R for fuzzy history finder)
#cat ~/.cache/wal/sequences source <(fzf --zsh)
# To add support for TTYs this line can be optionally added.
#source ~/.cache/wal/colors-tty.sh
HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt appendhistory

Binary file not shown.

View File

@@ -1,4 +1,4 @@
; thunar GtkAccelMap rc-file -*- scheme -*- ; Thunar GtkAccelMap rc-file -*- scheme -*-
; this file is an automated accelerator map dump ; this file is an automated accelerator map dump
; ;
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-type" "") ; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-type" "")
@@ -9,7 +9,6 @@
; (gtk_accel_path "<Actions>/ThunarWindow/close-tab" "<Primary>w") ; (gtk_accel_path "<Actions>/ThunarWindow/close-tab" "<Primary>w")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-size" "") ; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-size" "")
; (gtk_accel_path "<Actions>/ThunarWindow/new-window" "<Primary>n") ; (gtk_accel_path "<Actions>/ThunarWindow/new-window" "<Primary>n")
; (gtk_accel_path "<Actions>/ThunarBookmarks/05236c1e56bf89e963d95883e09da5b4" "")
; (gtk_accel_path "<Actions>/ThunarWindow/clear-directory-specific-settings" "") ; (gtk_accel_path "<Actions>/ThunarWindow/clear-directory-specific-settings" "")
; (gtk_accel_path "<Actions>/ThunarWindow/close-window" "<Primary>q") ; (gtk_accel_path "<Actions>/ThunarWindow/close-window" "<Primary>q")
; (gtk_accel_path "<Actions>/ThunarWindow/open-parent" "<Alt>Up") ; (gtk_accel_path "<Actions>/ThunarWindow/open-parent" "<Alt>Up")
@@ -26,9 +25,10 @@
; (gtk_accel_path "<Actions>/ThunarWindow/view-configure-toolbar" "") ; (gtk_accel_path "<Actions>/ThunarWindow/view-configure-toolbar" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/forward" "<Alt>Right") ; (gtk_accel_path "<Actions>/ThunarStandardView/forward" "<Alt>Right")
; (gtk_accel_path "<Actions>/ThunarActionManager/restore" "") ; (gtk_accel_path "<Actions>/ThunarActionManager/restore" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/9f0d843e4074095bf657b996746ec75c" "")
; (gtk_accel_path "<Actions>/ThunarWindow/open-location-alt" "<Alt>d") ; (gtk_accel_path "<Actions>/ThunarWindow/open-location-alt" "<Alt>d")
; (gtk_accel_path "<Actions>/ThunarBookmarks/54b46b08907eba130aa7b45747971edc" "") ; (gtk_accel_path "<Actions>/ThunarBookmarks/a16339451d60726d0755a887bd755af2" "")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out-alt" "<Primary>minus") ; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out-alt" "<Primary>KP_Subtract")
; (gtk_accel_path "<Actions>/ThunarStandardView/select-by-pattern" "<Primary>s") ; (gtk_accel_path "<Actions>/ThunarStandardView/select-by-pattern" "<Primary>s")
; (gtk_accel_path "<Actions>/ThunarWindow/open-file-menu" "F10") ; (gtk_accel_path "<Actions>/ThunarWindow/open-file-menu" "F10")
; (gtk_accel_path "<Actions>/ThunarWindow/contents" "F1") ; (gtk_accel_path "<Actions>/ThunarWindow/contents" "F1")
@@ -36,7 +36,6 @@
; (gtk_accel_path "<Actions>/ThunarBookmarks/44e0e66b3d753576f90ed75c87917822" "") ; (gtk_accel_path "<Actions>/ThunarBookmarks/44e0e66b3d753576f90ed75c87917822" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-descending" "") ; (gtk_accel_path "<Actions>/ThunarStandardView/sort-descending" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-name" "") ; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-name" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/b6b3368230fb9c168f1090ce48fbb4f5" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/select-all-files" "<Primary>a") ; (gtk_accel_path "<Actions>/ThunarStandardView/select-all-files" "<Primary>a")
; (gtk_accel_path "<Actions>/ThunarActionManager/execute" "") ; (gtk_accel_path "<Actions>/ThunarActionManager/execute" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/properties" "<Alt>Return") ; (gtk_accel_path "<Actions>/ThunarStandardView/properties" "<Alt>Return")
@@ -46,11 +45,9 @@
; (gtk_accel_path "<Actions>/ThunarActionManager/paste-2" "<Shift>Insert") ; (gtk_accel_path "<Actions>/ThunarActionManager/paste-2" "<Shift>Insert")
; (gtk_accel_path "<Actions>/ThunarWindow/open-templates" "") ; (gtk_accel_path "<Actions>/ThunarWindow/open-templates" "")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-filetype" "") ; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-filetype" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/e02afe67295bafd99368cbfb38bfb76a" "")
; (gtk_accel_path "<Actions>/ThunarWindow/close-all-windows" "<Primary><Shift>w") ; (gtk_accel_path "<Actions>/ThunarWindow/close-all-windows" "<Primary><Shift>w")
; (gtk_accel_path "<Actions>/ThunarStandardView/create-document" "") ; (gtk_accel_path "<Actions>/ThunarStandardView/create-document" "")
; (gtk_accel_path "<Actions>/ThunarWindow/detach-tab" "") ; (gtk_accel_path "<Actions>/ThunarWindow/detach-tab" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/707266d8a544f819b5de3061849d9040" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/978d3e7a7225e42c977fe94183792d87" "") ; (gtk_accel_path "<Actions>/ThunarBookmarks/978d3e7a7225e42c977fe94183792d87" "")
; (gtk_accel_path "<Actions>/ThunarWindow/cancel-search" "Escape") ; (gtk_accel_path "<Actions>/ThunarWindow/cancel-search" "Escape")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in-alt2" "<Primary>equal") ; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in-alt2" "<Primary>equal")
@@ -60,13 +57,13 @@
; (gtk_accel_path "<Actions>/ThunarWindow/reload-alt" "F5") ; (gtk_accel_path "<Actions>/ThunarWindow/reload-alt" "F5")
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-entry" "") ; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-entry" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/paste" "<Primary>v") ; (gtk_accel_path "<Actions>/ThunarActionManager/paste" "<Primary>v")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in-alt1" "<Primary>plus") ; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in-alt1" "<Primary>KP_Add")
; (gtk_accel_path "<Actions>/ThunarWindow/view-menubar" "<Primary>m") ; (gtk_accel_path "<Actions>/ThunarWindow/view-menubar" "<Primary>m")
; (gtk_accel_path "<Actions>/ThunarStandardView/back" "<Alt>Left") ; (gtk_accel_path "<Actions>/ThunarStandardView/back" "<Alt>Left")
; (gtk_accel_path "<Actions>/ThunarWindow/open-desktop" "") ; (gtk_accel_path "<Actions>/ThunarWindow/open-desktop" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-detailed-list" "<Primary>2") ; (gtk_accel_path "<Actions>/ThunarWindow/view-as-detailed-list" "<Primary>2")
; (gtk_accel_path "<Actions>/ThunarActionManager/restore-show" "") ; (gtk_accel_path "<Actions>/ThunarActionManager/restore-show" "")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out" "<Primary>KP_Subtract") ; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out" "<Primary>minus")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-display-name" "") ; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-display-name" "")
; (gtk_accel_path "<Actions>/ThunarWindow/sendto-menu" "") ; (gtk_accel_path "<Actions>/ThunarWindow/sendto-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/go-menu" "") ; (gtk_accel_path "<Actions>/ThunarWindow/go-menu" "")
@@ -81,22 +78,23 @@
; (gtk_accel_path "<Actions>/ThunarActionManager/copy" "<Primary>c") ; (gtk_accel_path "<Actions>/ThunarActionManager/copy" "<Primary>c")
; (gtk_accel_path "<Actions>/ThunarActionManager/delete-3" "<Shift>KP_Delete") ; (gtk_accel_path "<Actions>/ThunarActionManager/delete-3" "<Shift>KP_Delete")
; (gtk_accel_path "<Actions>/ThunarWindow/toggle-side-pane" "F9") ; (gtk_accel_path "<Actions>/ThunarWindow/toggle-side-pane" "F9")
; (gtk_accel_path "<Actions>/ThunarStandardView/unselect-all-files" "Escape")
; (gtk_accel_path "<Actions>/ThunarStandardView/arrange-items-menu" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-mtime" "") ; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-mtime" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/a50db0a56a1e6c31df6bf18c55eb78cd" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/arrange-items-menu" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/unselect-all-files" "Escape")
; (gtk_accel_path "<Actions>/ThunarWindow/open-computer" "") ; (gtk_accel_path "<Actions>/ThunarWindow/open-computer" "")
; (gtk_accel_path "<Actions>/ThunarWindow/bookmarks-menu" "") ; (gtk_accel_path "<Actions>/ThunarWindow/bookmarks-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/toggle-image-preview" "") ; (gtk_accel_path "<Actions>/ThunarWindow/toggle-image-preview" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-icons" "<Primary>1") ; (gtk_accel_path "<Actions>/ThunarWindow/view-as-icons" "<Primary>1")
; (gtk_accel_path "<Actions>/ThunarActionManager/delete-2" "<Shift>Delete") ; (gtk_accel_path "<Actions>/ThunarActionManager/delete-2" "<Shift>Delete")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in" "<Primary>KP_Add") ; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in" "<Primary>plus")
; (gtk_accel_path "<Actions>/ThunarStandardView/rename" "F2") ; (gtk_accel_path "<Actions>/ThunarStandardView/rename" "F2")
; (gtk_accel_path "<Actions>/ThunarWindow/open-location" "<Primary>l") ; (gtk_accel_path "<Actions>/ThunarWindow/open-location" "<Primary>l")
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-compact-list" "<Primary>3") ; (gtk_accel_path "<Actions>/ThunarWindow/view-as-compact-list" "<Primary>3")
; (gtk_accel_path "<Actions>/ThunarWindow/view-menu" "") ; (gtk_accel_path "<Actions>/ThunarWindow/view-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/search" "<Primary>f") ; (gtk_accel_path "<Actions>/ThunarWindow/search" "<Primary>f")
; (gtk_accel_path "<Actions>/ThunarWindow/new-tab" "<Primary>t") ; (gtk_accel_path "<Actions>/ThunarWindow/new-tab" "<Primary>t")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-reset" "<Primary>KP_0") ; (gtk_accel_path "<Actions>/ThunarWindow/zoom-reset" "<Primary>0")
; (gtk_accel_path "<Actions>/ThunarWindow/contents/help-menu" "") ; (gtk_accel_path "<Actions>/ThunarWindow/contents/help-menu" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/open-in-new-tab" "<Primary><Shift>p") ; (gtk_accel_path "<Actions>/ThunarActionManager/open-in-new-tab" "<Primary><Shift>p")
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-buttons" "") ; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-buttons" "")
@@ -108,24 +106,19 @@
; (gtk_accel_path "<Actions>/ThunarStandardView/duplicate" "") ; (gtk_accel_path "<Actions>/ThunarStandardView/duplicate" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/c76f07a72d3c8ef5d4bf8e84c8981221" "") ; (gtk_accel_path "<Actions>/ThunarBookmarks/c76f07a72d3c8ef5d4bf8e84c8981221" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/trash-delete-2" "KP_Delete") ; (gtk_accel_path "<Actions>/ThunarActionManager/trash-delete-2" "KP_Delete")
; (gtk_accel_path "<Actions>/ThunarBookmarks/1b01cfaf1605da233a4b53296606bab0" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/780467f8577186d3f1806d9df2a8aab9" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/e9f83883e2df949f12acd9850f926a67" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/create-folder" "<Primary><Shift>n") ; (gtk_accel_path "<Actions>/ThunarStandardView/create-folder" "<Primary><Shift>n")
; (gtk_accel_path "<Actions>/ThunarWindow/open-home" "<Alt>Home") ; (gtk_accel_path "<Actions>/ThunarWindow/open-home" "<Alt>Home")
; (gtk_accel_path "<Actions>/ThunarWindow/show-hidden" "<Primary>h") ; (gtk_accel_path "<Actions>/ThunarWindow/show-hidden" "<Primary>h")
; (gtk_accel_path "<Actions>/ThunarStandardView/back-alt" "BackSpace")
; (gtk_accel_path "<Actions>/ThunarStandardView/set-default-app" "") ; (gtk_accel_path "<Actions>/ThunarStandardView/set-default-app" "")
; (gtk_accel_path "<Actions>/ThunarWindow/empty-trash" "") ; (gtk_accel_path "<Actions>/ThunarWindow/empty-trash" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/a02380ffe1621507749c5c5773da7194" "") ; (gtk_accel_path "<Actions>/ThunarStandardView/back-alt" "BackSpace")
; (gtk_accel_path "<Actions>/ThunarWindow/preferences" "") ; (gtk_accel_path "<Actions>/ThunarWindow/preferences" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/8ea92a0b35875a5a65ffafcf02698ce8" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/delete" "") ; (gtk_accel_path "<Actions>/ThunarActionManager/delete" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-tree" "<Primary>e") ; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-tree" "<Primary>e")
; (gtk_accel_path "<Actions>/ThunarWindow/open-file-system" "") ; (gtk_accel_path "<Actions>/ThunarWindow/open-file-system" "")
; (gtk_accel_path "<Actions>/ThunarWindow/open-network" "") ; (gtk_accel_path "<Actions>/ThunarWindow/open-network" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/sendto-desktop" "") ; (gtk_accel_path "<Actions>/ThunarActionManager/sendto-desktop" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/make-link" "") ; (gtk_accel_path "<Actions>/ThunarStandardView/make-link" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/5a2d02665264f10a15b7d94f958e51dc" "") ; (gtk_accel_path "<Actions>/ThunarWindow/zoom-reset-alt" "<Primary>KP_0")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-reset-alt" "<Primary>0")
; (gtk_accel_path "<Actions>/ThunarBookmarks/3b727c236c2811d0a6488b65982ea897" "")
; (gtk_accel_path "<Actions>/ThunarWindow/about" "") ; (gtk_accel_path "<Actions>/ThunarWindow/about" "")

View File

@@ -1,10 +0,0 @@
[Configuration]
LastActiveMode=THUNAR_RENAMER_MODE_NAME
LastActiveRenamer=ThunarSbrDateRenamer
[ThunarSbrDateRenamer]
Offset=0
Mode=THUNAR_SBR_DATE_MODE_NOW
Format=%Y%m%d
OffsetMode=THUNAR_SBR_OFFSET_MODE_LEFT

View File

@@ -15,9 +15,9 @@
<icon>utilities-terminal</icon> <icon>utilities-terminal</icon>
<name>Open Terminal Here</name> <name>Open Terminal Here</name>
<submenu></submenu> <submenu></submenu>
<unique-id>1488955845049151-1</unique-id> <unique-id>1703572977408169-1</unique-id>
<command>for f in %F; do exo-open --working-directory &quot;$f&quot; --launch TerminalEmulator; done</command> <command>exo-open --working-directory %f --launch TerminalEmulator</command>
<description></description> <description>Launch TerminalEmulator</description>
<range></range> <range></range>
<patterns>*</patterns> <patterns>*</patterns>
<startup-notify/> <startup-notify/>
@@ -28,7 +28,7 @@
<name>Check sha1sum</name> <name>Check sha1sum</name>
<submenu></submenu> <submenu></submenu>
<unique-id>1526633271260079-26</unique-id> <unique-id>1526633271260079-26</unique-id>
<command>zenity --info --title=&quot;Check sha1 for %n&quot; --text=&quot;$(sha1sum %f)&quot;</command> <command>yad --info --title=&quot;Check sha1 for %n&quot; --text=&quot;$(sha1sum %f)&quot;</command>
<description>Check sha1sum</description> <description>Check sha1sum</description>
<range></range> <range></range>
<patterns>*.iso;*.ISO</patterns> <patterns>*.iso;*.ISO</patterns>
@@ -39,7 +39,7 @@
<name>Check sha256sum</name> <name>Check sha256sum</name>
<submenu></submenu> <submenu></submenu>
<unique-id>1577688162350307-1</unique-id> <unique-id>1577688162350307-1</unique-id>
<command>zenity --info --title=&quot;Check sha256 for %n&quot; --text=&quot;$(sha256sum %f)&quot;</command> <command>yad --info --title=&quot;Check sha256 for %n&quot; --text=&quot;$(sha256sum %f)&quot;</command>
<description>Check sha256sum</description> <description>Check sha256sum</description>
<range></range> <range></range>
<patterns>*.iso;*.ISO</patterns> <patterns>*.iso;*.ISO</patterns>
@@ -50,7 +50,7 @@
<name>Check md5sum</name> <name>Check md5sum</name>
<submenu></submenu> <submenu></submenu>
<unique-id>1526736788575383-2</unique-id> <unique-id>1526736788575383-2</unique-id>
<command>zenity --info --title=&quot;Check md5 for %n&quot; --text=&quot;$(md5sum %f)&quot;</command> <command>yad --info --title=&quot;Check md5 for %n&quot; --text=&quot;$(md5sum %f)&quot;</command>
<description>Check md5sum</description> <description>Check md5sum</description>
<range></range> <range></range>
<patterns>*.iso;*.ISO;*.tar.gz;*.TAR.GZ;*.zip;*.ZIP</patterns> <patterns>*.iso;*.ISO;*.tar.gz;*.TAR.GZ;*.zip;*.ZIP</patterns>

View File

@@ -0,0 +1,370 @@
# vim:ft=zsh ts=2 sw=2 sts=2
#
# agnoster's Theme - https://gist.github.com/3712874
# A Powerline-inspired theme for ZSH
#
# # README
#
# In order for this theme to render correctly, you will need a
# [Powerline-patched font](https://gist.github.com/1595572).
#
# In addition, I recommend the
# [Solarized theme](https://github.com/altercation/solarized/) and, if you're
# using it on Mac OS X, [iTerm 2](http://www.iterm2.com/) over Terminal.app -
# it has significantly better color fidelity.
#
# # Goals
#
# The aim of this theme is to only show you *relevant* information. Like most
# prompts, it will only show git information when in a git working directory.
# However, it goes a step further: everything from the current user and
# hostname to whether the last call exited with an error to whether background
# jobs are running in this shell will all be displayed automatically when
# appropriate.
### Segment drawing
# A few utility functions to make it easy and re-usable to draw segmented prompts
CURRENT_BG='NONE'
# Characters
SEGMENT_SEPARATOR="\ue0b0"
PLUSMINUS="\u00b1"
BRANCH="\ue0a0"
DETACHED="\u27a6"
CROSS="\u2718"
LIGHTNING="\u26a1"
GEAR="\u2699"
# Begin a segment
# Takes two arguments, background and foreground. Both can be omitted,
# rendering default background/foreground.
prompt_segment() {
local bg fg
[[ -n $1 ]] && bg="%K{$1}" || bg="%k"
[[ -n $2 ]] && fg="%F{$2}" || fg="%f"
if [[ $CURRENT_BG != 'NONE' && $1 != $CURRENT_BG ]]; then
print -n " %{$bg%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR%{$fg%} "
else
print -n "%{$bg%}%{$fg%} "
fi
CURRENT_BG=$1
[[ -n $3 ]] && print -n $3
}
# End the prompt, closing any open segments
prompt_end() {
if [[ -n $CURRENT_BG ]]; then
print -n " %{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR"
else
print -n "%{%k%}"
fi
print -n "%{%f%}"
CURRENT_BG=''
}
### Prompt components
# Each component will draw itself, and hide itself if no information needs to be shown
# Context: user@hostname (who am I and where am I)
prompt_context() {
if [[ -n "$SSH_CLIENT" ]]; then
prompt_segment magenta white "%{$fg_bold[white]%(!.%{%F{white}%}.)%}$USER@%m%{$fg_no_bold[white]%}"
else
prompt_segment yellow magenta "%{$fg_bold[magenta]%(!.%{%F{magenta}%}.)%}@$USER%{$fg_no_bold[magenta]%}"
fi
}
# Battery Level
prompt_battery() {
HEART='♥ '
if [[ $(uname) == "Darwin" ]] ; then
function battery_is_charging() {
[ $(ioreg -rc AppleSmartBattery | grep -c '^.*"ExternalConnected"\ =\ No') -eq 1 ]
}
function battery_pct() {
local smart_battery_status="$(ioreg -rc "AppleSmartBattery")"
typeset -F maxcapacity=$(echo $smart_battery_status | grep '^.*"MaxCapacity"\ =\ ' | sed -e 's/^.*"MaxCapacity"\ =\ //')
typeset -F currentcapacity=$(echo $smart_battery_status | grep '^.*"CurrentCapacity"\ =\ ' | sed -e 's/^.*CurrentCapacity"\ =\ //')
integer i=$(((currentcapacity/maxcapacity) * 100))
echo $i
}
function battery_pct_remaining() {
if battery_is_charging ; then
battery_pct
else
echo "External Power"
fi
}
function battery_time_remaining() {
local smart_battery_status="$(ioreg -rc "AppleSmartBattery")"
if [[ $(echo $smart_battery_status | grep -c '^.*"ExternalConnected"\ =\ No') -eq 1 ]] ; then
timeremaining=$(echo $smart_battery_status | grep '^.*"AvgTimeToEmpty"\ =\ ' | sed -e 's/^.*"AvgTimeToEmpty"\ =\ //')
if [ $timeremaining -gt 720 ] ; then
echo "::"
else
echo "~$((timeremaining / 60)):$((timeremaining % 60))"
fi
fi
}
b=$(battery_pct_remaining)
if [[ $(ioreg -rc AppleSmartBattery | grep -c '^.*"ExternalConnected"\ =\ No') -eq 1 ]] ; then
if [ $b -gt 50 ] ; then
prompt_segment green white
elif [ $b -gt 20 ] ; then
prompt_segment yellow white
else
prompt_segment red white
fi
echo -n "%{$fg_bold[white]%}$HEART$(battery_pct_remaining)%%%{$fg_no_bold[white]%}"
fi
fi
if [[ $(uname) == "Linux" && -d /sys/module/battery ]] ; then
function battery_is_charging() {
! [[ $(acpi 2&>/dev/null | grep -c '^Battery.*Discharging') -gt 0 ]]
}
function battery_pct() {
if (( $+commands[acpi] )) ; then
echo "$(acpi | cut -f2 -d ',' | tr -cd '[:digit:]')"
fi
}
function battery_pct_remaining() {
if [ ! $(battery_is_charging) ] ; then
battery_pct
else
echo "External Power"
fi
}
function battery_time_remaining() {
if [[ $(acpi 2&>/dev/null | grep -c '^Battery.*Discharging') -gt 0 ]] ; then
echo $(acpi | cut -f3 -d ',')
fi
}
b=$(battery_pct_remaining)
if [[ $(acpi 2&>/dev/null | grep -c '^Battery.*Discharging') -gt 0 ]] ; then
if [ $b -gt 40 ] ; then
prompt_segment green white
elif [ $b -gt 20 ] ; then
prompt_segment yellow white
else
prompt_segment red white
fi
echo -n "%{$fg_bold[white]%}$HEART$(battery_pct_remaining)%%%{$fg_no_bold[white]%}"
fi
fi
}
# Git: branch/detached head, dirty status
prompt_git() {
#«»±˖˗‑‐‒ ━ ✚‐↔←↑↓→↭⇎⇔⋆━◂▸◄►◆☀★☗☊✔✖❮❯⚑⚙
local PL_BRANCH_CHAR
() {
local LC_ALL="" LC_CTYPE="en_US.UTF-8"
PL_BRANCH_CHAR="$BRANCH"
}
local ref dirty mode repo_path clean has_upstream
local modified untracked added deleted tagged stashed
local ready_commit git_status bgclr fgclr
local commits_diff commits_ahead commits_behind has_diverged to_push to_pull
repo_path=$(git rev-parse --git-dir 2>/dev/null)
if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then
dirty=$(parse_git_dirty)
git_status=$(git status --porcelain 2> /dev/null)
ref=$(git symbolic-ref HEAD 2> /dev/null) || ref="➦ $(git rev-parse --short HEAD 2> /dev/null)"
if [[ -n $dirty ]]; then
clean=''
bgclr='yellow'
fgclr='magenta'
else
clean=' ✔'
bgclr='green'
fgclr='white'
fi
local upstream=$(git rev-parse --symbolic-full-name --abbrev-ref @{upstream} 2> /dev/null)
if [[ -n "${upstream}" && "${upstream}" != "@{upstream}" ]]; then has_upstream=true; fi
local current_commit_hash=$(git rev-parse HEAD 2> /dev/null)
local number_of_untracked_files=$(\grep -c "^??" <<< "${git_status}")
# if [[ $number_of_untracked_files -gt 0 ]]; then untracked=" $number_of_untracked_files◆"; fi
if [[ $number_of_untracked_files -gt 0 ]]; then untracked=" $number_of_untracked_files☀"; fi
local number_added=$(\grep -c "^A" <<< "${git_status}")
if [[ $number_added -gt 0 ]]; then added=" $number_added✚"; fi
local number_modified=$(\grep -c "^.M" <<< "${git_status}")
if [[ $number_modified -gt 0 ]]; then
modified=" $number_modified●"
bgclr='red'
fgclr='white'
fi
local number_added_modified=$(\grep -c "^M" <<< "${git_status}")
local number_added_renamed=$(\grep -c "^R" <<< "${git_status}")
if [[ $number_modified -gt 0 && $number_added_modified -gt 0 ]]; then
modified="$modified$((number_added_modified+number_added_renamed))±"
elif [[ $number_added_modified -gt 0 ]]; then
modified=" ●$((number_added_modified+number_added_renamed))±"
fi
local number_deleted=$(\grep -c "^.D" <<< "${git_status}")
if [[ $number_deleted -gt 0 ]]; then
deleted=" $number_deleted"
bgclr='red'
fgclr='white'
fi
local number_added_deleted=$(\grep -c "^D" <<< "${git_status}")
if [[ $number_deleted -gt 0 && $number_added_deleted -gt 0 ]]; then
deleted="$deleted$number_added_deleted±"
elif [[ $number_added_deleted -gt 0 ]]; then
deleted=" $number_added_deleted±"
fi
local tag_at_current_commit=$(git describe --exact-match --tags $current_commit_hash 2> /dev/null)
if [[ -n $tag_at_current_commit ]]; then tagged=" ☗$tag_at_current_commit "; fi
local number_of_stashes="$(git stash list -n1 2> /dev/null | wc -l)"
if [[ $number_of_stashes -gt 0 ]]; then
stashed=" ${number_of_stashes##*( )}⚙"
bgclr='magenta'
fgclr='white'
fi
if [[ $number_added -gt 0 || $number_added_modified -gt 0 || $number_added_deleted -gt 0 ]]; then ready_commit=' ⚑'; fi
local upstream_prompt=''
if [[ $has_upstream == true ]]; then
commits_diff="$(git log --pretty=oneline --topo-order --left-right ${current_commit_hash}...${upstream} 2> /dev/null)"
commits_ahead=$(\grep -c "^<" <<< "$commits_diff")
commits_behind=$(\grep -c "^>" <<< "$commits_diff")
upstream_prompt="$(git rev-parse --symbolic-full-name --abbrev-ref @{upstream} 2> /dev/null)"
upstream_prompt=$(sed -e 's/\/.*$/ ☊ /g' <<< "$upstream_prompt")
fi
has_diverged=false
if [[ $commits_ahead -gt 0 && $commits_behind -gt 0 ]]; then has_diverged=true; fi
if [[ $has_diverged == false && $commits_ahead -gt 0 ]]; then
if [[ $bgclr == 'red' || $bgclr == 'magenta' ]] then
to_push=" $fg_bold[white]↑$commits_ahead$fg_bold[$fgclr]"
else
to_push=" $fg_bold[black]↑$commits_ahead$fg_bold[$fgclr]"
fi
fi
if [[ $has_diverged == false && $commits_behind -gt 0 ]]; then to_pull=" $fg_bold[magenta]↓$commits_behind$fg_bold[$fgclr]"; fi
if [[ -e "${repo_path}/BISECT_LOG" ]]; then
mode=" <B>"
elif [[ -e "${repo_path}/MERGE_HEAD" ]]; then
mode=" >M<"
elif [[ -e "${repo_path}/rebase" || -e "${repo_path}/rebase-apply" || -e "${repo_path}/rebase-merge" || -e "${repo_path}/../.dotest" ]]; then
mode=" >R>"
fi
prompt_segment $bgclr $fgclr
print -n "%{$fg_bold[$fgclr]%}${ref/refs\/heads\//$PL_BRANCH_CHAR $upstream_prompt}${mode}$to_push$to_pull$clean$tagged$stashed$untracked$modified$deleted$added$ready_commit%{$fg_no_bold[$fgclr]%}"
fi
}
prompt_hg() {
local rev status
if $(hg id >/dev/null 2>&1); then
if $(hg prompt >/dev/null 2>&1); then
if [[ $(hg prompt "{status|unknown}") = "?" ]]; then
# if files are not added
prompt_segment red white
st='±'
elif [[ -n $(hg prompt "{status|modified}") ]]; then
# if any modification
prompt_segment yellow black
st='±'
else
# if working copy is clean
prompt_segment green black
fi
print -n $(hg prompt "☿ {rev}@{branch}") $st
else
st=""
rev=$(hg id -n 2>/dev/null | sed 's/[^-0-9]//g')
branch=$(hg id -b 2>/dev/null)
if `hg st | grep -q "^\?"`; then
prompt_segment red black
st='±'
elif `hg st | grep -q "^[MA]"`; then
prompt_segment yellow black
st='±'
else
prompt_segment green black
fi
print -n "☿ $rev@$branch" $st
fi
fi
}
# Dir: current working directory
prompt_dir() {
prompt_segment cyan white "%{$fg_bold[white]%}%~%{$fg_no_bold[white]%}"
}
# Virtualenv: current working virtualenv
prompt_virtualenv() {
local virtualenv_path="$VIRTUAL_ENV"
if [[ -n $virtualenv_path && -n $VIRTUAL_ENV_DISABLE_PROMPT ]]; then
prompt_segment blue black "(`basename $virtualenv_path`)"
fi
}
prompt_time() {
prompt_segment blue white "%{$fg_bold[white]%}%D{%a %e %b - %H:%M}%{$fg_no_bold[white]%}"
}
# Status:
# - was there an error
# - am I root
# - are there background jobs?
prompt_status() {
local symbols
symbols=()
[[ $RETVAL -ne 0 ]] && symbols+="%{%F{red}%}$CROSS"
[[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}$LIGHTNING"
[[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}$GEAR"
[[ -n "$symbols" ]] && prompt_segment black default "$symbols"
}
## Main prompt
build_prompt() {
RETVAL=$?
print -n "\n"
prompt_status
#prompt_battery
prompt_time
prompt_virtualenv
prompt_dir
prompt_git
prompt_hg
prompt_end
CURRENT_BG='NONE'
print -n "\n"
prompt_context
prompt_end
}
PROMPT='%{%f%b%k%}$(build_prompt) '

View File

@@ -0,0 +1,392 @@
###
### You can re-define the following variables in your .zshrc file
### in order to customize the appearance of the prompt
###
# The indentation of the rprompt
ZLE_RPROMPT_INDENT=${ZLE_RPROMPT_INDENT:-0}
# Whether to use oh-my-zsh's git-prompt plugin
# or the builtin logic written in this file
ZSH_ANTARES_USE_OHMYZSH_GIT_PROMPT=""
# Whether to gather additional details about the git status
# This option only applies when using the builtin logic
# Usefull when dealing with huge repositories to speed things up
ZSH_ANTARES_USE_LIGHT_GIT_MODE=""
# The colors to use for the various elements of the prompt
ZSH_ANTARES_FG_EXECTIME="#dd00ff"
ZSH_ANTARES_FG_ERRVAL="#c31a1a"
ZSH_ANTARES_FG_DECO="#ffffff"
ZSH_ANTARES_FG_PWD_OK="#ffffff"
ZSH_ANTARES_BG_PWD_OK="#0055ff"
ZSH_ANTARES_FG_PWD_ERR="#ffffff"
ZSH_ANTARES_BG_PWD_ERR="#c31a1a"
ZSH_ANTARES_FG_GIT_INIT="#000000"
ZSH_ANTARES_BG_GIT_INIT="#b5f3a1"
ZSH_ANTARES_FG_GIT_BARE="#000000"
ZSH_ANTARES_BG_GIT_BARE="#b07a4e"
ZSH_ANTARES_FG_GIT_BRANCH="#000000"
ZSH_ANTARES_BG_GIT_BRANCH="#47cc2b"
ZSH_ANTARES_FG_GIT_DETACH="#000000"
ZSH_ANTARES_BG_GIT_DETACH="#eeaa22"
ZSH_ANTARES_FG_GIT_CONFLICT="#000000"
ZSH_ANTARES_BG_GIT_CONFLICT="#c31a1a"
ZSH_ANTARES_FG_GIT_AHEAD="#cfcfcf"
ZSH_ANTARES_FG_GIT_BEHIND="#9f9f9f"
ZSH_ANTARES_FG_GIT_STAGED="#6cc6ee"
ZSH_ANTARES_FG_GIT_ADDED="#04c304"
ZSH_ANTARES_FG_GIT_DELETED="#e7165a"
ZSH_ANTARES_FG_GIT_CHANGED="#ee9931"
ZSH_ANTARES_FG_GIT_CONFLICTS="#ff0000"
ZSH_ANTARES_FG_GIT_UNTRACKED="#bbffff"
ZSH_ANTARES_FG_GIT_STASHED="#eaa0ff"
ZSH_ANTARES_FG_GIT_TAG="#ffffff"
ZSH_ANTARES_FG_JOBS="#9f9f9f"
ZSH_ANTARES_FG_PRIVILEDGES="#ffdd44"
# The characters (or strings, by will) to use for some of the elements
ZSH_ANTARES_STR_GIT_BARE="⛁"
ZSH_ANTARES_STR_GIT_AHEAD="↑"
ZSH_ANTARES_STR_GIT_BEHIND="↓"
ZSH_ANTARES_STR_GIT_STAGED="●"
ZSH_ANTARES_STR_GIT_ADDED="✚"
ZSH_ANTARES_STR_GIT_DELETED="━"
ZSH_ANTARES_STR_GIT_CHANGED="✱"
ZSH_ANTARES_STR_GIT_CONFLICTS="✖"
ZSH_ANTARES_STR_GIT_UNTRACKED="❍"
ZSH_ANTARES_STR_GIT_STASHED="⚑"
ZSH_ANTARES_STR_GIT_TAG="🏲"
ZSH_ANTARES_STR_JOBS="⚙"
ZSH_ANTARES_STR_ROOT="#"
ZSH_ANTARES_STR_USER="$"
# The path expansion to use to display the pwd
ZSH_ANTARES_PATHVAR='%~'
# The minimum amount of time (in seconds) a command shall take to complete
# in order to display the execution time in the prompt
ZSH_ANTARES_MIN_EXEC_TIME=0
# The control character used to insert a new line
# You shouldn't edit this variable, but if you really want to...
ZSH_ANTARES_LINEFEED=$'\n'
###
### End of the re-definable section
###
antares_update_git_status()
{
ZSH_ANTARES_GIT_STATUS=""
ZSH_ANTARES_GIT_IN_WORKING_TREE=0
ZSH_ANTARES_GIT_IS_INIT_REPO=0
ZSH_ANTARES_GIT_IS_BARE_REPO=0
ZSH_ANTARES_GIT_IS_DETACHED_HEAD=0
ZSH_ANTARES_GIT_HAS_CONFLICTS=0
ZSH_ANTARES_GIT_HAS_TAGS=0
ZSH_ANTARES_GIT_TAG=""
if ( $(git rev-parse --is-inside-work-tree 1>/dev/null 2>/dev/null) )
then
ZSH_ANTARES_GIT_IN_WORKING_TREE=1
private branch_name="$(git branch --show-current)"
if [ -n "$branch_name" ]
then
if [ -z "$ZSH_ANTARES_USE_OHMYZSH_GIT_PROMPT" ]
then
GIT_BRANCH="$branch_name"
fi
if ( ! $(git rev-parse --verify HEAD 1>/dev/null 2>/dev/null) )
then
ZSH_ANTARES_GIT_IS_INIT_REPO=1
fi
if [ $(git rev-parse --is-bare-repository) = "true" ]
then
ZSH_ANTARES_GIT_IS_BARE_REPO=1
GIT_BRANCH="$ZSH_ANTARES_STR_GIT_BARE"
fi
else
ZSH_ANTARES_GIT_IS_DETACHED_HEAD=1
if [ -z "$ZSH_ANTARES_USE_OHMYZSH_GIT_PROMPT" ]
then
GIT_BRANCH="$(git rev-parse --short HEAD)"
if [ -z "$ZSH_ANTARES_USE_LIGHT_GIT_MODE" ]
then
private git_tag="$(git tag --points-at=HEAD)"
if [ -n "$git_tag" ]
then
ZSH_ANTARES_GIT_HAS_TAGS=1
private n_tags="$(echo "$git_tag" | wc -l)"
if (( n_tags == 1 ))
then
ZSH_ANTARES_GIT_TAG=" $ZSH_ANTARES_STR_GIT_TAG $git_tag"
elif (( n_tags > 1 ))
then
ZSH_ANTARES_GIT_TAG=" $ZSH_ANTARES_STR_GIT_TAG $n_tags"
else
fi
fi
fi
fi
fi
else
antares_reset_git_info
return
fi
if (( ZSH_ANTARES_GIT_IS_BARE_REPO ))
then
antares_reset_git_counts
GIT_AHEAD=$(git rev-list --left-only HEAD..FETCH_HEAD --count)
GIT_BEHIND=$(git rev-list --right-only HEAD..FETCH_HEAD --count)
return
fi
if [ -n "$ZSH_ANTARES_USE_OHMYZSH_GIT_PROMPT" ]
then
GIT_ADDED=0
elif [ -n "$ZSH_ANTARES_USE_LIGHT_GIT_MODE" ]
then
antares_reset_git_counts
return
else
private git_status="$(git status -sb)"
if [ -n "$git_status" ]
then
GIT_STAGED=$(echo $git_status | grep '^[AMD]. ' | wc -l)
GIT_ADDED=$(echo $git_status | grep '^A ' | wc -l)
GIT_DELETED=$(echo $git_status | grep -E '^(D |.D) ' | wc -l)
GIT_CHANGED=$(echo $git_status | grep -E '^(M |.M) ' | wc -l)
GIT_CONFLICTS=$(echo $git_status | grep '^U. ' | wc -l)
GIT_UNTRACKED=$(echo $git_status | grep '^?? ' | wc -l)
GIT_STASHED=$(git stash list | wc -l)
if (( ZSH_ANTARES_GIT_IS_DETACHED_HEAD ))
then
GIT_AHEAD=0
GIT_BEHIND=0
elif (( ! ZSH_ANTARES_GIT_IS_INIT_REPO ))
then
private left_right=$(echo $git_status | grep '^## ' | cut -d" " -f2)
GIT_AHEAD=$(git rev-list --left-only $left_right --count)
GIT_BEHIND=$(git rev-list --right-only $left_right --count)
fi
fi
fi
ZSH_ANTARES_GIT_HAS_CONFLICTS=$(( GIT_CONFLICTS > 0 ))
}
antares_reset_git_info()
{
if [ -z "$ZSH_ANTARES_USE_OHMYZSH_GIT_PROMPT" ]
then
GIT_BRANCH=""
fi
antares_reset_git_counts
}
antares_reset_git_counts()
{
if [ -n "$ZSH_ANTARES_USE_OHMYZSH_GIT_PROMPT" ]
then
GIT_ADDED=0
else
GIT_AHEAD=0
GIT_BEHIND=0
GIT_STAGED=0
GIT_ADDED=0
GIT_DELETED=0
GIT_CHANGED=0
GIT_CONFLICTS=0
GIT_UNTRACKED=0
GIT_STASHED=0
fi
}
antares_update_prompt()
{
ZSH_ANTARES_RETURN=""
if [ -n "$ZSH_ANTARES_EXEC_FLAG" ]
then
if (( ZSH_ANTARES_MIN_EXEC_TIME >= 0 ))
then
private exec_time=$(( SECONDS - ZSH_ANTARES_EXEC_START ))
if (( exec_time >= ZSH_ANTARES_MIN_EXEC_TIME ))
then
ZSH_ANTARES_RETURN+="%F{$ZSH_ANTARES_FG_EXECTIME}%B⤷%b $exec_time%f"
fi
fi
if [[ "$ZSH_ANTARES_ERR_CODE" != "0" ]]
then
if [ -z "$ZSH_ANTARES_RETURN" ]
then
ZSH_ANTARES_RETURN+="%F{$ZSH_ANTARES_FG_ERRVAL}%B⤷%b%f"
fi
ZSH_ANTARES_RETURN+=" %F{$ZSH_ANTARES_FG_ERRVAL}✘%B${ZSH_ANTARES_ERR_CODE}%b%f"
fi
[ -n "$ZSH_ANTARES_RETURN" ] && ZSH_ANTARES_RETURN+="$ZSH_ANTARES_LINEFEED"
fi
ZSH_ANTARES_FILLER=""
private fillchar=" "
private width=$(( COLUMNS - ${ZLE_RPROMPT_INDENT:-1} ))
private decosize=7
private pwdsize=${#${(%):-$ZSH_ANTARES_PATHVAR}}
private pwdcut=""
private gitsize=${#${(%):-$GIT_BRANCH$ZSH_ANTARES_GIT_TAG}}
private gitcut=""
if (( pwdsize + gitsize + (decosize * 2) > width )); then
private half_width=$(( width / 2 ))
private pwd_over_half=$(( (pwdsize + decosize) > half_width ))
private git_over_half=$(( (gitsize + decosize) > half_width ))
if (( pwd_over_half > 0 )) && (( git_over_half > 0 ))
then
(( pwdcut = half_width - decosize ))
(( gitcut = half_width - decosize ))
elif (( pwd_over_half > 0 ))
then
(( pwdcut = width - gitsize - (decosize * 2) ))
ZSH_ANTARES_FILLER="\${(l:$(( width - pwdcut - gitsize - (decosize * 2) ))::$fillchar:)}"
elif (( git_over_half > 0 ))
then
(( gitcut = width - pwdsize - (decosize * 2) ))
ZSH_ANTARES_FILLER="\${(l:$(( width - pwdsize - gitcut - (decosize * 2) ))::$fillchar:)}"
else
ZSH_ANTARES_FILLER="\${(l:$(( width - pwdsize - gitsize - (decosize * 2) ))::$fillchar:)}"
fi
else
ZSH_ANTARES_FILLER="\${(l:$(( width - pwdsize - gitsize - (decosize * 2) ))::$fillchar:)}"
fi
if [ -n "$ZSH_ANTARES_EXEC_FLAG" ]
then
private pwd_fg_color="%(?.${ZSH_ANTARES_FG_PWD_OK}.${ZSH_ANTARES_FG_PWD_ERR})"
private pwd_bg_color="%(?.${ZSH_ANTARES_BG_PWD_OK}.${ZSH_ANTARES_BG_PWD_ERR})"
else
private pwd_fg_color="$ZSH_ANTARES_FG_PWD_OK"
private pwd_bg_color="$ZSH_ANTARES_BG_PWD_OK"
fi
ZSH_ANTARES_PWD="%K{$pwd_bg_color}%F{$pwd_fg_color} %${pwdcut}<...<${ZSH_ANTARES_PATHVAR}%<< %f%k%F{$pwd_bg_color}▓▒░%f"
ZSH_ANTARES_GIT_BRANCH=""
if (( ZSH_ANTARES_GIT_IN_WORKING_TREE ))
then
if (( ZSH_ANTARES_GIT_HAS_CONFLICTS ))
then
ZSH_ANTARES_GIT_BRANCH+="%F{$ZSH_ANTARES_BG_GIT_CONFLICT}░▒▓%f%K{$ZSH_ANTARES_BG_GIT_CONFLICT}%F{$ZSH_ANTARES_FG_GIT_CONFLICT}"
elif (( ZSH_ANTARES_GIT_IS_DETACHED_HEAD ))
then
ZSH_ANTARES_GIT_BRANCH+="%F{$ZSH_ANTARES_BG_GIT_DETACH}░▒▓%f%K{$ZSH_ANTARES_BG_GIT_DETACH}%F{$ZSH_ANTARES_FG_GIT_DETACH}"
if (( ZSH_ANTARES_GIT_HAS_TAGS ))
then
GIT_BRANCH+="%F{$ZSH_ANTARES_FG_GIT_TAG}${ZSH_ANTARES_GIT_TAG}%f"
fi
elif (( ZSH_ANTARES_GIT_IS_BARE_REPO ))
then
ZSH_ANTARES_GIT_BRANCH+="%F{$ZSH_ANTARES_BG_GIT_BARE}░▒▓%f%K{$ZSH_ANTARES_BG_GIT_BARE}%F{$ZSH_ANTARES_FG_GIT_BARE}"
elif (( ZSH_ANTARES_GIT_IS_INIT_REPO ))
then
ZSH_ANTARES_GIT_BRANCH+="%F{$ZSH_ANTARES_BG_GIT_INIT}░▒▓%f%K{$ZSH_ANTARES_BG_GIT_INIT}%F{$ZSH_ANTARES_FG_GIT_INIT}"
else
ZSH_ANTARES_GIT_BRANCH+="%F{$ZSH_ANTARES_BG_GIT_BRANCH}░▒▓%f%K{$ZSH_ANTARES_BG_GIT_BRANCH}%F{$ZSH_ANTARES_FG_GIT_BRANCH}"
fi
ZSH_ANTARES_GIT_BRANCH+=" %${gitcut}>...>$GIT_BRANCH%>> %f%k"
if [ -n "$ZSH_ANTARES_USE_LIGHT_GIT_MODE" ]
then
ZSH_ANTARES_GIT_BRANCH+="%F{$ZSH_ANTARES_FG_DECO}├╼%f"
else
ZSH_ANTARES_GIT_BRANCH+="%F{$ZSH_ANTARES_FG_DECO}├╮%f"
fi
fi
ZSH_ANTARES_JOBS="%(1j.%F{$ZSH_ANTARES_FG_JOBS}${ZSH_ANTARES_STR_JOBS}%j%f .)"
ZSH_ANTARES_PRIVILEDGES="%F{$ZSH_ANTARES_FG_PRIVILEDGES}%B%(!.${ZSH_ANTARES_STR_ROOT}.${ZSH_ANTARES_STR_USER})%b%f"
}
antares_update_rprompt()
{
ZSH_ANTARES_GIT_STATUS=""
[ -n "$ZSH_ANTARES_USE_LIGHT_GIT_MODE" ] && return
(( ZSH_ANTARES_GIT_IN_WORKING_TREE )) || return
if (( GIT_CONFLICTS > 0 ))
then
ZSH_ANTARES_GIT_STATUS+=" %F{$ZSH_ANTARES_FG_GIT_CONFLICTS}${ZSH_ANTARES_STR_GIT_CONFLICTS}${GIT_CONFLICTS}%f"
fi
if (( GIT_STAGED > 0 ))
then
ZSH_ANTARES_GIT_STATUS+=" %F{$ZSH_ANTARES_FG_GIT_STAGED}${ZSH_ANTARES_STR_GIT_STAGED}${GIT_STAGED}%f"
fi
if (( GIT_DELETED > 0 ))
then
ZSH_ANTARES_GIT_STATUS+=" %F{$ZSH_ANTARES_FG_GIT_DELETED}${ZSH_ANTARES_STR_GIT_DELETED}${GIT_DELETED}%f"
fi
if (( GIT_CHANGED > 0 ))
then
ZSH_ANTARES_GIT_STATUS+=" %F{$ZSH_ANTARES_FG_GIT_CHANGED}${ZSH_ANTARES_STR_GIT_CHANGED}${GIT_CHANGED}%f"
fi
if (( GIT_ADDED > 0 ))
then
ZSH_ANTARES_GIT_STATUS+=" %F{$ZSH_ANTARES_FG_GIT_ADDED}${ZSH_ANTARES_STR_GIT_ADDED}${GIT_ADDED}%f"
fi
if (( GIT_UNTRACKED > 0 ))
then
ZSH_ANTARES_GIT_STATUS+=" %F{$ZSH_ANTARES_FG_GIT_UNTRACKED}${ZSH_ANTARES_STR_GIT_UNTRACKED}${GIT_UNTRACKED}%f"
fi
if (( GIT_STASHED > 0 ))
then
ZSH_ANTARES_GIT_STATUS+=" %F{$ZSH_ANTARES_FG_GIT_STASHED}${ZSH_ANTARES_STR_GIT_STASHED}${GIT_STASHED}%f"
fi
if (( ! ZSH_ANTARES_GIT_IS_DETACHED_HEAD ))
then
private ahead_behind=""
if (( GIT_AHEAD > 0 ))
then
ahead_behind+="%F{$ZSH_ANTARES_FG_GIT_AHEAD}${ZSH_ANTARES_STR_GIT_AHEAD}${GIT_AHEAD}%f"
fi
if (( GIT_BEHIND > 0 ))
then
ahead_behind+="%F{$ZSH_ANTARES_FG_GIT_BEHIND}${ZSH_ANTARES_STR_GIT_BEHIND}${GIT_BEHIND}%f"
fi
if [ -n "$ahead_behind" ]
then
ZSH_ANTARES_GIT_STATUS+=" $ahead_behind"
fi
fi
ZSH_ANTARES_GIT_STATUS+=" %F{$ZSH_ANTARES_FG_DECO}╾─╯%f"
}
antares_precmd()
{
ZSH_ANTARES_ERR_CODE="$?"
antares_update_git_status
antares_update_prompt
antares_update_rprompt
ZSH_ANTARES_EXEC_FLAG=""
}
antares_preexec()
{
ZSH_ANTARES_EXEC_FLAG="+"
ZSH_ANTARES_EXEC_START=$SECONDS
}
autoload -U add-zsh-hook
add-zsh-hook precmd antares_precmd
add-zsh-hook preexec antares_preexec
PROMPT='${ZSH_ANTARES_RETURN}\
%F{$ZSH_ANTARES_FG_DECO}╭┤%f${ZSH_ANTARES_PWD}${(e)ZSH_ANTARES_FILLER}${ZSH_ANTARES_GIT_BRANCH}
%F{$ZSH_ANTARES_FG_DECO}╰─╼%f ${ZSH_ANTARES_JOBS}${ZSH_ANTARES_PRIVILEDGES} '
RPROMPT='${ZSH_ANTARES_GIT_STATUS}'

View File

@@ -0,0 +1,696 @@
# README
#
# In order for this theme to render correctly, you will need a
# [Powerline-patched font](https://github.com/Lokaltog/powerline-fonts).
#
# In addition, I recommend the
# [Tomorrow Night theme](https://github.com/chriskempson/tomorrow-theme) and, if
# you're using it on Mac OS X, [iTerm 2](http://www.iterm2.com/) over
# Terminal.app - it has significantly better color fidelity.
# ------------------------------------------------------------------------------
# CONFIGURATION
# The default configuration, that can be overwrite in your .zshrc file
# ------------------------------------------------------------------------------
VIRTUAL_ENV_DISABLE_PROMPT=true
# Define order and content of prompt
if [ ! -n "${BULLETTRAIN_PROMPT_ORDER+1}" ]; then
BULLETTRAIN_PROMPT_ORDER=(
time
status
custom
context
dir
screen
perl
ruby
virtualenv
nvm
aws
go
rust
elixir
git
hg
cmd_exec_time
)
fi
# PROMPT
if [ ! -n "${BULLETTRAIN_PROMPT_CHAR+1}" ]; then
BULLETTRAIN_PROMPT_CHAR="\$"
fi
if [ ! -n "${BULLETTRAIN_PROMPT_ROOT+1}" ]; then
BULLETTRAIN_PROMPT_ROOT=true
fi
if [ ! -n "${BULLETTRAIN_PROMPT_SEPARATE_LINE+1}" ]; then
BULLETTRAIN_PROMPT_SEPARATE_LINE=true
fi
if [ ! -n "${BULLETTRAIN_PROMPT_ADD_NEWLINE+1}" ]; then
BULLETTRAIN_PROMPT_ADD_NEWLINE=true
fi
# STATUS
if [ ! -n "${BULLETTRAIN_STATUS_EXIT_SHOW+1}" ]; then
BULLETTRAIN_STATUS_EXIT_SHOW=false
fi
if [ ! -n "${BULLETTRAIN_STATUS_BG+1}" ]; then
BULLETTRAIN_STATUS_BG=green
fi
if [ ! -n "${BULLETTRAIN_STATUS_ERROR_BG+1}" ]; then
BULLETTRAIN_STATUS_ERROR_BG=red
fi
if [ ! -n "${BULLETTRAIN_STATUS_FG+1}" ]; then
BULLETTRAIN_STATUS_FG=white
fi
# TIME
if [ ! -n "${BULLETTRAIN_TIME_BG+1}" ]; then
BULLETTRAIN_TIME_BG=white
fi
if [ ! -n "${BULLETTRAIN_TIME_FG+1}" ]; then
BULLETTRAIN_TIME_FG=black
fi
# CUSTOM
if [ ! -n "${BULLETTRAIN_CUSTOM_MSG+1}" ]; then
BULLETTRAIN_CUSTOM_MSG=false
fi
if [ ! -n "${BULLETTRAIN_CUSTOM_BG+1}" ]; then
BULLETTRAIN_CUSTOM_BG=black
fi
if [ ! -n "${BULLETTRAIN_CUSTOM_FG+1}" ]; then
BULLETTRAIN_CUSTOM_FG=default
fi
# VIRTUALENV
if [ ! -n "${BULLETTRAIN_VIRTUALENV_BG+1}" ]; then
BULLETTRAIN_VIRTUALENV_BG=yellow
fi
if [ ! -n "${BULLETTRAIN_VIRTUALENV_FG+1}" ]; then
BULLETTRAIN_VIRTUALENV_FG=white
fi
if [ ! -n "${BULLETTRAIN_VIRTUALENV_PREFIX+1}" ]; then
BULLETTRAIN_VIRTUALENV_PREFIX=🐍
fi
# NVM
if [ ! -n "${BULLETTRAIN_NVM_BG+1}" ]; then
BULLETTRAIN_NVM_BG=green
fi
if [ ! -n "${BULLETTRAIN_NVM_FG+1}" ]; then
BULLETTRAIN_NVM_FG=white
fi
if [ ! -n "${BULLETTRAIN_NVM_PREFIX+1}" ]; then
BULLETTRAIN_NVM_PREFIX="⬡ "
fi
# AWS
if [ ! -n "${BULLETTRAIN_AWS_BG+1}" ]; then
BULLETTRAIN_AWS_BG=yellow
fi
if [ ! -n "${BULLETTRAIN_AWS_FG+1}" ]; then
BULLETTRAIN_AWS_FG=black
fi
if [ ! -n "${BULLETTRAIN_AWS_PREFIX+1}" ]; then
BULLETTRAIN_AWS_PREFIX="☁️"
fi
# RUBY
if [ ! -n "${BULLETTRAIN_RUBY_BG+1}" ]; then
BULLETTRAIN_RUBY_BG=red
fi
if [ ! -n "${BULLETTRAIN_RUBY_FG+1}" ]; then
BULLETTRAIN_RUBY_FG=white
fi
if [ ! -n "${BULLETTRAIN_RUBY_PREFIX+1}" ]; then
BULLETTRAIN_RUBY_PREFIX=♦️
fi
# Go
if [ ! -n "${BULLETTRAIN_GO_BG+1}" ]; then
BULLETTRAIN_GO_BG=cyan
fi
if [ ! -n "${BULLETTRAIN_GO_FG+1}" ]; then
BULLETTRAIN_GO_FG=white
fi
if [ ! -n "${BULLETTRAIN_GO_PREFIX+1}" ]; then
BULLETTRAIN_GO_PREFIX="go"
fi
# Rust
if [ ! -n "${BULLETTRAIN_RUST_BG+1}" ]; then
BULLETTRAIN_RUST_BG=black
fi
if [ ! -n "${BULLETTRAIN_RUST_FG+1}" ]; then
BULLETTRAIN_RUST_FG=white
fi
if [ ! -n "${BULLETTRAIN_RUST_PREFIX+1}" ]; then
BULLETTRAIN_RUST_PREFIX="🦀"
fi
# Kubernetes Context
if [ ! -n "${BULLETTRAIN_KCTX_BG+1}" ]; then
BULLETTRAIN_KCTX_BG=yellow
fi
if [ ! -n "${BULLETTRAIN_KCTX_FG+1}" ]; then
BULLETTRAIN_KCTX_FG=white
fi
if [ ! -n "${BULLETTRAIN_KCTX_PREFIX+1}" ]; then
BULLETTRAIN_KCTX_PREFIX="⎈"
fi
if [ ! -n "${BULLETTRAIN_KCTX_KCONFIG+1}" ]; then
BULLETTRAIN_KCTX_KCONFIG="${HOME}/.kube/config"
fi
if [ ! -n "${BULLETTRAIN_KCTX_KUBECTL+1}" ]; then
BULLETTRAIN_KCTX_KUBECTL="true"
fi
if [ ! -n "${BULLETTRAIN_KCTX_NAMESPACE+1}" ]; then
BULLETTRAIN_KCTX_NAMESPACE="true"
fi
# ELIXIR
if [ ! -n "${BULLETTRAIN_ELIXIR_BG+1}" ]; then
BULLETTRAIN_ELIXIR_BG=magenta
fi
if [ ! -n "${BULLETTRAIN_ELIXIR_FG+1}" ]; then
BULLETTRAIN_ELIXIR_FG=white
fi
if [ ! -n "${BULLETTRAIN_ELIXIR_PREFIX+1}" ]; then
BULLETTRAIN_ELIXIR_PREFIX="💧"
fi
# DIR
if [ ! -n "${BULLETTRAIN_DIR_BG+1}" ]; then
BULLETTRAIN_DIR_BG=blue
fi
if [ ! -n "${BULLETTRAIN_DIR_FG+1}" ]; then
BULLETTRAIN_DIR_FG=white
fi
if [ ! -n "${BULLETTRAIN_DIR_CONTEXT_SHOW+1}" ]; then
BULLETTRAIN_DIR_CONTEXT_SHOW=false
fi
if [ ! -n "${BULLETTRAIN_DIR_EXTENDED+1}" ]; then
BULLETTRAIN_DIR_EXTENDED=1
fi
# GIT
if [ ! -n "${BULLETTRAIN_GIT_COLORIZE_DIRTY+1}" ]; then
BULLETTRAIN_GIT_COLORIZE_DIRTY=false
fi
if [ ! -n "${BULLETTRAIN_GIT_COLORIZE_DIRTY_FG_COLOR+1}" ]; then
BULLETTRAIN_GIT_COLORIZE_DIRTY_FG_COLOR=black
fi
if [ ! -n "${BULLETTRAIN_GIT_COLORIZE_DIRTY_BG_COLOR+1}" ]; then
BULLETTRAIN_GIT_COLORIZE_DIRTY_BG_COLOR=yellow
fi
if [ ! -n "${BULLETTRAIN_GIT_BG+1}" ]; then
BULLETTRAIN_GIT_BG=white
fi
if [ ! -n "${BULLETTRAIN_GIT_FG+1}" ]; then
BULLETTRAIN_GIT_FG=black
fi
if [ ! -n "${BULLETTRAIN_GIT_EXTENDED+1}" ]; then
BULLETTRAIN_GIT_EXTENDED=true
fi
if [ ! -n "${BULLETTRAIN_GIT_PROMPT_CMD+1}" ]; then
BULLETTRAIN_GIT_PROMPT_CMD="\$(git_prompt_info)"
fi
# PERL
if [ ! -n "${BULLETTRAIN_PERL_BG+1}" ]; then
BULLETTRAIN_PERL_BG=yellow
fi
if [ ! -n "${BULLETTRAIN_PERL_FG+1}" ]; then
BULLETTRAIN_PERL_FG=black
fi
if [ ! -n "${BULLETTRAIN_PERL_PREFIX+1}" ]; then
BULLETTRAIN_PERL_PREFIX=🐪
fi
# CONTEXT
if [ ! -n "${BULLETTRAIN_CONTEXT_BG+1}" ]; then
BULLETTRAIN_CONTEXT_BG=black
fi
if [ ! -n "${BULLETTRAIN_CONTEXT_FG+1}" ]; then
BULLETTRAIN_CONTEXT_FG=default
fi
if [ ! -n "${BULLETTRAIN_CONTEXT_HOSTNAME+1}" ]; then
BULLETTRAIN_CONTEXT_HOSTNAME=%m
fi
# GIT PROMPT
if [ ! -n "${BULLETTRAIN_GIT_PREFIX+1}" ]; then
ZSH_THEME_GIT_PROMPT_PREFIX="\ue0a0 "
else
ZSH_THEME_GIT_PROMPT_PREFIX=$BULLETTRAIN_GIT_PREFIX
fi
if [ ! -n "${BULLETTRAIN_GIT_SUFFIX+1}" ]; then
ZSH_THEME_GIT_PROMPT_SUFFIX=""
else
ZSH_THEME_GIT_PROMPT_SUFFIX=$BULLETTRAIN_GIT_SUFFIX
fi
if [ ! -n "${BULLETTRAIN_GIT_DIRTY+1}" ]; then
ZSH_THEME_GIT_PROMPT_DIRTY=" %F{red}✘%F{black}"
else
ZSH_THEME_GIT_PROMPT_DIRTY=$BULLETTRAIN_GIT_DIRTY
fi
if [ ! -n "${BULLETTRAIN_GIT_CLEAN+1}" ]; then
ZSH_THEME_GIT_PROMPT_CLEAN=" %F{green}✔%F{black}"
else
ZSH_THEME_GIT_PROMPT_CLEAN=$BULLETTRAIN_GIT_CLEAN
fi
if [ ! -n "${BULLETTRAIN_GIT_ADDED+1}" ]; then
ZSH_THEME_GIT_PROMPT_ADDED=" %F{green}✚%F{black}"
else
ZSH_THEME_GIT_PROMPT_ADDED=$BULLETTRAIN_GIT_ADDED
fi
if [ ! -n "${BULLETTRAIN_GIT_MODIFIED+1}" ]; then
ZSH_THEME_GIT_PROMPT_MODIFIED=" %F{blue}✹%F{black}"
else
ZSH_THEME_GIT_PROMPT_MODIFIED=$BULLETTRAIN_GIT_MODIFIED
fi
if [ ! -n "${BULLETTRAIN_GIT_DELETED+1}" ]; then
ZSH_THEME_GIT_PROMPT_DELETED=" %F{red}✖%F{black}"
else
ZSH_THEME_GIT_PROMPT_DELETED=$BULLETTRAIN_GIT_DELETED
fi
if [ ! -n "${BULLETTRAIN_GIT_UNTRACKED+1}" ]; then
ZSH_THEME_GIT_PROMPT_UNTRACKED=" %F{yellow}✭%F{black}"
else
ZSH_THEME_GIT_PROMPT_UNTRACKED=$BULLETTRAIN_GIT_UNTRACKED
fi
if [ ! -n "${BULLETTRAIN_GIT_RENAMED+1}" ]; then
ZSH_THEME_GIT_PROMPT_RENAMED=" ➜"
else
ZSH_THEME_GIT_PROMPT_RENAMED=$BULLETTRAIN_GIT_RENAMED
fi
if [ ! -n "${BULLETTRAIN_GIT_UNMERGED+1}" ]; then
ZSH_THEME_GIT_PROMPT_UNMERGED=" ═"
else
ZSH_THEME_GIT_PROMPT_UNMERGED=$BULLETTRAIN_GIT_UNMERGED
fi
if [ ! -n "${BULLETTRAIN_GIT_AHEAD+1}" ]; then
ZSH_THEME_GIT_PROMPT_AHEAD=" ⬆"
else
ZSH_THEME_GIT_PROMPT_AHEAD=$BULLETTRAIN_GIT_AHEAD
fi
if [ ! -n "${BULLETTRAIN_GIT_BEHIND+1}" ]; then
ZSH_THEME_GIT_PROMPT_BEHIND=" ⬇"
else
ZSH_THEME_GIT_PROMPT_BEHIND=$BULLETTRAIN_GIT_BEHIND
fi
if [ ! -n "${BULLETTRAIN_GIT_DIVERGED+1}" ]; then
ZSH_THEME_GIT_PROMPT_DIVERGED=" ⬍"
else
ZSH_THEME_GIT_PROMPT_DIVERGED=$BULLETTRAIN_GIT_PROMPT_DIVERGED
fi
# SCREEN
if [ ! -n "${BULLETTRAIN_SCREEN_BG+1}" ]; then
BULLETTRAIN_SCREEN_BG=white
fi
if [ ! -n "${BULLETTRAIN_SCREEN_FG+1}" ]; then
BULLETTRAIN_SCREEN_FG=black
fi
if [ ! -n "${BULLETTRAIN_SCREEN_PREFIX+1}" ]; then
BULLETTRAIN_SCREEN_PREFIX="⬗"
fi
# COMMAND EXECUTION TIME
if [ ! -n "${BULLETTRAIN_EXEC_TIME_ELAPSED+1}" ]; then
BULLETTRAIN_EXEC_TIME_ELAPSED=5
fi
if [ ! -n "${BULLETTRAIN_EXEC_TIME_BG+1}" ]; then
BULLETTRAIN_EXEC_TIME_BG=yellow
fi
if [ ! -n "${BULLETTRAIN_EXEC_TIME_FG+1}" ]; then
BULLETTRAIN_EXEC_TIME_FG=black
fi
# ------------------------------------------------------------------------------
# SEGMENT DRAWING
# A few functions to make it easy and re-usable to draw segmented prompts
# ------------------------------------------------------------------------------
CURRENT_BG='NONE'
SEGMENT_SEPARATOR=''
# Begin a segment
# Takes three arguments, background, foreground and text. All of them can be omitted,
# rendering default background/foreground and no text.
prompt_segment() {
local bg fg
[[ -n $1 ]] && bg="%K{$1}" || bg="%k"
[[ -n $2 ]] && fg="%F{$2}" || fg="%f"
if [[ $CURRENT_BG != 'NONE' && $1 != $CURRENT_BG ]]; then
echo -n " %{$bg%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR%{$fg%} "
else
echo -n "%{$bg%}%{$fg%} "
fi
CURRENT_BG=$1
[[ -n $3 ]] && echo -n $3
}
# End the prompt, closing any open segments
prompt_end() {
if [[ -n $CURRENT_BG ]]; then
echo -n " %{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR"
else
echo -n "%{%k%}"
fi
echo -n "%{%f%}"
CURRENT_BG=''
}
# ------------------------------------------------------------------------------
# PROMPT COMPONENTS
# Each component will draw itself, and hide itself if no information needs
# to be shown
# ------------------------------------------------------------------------------
# Context: user@hostname (who am I and where am I)
context() {
local user="$(whoami)"
[[ "$user" != "$BULLETTRAIN_CONTEXT_DEFAULT_USER" || -n "$BULLETTRAIN_IS_SSH_CLIENT" ]] && echo -n "${user}@$BULLETTRAIN_CONTEXT_HOSTNAME"
}
prompt_context() {
local _context="$(context)"
[[ -n "$_context" ]] && prompt_segment $BULLETTRAIN_CONTEXT_BG $BULLETTRAIN_CONTEXT_FG "$_context"
}
# Based on http://stackoverflow.com/a/32164707/3859566
function displaytime {
local T=$1
local D=$((T/60/60/24))
local H=$((T/60/60%24))
local M=$((T/60%60))
local S=$((T%60))
[[ $D > 0 ]] && printf '%dd' $D
[[ $H > 0 ]] && printf '%dh' $H
[[ $M > 0 ]] && printf '%dm' $M
printf '%ds' $S
}
# Prompt previous command execution time
preexec() {
cmd_timestamp=`date +%s`
}
precmd() {
local stop=`date +%s`
local start=${cmd_timestamp:-$stop}
let BULLETTRAIN_last_exec_duration=$stop-$start
cmd_timestamp=''
}
prompt_cmd_exec_time() {
[ $BULLETTRAIN_last_exec_duration -gt $BULLETTRAIN_EXEC_TIME_ELAPSED ] && prompt_segment $BULLETTRAIN_EXEC_TIME_BG $BULLETTRAIN_EXEC_TIME_FG "$(displaytime $BULLETTRAIN_last_exec_duration)"
}
# Custom
prompt_custom() {
if [[ $BULLETTRAIN_CUSTOM_MSG == false ]]; then
return
fi
local custom_msg
eval custom_msg=$BULLETTRAIN_CUSTOM_MSG
[[ -n "${custom_msg}" ]] && prompt_segment $BULLETTRAIN_CUSTOM_BG $BULLETTRAIN_CUSTOM_FG "${custom_msg}"
}
# Git
prompt_git() {
if [[ "$(command git config --get oh-my-zsh.hide-status 2>/dev/null)" == "1" ]]; then
return
fi
local ref dirty mode repo_path git_prompt
repo_path=$(git rev-parse --git-dir 2>/dev/null)
if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then
if [[ $BULLETTRAIN_GIT_COLORIZE_DIRTY == true && -n $(git status --porcelain --ignore-submodules) ]]; then
BULLETTRAIN_GIT_BG=$BULLETTRAIN_GIT_COLORIZE_DIRTY_BG_COLOR
BULLETTRAIN_GIT_FG=$BULLETTRAIN_GIT_COLORIZE_DIRTY_FG_COLOR
fi
prompt_segment $BULLETTRAIN_GIT_BG $BULLETTRAIN_GIT_FG
eval git_prompt=${BULLETTRAIN_GIT_PROMPT_CMD}
if [[ $BULLETTRAIN_GIT_EXTENDED == true ]]; then
echo -n ${git_prompt}$(git_prompt_status)
else
echo -n ${git_prompt}
fi
fi
}
prompt_hg() {
local rev status
if $(hg id >/dev/null 2>&1); then
if $(hg prompt >/dev/null 2>&1); then
if [[ $(hg prompt "{status|unknown}") = "?" ]]; then
# if files are not added
prompt_segment red white
st='±'
elif [[ -n $(hg prompt "{status|modified}") ]]; then
# if any modification
prompt_segment yellow black
st='±'
else
# if working copy is clean
prompt_segment green black
fi
echo -n $(hg prompt "☿ {rev}@{branch}") $st
else
st=""
rev=$(hg id -n 2>/dev/null | sed 's/[^-0-9]//g')
branch=$(hg id -b 2>/dev/null)
if $(hg st | grep -Eq "^\?"); then
prompt_segment red black
st='±'
elif $(hg st | grep -Eq "^(M|A)"); then
prompt_segment yellow black
st='±'
else
prompt_segment green black
fi
echo -n "☿ $rev@$branch" $st
fi
fi
}
# Dir: current working directory
prompt_dir() {
local dir=''
local _context="$(context)"
[[ $BULLETTRAIN_DIR_CONTEXT_SHOW == true && -n "$_context" ]] && dir="${dir}${_context}:"
if [[ $BULLETTRAIN_DIR_EXTENDED == 0 ]]; then
#short directories
dir="${dir}%1~"
elif [[ $BULLETTRAIN_DIR_EXTENDED == 2 ]]; then
#long directories
dir="${dir}%0~"
else
#medium directories (default case)
dir="${dir}%4(c:...:)%3c"
fi
prompt_segment $BULLETTRAIN_DIR_BG $BULLETTRAIN_DIR_FG $dir
}
# RUBY
# RVM: only shows RUBY info if on a gemset that is not the default one
# RBENV: shows current ruby version active in the shell; also with non-global gemsets if any is active
# CHRUBY: shows current ruby version active in the shell
prompt_ruby() {
if command -v rvm-prompt > /dev/null 2>&1; then
prompt_segment $BULLETTRAIN_RUBY_BG $BULLETTRAIN_RUBY_FG $BULLETTRAIN_RUBY_PREFIX" $(rvm-prompt i v g)"
elif command -v chruby > /dev/null 2>&1; then
prompt_segment $BULLETTRAIN_RUBY_BG $BULLETTRAIN_RUBY_FG $BULLETTRAIN_RUBY_PREFIX" $(chruby | sed -n -e 's/ \* //p')"
elif command -v rbenv > /dev/null 2>&1; then
current_gemset() {
echo "$(rbenv gemset active 2&>/dev/null | sed -e 's/ global$//')"
}
if [[ -n $(current_gemset) ]]; then
prompt_segment $BULLETTRAIN_RUBY_BG $BULLETTRAIN_RUBY_FG $BULLETTRAIN_RUBY_PREFIX" $(rbenv version | sed -e 's/ (set.*$//')"@"$(current_gemset)"
else
prompt_segment $BULLETTRAIN_RUBY_BG $BULLETTRAIN_RUBY_FG $BULLETTRAIN_RUBY_PREFIX" $(rbenv version | sed -e 's/ (set.*$//')"
fi
fi
}
# ELIXIR
prompt_elixir() {
if command -v elixir > /dev/null 2>&1; then
prompt_segment $BULLETTRAIN_ELIXIR_BG $BULLETTRAIN_ELIXIR_FG $BULLETTRAIN_ELIXIR_PREFIX" $(elixir -v | tail -n 1 | awk '{print $2}')"
fi
}
# PERL
# PLENV: shows current PERL version active in the shell
prompt_perl() {
if command -v plenv > /dev/null 2>&1; then
prompt_segment $BULLETTRAIN_PERL_BG $BULLETTRAIN_PERL_FG $BULLETTRAIN_PERL_PREFIX" $(plenv version | sed -e 's/ (set.*$//')"
fi
}
# Go
prompt_go() {
setopt extended_glob
if [[ (-f *.go(#qN) || -d Godeps || -f glide.yaml) ]]; then
if command -v go > /dev/null 2>&1; then
prompt_segment $BULLETTRAIN_GO_BG $BULLETTRAIN_GO_FG $BULLETTRAIN_GO_PREFIX" $(go version | grep --colour=never -oE '[[:digit:]].[[:digit:]]+')"
fi
fi
}
# Rust
prompt_rust() {
if [[ (-f Cargo.toml) ]]; then
if command -v rustc > /dev/null 2>&1; then
prompt_segment $BULLETTRAIN_RUST_BG $BULLETTRAIN_RUST_FG $BULLETTRAIN_RUST_PREFIX" $(rustc -V version | cut -d' ' -f2)"
fi
fi
}
# Kubernetes Context
prompt_kctx() {
if [[ "$BULLETTRAIN_KCTX_KUBECTL" == "true" ]] && command -v kubectl > /dev/null 2>&1; then
local jsonpath='{.current-context}'
if [[ "$BULLETTRAIN_KCTX_NAMESPACE" == "true" ]]; then
jsonpath="${jsonpath}{':'}{..namespace}"
fi
prompt_segment $BULLETTRAIN_KCTX_BG $BULLETTRAIN_KCTX_FG $BULLETTRAIN_KCTX_PREFIX" $(kubectl config view --minify --output "jsonpath=${jsonpath}" 2>/dev/null)"
elif [[ -f $BULLETTRAIN_KCTX_KCONFIG ]]; then
prompt_segment $BULLETTRAIN_KCTX_BG $BULLETTRAIN_KCTX_FG $BULLETTRAIN_KCTX_PREFIX" $(cat $BULLETTRAIN_KCTX_KCONFIG | grep current-context | awk '{print $2}')"
fi
}
# Virtualenv: current working virtualenv
prompt_virtualenv() {
local virtualenv_path="$VIRTUAL_ENV"
if [[ -n $virtualenv_path && -n $VIRTUAL_ENV_DISABLE_PROMPT ]]; then
prompt_segment $BULLETTRAIN_VIRTUALENV_BG $BULLETTRAIN_VIRTUALENV_FG $BULLETTRAIN_VIRTUALENV_PREFIX" $(basename $virtualenv_path)"
elif which pyenv &> /dev/null; then
if [[ "$(pyenv version | sed -e 's/ (set.*$//' | tr '\n' ' ' | sed 's/.$//')" != "system" ]]; then
prompt_segment $BULLETTRAIN_VIRTUALENV_BG $BULLETTRAIN_VIRTUALENV_FG $BULLETTRAIN_VIRTUALENV_PREFIX" $(pyenv version | sed -e 's/ (set.*$//' | tr '\n' ' ' | sed 's/.$//')"
fi
fi
}
# NVM: Node version manager
prompt_nvm() {
local nvm_prompt
if type nvm >/dev/null 2>&1; then
nvm_prompt=$(nvm current 2>/dev/null)
[[ "${nvm_prompt}x" == "x" || "${nvm_prompt}" == "system" ]] && return
elif type node >/dev/null 2>&1; then
nvm_prompt="$(node --version)"
else
return
fi
nvm_prompt=${nvm_prompt}
prompt_segment $BULLETTRAIN_NVM_BG $BULLETTRAIN_NVM_FG $BULLETTRAIN_NVM_PREFIX$nvm_prompt
}
#AWS Profile
prompt_aws() {
local spaces=" "
if [[ -n "$AWS_PROFILE" ]]; then
prompt_segment $BULLETTRAIN_AWS_BG $BULLETTRAIN_AWS_FG $BULLETTRAIN_AWS_PREFIX$spaces$AWS_PROFILE
fi
}
# SCREEN Session
prompt_screen() {
local session_name="$STY"
if [[ "$session_name" != "" ]]; then
prompt_segment $BULLETTRAIN_SCREEN_BG $BULLETTRAIN_SCREEN_FG $BULLETTRAIN_SCREEN_PREFIX" $session_name"
fi
}
prompt_time() {
if [[ $BULLETTRAIN_TIME_12HR == true ]]; then
prompt_segment $BULLETTRAIN_TIME_BG $BULLETTRAIN_TIME_FG %D{%r}
else
prompt_segment $BULLETTRAIN_TIME_BG $BULLETTRAIN_TIME_FG %D{%T}
fi
}
# Status:
# - was there an error
# - am I root
# - are there background jobs?
prompt_status() {
local symbols
symbols=()
[[ $RETVAL -ne 0 && $BULLETTRAIN_STATUS_EXIT_SHOW != true ]] && symbols+="✘"
[[ $RETVAL -ne 0 && $BULLETTRAIN_STATUS_EXIT_SHOW == true ]] && symbols+="✘ $RETVAL"
[[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡%f"
[[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="⚙"
if [[ -n "$symbols" && $RETVAL -ne 0 ]]; then
prompt_segment $BULLETTRAIN_STATUS_ERROR_BG $BULLETTRAIN_STATUS_FG "$symbols"
elif [[ -n "$symbols" ]]; then
prompt_segment $BULLETTRAIN_STATUS_BG $BULLETTRAIN_STATUS_FG "$symbols"
fi
}
# Prompt Character
prompt_chars() {
local bt_prompt_chars="${BULLETTRAIN_PROMPT_CHAR}"
if [[ $BULLETTRAIN_PROMPT_ROOT == true ]]; then
bt_prompt_chars="%(!.%F{red}# .%F{green}${bt_prompt_chars}%f)"
fi
if [[ $BULLETTRAIN_PROMPT_SEPARATE_LINE == false ]]; then
bt_prompt_chars="${bt_prompt_chars}"
fi
echo -n "$bt_prompt_chars"
if [[ -n $BULLETTRAIN_PROMPT_CHAR ]]; then
echo -n " "
fi
}
# Prompt Line Separator
prompt_line_sep() {
if [[ $BULLETTRAIN_PROMPT_SEPARATE_LINE == true ]]; then
# newline wont print without a non newline character, so add a zero-width space
echo -e '\n%{\u200B%}'
fi
}
# ------------------------------------------------------------------------------
# MAIN
# Entry point
# ------------------------------------------------------------------------------
build_prompt() {
RETVAL=$?
for segment in $BULLETTRAIN_PROMPT_ORDER
do
prompt_$segment
done
prompt_end
}
NEWLINE='
'
PROMPT=''
[[ $BULLETTRAIN_PROMPT_ADD_NEWLINE == true ]] && PROMPT="$PROMPT$NEWLINE"
PROMPT="$PROMPT"'%{%f%b%k%}$(build_prompt)'
[[ $BULLETTRAIN_PROMPT_SEPARATE_LINE == true ]] && PROMPT="$PROMPT$NEWLINE"
PROMPT="$PROMPT"'%{${fg_bold[default]}%}'
[[ $BULLETTRAIN_PROMPT_SEPARATE_LINE == false ]] && PROMPT="$PROMPT "
PROMPT="$PROMPT"'$(prompt_chars)%{$reset_color%}'

View File

@@ -0,0 +1,38 @@
# Refer https://misc.flogisoft.com/bash/tip_colors_and_formatting for the ANSI/VT100 control sequences
local user_color=026
local dir_color=130
local git_branch_color=010
local input_color=220
# Uncomment the following line to hide the virtual environment name.
# export VIRTUAL_ENV_DISABLE_PROMPT=1
# User details in green, bold
local user='%B$FG[${user_color}]%}%n@%m%{$reset_color%}'
# Directory details in cyan, bold
local dir='%B$FG[${dir_color}]%~%{$reset_color%}'
# git branch details in green
local git_branch='$FG[${git_branch_color}]$(git_prompt_info)%{$reset_color%}'
# Error message on command returning non-zero exit code
error_msg="\e[0;31mCommand failed"
PROMPT="${user}:${dir}:${git_branch}
$ $FG[${input_color}]"
# Resetting color to default white.
preexec()
{
echo -ne "\e[0m"
}
# Printing error message if command failed.
precmd()
{
# Command failed
if [ $? -ne 0 ];
then
echo "${error_msg}"
fi
}

View File

@@ -0,0 +1,418 @@
##########################################
### Comfyline - theme for zsh ###
# Original Author: not pua ( imnotpua ) #
# email: atp@tutamail.com #
##########################################
# make prompt work without oh-my-zsh
setopt PROMPT_SUBST
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
# default segment seperators
if [[ $COMFYLINE_SEGSEP == "" ]]; then
COMFYLINE_SEGSEP='\ue0b4'
fi
if [[ $COMFYLINE_SEGSEP_REVERSE == "" ]]; then
COMFYLINE_SEGSEP_REVERSE='\ue0b6'
fi
# date and time formats
if [[ $COMFYLINE_DATE_FORMAT == "" ]]; then
COMFYLINE_DATE_FORMAT="%A, %e %B %Y"
fi
if [[ $COMFYLINE_TIME_FORMAT == "" ]]; then
COMFYLINE_TIME_FORMAT="%l:%M %p"
fi
# default light theme
if [[ $RETVAL_RANK == "" ]]; then
RETVAL_RANK=1
fi
if [[ $HOST_RANK == "" ]]; then
HOST_RANK=2
fi
if [[ $USER_RANK == "" ]] then
USER_RANK=3
fi
if [[ $DIR_RANK == "" ]]; then
DIR_RANK=4
fi
if [[ $GIT_RANK == "" ]] then
GIT_RANK=5
fi
if [[ $VENV_RANK = "" ]]; then
VENV_RANK=6
fi
if [[ $BAT_RANK == "" ]] then
BAT_RANK=-3
fi
if [[ $DATE_RANK == "" ]]; then
DATE_RANK=-2
fi
if [[ $TIME_RANK == "" ]]; then
TIME_RANK=-1
fi
# default colors
if [[ $RETVAL_b == "" ]]; then
RETVAL_b="#8a8bd8"
fi
if [[ $RETVAL_f == "" ]]; then
RETVAL_f="#61355c"
fi
if [[ $HOST_b == "" ]]; then
HOST_b="#b3b5fb"
fi
if [[ $HOST_f == "" ]]; then
HOST_f="#4a4b87"
fi
if [[ $USER_b == "" ]]; then
USER_b="#f8bbe5"
fi
if [[ $USER_f == "" ]]; then
USER_f="#874c80"
fi
if [[ $GIT_b == "" ]]; then
GIT_b="#f6b3b3"
fi
if [[ $GIT_f == "" ]]; then
GIT_f="#d95353"
fi
if [[ $GIT_CLEAN_b == "" ]]; then
GIT_CLEAN_b="#b3f58c"
fi
if [[ $GIT_CLEAN_f == "" ]]; then
GIT_CLEAN_f="#568459"
fi
if [[ $DIR_b == "" ]]; then
DIR_b="#e1bff2"
fi
if [[ $DIR_f == "" ]]; then
DIR_f="#844189"
fi
if [[ $VENV_b == "" ]]; then
VENV_b="#a8ddf9"
fi
if [[ $VENV_f == "" ]]; then
VENV_f="#0066a4"
fi
if [[ $BAT_b == "" ]]; then
BAT_b="#b3b5fb"
fi
if [[ $BAT_f == "" ]]; then
BAT_f="#4a4b87"
fi
if [[ $DATE_b == "" ]]; then
DATE_b="#f8bbe5"
fi
if [[ $DATE_f == "" ]]; then
DATE_f="#874c80"
fi
if [[ $TIME_b == "" ]]; then
TIME_b="#e1bff2"
fi
if [[ $TIME_f == "" ]]; then
TIME_f="#844189"
fi
# basic functions
#function takes 4 arguments, background, foreground, text and rank (for edge cases)
function create_segment(){
if [[ $4 -lt $RIGHTMOST_RANK ]]; then
local segment="%F{$1}$COMFYLINE_SEGSEP_REVERSE"
echo -n "$segment%K{$1}%F{$2} $3 "
elif [[ $4 -gt $LEFTMOST_RANK ]]; then
local segment="%K{$1}$COMFYLINE_SEGSEP "
echo -n "$segment%F{$2}$3%F{$1} "
elif [[ $4 -eq $RIGHTMOST_RANK ]]; then
if [[ $COMFYLINE_NO_START -eq 1 ]]; then
local segment="%F{$1}$COMFYLINE_SEGSEP_REVERSE"
echo -n "$segment%K{$1}%F{$2} $3"
else
local segment="%F{$1}$COMFYLINE_SEGSEP_REVERSE"
echo -n "$segment%K{$1}%F{$2} $3 %k%F{$1}$COMFYLINE_SEGSEP"
fi
elif [[ $4 -eq $LEFTMOST_RANK ]]; then
if [[ $COMFYLINE_NO_START -eq 1 ]]; then
local segment="%K{$1} "
echo -n "$segment%F{$2}$3%F{$1} "
else
local segment="%F{$1}$COMFYLINE_SEGSEP_REVERSE%K{$1} "
echo -n "$segment%F{$2}$3%F{$1} "
fi
fi
}
### explanation: creates segment seperator with new bg but fg as old bg.
### then prints contents in new fg and prepares for next fg as current bg
# segment functions
function retval(){
if [[ $COMFYLINE_RETVAL_NUMBER -eq 2 ]]; then
symbol="%(?..✘ %?)"
elif [[ $COMFYLINE_RETVAL_NUMBER -eq 1 ]]; then
symbol="%?"
else
symbol="%(?..✘)"
fi
create_segment $RETVAL_b $RETVAL_f $symbol $RETVAL_RANK
}
function hostname(){
if [[ $COMFYLINE_FULL_HOSTNAME -eq 1 ]]; then
create_segment $HOST_b $HOST_f "%M" $HOST_RANK
else
create_segment $HOST_b $HOST_f "%m" $HOST_RANK
fi
}
function username(){
create_segment $USER_b $USER_f "%n" $USER_RANK
}
function dir(){
if [[ $COMFYLINE_FULL_DIR -eq 1 ]]; then
symbol="%d"
else
symbol="%~"
fi
create_segment $DIR_b $DIR_f $symbol $DIR_RANK
}
# variables to set git_prompt info and status
ZSH_THEME_GIT_PROMPT_PREFIX=" \ue0a0 "
ZSH_THEME_GIT_PROMPT_SUFFIX=""
ZSH_THEME_GIT_PROMPT_DIRTY=""
ZSH_THEME_GIT_PROMPT_CLEAN=""
ZSH_THEME_GIT_PROMPT_ADDED=" ✚"
ZSH_THEME_GIT_PROMPT_MODIFIED=" ±"
ZSH_THEME_GIT_PROMPT_DELETED=" \u2796"
ZSH_THEME_GIT_PROMPT_UNTRACKED=" !"
ZSH_THEME_GIT_PROMPT_RENAMED=" \u21b7"
ZSH_THEME_GIT_PROMPT_UNMERGED=" \u21e1"
ZSH_THEME_GIT_PROMPT_AHEAD=" \u21c5"
ZSH_THEME_GIT_PROMPT_BEHIND=" \u21b1"
ZSH_THEME_GIT_PROMPT_DIVERGED=" \u21b0"
function gitrepo(){
if [ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ]; then
if [[ $(git status --porcelain) == "" ]]; then
if [[ $(command -v git_prompt_info 2> /dev/null) ]]; then
create_segment $GIT_CLEAN_b $GIT_CLEAN_f "$(git_prompt_info)$(git_prompt_status)" $GIT_RANK
else
create_segment $GIT_CLEAN_b $GIT_CLEAN_f "$ZSH_THEME_GIT_PROMPT_PREFIX$(git rev-parse --abbrev-ref HEAD)" $GIT_RANK
fi
else
if [[ $(command -v git_prompt_info 2> /dev/null) ]]; then
create_segment $GIT_b $GIT_f "$(git_prompt_info)$(git_prompt_status)" $GIT_RANK
else
create_segment $GIT_b $GIT_f "$ZSH_THEME_GIT_PROMPT_PREFIX$(git rev-parse --abbrev-ref HEAD)" $GIT_RANK
fi
fi
fi
}
function venv(){
if [ -n "$VIRTUAL_ENV" ]; then
create_segment $VENV_b $VENV_f ${VIRTUAL_ENV:t:gs/%/%%} $VENV_RANK
fi
}
# battery function
# variables
if [[ $COMFYLINE_BATTERY_LOW == "" ]]; then
COMFYLINE_BATTERY_LOW=15
fi
if [[ $COMFYLINE_BATTERY_HIGH == "" ]]; then
COMFYLINE_BATTERY_HIGH=90
fi
if [[ $COMFYLINE_CHARGING_ICON == "" ]]; then
COMFYLINE_CHARGING_ICON="⚡️"
fi
if [[ $COMFYLINE_HIGHCHARGE_ICON == "" ]]; then
COMFYLINE_HIGHCHARGE_ICON="󰁹"
fi
if [[ $COMFYLINE_MIDCHARGE_ICON == "" ]]; then
COMFYLINE_MIDCHARGE_ICON="󰁽"
fi
if [[ $COMFYLINE_LOWCHARGE_ICON == "" ]]; then
COMFYLINE_LOWCHARGE_ICON="󰂃"
fi
function calcbat(){
BAT=""
if [[ $(uname) == "Linux" ]]; then
number=$(ls /sys/class/power_supply/ | grep 'BAT' | wc -l )
if [[ $number -eq 0 ]]; then
return 0
fi
for ((i=0;i<$number;i++));do
capacity=$(cat /sys/class/power_supply/BAT${i}/capacity)
stats=$(cat /sys/class/power_supply/BAT${i}/status)
if [[ $stats == "Charging" ]]; then
stats="$COMFYLINE_CHARGING_ICON"
elif [[ $stats == "Discharging" ]]; then
if [ $capacity -gt $COMFYLINE_BATTERY_HIGH ]; then
stats="$COMFYLINE_HIGHCHARGE_ICON"
elif [ $capacity -lt $COMFYLINE_BATTERY_LOW ]; then
stats="$COMFYLINE_LOWCHARGE_ICON"
else
stats="$COMFYLINE_MIDCHARGE_ICON"
fi
elif [[ $stats == "Not charging" ]]; then
stats="$COMFYLINE_HIGHCHARGE_ICON"
fi
BAT="$BAT$capacity%% $stats "
done
elif [[ $(uname) == "Darwin" ]]; then
battery_details = $(pmset -g batt)
charged=$(echo "$battery_details" | grep -w 'charged')
charging=$(echo "$battery_details" | grep -w 'AC Power')
discharging=$(echo "$battery_details" | grep -w 'Battery Power')
capacity=$(echo "$battery_details" | grep -o "([0-9]*)"%)
if [ -n "$charging" ]; then
stats="$COMFYLINE_CHARGING_ICON"
elif [[ -n "$discharging" ]]; then
if [ $capacity -gt $COMFYLINE_BATTERY_HIGH ]; then
stats="$COMFYLINE_HIGHCHARGE_ICON"
elif [ $capacity -lt $COMFYLINE_BATTERY_LOW ]; then
stats="$COMFYLINE_LOWCHARGE_ICON"
else
stats="$COMFYLINE_MIDCHARGE_ICON"
fi
fi
BAT="$capacity%% $stats"
elif [[ $(uname) == "FreeBSD" || $(uname) == "OpenBSD" ]]; then
capacity=$(apm -l)
stats=$(apm -b)
if [ $stats -eq 3 ]; then
stats="$COMFYLINE_CHARGING_ICON"
else
if [[ $capacity -gt $COMFYLINE_BATTERY_HIGH ]]; then
stats="$COMFYLINE_HIGHCHARGE_ICON"
elif [[ $capacity -lt $COMFYLINE_BATTERY_LOW ]]; then
stats="$COMFYLINE_LOWCHARGE_ICON"
else
stats="$COMFYLINE_MIDCHARGE_ICON"
fi
fi
BAT="$capacity%% $stats"
fi
}
# function to call battery calculation
function currbat(){
if [[ $COMFYLINE_BATTERY_PLUGIN -eq 1 ]]; then
create_segment $BAT_b $BAT_f "$(battery_pct_prompt)" $BAT_RANK
else
calcbat
create_segment $BAT_b $BAT_f "$BAT" $BAT_RANK
fi
}
function currdate(){
info="%D{$COMFYLINE_DATE_FORMAT}"
create_segment $DATE_b $DATE_f $info $DATE_RANK
}
function currtime(){
info="%D{$COMFYLINE_TIME_FORMAT}"
create_segment $TIME_b $TIME_f $info $TIME_RANK
}
function endleft(){
echo -n "%k$COMFYLINE_SEGSEP%f"
}
# parse variables
segments=("retval" "hostname" "username" "dir" "gitrepo" "venv" "currbat" "currtime" "currdate")
segment_ranks=($RETVAL_RANK $HOST_RANK $USER_RANK $DIR_RANK $GIT_RANK $VENV_RANK $BAT_RANK $TIME_RANK $DATE_RANK)
# split into left and right
left_prompt=()
right_prompt=()
left_ranks=()
right_ranks=()
for ((i=1;i<=${#segments[@]};i++)); do
if [[ segment_ranks[$i] -gt 0 ]]; then
left_prompt+=(${segments[$i]})
left_ranks+=(${segment_ranks[$i]})
elif [[ segment_ranks[$i] -lt 0 ]]; then
right_prompt+=(${segments[$i]})
right_ranks+=(${segment_ranks[$i]#-})
fi
done
# sort the prompts according to ranks and find the leftmost and rightmost
# I use the traditional iterative method to find max/min and using count-sort for sorting
LEFTMOST_RANK=100
declare -A sorted_left
for ((i=1;i<=${#left_prompt[@]};i++)); do
if [[ $left_ranks[$i] -lt $LEFTMOST_RANK ]]; then LEFTMOST_RANK=$left_ranks[$i] fi
sorted_left[$left_ranks[$i]]="$left_prompt[$i]"
done
RIGHTMOST_RANK=100
declare -A sorted_right
for ((i=1;i<=${#right_prompt[@]};i++)); do
if [[ $right_ranks[$i] -lt $RIGHTMOST_RANK ]]; then RIGHTMOST_RANK=$right_ranks[$i] fi
sorted_right[$right_ranks[$i]]="$right_prompt[$i]"
done
((RIGHTMOST_RANK*=-1))
# finally make_prompt which makes prompts
make_left_prompt(){
for ((j = 1; j <= ${#left_prompt[@]}; j++)); do
type $sorted_left[$j] &>/dev/null && $sorted_left[$j]
done
}
make_right_prompt(){
for ((j = ${#right_prompt[@]}; j>0; j--)); do
type $sorted_right[$j] &>/dev/null && $sorted_right[$j]
done
}
export PROMPT='%{%f%b%k%}$(make_left_prompt)$(endleft) '
export RPROMPT=' %{%f%b%k%}$(make_right_prompt)' # spaces left so that hiding is triggered
if [[ $COMFYLINE_NEXT_LINE_CHAR == "" ]]; then
COMFYLINE_NEXT_LINE_CHAR='➟'
fi
if [[ $COMFYLINE_NEXT_LINE_CHAR_COLOR == "" ]]; then
COMFYLINE_NEXT_LINE_CHAR_COLOR="grey"
fi
next_line_maker(){
echo -n "%F{$COMFYLINE_NEXT_LINE_CHAR_COLOR}$COMFYLINE_NEXT_LINE_CHAR %f"
}
# setting up typing area
if [[ COMFYLINE_START_NEXT_LINE -eq 2 ]]; then
PROMPT=$PROMPT'
'$(next_line_maker)
elif [[ COMFYLINE_NO_GAP_LINE -eq 1 ]]; then
else
PROMPT='
'$PROMPT
fi

View File

@@ -0,0 +1,7 @@
PROMPT=" %(?:%{$fg_bold[green]%}➜:%{$fg_bold[red]%}➜)"
PROMPT+=' %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)'
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✏️ "
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}) ✅"

View File

@@ -0,0 +1,60 @@
local username="%n"
local path_prefix="%{$fg[yellow]%}["
local path_string="%{$fg[blue]%}%~"
local path_postfix="%{$fg[yellow]%}]"
local prompt_string=" "
local local_time="%T"
local newline=$'\n'
local line_mode=$'\n'
# customize user settings
# prompt symbol
if [ ! -z "$FISHBONEPP_PROMPT" ]; then
prompt_string="$FISHBONEPP_PROMPT"
fi
# username
if [ ! -z "$FISHBONEPP_USER" ]; then
username="$FISHBONEPP_USER"
fi
# time mode
if [ "$FISHBONEPP_TIME" = "12HR" ]; then
local_time="%t"
elif [ "$FISHBONEPP_TIME" = "FULL" ]; then
local_time="%*"
else
local_time="%T"
fi
# new line on start
if [ "$FISHBONEPP_NEWLINE" = false ]; then
newline=''
fi
# line mode
if [ "$FISHBONEPP_LINE_MODE" = "singleline" ]; then
line_mode=''
fi
local host_name="%{$fg[blue]%}${username}"
local time_string="%{$fg[blue]%}${local_time}"
# Make prompt_string red if the previous command failed.
local return_status="%(?:%{$fg[cyan]%}$prompt_string:%{$fg[red]%}$prompt_string%}"
# set the git_prompt_info text
ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[blue](%{$reset_color%}%{$fg[yellow]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%{$fg[blue])%}"
ZSH_THEME_GIT_PROMPT_DIRTY="⚡"
ZSH_THEME_GIT_PROMPT_CLEAN=""
PROMPT='${newline}\
${host_name}${hosr}%{$reset_color%}@${time_string} ${line_mode}\
${path_prefix}${path_string}${path_postfix}$(git_prompt_info)$(git_prompt_status) \
${return_status} %{$reset_color%}'
ZSH_THEME_GIT_PROMPT_ADDED=""
ZSH_THEME_GIT_PROMPT_MODIFIED="✒️ "
ZSH_THEME_GIT_PROMPT_DELETED=""
ZSH_THEME_GIT_PROMPT_RENAMED="⁉️ "
ZSH_THEME_GIT_PROMPT_UNMERGED="🥺"
ZSH_THEME_GIT_PROMPT_UNTRACKED="🚝"

BIN
assets/fastfetch/arch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

View File

@@ -0,0 +1,75 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"source": "~/.config/fastfetch/arch.png",
"type": "kitty-direct",
"height": 10,
"width": 20,
"padding": {
"top": 1
}
},
"display": {
"separator": " -> "
},
"modules": [
"break",
{
"type": "title",
"keyWidth": 10,
"format": " {6}{7}{8}"
},
{
"type": "custom",
"format": " ─────────────────────────── "
},
{
"type": "kernel",
"key": " ",
"keyColor": "yellow"
},
{
"type": "wm",
"key": " ",
"keyColor": "blue"
},
{
"type": "shell",
"key": " ",
"keyColor": "yellow"
},
{
"type": "terminal",
"key": " ",
"keyColor": "blue"
},
/*
{
"type": "packages",
"key": "󰏖 ",
"keyColor": "yellow"
},
*/
{
"type": "memory",
"key": "󰍛 ",
"keyColor": "magenta",
// format: used / total
"format": "{1} / {2}"
},
{
"type": "uptime",
"key": "󰔛 ",
"keyColor": "green"
},
{
"type": "custom",
"format": " ─────────────────────────── "
},
{
"type": "custom",
"format": " \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[90m "
},
"break",
]
}

View File

@@ -0,0 +1,73 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"height": 5,
"width": 10,
"padding": {
"top": 1
}
},
"display": {
"separator": " -> "
},
"modules": [
"break",
{
"type": "title",
"keyWidth": 10,
"format": " {6}{7}{8}"
},
{
"type": "custom",
"format": " ─────────────────────────── "
},
{
"type": "kernel",
"key": " ",
"keyColor": "yellow"
},
{
"type": "wm",
"key": " ",
"keyColor": "blue"
},
{
"type": "shell",
"key": " ",
"keyColor": "yellow"
},
{
"type": "terminal",
"key": " ",
"keyColor": "blue"
},
/*
{
"type": "packages",
"key": "󰏖 ",
"keyColor": "yellow"
},
*/
{
"type": "memory",
"key": "󰍛 ",
"keyColor": "magenta",
// format: used / total
"format": "{1} / {2}"
},
{
"type": "uptime",
"key": "󰔛 ",
"keyColor": "green"
},
{
"type": "custom",
"format": " ─────────────────────────── "
},
{
"type": "custom",
"format": " \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[90m "
},
"break",
]
}

View File

@@ -0,0 +1,112 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
//"source": "~/.config/fastfetch/nixos.png",
//"type": "kitty-direct",
"height": 15,
"width": 30,
"padding": {
"top": 1
}
},
"display": {
"separator": " ➜ "
},
"modules": [
"break",
{
"type": "os",
"key": " DISTRO",
"keyColor": "31",
},
{
"type": "kernel",
"key": " ├  ",
"keyColor": "31",
},
{
"type": "packages",
"key": " ├ 󰏖 ",
"keyColor": "31",
},
{
"type": "shell",
"key": " └  ",
"keyColor": "31",
},
"break",
{
"type": "wm",
"key": " DE/WM",
"keyColor": "32",
},
{
"type": "wmtheme",
"key": " ├ 󰉼 ",
"keyColor": "32",
},
{
"type": "icons",
"key": " ├ 󰀻 ",
"keyColor": "32",
},
{
"type": "cursor",
"key": " ├  ",
"keyColor": "32",
},
{
"type": "terminal",
"key": " ├  ",
"keyColor": "32",
},
{
"type": "terminalfont",
"key": " └  ",
"keyColor": "32",
},
"break",
{
"type": "host",
"format": "{2}",
"key": "󰌢 SYSTEM",
"keyColor": "33",
},
{
"type": "cpu",
"format": "{1} ({3}) @ {7} GHz",
"key": " ├  ",
"keyColor": "33",
},
{
"type": "gpu",
"format": "{2}",
"key": " ├ 󰢮 ",
"keyColor": "33",
},
{
"type": "memory",
"key": " ├  ",
"keyColor": "33",
},
{
"type": "swap",
"key": " ├ 󰓡 ",
"keyColor": "33",
},
{
"type": "disk",
"key": " ├ 󰋊 ",
"keyColor": "33",
},
{
"type": "display",
"key": " └  ",
"compactType": "original-with-refresh-rate",
"keyColor": "33",
},
"break",
"break",
]
}

View File

@@ -0,0 +1,128 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"padding": {
"top": 1
}
},
"display": {
"separator": " 󰑃 "
},
"modules": [
"break",
{
"type": "os",
"key": " DISTRO",
"keyColor": "yellow"
},
{
"type": "kernel",
"key": "│ ├",
"keyColor": "yellow"
},
{
"type": "packages",
"key": "│ ├󰏖",
"keyColor": "yellow"
},
{
"type": "shell",
"key": "│ └",
"keyColor": "yellow"
},
{
"type": "wm",
"key": " DE/WM",
"keyColor": "blue"
},
{
"type": "wmtheme",
"key": "│ ├󰉼",
"keyColor": "blue"
},
{
"type": "icons",
"key": "│ ├󰀻",
"keyColor": "blue"
},
{
"type": "cursor",
"key": "│ ├",
"keyColor": "blue",
},
{
"type": "terminalfont",
"key": "│ ├",
"keyColor": "blue",
},
{
"type": "terminal",
"key": "│ └",
"keyColor": "blue"
},
{
"type": "host",
"key": "󰌢 SYSTEM",
"keyColor": "green"
},
{
"type": "cpu",
"key": "│ ├󰻠",
"keyColor": "green"
},
{
"type": "gpu",
"key": "│ ├󰻑",
"format": "{2}",
"keyColor": "green"
},
{
"type": "display",
"key": "│ ├󰍹",
"keyColor": "green",
"compactType": "original-with-refresh-rate"
},
{
"type": "memory",
"key": "│ ├󰾆",
"keyColor": "green"
},
{
"type": "swap",
"key": "│ ├󰓡",
"keyColor": "green"
},
{
"type": "uptime",
"key": "│ ├󰅐",
"keyColor": "green"
},
{
"type": "display",
"key": "│ └󰍹",
"keyColor": "green"
},
{
"type": "sound",
"key": " AUDIO",
"format": "{2}",
"keyColor": "magenta"
},
{
"type": "player",
"key": "│ ├󰥠",
"keyColor": "magenta"
},
{
"type": "media",
"key": "│ └󰝚",
"keyColor": "magenta"
},
{
"type": "custom",
"format": "\u001b[90m \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[38m \u001b[39m \u001b[39m  \u001b[38m \u001b[37m \u001b[36m \u001b[35m \u001b[34m \u001b[33m \u001b[32m \u001b[31m \u001b[90m "
},
"break",
]
}

View File

@@ -0,0 +1,17 @@
[Settings]
gtk-theme-name=Andromeda-dark
gtk-icon-theme-name=Flat-Remix-Blue-Dark
gtk-font-name=Fira Code Semi-Bold 14
gtk-cursor-theme-name=Bibata-Modern-Ice
gtk-cursor-theme-size=24
gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintslight
gtk-xft-rgba=rgb
gtk-application-prefer-dark-theme=1

View File

@@ -0,0 +1,7 @@
Arch-Hyprland - Sharing a scripts to install hyprland git or non-git versions
Basically created this script so I can easily switch to git and non-git version of hyprland on Arch Linux
chmod +x actions.sh
./actions.sh

View File

@@ -0,0 +1,63 @@
#!/bin/bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
INFO="$(tput setaf 4)[INFO]$(tput sgr0)"
WARN="$(tput setaf 1)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
MAGENTA=$(tput setaf 5)
WARNING=$(tput setaf 1)
YELLOW=$(tput setaf 3)
BLUE=$(tput setaf 4)
RESET=$(tput sgr0)
# Make all scripts in the scripts directory executable
echo -e "${INFO} Making all files in the ${BLUE}scripts${RESET} directory executable..."
chmod +x ./scripts/*
printf "\n%.0s" {1..2}
while true; do
echo -e "${BLUE} Please choose an option:${RESET}"
echo -e "${YELLOW} -- 1 - Install non-git Hyprland version${RESET}"
echo -e "${YELLOW} -- 2 - Install git Hyprland version${RESET}"
echo -e "${YELLOW} -- 3 - Update Hyprland-git packages${RESET}"
echo -e "${MAGENTA} -- 4 - Quit${RESET}"
read -p "${CAT} Enter your choice [1, 2, or 3]: " choice
case $choice in
1)
printf "\n${OK} You chose ${BLUE}non-git version of Hyprland${RESET}....... executing...\n"
echo -e "${YELLOW} Uninstalling some hyprland packages first...${RESET}"
./scripts/uninstall.sh &&
./scripts/install-hyprland.sh
break
;;
2)
printf "\n${OK} You chose ${BLUE}git version of Hyprland${RESET}....... executing...\n"
echo -e "${YELLOW} Uninstalling some hyprland packages....${RESET}"
./scripts/uninstall.sh &&
./scripts/install-hyprland-git.sh
break
;;
3)
printf "\n${OK} You chose ${BLUE} to update Hyprland-git packages${RESET}....... executing...\n"
./scripts/install-hyprland-git.sh
break
;;
4)
echo -e "${MAGENTA} You have cancel it. Good Bye!!...${RESET}"
printf "\n%.0s" {1..2}
break
;;
*)
echo -e "\n${WARNING} There are only 4 Choices!!!! 1 2 3 or 4. Enter 1, 2, 3, or 4 only.${RESET}"
;;
esac
done

View File

@@ -0,0 +1,87 @@
#!/bin/bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
INFO="$(tput setaf 4)[INFO]$(tput sgr0)"
WARN="$(tput setaf 1)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
MAGENTA="$(tput setaf 5)"
ORANGE="$(tput setaf 214)"
WARNING="$(tput setaf 1)"
YELLOW="$(tput setaf 3)"
BLUE="$(tput setaf 4)"
RESET="$(tput sgr0)"
ISAUR=$(command -v yay || command -v paru)
printf "\n%.0s" {1..2}
# List of packages to install / update
packages=(
"hyprutils-git"
"hyprcursor-git"
"hyprwayland-scanner-git"
"aquamarine-git"
"hyprgraphics-git"
"hyprlang-git"
"hyprland-protocols-git"
"hyprland-qt-support-git"
"hyprland-qtutils-git"
"hyprland-git"
"hyprlock-git"
"hypridle-git"
"xdg-desktop-portal-hyprland-git"
"hyprpolkitagent-git"
"pyprland"
)
# rotating stars progress
show_progress() {
spin='-'
while ps | grep $1 &> /dev/null; do
echo -ne "\rInstalling ${ORANGE}$2${RESET} ... Kindly wait! $spin"
sleep 0.3
case $spin in
'-') spin='\';;
'\') spin='|';;
'|') spin='/';;
'/') spin='-';;
esac
done
echo -en "\rInstalling ${ORANGE}$2${RESET} ... Kindly wait! .... Done!"
}
# Clearing cache
echo -n "${CAT} Recommend (choose y to all) to clear ${MAGENTA}pacman and aur helper${RESET} cache ..."
printf "\n%.0s" {1..1}
sudo pacman -Scc &&
$ISAUR -Scc
printf "\n%.0s" {1..1}
printf "${NOTE} Installing ${BLUE}git hyprland version${RESET}....."
printf "\n%.0s" {1..1}
# Installing packages
for package in "${packages[@]}"; do
$ISAUR -S --noconfirm "$package" &>/dev/null &
pid=$!
show_progress $pid $package
wait $pid
if [ $? -eq 0 ]; then
echo -e "\n${OK} ${ORANGE}$package${RESET} successfully installed."
printf "\n%.0s" {1..1}
else
echo -e "\n${ERROR} Failed to install ${MAGENTA}$package${RESET}"
printf "\n%.0s" {1..1}
fi
done
printf "\n%.0s" {1..1}
printf "${OK} Done!! Now you NEED to ${YELLOW}EXIT${RESET} Hyprland and Re-Login! Enjoy!!!!"
printf "\n%.0s" {1..2}

View File

@@ -0,0 +1,81 @@
#!/bin/bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
INFO="$(tput setaf 4)[INFO]$(tput sgr0)"
WARN="$(tput setaf 1)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
MAGENTA="$(tput setaf 5)"
ORANGE="$(tput setaf 214)"
WARNING="$(tput setaf 1)"
YELLOW="$(tput setaf 3)"
BLUE="$(tput setaf 4)"
RESET="$(tput sgr0)"
ISAUR=$(command -v yay || command -v paru)
printf "\n%.0s" {1..2}
# List of packages to install / update
packages=(
"aquamarine"
"hyprutils"
"hyprcursor"
"hyprwayland-scanner"
"hyprgraphics"
"hyprlang"
"hyprland-protocols"
"hyprland-qt-support"
"hyprland-qtutils"
"hyprland"
"hyprlock"
"hypridle"
"xdg-desktop-portal-hyprland"
"hyprpolkitagent"
"pyprland"
)
# rotating stars progress
show_progress() {
spin='-'
while ps | grep $1 &> /dev/null; do
echo -ne "\rInstalling ${ORANGE}$2${RESET} ... Kindly wait! $spin"
sleep 0.3
case $spin in
'-') spin='\';;
'\') spin='|';;
'|') spin='/';;
'/') spin='-';;
esac
done
echo -en "\rInstalling ${ORANGE}$2${RESET} ... Kindly wait! .... Done!"
}
printf "\n%.0s" {1..1}
printf "${NOTE} Installing ${BLUE}non-git hyprland version${RESET}....."
printf "\n%.0s" {1..1}
# Installing packages
for package in "${packages[@]}"; do
$ISAUR -S --noconfirm "$package" &>/dev/null &
pid=$!
show_progress $pid $package
wait $pid
if [ $? -eq 0 ]; then
echo -e "\n${OK} ${ORANGE}$package${RESET} successfully installed."
printf "\n%.0s" {1..1}
else
echo -e "\n${ERROR} Failed to install ${MAGENTA}$package${RESET}"
printf "\n%.0s" {1..1}
fi
done
printf "\n%.0s" {1..1}
printf "${OK} Done!! Now you NEED to ${YELLOW}EXIT${RESET} Hyprland and Re-Login! Enjoy!!!!"
printf "\n%.0s" {1..2}

View File

@@ -0,0 +1,91 @@
#!/bin/bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
# uninstalling hyprland packages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
INFO="$(tput setaf 4)[INFO]$(tput sgr0)"
WARN="$(tput setaf 1)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
MAGENTA="$(tput setaf 5)"
WARNING="$(tput setaf 1)"
YELLOW="$(tput setaf 3)"
BLUE="$(tput setaf 4)"
RESET="$(tput sgr0)"
# List of packages to uninstall (including git versions)
packages=(
"aquamarine"
"aquamarine-git"
"hyprutils"
"hyprutils-git"
"hyprcursor"
"hyprcursor-git"
"hyprwayland-scanner"
"hyprwayland-scanner-git"
"hyprgraphics"
"hyprgraphics-git"
"hyprlang"
"hyprlang-git"
"hyprland-protocols"
"hyprland-protocols-git"
"hyprland-qt-support"
"hyprland-qt-support-git"
"hyprland-qtutils"
"hyprland-qtutils-git"
"hyprland"
"hyprland-git"
"hyprlock"
"hyprlock-git"
"hypridle"
"hypridle-git"
"xdg-desktop-portal-hyprland"
"xdg-desktop-portal-hyprland-git"
"hyprpolkitagent"
"hyprpolkitagent-git"
"pyprland"
)
# Function for uninstall packages
uninstall_package() {
local pkg="$1"
if pacman -Qi "$pkg" &>> /dev/null ; then
echo -e "${NOTE} Uninstalling $pkg ..."
sudo pacman -Rnsdd --noconfirm "$pkg" | grep -v "error: target not found"
if ! pacman -Qi "$pkg" &>> /dev/null ; then
echo -e "\e[1A\e[K${OK} $pkg was uninstalled."
else
echo -e "\e[1A\e[K${ERROR} $pkg failed to uninstall"
return 1
fi
else
echo -e "${NOTE} $pkg is not installed, skipping uninstallation."
fi
return 0
}
printf "\n%s - Removing Hyprland Packages including -git versions \n" "${NOTE}"
# Track failures but continue with next packages
overall_failed=0
for PKG in "${packages[@]}"; do
uninstall_package "$PKG"
if [ $? -ne 0 ]; then
overall_failed=1
fi
done
# Remove specific configuration file since on my experience, it conflicts.
# Dont worry, it will be reinstalled by either xdph non-git or git version
sudo rm -rf "/usr/share/xdg-desktop-portal/hyprland-portals.conf"
if [ $overall_failed -eq 0 ]; then
echo -e "${OK} All specified hyprland packages have been uninstalled."
fi
printf "\n%.0s" {1..2}

View File

@@ -1,5 +0,0 @@
[Desktop Entry]
Name=Hyprland
Comment=An intelligent dynamic tiling Wayland compositor
Exec=Hyprland
Type=Application

BIN
assets/sddm.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1007 KiB

View File

@@ -1,4 +1,4 @@
FileManager=Thunar FileManager=Thunar
TerminalEmulator=kitty TerminalEmulator=kitty
WebBrowser=firefox #WebBrowser=firefox
#MailReader=evolution #MailReader=evolution

View File

@@ -1,83 +0,0 @@
favorites=arcolinux-welcome-app.desktop,archlinux-tweak-tool.desktop,firefox.desktop,thunar.desktop,xfce4-terminal.desktop,conkyzen.desktop
recent=
button-title=ArcoLinux\ \
button-icon=start-here-arcolinux
button-single-row=false
show-button-title=true
show-button-icon=true
launcher-show-name=true
launcher-show-description=true
launcher-show-tooltip=true
launcher-icon-size=2
hover-switch-category=true
category-show-name=true
category-icon-size=2
sort-categories=true
view-mode=1
default-category=0
recent-items-max=10
favorites-in-recent=true
position-search-alternate=true
position-commands-alternate=true
position-categories-alternate=true
position-categories-horizontal=false
stay-on-focus-out=false
profile-shape=0
confirm-session-command=true
menu-width=410
menu-height=583
menu-opacity=80
command-settings=xfce4-settings-manager
show-command-settings=true
command-lockscreen=archlinux-logout
show-command-lockscreen=true
command-switchuser=xfce4-session-logout -u
show-command-switchuser=true
command-logoutuser=xfce4-session-logout --logout --fast
show-command-logoutuser=false
command-restart=xfce4-session-logout --reboot --fast
show-command-restart=false
command-shutdown=xfce4-session-logout --halt --fast
show-command-shutdown=false
command-suspend=xfce4-session-logout --suspend
show-command-suspend=false
command-hibernate=xfce4-session-logout --hibernate
show-command-hibernate=false
command-logout=xfce4-session-logout
show-command-logout=true
command-menueditor=menulibre
show-command-menueditor=true
command-profile=mugshot
show-command-profile=true
search-actions=5
[action0]
name=Man Pages
pattern=#
command=exo-open --launch TerminalEmulator man %s
regex=false
[action1]
name=Web Search
pattern=?
command=exo-open --launch WebBrowser https://google.com/?q=%u
regex=false
[action2]
name=Wikipedia
pattern=!w
command=exo-open --launch WebBrowser https://en.wikipedia.org/wiki/%u
regex=false
[action3]
name=Run in Terminal
pattern=!
command=exo-open --launch TerminalEmulator %s
regex=false
[action4]
name=Open URI
pattern=^(file|http|https):\\/\\/(.*)$
command=exo-open \\0
regex=true

View File

@@ -1,42 +0,0 @@
[Configuration]
MiscAlwaysShowTabs=FALSE
MiscBell=FALSE
MiscBellUrgent=FALSE
MiscBordersDefault=TRUE
MiscCursorBlinks=FALSE
MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
MiscDefaultGeometry=100x30
MiscInheritGeometry=FALSE
MiscMenubarDefault=FALSE
MiscMouseAutohide=FALSE
MiscMouseWheelZoom=TRUE
MiscToolbarDefault=FALSE
MiscConfirmClose=TRUE
MiscCycleTabs=TRUE
MiscTabCloseButtons=TRUE
MiscTabCloseMiddleClick=TRUE
MiscTabPosition=GTK_POS_TOP
MiscHighlightUrls=TRUE
MiscMiddleClickOpensUri=FALSE
MiscCopyOnSelect=FALSE
MiscDefaultWorkingDir=
MiscRewrapOnResize=TRUE
MiscUseShiftArrowsToScroll=FALSE
MiscSlimTabs=FALSE
ScrollingBar=TERMINAL_SCROLLBAR_NONE
ScrollingLines=10000
ScrollingUnlimited=TRUE
FontName=Monospace 10
BackgroundMode=TERMINAL_BACKGROUND_TRANSPARENT
BackgroundDarkness=0.600000
DropdownStatusIcon=FALSE
MiscShowRelaunchDialog=TRUE
MiscNewTabAdjacent=FALSE
MiscSearchDialogOpacity=100
MiscShowUnsafePasteDialog=TRUE
DropdownWidth=60
DropdownHeight=60
FontUseSystem=TRUE
ColorPalette=#3f3f3f;#cc0000;#4e9a06;#c4a000;#3465a4;#75507b;#06989a;#d3d7cf;#555753;#ef2929;#8ae234;#fce94f;#739fcf;#ad7fa8;#34e2e2;#eeeeec
DropdownAlwaysShowTabs=FALSE
ScrollingOnOutput=FALSE

View File

@@ -1,7 +0,0 @@
delay=1
region=1
action=1
show_mouse=0
title=ArcoLinux
timestamp=TRUE
app=nomacs

View File

@@ -1,27 +0,0 @@
[Settings]
ShowAllProcesses=TRUE
ShowLegend=TRUE
MorePrecision=FALSE
FullCommandLine=FALSE
ShowStatusIcon=FALSE
ShowMemoryInXBytes=FALSE
MonitorPaintBox=TRUE
ShowApplicationIcons=TRUE
ToolbarStyle=DEFAULT
PromptTerminateTask=TRUE
RefreshRate=750
ColumnsPositions=0;1;3;4;5;6;7;2;8;
ColumnUID=TRUE
ColumnPID=TRUE
ColumnPPID=FALSE
ColumnState=FALSE
ColumnVSZ=FALSE
ColumnRSS=TRUE
ColumnCPU=TRUE
ColumnPriority=FALSE
SortColumn=0
SortType=0
WindowWidth=644
WindowHeight=665
HandlePosition=164
ProcessTreeView=FALSE

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="keyboards" version="1.0">
<property name="Default" type="empty">
<property name="Numlock" type="bool" value="true"/>
<property name="RestoreNumlock" type="bool" value="true"/>
</property>
</channel>

View File

@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="pointers" version="1.0">
<property name="SynPS2_Synaptics_TouchPad" type="empty">
<property name="RightHanded" type="bool" value="true"/>
<property name="ReverseScrolling" type="bool" value="true"/>
<property name="Threshold" type="int" value="1"/>
<property name="Acceleration" type="double" value="5.000000"/>
<property name="Properties" type="empty">
<property name="libinput_Tapping_Enabled" type="int" value="1"/>
</property>
</property>
</channel>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="thunar-volman" version="1.0">
<property name="automount-drives" type="empty">
<property name="enabled" type="bool" value="false"/>
</property>
<property name="automount-media" type="empty">
<property name="enabled" type="bool" value="false"/>
</property>
<property name="autobrowse" type="empty">
<property name="enabled" type="bool" value="false"/>
</property>
<property name="autorun" type="empty">
<property name="enabled" type="bool" value="false"/>
</property>
<property name="autoopen" type="empty">
<property name="enabled" type="bool" value="false"/>
</property>
</channel>

View File

@@ -1,31 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="thunar" version="1.0">
<property name="last-view" type="string" value="ThunarIconView"/>
<property name="last-icon-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_100_PERCENT"/>
<property name="last-separator-position" type="int" value="296"/>
<property name="last-show-hidden" type="bool" value="true"/>
<property name="last-window-width" type="int" value="1111"/>
<property name="last-window-height" type="int" value="731"/>
<property name="last-window-maximized" type="bool" value="true"/>
<property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_38_PERCENT"/>
<property name="last-details-view-column-widths" type="string" value="50,124,189,50,695,1469,50,57,574,50,50,96,50,201"/>
<property name="misc-date-style" type="string" value="THUNAR_DATE_STYLE_ISO"/>
<property name="misc-single-click" type="bool" value="false"/>
<property name="misc-show-delete-action" type="bool" value="true"/>
<property name="misc-full-path-in-title" type="bool" value="true"/>
<property name="hidden-devices" type="array">
<value type="string" value="545d2f11-976c-4609-9377-36fc1d6208ab"/>
<value type="string" value="708c7c78-d39e-4e6e-b4a8-7ca3c051f59a"/>
<value type="string" value="24555645-eb69-4407-8111-3c7da3ae0253"/>
<value type="string" value="4dff6098-fe07-4d0f-953a-ab5438d15ac6"/>
<value type="string" value="510ab284-fa5a-4208-8e1b-42fcd768be40"/>
<value type="string" value="6fbf4688-143b-492d-a9a4-509c210e4abe"/>
<value type="string" value="0be19c88-28b5-4da4-acab-81d9d1c3575b"/>
<value type="string" value="38fe6924-231e-4c7e-b904-8e08d4891cf4"/>
<value type="string" value="aaeff56c-7363-477a-b5db-33766d06f9dc"/>
<value type="string" value="9cdb2a6b-f325-4b36-995c-ff89006a225b"/>
<value type="string" value="ace9b1f1-cdaf-4120-a020-5bc14cdb8cbd"/>
</property>
<property name="last-details-view-visible-columns" type="string" value="THUNAR_COLUMN_DATE_MODIFIED,THUNAR_COLUMN_NAME,THUNAR_COLUMN_SIZE,THUNAR_COLUMN_TYPE"/>
</channel>

View File

@@ -1,48 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-appfinder" version="1.0">
<property name="last" type="empty">
<property name="window-height" type="int" value="600"/>
<property name="window-width" type="int" value="580"/>
<property name="pane-position" type="int" value="180"/>
</property>
<property name="actions" type="array">
<value type="int" value="5"/>
<value type="int" value="4"/>
<value type="int" value="3"/>
<value type="int" value="2"/>
<value type="int" value="1"/>
<property name="action-5" type="empty">
<property name="type" type="int" value="0"/>
<property name="pattern" type="string" value="/"/>
<property name="command" type="string" value="exo-open --launch FileManager %S"/>
<property name="save" type="bool" value="false"/>
</property>
<property name="action-4" type="empty">
<property name="type" type="int" value="0"/>
<property name="pattern" type="string" value="#"/>
<property name="command" type="string" value="exo-open --launch TerminalEmulator man %s"/>
<property name="save" type="bool" value="false"/>
</property>
<property name="action-3" type="empty">
<property name="type" type="int" value="0"/>
<property name="pattern" type="string" value="!w"/>
<property name="command" type="string" value="exo-open --launch WebBrowser http://en.wikipedia.org/wiki/%s"/>
<property name="save" type="bool" value="false"/>
</property>
<property name="action-2" type="empty">
<property name="type" type="int" value="0"/>
<property name="pattern" type="string" value="$"/>
<property name="command" type="string" value="exo-open --launch TerminalEmulator %s"/>
<property name="save" type="bool" value="true"/>
</property>
<property name="action-1" type="empty">
<property name="type" type="int" value="1"/>
<property name="pattern" type="string" value="^(file|http|https):\/\/(.*)$"/>
<property name="command" type="string" value="exo-open \0"/>
<property name="save" type="bool" value="false"/>
</property>
</property>
<property name="always-center" type="bool" value="true"/>
<property name="sort-by-frecency" type="bool" value="true"/>
</channel>

View File

@@ -1,685 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-desktop" version="1.0">
<property name="backdrop" type="empty">
<property name="screen0" type="empty">
<property name="monitor0" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace6" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
<property name="monitor1" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace6" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
<property name="monitorVGA-1" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace6" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
<property name="monitorHDMI1" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace6" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
<property name="monitorHDMI2" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace6" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
<property name="monitorLVDS1" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace6" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
<property name="monitorDVI-I-1" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace6" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
<property name="monitorDVI-D-1" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace6" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
<property name="monitorDVI-D-0" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace6" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
<property name="monitorHDMI-0" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace6" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
<property name="monitorHDMI-1" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace6" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
<property name="monitorHDMI-2" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace6" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
<property name="monitorVirtual1" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace6" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
<property name="monitorVirtual2" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace6" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
<property name="monitorVirtual-1" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace6" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
<property name="monitorVirtual-2" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace6" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
<property name="monitorDP-1" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
<property name="monitorLVDS-1" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace2" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace3" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace4" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
<property name="workspace5" type="empty">
<property name="color-style" type="int" value="0"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/arcolinux/arco-wallpaper.jpg"/>
</property>
</property>
</property>
</property>
<property name="last" type="empty">
<property name="window-width" type="int" value="709"/>
<property name="window-height" type="int" value="601"/>
</property>
<property name="desktop-icons" type="empty">
<property name="file-icons" type="empty">
<property name="show-home" type="bool" value="false"/>
<property name="show-filesystem" type="bool" value="false"/>
<property name="show-trash" type="bool" value="false"/>
<property name="show-removable" type="bool" value="false"/>
</property>
</property>
<property name="desktop-menu" type="empty">
<property name="show" type="bool" value="true"/>
<property name="show-icons" type="bool" value="true"/>
</property>
<property name="windowlist-menu" type="empty">
<property name="show-icons" type="bool" value="true"/>
<property name="show-workspace-names" type="bool" value="true"/>
<property name="show-submenus" type="bool" value="false"/>
</property>
</channel>

View File

@@ -1,245 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-keyboard-shortcuts" version="1.0">
<property name="commands" type="empty">
<property name="default" type="empty">
<property name="&lt;Alt&gt;F1" type="empty"/>
<property name="&lt;Alt&gt;F2" type="empty">
<property name="startup-notify" type="empty"/>
</property>
<property name="&lt;Alt&gt;F3" type="empty">
<property name="startup-notify" type="empty"/>
</property>
<property name="&lt;Primary&gt;&lt;Alt&gt;Delete" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;l" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;t" type="empty"/>
<property name="XF86Display" type="empty"/>
<property name="&lt;Super&gt;p" type="empty"/>
<property name="&lt;Primary&gt;Escape" type="empty"/>
<property name="XF86WWW" type="empty"/>
<property name="HomePage" type="empty"/>
<property name="XF86Mail" type="empty"/>
<property name="Print" type="empty"/>
<property name="&lt;Alt&gt;Print" type="empty"/>
<property name="&lt;Shift&gt;Print" type="empty"/>
<property name="&lt;Super&gt;e" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;f" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Escape" type="empty"/>
<property name="&lt;Primary&gt;&lt;Shift&gt;Escape" type="empty"/>
<property name="&lt;Super&gt;r" type="empty">
<property name="startup-notify" type="empty"/>
</property>
</property>
<property name="custom" type="empty">
<property name="&lt;Alt&gt;F2" type="string" value="xfce4-appfinder --collapsed">
<property name="startup-notify" type="bool" value="true"/>
</property>
<property name="&lt;Super&gt;r" type="string" value="rofi-theme-selector">
<property name="startup-notify" type="bool" value="true"/>
</property>
<property name="&lt;Alt&gt;F3" type="string" value="xfce4-appfinder">
<property name="startup-notify" type="bool" value="true"/>
</property>
<property name="XF86WWW" type="string" value="exo-open --launch WebBrowser"/>
<property name="&lt;Super&gt;w" type="string" value="exo-open --launch WebBrowser"/>
<property name="XF86Mail" type="string" value="exo-open --launch MailReader"/>
<property name="HomePage" type="string" value="exo-open --launch WebBrowser"/>
<property name="&lt;Super&gt;f" type="string" value="exo-open --launch FileManager"/>
<property name="&lt;Primary&gt;Escape" type="string" value="xfdesktop --menu"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Delete" type="string" value="xfce4-session-logout"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;f" type="string" value="firefox"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;l" type="string" value="archlinux-logout"/>
<property name="&lt;Alt&gt;F1" type="string" value="xfce4-popup-whiskermenu"/>
<property name="&lt;Super&gt;p" type="string" value="xfce4-display-settings --minimal"/>
<property name="&lt;Primary&gt;&lt;Shift&gt;Escape" type="string" value="xfce4-taskmanager"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Escape" type="string" value="xkill"/>
<property name="XF86Display" type="string" value="xfce4-display-settings --minimal"/>
<property name="override" type="bool" value="true"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;w" type="string" value="arcolinux-welcome-app"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;m" type="string" value="xfce4-settings-manager"/>
<property name="&lt;Primary&gt;&lt;Shift&gt;Print" type="string" value="xfce4-screenshooter -r"/>
<property name="Print" type="string" value="xfce4-screenshooter -f"/>
<property name="&lt;Primary&gt;Print" type="string" value="xfce4-screenshooter"/>
<property name="&lt;Shift&gt;&lt;Super&gt;d" type="string" value="dmenu_run -i -nb &apos;#191919&apos; -nf &apos;#fea63c&apos; -sb &apos;#fea63c&apos; -sf &apos;#191919&apos; -fn &apos;NotoMonoRegular:bold:pixelsize=14&apos;"/>
<property name="&lt;Super&gt;t" type="string" value="urxvt"/>
<property name="&lt;Super&gt;m" type="string" value="pragha"/>
<property name="&lt;Super&gt;h" type="string" value="urxvt -T &apos;htop task manager&apos; -e htop"/>
<property name="&lt;Super&gt;v" type="string" value="pavucontrol"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;u" type="string" value="pavucontrol"/>
<property name="&lt;Super&gt;Escape" type="string" value="xkill"/>
<property name="&lt;Super&gt;Return" type="string" value="alacritty"/>
<property name="&lt;Shift&gt;&lt;Super&gt;Return" type="string" value="thunar"/>
<property name="&lt;Super&gt;F1" type="string" value="exo-open --launch webbrowser"/>
<property name="&lt;Super&gt;F2" type="string" value="atom"/>
<property name="&lt;Super&gt;F3" type="string" value="inkscape"/>
<property name="&lt;Super&gt;F4" type="string" value="gimp"/>
<property name="&lt;Super&gt;F5" type="string" value="meld"/>
<property name="&lt;Super&gt;F6" type="string" value="vlc"/>
<property name="&lt;Super&gt;F7" type="string" value="virtualbox"/>
<property name="&lt;Super&gt;F8" type="string" value="thunar"/>
<property name="&lt;Super&gt;F9" type="string" value="evolution"/>
<property name="&lt;Super&gt;F10" type="string" value="spotify"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;a" type="string" value="xfce4-appfinder"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;v" type="string" value="vivaldi-stable"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;b" type="string" value="thunar"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;s" type="string" value="spotify"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;c" type="string" value="catfish"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;g" type="string" value="chromium"/>
<property name="&lt;Super&gt;x" type="string" value="archlinux-logout"/>
<property name="XF86AudioPlay" type="string" value="playerctl play-pause"/>
<property name="XF86AudioStop" type="string" value="playerctl pause"/>
<property name="XF86AudioPrev" type="string" value="playerctl previous"/>
<property name="XF86AudioNext" type="string" value="playerctl next"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Return" type="string" value="alacritty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;r" type="string" value="rofi-theme-selector"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;p" type="string" value="pamac-manager"/>
<property name="&lt;Super&gt;c" type="string" value="conky-toggle"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Page_Up" type="string" value="conky-rotate -n"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Page_Down" type="string" value="conky-rotate -p"/>
<property name="F12" type="string" value="xfce4-terminal --drop-down"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;k" type="string" value="archlinux-logout"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;e" type="string" value="archlinux-tweak-tool"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;n" type="string" value="xfce4-settings-manager"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;comma" type="string" value="xfce4-settings-manager"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;z" type="string" value="arcolinux-welcome-app"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_Enter" type="string" value="alacritty"/>
<property name="&lt;Alt&gt;n" type="string" value="variety -n"/>
<property name="&lt;Alt&gt;p" type="string" value="variety -p"/>
<property name="&lt;Alt&gt;t" type="string" value="variety -t"/>
<property name="&lt;Alt&gt;f" type="string" value="variety -f"/>
<property name="&lt;Alt&gt;Right" type="string" value="variety -n"/>
<property name="&lt;Alt&gt;Left" type="string" value="variety -p"/>
<property name="&lt;Alt&gt;Up" type="string" value="variety --toggle-pause"/>
<property name="&lt;Alt&gt;Down" type="string" value="variety --resume"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;t" type="string" value="alacritty"/>
<property name="&lt;Super&gt;space" type="string" value="dmenu_run -i -nb &apos;#191919&apos; -nf &apos;#fea63c&apos; -sb &apos;#fea63c&apos; -sf &apos;#191919&apos; -fn &apos;NotoMonoRegular:bold:pixelsize=14&apos;"/>
<property name="&lt;Super&gt;F12" type="string" value="rofi -show drun"/>
<property name="&lt;Super&gt;F11" type="string" value="rofi -show drun -theme-str &apos;window {width: 100%;height: 100%;}&apos;"/>
<property name="&lt;Primary&gt;&lt;Super&gt;Print" type="string" value="flameshot gui"/>
</property>
</property>
<property name="xfwm4" type="empty">
<property name="default" type="empty">
<property name="&lt;Alt&gt;Insert" type="empty"/>
<property name="Escape" type="empty"/>
<property name="Left" type="empty"/>
<property name="Right" type="empty"/>
<property name="Up" type="empty"/>
<property name="Down" type="empty"/>
<property name="&lt;Alt&gt;Tab" type="empty"/>
<property name="&lt;Alt&gt;&lt;Shift&gt;Tab" type="empty"/>
<property name="&lt;Alt&gt;Delete" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Down" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Left" type="empty"/>
<property name="&lt;Shift&gt;&lt;Alt&gt;Page_Down" type="empty"/>
<property name="&lt;Alt&gt;F4" type="empty"/>
<property name="&lt;Alt&gt;F6" type="empty"/>
<property name="&lt;Alt&gt;F7" type="empty"/>
<property name="&lt;Alt&gt;F8" type="empty"/>
<property name="&lt;Alt&gt;F9" type="empty"/>
<property name="&lt;Alt&gt;F10" type="empty"/>
<property name="&lt;Alt&gt;F11" type="empty"/>
<property name="&lt;Alt&gt;F12" type="empty"/>
<property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Left" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;End" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Home" type="empty"/>
<property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Right" type="empty"/>
<property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Up" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_1" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_2" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_3" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_4" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_5" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_6" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_7" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_8" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_9" type="empty"/>
<property name="&lt;Alt&gt;space" type="empty"/>
<property name="&lt;Shift&gt;&lt;Alt&gt;Page_Up" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Right" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;d" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Up" type="empty"/>
<property name="&lt;Super&gt;Tab" type="empty"/>
<property name="&lt;Primary&gt;F1" type="empty"/>
<property name="&lt;Primary&gt;F2" type="empty"/>
<property name="&lt;Primary&gt;F3" type="empty"/>
<property name="&lt;Primary&gt;F4" type="empty"/>
<property name="&lt;Primary&gt;F5" type="empty"/>
<property name="&lt;Primary&gt;F6" type="empty"/>
<property name="&lt;Primary&gt;F7" type="empty"/>
<property name="&lt;Primary&gt;F8" type="empty"/>
<property name="&lt;Primary&gt;F9" type="empty"/>
<property name="&lt;Primary&gt;F10" type="empty"/>
<property name="&lt;Primary&gt;F11" type="empty"/>
<property name="&lt;Primary&gt;F12" type="empty"/>
<property name="&lt;Super&gt;KP_Left" type="empty"/>
<property name="&lt;Super&gt;KP_Right" type="empty"/>
<property name="&lt;Super&gt;KP_Up" type="empty"/>
<property name="&lt;Super&gt;KP_Down" type="empty"/>
<property name="&lt;Super&gt;KP_Page_Up" type="empty"/>
<property name="&lt;Super&gt;KP_Home" type="empty"/>
<property name="&lt;Super&gt;KP_End" type="empty"/>
<property name="&lt;Super&gt;KP_Next" type="empty"/>
</property>
<property name="custom" type="empty">
<property name="Up" type="string" value="up_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_9" type="string" value="move_window_workspace_9_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_8" type="string" value="move_window_workspace_8_key"/>
<property name="Left" type="string" value="left_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_6" type="string" value="move_window_workspace_6_key"/>
<property name="&lt;Alt&gt;Insert" type="string" value="add_workspace_key"/>
<property name="&lt;Alt&gt;Tab" type="string" value="cycle_windows_key"/>
<property name="&lt;Alt&gt;&lt;Shift&gt;Tab" type="string" value="cycle_reverse_windows_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_7" type="string" value="move_window_workspace_7_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Right" type="string" value="right_workspace_key"/>
<property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Right" type="string" value="move_window_right_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;d" type="string" value="show_desktop_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Up" type="string" value="up_workspace_key"/>
<property name="&lt;Primary&gt;F7" type="string" value="workspace_7_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Home" type="string" value="move_window_prev_workspace_key"/>
<property name="&lt;Alt&gt;F4" type="string" value="close_window_key"/>
<property name="&lt;Super&gt;q" type="string" value="close_window_key"/>
<property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Left" type="string" value="move_window_left_key"/>
<property name="&lt;Alt&gt;F6" type="string" value="stick_window_key"/>
<property name="&lt;Alt&gt;F10" type="string" value="maximize_window_key"/>
<property name="&lt;Alt&gt;F12" type="string" value="above_key"/>
<property name="&lt;Alt&gt;F9" type="string" value="hide_window_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Down" type="string" value="down_workspace_key"/>
<property name="&lt;Alt&gt;F8" type="string" value="resize_window_key"/>
<property name="&lt;Super&gt;Tab" type="string" value="switch_window_key"/>
<property name="Escape" type="string" value="cancel_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;End" type="string" value="move_window_next_workspace_key"/>
<property name="&lt;Primary&gt;F10" type="string" value="workspace_10_key"/>
<property name="&lt;Primary&gt;F11" type="string" value="workspace_11_key"/>
<property name="&lt;Alt&gt;F11" type="string" value="fullscreen_key"/>
<property name="&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Up" type="string" value="move_window_up_key"/>
<property name="Right" type="string" value="right_key"/>
<property name="Down" type="string" value="down_key"/>
<property name="&lt;Alt&gt;F7" type="string" value="move_window_key"/>
<property name="&lt;Shift&gt;&lt;Alt&gt;Page_Down" type="string" value="lower_window_key"/>
<property name="&lt;Primary&gt;F12" type="string" value="workspace_12_key"/>
<property name="&lt;Primary&gt;F1" type="string" value="workspace_1_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Left" type="string" value="left_workspace_key"/>
<property name="&lt;Primary&gt;F2" type="string" value="workspace_2_key"/>
<property name="&lt;Primary&gt;F4" type="string" value="workspace_4_key"/>
<property name="&lt;Primary&gt;F5" type="string" value="workspace_5_key"/>
<property name="&lt;Primary&gt;F6" type="string" value="workspace_6_key"/>
<property name="&lt;Alt&gt;space" type="string" value="popup_menu_key"/>
<property name="&lt;Primary&gt;F8" type="string" value="workspace_8_key"/>
<property name="&lt;Primary&gt;F9" type="string" value="workspace_9_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_1" type="string" value="move_window_workspace_1_key"/>
<property name="&lt;Alt&gt;Delete" type="string" value="del_workspace_key"/>
<property name="&lt;Shift&gt;&lt;Alt&gt;Page_Up" type="string" value="raise_window_key"/>
<property name="&lt;Primary&gt;F3" type="string" value="workspace_3_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_2" type="string" value="move_window_workspace_2_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_3" type="string" value="move_window_workspace_3_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_4" type="string" value="move_window_workspace_4_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;KP_5" type="string" value="move_window_workspace_5_key"/>
<property name="override" type="bool" value="true"/>
</property>
</property>
<property name="providers" type="array">
<value type="string" value="commands"/>
<value type="string" value="xfwm4"/>
</property>
</channel>

View File

@@ -1,54 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-notifyd" version="1.0">
<property name="applications" type="empty">
<property name="known_applications" type="array">
<value type="string" value="ca.desrt.dconf-editor"/>
<value type="string" value="chromium"/>
<value type="string" value="com.uploadedlobster.peek"/>
<value type="string" value="discord"/>
<value type="string" value="Discord"/>
<value type="string" value="Discord Canary"/>
<value type="string" value="Dropbox"/>
<value type="string" value="Electron"/>
<value type="string" value="evolution"/>
<value type="string" value="FileZilla"/>
<value type="string" value="Firefox"/>
<value type="string" value="flameshot"/>
<value type="string" value="nm-applet"/>
<value type="string" value="Insync"/>
<value type="string" value="notify-send"/>
<value type="string" value="org.freedesktop.network-manager-applet"/>
<value type="string" value="org.gnome.Software"/>
<value type="string" value="org.manjaro.pamac.tray"/>
<value type="string" value="Package Manager"/>
<value type="string" value="pasystray"/>
<value type="string" value="pragha"/>
<value type="string" value="Spotify"/>
<value type="string" value="System Config Printer Notification"/>
<value type="string" value="Terminal"/>
<value type="string" value="Thunar"/>
<value type="string" value="Transmission"/>
<value type="string" value="thunar-volman"/>
<value type="string" value="Update Manager"/>
<value type="string" value="Variety"/>
<value type="string" value="vivaldi-snapshot"/>
<value type="string" value="vivaldi-stable"/>
<value type="string" value="Volume Icon"/>
<value type="string" value="Xfce volume control"/>
<value type="string" value="Xfce4-notifyd settings"/>
<value type="string" value="xfce4-power-manager"/>
<value type="string" value="xfce4-settings-helper"/>
</property>
<property name="muted_applications" type="array">
<value type="string" value="ca.desrt.dconf-editor"/>
</property>
</property>
<property name="notify-location" type="uint" value="2"/>
<property name="log-level" type="uint" value="0"/>
<property name="log-level-apps" type="uint" value="0"/>
<property name="expire-timeout" type="int" value="5"/>
<property name="initial-opacity" type="double" value="1"/>
<property name="primary-monitor" type="uint" value="0"/>
<property name="theme" type="string" value="Default"/>
</channel>

View File

@@ -1,117 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-panel" version="1.0">
<property name="configver" type="int" value="2"/>
<property name="panels" type="array">
<value type="int" value="1"/>
<property name="panel-1" type="empty">
<property name="position" type="string" value="p=8;x=960;y=1064"/>
<property name="length" type="uint" value="100"/>
<property name="position-locked" type="bool" value="true"/>
<property name="size" type="uint" value="30"/>
<property name="plugin-ids" type="array">
<value type="int" value="7"/>
<value type="int" value="3"/>
<value type="int" value="15"/>
<value type="int" value="4"/>
<value type="int" value="6"/>
<value type="int" value="8"/>
<value type="int" value="5"/>
<value type="int" value="2"/>
</property>
<property name="background-alpha" type="uint" value="76"/>
<property name="enter-opacity" type="uint" value="95"/>
<property name="leave-opacity" type="uint" value="95"/>
</property>
</property>
<property name="plugins" type="empty">
<property name="plugin-2" type="string" value="actions">
<property name="items" type="array">
<value type="string" value="+restart"/>
<value type="string" value="+logout"/>
<value type="string" value="+suspend"/>
<value type="string" value="+shutdown"/>
<value type="string" value="-lock-screen"/>
<value type="string" value="-switch-user"/>
<value type="string" value="-separator"/>
<value type="string" value="-hibernate"/>
<value type="string" value="-separator"/>
<value type="string" value="-separator"/>
<value type="string" value="-logout-dialog"/>
</property>
</property>
<property name="plugin-3" type="string" value="tasklist"/>
<property name="plugin-15" type="string" value="separator">
<property name="expand" type="bool" value="true"/>
<property name="style" type="uint" value="0"/>
</property>
<property name="plugin-4" type="string" value="pager">
<property name="rows" type="uint" value="2"/>
<property name="miniature-view" type="bool" value="true"/>
</property>
<property name="plugin-5" type="string" value="clock"/>
<property name="plugin-6" type="string" value="systray">
<property name="names-visible" type="array">
<value type="string" value="evolution-alarm-notify"/>
<value type="string" value="discord"/>
<value type="string" value="pragha music player"/>
<value type="string" value="simplescreenrecorder"/>
<value type="string" value="pamac-tray"/>
<value type="string" value="vlc"/>
<value type="string" value="blueberry-tray.py"/>
<value type="string" value="xfce4-power-manager"/>
<value type="string" value="task manager"/>
<value type="string" value="insync.py"/>
<value type="string" value="telegramdesktop"/>
<value type="string" value="variety"/>
<value type="string" value="flameshot"/>
<value type="string" value="bluetooth"/>
<value type="string" value="clipman"/>
<value type="string" value="redshift-gtk"/>
<value type="string" value="scp-dbus-service.py"/>
<value type="string" value="networkmanager applet"/>
<value type="string" value="thunar"/>
<value type="string" value="gpick"/>
<value type="string" value="clipit"/>
<value type="string" value="dropbox"/>
</property>
<property name="show-frame" type="bool" value="false"/>
<property name="names-ordered" type="array">
<value type="string" value="zoom"/>
<value type="string" value="simplescreenrecorder"/>
<value type="string" value="task manager"/>
<value type="string" value="vlc"/>
<value type="string" value="xfce terminal"/>
<value type="string" value="thunar"/>
<value type="string" value="dropbox"/>
<value type="string" value="discord"/>
<value type="string" value="insync"/>
<value type="string" value="variety"/>
<value type="string" value="telegramdesktop"/>
<value type="string" value="blueberry-tray.py"/>
<value type="string" value="flameshot"/>
<value type="string" value="pamac-tray"/>
<value type="string" value="networkmanager applet"/>
<value type="string" value="clipman"/>
</property>
<property name="known-legacy-items" type="array">
<value type="string" value="clipman"/>
<value type="string" value="pamac-tray"/>
<value type="string" value="networkmanager applet"/>
</property>
<property name="known-items" type="array">
<value type="string" value="variety"/>
</property>
</property>
<property name="plugin-7" type="string" value="whiskermenu"/>
<property name="clipman" type="empty">
<property name="tweaks" type="empty">
<property name="never-confirm-history-clear" type="bool" value="true"/>
</property>
</property>
<property name="plugin-8" type="string" value="pulseaudio">
<property name="enable-keyboard-shortcuts" type="bool" value="true"/>
<property name="mpris-players" type="string" value="pragha;spotify"/>
</property>
</property>
</channel>

View File

@@ -1,29 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-power-manager" version="1.0">
<property name="xfce4-power-manager" type="empty">
<property name="power-button-action" type="uint" value="4"/>
<property name="sleep-button-action" type="uint" value="1"/>
<property name="hibernate-button-action" type="uint" value="2"/>
<property name="brightness-switch-restore-on-exit" type="int" value="0"/>
<property name="brightness-switch" type="int" value="0"/>
<property name="lid-action-on-battery" type="uint" value="1"/>
<property name="lid-action-on-ac" type="uint" value="1"/>
<property name="logind-handle-lid-switch" type="bool" value="false"/>
<property name="dpms-on-ac-sleep" type="uint" value="30"/>
<property name="dpms-on-ac-off" type="uint" value="45"/>
<property name="blank-on-ac" type="int" value="15"/>
<property name="inactivity-on-ac" type="uint" value="14"/>
<property name="general-notification" type="bool" value="true"/>
<property name="show-tray-icon" type="bool" value="false"/>
<property name="inactivity-sleep-mode-on-battery" type="uint" value="1"/>
<property name="critical-power-action" type="uint" value="3"/>
<property name="lock-screen-suspend-hibernate" type="bool" value="false"/>
<property name="brightness-on-battery" type="uint" value="9"/>
<property name="blank-on-battery" type="int" value="15"/>
<property name="dpms-on-battery-sleep" type="uint" value="30"/>
<property name="dpms-on-battery-off" type="uint" value="45"/>
<property name="brightness-level-on-battery" type="uint" value="50"/>
<property name="brightness-level-on-ac" type="uint" value="100"/>
</property>
</channel>

View File

@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-screensaver" version="1.0">
<property name="saver" type="empty">
<property name="mode" type="int" value="0"/>
<property name="fullscreen-inhibit" type="bool" value="true"/>
<property name="enabled" type="bool" value="false"/>
</property>
<property name="lock" type="empty">
<property name="saver-activation" type="empty">
<property name="delay" type="int" value="5"/>
</property>
<property name="enabled" type="bool" value="false"/>
</property>
</channel>

View File

@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-session" version="1.0">
<property name="general" type="empty">
<property name="FailsafeSessionName" type="empty"/>
<property name="SessionName" type="string" value="Default"/>
<property name="SaveOnExit" type="bool" value="false"/>
</property>
<property name="sessions" type="empty">
<property name="Failsafe" type="empty">
<property name="IsFailsafe" type="empty"/>
<property name="Count" type="empty"/>
<property name="Client0_Command" type="empty"/>
<property name="Client0_PerScreen" type="empty"/>
<property name="Client1_Command" type="empty"/>
<property name="Client1_PerScreen" type="empty"/>
<property name="Client2_Command" type="empty"/>
<property name="Client2_PerScreen" type="empty"/>
<property name="Client3_Command" type="empty"/>
<property name="Client3_PerScreen" type="empty"/>
<property name="Client4_Command" type="empty"/>
<property name="Client4_PerScreen" type="empty"/>
</property>
</property>
<property name="splash" type="empty">
<property name="Engine" type="empty"/>
</property>
<property name="shutdown" type="empty">
<property name="LockScreen" type="bool" value="false"/>
</property>
<property name="compat" type="empty">
<property name="LaunchGNOME" type="bool" value="true"/>
</property>
</channel>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-settings-manager" version="1.0">
<property name="last" type="empty">
<property name="window-width" type="int" value="1150"/>
<property name="window-height" type="int" value="735"/>
</property>
</channel>

View File

@@ -1,92 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfwm4" version="1.0">
<property name="general" type="empty">
<property name="workspace_names" type="array">
<value type="string" value="1"/>
<value type="string" value="2"/>
<value type="string" value="3"/>
<value type="string" value="4"/>
</property>
<property name="workspace_count" type="int" value="4"/>
<property name="activate_action" type="string" value="bring"/>
<property name="borderless_maximize" type="bool" value="true"/>
<property name="box_move" type="bool" value="false"/>
<property name="box_resize" type="bool" value="false"/>
<property name="button_layout" type="string" value="O|SHMC"/>
<property name="button_offset" type="int" value="0"/>
<property name="button_spacing" type="int" value="0"/>
<property name="click_to_focus" type="bool" value="true"/>
<property name="cycle_apps_only" type="bool" value="false"/>
<property name="cycle_draw_frame" type="bool" value="true"/>
<property name="cycle_hidden" type="bool" value="true"/>
<property name="cycle_minimum" type="bool" value="true"/>
<property name="cycle_preview" type="bool" value="true"/>
<property name="cycle_tabwin_mode" type="int" value="0"/>
<property name="cycle_workspaces" type="bool" value="false"/>
<property name="double_click_action" type="string" value="maximize"/>
<property name="double_click_distance" type="int" value="5"/>
<property name="double_click_time" type="int" value="250"/>
<property name="easy_click" type="string" value="Alt"/>
<property name="focus_delay" type="int" value="250"/>
<property name="focus_hint" type="bool" value="true"/>
<property name="focus_new" type="bool" value="true"/>
<property name="frame_opacity" type="int" value="92"/>
<property name="full_width_title" type="bool" value="true"/>
<property name="horiz_scroll_opacity" type="bool" value="false"/>
<property name="inactive_opacity" type="int" value="100"/>
<property name="maximized_offset" type="int" value="0"/>
<property name="mousewheel_rollup" type="bool" value="true"/>
<property name="move_opacity" type="int" value="88"/>
<property name="placement_mode" type="string" value="center"/>
<property name="placement_ratio" type="int" value="100"/>
<property name="popup_opacity" type="int" value="100"/>
<property name="prevent_focus_stealing" type="bool" value="false"/>
<property name="raise_delay" type="int" value="250"/>
<property name="raise_on_click" type="bool" value="true"/>
<property name="raise_on_focus" type="bool" value="false"/>
<property name="raise_with_any_button" type="bool" value="true"/>
<property name="repeat_urgent_blink" type="bool" value="false"/>
<property name="resize_opacity" type="int" value="88"/>
<property name="scroll_workspaces" type="bool" value="true"/>
<property name="shadow_delta_height" type="int" value="0"/>
<property name="shadow_delta_width" type="int" value="0"/>
<property name="shadow_delta_x" type="int" value="0"/>
<property name="shadow_delta_y" type="int" value="-3"/>
<property name="shadow_opacity" type="int" value="50"/>
<property name="show_app_icon" type="bool" value="false"/>
<property name="show_dock_shadow" type="bool" value="false"/>
<property name="show_frame_shadow" type="bool" value="true"/>
<property name="show_popup_shadow" type="bool" value="false"/>
<property name="snap_resist" type="bool" value="false"/>
<property name="snap_to_border" type="bool" value="true"/>
<property name="snap_to_windows" type="bool" value="false"/>
<property name="snap_width" type="int" value="10"/>
<property name="sync_to_vblank" type="bool" value="false"/>
<property name="theme" type="string" value="Arc-Dark"/>
<property name="tile_on_move" type="bool" value="true"/>
<property name="title_alignment" type="string" value="center"/>
<property name="title_font" type="string" value="Noto Sans 11"/>
<property name="title_horizontal_offset" type="int" value="0"/>
<property name="titleless_maximize" type="bool" value="false"/>
<property name="title_shadow_active" type="string" value="false"/>
<property name="title_shadow_inactive" type="string" value="false"/>
<property name="title_vertical_offset_active" type="int" value="0"/>
<property name="title_vertical_offset_inactive" type="int" value="0"/>
<property name="toggle_workspaces" type="bool" value="false"/>
<property name="unredirect_overlays" type="bool" value="true"/>
<property name="urgent_blink" type="bool" value="true"/>
<property name="use_compositing" type="bool" value="true"/>
<property name="wrap_cycle" type="bool" value="true"/>
<property name="wrap_layout" type="bool" value="true"/>
<property name="wrap_resistance" type="int" value="10"/>
<property name="wrap_windows" type="bool" value="false"/>
<property name="wrap_workspaces" type="bool" value="false"/>
<property name="zoom_desktop" type="bool" value="true"/>
<property name="cycle_raise" type="bool" value="false"/>
<property name="frame_border_top" type="int" value="0"/>
<property name="vblank_mode" type="string" value="auto"/>
<property name="cycle_minimized" type="bool" value="false"/>
<property name="zoom_pointer" type="bool" value="true"/>
</property>
</channel>

View File

@@ -1,44 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xsettings" version="1.0">
<property name="Net" type="empty">
<property name="ThemeName" type="string" value="Adwaita"/>
<property name="IconThemeName" type="string" value="Adwaita"/>
<property name="DoubleClickTime" type="empty"/>
<property name="DoubleClickDistance" type="empty"/>
<property name="DndDragThreshold" type="empty"/>
<property name="CursorBlink" type="empty"/>
<property name="CursorBlinkTime" type="empty"/>
<property name="SoundThemeName" type="empty"/>
<property name="EnableEventSounds" type="empty"/>
<property name="EnableInputFeedbackSounds" type="empty"/>
</property>
<property name="Xft" type="empty">
<property name="DPI" type="empty"/>
<property name="Antialias" type="int" value="1"/>
<property name="Hinting" type="int" value="1"/>
<property name="HintStyle" type="string" value="hintslight"/>
<property name="RGBA" type="string" value="rgb"/>
</property>
<property name="Gtk" type="empty">
<property name="CanChangeAccels" type="empty"/>
<property name="ColorPalette" type="empty"/>
<property name="FontName" type="string" value="Noto Sans 11"/>
<property name="MonospaceFontName" type="string" value="Monospace 11"/>
<property name="IconSizes" type="empty"/>
<property name="KeyThemeName" type="empty"/>
<property name="ToolbarStyle" type="empty"/>
<property name="ToolbarIconSize" type="empty"/>
<property name="MenuImages" type="empty"/>
<property name="ButtonImages" type="empty"/>
<property name="MenuBarAccel" type="empty"/>
<property name="CursorThemeName" type="string" value="Bibata-Modern-Ice"/>
<property name="CursorThemeSize" type="empty"/>
<property name="DecorationLayout" type="empty"/>
<property name="DialogsUseHeader" type="empty"/>
<property name="TitlebarMiddleClick" type="empty"/>
</property>
<property name="Gdk" type="empty">
<property name="WindowScalingFactor" type="empty"/>
</property>
</channel>

45
install-scripts/00-base.sh Normal file → Executable file
View File

@@ -1,50 +1,23 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# https://github.com/JaKooLit # base devel + archlinux-keyring #
base=( base=(
base-devel base-devel
archlinux-keyring
) )
############## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ###################################### ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
RESET=$(tput sgr0)
# Set the name of the log file to include the current date and time # Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_base.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_base.log"
# Set the script to exit on error
set -e
# Function for installing packages
install_package() {
# Checking if package is already installed
if pacman -Q "$1" &>/dev/null ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
sudo pacman -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
# Making sure package is installed
if pacman -Q "$1" &>/dev/null ; then
echo -e "${OK} $1 was installed."
else
# Something is missing, exiting to review log
echo -e "${ERROR} $1 failed to install. Please check the $LOG. You may need to install manually."
exit 1
fi
fi
}
# Installation of main components # Installation of main components
printf "\n%s - Installing base-devel \n" "${NOTE}" printf "\n%s - Installing ${SKY_BLUE}base-devel${RESET} \n" "${NOTE}"
for PKG1 in "${base[@]}"; do for PKG1 in "${base[@]}"; do
install_package "$PKG1" | tee -a "$LOG" install_package_pacman "$PKG1" "$LOG"
done done
printf "\n%.0s" {1..2}
# clear

View File

@@ -1,131 +0,0 @@
#!/bin/bash
# https://github.com/JaKooLit
# edit your packages desired here.
# WARNING! If you remove packages here, dotfiles may not work properly.
# and also, ensure that packages are present in AUR and official Arch Repo
# add packages wanted here
Extra=(
)
hypr_package=(
cliphist
curl
dunst
grim
gvfs
gvfs-mtp
imagemagick
jq
kitty
kvantum
nano
network-manager-applet
pamixer
pavucontrol
pipewire-alsa
playerctl
polkit-gnome
python-requests
python-pywal
qt5ct
qt6ct
qt6-svg
rofi-lbonn-wayland-git
slurp
swappy
swayidle
swaylock-effects-git
swww
waybar
wget
wl-clipboard
wlogout
xdg-user-dirs
yad
)
# the following packages can be deleted. however, dotfiles may not work properly
hypr_package_2=(
brightnessctl
btop
cava
eog
gnome-system-monitor
mousepad
mpv
mpv-mpris
nvtop
nwg-look-bin
pacman-contrib
vim
wlsunset
yt-dlp
)
fonts=(
adobe-source-code-pro-fonts
noto-fonts-emoji
otf-font-awesome
ttf-droid
ttf-fira-code
ttf-jetbrains-mono
ttf-jetbrains-mono-nerd
)
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ######################################
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_hypr-pkgs.log"
ISAUR=$(command -v yay || command -v paru)
# Set the script to exit on error
set -e
# Function for installing packages
install_package() {
# Checking if package is already installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
# Making sure package is installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "\e[1A\e[K${OK} $1 was installed."
else
# Something is missing, exiting to review log
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
exit 1
fi
fi
}
# Installation of main components
printf "\n%s - Installing hyprland packages.... \n" "${NOTE}"
for PKG1 in "${hypr_package[@]}" "${hypr_package_2[@]}" "${fonts[@]}" "${Extra[@]}"; do
install_package "$PKG1" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then
echo -e "\e[1A\e[K${ERROR} - $PKG1 install had failed, please check the install.log"
exit 1
fi
done
clear

123
install-scripts/01-hypr-pkgs.sh Executable file
View File

@@ -0,0 +1,123 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Hyprland Packages #
# edit your packages desired here.
# WARNING! If you remove packages here, dotfiles may not work properly.
# and also, ensure that packages are present in AUR and official Arch Repo
# add packages wanted here
Extra=(
)
hypr_package=(
#aylurs-gtk-shell
bc
cliphist
curl
grim
gvfs
gvfs-mtp
hyprpolkitagent
imagemagick
inxi
jq
kitty
kvantum
nano
network-manager-applet
pamixer
pavucontrol
pipewire-alsa
playerctl
python-requests
python-pyquery
qt5ct
qt6ct
qt6-svg
rofi-wayland
slurp
swappy
swaync
swww
unzip # needed later
wallust
waybar
wget
wl-clipboard
wlogout
xdg-user-dirs
xdg-utils
yad
)
# the following packages can be deleted. however, dotfiles may not work properly
hypr_package_2=(
brightnessctl
btop
cava
loupe
fastfetch
gnome-system-monitor
mousepad
mpv
mpv-mpris
nvtop
nwg-look
nwg-displays
pacman-contrib
qalculate-gtk
vim
yt-dlp
)
# List of packages to uninstall as it conflicts some packages
uninstall=(
aylurs-gtk-shell
dunst
mako
cachyos-hyprland-settings
rofi
wallust-git
rofi-lbonn-wayland
rofi-lbonn-wayland-git
)
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Change the working directory to the parent directory of the script
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="Install-Logs/install-$(date +%d-%H%M%S)_hypr-pkgs.log"
# conflicting packages removal
overall_failed=0
printf "\n%s - ${SKY_BLUE}Removing some packages${RESET} as it conflicts with KooL's Hyprland Dots \n" "${NOTE}"
for PKG in "${uninstall[@]}"; do
uninstall_package "$PKG" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then
overall_failed=1
fi
done
if [ $overall_failed -ne 0 ]; then
echo -e "${ERROR} Some packages failed to uninstall. Please check the log."
fi
printf "\n%.0s" {1..1}
# Installation of main components
printf "\n%s - Installing ${SKY_BLUE}KooL's hyprland necessary packages${RESET} .... \n" "${NOTE}"
for PKG1 in "${hypr_package[@]}" "${hypr_package_2[@]}" "${Extra[@]}"; do
install_package "$PKG1" "$LOG"
done
printf "\n%.0s" {1..2}

View File

@@ -0,0 +1,90 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Final checking if packages are installed
# NOTE: These package check are only the essentials
packages=(
cliphist
kvantum
rofi-wayland
imagemagick
swaync
swww
wallust
waybar
wl-clipboard
wlogout
kitty
hypridle
hyprlock
hyprland
pyprland
)
# Local packages that should be in /usr/local/bin/
local_pkgs_installed=(
)
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Change the working directory to the parent directory of the script
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; }
# Source the global functions script
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="Install-Logs/00_CHECK-$(date +%d-%H%M%S)_installed.log"
printf "\n%s - Final Check if all ${SKY_BLUE}Essential packages${RESET} were installed \n" "${NOTE}"
# Initialize an empty array to hold missing packages
missing=()
local_missing=()
# Function to check if a packages are installed using pacman
is_installed_pacman() {
pacman -Qi "$1" &>/dev/null
}
# Loop through each package
for pkg in "${packages[@]}"; do
# Check if the packages are installed
if ! is_installed_pacman "$pkg"; then
missing+=("$pkg")
fi
done
# Check for local packages
for pkg1 in "${local_pkgs_installed[@]}"; do
if ! [ -f "/usr/local/bin/$pkg1" ]; then
local_missing+=("$pkg1")
fi
done
# Log missing packages
if [ ${#missing[@]} -eq 0 ] && [ ${#local_missing[@]} -eq 0 ]; then
echo "${OK} GREAT! It seems All ${YELLOW}essential packages${RESET} are installed." | tee -a "$LOG"
else
if [ ${#missing[@]} -ne 0 ]; then
echo "${WARN} The following packages are not installed and will be logged:"
for pkg in "${missing[@]}"; do
echo "${WARNING}$pkg${RESET}"
echo "$pkg" >> "$LOG"
done
fi
if [ ${#local_missing[@]} -ne 0 ]; then
echo "${WARN} The following local packages are missing from /usr/local/bin/ and will be logged:"
for pkg1 in "${local_missing[@]}"; do
echo "${WARNING}$pkg1${REST} is not installed. Can't find it in /usr/local/bin/"
echo "$pkg1" >> "$LOG"
done
fi
echo "${NOTE} Missing packages logged at $(date)" >> "$LOG"
fi

View File

@@ -0,0 +1,132 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Global Functions for Scripts #
set -e
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
INFO="$(tput setaf 4)[INFO]$(tput sgr0)"
WARN="$(tput setaf 1)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
MAGENTA="$(tput setaf 5)"
ORANGE="$(tput setaf 214)"
WARNING="$(tput setaf 1)"
YELLOW="$(tput setaf 3)"
GREEN="$(tput setaf 2)"
BLUE="$(tput setaf 4)"
SKY_BLUE="$(tput setaf 6)"
RESET="$(tput sgr0)"
# Create Directory for Install Logs
if [ ! -d Install-Logs ]; then
mkdir Install-Logs
fi
# Show progress function
show_progress() {
local pid=$1
local package_name=$2
local spin_chars=("●○○○○○○○○○" "○●○○○○○○○○" "○○●○○○○○○○" "○○○●○○○○○○" "○○○○●○○○○" \
"○○○○○●○○○○" "○○○○○○●○○○" "○○○○○○○●○○" "○○○○○○○○●○" "○○○○○○○○○●")
local i=0
tput civis
printf "\r${NOTE} Installing ${YELLOW}%s${RESET} ..." "$package_name"
while ps -p $pid &> /dev/null; do
printf "\r${NOTE} Installing ${YELLOW}%s${RESET} %s" "$package_name" "${spin_chars[i]}"
i=$(( (i + 1) % 10 ))
sleep 0.3
done
printf "\r${NOTE} Installing ${YELLOW}%s${RESET} ... Done!%-20s \n" "$package_name" ""
tput cnorm
}
# Function to install packages with pacman
install_package_pacman() {
# Check if package is already installed
if pacman -Q "$1" &>/dev/null ; then
echo -e "${INFO} ${MAGENTA}$1${RESET} is already installed. Skipping..."
else
# Run pacman and redirect all output to a log file
(
stdbuf -oL sudo pacman -S --noconfirm "$1" 2>&1
) >> "$LOG" 2>&1 &
PID=$!
show_progress $PID "$1"
# Double check if package is installed
if pacman -Q "$1" &>/dev/null ; then
echo -e "${OK} Package ${YELLOW}$1${RESET} has been successfully installed!"
else
echo -e "\n${ERROR} ${YELLOW}$1${RESET} failed to install. Please check the $LOG. You may need to install manually."
fi
fi
}
ISAUR=$(command -v yay || command -v paru)
# Function to install packages with either yay or paru
install_package() {
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "${INFO} ${MAGENTA}$1${RESET} is already installed. Skipping..."
else
(
stdbuf -oL $ISAUR -S --noconfirm "$1" 2>&1
) >> "$LOG" 2>&1 &
PID=$!
show_progress $PID "$1"
# Double check if package is installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "${OK} Package ${YELLOW}$1${RESET} has been successfully installed!"
else
# Something is missing, exiting to review log
echo -e "\n${ERROR} ${YELLOW}$1${RESET} failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
fi
fi
}
# Function to just install packages with either yay or paru without checking if installed
install_package_f() {
(
stdbuf -oL $ISAUR -S --noconfirm "$1" 2>&1
) >> "$LOG" 2>&1 &
PID=$!
show_progress $PID "$1"
# Double check if package is installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "${OK} Package ${YELLOW}$1${RESET} has been successfully installed!"
else
# Something is missing, exiting to review log
echo -e "\n${ERROR} ${YELLOW}$1${RESET} failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
fi
}
# Function for removing packages
uninstall_package() {
local pkg="$1"
# Checking if package is installed
if pacman -Qi "$pkg" &>/dev/null; then
echo -e "${NOTE} removing $pkg ..."
sudo pacman -R --noconfirm "$pkg" 2>&1 | tee -a "$LOG" | grep -v "error: target not found"
if ! pacman -Qi "$pkg" &>/dev/null; then
echo -e "\e[1A\e[K${OK} $pkg removed."
else
echo -e "\e[1A\e[K${ERROR} $pkg Removal failed. No actions required."
return 1
fi
else
echo -e "${INFO} Package $pkg not installed, skipping."
fi
return 0
}

58
install-scripts/InputGroup.sh Normal file → Executable file
View File

@@ -1,6 +1,8 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Adding users into input group #
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located # Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@@ -8,48 +10,22 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.." PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1 cd "$PARENT_DIR" || exit 1
# Set some colors for output messages source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
# Set the name of the log file to include the current date and time # Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_input.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_input.log"
while true; do # Check if the 'input' group exists
echo "${WARN} This script will add or remove your user from the 'input' group." if grep -q '^input:' /etc/group; then
echo "${NOTE} Please note that adding yourself to the 'input' group might be necessary for waybar keyboard-state functionality." echo "${OK} ${MAGENTA}input${RESET} group exists."
else
echo "${NOTE} ${MAGENTA}input${RESET} group doesn't exist. Creating ${MAGENTA}input${RESET} group..."
sudo groupadd input
echo "${MAGENTA}input${RESET} group created" >> "$LOG"
fi
read -p "${YELLOW}Do you want to proceed? (y/n): ${RESET}" choice # Add the user to the 'input' group
sudo usermod -aG input "$(whoami)"
echo "${OK} ${YELLOW}user${RESET} added to the ${MAGENTA}input${RESET} group. Changes will take effect after you log out and log back in." >> "$LOG"
if [[ $choice == "y" || $choice == "Y" ]]; then printf "\n%.0s" {1..2}
# Check if the 'input' group exists
if grep -q '^input:' /etc/group; then
echo "${OK} 'input' group exists."
else
echo "${NOTE} 'input' group doesn't exist. Creating 'input' group..."
sudo groupadd input
# Log the creation of the 'input' group
echo "$(date '+%Y-%m-%d %H:%M:%S') - 'input' group created" >> "$LOG"
fi
# Add the user to the input group
sudo usermod -aG input "$(whoami)"
echo "${OK} User added to the 'input' group. Changes will take effect after you log out and log back in."
# Log the addition of the user to the 'input' group
echo "$(date '+%Y-%m-%d %H:%M:%S') - User added to 'input' group" >> "$LOG"
break # Break out of the loop if 'yes' is chosen
elif [[ $choice == "n" || $choice == "N" ]]; then
echo "${NOTE} No changes made. Exiting the script."
break # Break out of the loop if 'no' is chosen
else
echo "${ERROR} Invalid choice. Please enter 'y' for yes or 'n' for no."
fi
done

93
install-scripts/ags.sh Executable file
View File

@@ -0,0 +1,93 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Aylur's GTK Shell v 1.9.0 #
# for desktop overview
if [[ $USE_PRESET = [Yy] ]]; then
source ./preset.sh
fi
ags=(
typescript
npm
meson
glib2-devel
gjs
gtk3
gtk-layer-shell
upower
networkmanager
gobject-introspection
libdbusmenu-gtk3
libsoup3
)
# specific tags to download
ags_tag="v1.9.0"
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Change the working directory to the parent directory of the script
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="Install-Logs/install-$(date +%d-%H%M%S)_ags.log"
MLOG="install-$(date +%d-%H%M%S)_ags2.log"
# Check if AGS is installed
if command -v ags &>/dev/null; then
AGS_VERSION=$(ags -v | awk '{print $NF}')
if [[ "$AGS_VERSION" == "1.9.0" ]]; then
printf "${INFO} ${MAGENTA}Aylur's GTK Shell v1.9.0${RESET} is already installed. Skipping installation."
printf "\n%.0s" {1..2}
exit 0
fi
fi
# Installation of main components
printf "\n%s - Installing ${SKY_BLUE}Aylur's GTK shell $ags_tag${RESET} Dependencies \n" "${NOTE}"
# Installing ags Dependencies
for PKG1 in "${ags[@]}"; do
install_package "$PKG1" "$LOG"
done
printf "\n%.0s" {1..1}
# ags v1
printf "${NOTE} Install and Compiling ${SKY_BLUE}Aylur's GTK shell $ags_tag${RESET}..\n"
# Check if folder exists and remove it
if [ -d "ags" ]; then
printf "${NOTE} Removing existing ags folder...\n"
rm -rf "ags"
fi
printf "\n%.0s" {1..1}
printf "${INFO} Kindly Standby...cloning and compiling ${SKY_BLUE}Aylur's GTK shell $ags_tag${RESET}...\n"
printf "\n%.0s" {1..1}
# Clone repository with the specified tag and capture git output into MLOG
if git clone --recursive -b "$ags_tag" --depth 1 https://github.com/Aylur/ags.git; then
cd ags || exit 1
npm install
meson setup build
if sudo meson install -C build 2>&1 | tee -a "$MLOG"; then
printf "\n${OK} ${YELLOW}Aylur's GTK shell $ags_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
echo -e "\n${ERROR} ${YELLOW}Aylur's GTK shell $ags_tag${RESET} Installation failed\n " 2>&1 | tee -a "$MLOG"
fi
# Move logs to Install-Logs directory
mv "$MLOG" ../Install-Logs/ || true
cd ..
else
echo -e "\n${ERROR} Failed to download ${YELLOW}Aylur's GTK shell $ags_tag${RESET} Please check your connection\n" 2>&1 | tee -a "$LOG"
mv "$MLOG" ../Install-Logs/ || true
exit 1
fi
printf "\n%.0s" {1..2}

65
install-scripts/bluetooth.sh Normal file → Executable file
View File

@@ -1,60 +1,33 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Bluetooth Stuff #
blue=( blue=(
bluez bluez
bluez-utils bluez-utils
blueman blueman
) )
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Set some colors for output messages # Change the working directory to the parent directory of the script
OK="$(tput setaf 2)[OK]$(tput sgr0)" PARENT_DIR="$SCRIPT_DIR/.."
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" cd "$PARENT_DIR" || exit 1
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)" source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
# Set the name of the log file to include the current date and time # Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_bluetooth.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_bluetooth.log"
ISAUR=$(command -v yay || command -v paru)
# Set the script to exit on error
set -e
# Function for installing packages
install_package() {
# Checking if package is already installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
# Making sure package is installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "\e[1A\e[K${OK} $1 was installed."
else
# Something is missing, exiting to review log
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
exit 1
fi
fi
}
# Bluetooth # Bluetooth
printf "${NOTE} Installing ${SKY_BLUE}Bluetooth${RESET} Packages...\n"
printf "${NOTE} Installing Bluetooth Packages...\n"
for BLUE in "${blue[@]}"; do for BLUE in "${blue[@]}"; do
install_package "$BLUE" 2>&1 | tee -a "$LOG" install_package "$BLUE" "$LOG"
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $BLUE install had failed, please check the install.log"; exit 1; }
done done
printf " Activating Bluetooth Services...\n" printf " Activating ${YELLOW}Bluetooth${RESET} Services...\n"
sudo systemctl enable --now bluetooth.service 2>&1 | tee -a "$LOG" sudo systemctl enable --now bluetooth.service 2>&1 | tee -a "$LOG"
clear printf "\n%.0s" {1..2}

View File

@@ -0,0 +1,29 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Hyprland-Dots to download from main #
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Check if Hyprland-Dots exists
printf "${NOTE} Cloning and Installing ${SKY_BLUE}KooL's Hyprland Dots${RESET}....\n"
if [ -d Hyprland-Dots ]; then
cd Hyprland-Dots
git stash
git pull
git stash apply
chmod +x copy.sh
./copy.sh
else
if git clone --depth 1 https://github.com/JaKooLit/Hyprland-Dots; then
cd Hyprland-Dots || exit 1
chmod +x copy.sh
./copy.sh
else
echo -e "$ERROR Can't download ${YELLOW}KooL's Hyprland-Dots${RESET} . Check your internet connection"
fi
fi
printf "\n%.0s" {1..2}

View File

@@ -1,99 +0,0 @@
#!/bin/bash
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ######################################
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
printf "${NOTE} Downloading / Checking for existing Hyprland-Dots.tar.gz...\n"
# Check if Hyprland-Dots.tar.gz exists
if [ -f Hyprland-Dots.tar.gz ]; then
printf "${NOTE} Hyprland-Dots.tar.gz found.\n"
# Get the version from the existing tarball filename
existing_version=$(echo Hyprland-Dots.tar.gz | grep -oP 'v\d+\.\d+\.\d+' | sed 's/v//')
# Fetch the tag_name for the latest release using the GitHub API
latest_version=$(curl -s https://api.github.com/repos/JaKooLit/Hyprland-Dots/releases/latest | grep "tag_name" | cut -d '"' -f 4 | sed 's/v//')
# Check if versions match
if [ "$existing_version" = "$latest_version" ]; then
echo -e "${OK} Hyprland-Dots.tar.gz is up-to-date with the latest release ($latest_version)."
# Sleep for 10 seconds before exiting
printf "${NOTE} No update found. Sleeping for 10 seconds...\n"
sleep 10
exit 0
else
echo -e "${WARN} Hyprland-Dots.tar.gz is outdated (Existing version: $existing_version, Latest version: $latest_version)."
read -p "Do you want to upgrade to the latest version? (y/n): " upgrade_choice
if [ "$upgrade_choice" = "y" ]; then
echo -e "${NOTE} Proceeding to download the latest release."
# Delete existing directories starting with JaKooLit-Hyprland-Dots
find . -type d -name 'JaKooLit-Hyprland-Dots*' -exec rm -rf {} +
rm -f Hyprland-Dots.tar.gz
printf "${WARN} Removed existing Hyprland-Dots.tar.gz.\n"
else
echo -e "${NOTE} User chose not to upgrade. Exiting..."
exit 0
fi
fi
fi
printf "${NOTE} Downloading the latest Hyprland source code release...\n"
# Fetch the tag name for the latest release using the GitHub API
latest_tag=$(curl -s https://api.github.com/repos/JaKooLit/Hyprland-Dots/releases/latest | grep "tag_name" | cut -d '"' -f 4)
# Check if the tag is obtained successfully
if [ -z "$latest_tag" ]; then
echo -e "${ERROR} Unable to fetch the latest tag information."
exit 1
fi
# Fetch the tarball URL for the latest release using the GitHub API
latest_tarball_url=$(curl -s https://api.github.com/repos/JaKooLit/Hyprland-Dots/releases/latest | grep "tarball_url" | cut -d '"' -f 4)
# Check if the URL is obtained successfully
if [ -z "$latest_tarball_url" ]; then
echo -e "${ERROR} Unable to fetch the tarball URL for the latest release."
exit 1
fi
# Get the filename from the URL and include the tag name in the file name
file_name="Hyprland-Dots-${latest_tag}.tar.gz"
# Download the latest release source code tarball to the current directory
if curl -L "$latest_tarball_url" -o "$file_name"; then
# Extract the contents of the tarball
tar -xzf "$file_name" || exit 1
# delete existing Hyprland-Dots
rm -rf JaKooLit-Hyprland-Dots
# Identify the extracted directory
extracted_directory=$(tar -tf "$file_name" | grep -o '^[^/]\+' | uniq)
# Rename the extracted directory to JaKooLit-Hyprland-Dots
mv "$extracted_directory" JaKooLit-Hyprland-Dots || exit 1
cd "JaKooLit-Hyprland-Dots" || exit 1
# Set execute permission for copy.sh and execute it
chmod +x copy.sh
./copy.sh 2>&1 | tee -a "../install-$(date +'%d-%H%M%S')_dots.log"
echo -e "${OK} Latest source code release downloaded, extracted, and processed successfully."
else
echo -e "${ERROR} Failed to download the latest source code release."
exit 1
fi

43
install-scripts/fonts.sh Executable file
View File

@@ -0,0 +1,43 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Fonts #
# These fonts are minimun required for pre-configured dots to work. You can add here as required
# WARNING! If you remove packages here, dotfiles may not work properly.
# and also, ensure that packages are present in AUR and official Arch Repo
fonts=(
adobe-source-code-pro-fonts
noto-fonts-emoji
otf-font-awesome
ttf-droid
ttf-fira-code
ttf-fantasque-nerd
ttf-jetbrains-mono
ttf-jetbrains-mono-nerd
ttf-victor-mono
)
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Change the working directory to the parent directory of the script
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="Install-Logs/install-$(date +%d-%H%M%S)_fonts.log"
# Installation of main components
printf "\n%s - Installing necessary ${SKY_BLUE}fonts${RESET}.... \n" "${NOTE}"
for PKG1 in "${fonts[@]}"; do
install_package "$PKG1" "$LOG"
done
printf "\n%.0s" {1..2}

83
install-scripts/gtk_themes.sh Normal file → Executable file
View File

@@ -1,6 +1,13 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# GTK Themes & ICONS and Sourcing from a different Repo #
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### engine=(
unzip
gtk-engine-murrine
)
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located # Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@@ -9,66 +16,32 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.." PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1 cd "$PARENT_DIR" || exit 1
# Set some colors for output messages source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
# Set the name of the log file to include the current date and time # Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_themes.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_themes.log"
ISAUR=$(command -v yay || command -v paru) # installing engine needed for gtk themes
for PKG1 in "${engine[@]}"; do
# Set the script to exit on error install_package "$PKG1" "$LOG"
set -e
# Function for installing packages
install_package() {
# Checking if package is already installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
# Making sure package is installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "\e[1A\e[K${OK} $1 was installed."
else
# Something is missing, exiting to review log
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
exit 1
fi
fi
}
# installing unzip package to unzip theme packages
for PKG1 in unzip; do
install_package "$PKG1" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then
echo -e "\033[1A\033[K${ERROR} - $PKG1 install had failed, please check the install.log"
exit 1
fi
done done
# Themes and cursors # Check if the directory exists and delete it if present
printf "${NOTE} Installing Tokyo Theme GTK packages...\n" if [ -d "GTK-themes-icons" ]; then
if wget https://github.com/ljmill/tokyo-night-icons/releases/download/v0.2.0/TokyoNight-SE.tar.bz2; then echo "$NOTE GTK themes and Icons folder exist..deleting..." 2>&1 | tee -a "$LOG"
mkdir -p ~/.icons rm -rf "GTK-themes-icons" 2>&1 | tee -a "$LOG"
tar -xvjf TokyoNight-SE.tar.bz2 -C ~/.icons
mkdir -p ~/.themes
unzip -q "assets/tokyo-themes/Tokyonight-Dark-B.zip" -d ~/.themes || true
unzip -q "assets/tokyo-themes/Tokyonight-Light-B.zip" -d ~/.themes || true
else
echo -e "${ERROR} Download failed for Tokyo Theme GTK packages."
fi fi
tar -xf "assets/Bibata-Modern-Ice.tar.xz" -C ~/.icons 2>&1 | tee -a "$LOG" echo "$NOTE Cloning ${SKY_BLUE}GTK themes and Icons${RESET} repository..." 2>&1 | tee -a "$LOG"
if git clone --depth 1 https://github.com/JaKooLit/GTK-themes-icons.git ; then
cd GTK-themes-icons
chmod +x auto-extract.sh
./auto-extract.sh
cd ..
echo "$OK Extracted GTK Themes & Icons to ~/.icons & ~/.themes folders" 2>&1 | tee -a "$LOG"
else
echo "$ERROR Download failed for GTK themes and Icons.." 2>&1 | tee -a "$LOG"
fi
clear printf "\n%.0s" {1..2}

71
install-scripts/hyprland.sh Normal file → Executable file
View File

@@ -1,63 +1,42 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Main Hyprland Package #
hypr=( hypr=(
hyprland hyprland
hypridle
hyprlock
pyprland
libspng
) )
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Set some colors for output messages # Determine the directory where the script is located
OK="$(tput setaf 2)[OK]$(tput sgr0)" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" # Change the working directory to the parent directory of the script
WARN="$(tput setaf 166)[WARN]$(tput sgr0)" PARENT_DIR="$SCRIPT_DIR/.."
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" cd "$PARENT_DIR" || exit 1
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
# Set the name of the log file to include the current date and time # Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_hyprland.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprland.log"
ISAUR=$(command -v yay || command -v paru) source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the script to exit on error
set -e
# Function for installing packages
install_package() {
# Checking if package is already installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
# Making sure package is installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "\e[1A\e[K${OK} $1 was installed."
else
# Something is missing, exiting to review log
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
exit 1
fi
fi
}
# Removing other Hyprland to avoid conflict # Removing other Hyprland to avoid conflict
printf "${YELLOW} Checking for other hyprland packages and remove if any..${RESET}\n" printf "${YELLOW} Checking for other hyprland packages and remove if any..${RESET}\n"
if pacman -Qs hyprland > /dev/null; then if pacman -Qs hyprland >/dev/null; then
printf "${YELLOW} Hyprland detected. uninstalling to install Hyprland-git...${RESET}\n" printf "${YELLOW} Hyprland detected. attempting to uninstall to install Hyprland from official repo...${RESET}\n"
for hyprnvi in hyprland-git hyprland-nvidia hyprland-nvidia-git hyprland-nvidia-hidpi-git; do for hyprnvi in hyprland-git hyprland-nvidia hyprland-nvidia-git hyprland-nvidia-hidpi-git; do
sudo pacman -R --noconfirm "$hyprnvi" 2>/dev/null | tee -a "$LOG" || true sudo pacman -R --noconfirm "$hyprnvi" 2>/dev/null | tee -a "$LOG" || true
done done
fi fi
# Hyprland # Hyprland
printf "${NOTE} Installing Hyprland .......\n" printf "${NOTE} Installing ${SKY_BLUE}Hyprland packages${RESET} .......\n"
for HYPR in "${hypr[@]}"; do for HYPR in "${hypr[@]}"; do
install_package "$HYPR" 2>&1 | tee -a "$LOG" install_package "$HYPR" "$LOG"
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $HYPR install had failed, please check the install.log"; exit 1; } done
done
clear printf "\n%.0s" {1..2}

147
install-scripts/nvidia.sh Normal file → Executable file
View File

@@ -1,78 +1,44 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Nvidia Stuffs #
nvidia_pkg=( nvidia_pkg=(
nvidia-dkms nvidia-dkms
nvidia-settings nvidia-settings
nvidia-utils nvidia-utils
libva libva
libva-nvidia-driver-git libva-nvidia-driver
) )
hypr=(
hyprland
)
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Set some colors for output messages # Change the working directory to the parent directory of the script
OK="$(tput setaf 2)[OK]$(tput sgr0)" PARENT_DIR="$SCRIPT_DIR/.."
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" cd "$PARENT_DIR" || exit 1
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)" source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
# Set the name of the log file to include the current date and time # Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_nvidia.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_nvidia.log"
ISAUR=$(command -v yay || command -v paru)
# Set the script to exit on error
set -e
# Function for installing packages
install_package() {
# Checking if package is already installed
if $ISAUR -Q "$1" &>> /dev/null; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
# Making sure package is installed
if $ISAUR -Q "$1" &>> /dev/null; then
echo -e "\e[1A\e[K${OK} $1 was installed."
else
# Something is missing, exiting to review log
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry, I have tried :("
exit 1
fi
fi
}
# nvidia stuff # nvidia stuff
printf "${YELLOW} Checking for other hyprland packages and remove if any..${RESET}\n" printf "${YELLOW} Checking for other hyprland packages and remove if any..${RESET}\n"
if pacman -Qs hyprland > /dev/null; then if pacman -Qs hyprland > /dev/null; then
printf "${YELLOW} Hyprland detected. uninstalling to install Hyprland-git...${RESET}\n" printf "${YELLOW} Hyprland detected. removing to install Hyprland from official repo...${RESET}\n"
for hyprnvi in hyprland-git hyprland-nvidia hyprland-nvidia-git hyprland-nvidia-hidpi-git; do for hyprnvi in hyprland-git hyprland-nvidia hyprland-nvidia-git hyprland-nvidia-hidpi-git; do
sudo pacman -R --noconfirm "$hyprnvi" 2>/dev/null | tee -a "$LOG" || true sudo pacman -R --noconfirm "$hyprnvi" 2>/dev/null | tee -a "$LOG" || true
done done
fi fi
# Hyprland
printf "${NOTE} Installing Hyprland......\n"
for HYPR in "${hypr[@]}"; do
install_package "$HYPR" 2>&1 | tee -a "$LOG"
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $HYPR install had failed, please check the install.log"; exit 1; }
done
# Install additional Nvidia packages # Install additional Nvidia packages
printf "${YELLOW} Installing addition Nvidia packages...\n" printf "${YELLOW} Installing ${SKY_BLUE}Nvidia Packages and Linux headers${RESET}...\n"
for krnl in $(cat /usr/lib/modules/*/pkgbase); do for krnl in $(cat /usr/lib/modules/*/pkgbase); do
for NVIDIA in "${krnl}-headers" "${nvidia_pkg[@]}"; do for NVIDIA in "${krnl}-headers" "${nvidia_pkg[@]}"; do
install_package "$NVIDIA" 2>&1 | tee -a "$LOG" install_package "$NVIDIA" "$LOG"
done done
done done
@@ -81,63 +47,74 @@ if grep -qE '^MODULES=.*nvidia. *nvidia_modeset.*nvidia_uvm.*nvidia_drm' /etc/mk
echo "Nvidia modules already included in /etc/mkinitcpio.conf" 2>&1 | tee -a "$LOG" echo "Nvidia modules already included in /etc/mkinitcpio.conf" 2>&1 | tee -a "$LOG"
else else
sudo sed -Ei 's/^(MODULES=\([^\)]*)\)/\1 nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf 2>&1 | tee -a "$LOG" sudo sed -Ei 's/^(MODULES=\([^\)]*)\)/\1 nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf 2>&1 | tee -a "$LOG"
echo "Nvidia modules added in /etc/mkinitcpio.conf" echo "${OK} Nvidia modules added in /etc/mkinitcpio.conf"
fi fi
printf "\n%.0s" {1..1}
printf "${INFO} Rebuilding ${YELLOW}Initramfs${RESET}...\n" 2>&1 | tee -a "$LOG"
sudo mkinitcpio -P 2>&1 | tee -a "$LOG" sudo mkinitcpio -P 2>&1 | tee -a "$LOG"
printf "\n\n\n"
printf "\n%.0s" {1..1}
# Additional Nvidia steps # Additional Nvidia steps
NVEA="/etc/modprobe.d/nvidia.conf" NVEA="/etc/modprobe.d/nvidia.conf"
if [ -f "$NVEA" ]; then if [ -f "$NVEA" ]; then
printf "${OK} Seems like nvidia-drm modeset=1 is already added in your system..moving on.\n" printf "${INFO} Seems like ${YELLOW}nvidia_drm modeset=1 fbdev=1${RESET} is already added in your system..moving on."
printf "\n" printf "\n"
else else
printf "\n" printf "\n"
printf "${YELLOW} Adding options to $NVEA..." printf "${YELLOW} Adding options to $NVEA..."
sudo echo -e "options nvidia-drm modeset=1" | sudo tee -a /etc/modprobe.d/nvidia.conf 2>&1 | tee -a "$LOG" sudo echo -e "options nvidia_drm modeset=1 fbdev=1" | sudo tee -a /etc/modprobe.d/nvidia.conf 2>&1 | tee -a "$LOG"
printf "\n" printf "\n"
fi fi
# additional for GRUB users # Additional for GRUB users
# Check if /etc/default/grub exists
if [ -f /etc/default/grub ]; then if [ -f /etc/default/grub ]; then
# Check if nvidia_drm.modeset=1 is already present printf "${INFO} ${YELLOW}GRUB${RESET} bootloader detected\n" 2>&1 | tee -a "$LOG"
# Check if nvidia-drm.modeset=1 is present
if ! sudo grep -q "nvidia-drm.modeset=1" /etc/default/grub; then if ! sudo grep -q "nvidia-drm.modeset=1" /etc/default/grub; then
# Add nvidia_drm.modeset=1 to GRUB_CMDLINE_LINUX_DEFAULT sudo sed -i -e 's/\(GRUB_CMDLINE_LINUX_DEFAULT=".*\)"/\1 nvidia-drm.modeset=1"/' /etc/default/grub
sudo sed -i 's/\(GRUB_CMDLINE_LINUX_DEFAULT=".*\)"/\1 nvidia-drm.modeset=1"/' /etc/default/grub printf "${OK} nvidia-drm.modeset=1 added to /etc/default/grub\n" 2>&1 | tee -a "$LOG"
# Regenerate GRUB configuration
sudo grub-mkconfig -o /boot/grub/grub.cfg
echo "nvidia-drm.modeset=1 added to /etc/default/grub"
else
echo "nvidia-drm.modeset=1 is already present in /etc/default/grub"
fi fi
else
echo "/etc/default/grub does not exist" # Check if nvidia_drm.fbdev=1 is present
if ! sudo grep -q "nvidia_drm.fbdev=1" /etc/default/grub; then
sudo sed -i -e 's/\(GRUB_CMDLINE_LINUX_DEFAULT=".*\)"/\1 nvidia_drm.fbdev=1"/' /etc/default/grub
printf "${OK} nvidia_drm.fbdev=1 added to /etc/default/grub\n" 2>&1 | tee -a "$LOG"
fi
# Regenerate GRUB configuration
if sudo grep -q "nvidia-drm.modeset=1" /etc/default/grub || sudo grep -q "nvidia_drm.fbdev=1" /etc/default/grub; then
sudo grub-mkconfig -o /boot/grub/grub.cfg
printf "${INFO} ${YELLOW}GRUB${RESET} configuration regenerated\n" 2>&1 | tee -a "$LOG"
fi
printf "${OK} Additional steps for ${YELLOW}GRUB${RESET} completed\n" 2>&1 | tee -a "$LOG"
fi fi
# Blacklist nouveau # Additional for systemd-boot users
read -n1 -rep "${CAT} Would you like to blacklist nouveau? (y/n)" response if [ -f /boot/loader/loader.conf ]; then
echo printf "${INFO} ${YELLOW}systemd-boot${RESET} bootloader detected\n" 2>&1 | tee -a "$LOG"
if [[ $response =~ ^[Yy]$ ]]; then
NOUVEAU="/etc/modprobe.d/nouveau.conf"
if [ -f "$NOUVEAU" ]; then
printf "${OK} Seems like nouveau is already blacklisted..moving on.\n"
else
printf "\n"
echo "blacklist nouveau" | sudo tee -a "$NOUVEAU" 2>&1 | tee -a "$LOG"
printf "${NOTE} has been added to $NOUVEAU.\n"
printf "\n"
# To completely blacklist nouveau (See wiki.archlinux.org/title/Kernel_module#Blacklisting 6.1) backup_count=$(find /boot/loader/entries/ -type f -name "*.conf.bak" | wc -l)
if [ -f "/etc/modprobe.d/blacklist.conf" ]; then conf_count=$(find /boot/loader/entries/ -type f -name "*.conf" | wc -l)
echo "install nouveau /bin/true" | sudo tee -a "/etc/modprobe.d/blacklist.conf" 2>&1 | tee -a "$LOG"
if [ "$backup_count" -ne "$conf_count" ]; then
find /boot/loader/entries/ -type f -name "*.conf" | while read imgconf; do
# Backup conf
sudo cp "$imgconf" "$imgconf.bak"
printf "${INFO} Backup created for systemd-boot loader: %s\n" "$imgconf" 2>&1 | tee -a "$LOG"
# Clean up options and update with NVIDIA settings
sdopt=$(grep -w "^options" "$imgconf" | sed 's/\b nvidia-drm.modeset=[^ ]*\b//g' | sed 's/\b nvidia_drm.fbdev=[^ ]*\b//g')
sudo sed -i "/^options/c${sdopt} nvidia-drm.modeset=1 nvidia_drm.fbdev=1" "$imgconf" 2>&1 | tee -a "$LOG"
done
printf "${OK} Additional steps for ${YELLOW}systemd-boot${RESET} completed\n" 2>&1 | tee -a "$LOG"
else else
echo "install nouveau /bin/true" | sudo tee "/etc/modprobe.d/blacklist.conf" 2>&1 | tee -a "$LOG" printf "${NOTE} ${YELLOW}systemd-boot${RESET} is already configured...\n" 2>&1 | tee -a "$LOG"
fi fi
fi
else
printf "${NOTE} Skipping nouveau blacklisting.\n"
fi fi
clear printf "\n%.0s" {1..2}

View File

@@ -0,0 +1,34 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Nvidia Blacklist #
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Change the working directory to the parent directory of the script
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="Install-Logs/install-$(date +%d-%H%M%S)_nvidia.log"
printf "${INFO} ${SKY_BLUE}blacklist nouveau${RESET}...\n"
# Blacklist nouveau
NOUVEAU="/etc/modprobe.d/nouveau.conf"
if [ -f "$NOUVEAU" ]; then
printf "${OK} Seems like ${YELLOW}nouveau${RESET} is already blacklisted..moving on.\n"
else
echo "blacklist nouveau" | sudo tee -a "$NOUVEAU" 2>&1 | tee -a "$LOG"
# To completely blacklist nouveau (See wiki.archlinux.org/title/Kernel_module#Blacklisting 6.1)
if [ -f "/etc/modprobe.d/blacklist.conf" ]; then
echo "install nouveau /bin/true" | sudo tee -a "/etc/modprobe.d/blacklist.conf" 2>&1 | tee -a "$LOG"
else
echo "install nouveau /bin/true" | sudo tee "/etc/modprobe.d/blacklist.conf" 2>&1 | tee -a "$LOG"
fi
fi
printf "\n%.0s" {1..2}

47
install-scripts/pacman.sh Executable file
View File

@@ -0,0 +1,47 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# pacman adding up extra-spices #
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="Install-Logs/install-$(date +%d-%H%M%S)_pacman.log"
echo -e "${NOTE} Adding ${MAGENTA}Extra Spice${RESET} in pacman.conf ... ${RESET}" 2>&1 | tee -a "$LOG"
pacman_conf="/etc/pacman.conf"
# Remove comments '#' from specific lines
lines_to_edit=(
"Color"
"CheckSpace"
"VerbosePkgLists"
"ParallelDownloads"
)
# Uncomment specified lines if they are commented out
for line in "${lines_to_edit[@]}"; do
if grep -q "^#$line" "$pacman_conf"; then
sudo sed -i "s/^#$line/$line/" "$pacman_conf"
echo -e "${CAT} Uncommented: $line ${RESET}" 2>&1 | tee -a "$LOG"
else
echo -e "${CAT} $line is already uncommented. ${RESET}" 2>&1 | tee -a "$LOG"
fi
done
# Add "ILoveCandy" below ParallelDownloads if it doesn't exist
if grep -q "^ParallelDownloads" "$pacman_conf" && ! grep -q "^ILoveCandy" "$pacman_conf"; then
sudo sed -i "/^ParallelDownloads/a ILoveCandy" "$pacman_conf"
echo -e "${CAT} Added ${MAGENTA}ILoveCandy${RESET} after ${MAGENTA}ParallelDownloads${RESET}. ${RESET}" 2>&1 | tee -a "$LOG"
else
echo -e "${CAT} It seems ${YELLOW}ILoveCandy${RESET} already exists ${RESET} moving on.." 2>&1 | tee -a "$LOG"
fi
echo -e "${CAT} ${MAGENTA}Pacman.conf${RESET} spicing up completed ${RESET}" 2>&1 | tee -a "$LOG"
# updating pacman.conf
printf "\n%s - ${SKY_BLUE}Synchronizing Pacman Repo${RESET}\n" "${INFO}"
sudo pacman -Sy
printf "\n%.0s" {1..2}

52
install-scripts/paru.sh Normal file → Executable file
View File

@@ -1,31 +1,53 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Paru AUR Helper #
# NOTE: If yay is already installed, paru will not be installed #
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### pkg="paru-bin"
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_yay.log"
# Set some colors for output messages # Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)" OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)" INFO="$(tput setaf 4)[INFO]$(tput sgr0)"
WARN="$(tput setaf 1)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166) MAGENTA="$(tput setaf 5)"
YELLOW=$(tput setaf 3) ORANGE="$(tput setaf 214)"
RESET=$(tput sgr0) WARNING="$(tput setaf 1)"
YELLOW="$(tput setaf 3)"
GREEN="$(tput setaf 2)"
BLUE="$(tput setaf 4)"
SKY_BLUE="$(tput setaf 6)"
RESET="$(tput sgr0)"
# Set the name of the log file to include the current date and time # Create Directory for Install Logs
LOG="install-$(date +%d-%H%M%S)_paru.log" if [ ! -d Install-Logs ]; then
mkdir Install-Logs
fi
# Check for AUR helper and install if not found # Check for AUR helper and install if not found
ISAUR=$(command -v yay || command -v paru) ISAUR=$(command -v yay || command -v paru)
if [ -n "$ISAUR" ]; then if [ -n "$ISAUR" ]; then
printf "\n%s - AUR helper was located, moving on.\n" "${OK}" printf "\n%s - ${SKY_BLUE}AUR helper${RESET} already installed, moving on.\n" "${OK}"
else else
printf "\n%s - AUR helper was NOT located\n" "$WARN" printf "\n%s - Installing ${SKY_BLUE}$pkg${RESET} from AUR\n" "${NOTE}"
printf "\n%s - Installing paru from AUR\n" "${NOTE}"
git clone https://aur.archlinux.org/paru-bin.git || { printf "%s - Failed to clone paru from AUR\n" "${ERROR}"; exit 1; } # Check if folder exists and remove it
cd paru-bin || { printf "%s - Failed to enter paru-bin directory\n" "${ERROR}"; exit 1; } if [ -d "$pkg" ]; then
makepkg -si --noconfirm 2>&1 | tee -a "$LOG" || { printf "%s - Failed to install paru from AUR\n" "${ERROR}"; exit 1; } rm -rf "$pkg"
fi
git clone https://aur.archlinux.org/$pkg.git || { printf "%s - Failed to clone ${YELLOW}$pkg${RESET} from AUR\n" "${ERROR}"; exit 1; }
cd $pkg || { printf "%s - Failed to enter $pkg directory\n" "${ERROR}"; exit 1; }
makepkg -si --noconfirm 2>&1 | tee -a "$LOG" || { printf "%s - Failed to install ${YELLOW}$pkg${RESET} from AUR\n" "${ERROR}"; exit 1; }
# moving install logs in to Install-Logs folder
mv install*.log ../Install-Logs/ || true
cd ..
fi fi
# Update system before proceeding # Update system before proceeding
@@ -34,4 +56,4 @@ ISAUR=$(command -v yay || command -v paru)
$ISAUR -Syu --noconfirm 2>&1 | tee -a "$LOG" || { printf "%s - Failed to update system\n" "${ERROR}"; exit 1; } $ISAUR -Syu --noconfirm 2>&1 | tee -a "$LOG" || { printf "%s - Failed to update system\n" "${ERROR}"; exit 1; }
clear printf "\n%.0s" {1..2}

79
install-scripts/pipewire.sh Normal file → Executable file
View File

@@ -1,4 +1,6 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Pipewire and Pipewire Audio Stuff #
pipewire=( pipewire=(
pipewire pipewire
@@ -6,65 +8,48 @@ pipewire=(
pipewire-audio pipewire-audio
pipewire-alsa pipewire-alsa
pipewire-pulse pipewire-pulse
sof-firmware
)
# added this as some reports script didnt install this.
# basically force reinstall
pipewire_2=(
pipewire-pulse
) )
############## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ############## ############## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##############
# Set some colors for output messages # Set some colors for output messages
OK=$(tput setaf 2)[OK]$(tput sgr0) # Determine the directory where the script is located
ERROR=$(tput setaf 1)[ERROR]$(tput sgr0) SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
NOTE=$(tput setaf 3)[NOTE]$(tput sgr0)
WARN=$(tput setaf 166)[WARN]$(tput sgr0) # Change the working directory to the parent directory of the script
CAT=$(tput setaf 6)[ACTION]$(tput sgr0) PARENT_DIR="$SCRIPT_DIR/.."
ORANGE=$(tput setaf 166) cd "$PARENT_DIR" || exit 1
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0) source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time # Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_bluetooth.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_pipewire.log"
ISAUR=$(command -v yay || command -v paru) # Disabling pulseaudio to avoid conflicts and logging output
echo -e "${NOTE} Disabling pulseaudio to avoid conflicts..."
# Set the script to exit on error systemctl --user disable --now pulseaudio.socket pulseaudio.service >> "$LOG" 2>&1 || true
set -e
# Function for installing packages
install_package() {
# Checking if the package is already installed
if $ISAUR -Q "$1" &>>/dev/null; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
# Making sure the package is installed
if $ISAUR -Q "$1" &>>/dev/null; then
echo -e "\e[1A\e[K${OK} $1 was installed."
else
# Something is missing, exiting to review the log
echo -e "\e[1A\e[K${ERROR} $1 failed to install. Please check the install.log. You may need to install manually! Sorry I have tried :("
exit 1
fi
fi
}
# Removal of pulseaudio
printf "${YELLOW}Removing pulseaudio stuff...${RESET}\n"
for pulseaudio in pulseaudio pulseaudio-alsa pulseaudio-bluetooth; do
sudo pacman -R --noconfirm "$pulseaudio" 2>/dev/null | tee -a "$LOG" || true
done
# Disabling pulseaudio to avoid conflicts
systemctl --user disable --now pulseaudio.socket pulseaudio.service 2>&1 | tee -a "$LOG"
# Pipewire # Pipewire
printf "${NOTE} Installing Pipewire Packages...\n" echo -e "${NOTE} Installing ${SKY_BLUE}Pipewire${RESET} Packages..."
for PIPEWIRE in "${pipewire[@]}"; do for PIPEWIRE in "${pipewire[@]}"; do
install_package "$PIPEWIRE" 2>&1 | tee -a "$LOG" install_package "$PIPEWIRE" "$LOG"
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $PIPEWIRE install had failed. Please check the install.log"; exit 1; }
done done
printf "Activating Pipewire Services...\n" for PIPEWIRE2 in "${pipewire_2[@]}"; do
install_package_pacman "$PIPEWIRE" "$LOG"
done
echo -e "${NOTE} Activating Pipewire Services..."
# Redirect systemctl output to log file
systemctl --user enable --now pipewire.socket pipewire-pulse.socket wireplumber.service 2>&1 | tee -a "$LOG" systemctl --user enable --now pipewire.socket pipewire-pulse.socket wireplumber.service 2>&1 | tee -a "$LOG"
systemctl --user enable --now pipewire.service 2>&1 | tee -a "$LOG" systemctl --user enable --now pipewire.service 2>&1 | tee -a "$LOG"
clear echo -e "\n${OK} Pipewire Installation and services setup complete!" 2>&1 | tee -a "$LOG"
printf "\n%.0s" {1..2}

70
install-scripts/rog.sh Normal file → Executable file
View File

@@ -1,8 +1,15 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Asus ROG Laptops #
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### rog=(
power-profiles-daemon
asusctl
supergfxctl
rog-control-center
)
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located # Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@@ -10,55 +17,22 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.." PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1 cd "$PARENT_DIR" || exit 1
# Set some colors for output messages source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
# Set the name of the log file to include the current date and time # Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_rog.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_rog.log"
ISAUR=$(command -v yay || command -v paru)
# Set the script to exit on error
set -e
# Function for installing packages
install_package() {
# Checking if package is already installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
# Making sure package is installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "\e[1A\e[K${OK} $1 was installed."
else
# Something is missing, exiting to review log
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
exit 1
fi
fi
}
### Install software for Asus ROG laptops ### ### Install software for Asus ROG laptops ###
printf " Installing ASUS ROG packages...\n" printf " Installing ${SKY_BLUE}ASUS ROG packages${RESET}...\n"
for ASUS in asusctl supergfxctl rog-control-center; do for ASUS in "${rog[@]}"; do
install_package "$ASUS" 2>&1 | tee -a "$LOG" install_package "$ASUS" "$LOG"
if [ $? -ne 0 ]; then done
echo -e "\e[1A\e[K${ERROR} - $ASUS install had failed, please check the install.log"
exit 1
fi
done
printf " Activating ROG services...\n"
sudo systemctl enable --now supergfxd 2>&1 | tee -a "$LOG"
clear printf " Activating ROG services...\n"
sudo systemctl enable supergfxd 2>&1 | tee -a "$LOG"
printf " enabling power-profiles-daemon...\n"
sudo systemctl enable power-profiles-daemon 2>&1 | tee -a "$LOG"
printf "\n%.0s" {1..2}

149
install-scripts/sddm.sh Normal file → Executable file
View File

@@ -1,7 +1,24 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# SDDM Log-in Manager #
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### sddm=(
qt6-5compat
qt6-declarative
qt6-svg
sddm
)
# login managers to attempt to disable
login=(
lightdm
gdm3
gdm
lxdm
lxdm-gtk3
)
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located # Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@@ -9,113 +26,41 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.." PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1 cd "$PARENT_DIR" || exit 1
# Set some colors for output messages source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
# Set the name of the log file to include the current date and time # Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_sddm.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_sddm.log"
ISAUR=$(command -v yay || command -v paru)
# Set the script to exit on error # Install SDDM and SDDM theme
set -e printf "${NOTE} Installing sddm and dependencies........\n"
for package in "${sddm[@]}"; do
# Function for installing packages install_package "$package" "$LOG"
install_package() {
# Checking if package is already installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
# Making sure package is installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "\e[1A\e[K${OK} $1 was installed."
else
# Something is missing, exiting to review log
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
exit 1
fi
fi
}
# SDDM
# Check if SDDM is already installed
if pacman -Qs sddm > /dev/null; then
# Prompt user to manually install sddm-git to remove SDDM
read -n1 -rep "SDDM is already installed. Would you like to manually install sddm-git to remove it? This requires manual intervention. (y/n)" manual_install_sddm
echo
if [[ $manual_install_sddm =~ ^[Yy]$ ]]; then
$ISAUR -S sddm-git 2>&1 | tee -a "$LOG"
fi
fi
# Install SDDM and Catppuccin theme
printf "${NOTE} Installing SDDM-git........\n"
for package in sddm-git; do
install_package "$package" 2>&1 | tee -a "$LOG"
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $package install has failed, please check the install.log"; exit 1; }
done done
# Check if other login managers installed and disabling its service before enabling sddm printf "\n%.0s" {1..1}
for login_manager in lightdm gdm lxdm lxdm-gtk3; do
if pacman -Qs "$login_manager" > /dev/null; then
echo "disabling $login_manager..."
sudo systemctl disable "$login_manager.service" 2>&1 | tee -a "$LOG"
fi
done
printf " Activating sddm service........\n" # Check if other login managers installed and disabling its service before enabling sddm
sudo systemctl enable sddm for login_manager in "${login[@]}"; do
if pacman -Qs "$login_manager" > /dev/null 2>&1; then
# Set up SDDM sudo systemctl disable "$login_manager.service" >> "$LOG" 2>&1
echo -e "${NOTE} Setting up the login screen." echo "$login_manager disabled." >> "$LOG" 2>&1
sddm_conf_dir=/etc/sddm.conf.d
[ ! -d "$sddm_conf_dir" ] && { printf "$CAT - $sddm_conf_dir not found, creating...\n"; sudo mkdir "$sddm_conf_dir" 2>&1 | tee -a "$LOG"; }
wayland_sessions_dir=/usr/share/wayland-sessions
[ ! -d "$wayland_sessions_dir" ] && { printf "$CAT - $wayland_sessions_dir not found, creating...\n"; sudo mkdir "$wayland_sessions_dir" 2>&1 | tee -a "$LOG"; }
sudo cp assets/hyprland.desktop "$wayland_sessions_dir/" 2>&1 | tee -a "$LOG"
# SDDM-themes
read -n1 -rep "${CAT} OPTIONAL - Would you like to install SDDM themes? (y/n)" install_sddm_theme
if [[ $install_sddm_theme =~ ^[Yy]$ ]]; then
while true; do
read -rp "${CAT} Which SDDM Theme you want to install? Catpuccin or Tokyo Night 'c' or 't': " choice
case "$choice" in
c|C)
printf "\n%s - Installing Catpuccin SDDM Theme\n" "${NOTE}"
for sddm_theme in sddm-catppuccin-git; do
install_package "$sddm_theme" 2>&1 | tee -a "$LOG"
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $sddm_theme install has failed, please check the install.log"; }
done
echo -e "[Theme]\nCurrent=catppuccin" | sudo tee -a "$sddm_conf_dir/10-theme.conf" 2>&1 | tee -a "$LOG"
break
;;
t|T)
printf "\n%s - Installing Tokyo SDDM Theme\n" "${NOTE}"
for sddm_theme in sddm-theme-tokyo-night; do
install_package "$sddm_theme" 2>&1 | tee -a "$LOG"
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $sddm_theme install has failed, please check the install.log"; }
done
echo -e "[Theme]\nCurrent=tokyo-night-sddm" | sudo tee -a "$sddm_conf_dir/10-theme.conf" 2>&1 | tee -a "$LOG"
break
;;
*)
printf "%s - Invalid choice. Please enter 'c' or 't'\n" "${ERROR}"
continue
;;
esac
done
fi fi
done
clear # Double check with systemctl
for manager in "${login[@]}"; do
if systemctl is-active --quiet "$manager" > /dev/null 2>&1; then
echo "$manager is active, disabling it..." >> "$LOG" 2>&1
sudo systemctl disable "$manager" --now >> "$LOG" 2>&1
fi
done
printf "\n%.0s" {1..1}
printf "${INFO} Activating sddm service........\n"
sudo systemctl enable sddm
wayland_sessions_dir=/usr/share/wayland-sessions
[ ! -d "$wayland_sessions_dir" ] && { printf "$CAT - $wayland_sessions_dir not found, creating...\n"; sudo mkdir "$wayland_sessions_dir" 2>&1 | tee -a "$LOG"; }
printf "\n%.0s" {1..2}

106
install-scripts/sddm_theme.sh Executable file
View File

@@ -0,0 +1,106 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# SDDM themes #
source_theme="https://codeberg.org/JaKooLit/sddm-sequoia"
theme_name="sequoia_2"
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Change the working directory to the parent directory of the script
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="Install-Logs/install-$(date +%d-%H%M%S)_sddm_theme.log"
# SDDM-themes
printf "${INFO} Installing ${SKY_BLUE}Additional SDDM Theme${RESET}\n"
# Check if /usr/share/sddm/themes/$theme_name exists and remove if it does
if [ -d "/usr/share/sddm/themes/$theme_name" ]; then
sudo rm -rf "/usr/share/sddm/themes/$theme_name"
echo -e "\e[1A\e[K${OK} - Removed existing $theme_name directory." 2>&1 | tee -a "$LOG"
fi
# Check if $theme_name directory exists in the current directory and remove if it does
if [ -d "$theme_name" ]; then
rm -rf "$theme_name"
echo -e "\e[1A\e[K${OK} - Removed existing $theme_name directory from the current location." 2>&1 | tee -a "$LOG"
fi
# Clone the repository
if git clone --depth 1 "$source_theme" "$theme_name"; then
if [ ! -d "$theme_name" ]; then
echo "${ERROR} Failed to clone the repository." | tee -a "$LOG"
fi
# Create themes directory if it doesn't exist
if [ ! -d "/usr/share/sddm/themes" ]; then
sudo mkdir -p /usr/share/sddm/themes
echo "${OK} - Directory '/usr/share/sddm/themes' created." | tee -a "$LOG"
fi
# Move cloned theme to the themes directory
sudo mv "$theme_name" "/usr/share/sddm/themes/$theme_name" 2>&1 | tee -a "$LOG"
# setting up SDDM theme
sddm_conf_dir="/etc/sddm.conf.d"
BACKUP_SUFFIX=".bak"
echo -e "${NOTE} Setting up the login screen." | tee -a "$LOG"
if [ -d "$sddm_conf_dir" ]; then
echo "Backing up files in $sddm_conf_dir" | tee -a "$LOG"
for file in "$sddm_conf_dir"/*; do
if [ -f "$file" ]; then
if [[ "$file" == *$BACKUP_SUFFIX ]]; then
echo "Skipping backup file: $file" | tee -a "$LOG"
continue
fi
# Backup each original file
sudo cp "$file" "$file$BACKUP_SUFFIX" 2>&1 | tee -a "$LOG"
echo "Backup created for $file" | tee -a "$LOG"
# Edit existing "Current="
if grep -q '^[[:space:]]*Current=' "$file"; then
sudo sed -i "s/^[[:space:]]*Current=.*/Current=$theme_name/" "$file" 2>&1 | tee -a "$LOG"
echo "Updated theme in $file" | tee -a "$LOG"
fi
fi
done
else
echo "$CAT - $sddm_conf_dir not found, creating..." | tee -a "$LOG"
sudo mkdir -p "$sddm_conf_dir" 2>&1 | tee -a "$LOG"
fi
if [ ! -f "$sddm_conf_dir/theme.conf.user" ]; then
echo -e "[Theme]\nCurrent = $theme_name" | sudo tee "$sddm_conf_dir/theme.conf.user" > /dev/null
if [ -f "$sddm_conf_dir/theme.conf.user" ]; then
echo "Created and configured $sddm_conf_dir/theme.conf.user with theme $theme_name" | tee -a "$LOG"
else
echo "Failed to create $sddm_conf_dir/theme.conf.user" | tee -a "$LOG"
fi
else
echo "$sddm_conf_dir/theme.conf.user already exists, skipping creation." | tee -a "$LOG"
fi
# Replace current background from assets
sudo cp -r assets/sddm.png "/usr/share/sddm/themes/$theme_name/backgrounds/default" 2>&1 | tee -a "$LOG"
sudo sed -i 's|^wallpaper=".*"|wallpaper="backgrounds/default"|' "/usr/share/sddm/themes/$theme_name/theme.conf" 2>&1 | tee -a "$LOG"
echo "${OK} - ${MAGENTA}Additional SDDM Theme${RESET} successfully installed." | tee -a "$LOG"
else
echo "${ERROR} - Failed to clone the sddm theme repository. Please check your internet connection." | tee -a "$LOG" >&2
fi
printf "\n%.0s" {1..2}

86
install-scripts/thunar.sh Normal file → Executable file
View File

@@ -1,14 +1,17 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Thunar #
thunar=( thunar=(
thunar thunar
thunar-volman thunar-volman
tumbler tumbler
ffmpegthumbnailer ffmpegthumbnailer
thunar-archive-plugin thunar-archive-plugin
xarchiver
) )
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located # Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@@ -17,65 +20,28 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.." PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1 cd "$PARENT_DIR" || exit 1
# Set some colors for output messages source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
# Set the name of the log file to include the current date and time # Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_thunar.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_thunar.log"
# Thunar
ISAUR=$(command -v yay || command -v paru) printf "${INFO} Installing ${SKY_BLUE}Thunar${RESET} Packages...\n"
# Set the script to exit on error
set -e
# Function for installing packages
install_package() {
# Checking if package is already installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
# Making sure package is installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "\e[1A\e[K${OK} $1 was installed."
else
# Something is missing, exiting to review log
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
exit 1
fi
fi
}
# Bluetooth
printf "${NOTE} Installing Thunar Packages...\n"
for THUNAR in "${thunar[@]}"; do for THUNAR in "${thunar[@]}"; do
install_package "$THUNAR" 2>&1 | tee -a "$LOG" install_package "$THUNAR" "$LOG"
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $THUNAR install had failed, please check the install.log"; exit 1; }
done done
# Check for existing config folders and backup printf "\n%.0s" {1..1}
for DIR1 in Thunar xfce4; do
DIRPATH=~/.config/$DIR1
if [ -d "$DIRPATH" ]; then
echo -e "${NOTE} Config for $DIR1 found, backing up."
mv $DIRPATH $DIRPATH-back-up 2>&1 | tee -a "$LOG"
echo -e "${NOTE} Backed up $DIR1 to $DIRPATH-back-up."
fi
done
# copying from assets # Check for existing configs and copy if does not exist
cp -r assets/xfce4 ~/.config/ && echo "Copy xfce4 completed!" || echo "Error: Failed to copy xfce4 config files." 2>&1 | tee -a "$LOG" for DIR1 in gtk-3.0 Thunar xfce4; do
cp -r assets/Thunar ~/.config/ && echo "Copy Thunar completed!" || echo "Error: Failed to copy Thunar config files." 2>&1 | tee -a "$LOG" DIRPATH=~/.config/$DIR1
if [ -d "$DIRPATH" ]; then
echo -e "${NOTE} Config for ${MAGENTA}$DIR1${RESET} found, no need to copy." 2>&1 | tee -a "$LOG"
else
echo -e "${NOTE} Config for ${YELLOW}$DIR1${RESET} not found, copying from assets." 2>&1 | tee -a "$LOG"
cp -r assets/$DIR1 ~/.config/ && echo "${OK} Copy $DIR1 completed!" || echo "${ERROR} Failed to copy $DIR1 config files." 2>&1 | tee -a "$LOG"
fi
done
clear printf "\n%.0s" {1..2}

View File

@@ -0,0 +1,25 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Thunar-default #
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Change the working directory to the parent directory of the script
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="Install-Logs/install-$(date +%d-%H%M%S)_thunar-default.log"
printf "${INFO} Setting ${SKY_BLUE}Thunar${RESET} as default file manager...\n"
xdg-mime default thunar.desktop inode/directory
xdg-mime default thunar.desktop application/x-wayland-gnome-saved-search
echo "${OK} ${MAGENTA}Thunar${RESET} is now set as the default file manager." | tee -a "$LOG"
printf "\n%.0s" {1..2}

95
install-scripts/xdph.sh Normal file → Executable file
View File

@@ -1,84 +1,31 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# XDG-Desktop-Portals hyprland #
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### xdg=(
xdg-desktop-portal-hyprland
xdg-desktop-portal-gtk
umockdev
)
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Set some colors for output messages # Determine the directory where the script is located
OK="$(tput setaf 2)[OK]$(tput sgr0)" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" # Change the working directory to the parent directory of the script
WARN="$(tput setaf 166)[WARN]$(tput sgr0)" PARENT_DIR="$SCRIPT_DIR/.."
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" cd "$PARENT_DIR" || exit 1
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3) source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
RESET=$(tput sgr0)
# Set the name of the log file to include the current date and time # Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_xdph.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_xdph.log"
ISAUR=$(command -v yay || command -v paru)
# Set the script to exit on error
set -e
# Function for installing packages
install_package() {
# Checking if package is already installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
# Making sure package is installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "\e[1A\e[K${OK} $1 was installed."
else
# Something is missing, exiting to review log
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
exit 1
fi
fi
}
# XDG-DESKTOP-PORTAL-HYPRLAND # XDG-DESKTOP-PORTAL-HYPRLAND
printf "${NOTE} Installing ${SKY_BLUE}xdg-desktop-portal-hyprland${RESET}\n"
for xdph in xdg-desktop-portal-hyprland; do for xdgs in "${xdg[@]}"; do
install_package "$xdph" 2>&1 | tee -a "$LOG" install_package "$xdgs" "$LOG"
if [ $? -ne 0 ]; then
echo -e "\e[1A\e[K${ERROR} - $xdph install had failed, please check the install.log"
exit 1
fi
done done
printf "${NOTE} Checking for other XDG-Desktop-Portal-Implementations....\n" printf "\n%.0s" {1..2}
sleep 1
printf "\n"
printf "${NOTE} XDG-desktop-portal-KDE (if installed) should be manually disabled or removed! I can't remove it... sorry...\n"
read -rp "${CAT} Would you like to try to remove other XDG-Desktop-Portal-Implementations? (y/n) " XDPH1
echo
sleep 1
if [[ $XDPH1 =~ ^[Yy]$ ]]; then
# Clean out other portals
printf "${NOTE} Clearing any other xdg-desktop-portal implementations...\n"
# Check if packages are installed and uninstall if present
if pacman -Qs xdg-desktop-portal-gnome > /dev/null ; then
echo "Removing xdg-desktop-portal-gnome..."
sudo pacman -R --noconfirm xdg-desktop-portal-gnome 2>&1 | tee -a $LOG
fi
if pacman -Qs xdg-desktop-portal-gtk > /dev/null ; then
echo "Removing xdg-desktop-portal-gtk..."
sudo pacman -R --noconfirm xdg-desktop-portal-gtk 2>&1 | tee -a $LOG
fi
if pacman -Qs xdg-desktop-portal-wlr > /dev/null ; then
echo "Removing xdg-desktop-portal-wlr..."
sudo pacman -R --noconfirm xdg-desktop-portal-wlr 2>&1 | tee -a $LOG
fi
if pacman -Qs xdg-desktop-portal-lxqt > /dev/null ; then
echo "Removing xdg-desktop-portal-lxqt..."
sudo pacman -R --noconfirm xdg-desktop-portal-lxqt 2>&1 | tee -a $LOG
fi
fi
clear

51
install-scripts/yay.sh Normal file → Executable file
View File

@@ -1,32 +1,53 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Yay AUR Helper #
# NOTE: If paru is already installed, yay will not be installed #
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### pkg="yay-bin"
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_yay.log"
# Set some colors for output messages # Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)" OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)" INFO="$(tput setaf 4)[INFO]$(tput sgr0)"
WARN="$(tput setaf 1)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166) MAGENTA="$(tput setaf 5)"
YELLOW=$(tput setaf 3) ORANGE="$(tput setaf 214)"
RESET=$(tput sgr0) WARNING="$(tput setaf 1)"
YELLOW="$(tput setaf 3)"
GREEN="$(tput setaf 2)"
BLUE="$(tput setaf 4)"
SKY_BLUE="$(tput setaf 6)"
RESET="$(tput sgr0)"
# Set the name of the log file to include the current date and time # Create Directory for Install Logs
LOG="install-$(date +%d-%H%M%S)_yay.log" if [ ! -d Install-Logs ]; then
mkdir Install-Logs
fi
# Check for AUR helper and install if not found # Check for AUR helper and install if not found
ISAUR=$(command -v yay || command -v paru) ISAUR=$(command -v yay || command -v paru)
if [ -n "$ISAUR" ]; then if [ -n "$ISAUR" ]; then
printf "\n%s - AUR helper yay was located, moving on.\n" "${OK}" printf "\n%s - ${SKY_BLUE}AUR helper${RESET} already installed, moving on.\n" "${OK}"
else else
printf "\n%s - AUR helper was NOT located\n" "$WARN" printf "\n%s - Installing ${SKY_BLUE}$pkg${RESET} from AUR\n" "${NOTE}"
printf "\n%s - Installing yay from AUR\n" "${NOTE}"
git clone https://aur.archlinux.org/yay-bin.git || { printf "%s - Failed to clone yay from AUR\n" "${ERROR}"; exit 1; } # Check if folder exists and remove it
cd yay-bin || { printf "%s - Failed to enter yay-bin directory\n" "${ERROR}"; exit 1; } if [ -d "$pkg" ]; then
makepkg -si --noconfirm 2>&1 | tee -a "$LOG" || { printf "%s - Failed to install yay from AUR\n" "${ERROR}"; exit 1; } rm -rf "$pkg"
fi
git clone https://aur.archlinux.org/$pkg.git || { printf "%s - Failed to clone ${YELLOW}$pkg${RESET} from AUR\n" "${ERROR}"; exit 1; }
cd $pkg || { printf "%s - Failed to enter $pkg directory\n" "${ERROR}"; exit 1; }
makepkg -si --noconfirm 2>&1 | tee -a "$LOG" || { printf "%s - Failed to install ${YELLOW}$pkg${RESET} from AUR\n" "${ERROR}"; exit 1; }
# moving install logs in to Install-Logs folder
mv install*.log ../Install-Logs/ || true
cd ..
fi fi
# Update system before proceeding # Update system before proceeding
@@ -35,4 +56,4 @@ ISAUR=$(command -v yay || command -v paru)
$ISAUR -Syu --noconfirm 2>&1 | tee -a "$LOG" || { printf "%s - Failed to update system\n" "${ERROR}"; exit 1; } $ISAUR -Syu --noconfirm 2>&1 | tee -a "$LOG" || { printf "%s - Failed to update system\n" "${ERROR}"; exit 1; }
clear printf "\n%.0s" {1..2}

164
install-scripts/zsh.sh Normal file → Executable file
View File

@@ -1,23 +1,19 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# zsh and oh my zsh#
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### zsh_pkg=(
eza
mercurial
zsh
zsh-completions
)
# Set some colors for output messages zsh_pkg2=(
OK="$(tput setaf 2)[OK]$(tput sgr0)" fzf
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" )
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_zsh.log"
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ######################################
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located # Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@@ -25,88 +21,84 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.." PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1 cd "$PARENT_DIR" || exit 1
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
ISAUR=$(command -v yay || command -v paru) # Set the name of the log file to include the current date and time
LOG="Install-Logs/install-$(date +%d-%H%M%S)_zsh.log"
# Set the script to exit on error # Installing core zsh packages
set -e printf "\n%s - Installing ${SKY_BLUE}zsh packages${RESET} .... \n" "${NOTE}"
for ZSH in "${zsh_pkg[@]}"; do
# Function for installing packages install_package "$ZSH" "$LOG"
install_package() {
# Checking if package is already installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
# Making sure package is installed
if $ISAUR -Q "$1" &>> /dev/null ; then
echo -e "\e[1A\e[K${OK} $1 was installed."
else
# Something is missing, exiting to review log
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
exit 1
fi
fi
}
# Check if the oh-my-zsh directory exists
if [ -d "$HOME/.oh-my-zsh" ]; then
printf "${NOTE} Oh My Zsh found. Creating a backup before uninstalling...${RESET}\n"
# Perform backup using cp -r and create a backup directory with -backup suffix
cp -r "$HOME/.oh-my-zsh" "$HOME/.oh-my-zsh-backup" || true
mv "$HOME/.zshrc" "$HOME/.zshrc-backup" || true
printf "${NOTE} Backup created....${RESET}\n"
fi
# Installing zsh packages
printf "${NOTE} Installing core zsh packages...${RESET}\n"
for ZSH in zsh zsh-completions pokemon-colorscripts-git; do
install_package "$ZSH" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then
echo -e "\e[1A\e[K${ERROR} - $ZSH install had failed, please check the install.log"
fi
done done
# Check if the zsh-completions directory exists
if [ -d "zsh-completions" ]; then
rm -rf zsh-completions
fi
# Install Oh My Zsh, plugins, and set zsh as default shell # Install Oh My Zsh, plugins, and set zsh as default shell
if command -v zsh >/dev/null; then if command -v zsh >/dev/null; then
printf "${NOTE} Installing Oh My Zsh and plugins...\n" printf "${NOTE} Installing ${SKY_BLUE}Oh My Zsh and plugins${RESET} ...\n"
if [ ! -d "$HOME/.oh-my-zsh" ]; then if [ ! -d "$HOME/.oh-my-zsh" ]; then
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended || true sh -c "$(curl -fsSL https://install.ohmyz.sh)" "" --unattended
else else
echo "Directory .oh-my-zsh already exists. Skipping re-installation." echo "${INFO} Directory .oh-my-zsh already exists. Skipping re-installation." 2>&1 | tee -a "$LOG"
fi fi
# Check if the directories exist before cloning the repositories
if [ ! -d "$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions" ]; then
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions || true
else
echo "Directory zsh-autosuggestions already exists. Skipping cloning."
fi
if [ ! -d "$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting" ]; then # Check if the directories exist before cloning the repositories
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting || true if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-autosuggestions" ]; then
else git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
echo "Directory zsh-syntax-highlighting already exists. Skipping cloning." else
fi echo "${INFO} Directory zsh-autosuggestions already exists. Cloning Skipped." 2>&1 | tee -a "$LOG"
fi
cp -r 'assets/.zshrc' ~/ if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting" ]; then
cp -r 'assets/.zprofile' ~/ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
else
echo "${INFO} Directory zsh-syntax-highlighting already exists. Cloning Skipped." 2>&1 | tee -a "$LOG"
fi
printf "${NOTE} Changing default shell to zsh...\n" # Check if ~/.zshrc and .zprofile exists, create a backup, and copy the new configuration
if [ -f "$HOME/.zshrc" ]; then
cp -b "$HOME/.zshrc" "$HOME/.zshrc-backup" || true
fi
while ! chsh -s $(which zsh); do if [ -f "$HOME/.zprofile" ]; then
echo "${ERROR} Authentication failed. Please enter the correct password." cp -b "$HOME/.zprofile" "$HOME/.zprofile-backup" || true
sleep 1 fi
done
printf "${NOTE} Shell changed successfully to zsh.\n" 2>&1 | tee -a "$LOG"
# Copying the preconfigured zsh themes and profile
cp -r 'assets/.zshrc' ~/
cp -r 'assets/.zprofile' ~/
# Check if the current shell is zsh
if [[ "$SHELL" != *"zsh"* ]]; then
printf "${NOTE} Changing default shell to ${MAGENTA}zsh${RESET}..."
printf "\n%.0s" {1..2}
while ! chsh -s $(which zsh); do
echo "${ERROR} Authentication failed. Please enter the correct password." 2>&1 | tee -a "$LOG"
sleep 1
done
printf "${INFO} Shell changed successfully to ${MAGENTA}zsh${RESET}" 2>&1 | tee -a "$LOG"
else
echo "${NOTE}Your shell is already set to ${MAGENTA}zsh${RESET}."
fi
fi fi
printf "\n\n\n\n"
# Installing core zsh packages
printf "\n%s - Installing ${SKY_BLUE}fzf${RESET} .... \n" "${NOTE}"
for ZSH2 in "${zsh_pkg2[@]}"; do
install_package "$ZSH2" "$LOG"
done
clear # copy additional oh-my-zsh themes from assets
if [ -d "$HOME/.oh-my-zsh/themes" ]; then
cp -r assets/add_zsh_theme/* ~/.oh-my-zsh/themes >> "$LOG" 2>&1
fi
printf "\n%.0s" {1..2}

35
install-scripts/zsh_pokemon.sh Executable file
View File

@@ -0,0 +1,35 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# pokemon-color-scripts#
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Change the working directory to the parent directory of the script
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="Install-Logs/install-$(date +%d-%H%M%S)_zsh_pokemon.log"
printf "${NOTE} Removing any traces of ${SKY_BLUE}Pokemon Color Scripts${RESET}\n"
# Install Pokemon Color Scripts
printf "${NOTE} Installing ${SKY_BLUE}Pokemon Color Scripts${RESET}\n"
for pok in "pokemon-colorscripts-git"; do
install_package_f "$pok" "$LOG"
done
printf "\n%.0s" {1..1}
# Check if ~/.zshrc exists
if [ -f "$HOME/.zshrc" ]; then
sed -i 's|^#pokemon-colorscripts --no-title -s -r \| fastfetch -c \$HOME/.config/fastfetch/config-pokemon.jsonc --logo-type file-raw --logo-height 10 --logo-width 5 --logo -|pokemon-colorscripts --no-title -s -r \| fastfetch -c \$HOME/.config/fastfetch/config-pokemon.jsonc --logo-type file-raw --logo-height 10 --logo-width 5 --logo -|' "$HOME/.zshrc" >> "$LOG" 2>&1
sed -i "s|^fastfetch -c \$HOME/.config/fastfetch/config-compact.jsonc|#fastfetch -c \$HOME/.config/fastfetch/config-compact.jsonc|" "$HOME/.zshrc" >> "$LOG" 2>&1
else
echo "$HOME/.zshrc not found. Cant enable ${YELLOW}Pokemon color scripts${RESET}" >> "$LOG" 2>&1
fi
printf "\n%.0s" {1..2}

347
install.sh Normal file → Executable file
View File

@@ -1,47 +1,103 @@
#!/bin/bash #!/bin/bash
# https://github.com/JaKooLit # https://github.com/JaKooLit
# Check if running as root. If root, script will exit
if [[ $EUID -eq 0 ]]; then
echo "This script should not be executed as root! Exiting......."
exit 1
fi
clear clear
printf "\n%.0s" {1..3}
echo " | _. |/ _ _ | o _|_ "
echo " \_| (_| o |\ (_) (_) |_ | |_ "
printf "\n%.0s" {1..2}
# Welcome message
echo "$(tput setaf 6)Welcome to JaKooLit's Arch-Hyprland Install Script!$(tput sgr0)"
echo
echo "$(tput setaf 166)ATTENTION: Run a full system update and Reboot first!! (Highly Recommended) $(tput sgr0)"
echo
echo "$(tput setaf 3)NOTE: You will be required to answer some questions during the installation! $(tput sgr0)"
echo
echo "$(tput setaf 3)NOTE: If you are installing on a VM, ensure to enable 3D acceleration else Hyprland wont start! $(tput sgr0)"
echo
read -p "$(tput setaf 6)Would you like to proceed? (y/n): $(tput sgr0)" proceed
if [ "$proceed" != "y" ]; then
echo "Installation aborted."
exit 1
fi
# Set some colors for output messages # Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)" OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)" INFO="$(tput setaf 4)[INFO]$(tput sgr0)"
WARN="$(tput setaf 1)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166) MAGENTA="$(tput setaf 5)"
YELLOW=$(tput setaf 3) ORANGE="$(tput setaf 214)"
RESET=$(tput sgr0) WARNING="$(tput setaf 1)"
YELLOW="$(tput setaf 3)"
GREEN="$(tput setaf 2)"
BLUE="$(tput setaf 4)"
SKY_BLUE="$(tput setaf 6)"
RESET="$(tput sgr0)"
# Check if running as root. If root, script will exit
if [[ $EUID -eq 0 ]]; then
echo "${ERROR} This script should ${WARNING}NOT${RESET} be executed as root!! Exiting......."
printf "\n%.0s" {1..2}
exit 1
fi
# Check if --preset argument is provided
if [[ "$1" == "--preset" ]]; then
# nvidia
if [[ "$2" == "--nvidia" ]]; then
sed -i 's/^nvidia=".*"/nvidia="Y"/' preset.sh
sed -i 's/^nouveau=".*"/nouveau="Y"/' preset.sh
fi
source ./preset.sh
fi
# Check if PulseAudio package is installed
if pacman -Qq | grep -qw '^pulseaudio$'; then
echo "$ERROR PulseAudio is detected as installed. Uninstall it first or edit install.sh on line 211 (execute_script 'pipewire.sh')."
printf "\n%.0s" {1..2}
exit 1
fi
# Check if base-devel is installed
if pacman -Q base-devel &> /dev/null; then
echo "base-devel is already installed."
else
echo "$NOTE Install base-devel.........."
if sudo pacman -S --noconfirm base-devel; then
echo "$OK base-devel has been installed successfully."
else
echo "$ERROR base-devel not found nor cannot be installed."
echo "$ACTION Please install base-devel manually before running this script... Exiting"
exit 1
fi
fi
clear
printf "\n%.0s" {1..2}
echo -e "\e[35m
╦╔═┌─┐┌─┐╦ ╦ ╦┬ ┬┌─┐┬─┐┬ ┌─┐┌┐┌┌┬┐
╠╩╗│ ││ │║ ╠═╣└┬┘├─┘├┬┘│ ├─┤│││ ││ 2025
╩ ╩└─┘└─┘╩═╝ ╩ ╩ ┴ ┴ ┴└─┴─┘┴ ┴┘└┘─┴┘
\e[0m"
printf "\n%.0s" {1..1}
# Welcome message
echo "${SKY_BLUE}Welcome to JaKooLit's Arch-Hyprland (2025) Install Script!${RESET}"
echo
echo "${WARNING}ATTENTION: Run a full system update and Reboot first!! (Highly Recommended) ${RESET}"
echo
echo "${YELLOW}NOTE: You will be required to answer some questions during the installation! ${RESET}"
echo
echo "${YELLOW}NOTE: If you are installing on a VM, ensure to enable 3D acceleration else Hyprland wont start! ${RESET}"
echo
read -p "${SKY_BLUE}Would you like to proceed? (y/n): ${RESET}" proceed
if [ "$proceed" != "y" ]; then
printf "\n%.0s" {1..2}
echo "${INFO} Installation aborted. ${SKY_BLUE}No changes in your system.${RESET} ${YELLOW}Goodbye!${RESET}"
printf "\n%.0s" {1..2}
exit 1
fi
printf "\n%.0s" {1..1}
# install pciutils if detected not installed. Necessary for detecting GPU
if ! pacman -Qs pciutils > /dev/null; then
echo "pciutils is not installed. Installing..."
sudo pacman -S --noconfirm pciutils
printf "\n%.0s" {1..1}
fi
# Function to colorize prompts # Function to colorize prompts
colorize_prompt() { colorize_prompt() {
@@ -53,23 +109,27 @@ colorize_prompt() {
# Set the name of the log file to include the current date and time # Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S).log" LOG="install-$(date +%d-%H%M%S).log"
# Initialize variables to store user responses
aur_helper="" # Create Directory for Install Logs
bluetooth="" if [ ! -d Install-Logs ]; then
dots="" mkdir Install-Logs
gtk_themes="" fi
nvidia=""
rog=""
sddm=""
thunar=""
xdph=""
zsh=""
# Define the directory where your scripts are located # Define the directory where your scripts are located
script_directory=install-scripts script_directory=install-scripts
# Function to ask a yes/no question and set the response in a variable # Function to ask a yes/no question and set the response in a variable
ask_yes_no() { ask_yes_no() {
if [[ ! -z "${!2}" ]]; then
echo "$(colorize_prompt "$CAT" "$1 (Preset): ${!2}")"
if [[ "${!2}" = [Yy] ]]; then
return 0
else
return 1
fi
else
eval "$2=''"
fi
while true; do while true; do
read -p "$(colorize_prompt "$CAT" "$1 (y/n): ")" choice read -p "$(colorize_prompt "$CAT" "$1 (y/n): ")" choice
case "$choice" in case "$choice" in
@@ -86,6 +146,12 @@ ask_custom_option() {
local valid_options="$2" local valid_options="$2"
local response_var="$3" local response_var="$3"
if [[ ! -z "${!3}" ]]; then
return 0
else
eval "$3=''"
fi
while true; do while true; do
read -p "$(colorize_prompt "$CAT" "$prompt ($valid_options): ")" choice read -p "$(colorize_prompt "$CAT" "$prompt ($valid_options): ")" choice
if [[ " $valid_options " == *" $choice "* ]]; then if [[ " $valid_options " == *" $choice "* ]]; then
@@ -103,7 +169,7 @@ execute_script() {
if [ -f "$script_path" ]; then if [ -f "$script_path" ]; then
chmod +x "$script_path" chmod +x "$script_path"
if [ -x "$script_path" ]; then if [ -x "$script_path" ]; then
"$script_path" env USE_PRESET=$use_preset "$script_path"
else else
echo "Failed to make script '$script' executable." echo "Failed to make script '$script' executable."
fi fi
@@ -113,33 +179,98 @@ execute_script() {
} }
# Collect user responses to all questions # Collect user responses to all questions
# Check if nvidia is present
if lspci | grep -i "nvidia" &> /dev/null; then
printf "\n"
printf "${INFO} ${YELLOW}NVIDIA GPU${RESET} detected in your system \n"
printf "${NOTE} Script will install ${YELLOW}nvidia-dkms nvidia-utils and nvidia-settings${RESET} \n"
ask_yes_no "-Do you want script to configure ${YELLOW}NVIDIA${RESET} for you?" nvidia
fi
if [[ "$nvidia" == "Y" ]]; then
ask_yes_no "-Would you like to ${YELLOW}blacklist nouveau?${RESET}" nouveau
fi
# AUR helper
if ! command -v yay &>/dev/null && ! command -v paru &>/dev/null; then
printf "\n"
ask_custom_option "-Which ${YELLOW}AUR helper${RESET} would you like to use? (paru or yay): " "paru or yay" aur_helper
fi
printf "\n" printf "\n"
ask_custom_option "-Type AUR helper" "paru or yay" aur_helper ask_yes_no "-Install ${YELLOW}GTK themes${RESET} (required for Dark/Light function)?" gtk_themes
printf "\n" printf "\n"
ask_yes_no "-Do you have nvidia gpu?" nvidia ask_yes_no "-Do you want to configure ${YELLOW}Bluetooth${RESET}?" bluetooth
printf "\n" printf "\n"
ask_yes_no "-Install GTK themes (required for Dark/Light function)?" gtk_themes ask_yes_no "-Do you want to install ${YELLOW}Thunar file manager${RESET}?" thunar
if [[ "$thunar" == "Y" ]]; then
ask_yes_no "-Set ${YELLOW}Thunar${RESET} as the default file manager?" thunar_choice
fi
# Input group
printf "\n" printf "\n"
ask_yes_no "-Do you want to configure Bluetooth?" bluetooth if ! groups "$(whoami)" | grep -q '\binput\b'; then
printf "${NOTE} adding to ${YELLOW}input${RESET} group might be necessary for ${YELLOW}waybar keyboard-state functionality${RESET} \n"
ask_yes_no "-Would you like to be added to the ${YELLOW}input${RESET} group?" input_group
fi
printf "\n" printf "\n"
ask_yes_no "-Do you want to install Thunar file manager?" thunar printf "${NOTE} ${YELLOW}AGS Desktop Overview DEMO link${RESET} on README\n"
ask_yes_no "-Install ${YELLOW}AGS (aylur's GTK shell) v1${RESET} for Desktop-Like Overview?" ags
printf "\n" printf "\n"
ask_yes_no "-Installing in Asus ROG Laptops?" rog ask_yes_no "-Install & configure ${YELLOW}SDDM${RESET} as login manager?" sddm
# check if any known login managers are active when users choose to install sddm
if [ "$sddm" == "y" ] || [ "$sddm" == "Y" ]; then
# List of services to check
services=("gdm.service" "gdm3.service" "lightdm.service" "lxdm.service")
# Loop through each service
for svc in "${services[@]}"; do
if systemctl is-active --quiet "$svc"; then
echo "${ERROR} ${MAGENTA}$svc${RESET} is active. stop or disable it first or ${YELLOW}DO NOT choose SDDM${RESET} to install."
echo "${NOTE} If you have GDM, no need to install SDDM. GDM will work fine as Login Manager for Hyprland."
printf "\n%.0s" {1..2}
exit 1
fi
done
fi
if [[ "$sddm" == "Y" ]]; then
ask_yes_no "-Download and Install ${YELLOW}SDDM Theme?${RESET} " sddm_theme
fi
printf "\n" printf "\n"
ask_yes_no "-Install and configure SDDM log-in Manager?" sddm ask_yes_no "-Install ${YELLOW}XDG-DESKTOP-PORTAL-HYPRLAND?${RESET} (For proper Screen Share, e.g., OBS)" xdph
printf "\n" printf "\n"
ask_yes_no "-Install XDG-DESKTOP-PORTAL-HYPRLAND? (For proper Screen Share ie OBS)" xdph ask_yes_no "-Install ${YELLOW}zsh${RESET} with ${YELLOW}oh-my-zsh?${RESET}" zsh
if [[ "$zsh" == "Y" ]]; then
ask_yes_no "-Add ${YELLOW}Pokemon color scripts?${RESET} in your terminal?" pokemon_choice
fi
printf "\n" printf "\n"
ask_yes_no "-Install zsh, oh-my-zsh & pokemon-colorscripts?" zsh ask_yes_no "-Installing on ${YELLOW}Asus ROG laptops?${RESET}" rog
printf "\n" printf "\n"
ask_yes_no "-Do you want to copy Hyprland dotfiles?" dots ask_yes_no "-Do you want to add pre-configured ${YELLOW}KooL's Hyprland dotfiles?${RESET}" dots
printf "\n" printf "\n"
# Ensuring all in the scripts folder are made executable # Ensuring all in the scripts folder are made executable
chmod +x install-scripts/* chmod +x install-scripts/*
# Execute AUR helper script based on user choice sleep 1
# Ensuring base-devel is installed
execute_script "00-base.sh" execute_script "00-base.sh"
sleep 1
execute_script "pacman.sh"
sleep 1
# Execute AUR helper script based on user choice
if [ "$aur_helper" == "paru" ]; then if [ "$aur_helper" == "paru" ]; then
execute_script "paru.sh" execute_script "paru.sh"
elif [ "$aur_helper" == "yay" ]; then elif [ "$aur_helper" == "yay" ]; then
@@ -147,17 +278,22 @@ elif [ "$aur_helper" == "yay" ]; then
fi fi
# Install hyprland packages # Install hyprland packages
execute_script "00-hypr-pkgs.sh" execute_script "01-hypr-pkgs.sh"
# Install pipewire and pipewire-audio # Install pipewire and pipewire-audio
execute_script "pipewire.sh" execute_script "pipewire.sh"
# Install necessary fonts
execute_script "fonts.sh"
# Install hyprland
execute_script "hyprland.sh"
if [ "$nvidia" == "Y" ]; then if [ "$nvidia" == "Y" ]; then
execute_script "nvidia.sh" execute_script "nvidia.sh"
fi fi
if [ "$nouveau" == "Y" ]; then
if [ "$nvidia" == "N" ]; then execute_script "nvidia_nouveau.sh"
execute_script "hyprland.sh"
fi fi
if [ "$gtk_themes" == "Y" ]; then if [ "$gtk_themes" == "Y" ]; then
@@ -171,14 +307,20 @@ fi
if [ "$thunar" == "Y" ]; then if [ "$thunar" == "Y" ]; then
execute_script "thunar.sh" execute_script "thunar.sh"
fi fi
if [ "$thunar_choice" == "Y" ]; then
execute_script "thunar_default.sh"
fi
if [ "$rog" == "Y" ]; then if [ "$ags" == "Y" ]; then
execute_script "rog.sh" execute_script "ags.sh"
fi fi
if [ "$sddm" == "Y" ]; then if [ "$sddm" == "Y" ]; then
execute_script "sddm.sh" execute_script "sddm.sh"
fi fi
if [ "$sddm_theme" == "Y" ]; then
execute_script "sddm_theme.sh"
fi
if [ "$xdph" == "Y" ]; then if [ "$xdph" == "Y" ]; then
execute_script "xdph.sh" execute_script "xdph.sh"
@@ -187,31 +329,72 @@ fi
if [ "$zsh" == "Y" ]; then if [ "$zsh" == "Y" ]; then
execute_script "zsh.sh" execute_script "zsh.sh"
fi fi
if [ "$pokemon_choice" == "Y" ]; then
execute_script "zsh_pokemon.sh"
fi
execute_script "InputGroup.sh" if [ "$input_group" == "Y" ]; then
execute_script "InputGroup.sh"
fi
if [ "$rog" == "Y" ]; then
execute_script "rog.sh"
fi
if [ "$dots" == "Y" ]; then if [ "$dots" == "Y" ]; then
execute_script "dotfiles.sh" execute_script "dotfiles-main.sh"
fi fi
clear clear
printf "\n${OK} Yey! Installation Completed.\n" # copy fastfetch config if arch.png is not present
printf "\n" if [ ! -f "$HOME/.config/fastfetch/arch.png" ]; then
sleep 2 cp -r assets/fastfetch "$HOME/.config/"
printf "\n${NOTE} You can start Hyprland by typing Hyprland (IF SDDM is not installed) (note the capital H!).\n"
printf "\n"
printf "\n${NOTE} It is highly recommended to reboot your system.\n\n"
read -rp "${CAT} Would you like to reboot now? (y/n): " HYP
if [[ "$HYP" =~ ^[Yy]$ ]]; then
if [[ "$nvidia" == "Y" ]]; then
echo "${NOTE} NVIDIA GPU detected. Rebooting the system..."
systemctl reboot
else
systemctl reboot
fi
fi fi
# final check essential packages if it is installed
execute_script "02-Final-Check.sh"
printf "\n%.0s" {1..1}
# Check if hyprland or hyprland-git is installed
if pacman -Q hyprland &> /dev/null || pacman -Q hyprland-git &> /dev/null; then
printf "\n${OK} Hyprland is installed. However, some essential packages may not be installed. Please see above!"
printf "\n${CAT} Ignore this message if it states ${YELLOW}All essential packages${RESET} are installed as per above\n"
sleep 2
printf "\n%.0s" {1..2}
printf "${SKY_BLUE}Thank you${RESET} for using ${MAGENTA}KooL's Hyprland Dots${RESET}. ${YELLOW}Enjoy and Have a good day!${RESET}"
printf "\n%.0s" {1..2}
printf "\n${NOTE} You can start Hyprland by typing ${SKY_BLUE}Hyprland${RESET} (IF SDDM is not installed) (note the capital H!).\n"
printf "\n${NOTE} However, it is ${YELLOW}highly recommended to reboot${RESET} your system.\n\n"
read -rp "${CAT} Would you like to reboot now? (y/n): " HYP
HYP=$(echo "$HYP" | tr '[:upper:]' '[:lower:]')
if [[ "$HYP" == "y" || "$HYP" == "yes" ]]; then
echo "${INFO} Rebooting now..."
systemctl reboot
elif [[ "$HYP" == "n" || "$HYP" == "no" ]]; then
echo "${OK} You choose NOT to reboot"
printf "\n%.0s" {1..1}
# Check if NVIDIA GPU is present
if lspci | grep -i "nvidia" &> /dev/null; then
echo "${INFO} HOWEVER ${YELLOW}NVIDIA GPU${RESET} detected. Reminder that you must REBOOT your SYSTEM..."
printf "\n%.0s" {1..1}
fi
else
echo "${WARN} Invalid response. Please answer with 'y' or 'n'. Exiting."
exit 1
fi
else
# Print error message if neither package is installed
printf "\n${WARN} Hyprland is NOT installed. Please check 00_CHECK-time_installed.log and other files in the Install-Logs/ directory..."
printf "\n%.0s" {1..3}
exit 1
fi
printf "\n%.0s" {1..2}

55
preset.sh Normal file
View File

@@ -0,0 +1,55 @@
# 💫 https://github.com/JaKooLit 💫 #
# CREDIT to: https://github.com/PostCyberPunk for this Preset function
## -- Make sure you use the right answer or install script will fail ###
# The rest Change to Y for Yes and N for No.
### Script will install nvidia-dkms nvidia-utils & nvidia-settings
###-Would you like script to Configure NVIDIA for you?
nvidia="N"
### Would you like to blacklist nouveau? (y/n)
nouveau="N"
### yay or paru
aur_helper="yay"
###-Install GTK themes (required for Dark/Light function)?
gtk_themes="Y"
###-Do you want to configure Bluetooth?
bluetooth="Y"
###-Do you want to install Thunar file manager?
thunar="Y"
### Do you want to set Thunar as the default file manager?
thunar_choice="Y"
### Adding user to the 'input' group might be necessary for waybar keyboard-state functionality
input_group="Y"
### Desktop overview Demo Link in README
### Desktop overview Demo Link in README
### Install AGS (aylur's GTK shell) v1 for Desktop-Like Overview?"
ags="Y"
###-Install & configure SDDM log-in Manager
sddm="Y"
### install and download SDDM themes
sddm_theme="Y"
###-Install XDG-DESKTOP-PORTAL-HYPRLAND? (For proper Screen Share ie OBS)
xdph="Y"
### Shell extension. Bash alternative
###-Install zsh, oh-my-zsh
zsh="Y"
### add Pokemon color scripts to terminal
pokemon_choice="Y"
### This will install ASUSCTL & SUPERGFXCTL
###-Installing on Asus ROG Laptops?
rog="N"
###-Download and Add pre-configured Hyprland dotfiles?
dots="Y"