diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f8e7280 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,5 @@ +root = true +[*] +indent_style = space +indent_size = 4 + diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..e98fc58 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,5 @@ +# These are supported funding model platforms + +github: JaKooLit +ko_fi: jakoolit + diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..fdddb29 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/README.md b/README.md index 81f9ac1..7aa3b7b 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,24 @@ NOT FULLY FUNCTIONAL- YET NOT YET FULLY FUNCTIONAL!!! + + +Still on early stage + +### ✨ to run +> clone this repo by using git. Change directory, make executable and run the script +```bash +git clone https://github.com/JaKooLit/OpenSuse-Hyprland.git +cd OpenSuse-Hyprland +chmod +x install.sh +./install.sh +``` + + + + + +### 🛣️ TO DO: +- [ ] Make it fully functional (duh 🤣) +- [ ] Some apps cannot be installed like wlogout +- [ ] hyprland-nvidia is untested \ No newline at end of file diff --git a/assets/.zshrc b/assets/.zshrc new file mode 100644 index 0000000..7c7592e --- /dev/null +++ b/assets/.zshrc @@ -0,0 +1,30 @@ +# If you come from bash you might have to change your $PATH. +# export PATH=$HOME/bin:/usr/local/bin:$PATH + +export ZSH="$HOME/.oh-my-zsh" + +ZSH_THEME="gnzh" + +plugins=( + git + dnf + zsh-autosuggestions + zsh-syntax-highlighting +) + +source $ZSH/oh-my-zsh.sh + +# Import colorscheme from 'wal' asynchronously +# & # Run the process in the background. +# ( ) # Hide shell job control messages. +# Not supported in the "fish" shell. +(cat ~/.cache/wal/sequences &) + +# Alternative (blocks terminal for 0-3ms) +cat ~/.cache/wal/sequences + +# To add support for TTYs this line can be optionally added. +source ~/.cache/wal/colors-tty.sh + + + diff --git a/assets/Thunar/accels.scm b/assets/Thunar/accels.scm new file mode 100644 index 0000000..0dd646e --- /dev/null +++ b/assets/Thunar/accels.scm @@ -0,0 +1,131 @@ +; thunar GtkAccelMap rc-file -*- scheme -*- +; this file is an automated accelerator map dump +; +; (gtk_accel_path "/ThunarStandardView/sort-by-type" "") +; (gtk_accel_path "/ThunarStatusBar/toggle-last-modified" "") +; (gtk_accel_path "/ThunarActionManager/cut" "x") +; (gtk_accel_path "/ThunarStandardView/sort-by-size" "") +; (gtk_accel_path "/ThunarWindow/file-menu" "") +; (gtk_accel_path "/ThunarWindow/close-tab" "w") +; (gtk_accel_path "/ThunarStatusBar/toggle-size" "") +; (gtk_accel_path "/ThunarWindow/new-window" "n") +; (gtk_accel_path "/ThunarBookmarks/05236c1e56bf89e963d95883e09da5b4" "") +; (gtk_accel_path "/ThunarWindow/clear-directory-specific-settings" "") +; (gtk_accel_path "/ThunarWindow/close-window" "q") +; (gtk_accel_path "/ThunarWindow/open-parent" "Up") +; (gtk_accel_path "/ThunarWindow/view-side-pane-menu" "") +; (gtk_accel_path "/ThunarStatusBar/toggle-size-in-bytes" "") +; (gtk_accel_path "/ThunarWindow/switch-previous-tab" "Page_Up") +; (gtk_accel_path "/ThunarBookmarks/3925ac2f7e4055558c447a20c2e047ad" "") +; (gtk_accel_path "/ThunarActionManager/open" "o") +; (gtk_accel_path "/ThunarStandardView/sort-ascending" "") +; (gtk_accel_path "/ThunarWindow/toggle-split-view" "F3") +; (gtk_accel_path "/ThunarActionManager/copy-2" "Insert") +; (gtk_accel_path "/ThunarActionManager/trash-delete" "Delete") +; (gtk_accel_path "/ThunarWindow/open-recent" "") +; (gtk_accel_path "/ThunarWindow/view-configure-toolbar" "") +; (gtk_accel_path "/ThunarStandardView/forward" "Right") +; (gtk_accel_path "/ThunarActionManager/restore" "") +; (gtk_accel_path "/ThunarWindow/open-location-alt" "d") +; (gtk_accel_path "/ThunarBookmarks/54b46b08907eba130aa7b45747971edc" "") +; (gtk_accel_path "/ThunarWindow/zoom-out-alt" "minus") +; (gtk_accel_path "/ThunarStandardView/select-by-pattern" "s") +; (gtk_accel_path "/ThunarWindow/open-file-menu" "F10") +; (gtk_accel_path "/ThunarWindow/contents" "F1") +; (gtk_accel_path "/ThunarWindow/show-highlight" "") +; (gtk_accel_path "/ThunarBookmarks/44e0e66b3d753576f90ed75c87917822" "") +; (gtk_accel_path "/ThunarStandardView/sort-descending" "") +; (gtk_accel_path "/ThunarStandardView/sort-by-name" "") +; (gtk_accel_path "/ThunarBookmarks/b6b3368230fb9c168f1090ce48fbb4f5" "") +; (gtk_accel_path "/ThunarStandardView/select-all-files" "a") +; (gtk_accel_path "/ThunarActionManager/execute" "") +; (gtk_accel_path "/ThunarStandardView/properties" "Return") +; (gtk_accel_path "/ThunarActionManager/cut-2" "") +; (gtk_accel_path "/ThunarStandardView/sort-by-dtime" "") +; (gtk_accel_path "/ThunarWindow/switch-next-tab" "Page_Down") +; (gtk_accel_path "/ThunarActionManager/paste-2" "Insert") +; (gtk_accel_path "/ThunarWindow/open-templates" "") +; (gtk_accel_path "/ThunarStatusBar/toggle-filetype" "") +; (gtk_accel_path "/ThunarBookmarks/e02afe67295bafd99368cbfb38bfb76a" "") +; (gtk_accel_path "/ThunarWindow/close-all-windows" "w") +; (gtk_accel_path "/ThunarStandardView/create-document" "") +; (gtk_accel_path "/ThunarWindow/detach-tab" "") +; (gtk_accel_path "/ThunarBookmarks/707266d8a544f819b5de3061849d9040" "") +; (gtk_accel_path "/ThunarBookmarks/978d3e7a7225e42c977fe94183792d87" "") +; (gtk_accel_path "/ThunarWindow/cancel-search" "Escape") +; (gtk_accel_path "/ThunarWindow/zoom-in-alt2" "equal") +; (gtk_accel_path "/ThunarShortcutsPane/sendto-shortcuts" "d") +; (gtk_accel_path "/ThunarActionManager/undo" "z") +; (gtk_accel_path "/ThunarStandardView/toggle-sort-order" "") +; (gtk_accel_path "/ThunarWindow/reload-alt" "F5") +; (gtk_accel_path "/ThunarWindow/view-location-selector-entry" "") +; (gtk_accel_path "/ThunarActionManager/paste" "v") +; (gtk_accel_path "/ThunarWindow/zoom-in-alt1" "plus") +; (gtk_accel_path "/ThunarWindow/view-menubar" "m") +; (gtk_accel_path "/ThunarStandardView/back" "Left") +; (gtk_accel_path "/ThunarWindow/open-desktop" "") +; (gtk_accel_path "/ThunarWindow/view-as-detailed-list" "2") +; (gtk_accel_path "/ThunarActionManager/restore-show" "") +; (gtk_accel_path "/ThunarWindow/zoom-out" "KP_Subtract") +; (gtk_accel_path "/ThunarStatusBar/toggle-display-name" "") +; (gtk_accel_path "/ThunarWindow/sendto-menu" "") +; (gtk_accel_path "/ThunarWindow/go-menu" "") +; (gtk_accel_path "/ThunarWindow/remove-from-recent" "") +; (gtk_accel_path "/ThunarActionManager/open-with-other" "") +; (gtk_accel_path "/ThunarStandardView/invert-selection" "") +; (gtk_accel_path "/ThunarWindow/view-side-pane-shortcuts" "b") +; (gtk_accel_path "/ThunarWindow/view-location-selector-menu" "") +; (gtk_accel_path "/ThunarWindow/edit-menu" "") +; (gtk_accel_path "/ThunarWindow/reload" "r") +; (gtk_accel_path "/ThunarActionManager/move-to-trash" "") +; (gtk_accel_path "/ThunarActionManager/copy" "c") +; (gtk_accel_path "/ThunarActionManager/delete-3" "KP_Delete") +; (gtk_accel_path "/ThunarWindow/toggle-side-pane" "F9") +; (gtk_accel_path "/ThunarStandardView/unselect-all-files" "Escape") +; (gtk_accel_path "/ThunarStandardView/arrange-items-menu" "") +; (gtk_accel_path "/ThunarStandardView/sort-by-mtime" "") +; (gtk_accel_path "/ThunarWindow/open-computer" "") +; (gtk_accel_path "/ThunarWindow/bookmarks-menu" "") +; (gtk_accel_path "/ThunarWindow/toggle-image-preview" "") +; (gtk_accel_path "/ThunarWindow/view-as-icons" "1") +; (gtk_accel_path "/ThunarActionManager/delete-2" "Delete") +; (gtk_accel_path "/ThunarWindow/zoom-in" "KP_Add") +; (gtk_accel_path "/ThunarStandardView/rename" "F2") +; (gtk_accel_path "/ThunarWindow/open-location" "l") +; (gtk_accel_path "/ThunarWindow/view-as-compact-list" "3") +; (gtk_accel_path "/ThunarWindow/view-menu" "") +; (gtk_accel_path "/ThunarWindow/search" "f") +; (gtk_accel_path "/ThunarWindow/new-tab" "t") +; (gtk_accel_path "/ThunarWindow/zoom-reset" "KP_0") +; (gtk_accel_path "/ThunarWindow/contents/help-menu" "") +; (gtk_accel_path "/ThunarActionManager/open-in-new-tab" "p") +; (gtk_accel_path "/ThunarWindow/view-location-selector-buttons" "") +; (gtk_accel_path "/ThunarActionManager/redo" "z") +; (gtk_accel_path "/ThunarWindow/open-trash" "") +; (gtk_accel_path "/ThunarActionManager/open-in-new-window" "o") +; (gtk_accel_path "/ThunarWindow/view-statusbar" "") +; (gtk_accel_path "/ThunarActionManager/open-location" "") +; (gtk_accel_path "/ThunarStandardView/duplicate" "") +; (gtk_accel_path "/ThunarBookmarks/c76f07a72d3c8ef5d4bf8e84c8981221" "") +; (gtk_accel_path "/ThunarActionManager/trash-delete-2" "KP_Delete") +; (gtk_accel_path "/ThunarBookmarks/1b01cfaf1605da233a4b53296606bab0" "") +; (gtk_accel_path "/ThunarBookmarks/780467f8577186d3f1806d9df2a8aab9" "") +; (gtk_accel_path "/ThunarBookmarks/e9f83883e2df949f12acd9850f926a67" "") +; (gtk_accel_path "/ThunarStandardView/create-folder" "n") +; (gtk_accel_path "/ThunarWindow/open-home" "Home") +; (gtk_accel_path "/ThunarWindow/show-hidden" "h") +; (gtk_accel_path "/ThunarStandardView/back-alt" "BackSpace") +; (gtk_accel_path "/ThunarStandardView/set-default-app" "") +; (gtk_accel_path "/ThunarWindow/empty-trash" "") +; (gtk_accel_path "/ThunarBookmarks/a02380ffe1621507749c5c5773da7194" "") +; (gtk_accel_path "/ThunarWindow/preferences" "") +; (gtk_accel_path "/ThunarActionManager/delete" "") +; (gtk_accel_path "/ThunarWindow/view-side-pane-tree" "e") +; (gtk_accel_path "/ThunarWindow/open-file-system" "") +; (gtk_accel_path "/ThunarWindow/open-network" "") +; (gtk_accel_path "/ThunarActionManager/sendto-desktop" "") +; (gtk_accel_path "/ThunarStandardView/make-link" "") +; (gtk_accel_path "/ThunarBookmarks/5a2d02665264f10a15b7d94f958e51dc" "") +; (gtk_accel_path "/ThunarWindow/zoom-reset-alt" "0") +; (gtk_accel_path "/ThunarBookmarks/3b727c236c2811d0a6488b65982ea897" "") +; (gtk_accel_path "/ThunarWindow/about" "") diff --git a/assets/Thunar/renamerrc b/assets/Thunar/renamerrc new file mode 100644 index 0000000..1cbe905 --- /dev/null +++ b/assets/Thunar/renamerrc @@ -0,0 +1,10 @@ +[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 + diff --git a/assets/Thunar/uca.xml b/assets/Thunar/uca.xml new file mode 100644 index 0000000..358e2ec --- /dev/null +++ b/assets/Thunar/uca.xml @@ -0,0 +1,59 @@ + + + + audacious + Add to audacious playlist + + 1681893052016505-1 + audacious -e %U + + * + * + + + + utilities-terminal + Open Terminal Here + + 1488955845049151-1 + for f in %F; do exo-open --working-directory "$f" --launch TerminalEmulator; done + + + * + + + + + checkbox + Check sha1sum + + 1526633271260079-26 + zenity --info --title="Check sha1 for %n" --text="$(sha1sum %f)" + Check sha1sum + + *.iso;*.ISO + + + + checkbox + Check sha256sum + + 1577688162350307-1 + zenity --info --title="Check sha256 for %n" --text="$(sha256sum %f)" + Check sha256sum + + *.iso;*.ISO + + + + checkbox + Check md5sum + + 1526736788575383-2 + zenity --info --title="Check md5 for %n" --text="$(md5sum %f)" + Check md5sum + + *.iso;*.ISO;*.tar.gz;*.TAR.GZ;*.zip;*.ZIP + + + diff --git a/assets/hyprland.desktop b/assets/hyprland.desktop new file mode 100644 index 0000000..8bc9468 --- /dev/null +++ b/assets/hyprland.desktop @@ -0,0 +1,5 @@ +[Desktop Entry] +Name=Hyprland +Comment=An intelligent dynamic tiling Wayland compositor +Exec=Hyprland +Type=Application diff --git a/assets/tokyo-themes/Tokyonight-Dark-B.zip b/assets/tokyo-themes/Tokyonight-Dark-B.zip new file mode 100644 index 0000000..f8b2a3d Binary files /dev/null and b/assets/tokyo-themes/Tokyonight-Dark-B.zip differ diff --git a/assets/tokyo-themes/Tokyonight-Light-B.zip b/assets/tokyo-themes/Tokyonight-Light-B.zip new file mode 100644 index 0000000..0ad8c2c Binary files /dev/null and b/assets/tokyo-themes/Tokyonight-Light-B.zip differ diff --git a/assets/xfce4/helpers.rc b/assets/xfce4/helpers.rc new file mode 100644 index 0000000..0f5b92e --- /dev/null +++ b/assets/xfce4/helpers.rc @@ -0,0 +1,4 @@ +FileManager=Thunar +TerminalEmulator=kitty +WebBrowser=firefox +#MailReader=evolution diff --git a/assets/xfce4/panel/whiskermenu-7.rc b/assets/xfce4/panel/whiskermenu-7.rc new file mode 100644 index 0000000..08ecef8 --- /dev/null +++ b/assets/xfce4/panel/whiskermenu-7.rc @@ -0,0 +1,83 @@ +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 + diff --git a/assets/xfce4/terminal/terminalrc b/assets/xfce4/terminal/terminalrc new file mode 100644 index 0000000..0cc51f2 --- /dev/null +++ b/assets/xfce4/terminal/terminalrc @@ -0,0 +1,42 @@ +[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 diff --git a/assets/xfce4/xfce4-screenshooter b/assets/xfce4/xfce4-screenshooter new file mode 100644 index 0000000..afd8a24 --- /dev/null +++ b/assets/xfce4/xfce4-screenshooter @@ -0,0 +1,7 @@ +delay=1 +region=1 +action=1 +show_mouse=0 +title=ArcoLinux +timestamp=TRUE +app=nomacs diff --git a/assets/xfce4/xfce4-taskmanager.rc b/assets/xfce4/xfce4-taskmanager.rc new file mode 100644 index 0000000..67f58af --- /dev/null +++ b/assets/xfce4/xfce4-taskmanager.rc @@ -0,0 +1,27 @@ +[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 diff --git a/assets/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml b/assets/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml new file mode 100644 index 0000000..ff9be7f --- /dev/null +++ b/assets/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/assets/xfce4/xfconf/xfce-perchannel-xml/pointers.xml b/assets/xfce4/xfconf/xfce-perchannel-xml/pointers.xml new file mode 100644 index 0000000..6bbc4e2 --- /dev/null +++ b/assets/xfce4/xfconf/xfce-perchannel-xml/pointers.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/assets/xfce4/xfconf/xfce-perchannel-xml/thunar-volman.xml b/assets/xfce4/xfconf/xfce-perchannel-xml/thunar-volman.xml new file mode 100644 index 0000000..c85ceea --- /dev/null +++ b/assets/xfce4/xfconf/xfce-perchannel-xml/thunar-volman.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/assets/xfce4/xfconf/xfce-perchannel-xml/thunar.xml b/assets/xfce4/xfconf/xfce-perchannel-xml/thunar.xml new file mode 100644 index 0000000..a3db2b3 --- /dev/null +++ b/assets/xfce4/xfconf/xfce-perchannel-xml/thunar.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml new file mode 100644 index 0000000..80101ba --- /dev/null +++ b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml new file mode 100644 index 0000000..0552eb0 --- /dev/null +++ b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml @@ -0,0 +1,685 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml new file mode 100644 index 0000000..6e4edea --- /dev/null +++ b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml new file mode 100644 index 0000000..96f5ea2 --- /dev/null +++ b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml new file mode 100644 index 0000000..f18ae81 --- /dev/null +++ b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml new file mode 100644 index 0000000..32ef9ec --- /dev/null +++ b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-screensaver.xml b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-screensaver.xml new file mode 100644 index 0000000..b72e42c --- /dev/null +++ b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-screensaver.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml new file mode 100644 index 0000000..e8d68ef --- /dev/null +++ b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml new file mode 100644 index 0000000..62fff05 --- /dev/null +++ b/assets/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/assets/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml b/assets/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml new file mode 100644 index 0000000..682a2a7 --- /dev/null +++ b/assets/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml b/assets/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml new file mode 100644 index 0000000..7355e82 --- /dev/null +++ b/assets/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/install-scripts/00-hypr-pkgs.sh b/install-scripts/00-hypr-pkgs.sh new file mode 100644 index 0000000..2c99b5e --- /dev/null +++ b/install-scripts/00-hypr-pkgs.sh @@ -0,0 +1,119 @@ +#!/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 fedora repo + +# add packages wanted here +Extra=( + +) + +# packages neeeded +hypr_package=( + curl + dunst + git + grim + gvfs + ImageMagick + jq + kitty + nano + NetworkManager-applet + openssl + pamixer + pavucontrol + playerctl + polkit-gnome + python311-requests + python311-pip + python311-pywal + qt5ct + rofi-wayland + slurp + swappy + swayidle + swaylock-effects + swww + waybar + wget + wl-clipboard + wlogout + yad +) + +# the following packages can be deleted. however, dotfiles may not work properly +hypr_package_2=( + brightnessctl + btop + cava + cliphist + eog + gnome-system-monitor + mousepad + mpv + nvtop + nwg-look + vim + wlsunset +) + +############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont 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 + +# 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" + +set -e + +# Function for installing packages +install_package() { + # Checking if package is already installed + if sudo zypper se -i "$1" &>> /dev/null ; then + echo -e "${OK} $1 is already installed. Skipping..." + else + # Package not installed + echo -e "${NOTE} Installing $1 ..." + sudo zypper in -y "$1" 2>&1 | tee -a "$LOG" + # Making sure package is installed + if sudo zypper se -i "$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[@]}" "${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 diff --git a/install-scripts/bluetooth.sh b/install-scripts/bluetooth.sh new file mode 100644 index 0000000..f63e334 --- /dev/null +++ b/install-scripts/bluetooth.sh @@ -0,0 +1,66 @@ +#!/bin/bash + +blue=( +bluez +bluez-tools +blueman +) + + +############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont 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 + +# 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)_bluetooth.log" + +# Set the script to exit on error +set -e + +# Function for installing packages +install_package() { + # Checking if package is already installed + if sudo zypper se -i "$1" &>> /dev/null ; then + echo -e "${OK} $1 is already installed. Skipping..." + else + # Package not installed + echo -e "${NOTE} Installing $1 ..." + sudo zypper in -y "$1" 2>&1 | tee -a "$LOG" + # Making sure package is installed + if sudo zypper se -i "$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 Bluetooth Packages...\n" + for BLUE in "${blue[@]}"; do + install_package "$BLUE" 2>&1 | tee -a "$LOG" + [ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $BLUE install had failed, please check the install.log"; exit 1; } + done + + printf " Activating Bluetooth Services...\n" + sudo systemctl enable --now bluetooth.service 2>&1 | tee -a "$LOG" + + clear diff --git a/install-scripts/dotfiles.sh b/install-scripts/dotfiles.sh new file mode 100644 index 0000000..62e57f6 --- /dev/null +++ b/install-scripts/dotfiles.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +# 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')_dots.log" + +printf "${NOTE} Downloading Hyprland dots...\n" + +if [ -d Hyprland-Dots ]; then + cd Hyprland-Dots + git stash + git pull + git stash apply + chmod +x copy.sh + ./copy.sh 2>&1 | tee -a "$LOG" +else + if git clone https://github.com/JaKooLit/Hyprland-Dots; then + cd Hyprland-Dots || exit 1 + chmod +x copy.sh + ./copy.sh 2>&1 | tee -a "$LOG" + else + echo -e "${ERROR} Can't download Hyprland-Dots" 2>&1 | tee -a "$LOG" + fi +fi \ No newline at end of file diff --git a/install-scripts/fonts.sh b/install-scripts/fonts.sh new file mode 100644 index 0000000..f73a747 --- /dev/null +++ b/install-scripts/fonts.sh @@ -0,0 +1,74 @@ +#!/bin/bash + +fonts=( +adobe-sourcecodepro-fonts +fira-code-fonts +fontawesome-fonts +google-droid-fonts +google-noto-sans-cjk-fonts +google-noto-coloremoji-fonts +jetbrains-mono-fonts +symbols-only-nerd-fonts + +) + + +############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont 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 + + +# 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)_fonts.log" + +set -e + +# Function for installing packages +install_package() { + # Checking if package is already installed + if sudo zypper se -i "$1" &>> /dev/null ; then + echo -e "${OK} $1 is already installed. Skipping..." + else + # Package not installed + echo -e "${NOTE} Installing $1 ..." + sudo zypper in -y "$1" 2>&1 | tee -a "$LOG" + # Making sure package is installed + if sudo zypper se -i "$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 fonts.... \n" "${NOTE}" + +for PKG1 in "${fonts[@]}"; 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 + +# Update font cache and log the output +fc-cache -v 2>&1 | tee -a "$LOG" + +clear diff --git a/install-scripts/gtk_themes.sh b/install-scripts/gtk_themes.sh new file mode 100644 index 0000000..b5491d2 --- /dev/null +++ b/install-scripts/gtk_themes.sh @@ -0,0 +1,67 @@ +#!/bin/bash + +############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont 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 + +# 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)_themes.log" + +set -e + +# Function for installing packages +install_package() { + # Checking if package is already installed + if sudo zypper se -i "$1" &>> /dev/null ; then + echo -e "${OK} $1 is already installed. Skipping..." + else + # Package not installed + echo -e "${NOTE} Installing $1 ..." + sudo zypper in -y "$1" 2>&1 | tee -a "$LOG" + # Making sure package is installed + if sudo zypper se -i "$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 + +printf "${NOTE} Installing Tokyo Theme GTK packages...\n" +if wget https://github.com/ljmill/tokyo-night-icons/releases/download/v0.2.0/TokyoNight-SE.tar.bz2; then + mkdir -p ~/.icons + 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 + +clear \ No newline at end of file diff --git a/install-scripts/hyprland.sh b/install-scripts/hyprland.sh new file mode 100644 index 0000000..ed9998b --- /dev/null +++ b/install-scripts/hyprland.sh @@ -0,0 +1,58 @@ +#!/bin/bash + +hypr=( +hyprland +) + +############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont 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 + +# 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)_hyprland.log" + +# Set the script to exit on error +set -e + +# Function for installing packages +install_package() { + # Checking if package is already installed + if sudo zypper se -i "$1" &>> /dev/null ; then + echo -e "${OK} $1 is already installed. Skipping..." + else + # Package not installed + echo -e "${NOTE} Installing $1 ..." + sudo zypper in -y "$1" 2>&1 | tee -a "$LOG" + # Making sure package is installed + if sudo zypper se -i "$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 +} +# Hyprland + +printf "${NOTE} Installing Hyprland Package...\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 + +clear diff --git a/install-scripts/nvidia.sh b/install-scripts/nvidia.sh new file mode 100644 index 0000000..46a9fb7 --- /dev/null +++ b/install-scripts/nvidia.sh @@ -0,0 +1,87 @@ +#!/bin/bash + +nvidia_pkg=( + openSUSE-repos-NVIDIA + hyprland + Mesa-libva + libva-nvidia-driver +) + +############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont 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 + +# 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)_nvidia.log" + +set -e + +# Function for installing packages +install_package() { + # Checking if package is already installed + if sudo zypper se -i "$1" &>> /dev/null ; then + echo -e "${OK} $1 is already installed. Skipping..." + else + # Package not installed + echo -e "${NOTE} Installing $1 ..." + sudo zypper in -y "$1" 2>&1 | tee -a "$LOG" + # Making sure package is installed + if sudo zypper se -i "$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 +} + +# Adding hyprland-nvidia repository +REPO_URL="https://download.opensuse.org/repositories/home:xbb:hyprland/openSUSE_Tumbleweed/" +sudo zypper addrepo "$REPO_URL" hyprland "$1" 2>&1 | tee -a "$LOG" +sudo zypper refresh + +# Setting priority for the repository +sudo zypper --gpg-auto-import-keys modifyrepo --priority 1 hyprland + +# Install additional Nvidia packages +printf "${YELLOW} Installing Nvidia packages...\n" + for NVIDIA in "${nvidia_pkg[@]}"; do + install_package "$NVIDIA" 2>&1 | tee -a "$LOG" + done + + +printf "${YELLOW} nvidia-stuff to /etc/default/grub..." + + # Additional options to add to GRUB_CMDLINE_LINUX + additional_options="rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1" + + # Check if additional options are already present in GRUB_CMDLINE_LINUX + if grep -q "GRUB_CMDLINE_LINUX.*$additional_options" /etc/default/grub; then + echo "GRUB_CMDLINE_LINUX already contains the additional options" + else + # Append the additional options to GRUB_CMDLINE_LINUX + sudo sed -i "s/GRUB_CMDLINE_LINUX=\"/GRUB_CMDLINE_LINUX=\"$additional_options /" /etc/default/grub + echo "Added the additional options to GRUB_CMDLINE_LINUX" + fi + + # Update GRUB configuration + sudo grub2-mkconfig -o /boot/grub2/grub.cfg + + echo "Nvidia DRM modeset and additional options have been added to /etc/default/grub. Please reboot for changes to take effect." + +clear diff --git a/install-scripts/rog.sh b/install-scripts/rog.sh new file mode 100644 index 0000000..7f5a745 --- /dev/null +++ b/install-scripts/rog.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +asusctl=( +asusctl +supergfxctl +asusctl-rog-gui +) + + +############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont 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 + +# 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)_rog.log" + + + +# Set the script to exit on error +set -e + +# Function for installing packages +install_package() { + # Checking if package is already installed + if sudo zypper se -i "$1" &>> /dev/null ; then + echo -e "${OK} $1 is already installed. Skipping..." + else + # Package not installed + echo -e "${NOTE} Installing $1 ..." + sudo zypper in -y "$1" 2>&1 | tee -a "$LOG" + # Making sure package is installed + if sudo zypper se -i "$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 ### + + printf " Installing ASUS ROG packages...\n" + for ASUS in "${asusctl[@]}"; do + install_package "$ASUS" 2>&1 | tee -a "$LOG" + if [ $? -ne 0 ]; then + 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 diff --git a/install-scripts/sddm.sh b/install-scripts/sddm.sh new file mode 100644 index 0000000..0f60e35 --- /dev/null +++ b/install-scripts/sddm.sh @@ -0,0 +1,109 @@ +#!/bin/bash + +sddm1=( + sddm +) + +sddm2=( + libqt5-qtgraphicaleffects + libqt5-qtquickcontrols + libqt5-qtquickcontrols2 +) + + +############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont 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 + +# 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)_sddm.log" + +set -e + +# Function for installing packages +install_package() { + # Checking if package is already installed + if sudo zypper se -i "$1" &>> /dev/null ; then + echo -e "${OK} $1 is already installed. Skipping..." + else + # Package not installed + echo -e "${NOTE} Installing $1 ..." + sudo zypper in -y "$1" 2>&1 | tee -a "$LOG" + # Making sure package is installed + if sudo zypper se -i "$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 SDDM +printf "\n%s - Installing sddm.... \n" "${NOTE}" +for PKG1 in "${sddm1[@]}" ; do + sudo zypper in -y "$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 + +# Installation of additional sddm stuff +printf "\n%s - Installing sddm additional stuff.... \n" "${NOTE}" +for PKG2 in "${sddm2[@]}"; do + install_package "$PKG2" 2>&1 | tee -a "$LOG" + if [ $? -ne 0 ]; then + echo -e "\e[1A\e[K${ERROR} - $PKG2 install had failed, please check the install.log" + exit 1 + fi +done + +# Check if other login managers are installed and disabling their service before enabling sddm +for login_manager in lightdm gdm lxdm lxdm-gtk3; do + if sudo dnf list installed "$login_manager" &>> /dev/null; then + echo "Disabling $login_manager..." + sudo systemctl disable "$login_manager" 2>&1 | tee -a "$LOG" + fi +done + +printf " Activating sddm service........\n" +sudo systemctl set-default graphical.target 2>&1 | tee -a "$LOG" +sudo systemctl enable sddm.service 2>&1 | tee -a "$LOG" + +# Set up SDDM +echo -e "${NOTE} Setting up the login screen." +sddm_conf_dir=/etc/sddm.conf.d +[ ! -d "$sddm_conf_dir" ] && { printf "$CAT - $sddm_conf_dir not found, creating...\n"; sudo mkdir -p "$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 -p "$wayland_sessions_dir" 2>&1 | tee -a "$LOG"; } +sudo cp assets/hyprland.desktop "$wayland_sessions_dir/" 2>&1 | tee -a "$LOG" + +clear + + # SDDM-themes + read -n 1 -r -p "${CAT} OPTIONAL - Would you like to install SDDM themes? (y/n)" install_sddm_theme + if [[ $install_sddm_theme =~ ^[Yy]$ ]]; then + printf "\n%s - Installing Tokyo SDDM Theme\n" "${NOTE}" + git clone https://github.com/rototrash/tokyo-night-sddm.git 2>&1 | tee -a "$LOG" + sudo mv tokyo-night-sddm /usr/share/sddm/themes/ + echo -e "[Theme]\nCurrent=tokyo-night-sddm" | sudo tee -a "$sddm_conf_dir/10-theme.conf" 2>&1 | tee -a "$LOG" + fi + +clear \ No newline at end of file diff --git a/install-scripts/thunar.sh b/install-scripts/thunar.sh new file mode 100644 index 0000000..e09d555 --- /dev/null +++ b/install-scripts/thunar.sh @@ -0,0 +1,75 @@ +#!/bin/bash + +thunar=( +ffmpegthumbnailer +thunar +thunar-volman +tumbler +thunar-archive-plugin +xarchiver +) + +############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont 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 + +# 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)_thunar.log" + +set -e + +# Function for installing packages +install_package() { + # Checking if package is already installed + if sudo zypper se -i "$1" &>> /dev/null ; then + echo -e "${OK} $1 is already installed. Skipping..." + else + # Package not installed + echo -e "${NOTE} Installing $1 ..." + sudo zypper in -y "$1" 2>&1 | tee -a "$LOG" + # Making sure package is installed + if sudo zypper se -i "$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 +} + +# Thunar + +printf "${NOTE} Installing Thunar Packages...\n" + for THUNAR in "${thunar[@]}"; do + install_package "$THUNAR" 2>&1 | tee -a "$LOG" + [ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $THUNAR install had failed, please check the install.log"; exit 1; } + done + + # Check for existing config folders and backup + 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 + cp -r assets/xfce4 ~/.config/ && { echo "Copy xfce4 completed!"; } || { echo "Error: Failed to copy xfce4 config files."; exit 1; } 2>&1 | tee -a "$LOG" + cp -r assets/Thunar ~/.config/ && { echo "Copy Thunar completed!"; } || { echo "Error: Failed to copy Thunar config files."; exit 1; } 2>&1 | tee -a "$LOG" + +clear diff --git a/install-scripts/xdph.sh b/install-scripts/xdph.sh new file mode 100644 index 0000000..c196652 --- /dev/null +++ b/install-scripts/xdph.sh @@ -0,0 +1,83 @@ +#!/bin/bash + + +############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont 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 + +# 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)_xdph.log" + +set -e + +# Function for installing packages +install_package() { + # Checking if package is already installed + if sudo zypper se -i "$1" &>> /dev/null ; then + echo -e "${OK} $1 is already installed. Skipping..." + else + # Package not installed + echo -e "${NOTE} Installing $1 ..." + sudo zypper in -y "$1" 2>&1 | tee -a "$LOG" + # Making sure package is installed + if sudo zypper se -i "$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 + +for xdph in xdg-desktop-portal-hyprland; do + install_package "$xdph" 2>&1 | tee -a "$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 + +clear + +printf "${NOTE} Checking for other XDG-Desktop-Portal-Implementations....\n" +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 -n 1 -r -p "${CAT} Would you like to try to remove other XDG-Desktop-Portal-Implementations? (y/n)" XDPH1 +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 sudo dnf list installed xdg-desktop-portal-gnome &>> /dev/null; then + echo "Removing xdg-desktop-portal-gnome..." + sudo dnf remove -y xdg-desktop-portal-gnome 2>&1 | tee -a "$LOG" + fi + if sudo dnf list installed xdg-desktop-portal-wlr &>> /dev/null; then + echo "Removing xdg-desktop-portal-wlr..." + sudo dnf remove -y xdg-desktop-portal-wlr 2>&1 | tee -a "$LOG" + fi + if sudo dnf list installed xdg-desktop-portal-lxqt &>> /dev/null; then + echo "Removing xdg-desktop-portal-lxqt..." + sudo dnf remove -y xdg-desktop-portal-lxqt 2>&1 | tee -a "$LOG" + fi +fi + +clear \ No newline at end of file diff --git a/install-scripts/zsh.sh b/install-scripts/zsh.sh new file mode 100644 index 0000000..5fcea47 --- /dev/null +++ b/install-scripts/zsh.sh @@ -0,0 +1,74 @@ +#!/bin/bash + + +############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont 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 + +# 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)_zsh.log" + +set -e + +# Function for installing packages +install_package() { + # Checking if package is already installed + if sudo zypper se -i "$1" &>> /dev/null ; then + echo -e "${OK} $1 is already installed. Skipping..." + else + # Package not installed + echo -e "${NOTE} Installing $1 ..." + sudo zypper in -y "$1" 2>&1 | tee -a "$LOG" + # Making sure package is installed + if sudo zypper se -i "$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 +} + +# zsh and oh-my-zsh +printf "${WARN} #### IF YOU HAVE ALREADY ZSH AND OH MY ZSH, YOU SHOULD CHOOSE NO HERE #########\n" +printf "${WARN} ### --------------------------------------------------------------------########\n" +printf "${NOTE} ## CHECK OUT README FOR ADDITIONAL STEPS REQUIRED ONCE ZSH AND OH-MY-ZSH INSTALLED ##\n" +printf "\n" +printf "\n" +read -n1 -rep "${CAT} OPTIONAL - Would you like to install zsh and oh-my-zsh and use as default shell? (y/n)" zsh +echo + +if [[ $zsh =~ ^[Yy]$ ]]; then + for ZSH in zsh; 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 + + # Oh-my-zsh plus zsh-autosuggestions and zsh-syntax-highlighting + printf "${NOTE} Installing oh-my-zsh and plugins.\n" + sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended && \ + git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions && \ + git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting && \ + cp -r 'assets/.zshrc' ~/ +else + printf "${NOTE} ZSH wont be installed.\n" +fi + +clear diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..4911849 --- /dev/null +++ b/install.sh @@ -0,0 +1,195 @@ +#!/bin/bash + +# 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 + +# Welcome message +echo "$(tput setaf 6)Welcome to JaKooLit's OpenSuSe (Tumbleweed)-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 + +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 +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) + +# Function to colorize prompts +colorize_prompt() { + local color="$1" + local message="$2" + echo -n "${color}${message}$(tput sgr0)" +} + +# Set the name of the log file to include the current date and time +LOG="install-$(date +%d-%H%M%S).log" + +# Initialize variables to store user responses +bluetooth="" +dots="" +gtk_themes="" +nvidia="" +rog="" +sddm="" +thunar="" +xdph="" +zsh="" + +# Define the directory where your scripts are located +script_directory=install-scripts + +# Function to ask a yes/no question and set the response in a variable +ask_yes_no() { + while true; do + read -p "$(colorize_prompt "$CAT" "$1 (y/n): ")" choice + case "$choice" in + [Yy]* ) eval "$2='Y'"; return 0;; + [Nn]* ) eval "$2='N'"; return 1;; + * ) echo "Please answer with y or n.";; + esac + done +} + +# Function to ask a custom question with specific options and set the response in a variable +ask_custom_option() { + local prompt="$1" + local valid_options="$2" + local response_var="$3" + + while true; do + read -p "$(colorize_prompt "$CAT" "$prompt ($valid_options): ")" choice + if [[ " $valid_options " == *" $choice "* ]]; then + eval "$response_var='$choice'" + return 0 + else + echo "Please choose one of the provided options: $valid_options" + fi + done +} +# Function to execute a script if it exists and make it executable +execute_script() { + local script="$1" + local script_path="$script_directory/$script" + if [ -f "$script_path" ]; then + chmod +x "$script_path" + if [ -x "$script_path" ]; then + "$script_path" + else + echo "Failed to make script '$script' executable." + fi + else + echo "Script '$script' not found in '$script_directory'." + fi +} + +# Collect user responses to all questions +printf "\n" +ask_yes_no "-Do you have nvidia gpu?" nvidia +printf "\n" +ask_yes_no "-Install GTK themes (required for Dark/Light function)?" gtk_themes +printf "\n" +ask_yes_no "-Do you want to configure Bluetooth?" bluetooth +printf "\n" +ask_yes_no "-Do you want to install Thunar file manager?" thunar +printf "\n" +ask_yes_no "-Installing on Asus ROG Laptops?" rog +printf "\n" +ask_yes_no "-Install and configure SDDM log-in Manager?" sddm +printf "\n" +ask_yes_no "Install XDG-DESKTOP-PORTAL-HYPRLAND? (for proper Screen Share ie OBS)" xdph +printf "\n" +ask_yes_no "-Do you want to install zsh and oh-my-zsh?" zsh +printf "\n" +ask_yes_no "-Do you want to copy Hyprland dotfiles?" dots +printf "\n" + +# Ensuring all in the scripts folder are made executable +chmod +x install-scripts/* + +# Install hyprland packages +execute_script "00-hypr-pkgs.sh" +execute_script "fonts.sh" + +if [ "$nvidia" == "Y" ]; then + execute_script "nvidia.sh" +fi + +if [ "$nvidia" == "N" ]; then + execute_script "hyprland.sh" +fi + +if [ "$gtk_themes" == "Y" ]; then + execute_script "gtk_themes.sh" +fi + +if [ "$bluetooth" == "Y" ]; then + execute_script "bluetooth.sh" +fi + +if [ "$thunar" == "Y" ]; then + execute_script "thunar.sh" +fi + +if [ "$rog" == "Y" ]; then + execute_script "rog.sh" +fi + +if [ "$sddm" == "Y" ]; then + execute_script "sddm.sh" +fi + +if [ "$xdph" == "Y" ]; then + execute_script "xdph.sh" +fi + +if [ "$zsh" == "Y" ]; then + execute_script "zsh.sh" +fi + +if [ "$dots" == "Y" ]; then + execute_script "dotfiles.sh" + +fi + +clear + +printf "\n${OK} Yey! Installation Completed.\n" +printf "\n" +printf "\n${NOTE} NOTICE TO NVIDIA OWNERS! IT's a MUST for your to reboot your system\n" +sleep 2 +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 -n1 -rep "${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 +