This commit is contained in:
Valeria Fadeeva 2023-11-05 00:21:58 +05:00
parent aa37736189
commit a949e95971
45 changed files with 5947 additions and 3505 deletions

18
.clang-format Normal file
View File

@ -0,0 +1,18 @@
BasedOnStyle: WebKit
AccessModifierOffset: -3
AllowShortLoopsOnASingleLine: true
AlignConsecutiveAssignments: true
AlignConsecutiveMacros: true
AlignTrailingComments: true
BreakBeforeBraces: Custom
BreakConstructorInitializers: BeforeColon
BreakStringLiterals: false
ConstructorInitializerIndentWidth: 2
Cpp11BracedListStyle: true
PointerAlignment: Left
FixNamespaceComments: true
SpaceBeforeCpp11BracedList: false
SpacesBeforeTrailingComments: 2
Standard: c++17
TabWidth: 4
UseTab: Never

2266
Cargo.lock generated

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

BIN
data/img/config-title.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 B

After

Width:  |  Height:  |  Size: 302 B

BIN
data/img/faq-img.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

BIN
data/img/github.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
data/img/ko-fi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
data/img/logo-gpu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
data/img/mastodon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
data/img/melawy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 980 B

BIN
data/img/website.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 980 B

BIN
data/img/youtube.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1 +0,0 @@
de

View File

@ -1,37 +0,0 @@
<big>Danke für ihre Unterstützung</big>
CachyOS Linux bekommt eine Menge Unterstützung von seiner Benutzer-Gemeinschaft, und wir wollen jedem einzelnen Beitragenden fürs mitmachen danken. Wir wachsen in gleichmäßigem Tempo und unsere Distribution wird dank ihnen jeden Tag besser.
Es ist sehr leicht etwas zu bewegen. Abhängig von ihren Fähigkeiten, ihrer Verfügbarkeit können Sie CachyOS in einem oder mehreren Wegen helfen:
<big>Unterstützung und Werbung</big>
<b>Die Nachricht verbreiten</b>
Wenn Sie CachyOS mögen, lassen Sie es andere wissen. Schreiben Sie eine Rezension und veröffentlichen sie auf distrowatch.com. Reden Sie darüber mit ihren Freunden und den Leuten die Sie treffen.
<b>Der Gemeinschaft beitreten</b>
CachyOS ist nicht nur ein Betriebssystem, es ist auch eine dynamische Gemeinschaft von Benutzern die ein freies und offenes Projekt genießen, sich dafür versammeln und zusammenwirken. Sei es, indem Sie anderen helfen, Probleme zu lösen, indem Sie ihnen das Gefühl geben, willkommen zu sein, oder einfach indem Sie andere CachyOS-Benutzer treffen und sich mit ihnen unterhalten - wir empfehlen Ihnen, der Gemeinschaft beizutreten und daran mitzuwirken, CachyOS besser zu machen.
<b>Anderen helfen</b>
Wenn Sie etwas Freizeit haben und bereit sind, anderen Benutzern bei technischen Problemen zu helfen, sollten Sie ernsthaft in Erwägung ziehen, die Foren zu lesen und/oder dem IRC-Channel beizutreten und anderen CachyOS-Benutzern bei der Lösung der Probleme zu helfen, die Sie zu beheben wissen.
<big>Beiträge zum Projekt</big>
<b>Fehlerberichte</b>
Wenn Sie etwas bemerkt haben, das bei der Benutzung von CachyOS nicht richtig funktioniert, lassen Sie es uns wissen. Das Problem, das Sie entdeckt haben, wird wahrscheinlich auch andere betreffen; je früher wir davon wissen, desto schneller können wir es beheben.
<b>Neue Ideen</b>
Die überwiegende Mehrheit der Verbesserungen, die in jedem Release enthalten sind, kommen aus der Community. Wenn es etwas gibt, von dem Sie glauben, dass es fehlt oder besser gemacht werden könnte, sagen Sie es uns bitte. Ob es sich um die Aufnahme eines fehlenden Hardware-Treibers handelt, oder um eine Software-Anwendung, die Teil einer Standard-Installation sein sollte, oder ob Sie andere Ideen haben, wie man CachyOS besser machen kann, wir sind immer daran interessiert, sie zu hören.
<b>Kunstwerke</b>
Wenn Sie im Grafikdesign talentiert sind und bereit sind, zum Projekt beizutragen, senden Sie uns bitte Ihre Kreationen und Kunstwerke. Ob es ein einfaches Hintergrundbild, ein Icon-Set, ein Splash-Screen oder sogar ein neues Logo ist, wir sind immer daran interessiert, von Ihnen über neue Kunstwerke zu hören.
<b>Code</b>
Der Großteil unserer Entwicklung wird in QT, C++, Python, HTML5/CSS und BASH durchgeführt. Wir verwenden auch Git für die Versionskontrolle und PKGBUILDs für die Paketierung. Wenn Sie mit diesen Technologien vertraut sind, zögern Sie nicht, einen Blick auf den Code zu werfen. Wenn Sie denken, Sie können unsere Anwendungen verbessern oder neue schreiben, zögern Sie nicht, Patches vorzuschlagen oder unsere Git-Repositories zu forken.

View File

@ -1,45 +0,0 @@
<big>Handhabung der Hardware</big>
CachyOS unterstützt nicht nur die Verwendung mehrerer Kernel (wählbar in den erweiterten Optionen auf dem Boot-Bildschirm), sondern bietet auch Zugriff auf die allerneuesten Bleeding-Edge-Kernel. Dies kann durch die Verwendung des Kernelmoduls im grafischen Einstellungsmanager von CachyOS oder über die Kommandozeile mit dem MHWD-kernel (CachyOS Hardware Detection) Befehl erfolgen.
Diese CachyOS-Tools aktualisieren automatisch einen neu installierten Kernel zusammen mit allen Modulen, die derzeit mit Ihrem bestehenden Kernel verwendet werden. Wenn Sie zum Beispiel von Kernel 3.18 auf 4.1 aktualisieren würden, würde mhwd-kernel automatisch die Kernel 4.1-Builds und alle Module, die mit Kernel 3.18 verwendet wurden, mit einbeziehen. Was sagt man dazu!
Sie können Ihre Hardware über das Hardware-Erkennungsmodul im Einstellungsmanager oder alternativ mit der MHWD-Kommandozeilen-Applikation konfigurieren. Mit diesen Tools können Sie z.B. grafische Treiber installieren, freie und proprietäre.
<big>Hilfe holen</big>
Obwohl CachyOS so konzipiert ist, dass es so viel wie möglich "von vornherein" funktioniert, behaupten wir nicht, dass es perfekt ist. Es kann Zeiten geben, in denen etwas schief läuft, Sie Fragen haben und den Wunsch haben, mehr zu erfahren oder es einfach nur nach Ihrem Geschmack zu personalisieren. Auf dieser Seite finden Sie Details zu einigen verfügbaren Ressourcen, die Ihnen helfen können!
<b>Suche im Web</b>
Vielleicht ist der erste Ort, an dem Sie nach allgemeiner Linux-Hilfe suchen, die Verwendung Ihrer bevorzugten Suchmaschine. Fügen Sie einfach Wörter wie 'Linux', 'CachyOS' oder 'Arch' in Ihre Suchanfrage ein.
Da CachyOS auf Arch Linux basiert, gelten die für Arch entworfenen Anleitungen und Tipps in der Regel auch für CachyOS.
<b>Sehen Sie in den Foren nach</b>
Für spezifische Hilfe mit CachyOS haben wir ein spezielles Online-Forum, in dem Sie nach Themen suchen oder selbst eines erstellen können! Dies ist wahrscheinlich die nächstbeste Anlaufstelle für Zusammenarbeit, Diskussion und Hilfe. Bitten Sie um Hilfe, posten Sie Ihre Gedanken oder skizzieren Sie einige Vorschläge. Seien Sie nicht schüchtern!
Das CachyOS-Forum ist in Unterforen für verschiedene Themen und Umgebungen unterteilt, bitte stellen Sie Ihre Anfrage an der entsprechenden Stelle!
<b>Schließen Sie sich uns im Telegram an</b>
Eine andere Möglichkeit ist, sich uns im Telegram.
<b>Melden Sie sich bei einer Mailingliste an</b>
Eine andere Möglichkeit, Hilfe zu bekommen, ist es, Fragen an die CachyOS-Mailingliste zu schicken (Sie können auch die Chronik nach vergangenen Diskussionen durchsuchen). Melden Sie sich einfach auf der Liste an, die Sie bevorzugen und folgen Sie den Anweisungen. Es gibt eine Liste mit verschiedenen Themen, schau einfach mal rein!
<big>Andere Resourcen</big>
- <a href="https://aur.archlinux.org">AUR Repository</a> - Zusätzliche Software, die nicht in den regulären Repositories enthalten ist und aus den Quellen gebaut wurde.
- <a href="https://wiki.cachyos.org">CachyOS Wiki</a> - Offizielles Wiki für CachyOS.
- <a href="http://wiki.archlinux.org">Arch Wiki</a> - Offizielles Wiki für Arch.
<big>Vorschläge</big>
Haben Sie einen Vorschlag, wie wir CachyOS besser machen können? Haben Sie etwas gefunden, das Sie miteinbezogen haben möchten oder das Sie aushelfen möchten? Bitte lassen Sie es uns wissen, indem Sie ihren Vorschlag im Forum oder im IRC veröffentlichen.
Danke schön!
Wir wünschen Ihnen viel Spaß mit CachyOS!

View File

@ -1,37 +0,0 @@
<big>Melawy Linux 23.10</big>
Dies ist unser 10. Release im Jahr 2023.
Das Release ändert für systemd-boot die Standard-Verschlüsselungsmethode auf "luks2" und die Netzinstallation wurde aufgeräumt.
Es ist nun möglich, CachyOS-bezogene Pakete nicht zu installieren und sie haben nun ihre eigene Kategorie.
Wir haben auch einige größere Paket-Upgrades erhalten, wie llvm 16 und linux-cachyos 6.5.3.
Derzeit testen wir auch eine neue Methode, um das nvidia-Modul bereitzustellen. Diese Methode wird "nvidia-dkms" ersetzen und das Modul wird vorkompiliert, um weitere Kompilierungen auf dem Benutzerrechner zu vermeiden.
Dies stellt auch sicher, dass der Kernel mit dem nvidia-Treiber kompiliert wird.
Wir werden noch einige Stabilitätstests durchführen und dies dann in zukünftige Versionen implementieren.
Hier ist eine Zusammenfassung der Änderungen:
<big>Features:</big>
- systemd-boot: Standardmäßig auf luks2
- netinstall: Bereitstellung einer eigenen Kategorie für CachyOS-Pakete
- Calamares mit Upstream synchronisiert
- Paketaktualisierungen: linux-cachyos 6.5.3, nvidia-utils 535.104.05, mesa 23.2.7
<big>Fehlerbehebungen:</big>
- shellprocess_sdboot: Vermeiden Sie die Verwendung von "sudo", wenn Sie die Booteinträge während des Installationsprozesses erzeugen
Sie finden den Download auf unseren Spiegelservern auf Sourceforge.
https://mirror.cachyos.org/ISO/
https://sourceforge.net/projects/cachyos-arch/files/
Wenn Sie uns unterstützen möchten, können Sie spenden, um unsere monatlichen Serverkosten zu decken.
https://paypal.me/pttrr
https://www.patreon.com/CachyOS
Vielen Dank für Ihre Unterstützung!
**Das CachyOS-Team**

View File

@ -1,37 +0,0 @@
<big> Dzięki za wsparcie </big>
CachyOS Linux otrzymuje ogromne wsparcie od swojej społeczności użytkowników i chcielibyśmy podziękować każdemu wspierającemu za udział. Rozwijamy się w stałym tempie, a dzięki Tobie nasza dystrybucja z każdym dniem jest coraz lepsza.
Bardzo łatwo jest coś zmienić. W zależności od twojego zestawu umiejętności, twojej dostępności możesz pomóc CachyOS na jeden lub więcej z następujących sposobów:
<big> Wsparcie i promocja </big>
<b> Rozpowszechnianie informacji </b>
Jeśli lubisz CachyOS, daj znać innym. Napisz recenzję i opublikuj ją na distrowatch.com. Porozmawiaj o tym ze swoimi przyjaciółmi i ludźmi wokół ciebie.
<b> Dołączanie do społeczności </b>
CachyOS to nie tylko system operacyjny, ale także dynamiczna społeczność ludzi, którzy cieszą się, gromadzą i wchodzą w interakcje z wolnym i otwartym projektem. Niezależnie od tego, czy chodzi o pomaganie innym w rozwiązywaniu problemów, sprawianie, że czują się mile widziani, czy po prostu spotykając się i rozmawiając z innymi użytkownikami CachyOS, zalecamy dołączenie do społeczności i udział w ulepszaniu CachyOS.
<b> Pomaganie innym </b>
Jeśli masz trochę wolnego czasu i chcesz pomóc innym użytkownikom w rozwiązywaniu problemów technicznych, powinieneś poważnie rozważyć czytanie forów i / lub dołączenie do kanału IRC i pomoc innym użytkownikom CachyOS w rozwiązywaniu problemów, które wiesz, jak naprawić.
<big> Wkład do projektu </big>
<b> Raporty o błędach </b>
Jeśli zauważyłeś coś, co nie działa poprawnie podczas korzystania z CachyOS, daj nam znać. Problem, który odkryłeś, prawdopodobnie wpłynie również na innych. Im szybciej się o tym dowiemy, tym szybciej będziemy mogli to naprawić.
<b> Nowe pomysły </b>
Zdecydowana większość ulepszeń zawartych w każdym wydaniu pochodzi od społeczności. Jeśli Twoim zdaniem brakuje czegoś, co można zrobić lepiej, poinformuj nas o tym. Niezależnie od tego, czy jest to dołączenie brakującego sterownika sprzętu, czy aplikacji, która powinna być częścią standardowej instalacji, czy też masz inne pomysły, jak ulepszyć CachyOS, zawsze jesteśmy zainteresowani ich usłyszeniem.
<b> Grafika </b>
Jeśli masz talent do projektowania graficznego i chcesz wnieść swój wkład w projekt, prześlij nam swoje kreacje i grafiki. Niezależnie od tego, czy jest to prosta tapeta, zestaw ikon, ekran powitalny, czy nawet nowe logo, zawsze jesteśmy zainteresowani usłyszeniem od Ciebie o nowej grafice.
<b> Kod </b>
Większość naszego kodu jest pisana w QT, C ++, Pythonie, HTML5 / CSS i BASH. Używamy również Gita do kontroli wersji i PKGBUILD do pakowania. Jeśli czujesz się komfortowo z tymi technologiami, nie wahaj się rzucić okiem na kod. Jeśli myślisz, że możesz ulepszyć nasze aplikacje lub napisać nowe, nie wahaj się zasugerować łatek lub rozwidlić nasze repozytoria git.

View File

@ -1,43 +0,0 @@
<big> Obsługa sprzętu </big>
CachyOS nie tylko obsługuje instalację wielu jąder (wybieranych z zaawansowanych opcji na ekranie startowym), ale także zapewnia dostęp do najnowszych jąder „bleeding edge”. Można to zrobić za pomocą modułu Jądro w graficznym menedżerze ustawień CachyOS lub za pomocą wiersza poleceń przy użyciu polecenia mhwd-kernel (CachyOS Hardware Detection).
Te narzędzia CachyOS automatycznie zaktualizują nowo zainstalowane jądro wraz z wszystkimi modułami aktualnie używanymi z istniejącym jądrem. Na przykład, gdybyś zaktualizował jądro z 3.18 do 4.1, mhwd-kernel automatycznie zainstaluje kompilacje jądra 4.1 i wszystkie moduły używane z jądrem 3.18. Co ty na to!
Możesz skonfigurować swój sprzęt za pomocą modułu wykrywania sprzętu w Menedżerze ustawień lub alternatywnie za pomocą aplikacji MHWD z linii komend. Za pomocą tych narzędzi możesz zainstalować na przykład sterowniki graficzne, bezpłatne i zastrzeżone.
<big> Uzyskiwanie pomocy </big>
Chociaż CachyOS jest zaprojektowany tak, aby działał jak najlepiej „po wyjęciu z pudełka”, nie twierdzimy, że jest idealny. Może się zdarzyć, że coś pójdzie nie tak, możesz mieć pytania i chcieć dowiedzieć się więcej lub po prostu chcesz dostosować CachyOS do swoich upodobań. Ta strona zawiera szczegółowe informacje na temat dostępnych zasobów, które mogą Ci pomóc!
<b> Szukaj w internecie </b>
Być może pierwszym miejscem, w którym należy szukać ogólnej pomocy dla systemu Linux, jest skorzystanie z ulubionej wyszukiwarki. Po prostu uwzględnij w zapytaniu słowa takie jak „Linux”, „CachyOS” lub „Arch”.
Ponieważ CachyOS jest oparty na Arch Linux, przewodniki i porady zaprojektowane dla Arch zwykle dotyczą również CachyOS.
<b> Przeszukaj fora </b>
Aby uzyskać konkretną pomoc dotyczącą CachyOS, mamy dedykowane forum internetowe, na którym możesz wyszukiwać tematy lub tworzyć własne! Jest to prawdopodobnie kolejne najlepsze miejsce do współpracy, dyskusji i pomocy. Poproś o pomoc, podziel się swoimi przemyśleniami lub przedstaw kilka sugestii. Nie wstydź się!
Forum CachyOS jest podzielone na pod-fora dla różnych tematów i środowisk, prosimy o wysłanie zapytania w odpowiednim miejscu!
- <a href="https://forum.cachyos.org"> Oficjalne Forum CachyOS</a>
<b> Dołącz do nas na Telegram </b>
Inną opcją jest dołączenie do nas na Telegram.
<big> Inne zasoby </big>
- <a href="https://aur.archlinux.org"> Repozytorium AUR </a> - Dodatkowe oprogramowanie, którego nie ma w zwykłych repozytoriach, zbudowane ze źródeł.
- <a href="https://wiki.cachyos.org"> CachyOS Wiki </a> - Oficjalna wiki CachyOS.
- <a href="http://wiki.archlinux.org"> Arch Wiki </a> - Oficjalna wiki Arch.
<big> Sugestie </big>
Masz sugestię, jak możemy ulepszyć CachyOS? Znalazłeś coś, co chcesz uwzględnić, lub chcesz pomóc? Daj nam znać, publikując swoje sugestie na forum lub wpadnij na IRC.
Dziękujemy!
Mamy nadzieję, że spodoba Ci się CachyOS!

View File

@ -1,37 +0,0 @@
<big>Melawy Linux 23.10</big>
To nasze dziesiąte wydanie w 2023 roku.
Wydanie zmienia się dla systemd-Uruchom domyślną metodę szyfrowania na "luks2", a netinstall został oczyszczony.
Teraz Można nie instalować pakietów związanych z CachyOS i mają teraz własną kategorię.
Dostaliśmy również kilka dużych aktualizacji pakietów, takich jak llvm 16 i linux-cachyos 6.5.3.
Obecnie testujemy również nową metodę dostarczania modułu nvidia. Ta metoda zastąpi "nvidia-dkms", a moduł zostanie wstępnie skompilowany, aby uniknąć dalszych kompilacji na komputerze użytkownika.
Daje to również pewność, że jądro kompiluje się ze sterownikiem nvidia.
Przeprowadzimy dalsze testy stabilności, a następnie wdrożymy to w przyszłych wydaniach.
Oto podsumowanie zmian:
<big>Nowe funkcje:</big>
- systemd-boot: domyślnie luks2
- netinstall: udostępnienie własnej kategorii Dla pakietów CachyOS
- Calamares zsynchronizowane z upstream
- Aktualizacje pakietów: linux-cachyos 6.5.3, nvidia-utils 535.104.05, mesa 23.2.7
<big>Naprawy błędów:</big>
- shellprocess_sdboot: Unikaj używania "sudo" podczas generowania wpisów rozruchowych w procesie instalacji
Pliki do pobrania można znaleźć na naszych serwerach lustrzanych lub sourceforge.
https://mirror.cachyos.org/ISO/
https://sourceforge.net/projects/cachyos-arch/files/
Jeśli chcesz nas wesprzeć, możesz przekazać darowiznę na pokrycie miesięcznych kosztów serwera.
https://paypal.me/pttrr
https://www.patreon.com/CachyOS
Dziękujemy za wsparcie!
Zespół CachyOS

View File

@ -5,17 +5,21 @@
"desktop_path": "/usr/share/applications/melawy-welcome.desktop",
"installer_path": "/usr/bin/calamares",
"live_path": "/run/archiso/bootmnt/arch",
"locale_path": "/usr/share/locale/",
"logo_path": "/usr/share/icons/hicolor/scalable/apps/",
"save_path": "~/.config/melawy-welcome.json",
"ui_path": "/usr/share/melawy-welcome/ui/melawy-welcome.glade",
"style_path": "/usr/share/melawy-welcome/ui/style.css",
"urls": {
"development": "https://github.com/Melawy",
"software": "https://git.melawy.ru/Melawy-Linux/PKGBUILD",
"donate": "https://melawy.ru/donate",
"wiki": "https://wiki.archlinux.org",
"forum": "https://t.me/Melawy_chat",
"software": "https://git.melawy.ru/Melawy-Linux",
"development": "https://github.com/Melawy",
"donate": "https://melawy.ru/donate",
"website": "https://melawy.ru",
"youtube": "https://youtube.com/@Melawy",
"telegram": "https://t.me/Melawy_news",
"discord": "https://discord.gg/725zXx7RhJ",
"reddit": "https://melawy.ru",
"twitter": "https://melawy.ru",
"wiki": "https://github.com/Melawy"
"github": "https://github.com/Melawy"
}
}

View File

@ -1,66 +0,0 @@
# About dialog
about-dialog-title = Melawy Welcome
about-dialog-comments = Willkommensdialog für Melawy Linux
# Tweaks page
tweaks = Tweaks
fixes = Fixes
applications = Anwendungen
removed-db-lock = Pacman db lock wurde entfernt!
lock-doesnt-exist = Pacman db lock existiert nicht!
orphans-not-found = Keine verwaisten Pakete gefunden!
package-not-installed = Das Paket '{$package_name}' wurde nicht installiert!
# Dns Connections page
dns-settings = DNS Einstellung
select-connection = Verbindung auswählen:
select-dns-server = DNS-Server auswählen:
apply = Anwenden
reset = Reset
dns-server-changed = DNS Server wurde erfolgreich geändert!
dns-server-failed = DNS-Server konnte nicht eingestellt werden!
dns-server-reset = DNS-Server wurde zurückgesetzt!
dns-server-reset-failed = DNS-Server konnte nicht zurückgesetzt werden!
# Tweaks page (tweaks)
tweak-enabled-title = {$tweak} aktiviert
# Tweaks page (fixes)
remove-lock-title = Entferne Datenbanksperre
reinstall-title = Alle Pakete neu installieren
refresh-keyrings-title = Keyring aktualisieren
update-system-title = System-Aktualisierung
remove-orphans-title = Nicht verwendete Pakete entfernen
clear-pkgcache-title = Paket-Cache löschen
rankmirrors-title = Rank Mirrors
dnsserver-title = DNS-Server ändern
# Main Page (buttons)
button-about-tooltip = Über
button-web-resource-tooltip = Web-Ressource
button-development-label = Entwicklung
button-software-label = Software
button-donate-label = Spenden
button-forum-label = Forum
button-installer-label = Installation starten
button-involved-label = Mitmachen
button-readme-label = Lies mich
button-release-info-label = Versionshinweise
button-wiki-label = Wiki
# Main Page (sections)
section-docs = DOKUMENTATION
section-installer = INSTALLATION
section-support = UNTERSTÜTZUNG
section-project = PROJEKT
# Main Page (body)
offline-error = Die Online-Installation kann nicht gestartet werden! Keine Internetverbindung
tweaksbrowser-label = Apps/Tweaks
appbrowser-label = Apps installieren
launch-start-label = Beim Systemstart ausführen
welcome-title = Willkommen bei Melawy Linux!
welcome-body =
Danke, dass Sie sich unserer Community anschließen!
Wir, die Melawy Linux-Entwickler, hoffen, dass Sie es genauso sehr genießen werden Melawy Linux zu benutzen, wie wir es genießen, es zu entwickeln. Die Links unten werden Ihnen helfen sich in Ihrem neuen Betriebssystem zurechtzufinden. Genießen Sie diese Erfahrung und zögern Sie nicht Ihr Feedback an uns zu senden.

View File

@ -1,66 +0,0 @@
# About dialog
about-dialog-title = Melawy Welcome
about-dialog-comments = Ekran powitalny Melawy Linux
# Tweaks page
tweaks = Usprawnienia
fixes = Poprawki
applications = Programy
removed-db-lock = Blokada bazy pacmana została usunięta!
lock-doesnt-exist = Blokada bazy pacmana nie istnieje!
orphans-not-found = Nie znaleziono pakietów osieroconych!
package-not-installed = Pakiet '{$package_name}' nie został zainstalowany!
# Dns Connections page
dns-settings = Ustawienia DNS
select-connection = Wybierz połączenie:
select-dns-server = Wybierz serwer DNS:
apply = Zastosuj
reset = Resetuj
dns-server-changed = Serwer DNS został pomyślnie zmieniony!
dns-server-failed = Nie udało się ustawić serwera DNS!
dns-server-reset = Serwer DNS został zresetowany!
dns-server-reset-failed = Nie udało się zresetować serwera DNS!
# Tweaks page (tweaks)
tweak-enabled-title = {$tweak} włączony
# Tweaks page (fixes)
remove-lock-title = Usuń blokadę bazy
reinstall-title = Przeinstaluj wszystkie pakiety
refresh-keyrings-title = Odśwież klucze
update-system-title = Aktualizuj system
remove-orphans-title = Usuń pakiety osierocone
clear-pkgcache-title = Wyczyść pamięć podręczną pakietów
rankmirrors-title = Uszereguj serwery
dnsserver-title = Zmień serwer DNS
# Main Page (buttons)
button-about-tooltip = O programie
button-web-resource-tooltip = Zasób sieciowy
button-development-label = Rozwój oprogramowania
button-software-label = Software
button-donate-label = Wesprzyj
button-forum-label = Forum
button-installer-label = Uruchom instalator
button-involved-label = Zaangażuj się
button-readme-label = Czytaj to
button-release-info-label = Informacje o wydaniu
button-wiki-label = Wiki
# Main Page (sections)
section-docs = DOKUMENTACJA
section-installer = INSTALACJA
section-support = WSPARCIE
section-project = PROJEKT
# Main Page (body)
offline-error = Instalacja online niemożliwa! Brak połączenia internetowego
tweaksbrowser-label = Programy/Usprawnienia
appbrowser-label = Instalator Programów
launch-start-label = Uruchamiaj przy starcie
welcome-title = Witaj w Melawy Linux!
welcome-body =
Dziękujemy za dołączenie do naszej społeczności!
My, programiści Melawy Linux, mamy nadzieję, że używanie Melawy Linux przyniesie Ci tyle radości ile nam jego tworzenie. Poniższe odnośniki pomogą Ci w rozpoczęciu używania nowego systemu operacyjnego. Życzymy miłych wrażeń, nie wahaj się podzielić się z nami swoją opinią.

View File

@ -8,6 +8,7 @@ fixes = Исправления
applications = Приложения
removed-db-lock = Блокировка БД Pacman была снята!
lock-doesnt-exist = Pacman БД не заблокирован!
orphans-not-found = Потерянные пакеты не найдены!
package-not-installed = Пакет '{$package_name}' не был установлен!
# Dns Connections page

View File

@ -1,3 +1,5 @@
#!/bin/bash
git add . && git commit -m "Update" && git push
echo "Ready"

98
src/scripts/amd_drivers.sh Executable file
View File

@ -0,0 +1,98 @@
#!/bin/bash
#set -e
##################################################################################################################
# Written to be used on 64 bits computers
# Author : DarkXero
# Website : http://xerolinux.xyz
##################################################################################################################
tput setaf 3
echo "###############################################################################"
echo "# XeroLinux Free (Open Source) Driver Installer #"
echo "# #"
echo "# !!! ATTENTION !!! #"
echo "# #"
echo "# This Will Install GPU Drivers For Any Intel or AMD GPUs #"
echo "# #"
echo "# Carefully Select The Appropriate Drivers. #"
echo "###############################################################################"
tput sgr0
echo
echo "Hello $USER, Please Select An Option Below."
echo
echo "################# GPU Checker #################"
echo
echo "1. Check Which GPU You Have."
echo
echo "############# Open Source Drivers #############"
echo
echo "2. AMD GPU Free."
echo "3. ATI (Radeon HD) GPU Free."
echo
echo "Type Your Selection. To Exit, just close Window."
echo
while :; do
read CHOICE
case $CHOICE in
1 )
echo
echo "##########################################"
echo " Checking Installed GPU "
echo "##########################################"
echo
echo "Your system has the following GPU(s)"
echo
sleep 3
lspci -x | grep VGA
sleep 3
echo
glxinfo | grep -E "OpenGL vendor|OpenGL renderer*"
sleep 6
echo
echo "#######################################"
echo " Done ! "
echo "#######################################"
clear && sh /usr/share/xerowelcome/scripts/amd_drivers.sh
;;
2 )
echo
echo "##########################################"
echo " Installing AMD GPU Free Drivers "
echo "##########################################"
sleep 3
sudo pacman -S --noconfirm xf86-video-amdgpu libvdpau-va-gl vulkan-swrast libva-vdpau-driver libclc vulkan-radeon lib32-vulkan-radeon lib32-amdvlk amdvlk vulkan-icd-loader lib32-vulkan-icd-loader egl-wayland
sudo mkinitcpio -P
sleep 3
echo "#######################################"
echo " Done ! "
echo "#######################################"
exit
;;
3 )
echo
echo "##########################################"
echo " Installing ATI GPU Free Drivers "
echo "##########################################"
sleep 3
sudo pacman -S --noconfirm xf86-video-ati vulkan-radeon lib32-vulkan-radeon libvdpau-va-gl vulkan-swrast libva-vdpau-driver libclc
sudo mkinitcpio -P
sleep 3
echo "#######################################"
echo " Done ! "
echo "#######################################"
exit
;;
* )
echo "#################################"
echo " Choose the correct number "
echo "#################################"
;;
esac
done

168
src/scripts/apply_defaults.sh Executable file
View File

@ -0,0 +1,168 @@
#!/bin/bash
#set -e
##################################################################################################################
# Written to be used on 64 bits computers
# Author : DarkXero
# Website : http://xerolinux.xyz
##################################################################################################################
tput setaf 1
echo "###############################################################################"
echo "# !!! XeroLinux Reset Tool !!! #"
echo "# #"
echo "# Having Issues With Messed Up Layout or Settings ? #"
echo "# #"
echo "# This Will Restore OOB Defaults. Layout WILL BE RESET #"
echo "###############################################################################"
tput sgr0
echo
echo "Hello $USER, which Edition are you using ?"
echo
echo "1. XeroLinux KDE Plasma."
echo "2. XeroLinux GNOME Spin."
echo "3. XeroLinux XFCE Spin."
echo
#echo "4. Exit"
echo
echo "Please Select an Option..."
echo
read CHOICE
case $CHOICE in
1 )
echo
# echo "Option currently unavailable. Please check back soon..."
tput setaf 4
read -p "Final Warning, This Will Undo Your Customizations, Proceed ? (y/n): " proceed_response
tput sgr0
echo
if [[ $proceed_response == "y" || $proceed_response == "yes" ]]; then
echo
echo "###################################"
echo " Restoring/Applying KDE defaults "
echo "###################################"
sleep 2
echo
echo "Git Cloning Default Settings Repo"
cd ~ && git clone https://github.com/xerolinux/xero-layan-git && cd xero-layan-git/
sleep 2
echo
echo "Running Install Script..."
sh install.sh
echo
rm -Rf ~/xero-layan-git/
sleep 2
# Prompt the user to reboot
tput setaf 4
read -p "Customization Restored. Reboot recommended. Reboot now? (y/n): " reboot_response
tput setaf 0
echo
# Check the user's response
if [[ $reboot_response == "y" || $reboot_response == "yes" ]]; then
sudo reboot
else
echo
tput setaf 4
echo "Please manually reboot your system to apply changes."
tput sgr0
fi
else
echo "Restoration cancelled."
exit 0
fi
;;
2 )
echo
tput setaf 4
read -p "Final Warning, This Will Undo Your Customizations, Proceed ? (y/n): " proceed_response
tput sgr0
echo
if [[ $proceed_response == "y" || $proceed_response == "yes" ]]; then
echo
echo "###################################"
echo " Restoring/Applying Gnome defaults "
echo "###################################"
sleep 2
echo
echo "Creating backup & Applying custom Settings"
echo "##########################################"
cp -Rf ~/.config ~/.config-backup-$(date +%Y.%m.%d-%H.%M.%S) && cp -Rf /etc/skel/. ~ && sudo cp -Rf /etc/skel/. /root/
rm ~/.config/autostart/dconf-load.desktop
sh /usr/local/bin/xdconf
sleep 2
echo
# Prompt the user to reboot
tput setaf 4
read -p "Customization Restored. Reboot recommended. Reboot now? (y/n): " reboot_response
tput setaf 0
echo
# Check the user's response
if [[ $reboot_response == "y" || $reboot_response == "yes" ]]; then
sudo reboot
else
echo
tput setaf 4
echo "Please manually reboot your system to apply changes."
tput sgr0
fi
else
echo "Restoration cancelled."
exit 0
fi
;;
3 )
echo
tput setaf 4
read -p "Final Warning, This Will Undo Your Customizations, Proceed ? (y/n): " proceed_response
tput sgr0
echo
if [[ $proceed_response == "y" || $proceed_response == "yes" ]]; then
echo
echo "###################################"
echo " Restoring/Applying Gnome defaults "
echo "###################################"
sleep 2
echo
echo "Creating Backups of ~/.config folder"
echo "#####################################"
cp -Rf ~/.config ~/.config-backup-$(date +%Y.%m.%d-%H.%M.%S)
sleep 2
echo "###################################"
echo " Restoring XFCE defaults "
echo "###################################"
sleep 2
cp -rf /etc/skel/. ~
sudo cp -Rf /etc/skel/. /root/
sleep 2
# Prompt the user to reboot
tput setaf 4
read -p "Customization Restored. Reboot recommended. Reboot now? (y/n): " reboot_response
tput setaf 0
echo
# Check the user's response
if [[ $reboot_response == "y" || $reboot_response == "yes" ]]; then
sudo reboot
else
echo
tput setaf 4
echo "Please manually reboot your system to apply changes."
tput sgr0
fi
else
echo "Restoration cancelled."
exit 0
fi
;;
* )
echo "#################################"
echo "Choose the correct number"
echo "#################################"
;;
esac

163
src/scripts/dbox.sh Executable file
View File

@ -0,0 +1,163 @@
#!/bin/bash
#set -e
##################################################################################################################
# Written to be used on 64 bits computers
# Author : DarkXero
# Website : http://xerolinux.xyz
##################################################################################################################
tput setaf 3
echo "#################################################"
echo "# XeroLinux Distrobox Tool. #"
echo "#################################################"
tput sgr0
echo
echo "Hello $USER, what would you like to do today ?"
echo
echo "################## Distrobox & Docker Setup ##################"
echo
echo "i. Install/Configure Distrobox & Docker (Automatically)."
echo "d. Distrobox Documentaion on Github (Will open browser)."
echo
echo "################### Top 5 Container Images ###################"
echo
echo "1. Debian."
echo "2. Fedora."
echo "3. Void Linux."
echo "4. OpenSuse Tumbleweed."
echo "5. Gentoo Linux (For Advanced Users)."
echo
echo "u. Update all Containers (Might take a while)."
echo
echo "Type Your Selection. To Exit, just close Window."
echo
while :; do
read CHOICE
case $CHOICE in
i )
echo
sleep 2
echo "Installing packages..."
echo
sudo pacman -S --noconfirm distrobox docker docker-compose
sleep 2
echo
echo "Enabling Services & Adding you to group"
echo
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
sleep 2
echo
# Prompt the user to reboot
tput setaf 1
read -p "All done. Reboot is required. Reboot now? (y/n): " reboot_response
tput setaf 0
echo
# Check the user's response
if [[ $reboot_response == "y" || $reboot_response == "yes" ]]; then
sudo reboot
else
echo
tput setaf 2
echo "Please manually reboot your system before using Distrobox."
sleep 6
clear && sh /usr/share/xerowelcome/scripts/dbox.sh
tput sgr0
fi
;;
d )
echo
sleep 2
echo "Opening Distrobox Documentation In Your Default Browser..."
echo
xdg-open 'https://github.com/89luca89/distrobox/tree/main/docs#quick-start' &>/dev/null;
sleep 6
echo
clear && sh /usr/share/xerowelcome/scripts/dbox.sh
;;
1 )
echo
sleep 2
echo "Pulling Latest Debian Image with label XeroDeb, Please Wait..."
echo
distrobox create -i quay.io/toolbx-images/debian-toolbox:latest -n "XeroDeb"
sleep 10
echo
clear && sh /usr/share/xerowelcome/scripts/dbox.sh
;;
2 )
echo
sleep 2
echo "Pulling Latest Fedora Image with label XeroDora, Please Wait..."
echo
distrobox create -i registry.fedoraproject.org/fedora-toolbox:latest -n "XeroDora"
sleep 10
echo
clear && sh /usr/share/xerowelcome/scripts/dbox.sh
;;
3 )
echo
sleep 2
echo "Pulling Latest Void Linux Image with label XeroVoid, Please Wait..."
echo
distrobox create -i ghcr.io/void-linux/void-linux:latest-full-x86_64 -n "XeroVoid"
sleep 10
echo
clear && sh /usr/share/xerowelcome/scripts/dbox.sh
;;
4 )
echo
sleep 2
echo "Pulling Latest OpenSuse Tumbleweed Image with label XeroSuse..."
echo
distrobox create -i registry.opensuse.org/opensuse/tumbleweed:latest -n "XeroSuse"
sleep 10
echo
clear && sh /usr/share/xerowelcome/scripts/dbox.sh
;;
5 )
echo
sleep 2
echo "Pulling Latest Gentoo Linux Image with label XeroGen..."
echo
distrobox create -i docker.io/gentoo/stage3:latest -n "XeroGen"
sleep 10
echo
clear && sh /usr/share/xerowelcome/scripts/dbox.sh
;;
u )
echo
sleep 2
echo "Upgrading all Containers Please Wait..."
echo
distrobox-upgrade --all
sleep 3
echo
clear && sh /usr/share/xerowelcome/scripts/dbox.sh
;;
* )
echo "#################################"
echo " Choose the correct number "
echo "#################################"
;;
esac
done

80
src/scripts/firewalled.sh Executable file
View File

@ -0,0 +1,80 @@
#!/bin/bash
#set -e
##################################################################################################################
# Written to be used on 64 bits computers
# Author : DarkXero
# Website : http://xerolinux.xyz
##################################################################################################################
tput setaf 3
echo "###############################################################################"
echo "# XeroLinux Firewall Enabler #"
echo "###############################################################################"
tput sgr0
echo
echo "Hello $USER, which Edition are you using ?"
echo
echo "########## Edition Selection ##########"
echo
echo "1. XeroLinux KDE Plasma."
echo "2. XeroLinux GNOME (GUFW)."
echo "3. XeroLinux XFCE (FireJail)."
echo
echo "Type Your Selection. To Exit, just close Window."
echo
while :; do
read CHOICE
case $CHOICE in
1 )
echo
echo "###########################################"
echo " Adding/Enabling Firewalld "
echo "###########################################"
sleep 3
sudo pacman -S --noconfirm plasma-firewall firewalld
sudo systemctl enable --now firewalld
sleep 3
echo "###########################################"
echo " Done ! Check Status from KDE Settings "
echo "###########################################"
sleep 6
;;
2 )
echo
echo "############################################"
echo " Installing Firewall for Gnome "
echo "############################################"
sleep 3
sudo pacman -S --noconfirm gufw ufw
sleep 3
echo "###############################################"
echo " Done ! Configure Firewall From The Gufw App "
echo "###############################################"
sleep 6
;;
3 )
echo
echo "########################################"
echo " Installing Firewall for XFCE "
echo "########################################"
sleep 3
sudo pacman -S --noconfirm firejail firetools
sleep 3
echo "###############################################"
echo " Done ! Configure Firewall From FireJail App "
echo "###############################################"
sleep 6
;;
* )
echo "#################################"
echo " Choose the correct number "
echo "#################################"
;;
esac
done

51
src/scripts/fix_keys.sh Executable file
View File

@ -0,0 +1,51 @@
#!/usr/bin/bash
#set -e
echo "#################################"
echo "# Fixing Pacman Databases.. #"
echo "#################################"
sleep 2
echo
echo "##################################"
echo "# Deleting Existing Keys.. #"
echo "##################################"
sudo rm /var/lib/pacman/sync/*
sleep 2
echo
echo "#################################"
echo "# Deleting gnupg files.. #"
echo "#################################"
sudo rm -r /etc/pacman.d/gnupg/*
sleep 2
echo
echo "#################################"
echo "# Populating Keys.. #"
echo "#################################"
sudo pacman-key --init && sudo pacman-key --populate
sleep 2
echo
echo "#################################"
echo "# Adding Ubuntu keyserver.. #"
echo "#################################"
echo "keyserver hkp://keyserver.ubuntu.com:80" | sudo tee --append /etc/pacman.d/gnupg/gpg.conf
sleep 2
echo
echo "##################################"
echo "# Updating ArchLinux Keyring.. #"
echo "##################################"
sudo pacman -Sy --noconfirm archlinux-keyring
sleep 2
echo
echo "##################################"
echo "# Done ! Try Update now & Report #"
echo "##################################"

64
src/scripts/hw_service.sh Executable file
View File

@ -0,0 +1,64 @@
#!/bin/bash
#set -e
##################################################################################################################
# Written to be used on 64 bits computers
# Author : DarkXero
# Website : http://xerolinux.xyz
##################################################################################################################
tput setaf 3
echo "###############################################################################"
echo "# XeroLinux Hardware Service #"
echo "###############################################################################"
tput sgr0
echo
echo "Hello $USER, What shall we do today ?"
echo
echo "1. List Hardware Config via inxi."
echo "2. Probe & Upload System Config for Sharing."
echo
echo "Type Your Selection. To Exit, just close Window."
echo
while :; do
read CHOICE
case $CHOICE in
1 )
echo
echo "###########################################"
echo " Check System Config via inxi "
echo "###########################################"
sleep 2
inxi -b
sleep 2
echo "###########################################"
echo " Share Screenshot for help "
echo "###########################################"
;;
2 )
echo
echo "############################################"
echo " Probing config & Uploading "
echo "############################################"
echo
sleep 2
sudo -E hw-probe -all -upload
sleep 2
echo
echo "###############################################"
echo " Ctrl+Click to open link for sharing "
echo "###############################################"
;;
* )
echo "#################################"
echo " Choose the correct number "
echo "#################################"
;;
esac
done

47
src/scripts/init_snapper.sh Executable file
View File

@ -0,0 +1,47 @@
#!/usr/bin/bash
#set -e
RED='\033[0;31m'
GREEN='\033[0;32m'
BLUE='\033[0;34m'
NC='\033[0m'
echo "#####################################"
echo " XeroLinux Snapper Setup "
echo "#####################################"
echo
# Get current user's username
username=$(whoami)
# Welcome message
echo -e "${GREEN}Hi, $username! Checking for BTRFS, if so BTRFS Assistant & Snapper tools will be installed.${NC}"
echo
sleep 3
# Check if the file system is BTRFS
if lsblk -f | grep -q "btrfs"; then
echo -e "${GREEN}BTRFS partitions found. Adding Necessary Modules, Installing Packages & Initializing Root/Home.r.${NC}"
echo
echo "Installing Packages & Updating mkinitcpio configuration"
sudo pacman -Sy --noconfirm btrfs-assistant btrfs-du snapper-support btrfsmaintenance
echo
sleep 3
sudo sed -i 's/MODULES="\(.*\)"/MODULES="\1 btrfs"/; s/crc32c//g' /etc/mkinitcpio.conf
sudo mkinitcpio -P
sleep 3
echo
echo "Initializing snapper for root subvolume"
sudo snapper -c root create-config /
sudo snapper -c root create
echo
sleep 3
echo "Initializing snapper for home subvolume"
sudo snapper -c home create-config /home
sudo snapper -c home create
echo
sleep 3
echo -e "${BLUE}Snapper installed and initialized. Reboot required.${NC}"
echo
else
echo -e "${RED}No BTRFS Partitions found. Exiting...${NC}"
exit 1
fi

107
src/scripts/iso_builder.sh Executable file
View File

@ -0,0 +1,107 @@
#!/bin/bash
#set -e
##################################################################################################################
# Written to be used on 64 bits computers
# Author : DarkXero
# Website : http://xerolinux.xyz
##################################################################################################################
tput setaf 3
echo "###############################################################################"
echo "# XeroLinux ISO Builder #"
echo "###############################################################################"
tput sgr0
echo
echo "Hello $USER, which ISO would you like to build today ?"
echo
#echo "Please close this window, thanks..."
echo "########## Edition Selection ##########"
echo
echo "1. XeroLinux KDE Plasma."
echo "2. XeroLinux GNOME Spin."
echo "3. XeroLinux XFCE Spin."
echo
echo "Type Your Selection. To Exit, just close Window."
echo
while :; do
read CHOICE
case $CHOICE in
1 )
echo
# echo "Option currently unavailable. Will be back once optimized for Gnome 45..."
echo "###########################################"
echo " Building XeroLinux KDE Flagship "
echo "###########################################"
echo
sleep 3
cd ~ && git clone https://github.com/xerolinux/xero_iso.git
sleep 3
echo
cd ~/xero_iso/ && ./build.sh
sleep 3
echo
cd ~ && rm -rf ~/xero_iso/
echo "###########################################"
echo " Done ! Check Home Folder for ISO "
echo "###########################################"
sleep 3
clear && sh /usr/share/xerowelcome/scripts/iso_builder.sh
;;
2 )
echo
# echo "Option currently unavailable. Will be back once optimized for Gnome 45..."
echo "###########################################"
echo " Building XeroLinux Gnome Spin "
echo "###########################################"
echo
sleep 3
cd ~ && git clone https://github.com/xerolinux/xero_g_iso.git
sleep 3
echo
cd ~/xero_g_iso/ && ./build.sh
sleep 3
echo
cd ~ && rm -rf ~/xero_g_iso/
echo "###########################################"
echo " Done ! Check Home Folder for ISO "
echo "###########################################"
sleep 3
clear && sh /usr/share/xerowelcome/scripts/iso_builder.sh
;;
3 )
echo
# echo "Option currently unavailable. Will be back once optimized for Gnome 45..."
echo "###########################################"
echo " Building XeroLinux XFCE Spin "
echo "###########################################"
echo
sleep 3
cd ~ && git clone https://github.com/xerolinux/xero_xfce_iso.git
sleep 3
echo
cd ~/xero_xfce_iso/ && ./build.sh
sleep 3
echo
cd ~ && rm -rf ~/xero_xfce_iso/
echo "###########################################"
echo " Done ! Check Home Folder for ISO "
echo "###########################################"
sleep 3
clear && sh /usr/share/xerowelcome/scripts/iso_builder.sh
;;
* )
echo "#################################"
echo " Choose the correct number "
echo "#################################"
;;
esac
done

377
src/scripts/nVidia_drivers.sh Executable file
View File

@ -0,0 +1,377 @@
#!/bin/bash
#set -e
##################################################################################################################
# Written to be used on 64 bits computers
# Author : DarkXero
# Extensive modifications by: vlk (https://github.com/REALERvolker1)
# Website : http://xerolinux.xyz
##################################################################################################################
# Set the window title to something pleasant
echo -en "\033]2;XeroLinux Nvidia Setup\007"
# Attempt to fix on Konsole
echo -ne "\033]30;XeroLinux Nvidia Setup\007"
# set to 1 to remove dxvk-bin in the driver uninstall function
XEROLINUX_REMOVE_DXVK_BIN=0 # 1
shopt -s checkwinsize
(
: # curse you, shfmt
:
)
# define some useful characters that are hard to type
BOLD=""
RESET=""
# TAB=$'\t' # make shellcheck happy
LF=$'\n'
_print_header() {
local surround htx i surround fsur width_pad color
local vert_pad=$'\n'
local -i width
local -i halfwidth
local -i i_width
local -a prints=()
for i in "$@"; do
i_val="${i#*=}" # preprocess
case "$i" in
'--width='*)
width="$i_val"
;;
'--surround_char='*)
((${#i_val} == 1)) && surround="$i_val"
;;
'--full-surround') # if you want to have the text surrounded
fsur=true
;;
'--no-vertical-pad')
vert_pad=''
;;
'--color='*)
color="$i_val"
;;
*)
prints+=("$i")
;;
esac
done
((${#surround} == 1)) || surround='#' # if the surround character is not 1 character long, set it to default
((width > 3)) || width="$COLUMNS" # make sure width is a number, and it is enough to do fun things with later
htx="$(printf "\e[1${color:+;$color}m%${width}s\e[0m" '')"
htx="${htx// /$surround}" # first print a bunch of spaces of the desired width, then replace those spaces with the surround character
if ((${#fsur})); then
fsur="\e[1;${color:+;$color}m${surround}" # fsur is dual-purpose. If it is set, then turn it from a bool into a fmt string
width="$((width - 2))" # make sure the width is small enough to be completely surrounded
fi
((width % 2)) && width_pad=' ' # pad width with a space on one side if it is not an even number
halfwidth="$((width / 2))" # precompute half the width (as an integer)
echo "${vert_pad:-}$htx"
for i in "${prints[@]}"; do
i_width="$((${#i} / 2))" # character count of $i, divided by two
# if fsur is not set, set it to an empty string. Pad the width in spaces to be centered
printf "${fsur:=}\e[${color:-0}m%$((i_width + halfwidth))s%$((halfwidth - i_width))s${width_pad:=}${fsur:-}\n" "$i"
done
echo "$htx${vert_pad:-}"
}
_pause_for_readability() {
local delay="${1:?Error, a period of time to delay is required!}"
echo -en "\e[2m(Pausing $delay seconds for readability)\e[0m"
# [[ ${1:-} =~ ^([0-9]+)$ ]] && delay="${1:-}"
# read -r -t "$delay" -p "Press RETURN to skip the $delay-second delay..." delay
read -r -t "$delay"
echo -en "\e[2K\r" # Erase the text and return cursor position to normal
}
_wayland_setup() {
local sudocmd prompt_str REBOOT_CHOICE dkms_pkg i
if [[ ${1:-} == '--open' ]]; then
dkms_pkg="nvidia-open-dkms"
_print_header \
'Installing Experimental Open-dkms Drivers' \
'' \
'Provides Experimental Open-dkms Drivers' \
'Limited to Turing Series GPUs & Up'
printf '%s\n' 'This option installs the latest open-source nVidia kernel modules.' \
'Recommended for tinkering and testing' \
"${BOLD}Warning${RESET}: Only compatible with ${BOLD}Turing+${RESET} GPUs$RESET"
else
dkms_pkg="nvidia-dkms"
_print_header \
'Installing Clean Vanilla Drivers (NFB)' \
'' \
'Provides Clean Vanilla Drivers' \
'Limiting you to only 900 Series & Up'
printf '%s\n' 'This option installs the latest proprietary kernel modules.' \
'Recommended for most use cases'
fi
_pause_for_readability 5
local should_install_cuda
_print_header --width=55 'Do you want to include CUDA for Machine Learning?' \
"${BOLD}WARNING${RESET}: This takes ${BOLD}4.3${RESET} GiB of disk space!!!"
read -r -p "Do you want to install Cuda ? [y/N] > " should_install_cuda
# if we do not have sudo perms, warn the user. Redirect all output (stdout, stderr, etc) to /dev/null
if ((${#DRY})); then
sudocmd='echo sudo'
# prompt_str="${BOLD}[Dry run]${RESET} "
else
sudocmd='sudo'
sudo -vn &>/dev/null || echo "${BOLD}[Sudo required]${RESET}"
fi
# read, unmangle backslashes, return false after 5 seconds, only read 1 character, prompt with string, no variable
# read -r -t 5 -n 1 -p "${prompt_str:-}Press Enter to continue, or wait 5 seconds...${LF}"
local -a required_packages=(
"$dkms_pkg"
'nvidia-utils'
'libxnvctrl'
'lib32-libxnvctrl'
'dxvk-bin'
'opencl-nvidia'
'lib32-opencl-nvidia'
'lib32-nvidia-utils'
'nvidia-settings'
'libvdpau'
'lib32-libvdpau'
'vulkan-icd-loader'
'lib32-vulkan-icd-loader'
)
[[ ${should_install_cuda:-} == y ]] && required_packages+=(cuda)
# pacman sends currently installed packages to stdout, and not-installed packages to stderr.
# Take stderr and get only the package name. Disregard any colors.
local oldifs="$IFS"
local IFS=$'\n'
local -a needed_packages=($(pacman -Q "${required_packages[@]}" 2> >(grep -oP --color=never "^error:[^']*'\K[^']*") >/dev/null))
IFS="$oldifs"
if ((${#needed_packages[@]})); then
_print_header --width=35 "Installing packages"
printf '%s\n' "${needed_packages[@]}"
_pause_for_readability 5
$sudocmd pacman -S --needed --noconfirm "${required_packages[@]}" # install everything though because you need to have it all
else
_print_header --width=35 "Drivers already installed. Skipping"
fi
_print_header --width=35 'Applying Wayland Specific Stuff.'
_pause_for_readability 3
local -i no_force_powermgmt=1
local wants_powermgmt
local DESKTOP_ENVIRONMENT="${XDG_CURRENT_DESKTOP,,}"
if [[ "${DESKTOP_ENVIRONMENT:=}" == "kde" || "${DESKTOP_ENVIRONMENT:=}" == "gnome" ]]; then
echo "Step 1: Updating mkinitcpio configuration"
_pause_for_readability 2
$sudocmd sed -i 's/MODULES="\(.*\)"/MODULES="nvidia nvidia_modeset nvidia_uvm nvidia_drm"/; s/crc32c//g' '/etc/mkinitcpio.conf'
echo "${LF}Step 2: Creating a backup of Grub & adding necessary Kernel Flags"
_pause_for_readability 2
$sudocmd cp '/etc/default/grub' '/etc/default/grub.xbk'
$sudocmd sed -i "s/\(GRUB_CMDLINE_LINUX_DEFAULT='[^']*\)'/\1 nvidia_drm.modeset=1'/" '/etc/default/grub'
$sudocmd update-grub
if [[ "$DESKTOP_ENVIRONMENT" == "gnome" ]]; then
echo "Step 2a: Applying Extra Gnome Modifications..."
_pause_for_readability 2
echo "options nvidia NVreg_PreserveVideoMemoryAllocations=1" | (
# stdin is propagated to subprocesses of subshells
if ((${#DRY})); then
tee
else
$sudocmd tee '/etc/modprobe.d/nvidia-wayland-gnome.conf' >/dev/null
fi
)
# $sudocmd ln -s '/dev/null' '/etc/udev/rules.d/61-gdm.rules'
$sudocmd mkinitcpio -P
fi
wants_powermgmt=y
no_force_powermgmt=0
fi
local -a services=(nvidia-{hibernate,resume,suspend})
# ((no_force_powermgmt)) && read -r -p "Do you want to enable Nvidia power services? [y/N] > " wants_powermgmt
local needs_nvidia_powerd
read -r -p "Do you want to enable 'nvidia-powerd'? For Ampere (RTX 30 series+) laptop GPUs. [y/N] > " needs_nvidia_powerd
[[ ${needs_nvidia_powerd:-} == 'y' ]] && services+=('nvidia-powerd')
_print_header --width=35 'Enabling power services' "${services[@]}"
_pause_for_readability 2
# if [[ ${wants_powermgmt:-} == y || no_force_powermgmt -eq 1 ]]; then
if :; then
$sudocmd systemctl enable "${services[@]}" # &>/dev/null # it's always good to just double check
if ((${#DRY})); then
echo "Dry run selected. Skipping reboot"
else
_print_header "Reboot required. Press Enter to reboot or any other key to exit."
read -r REBOOT_CHOICE
if [[ -z ${REBOOT_CHOICE:-} ]]; then
$sudocmd reboot
else
echo "${LF}Please reboot your system later to apply the changes."
fi
fi
else
echo "Skipping nvidia power services"
fi
}
_check_gpu() {
_print_header 'Checking Installed GPU'
echo "${LF}Your system has the following GPU(s)${LF}"
lspci -x | grep --color=always -P '[^A-Za-z]+VGA.*NVIDIA[^\[]+\[\K[^\]]+'
glxinfo | grep --color=always -P 'OpenGL\s*(vendor|renderer)[^:]*:\s*\K.*'
nvurl='https://www.nvidia.com/download/index.aspx?lang=en-us'
skiptext="Skipping opening url '$nvurl'"
if ((${#DRY})); then
echo "$skiptext"
else
read -r -p "Want to open the nVidia drivers page?${LF}[y/N] > " ans
if [[ $ans == y ]]; then
_print_header --width=66 \
'Opening nVidia Drivers page...' \
'Check What Version Your GPU Needs Before Installing or Building.'
_pause_for_readability 2
xdg-open "$nvurl" &>/dev/null
else
echo "$skiptext"
fi
fi
}
_remove_everything() {
_print_header --width=66 'Uninstalling all nVidia Drivers'
((XEROLINUX_REMOVE_DXVK_BIN)) && packages+=("dxvk-bin")
# See driver install function for code explanation
_print_header --width=35 "Removing packages"
# local -a removing_packages=($(pacman -Q "${packages[@]}" 2>/dev/null | cut -d ' ' -f 1))
local -a removing_packages=($(pacman -Q | grep -oE '\S*(nv(idia|ctrl|api)|cuda|vdpau)\S*'))
((${#removing_packages[@]})) && printf '%s\n' "${removing_packages[@]}"
# If the user suddenly doesn't want to remove nvidia drivers, they have a second chance
local second_thoughts
read -r -p "Do you want to ${BOLD}REMOVE${RESET} these packages? [y/N] > " second_thoughts
[[ ${second_thoughts:-} == 'y' ]] || return
if ((${#DRY})); then
# echo "Dry run -- skipping removal of ${packages[*]}"
sudocmd='echo sudo'
else
sudocmd='sudo'
fi
local package
for package in "${packages[@]}"; do
$sudocmd pacman -Rdd --noconfirm "$package" &>/dev/null
done
$sudocmd mkinitcpio -P
}
__reset_everything() {
if [[ ${1:-} == '--header' ]]; then
_print_header --width=49 'Done!' 'Press ENTER to return to main screen'
fi
read -r
echo -en "${RESET}" # clear formatting
clear
# sh '/usr/share/xerowelcome/scripts/nVidia_drivers.sh' # DANGEROUS RECURSION!!
}
DRY=''
# argument parsing
for i in "$@"; do
case "${i:-}" in
'--dry-run' | -d)
DRY=true
;;
'-'*)
# ARGZERO (the script name), greedily matched until the last slash
# turns '/home/vlk/Downloads/nVidia_driversNov.sh' into 'nVidia_driversNov.sh'
echo "${0##*/} [--dry-run (-d)]"
echo "run ${0##*/} with no args to run the script as usual"
exit 1
;;
esac
done
# save everything to a variable
header_text="$(
_print_header --color=91 --no-vertical-pad --full-surround \
'XeroLinux nVidia (Proprietary) Driver Installer' \
'Wayland Support Included. This Applies to KDE & Gnome NOT XFCE.' \
"Note : nvidia-settings GUI isn't Yet Wayland Ready, Plz Use Terminal." \
'Normally This is Enough For Hybrid Setups, If Not, More Research is Needed.'
cat <<EOF
###################### Detected GPUs ######################
Hello ${USER:=$(whoami)}, you have the following nVidia GPU(s):
$(
lspci | grep -oP '^.*VGA[^:]+:\s*\K.*NVIDIA.*\](?=\s*\(.*)' | sed -E 's/(\[)/\1/g ; s/(\])/\1/g'
)
################ Vanilla/Open-DKMS Drivers ################
${BOLD}1${RESET}. Latest Vanilla Drivers (900 Series & up).
${BOLD}2${RESET}. Latest Open-dkms Drivers (Experimental/Turing+).
############### Troubleshooting. (Cleanup). ###############
${BOLD}r${RESET}. Remove all Drivers. (Start Fresh)
Type Your Selection. To Exit, press ${BOLD}q${RESET} or close Window.
${RESET}
EOF
)"
while :; do
CHOICE=''
# print the header every time
# read, unmangle backslashes, stop after 1 character, prompt with string, variable
read -r -n 1 -p "$header_text${LF}${INVALID_OPTION_STR:-}[1|2|r|q] > ${BOLD}" CHOICE
INVALID_OPTION_STR=''
echo "${RESET}" # user's answer is bolded. This is required to reset
case "${CHOICE:=}" in
1)
_wayland_setup
;;
2)
_wayland_setup --open
;;
c)
_check_gpu
# __reset_everything --header
;;
r)
_remove_everything
;;
q)
exit 0
;;
*)
# _print_header --width=33 'Choose a valid option!' # no one will see this
INVALID_OPTION_STR="Invalid option: '${CHOICE:-}' "
clear
continue # re-prompt
;;
esac
__reset_everything --header
done

11
src/scripts/rank_mirrors.sh Executable file
View File

@ -0,0 +1,11 @@
#!/usr/bin/bash
echo
echo "##########################################"
echo " Updating Mirrors To Fastest Ones "
echo "##########################################"
echo
sudo reflector --verbose -phttps -f10 -l10 --sort rate --save /etc/pacman.d/mirrorlist && sudo pacman -Syy
echo
echo "##################################"
echo " Done ! Updating should go faster "
echo "##################################"

111
src/scripts/switch_dm.sh Executable file
View File

@ -0,0 +1,111 @@
#!/bin/bash
#set -e
##################################################################################################################
# Written to be used on 64 bits computers
# Author : DarkXero
# Website : http://xerolinux.xyz
##################################################################################################################
tput setaf 3
echo "###############################################################################"
echo "# XeroLinux Display Manager Switcher #"
echo "###############################################################################"
tput sgr0
echo
echo "Hello $USER, which Display Manager do you want to switch to ?"
echo
echo "########## DM Selector ##########"
echo
echo "1. LightDM."
echo "2. KDE SDDM (For KDE use only)."
echo "3. Gnome GDM (For Gnome use only)."
echo
echo "Type Your Selection. To Exit, just close Window."
echo
while :; do
read CHOICE
case $CHOICE in
1 )
echo
echo "###########################################"
echo " Switching to LightDM "
echo "###########################################"
sleep 2
echo
echo "Removing Current Display Manager"
echo "################################"
sudo pacman -Rdd --noconfirm sddm &>/dev/null; sudo pacman -Rdd --noconfirm sddm-git &>/dev/null; sudo pacman -Rdd --noconfirm sddm-git &>/dev/null; sudo pacman -Rdd --noconfirm sddm-kcm &>/dev/null; sudo pacman -Rdd --noconfirm gdm &>/dev/null
sleep 2
echo
echo "Installing & Enabling LightDM"
echo "#############################"
sudo pacman -S --needed --noconfirm lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings
sleep 2
sudo systemctl enable lightdm.service -f
echo
echo "###########################################"
echo " Done ! Please reboot to apply "
echo "###########################################"
sleep 3
;;
2 )
echo
echo "###########################################"
echo " Switching to SDDM "
echo "###########################################"
sleep 2
echo
echo "Removing Current Display Manager"
echo "################################"
sudo pacman -Rdd --noconfirm sddm &>/dev/null; sudo pacman -Rdd --noconfirm lightdm &>/dev/null; sudo pacman -Rdd --noconfirm lightdm-gtk-greeter &>/dev/null; sudo pacman -Rdd --noconfirm lightdm-gtk-greeter-settings &>/dev/null; sudo pacman -Rdd --noconfirm gdm &>/dev/null
sleep 2
echo
echo "Installing & Enabling SDDM"
echo "##########################"
yay -S sddm-git --noconfirm
sudo pacman -S sddm-kcm --needed --noconfirm
sleep 2
sudo systemctl enable sddm.service -f
echo
echo "###########################################"
echo " Done ! Please reboot to apply "
echo "###########################################"
sleep 3
;;
3 )
echo
echo "###########################################"
echo " Switching to GDM "
echo "###########################################"
sleep 2
echo
echo "Removing Current Display Manager"
echo "################################"
sudo pacman -Rdd --noconfirm sddm &>/dev/null; sudo pacman -Rdd --noconfirm sddm-git &>/dev/null; sudo pacman -Rdd --noconfirm sddm-kcm &>/dev/null; sudo pacman -Rdd --noconfirm lightdm &>/dev/null; sudo pacman -Rdd --noconfirm lightdm-gtk-greeter &>/dev/null; sudo pacman -Rdd --noconfirm lightdm-gtk-greeter-settings &>/dev/null
sleep 2
echo
echo "Installing & Enabling GDM"
echo "#########################"
sudo pacman -S --needed --noconfirm gdm
sleep 2
sudo systemctl enable gdm.service -f
echo
echo "###########################################"
echo " Done ! Please reboot to apply "
echo "###########################################"
sleep 3
;;
* )
echo "#################################"
echo " Choose the correct number "
echo "#################################"
;;
esac
done

38
src/scripts/switch_to_zsh.sh Executable file
View File

@ -0,0 +1,38 @@
#!/bin/bash
#set -e
echo "######################################"
echo "Setting up ZSH With p10k & OMZ Plugins"
echo "######################################"
sleep 2
echo "Step 1 - Grabing Necessary Fonts"
echo "################################"
sudo pacman -S --needed --noconfirm zsh grml-zsh-config
yay -S --noconfirm ttf-meslo-nerd siji-git ttf-unifont noto-color-emoji-fontconfig xorg-fonts-misc ttf-dejavu ttf-meslo-nerd-font-powerlevel10k noto-fonts-emoji powerline-fonts zsh-theme-powerlevel10k
sleep 2
echo "Step 2 - Grabing OhMyZsh & Plugins"
echo "##################################"
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-completions
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
sleep 2
echo "Step 3 - Grabing PowerLevel10k Theme"
echo "#####################################"
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
cd $HOME/ && wget https://raw.githubusercontent.com/xerolinux/xero-fixes/main/conf/.p10k.zsh
sleep 2
echo "Step 4 - Setting Default Shell to ZSH"
echo "#####################################"
sudo chsh $USER -s /bin/zsh
cd $HOME/.local/share/konsole/
sed -i 's|/bin/bash|/bin/zsh|g' XeroLinux.profile
sleep 2
echo "Step 5 - Importing XeroLinux .zshrc"
echo "#####################################"
cd $HOME/
rm .zshrc
wget https://raw.githubusercontent.com/xerolinux/xero-fixes/main/conf/.zshrc
sleep 2
echo "#####################################"
echo " Done ! Now Logout & back in "
echo "#####################################"

103
src/scripts/update_system.sh Executable file
View File

@ -0,0 +1,103 @@
#!/bin/bash
#set -e
##################################################################################################################
# Written to be used on 64 bits computers
# Author : DarkXero
# Website : http://xerolinux.xyz
##################################################################################################################
tput setaf 5
echo "###############################################################################"
echo "# XeroLinux System Updater #"
echo "# #"
echo "# !!! Please Note !!! #"
echo "# #"
echo "# AUR Packages Will Build Before Installing.. #"
echo "# Which might take some time depending on Package. In case it fails #"
echo "# #"
echo "# Please do NOT report to us, but to the package maintainer(s) upstream #"
echo "###############################################################################"
tput sgr0
echo
echo "Hello $USER, Please Select Packages To Update."
echo
echo "########## Package Manager Selector ##########"
echo
echo "1. Update Arch Packages Only."
echo "2. Update Arch & A.U.R Packages."
echo "3. Update Flatpak Packages Only."
echo
echo "4. Update All in one go. (Not Topgrade)."
echo
echo "Type Your Selection. To Exit, just close Window."
echo
while :; do
read CHOICE
case $CHOICE in
1 )
echo
echo "##########################################"
echo " Updating Arch Packages "
echo "##########################################"
sleep 3
sudo pacman -Syyu
sleep 3
echo "#######################################"
echo " Done ! "
echo "#######################################"
clear && sh /usr/share/xerowelcome/scripts/update_system.sh
;;
2 )
echo
echo "##########################################"
echo " Updating Arch & AUR Packages "
echo "##########################################"
sleep 3
yay -Syyu
sleep 3
echo "#######################################"
echo " Done ! "
echo "#######################################"
clear && sh /usr/share/xerowelcome/scripts/update_system.sh
;;
3 )
echo
echo "##########################################"
echo " Updating Flatpak Packages "
echo "##########################################"
sleep 3
flatpak update
sleep 3
echo "#######################################"
echo " Done ! "
echo "#######################################"
clear && sh /usr/share/xerowelcome/scripts/update_system.sh
;;
4 )
echo
echo "##########################################"
echo " Updating Everything in One Go "
echo "##########################################"
sleep 3
yay -Syyu && flatpak update
sleep 3
echo "#######################################"
echo " Done ! "
echo "#######################################"
clear && sh /usr/share/xerowelcome/scripts/update_system.sh
;;
* )
echo "#################################"
echo " Choose the correct number "
echo "#################################"
;;
esac
done

206
src/scripts/xero_rices.sh Executable file
View File

@ -0,0 +1,206 @@
#!/bin/bash
#set -e
##################################################################################################################
# Written to be used on 64 bits computers
# Author : DarkXero
# Website : http://xerolinux.xyz
##################################################################################################################
tput setaf 3
echo "#################################################"
echo "# The XeroLinux Rice Installer #"
echo "# The Following Script is for KDE Only #"
echo "#################################################"
tput sgr0
echo
echo "Hello $USER, which rice would you like to apply today ?"
echo
echo "################# Rice Selector #################"
echo
echo "1. The Catppuccin Rice (Teddy)."
echo "2. The Dunes Rice (GamerKing)."
echo "3. The Nord Rice (DarkXero)."
echo "4. The Sweet Rice (Teddy)."
echo
echo "################# Ricing Tweaks #################"
echo
echo "5. Reset config back to Pure Vanilla KDE."
echo "6. Activate Flatpak Theming (Required If used)."
echo "7. Update Default System Theme (Layan KDE/GTK)."
echo
echo "Type Your Selection. To Exit, just close Window."
echo
while :; do
read CHOICE
case $CHOICE in
1 )
echo
echo "#################################################"
echo "# Applying Selected Rice #"
echo "#################################################"
echo
sleep 2
cd ~ && git clone https://github.com/xerolinux/xero-catppuccin-git && cd ~/xero-catppuccin-git/ && ./install.sh
sleep 3
# Prompt the user to reboot
tput setaf 4
read -p "Customization Restored. Reboot recommended. Reboot now? (y/n): " reboot_response
tput setaf 0
echo
# Check the user's response
if [[ $reboot_response == "y" || $reboot_response == "yes" ]]; then
sudo reboot
else
echo
tput setaf 4
echo "Please manually reboot your system to apply changes."
tput sgr0
fi
exit 0
;;
2 )
echo
echo "#################################################"
echo "# Applying Selected Rice #"
echo "#################################################"
echo
sleep 2
cd ~ && git clone https://github.com/xerolinux/xero-dunes-git.git && cd ~/xero-dunes-git/ && ./install.sh
sleep 3
echo
# Prompt the user to reboot
tput setaf 4
read -p "Customization Restored. Reboot recommended. Reboot now? (y/n): " reboot_response
tput sgr0
echo
# Check the user's response
if [[ $reboot_response == "y" || $reboot_response == "yes" ]]; then
sudo reboot
else
echo
echo "Please manually reboot your system to apply changes."
fi
exit 0
;;
3 )
echo
echo "#################################################"
echo "# Applying Selected Rice #"
echo "#################################################"
echo
sleep 2
cd ~ && git clone https://github.com/xerolinux/xero-nord-git.git && cd ~/xero-nord-git/ && ./install.sh
sleep 3
echo
# Prompt the user to reboot
tput setaf 4
read -p "Customization Restored. Reboot recommended. Reboot now? (y/n): " reboot_response
tput setaf 0
echo
# Check the user's response
if [[ $reboot_response == "y" || $reboot_response == "yes" ]]; then
sudo reboot
else
echo
tput setaf 4
echo "Please manually reboot your system to apply changes."
tput sgr0
fi
exit 0
;;
4 )
echo
echo "#################################################"
echo "# Applying Selected Rice #"
echo "#################################################"
echo
sleep 2
cd ~ && git clone https://github.com/xerolinux/xero-sweet-git.git && cd ~/xero-sweet-git/ && ./install.sh
sleep 3
echo
# Prompt the user to reboot
tput setaf 4
read -p "Customization Restored. Reboot recommended. Reboot now? (y/n): " reboot_response
tput setaf 0
echo
# Check the user's response
if [[ $reboot_response == "y" || $reboot_response == "yes" ]]; then
sudo reboot
else
echo
tput setaf 4
echo "Please manually reboot your system to apply changes."
tput sgr0
fi
exit 0
;;
5 )
echo
echo "#################################################"
echo "# Resetting to Vanilla KDE #"
echo "# #"
echo "# Warning, will undo current settings ! #"
echo "# This will revert settings to Pure Vanilla KDE #"
echo "#################################################"
echo
sleep 6
cp -Rf ~/.config ~/.config-backup-$(date +%Y.%m.%d-%H.%M.%S) && rm -Rf ~/.config/
sudo sed -i "s/GRUB_THEME/#GRUB_THEME/g" /etc/default/grub
sudo grub-mkconfig -o /boot/grub/grub.cfg
sleep 3
echo
# Prompt the user to reboot
tput setaf 4
read -p "Customization Restored. Reboot recommended. Reboot now? (y/n): " reboot_response
tput setaf 0
echo
# Check the user's response
if [[ $reboot_response == "y" || $reboot_response == "yes" ]]; then
sudo reboot
else
echo
tput setaf 4
echo "Please manually reboot your system to apply changes."
tput sgr0
fi
exit 0
;;
6 )
echo
sleep 2
sh /usr/local/bin/flatfix
sleep 2
clear && sh /usr/share/xerowelcome/scripts/xero_rices.sh
;;
7 )
echo
sleep 2
sh /usr/local/bin/stup
sleep 2
clear && sh /usr/share/xerowelcome/scripts/xero_rices.sh
;;
* )
echo "#################################"
echo " Choose the correct number "
echo "#################################"
;;
esac
done

97
src/scripts/xerofix.sh Executable file
View File

@ -0,0 +1,97 @@
#!/bin/bash
#set -e
##################################################################################################################
# Written to be used on 64 bits computers
# Author : DarkXero
# Website : http://xerolinux.xyz
##################################################################################################################
tput setaf 3
echo "#################################################"
echo "# XeroLinux Fixes/Tweaks #"
echo "#################################################"
tput sgr0
echo
echo "Hello $USER, what would you like to do today ?"
echo
echo "################## Troubleshooting ##################"
echo
echo "1. Apply The Samba Share Fix."
echo "2. Clear Pacman Cache (Free Space)."
echo "3. Restart PipeWire/PipeWire-Pulse."
echo "4. Unlock Pacman DB (In case of error)."
echo "5. Enable The PipeWire Echo-Cancel Module."
echo "6. TKG Kernel/nVidia Scripts (Advanced use only)."
echo
echo "Type Your Selection. To Exit, just close Window."
echo
while :; do
read CHOICE
case $CHOICE in
1 )
echo
sleep 2
sh /usr/local/bin/smbfix
sleep 2
clear && sh /usr/share/xerowelcome/scripts/xerofix.sh
;;
2 )
echo
sleep 2
sudo pacman -Scc
sleep 2
echo
clear && sh /usr/share/xerowelcome/scripts/xerofix.sh
;;
3 )
echo
sleep 2
sh /usr/local/bin/rpipe
sleep 2
clear && sh /usr/share/xerowelcome/scripts/xerofix.sh
;;
4 )
echo
sleep 2
sudo rm /var/lib/pacman/db.lck
sleep 2
clear && sh /usr/share/xerowelcome/scripts/xerofix.sh
;;
5 )
echo
sleep 2
sh /usr/local/bin/pipecho
sleep 2
clear && sh /usr/share/xerowelcome/scripts/xerofix.sh
;;
6 )
echo
sleep 2
sh /usr/local/bin/tkg
echo
sleep 3
clear && sh /usr/share/xerowelcome/scripts/xerofix.sh
;;
* )
echo "#################################"
echo " Choose the correct number "
echo "#################################"
;;
esac
done

235
ui/drivers_page.glade Normal file
View File

@ -0,0 +1,235 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0
Copyright (C) 2021-2023 CachyOS team
This file is part of cachyos-welcome.
cachyos-welcome is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
cachyos-welcome is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with cachyos-welcome. If not, see <http://www.gnu.org/licenses/>.
-->
<interface domain="xerowelcome">
<requires lib="gtk+" version="3.20"/>
<!-- interface-css-provider-path style.css -->
<!-- interface-license-type gplv3 -->
<!-- interface-name cachyos-welcome -->
<!-- interface-copyright 2021-2023 CachyOS team -->
<object class="GtkBox" id="pagebox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkButton" id="backbutton">
<property name="label">gtk-go-back</property>
<property name="name">faqBrowser</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="use-stock">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<!-- n-columns=2 n-rows=11 -->
<object class="GtkGrid" id="pagebody">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">10</property>
<property name="margin-right">10</property>
<property name="margin-top">10</property>
<property name="margin-bottom">10</property>
<property name="row-spacing">20</property>
<property name="column-spacing">10</property>
<property name="column-homogeneous">True</property>
<child>
<object class="GtkImage" id="pageimage">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="mainlabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">This is where you will be able to select the Drivers to install. For nVidia, we only provide latest Official ones. For older ones either use " TKG Scripts" via our tool under "Troubleshooting" (Option 6) or do your own research, can't support all nVidia GPUs.
If you encounter any issues, like for example Black Screen on startup, try switching to the LTS Kernel. We now also provide "initial" support for Wayland on nVidia GPUs. However your mileage may vary depending on your specific setup. No help will be provided, do your own research beyond that.
If you own an ASUS Laptop, we included links to the ASUS-Linux web page as well as their Discord where you will be able to get the support you need. Please don't ask us as we only support the hardware we have access to.</property>
<property name="justify">fill</property>
<property name="wrap">True</property>
<property name="width-chars">1</property>
<property name="max-width-chars">1</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">4</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="welcometitle">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Drivers Installer</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="scale" value="2"/>
</attributes>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="asus-rog-tools">
<property name="label" translatable="yes">ASUS-Linux Laptop Tools</property>
<property name="name">asus-rog-tools</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Tools by the ASUS-Linux Team</property>
<property name="image-position">right</property>
<property name="always-show-image">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">9</property>
</packing>
</child>
<child>
<object class="GtkButton" id="optimus-discord">
<property name="label" translatable="yes">ASUS-Linux Discord</property>
<property name="name">optimus-discord</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">ASUS-Linux Team Discord</property>
<property name="image-position">right</property>
<property name="always-show-image">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">9</property>
</packing>
</child>
<child>
<object class="GtkButton" id="nonfree-drivers">
<property name="label" translatable="yes">nVidia Proprietary Drivers</property>
<property name="name">nonfree-drivers</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text">nVidia Proprietary Driver Installer</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">7</property>
</packing>
</child>
<child>
<object class="GtkButton" id="free-drivers">
<property name="label" translatable="yes">ATI/AMD Open Source Drivers</property>
<property name="name">free-drivers</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text">ATI/AMD FOSS Driver Installer</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">7</property>
</packing>
</child>
<child>
<object class="GtkButton" id="switch-dm">
<property name="label" translatable="yes">Switch Display Manager</property>
<property name="name">switch-dm</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text">Display Manager Switcher</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">8</property>
</packing>
</child>
<child>
<object class="GtkButton" id="hw-service">
<property name="label" translatable="yes">Hardware Service</property>
<property name="name">hw-service</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text">Hardware Config Prober</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">8</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<style>
<class name="homepage"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</interface>

251
ui/faq_page.glade Normal file
View File

@ -0,0 +1,251 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0
Copyright (C) 2021-2023 CachyOS team
This file is part of cachyos-welcome.
cachyos-welcome is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
cachyos-welcome is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with cachyos-welcome. If not, see <http://www.gnu.org/licenses/>.
-->
<interface domain="xerowelcome">
<requires lib="gtk+" version="3.20"/>
<!-- interface-css-provider-path style.css -->
<!-- interface-license-type gplv3 -->
<!-- interface-name cachyos-welcome -->
<!-- interface-copyright 2021-2023 CachyOS team -->
<object class="GtkBox" id="pagebox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkButton" id="backbutton">
<property name="label">gtk-go-back</property>
<property name="name">faqBrowser</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="use-stock">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<!-- n-columns=2 n-rows=11 -->
<object class="GtkGrid" id="pagebody">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">10</property>
<property name="margin-right">10</property>
<property name="margin-top">10</property>
<property name="margin-bottom">10</property>
<property name="row-spacing">20</property>
<property name="column-spacing">10</property>
<property name="column-homogeneous">True</property>
<child>
<object class="GtkImage" id="pageimage">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="mainlabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">This is where you find the list of the Frequently Asked Questions, in case you are having issues. Answers are hosted on XeroLinux Forums.</property>
<property name="justify">fill</property>
<property name="wrap">True</property>
<property name="width-chars">1</property>
<property name="max-width-chars">1</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="failed-mirrors">
<property name="label" translatable="yes">Issues updating due to failed mirrors (404)?</property>
<property name="name">failed-mirrors</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">5</property>
</packing>
</child>
<child>
<object class="GtkButton" id="pacman-back">
<property name="label" translatable="yes">Issues with Pacman Backend ?</property>
<property name="name">pacman-back</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">6</property>
</packing>
</child>
<child>
<object class="GtkButton" id="build-iso">
<property name="label" translatable="yes">Want to build ISO from Source ?</property>
<property name="name">build-iso</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">5</property>
</packing>
</child>
<child>
<object class="GtkButton" id="auto-mount">
<property name="label" translatable="yes">Want to auto mount drives on startup ?</property>
<property name="name">auto-mount</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">6</property>
</packing>
</child>
<child>
<object class="GtkButton" id="dualboot">
<property name="label" translatable="yes">Want to DualBoot with Windows ?</property>
<property name="name">dualboot</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">7</property>
</packing>
</child>
<child>
<object class="GtkButton" id="downgrade">
<property name="label" translatable="yes">Want To Downgrade A Package ?</property>
<property name="name">downgrade</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">7</property>
</packing>
</child>
<child>
<object class="GtkButton" id="kde">
<property name="label" translatable="yes">Want to learn how to Rice KDE Plasma ?</property>
<property name="name">kde</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">8</property>
</packing>
</child>
<child>
<object class="GtkButton" id="grub-issue">
<property name="label" translatable="yes">Having Grub Issue? (Boot to Bios)</property>
<property name="name">grub-issue</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">8</property>
</packing>
</child>
<child>
<object class="GtkButton" id="snap">
<property name="label" translatable="yes">Want to enable Snap-Support ?</property>
<property name="name">snap</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">9</property>
</packing>
</child>
<child>
<object class="GtkButton" id="notfound-linux">
<property name="label" translatable="yes">Stuck with vmlinuz-linux not found ?</property>
<property name="name">notfound-linux</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">9</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<style>
<class name="homepage"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</interface>

View File

@ -284,8 +284,6 @@ We, the Melawy Developers, hope that you will enjoy using Melawy as much as we e
<property name="can-focus">False</property>
<items>
<item id="en">English</item>
<item id="de">German</item>
<item id="pl">Polish</item>
<item id="ru">Russian</item>
</items>
<signal name="changed" handler="on_languages_changed" swapped="no"/>
@ -413,6 +411,46 @@ We, the Melawy Developers, hope that you will enjoy using Melawy as much as we e
<property name="halign">center</property>
<property name="valign">end</property>
<property name="spacing">10</property>
<child>
<object class="GtkEventBox">
<property name="name">website</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<signal name="button-press-event" handler="on_link1_clicked" swapped="no"/>
<child>
<object class="GtkImage" id="website">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="tooltip-text">Website</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkEventBox">
<property name="name">youtube</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<signal name="button-press-event" handler="on_link_clicked" swapped="no"/>
<child>
<object class="GtkImage" id="youtube">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="tooltip-text">Youtube</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkEventBox">
<property name="name">telegram</property>
@ -455,22 +493,22 @@ We, the Melawy Developers, hope that you will enjoy using Melawy as much as we e
</child>
<child>
<object class="GtkEventBox">
<property name="name">reddit</property>
<property name="name">github</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<signal name="button-press-event" handler="on_link1_clicked" swapped="no"/>
<signal name="button-press-event" handler="on_link_clicked" swapped="no"/>
<child>
<object class="GtkImage" id="reddit">
<object class="GtkImage" id="github">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="tooltip-text">Reddit</property>
<property name="tooltip-text">Github</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
<property name="position">5</property>
</packing>
</child>
<style>

262
ui/post_install_page.glade Normal file
View File

@ -0,0 +1,262 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0
Copyright (C) 2021-2023 CachyOS team
This file is part of cachyos-welcome.
cachyos-welcome is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
cachyos-welcome is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with cachyos-welcome. If not, see <http://www.gnu.org/licenses/>.
-->
<interface domain="xerowelcome">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path style.css -->
<!-- interface-license-type gplv3 -->
<!-- interface-name cachyos-welcome -->
<!-- interface-copyright 2021-2023 CachyOS team -->
<object class="GtkBox" id="pagebox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkButton" id="backbutton">
<property name="label">gtk-go-back</property>
<property name="name">faqBrowser</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="use-stock">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<!-- n-columns=3 n-rows=9 -->
<object class="GtkGrid" id="pagebody">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">10</property>
<property name="margin-right">10</property>
<property name="margin-top">10</property>
<property name="margin-bottom">10</property>
<property name="row-spacing">20</property>
<property name="column-spacing">10</property>
<property name="column-homogeneous">True</property>
<child>
<object class="GtkImage" id="pageimage">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
<property name="width">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="mainlabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">This is where you configure your system using variety of our scripts. We will do our best to help you tweak your system for a good balance between best performance &amp; stability. For troubleshooting, please use the "Troubleshooting" button (D'uh).
You can also build any of our 3 ISOs using this tool, just click on the "Xero ISO Builder" button, select which one you want to build and watch it do its magic, it might take some time depends on your hardware config. Also keep a close eye on it as you will prompted to enter root password near the end.
Not everything on here is meant to be used, also don't ask if it's possible to use this tool on other Arch-Based Distros, it was intended for XeroLinux wether it works or not is not up to us. We concentrate on XeroLinux nothing else.</property>
<property name="wrap">True</property>
<property name="width-chars">1</property>
<property name="max-width-chars">1</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
<property name="width">3</property>
</packing>
</child>
<child>
<object class="GtkButton" id="apply-defaults">
<property name="label" translatable="yes">Restore Default Desktop Settings</property>
<property name="name">apply-defaults</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="receives-default">True</property>
<property name="tooltip-text">Restores OOB Settings</property>
</object>
<packing>
<property name="left-attach">2</property>
<property name="top-attach">5</property>
</packing>
</child>
<child>
<object class="GtkButton" id="switch-to-zsh">
<property name="label" translatable="yes">Switch to ZSH with OMZ/P10K</property>
<property name="name">switch-to-zsh</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text">Switches from Bash to ZSH</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">5</property>
</packing>
</child>
<child>
<object class="GtkButton" id="init-snapper">
<property name="label" translatable="yes">Initialize Snapper (BTRFS)</property>
<property name="name">init-snapper</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text">Snapper For BTRFS users</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">5</property>
</packing>
</child>
<child>
<object class="GtkButton" id="iso-builder">
<property name="label" translatable="yes">Xero ISO Builder</property>
<property name="name">iso-builder</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="receives-default">True</property>
<property name="tooltip-text">Allows you to build our ISOs</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">6</property>
</packing>
</child>
<child>
<object class="GtkButton" id="xero-rices">
<property name="label" translatable="yes">XeroLinux KDE Rices</property>
<property name="name">xero-rices</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text">Apply our KDE Rices</property>
</object>
<packing>
<property name="left-attach">2</property>
<property name="top-attach">6</property>
</packing>
</child>
<child>
<object class="GtkButton" id="pacseek">
<property name="label" translatable="yes">Pacseek TUI Package Manager</property>
<property name="name">pacseek</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="receives-default">True</property>
<property name="tooltip-text">A TUI Package Manager with AUR Support</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">6</property>
</packing>
</child>
<child>
<object class="GtkButton" id="plasma-firewall">
<property name="label" translatable="yes">Install/Enable Firewall</property>
<property name="name">plasma-firewall</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text">Firewall Installer</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">7</property>
</packing>
</child>
<child>
<object class="GtkButton" id="dbox">
<property name="label" translatable="yes">Distrobox Tool</property>
<property name="name">dbox</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text">Set Up Distrobox with Docker</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">7</property>
</packing>
</child>
<child>
<object class="GtkButton" id="xerofix">
<property name="label" translatable="yes">Troubleshooting</property>
<property name="name">xerofix</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="receives-default">True</property>
<property name="tooltip-text">In case you need help.</property>
</object>
<packing>
<property name="left-attach">2</property>
<property name="top-attach">7</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<style>
<class name="homepage"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</interface>