diff --git a/.gitignore b/.gitignore index 5a9bc1f..4a0b530 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,74 @@ -__pycache__/ -**.lst \ No newline at end of file +# This file is used to ignore files which are generated +# ---------------------------------------------------------------------------- + +*~ +*.autosave +*.a +*.core +*.moc +*.o +*.obj +*.orig +*.rej +*.so +*.so.* +*_pch.h.cpp +*_resource.rc +*.qm +.#* +*.*# +core +!core/ +tags +.DS_Store +.directory +*.debug +Makefile* +*.prl +*.app +moc_*.cpp +ui_*.h +qrc_*.cpp +Thumbs.db +*.res +*.rc +/.qmake.cache +/.qmake.stash + +# qtcreator generated files +*.pro.user* +CMakeLists.txt.user* + +# xemacs temporary files +*.flc + +# Vim temporary files +.*.swp + +# Visual Studio generated files +*.ib_pdb_index +*.idb +*.ilk +*.pdb +*.sln +*.suo +*.vcproj +*vcproj.*.*.user +*.ncb +*.sdf +*.opensdf +*.vcxproj +*vcxproj.* + +# MinGW generated files +*.Debug +*.Release + +# Python byte code +*.pyc + +# Binaries +# -------- +*.dll +*.exe + diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..4f141d7 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,70 @@ +cmake_minimum_required(VERSION 3.16) + +project(SnigdhaOSBlackbox VERSION 0.1 LANGUAGES CXX) + +set(CMAKE_AUTOUIC ON) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets) +find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets) + +set(PROJECT_SOURCES + main.cpp + snigdhaosblackbox.cpp + snigdhaosblackbox.h + snigdhaosblackbox.ui +) + +if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) + qt_add_executable(SnigdhaOSBlackbox + MANUAL_FINALIZATION + ${PROJECT_SOURCES} + ) +# Define target properties for Android with Qt 6 as: +# set_property(TARGET SnigdhaOSBlackbox APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR +# ${CMAKE_CURRENT_SOURCE_DIR}/android) +# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation +else() + if(ANDROID) + add_library(SnigdhaOSBlackbox SHARED + ${PROJECT_SOURCES} + ) +# Define properties for Android with Qt 5 after find_package() calls as: +# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android") + else() + add_executable(SnigdhaOSBlackbox + ${PROJECT_SOURCES} + ) + endif() +endif() + +target_link_libraries(SnigdhaOSBlackbox PRIVATE Qt${QT_VERSION_MAJOR}::Widgets) + +# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1. +# If you are developing for iOS or macOS you should consider setting an +# explicit, fixed bundle identifier manually though. +if(${QT_VERSION} VERSION_LESS 6.1.0) + set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.SnigdhaOSBlackbox) +endif() +set_target_properties(SnigdhaOSBlackbox PROPERTIES + ${BUNDLE_ID_OPTION} + MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} + MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} + MACOSX_BUNDLE TRUE + WIN32_EXECUTABLE TRUE +) + +include(GNUInstallDirs) +install(TARGETS SnigdhaOSBlackbox + BUNDLE DESTINATION . + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +) + +if(QT_VERSION_MAJOR EQUAL 6) + qt_finalize_executable(SnigdhaOSBlackbox) +endif() diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..c81cc27 --- /dev/null +++ b/main.cpp @@ -0,0 +1,11 @@ +#include "snigdhaosblackbox.h" + +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + SnigdhaOSBlackBox w; + w.show(); + return a.exec(); +} diff --git a/snigdhaosblackbox.cpp b/snigdhaosblackbox.cpp new file mode 100644 index 0000000..e6e163c --- /dev/null +++ b/snigdhaosblackbox.cpp @@ -0,0 +1,14 @@ +#include "snigdhaosblackbox.h" +#include "./ui_snigdhaosblackbox.h" + +SnigdhaOSBlackBox::SnigdhaOSBlackBox(QWidget *parent) + : QMainWindow(parent) + , ui(new Ui::SnigdhaOSBlackBox) +{ + ui->setupUi(this); +} + +SnigdhaOSBlackBox::~SnigdhaOSBlackBox() +{ + delete ui; +} diff --git a/snigdhaosblackbox.h b/snigdhaosblackbox.h new file mode 100644 index 0000000..a4aed49 --- /dev/null +++ b/snigdhaosblackbox.h @@ -0,0 +1,23 @@ +#ifndef SNIGDHAOSBLACKBOX_H +#define SNIGDHAOSBLACKBOX_H + +#include + +QT_BEGIN_NAMESPACE +namespace Ui { +class SnigdhaOSBlackBox; +} +QT_END_NAMESPACE + +class SnigdhaOSBlackBox : public QMainWindow +{ + Q_OBJECT + +public: + SnigdhaOSBlackBox(QWidget *parent = nullptr); + ~SnigdhaOSBlackBox(); + +private: + Ui::SnigdhaOSBlackBox *ui; +}; +#endif // SNIGDHAOSBLACKBOX_H diff --git a/snigdhaosblackbox.ui b/snigdhaosblackbox.ui new file mode 100644 index 0000000..cd1fa42 --- /dev/null +++ b/snigdhaosblackbox.ui @@ -0,0 +1,528 @@ + + + SnigdhaOSBlackBox + + + + 0 + 0 + 800 + 600 + + + + Snigdha OS BlackBox + + + + + + + 0 + + + + + + + true + + + QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok + + + true + + + + + + + 5 + + + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-size:24pt;">Welcome to </span><span style=" font-size:24pt; font-weight:700;">Snigdha OS!</span><span style=" font-size:24pt;">๐Ÿ˜Š</span><br/><span style=" font-weight:700;">Snigdha OS BlackBox</span> will help you set up tools on your system to your necessaries.</p><p>Before the Snigdha OS Black Box can continue, initial system updates have to be applied and the Snigdha OS Assistant is updated.<br/>Make sure you have a working internet connection before you continue.</p><p>This application is inspired from <span style=" font-weight:700;">Garuda Linux</span></p></body></html> + + + Qt::TextFormat::RichText + + + true + + + Qt::AlignmentFlag::AlignCenter + + + true + + + + + + + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-size:20pt;">Update failed!๐Ÿ˜’</span><br/>System update failed. Try again?๐Ÿ˜ฌ</p><p><a href="https://forum.snigdhaos.org"><span style=" text-decoration: underline; color:#754ffe;">Visit the Snigdha OS Forum</span></a> if further issues occour.<br/>Finishing this update via the Snigdha OS Blackbox is highly recommended in order to apply release-specific fixes.</p></body></html> + + + Qt::TextFormat::RichText + + + true + + + Qt::AlignmentFlag::AlignCenter + + + true + + + true + + + + + + + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-size:20pt;">NVIDIA drivers</span></p><p>Additional nonfree NVIDIA graphics drivers are available. Do you want to install them?</p></body></html> + + + Qt::TextFormat::RichText + + + true + + + Qt::AlignmentFlag::AlignCenter + + + true + + + true + + + + + + + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-size:20pt;">Failed to Apply๐Ÿ˜’!</span><br/>Applying system changes failed. Try again๐Ÿ˜„?</p><p><a href="https://forum.snigdhaos.org"><span style=" text-decoration: underline; color:#754ffe;">Visit the Snigdha OS Forum</span></a> if further issues occour.</p></body></html> + + + Qt::TextFormat::RichText + + + true + + + Qt::AlignmentFlag::AlignCenter + + + true + + + true + + + + + + + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-size:20pt;">Success!๐Ÿ˜Ž</span><br/>Your system is set up and ready to go!</p><p><a href="https://forum.snigdhais.org"><span style=" text-decoration: underline; color:#754ffe;">Visit the Snigdha OS Forum</span></a> if issues occour.<br/><a href="https://snigdhaos.org/"><span style=" text-decoration: underline; color:#754ffe;">Snigdha OS Documentation<br/></span></a><a href="https://wiki.archlinux.org/"><span style=" text-decoration: underline; color:#754ffe;">Arch Linux Wiki</span></a></p></body></html> + + + Qt::TextFormat::RichText + + + true + + + Qt::AlignmentFlag::AlignCenter + + + true + + + true + + + + + + + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-size:20pt;">Before you go๐Ÿงธ</span></p><p>You can restart the Snigdha OS Assistant at any time.<br/>Finishing the Snigdha OS Assistant is recommended in order to apply release-specific fixes.</p><p><a href="https://forum.snigdhaos.org"><span style=" text-decoration: underline; color:#754ffe;">Visit the Snigdha OS Forum</span></a> if issues occour.<br/><a href="https://snigdhaos.org/documentation/"><span style=" text-decoration: underline; color:#754ffe;">Snigdha OS Documentation<br/></span></a><a href="https://wiki.archlinux.org/"><span style=" text-decoration: underline; color:#754ffe;">Arch Linux Wiki</span></a></p></body></html> + + + Qt::TextFormat::RichText + + + true + + + Qt::AlignmentFlag::AlignCenter + + + true + + + true + + + + + + + + + + + + + + + Qt::Orientation::Vertical + + + + 20 + 40 + + + + + + + + 0 + + + 0 + + + + + + + Qt::Orientation::Vertical + + + + 20 + 40 + + + + + + + + TextLabel + + + Qt::AlignmentFlag::AlignCenter + + + + + + + + + + + + 0 + 0 + + + + 0 + + + Qt::TextElideMode::ElideNone + + + + OS preferences + + + + + + Qt::Orientation::Vertical + + + + 20 + 344 + + + + + + + + Do you need Pentesting software? (installs BlackArch repo + settings) + + + + blackarch-keyring + blackarch-menus + blackarch-mirrorlist + + + + + sh <(wget -qO- https://blackarch.org/strap.sh) + + + + + sed -i 's/#server/server/g' /etc/pacman.d/blackarch-mirrorlist + + + + + + + + Do you want to install additional Snigdha OS wallpapers? + + + + snigdhaos-additional-wallpapers + + + + + + + + Do you want to install additional GNOME applications? + + + + nautilus-image-converter + nautilus-share + nautilus-sendto + eog-plugins + grilo-plugins + gnome-logs + gnome-sound-recorder + gnome-user-share + lollypop + celluloid + + + + + + + + Do you want to install additional KDE components and applications? + + + + appmenu-gtk-module + ark + bluedevil + breeze + breeze-gtk + colord-kde + dolphin-plugins + drkonqi + filelight + ffmpegthumbs + gwenview + icoutils + kaccounts-providers + kactivitymanagerd + kamera + kamoso + kate + kcalc + kcron + kde-cli-tools + kde-gtk-config + kde-service-menu-reimage + kde-servicemenus-encfs + kde-servicemenus-komparemenu + kde-servicemenus-pdf + kde-servicemenus-pdf-encrypt-decrypt + kde-servicemenus-officeconverter + kde-servicemenus-sendtodesktop + kde-servicemenus-setaswallpaper + kdeconnect + kdecoration + kdegraphics-thumbnailers + kdeplasma-addons + kdf + kdialog + keditbookmarks + kfind + kgamma5 + khelpcenter + khotkeys + kimageformats + kinfocenter + kio-extras + kio-fuse + kio-gdrive + kleopatra + kmenuedit + kompare + konsole + krdc + krename + krfb + kscreen + ksshaskpass + ksystemlog + kwalletmanager + kwrited + milou + okular + partitionmanager + plasma-browser-integration + plasma-desktop + plasma-disks + plasma-firewall + plasma-integration + plasma-nm + plasma-pa + plasma-systemmonitor + plasma-thunderbolt + plasma-vault + plasma-workspace + plasma-workspace-wallpapers + polkit-kde-agent + powerdevil + qt5-imageformats + quota-tools + resvg + rootactions-servicemenu + ruby + spectacle + systemsettings + yakuake + + + + + + + + Do you want to apply additional performance tweaks? (at the cost of power usage/heat) + + + + performance-tweaks + + + + + + + + Qt::Orientation::Vertical + + + + 20 + 344 + + + + + + + + Do you need Printer, Scanner and Samba Support? + + + + + + + + + + + Qt::Orientation::Horizontal + + + QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok + + + true + + + + + + + + + + + + +