mirror of
https://github.com/Snigdha-OS/snigdhaos-assistant.git
synced 2025-12-06 08:03:54 +01:00
Compare commits
50 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9af93ae123 | ||
|
|
0d71b4b9f9 | ||
|
|
25fae6a60a | ||
|
|
8b85d24ecb | ||
|
|
1fd1d76e07 | ||
|
|
9e6faf2b48 | ||
|
|
588efd89ff | ||
|
|
51e56aeef8 | ||
|
|
6c72ea45f8 | ||
|
|
dbe7d1df9b | ||
|
|
9345742295 | ||
|
|
9e16b410c1 | ||
|
|
e3af57ffa5 | ||
|
|
4e557708b7 | ||
|
|
46900f4934 | ||
|
|
bc4ee677a4 | ||
|
|
6c9c6f85cd | ||
|
|
13258d65eb | ||
|
|
04ac16a7e3 | ||
|
|
dba6c72da3 | ||
|
|
7bffbd94b0 | ||
|
|
13e7335b27 | ||
|
|
076eaa57e7 | ||
|
|
396c5e8630 | ||
|
|
ecadfa1321 | ||
|
|
83023dc463 | ||
|
|
3e11e4677d | ||
|
|
56e1475283 | ||
|
|
65a8a61d46 | ||
|
|
6fe7f1d252 | ||
|
|
c19e9d106a | ||
|
|
d3b5426e67 | ||
|
|
e9f96fe1a2 | ||
|
|
43f74f3a84 | ||
|
|
2e57e70c70 | ||
|
|
3e578ee7d0 | ||
|
|
cc957dde6e | ||
|
|
354fb7da13 | ||
|
|
6b41426744 | ||
|
|
786b5bf679 | ||
|
|
2f929636f4 | ||
|
|
eb12e17fcc | ||
|
|
7d1c996739 | ||
|
|
6719fc5ee3 | ||
|
|
7733681dad | ||
|
|
09046ea29a | ||
|
|
ddbe442260 | ||
|
|
7a879b5e3f | ||
|
|
b72acd6809 | ||
|
|
d2331babed |
6
.cz.yaml
6
.cz.yaml
@@ -1,6 +0,0 @@
|
||||
---
|
||||
commitizen:
|
||||
name: cz_conventional_commits
|
||||
tag_format: $version
|
||||
version_provider: scm
|
||||
version_scheme: semver
|
||||
38
.github/workflows/cz.yml
vendored
Normal file
38
.github/workflows/cz.yml
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
name: Check Conventional Commit
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
check-commit-message:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Check Conventional Commit
|
||||
run: |
|
||||
# Define the conventional commit types with emojis
|
||||
TYPES=("🚀 feat" "🐛 fix" "📝 docs" "✨ style" "🛠 refactor" "⚡️ perf" "🔬 test" "🔧 build" "🤖 ci" "🧹 chore" "⏪ revert")
|
||||
|
||||
# Extract the commit type and emoji from the commit message
|
||||
COMMIT_MSG=$(git log --format=%B -n 1)
|
||||
for type in "${TYPES[@]}"; do
|
||||
type_emoji=${type}
|
||||
type=${type_emoji#* }
|
||||
emoji=${type_emoji% *}
|
||||
if [[ $COMMIT_MSG == $emoji* ]]; then
|
||||
echo "Commit message is a conventional commit"
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
|
||||
# If we reach here, the commit message is not a conventional commit
|
||||
echo "Commit message is not a conventional commit"
|
||||
exit 1
|
||||
@@ -1,30 +0,0 @@
|
||||
name: Snigdha OS Commitizen Check on Push
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
commitizen_check:
|
||||
name: Check Commitizen Commit on Push
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '14'
|
||||
|
||||
- name: Install Commitizen
|
||||
run: npm install -g commitizen
|
||||
|
||||
- name: Verify Commitizen Commit
|
||||
run: |
|
||||
if git log --format='%s' ${{ github.event.before }}..${{ github.sha }} | grep -v '^(feat|fix|docs|style|refactor|perf|test|chore)(\(.+\))?: .+'; then
|
||||
echo "Invalid commit message found. Please use Commitizen convention."
|
||||
exit 1
|
||||
fi
|
||||
@@ -1,30 +0,0 @@
|
||||
name: Snigdha OS Commitizen Check On Pull
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
commitizen_check:
|
||||
name: Check Commitizen Commit on Pull Request
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '14'
|
||||
|
||||
- name: Install Commitizen
|
||||
run: npm install -g commitizen
|
||||
|
||||
- name: Verify Commitizen Commit
|
||||
run: |
|
||||
if git log --format='%s' ${{ github.event.before }}..${{ github.sha }} | grep -v '^(feat|fix|docs|style|refactor|perf|test|chore)(\(.+\))?: .+'; then
|
||||
echo "Invalid commit message found. Please use Commitizen convention."
|
||||
exit 1
|
||||
fi
|
||||
@@ -1,37 +0,0 @@
|
||||
---
|
||||
stages: [checks, release]
|
||||
|
||||
check-commitizen:
|
||||
# Check the current commit message for compliance with commitizen
|
||||
stage: checks
|
||||
image: alpine:latest
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
script:
|
||||
- apk add --no-cache --upgrade py3-pip
|
||||
# Pass --break-system-packages since since this containers sole purpose is
|
||||
# running 2 applications. If we get to advance this, implement a proper venv
|
||||
- pip install --break-system-packages commitizen
|
||||
- cz check --message "$CI_COMMIT_MESSAGE" >/tmp/cz_check || true # why does it return 1 if its actually 0?
|
||||
- grep "successful" /tmp/cz_check # ugly hack to workaround the above issue
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
||||
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
||||
|
||||
tag-to-release:
|
||||
stage: release
|
||||
# https://gitlab.com/gitlab-org/release-cli/-/blob/master/Dockerfile
|
||||
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
script:
|
||||
- apk add --no-cache --upgrade git py3-pip
|
||||
# Pass --break-system-packages since since this containers sole purpose is
|
||||
# running 2 applications. If we get to advance this, implement a proper venv
|
||||
- pip install --break-system-packages -U commitizen
|
||||
- git clone "$CI_PROJECT_URL.git"
|
||||
- cd "$CI_PROJECT_NAME"
|
||||
- CHANGELOG=$(cz changelog "$CI_COMMIT_TAG" --dry-run | sed /^Invalid/d)
|
||||
- release-cli create --name "$CI_COMMIT_TAG" --description "$CHANGELOG" --tag-name "$CI_COMMIT_TAG"
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG != null
|
||||
@@ -1,17 +1,41 @@
|
||||
# Specify the minimum CMake version required for the project.
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
# Define the project name, version, and the programming language used.
|
||||
project(snigdhaos-assistant VERSION 0.1 LANGUAGES CXX)
|
||||
|
||||
# Include the current directory in the list of include directories.
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
# Enable automatic handling of Qt-specific features (UIC, MOC, RCC).
|
||||
# AUTOUIC processes the .ui file (qt/snigdhaosassistant.ui) to generate the corresponding
|
||||
# header file, enabling seamless integration of the GUI layout into the application.
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
# AUTOMOC processes the Q_OBJECT macro in header files (like qt/snigdhaosassistant.h)
|
||||
# to enable Qt's signal-slot mechanism and other meta-object features.
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
# AUTORCC (though not explicitly used here) would manage resources if a .qrc file were included
|
||||
# in PROJECT_SOURCES.
|
||||
set(CMAKE_AUTORCC ON)
|
||||
|
||||
# Specify the version of the C++ standard to use.
|
||||
# Here, we are setting it to C++17 to enable modern language features such as std::optional,
|
||||
# std::filesystem, structured bindings, and more.
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
# Enforce the requirement for the specified C++ standard.
|
||||
# If the compiler does not support C++17, the build process will fail with an error.
|
||||
# This ensures compatibility and prevents fallback to an older C++ standard.
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# This line explicitly searches for either Qt6 or Qt5 and requires the Widgets and Network components.
|
||||
# The NAMES argument tells CMake to look for these specific versions (Qt6 and Qt5).
|
||||
# If neither version is found, an error will be raised due to the REQUIRED keyword.
|
||||
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets Network)
|
||||
|
||||
# This line dynamically selects the Qt version based on the value of the variable QT_VERSION_MAJOR.
|
||||
# If QT_VERSION_MAJOR is 6, it will search for Qt6; if QT_VERSION_MAJOR is 5, it will search for Qt5.
|
||||
# It also requires the Widgets and Network components, and will raise an error if they are not found.
|
||||
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Network)
|
||||
|
||||
set(PROJECT_SOURCES
|
||||
|
||||
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2024 SNIGDHA OS
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
85
README.md
Normal file
85
README.md
Normal file
@@ -0,0 +1,85 @@
|
||||
# Snigdha OS Assistant 🚀
|
||||
|
||||
Snigdha OS Assistant is a **Post Package Installer** designed to make setting up your Snigdha OS system a breeze! 🌟 Inspired by the post-installation tools of [Garuda Linux](https://garudalinux.org/), this utility simplifies the process of installing essential software, saving you time and effort. Whether you’re a power user or a newcomer, Snigdha OS Assistant ensures your system is up and running with just a few clicks. 💻
|
||||
|
||||
## ✨ Features
|
||||
|
||||
- **🚀 Automated Package Installation**: Get your system ready in no time with pre-configured installation options.
|
||||
- **⚙️ Custom Configuration**: Tailor the assistant to install only the packages you need.
|
||||
- **🎨 User-Friendly Interface**: Designed with simplicity and efficiency in mind.
|
||||
- **💾 Lightweight and Fast**: Built specifically for Snigdha OS, ensuring seamless performance.
|
||||
|
||||
## 📦 Installation
|
||||
|
||||
Follow these steps to install Snigdha OS Assistant:
|
||||
|
||||
1. **Clone the Repository** 🌀
|
||||
|
||||
```bash
|
||||
git clone https://github.com/Snigdha-OS/snigdhaos-assistant.git
|
||||
```
|
||||
|
||||
2. **Navigate to the Directory** 📂
|
||||
|
||||
```bash
|
||||
cd snigdhaos-assistant
|
||||
```
|
||||
|
||||
3. **Run the Installer** 🛠️
|
||||
|
||||
```bash
|
||||
./install.sh
|
||||
```
|
||||
|
||||
That’s it! 🎉 Snigdha OS Assistant is now ready to use.
|
||||
|
||||
## 🚀 Usage
|
||||
|
||||
Launch Snigdha OS Assistant by running:
|
||||
|
||||
```bash
|
||||
snigdhaos-assistant
|
||||
```
|
||||
|
||||
Follow the intuitive on-screen instructions to select and install your preferred packages. 🖱️
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
We’re always looking for ways to improve Snigdha OS Assistant, and we’d love your help! 🌍
|
||||
|
||||
1. **Fork the Repository** 🍴
|
||||
2. **Create a New Branch** 🛤️
|
||||
|
||||
```bash
|
||||
git checkout -b feature-branch
|
||||
```
|
||||
|
||||
3. **Make Your Changes** ✏️
|
||||
4. **Commit Your Changes** ✅
|
||||
|
||||
```bash
|
||||
git commit -m "Description of your changes"
|
||||
```
|
||||
|
||||
5. **Push to Your Fork** 📤
|
||||
|
||||
```bash
|
||||
git push origin feature-branch
|
||||
```
|
||||
|
||||
6. **Submit a Pull Request** 🔄
|
||||
|
||||
Head to the original repository and click on "New Pull Request" to propose your changes.
|
||||
|
||||
## 📜 License
|
||||
|
||||
This project is licensed under the **MIT License**. For more details, see the [LICENSE](LICENSE) file.
|
||||
|
||||
## 🙌 Acknowledgements
|
||||
|
||||
A huge shout-out to the team behind [Garuda Linux](https://garudalinux.org/) for inspiring this project. Your tools have set a benchmark for simplicity and functionality! 🌟
|
||||
|
||||
---
|
||||
|
||||
Stay tuned for updates and new features! Follow us on [GitHub](https://github.com/Snigdha-OS) to learn more about Snigdha OS and our other projects. 💻
|
||||
|
||||
93
config.sh
93
config.sh
@@ -1,22 +1,81 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Author : Eshan Roy <eshan@snigdhaos.org>
|
||||
# Author URL: https://eshanized.github.io/
|
||||
# Author: Eshan Roy <eshan@snigdhaos.org>
|
||||
# Author URI: https://eshanized.github.io
|
||||
|
||||
# Setting up Author's Git Credentials
|
||||
echo
|
||||
echo "################################################################################"
|
||||
echo -e "If you have write Access, create another file excluding the name 'config.sh'"
|
||||
echo "################################################################################"
|
||||
echo
|
||||
set -e
|
||||
|
||||
# Git Credentials:
|
||||
git config --global pull.rebase false # Merge
|
||||
git config --global user.name "Eshan Roy (Eshanized)"
|
||||
git config --global user.email "m.eshanized@gmail.com"
|
||||
# Function to display usage instructions
|
||||
usage() {
|
||||
cat <<EOF
|
||||
Usage: ${0##*/} [--email <email>] [--username <username>] [-h]
|
||||
|
||||
echo
|
||||
echo "################################################################################"
|
||||
echo -e "If you have write Access, create another file excluding the name 'config.sh'"
|
||||
echo "################################################################################"
|
||||
echo
|
||||
Options:
|
||||
--email <email> Set the GitHub user email.
|
||||
--username <username> Set the GitHub username.
|
||||
-h, --help Display this help message.
|
||||
|
||||
Description:
|
||||
This script configures your GitHub user.email and user.name settings globally.
|
||||
If no arguments are provided, it will prompt for input interactively.
|
||||
|
||||
Examples:
|
||||
${0##*/} --email user@example.com --username "Eshan Roy"
|
||||
EOF
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Parse command-line arguments
|
||||
while [[ "$#" -gt 0 ]]; do
|
||||
case "$1" in
|
||||
--email)
|
||||
EMAIL="$2"
|
||||
shift 2
|
||||
;;
|
||||
--username)
|
||||
USERNAME="$2"
|
||||
shift 2
|
||||
;;
|
||||
-h|--help)
|
||||
usage
|
||||
;;
|
||||
*)
|
||||
echo "Unknown argument: $1"
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Prompt for email if not provided
|
||||
if [[ -z "${EMAIL:-}" ]]; then
|
||||
read -p "Enter your GitHub Email: " EMAIL
|
||||
fi
|
||||
|
||||
# Prompt for username if not provided
|
||||
if [[ -z "${USERNAME:-}" ]]; then
|
||||
read -p "Enter your GitHub Username: " USERNAME
|
||||
fi
|
||||
|
||||
# Validate email format
|
||||
if ! [[ "$EMAIL" =~ ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ ]]; then
|
||||
echo "Error: Invalid email format: $EMAIL"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Validate username (allowing alphanumerics, dashes, underscores, and dots)
|
||||
if ! [[ "$USERNAME" =~ ^[a-zA-Z0-9._-]+$ ]]; then
|
||||
echo "Error: Invalid username format: $USERNAME"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Configure GitHub global settings
|
||||
git config --global user.email "$EMAIL"
|
||||
git config --global user.name "$USERNAME"
|
||||
|
||||
# Display success message
|
||||
echo -e "\033[1;32mGitHub configuration setup successful!\033[0m"
|
||||
echo " User Email: $EMAIL"
|
||||
echo " Username: $USERNAME"
|
||||
echo -e "\033[1;36mYou can verify this configuration using the following commands:\033[0m"
|
||||
echo " git config --global user.email"
|
||||
echo " git config --global user.name"
|
||||
93
push.sh
93
push.sh
@@ -1,32 +1,77 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Author : Eshan Roy
|
||||
# URI : https://eshanized.github.io
|
||||
# Author : ESHAN ROY
|
||||
# Author URI : https://eshanized.github.io
|
||||
|
||||
# NOTE: If you are on Snigdha OS,
|
||||
# you can install commitizen-go with `sudo pacman -S commitizen-go`
|
||||
# or `s commitizen-go`. Else you need to install `yay` or `yay-bin`
|
||||
# to install commitizen. I have written this script only for *Arch Linux.
|
||||
# Define the conventional commit types with new emojis
|
||||
TYPES=("🚀 feat" "🐛 fix" "📝 docs" "✨ style" "🛠 refactor" "⚡️ perf" "🔬 test" "🔧 build" "🤖 ci" "🧹 chore" "⏪ revert")
|
||||
|
||||
# Function to check if Commitizen is installed
|
||||
check_commitizen() {
|
||||
if ! pacman -Qq commitizen-go &> /dev/null; then
|
||||
echo "Commitizen is not installed. Please install it using 'yay -S commitizen-go'." >&2
|
||||
exit 1
|
||||
# Function to display an error and exit and
|
||||
error_exit() {
|
||||
echo -e "\033[1;31m[ERROR]\033[0m $1"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Ensure the script is run in a Git repository
|
||||
git rev-parse --is-inside-work-tree > /dev/null 2>&1 || error_exit "This is not a Git repository."
|
||||
|
||||
# Get the current branch name
|
||||
branch=$(git rev-parse --abbrev-ref HEAD)
|
||||
|
||||
# Pull the latest changes from the remote repository
|
||||
echo "Pulling latest changes from remote branch '$branch'..."
|
||||
git pull origin "$branch" || error_exit "Failed to pull changes from the remote repository. Please resolve any conflicts manually."
|
||||
|
||||
# Prompt the user to select a commit type
|
||||
echo "Select a commit type:"
|
||||
select type in "${TYPES[@]}"; do
|
||||
if [[ -n "$type" ]]; then
|
||||
break
|
||||
else
|
||||
echo "Invalid selection. Please try again."
|
||||
fi
|
||||
}
|
||||
done
|
||||
|
||||
# Function to stage, commit, and push changes
|
||||
push_to_github() {
|
||||
git add .
|
||||
git cz
|
||||
git push origin master
|
||||
}
|
||||
# Extract the commit type and emoji from the selection
|
||||
type_emoji=${type}
|
||||
type=${type_emoji#* }
|
||||
emoji=${type_emoji% *}
|
||||
|
||||
# Main Function
|
||||
main() {
|
||||
check_commitizen
|
||||
push_to_github
|
||||
}
|
||||
# Prompt the user to enter a short description
|
||||
read -p "Enter a short description: " desc
|
||||
if [ -z "$desc" ]; then
|
||||
error_exit "A short description is required!"
|
||||
fi
|
||||
|
||||
main
|
||||
# Prompt the user to enter a longer description (optional)
|
||||
read -p "Enter a longer description (optional): " long_desc
|
||||
|
||||
# Create the commit message
|
||||
commit_msg="$emoji $type: $desc"
|
||||
|
||||
# If a longer description was provided, add it to the commit message
|
||||
if [ -n "$long_desc" ]; then
|
||||
commit_msg+="\n\n$long_desc"
|
||||
fi
|
||||
|
||||
# Print the commit message to the console
|
||||
echo -e "\nCommit message:"
|
||||
echo -e "\033[1;36m$commit_msg\033[0m"
|
||||
|
||||
# Stage all changes
|
||||
git add .
|
||||
|
||||
# Commit the changes with the conventional commit message
|
||||
if git commit -m "$commit_msg"; then
|
||||
echo -e "\033[1;32mCommit successful!\033[0m"
|
||||
else
|
||||
error_exit "Commit failed."
|
||||
fi
|
||||
|
||||
# Push the changes to the remote repository
|
||||
echo "Pushing changes to remote branch '$branch'..."
|
||||
if git push origin "$branch"; then
|
||||
echo -e "\033[1;32mChanges pushed to remote branch '$branch'.\033[0m"
|
||||
else
|
||||
error_exit "Push failed. Please check your connection or branch permissions."
|
||||
fi
|
||||
22
qt/main.cpp
22
qt/main.cpp
@@ -1,11 +1,31 @@
|
||||
/*
|
||||
* main function of the application, responsible for starting the Qt application and
|
||||
* creating an instance of the SnigdhaOSAssistant class.
|
||||
*/
|
||||
|
||||
#include "snigdhaosassistant.h"
|
||||
|
||||
#include <QApplication>
|
||||
|
||||
/*
|
||||
* creates a QApplication object, which manages the GUI application's control flow and main settings.
|
||||
*/
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
/*
|
||||
* creates an instance of the SnigdhaOSAssistant class named w.
|
||||
* it passes nullptr as the parent widget and either the second command line argument (argv[1])
|
||||
* or an empty string as the initial state of the application.
|
||||
*/
|
||||
SnigdhaOSAssistant w(nullptr, a.arguments().length() > 1 ? a.arguments()[1] : "");
|
||||
/*
|
||||
* displays the main window of the application (w) on the screen.
|
||||
*/
|
||||
w.show();
|
||||
/*
|
||||
* starts the event loop of the application by calling the exec() function of the QApplication object (a).
|
||||
* the event loop waits for events to occur and dispatches them to event handlers.
|
||||
* the function will return when the application exits, typically after the main window is closed.
|
||||
*/
|
||||
return a.exec();
|
||||
}
|
||||
|
||||
@@ -16,8 +16,16 @@
|
||||
#include <QtNetwork/QNetworkReply>
|
||||
#include <unistd.h>
|
||||
|
||||
const char* INTERNET_CHECK_URL = "https://snigdhaos.org";
|
||||
/*
|
||||
* a constant variable INTERNET_CHECK_URL which stores the URL to check for internet connectivity.
|
||||
*/
|
||||
const char* INTERNET_CHECK_URL = "https://google.com/";
|
||||
|
||||
/*
|
||||
* constructor for the SnigdhaOSAssistant class.
|
||||
* it sets up the window icon, initializes the user interface, modifies window flags,
|
||||
* retrieves the last modified date of the application executable, and updates the application state.
|
||||
*/
|
||||
SnigdhaOSAssistant::SnigdhaOSAssistant(QWidget *parent, QString state)
|
||||
: QMainWindow(parent)
|
||||
, ui(new Ui::SnigdhaOSAssistant)
|
||||
@@ -29,43 +37,52 @@ SnigdhaOSAssistant::SnigdhaOSAssistant(QWidget *parent, QString state)
|
||||
updateState(state);
|
||||
}
|
||||
|
||||
/*
|
||||
* destructor for the SnigdhaOSAssistant class, responsible for cleaning up the user interface object.
|
||||
*/
|
||||
SnigdhaOSAssistant::~SnigdhaOSAssistant()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void SnigdhaOSAssistant::doInternetUpRequest(){
|
||||
// Create a network manager to handle the request.
|
||||
QNetworkAccessManager* network_manager = new QNetworkAccessManager();
|
||||
|
||||
// Send a HEAD request to the specified URL to check internet connectivity.
|
||||
auto network_reply = network_manager->head(QNetworkRequest(QString(INTERNET_CHECK_URL)));
|
||||
|
||||
// Create a timer to limit the duration of the network request to 5000 milliseconds (5 seconds).
|
||||
QTimer* timer = new QTimer(this);
|
||||
timer->setSingleShot(true);
|
||||
timer->start(5000);
|
||||
timer->setSingleShot(true); // Ensure the timer fires only once.
|
||||
timer->start(5000); // Start the timer with a 5-second timeout.
|
||||
|
||||
// Did we time out? Try again!
|
||||
// Connect the timer's timeout signal to handle request timeouts.
|
||||
connect(timer, &QTimer::timeout, this, [this, timer, network_reply, network_manager]() {
|
||||
timer->deleteLater();
|
||||
network_reply->abort();
|
||||
network_reply->deleteLater();
|
||||
network_manager->deleteLater();
|
||||
doInternetUpRequest();
|
||||
timer->deleteLater(); // Clean up the timer.
|
||||
network_reply->abort(); // Abort the network request if it's still ongoing.
|
||||
network_reply->deleteLater(); // Clean up the network reply object.
|
||||
network_manager->deleteLater(); // Clean up the network manager object.
|
||||
doInternetUpRequest(); // Retry the internet connectivity check.
|
||||
});
|
||||
|
||||
// Request is done!
|
||||
// Connect the network reply's finished signal to handle the completion of the request.
|
||||
connect(network_reply, &QNetworkReply::finished, this, [this, timer, network_reply, network_manager]() {
|
||||
timer->stop();
|
||||
timer->deleteLater();
|
||||
network_reply->deleteLater();
|
||||
network_manager->deleteLater();
|
||||
if (network_reply->error() == network_reply->NoError) {
|
||||
// Wooo!
|
||||
updateState(State::UPDATE);
|
||||
}
|
||||
// Boo!
|
||||
else
|
||||
doInternetUpRequest();
|
||||
});
|
||||
timer->stop(); // Stop the timer as the request has completed.
|
||||
timer->deleteLater(); // Clean up the timer.
|
||||
network_reply->deleteLater(); // Clean up the network reply object.
|
||||
network_manager->deleteLater(); // Clean up the network manager object.
|
||||
|
||||
// Check if the request was successful.
|
||||
if (network_reply->error() == network_reply->NoError) {
|
||||
// If no error occurred, transition the application state to UPDATE.
|
||||
updateState(State::UPDATE);
|
||||
}
|
||||
else {
|
||||
// If an error occurred, retry the internet connectivity check.
|
||||
doInternetUpRequest();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -214,7 +231,7 @@ void SnigdhaOSAssistant::populateSelectWidget(){
|
||||
populateSelectWidget("/usr/lib/snigdhaos-assistant/nvidia.txt", "Nvidia");
|
||||
populateSelectWidget("/usr/lib/snigdhaos-assistant/input-method.txt", "Input");
|
||||
populateSelectWidget("/usr/lib/snigdhaos-assistant/pkgmngrs.txt", "Software centers");
|
||||
populateSelectWidget("/usr/lib/snigdhaos-assistant/kernels.txt", "Kernels");
|
||||
// populateSelectWidget("/usr/lib/snigdhaos-assistant/kernels.txt", "Kernels");
|
||||
populateSelectWidget("/usr/lib/snigdhaos-assistant/office.txt", "Office");
|
||||
populateSelectWidget("/usr/lib/snigdhaos-assistant/browsers.txt", "Browsers");
|
||||
populateSelectWidget("/usr/lib/snigdhaos-assistant/mail.txt", "Email");
|
||||
|
||||
@@ -4,23 +4,43 @@
|
||||
* love from Bangladesh
|
||||
*/
|
||||
|
||||
/*
|
||||
* preprocessor directives: ensures that the contents of the file are only included once in a translation unit,
|
||||
* preventing multiple inclusions and potential naming conflicts
|
||||
*/
|
||||
#ifndef SNIGDHAOSASSISTANT_H
|
||||
#define SNIGDHAOSASSISTANT_H
|
||||
|
||||
#include <QMainWindow>
|
||||
/*class for main application windows*/
|
||||
#include <QMainWindow>
|
||||
/*abstract base class for buttons*/
|
||||
#include <QAbstractButton>
|
||||
/*class for managing network operations*/
|
||||
#include <QtNetwork/QNetworkAccessManager>
|
||||
|
||||
/*
|
||||
* defines a namespace for the user interface of the application, typically generated by Qt Designer.
|
||||
* QT_BEGIN_NAMESPACE and QT_END_NAMESPACE are macros used to enclose the Qt namespace.
|
||||
*/
|
||||
QT_BEGIN_NAMESPACE
|
||||
namespace Ui {
|
||||
class SnigdhaOSAssistant;
|
||||
}
|
||||
QT_END_NAMESPACE
|
||||
|
||||
/*
|
||||
* declares a class named SnigdhaOSAssistant, which inherits from QMainWindow.
|
||||
* the Q_OBJECT macro is used to enable the Qt's meta-object system for this class,
|
||||
* allowing features like signals and slots.
|
||||
*/
|
||||
class SnigdhaOSAssistant : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
/*
|
||||
* declares an enumeration type named State inside the SnigdhaOSAssistant class,
|
||||
* containing various states that the application can be in.
|
||||
*/
|
||||
public:
|
||||
enum class State {
|
||||
QUIT,
|
||||
@@ -37,18 +57,38 @@ public:
|
||||
SUCCESS
|
||||
};
|
||||
|
||||
/*
|
||||
* constructor and destructor declarations for the SnigdhaOSAssistant class.
|
||||
* the constructor takes a QWidget pointer as the parent widget and a QString representing
|
||||
* the initial state of the application.
|
||||
* the destructor has no parameters.
|
||||
*/
|
||||
SnigdhaOSAssistant(QWidget* parent = nullptr, QString state = "WELCOME");
|
||||
~SnigdhaOSAssistant();
|
||||
|
||||
/*
|
||||
* declare private slots, which are functions that can be connected to signals from widgets
|
||||
*/
|
||||
private slots:
|
||||
void on_textWidget_buttonBox_clicked(QAbstractButton* button);
|
||||
void on_selectWidget_buttonBox_clicked(QAbstractButton* button);
|
||||
|
||||
|
||||
/*
|
||||
* These are private member variables of the SnigdhaOSAssistant class.
|
||||
* ui is a pointer to the user interface object generated by Qt Designer.
|
||||
* executable_modify_date is a QDateTime object representing the modification date of the executable.
|
||||
* currentState is an instance of the State enumeration representing the current state of the application.
|
||||
*/
|
||||
private:
|
||||
Ui::SnigdhaOSAssistant *ui;
|
||||
QDateTime executable_modify_date;
|
||||
State currentState;
|
||||
/*
|
||||
* private member functions of the SnigdhaOSAssistant class.
|
||||
* they perform various tasks such as making internet requests,
|
||||
* updating the application, populating select widgets,
|
||||
* updating the application state, and relaunching the application.
|
||||
*/
|
||||
void doInternetUpRequest();
|
||||
void doUpdate();
|
||||
void doApply();
|
||||
|
||||
@@ -1,22 +1,79 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Function to log messages to a log file
|
||||
log_message() {
|
||||
local log_file="/var/log/snigdhaos_assistant.log"
|
||||
if [ -w "$log_file" ] || sudo touch "$log_file" 2>/dev/null; then
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | sudo tee -a "$log_file" > /dev/null
|
||||
else
|
||||
echo "Log file not writable: $log_file"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if the first file (setup script) exists and execute it
|
||||
if [ -e "$1" ]; then
|
||||
echo ""
|
||||
echo "Preparing setup.."
|
||||
echo ""
|
||||
sudo bash - <$1
|
||||
echo ""
|
||||
echo "Preparing setup ⏳" # Show waiting emoji when preparing setup
|
||||
echo ""
|
||||
log_message "Executing setup script: $1"
|
||||
if ! sudo bash - <$1; then
|
||||
# If the setup script execution fails, print an error message with a cross emoji
|
||||
echo "❌ Error executing setup script. Check logs for more details."
|
||||
log_message "Error executing setup script: $1"
|
||||
exit 1 # Exit the script if setup fails
|
||||
fi
|
||||
else
|
||||
# If the setup script doesn't exist, show a warning with a caution emoji
|
||||
echo "⚠️ Setup script ($1) not found! Skipping setup."
|
||||
log_message "Setup script ($1) not found."
|
||||
fi
|
||||
|
||||
# Install packages from the second file
|
||||
echo ""
|
||||
echo "Installing packages.."
|
||||
echo "Installing packages 🛠️" # Show tools emoji for package installation
|
||||
echo ""
|
||||
installable_packages=$(comm -12 <(pacman -Slq | sort) <(sed s/\\s/\\n/g - <$2 | sort))
|
||||
sudo pacman -S --needed $installable_packages && rm $2 || { read -p "Error! Press enter to return to Snigdha OS Assistant."; exit; }
|
||||
installable_packages=$(comm -12 <(pacman -Slq | sort) <(sed s/\\s/\\n/g - <$2 | sort)) # Find common packages between the pacman repo and the list in $2
|
||||
|
||||
if [ -z "$installable_packages" ]; then
|
||||
# If no installable packages are found, show a warning with a caution emoji
|
||||
echo "⚠️ No installable packages found. Skipping package installation."
|
||||
log_message "No installable packages found from $2"
|
||||
else
|
||||
# If packages are found, list them and show a package emoji
|
||||
echo "📦 The following packages will be installed: $installable_packages"
|
||||
log_message "Installing packages: $installable_packages"
|
||||
if ! sudo pacman -S --needed $installable_packages --noconfirm; then
|
||||
# If the package installation fails, show an error with a cross emoji
|
||||
echo "❌ Error installing packages. Check logs for more details."
|
||||
log_message "Error installing packages: $installable_packages"
|
||||
exit 1 # Exit the script if package installation fails
|
||||
fi
|
||||
rm -f $2 # Remove the file after successful installation
|
||||
echo "✅ Packages installed successfully." # Show success emoji after installation
|
||||
log_message "Packages installed successfully."
|
||||
fi
|
||||
|
||||
# Check if the third file (service script) exists and execute it
|
||||
if [ -e "$3" ]; then
|
||||
echo ""
|
||||
echo "Enabling services.."
|
||||
echo ""
|
||||
sudo bash - <$3
|
||||
echo ""
|
||||
echo "Enabling services ⚙️" # Show gear emoji for service enabling
|
||||
echo ""
|
||||
log_message "Enabling services from: $3"
|
||||
if ! sudo bash - <$3; then
|
||||
# If enabling services fails, show an error with a cross emoji
|
||||
echo "❌ Error enabling services. Check logs for more details."
|
||||
log_message "Error enabling services from: $3"
|
||||
exit 1 # Exit the script if enabling services fails
|
||||
fi
|
||||
else
|
||||
# If the service script doesn't exist, show a warning with a caution emoji
|
||||
echo "⚠️ Service script ($3) not found! Skipping services."
|
||||
log_message "Service script ($3) not found."
|
||||
fi
|
||||
|
||||
# Final prompt
|
||||
echo ""
|
||||
read -p "Press enter to return to Snigdha OS Assistant."
|
||||
read -p "Press enter to return to Snigdha OS Assistant 🛑" # Show stop sign emoji for returning to the assistant
|
||||
|
||||
# End of script
|
||||
log_message "Script execution completed successfully 🎉" # Log success with a celebration emoji
|
||||
|
||||
@@ -1,39 +1,72 @@
|
||||
false
|
||||
strawberry
|
||||
Strawberry Player (Aimed at collectors)
|
||||
false
|
||||
lollypop
|
||||
Lollypop (GNOME music player)
|
||||
false
|
||||
audacious
|
||||
Audacious
|
||||
false
|
||||
cantata
|
||||
Cantata (Frontend for mpd)
|
||||
false
|
||||
elisa
|
||||
Elisa (Music player by KDE)
|
||||
false
|
||||
kwave
|
||||
Kwave (Sound editor by KDE)
|
||||
false
|
||||
audacity
|
||||
Audacity (Record/edit audio)
|
||||
false
|
||||
ardour
|
||||
Ardour (Professional-grade audio workstation)
|
||||
false
|
||||
lmms
|
||||
LMMS (The Linux MultiMedia Studio)
|
||||
false
|
||||
mixxx
|
||||
Mixxx (Digital DJ'ing)
|
||||
false
|
||||
musescore
|
||||
MuseScore (Sheet music notation)
|
||||
false
|
||||
rosegarden
|
||||
Rosegarden (MIDI/audio sequencer)
|
||||
Mixxx (Free, open-source DJ software for live mixing)
|
||||
false
|
||||
bitwig-studio
|
||||
Bitwig Studio (Digital audio workstation)
|
||||
Bitwig Studio (Music production and performance software)
|
||||
false
|
||||
bluelava
|
||||
Bluelava (GNOME-based music player that works with Sonos)
|
||||
false
|
||||
fmp
|
||||
FMP (Fast Music Player, lightweight and simple to use)
|
||||
false
|
||||
hydrogen
|
||||
Hydrogen (Advanced drum machine for GNU/Linux)
|
||||
false
|
||||
jack
|
||||
Jack Audio Connection Kit (Professional sound server for connecting audio devices)
|
||||
false
|
||||
jamulus
|
||||
Jamulus (Online Jam Session software for musicians)
|
||||
false
|
||||
kaosilator
|
||||
Kaosilator (A virtual music synthesizer and sequencer for improvisation)
|
||||
false
|
||||
kdenlive
|
||||
Kdenlive (Non-linear video editor that also supports audio editing)
|
||||
false
|
||||
kodi
|
||||
Kodi (Media center application with robust music playback capabilities)
|
||||
false
|
||||
libreoffice-impress
|
||||
LibreOffice Impress (Presentation software, often used for musical slideshows)
|
||||
false
|
||||
muse
|
||||
MuseScore (Music notation software for creating sheet music)
|
||||
false
|
||||
muse-extended
|
||||
Muse (Full-featured music composition and production software)
|
||||
false
|
||||
playmidi
|
||||
Playmidi (MIDI player and editor for Linux)
|
||||
false
|
||||
pulseaduio
|
||||
PulseAudio (Sound system for POSIX OSes, essential for controlling audio devices)
|
||||
false
|
||||
qjackctl
|
||||
QJackCtl (GUI for controlling the Jack Audio Connection Kit)
|
||||
false
|
||||
sickbeard
|
||||
SickBeard (Automates downloading TV shows, music, and other media)
|
||||
false
|
||||
sonata
|
||||
Sonata (A simple and easy-to-use music player for GNOME)
|
||||
false
|
||||
terminator
|
||||
Terminator (Multi-terminal program for managing terminal windows, useful for music-based coding projects)
|
||||
false
|
||||
trackma
|
||||
Trackma (A music player and manager that integrates with the media collection)
|
||||
false
|
||||
tunein
|
||||
TuneIn (Internet radio streaming software)
|
||||
false
|
||||
vocaluxe
|
||||
Vocaluxe (Karaoke program with support for online lyrics and music)
|
||||
false
|
||||
xiphqt
|
||||
XiphQT (Audio player and converter that supports the Ogg format)
|
||||
false
|
||||
zita-ajbridge
|
||||
Zita-AJBridge (A JACK audio connection bridge for PulseAudio)
|
||||
|
||||
@@ -1,42 +1,60 @@
|
||||
false
|
||||
brave-bin
|
||||
Brave Browser (Based on Chromium + privacy stuff)
|
||||
false
|
||||
firefox
|
||||
Firefox (The original)
|
||||
false
|
||||
firefox-esr
|
||||
Firefox ESR (Extended support release)
|
||||
Brave Browser (Web browser that blocks ads and trackers by default)
|
||||
false
|
||||
chromium
|
||||
Chromium
|
||||
false
|
||||
chromium-widevine
|
||||
Chromium Widevine (A browser plugin designed for the viewing of premium video content)
|
||||
false
|
||||
ungoogled-chromium
|
||||
Ungoogled Chromium (Strips proprietary bits)
|
||||
false
|
||||
vivaldi vivaldi-ffmpeg-codecs
|
||||
Vivaldi
|
||||
false
|
||||
opera opera-ffmpeg-codecs
|
||||
Opera
|
||||
false
|
||||
torbrowser-launcher
|
||||
Tor Browser (The Onion Router)
|
||||
false
|
||||
otter-browser
|
||||
Otter Browser
|
||||
false
|
||||
brave-bin
|
||||
Brave (Based on Chromium + privacy stuff)
|
||||
Chromium (A web browser built for speed, simplicity, and security)
|
||||
false
|
||||
falkon
|
||||
Falkon (KDE browser)
|
||||
Falkon (Cross-platform QtWebEngine browser)
|
||||
false
|
||||
seamonkey
|
||||
Seamonkey (Continuation of the Mozilla Internet Suite)
|
||||
firefox
|
||||
Firefox (Firefox Web Browser)
|
||||
false
|
||||
qutebrowser python-adblock
|
||||
Qutebrowser (Keyboard driven, Vim-like browser)
|
||||
firefox-esr
|
||||
Firefox ESR (Firefox Extended Support Release)
|
||||
false
|
||||
google-chrome
|
||||
Google Chrome (The popular web browser by Google)
|
||||
false
|
||||
icecat
|
||||
Icecat (GNU version of the Firefox ESR browser)
|
||||
false
|
||||
librewolf
|
||||
Librewolf (Community-maintained fork of Firefox, focused on privacy, security, and freedom)
|
||||
false
|
||||
opera
|
||||
Opera (A fast and secure web browser)
|
||||
false
|
||||
qutebrowser
|
||||
Qute Browser (A keyboard-driven, vim-like browser based on PyQt)
|
||||
false
|
||||
vivaldi
|
||||
Vivaldi (An advanced browser made with the power user in mind)
|
||||
false
|
||||
midori
|
||||
Midori (A lightweight, fast browser focused on simplicity)
|
||||
false
|
||||
epiphany
|
||||
Epiphany (GNOME Web, a simple browser designed for GNOME)
|
||||
false
|
||||
lynx
|
||||
Lynx (Text-based web browser)
|
||||
false
|
||||
w3m
|
||||
W3m (Text-based web browser with image support for terminal use)
|
||||
false
|
||||
dillo
|
||||
Dillo (A small and fast web browser with a minimalistic design)
|
||||
false
|
||||
elinks
|
||||
Elinks (Advanced text-based web browser)
|
||||
false
|
||||
surf
|
||||
Surf (Simple browser for X11, minimal and fast)
|
||||
false
|
||||
qutebrowser
|
||||
Qutebrowser (A keyboard-driven, vim-like browser based on PyQt)
|
||||
false
|
||||
conkeror
|
||||
Conkeror (Highly customizable browser with a keyboard-focused UI)
|
||||
|
||||
@@ -1,45 +1,84 @@
|
||||
false
|
||||
telegram-desktop
|
||||
Telegram Desktop
|
||||
false
|
||||
discord
|
||||
Discord (Proprietary all-in-one voice and text chat application for gamers)
|
||||
false
|
||||
discord_arch_electron
|
||||
Discord Electron (Proprietary all-in-one voice and text chat application for gamers)
|
||||
false
|
||||
neochat
|
||||
Neochat (Matrix client for KDE)
|
||||
false
|
||||
fractal
|
||||
Fractal (Matrix client for GNOME)
|
||||
false
|
||||
element-desktop
|
||||
Element (Matrix client based on Electron)
|
||||
Element Desktop (All-in-one secure chat app for teams, friends, and organisations)
|
||||
false
|
||||
wire-desktop
|
||||
Wire (Modern, private messenger)
|
||||
discord
|
||||
Discord (Instant messaging and VoIP social platform)
|
||||
false
|
||||
signal-desktop
|
||||
Signal (Desktop application for Signal private messenger)
|
||||
discord_arch_electron
|
||||
Discord Electron (Popular voice + video app using the system-provided Electron for increased security and performance)
|
||||
false
|
||||
jitsi-meet
|
||||
Jitsi-Meet (Open source webconferencing)
|
||||
google-chat-linux-bin
|
||||
Google Chat (Unofficial electron-based desktop client for Google Chat, electron included)
|
||||
false
|
||||
zoom
|
||||
Zoom (Proprietary video conferencing application)
|
||||
hexchat
|
||||
Hex Chat (A GTK+ based IRC client)
|
||||
false
|
||||
skypeforlinux-stable-bin
|
||||
Skype (Proprietary application for voice and video communication)
|
||||
false
|
||||
teams
|
||||
Microsoft Teams (Proprietary client for Microsoft Teams)
|
||||
false
|
||||
slack-desktop
|
||||
Slack (Proprietary Slack client for desktops)
|
||||
jitsi-meet-desktop-bin
|
||||
Jitsi Meet (Jitsi Meet desktop application powered by Electron)
|
||||
false
|
||||
mumble
|
||||
Mumble (Open source Teamspeak clone)
|
||||
Mumble (An Open Source, low-latency, high-quality voice chat software)
|
||||
false
|
||||
streamlink-twitch-gui-bin
|
||||
Twitch GUI (GUI for Twitch livestreams)
|
||||
neochat
|
||||
Neo Chat (A client for Matrix, the decentralized communication protocol)
|
||||
false
|
||||
pidgin
|
||||
Pidgin (Instant messaging client supporting multiple protocols)
|
||||
false
|
||||
qtox
|
||||
Qtox (Tox protocol client for secure, decentralized communication)
|
||||
false
|
||||
skypeforlinux-bin
|
||||
Skype (Skype for Linux)
|
||||
false
|
||||
signal-desktop
|
||||
Signal (Private messaging from your desktop)
|
||||
false
|
||||
slack-desktop
|
||||
Slack (Slack Desktop Beta for Linux)
|
||||
false
|
||||
teams
|
||||
MS Teams (Microsoft Teams for Linux is your chat-centered workspace in Office 365)
|
||||
false
|
||||
telegram-desktop
|
||||
Telegram (Official desktop version of Telegram messaging app)
|
||||
false
|
||||
whatsapp-nativefier
|
||||
WhatsApp (WhatsApp desktop built with Nativefier)
|
||||
false
|
||||
wire-desktop
|
||||
Wire Desktop (End-to-end encrypted messenger with file sharing, voice calls, and video conferences)
|
||||
false
|
||||
zoom
|
||||
Zoom (Video Conferencing and Web Conferencing Service)
|
||||
false
|
||||
rocket.chat
|
||||
Rocket.Chat (Open-source web chat server and client for team communications)
|
||||
false
|
||||
mattermost-desktop
|
||||
Mattermost (Open-source messaging platform for teams)
|
||||
false
|
||||
slack
|
||||
Slack (Team communication tool for collaboration and file sharing)
|
||||
false
|
||||
teams-desktop
|
||||
Teams (Microsoft Teams client for Linux)
|
||||
false
|
||||
pidgin-otr
|
||||
Pidgin OTR (Off-the-record plugin for Pidgin for secure messaging)
|
||||
false
|
||||
xmpp-client
|
||||
XMPP Client (Client for the XMPP protocol, a decentralized messaging service)
|
||||
false
|
||||
go-chat
|
||||
Go Chat (An open-source, decentralized messaging app built with Go)
|
||||
false
|
||||
franz
|
||||
Franz (All-in-one messaging app that supports multiple messaging services)
|
||||
false
|
||||
rambox
|
||||
Rambox (Messaging and emailing app that combines many different services into one)
|
||||
false
|
||||
fleep
|
||||
Fleep (Collaboration tool focused on team chat with features like file sharing)
|
||||
|
||||
@@ -1,64 +1,72 @@
|
||||
false
|
||||
vim
|
||||
VIM (terminal text editor)
|
||||
VIM (Terminal text editor)
|
||||
false
|
||||
visual-studio-code-bin
|
||||
Visual Studio Code (proprietary)
|
||||
false
|
||||
code
|
||||
Visual Studio Code (oss)
|
||||
Visual Studio Code (Proprietary code editor)
|
||||
false
|
||||
vscodium
|
||||
VSCodium (Free/Libre Open Source Software Binaries of VS Code)
|
||||
false
|
||||
sublime-text-4
|
||||
Sublime Text 4 (Sophisticated text editor for code, HTML, and prose)
|
||||
false
|
||||
emacs
|
||||
GNU Emacs
|
||||
GNU Emacs (Highly extensible and customizable text editor)
|
||||
false
|
||||
qtcreator
|
||||
QtCreator
|
||||
QtCreator (An IDE for developing with the Qt framework)
|
||||
false
|
||||
gnome-builder
|
||||
Gnome-builder (An IDE for writing GNOME-based software)
|
||||
GNOME Builder (An IDE for writing GNOME-based software)
|
||||
false
|
||||
hugo
|
||||
Hugo (A static Website Generator)
|
||||
Hugo (A static website generator)
|
||||
false
|
||||
kdevelop
|
||||
Kdevelop (C++ IDE using KDE technologies)
|
||||
KDevelop (C++ IDE using KDE technologies)
|
||||
false
|
||||
netbeans
|
||||
Netbeans (IDE for Java, HTML5, PHP, Groovy, C and C++)
|
||||
NetBeans (IDE for Java, HTML5, PHP, Groovy, C, and C++)
|
||||
false
|
||||
postman-bin
|
||||
Postman {API platform for building and using APIs}
|
||||
Postman (API platform for building and using APIs)
|
||||
false
|
||||
intellij-idea-community-edition
|
||||
IntelliJ-IDEA (Community Edition)
|
||||
IntelliJ IDEA (Community Edition)
|
||||
false
|
||||
pycharm-community-edition
|
||||
PyCharm (Community Edition)
|
||||
false
|
||||
rider
|
||||
IntelliJ-Rider
|
||||
IntelliJ Rider (IDE for .NET development)
|
||||
false
|
||||
gitkraken
|
||||
Gitkraken
|
||||
GitKraken (Graphical Git client)
|
||||
false
|
||||
github-desktop
|
||||
GitHub Desktop
|
||||
|
||||
GitHub Desktop (GitHub's graphical Git client)
|
||||
false
|
||||
cockpit cockpit-machines
|
||||
Cockpit (Access some system settings at localhost:9090)
|
||||
github-desktop-bin
|
||||
GitHub Desktop Bin (GUI for managing Git and GitHub, binary version)
|
||||
false
|
||||
cockpit
|
||||
Cockpit (Web-based interface for managing servers at localhost:9090)
|
||||
false
|
||||
ansible
|
||||
Ansible (Simple IT automation engine)
|
||||
false
|
||||
docker docker-compose
|
||||
Docker
|
||||
docker
|
||||
Docker (Containerization platform for running apps in isolated environments)
|
||||
false
|
||||
podman-docker podman-compose crun
|
||||
Podman (Docker, usable with docker commands)
|
||||
docker-compose
|
||||
Docker Compose (Tool for defining and running multi-container Docker applications)
|
||||
false
|
||||
podman-docker
|
||||
Podman (Docker-compatible container engine)
|
||||
false
|
||||
podman-compose
|
||||
Podman Compose (Tool to manage multi-container applications with Podman)
|
||||
false
|
||||
salt
|
||||
Salt (Central system and configuration manager)
|
||||
@@ -70,10 +78,97 @@ puppet
|
||||
Puppet (Server automation framework and application)
|
||||
false
|
||||
prometheus
|
||||
Prometheus (systems monitoring and alerting toolkit)
|
||||
Prometheus (Systems monitoring and alerting toolkit)
|
||||
false
|
||||
vagrant
|
||||
Vagrant (Build and distribute virtualized development environments)
|
||||
false
|
||||
terraform
|
||||
Terraform (Building and updating infrastructure as code)
|
||||
false
|
||||
notepadqq
|
||||
Notepadqq (Notepad++-like text editor for Linux)
|
||||
false
|
||||
element-desktop
|
||||
Element Desktop (All-in-one secure chat app for teams, friends, and organisations)
|
||||
false
|
||||
discord
|
||||
Discord (Instant messaging and VoIP social platform)
|
||||
false
|
||||
discord_arch_electron
|
||||
Discord Electron (Popular voice + video app using the system-provided Electron for increased security and performance)
|
||||
false
|
||||
google-chat-linux-bin
|
||||
Google Chat (Unofficial electron-based desktop client for Google Chat, electron included)
|
||||
false
|
||||
hexchat
|
||||
Hex Chat (A GTK+ based IRC client)
|
||||
false
|
||||
jitsi-meet-desktop-bin
|
||||
Jitsi Meet (Jitsi Meet desktop application powered by Electron)
|
||||
false
|
||||
mumble
|
||||
Mumble (An Open Source, low-latency, high-quality voice chat software)
|
||||
false
|
||||
neochat
|
||||
Neo Chat (A client for Matrix, the decentralized communication protocol)
|
||||
false
|
||||
pidgin
|
||||
Pidgin (Instant messaging client supporting multiple protocols)
|
||||
false
|
||||
qtox
|
||||
Qtox (Tox protocol client for secure, decentralized communication)
|
||||
false
|
||||
skypeforlinux-bin
|
||||
Skype (Skype for Linux)
|
||||
false
|
||||
signal-desktop
|
||||
Signal (Private messaging from your desktop)
|
||||
false
|
||||
slack-desktop
|
||||
Slack (Slack Desktop Beta for Linux)
|
||||
false
|
||||
teams
|
||||
MS Teams (Microsoft Teams for Linux is your chat-centered workspace in Office 365)
|
||||
false
|
||||
telegram-desktop
|
||||
Telegram (Official desktop version of Telegram messaging app)
|
||||
false
|
||||
whatsapp-nativefier
|
||||
WhatsApp (WhatsApp desktop built with Nativefier)
|
||||
false
|
||||
wire-desktop
|
||||
Wire Desktop (End-to-end encrypted messenger with file sharing, voice calls, and video conferences)
|
||||
false
|
||||
zoom
|
||||
Zoom (Video Conferencing and Web Conferencing Service)
|
||||
false
|
||||
rocket.chat
|
||||
Rocket.Chat (Open-source web chat server and client for team communications)
|
||||
false
|
||||
mattermost-desktop
|
||||
Mattermost (Open-source messaging platform for teams)
|
||||
false
|
||||
slack
|
||||
Slack (Team communication tool for collaboration and file sharing)
|
||||
false
|
||||
teams-desktop
|
||||
Teams (Microsoft Teams client for Linux)
|
||||
false
|
||||
pidgin-otr
|
||||
Pidgin OTR (Off-the-record plugin for Pidgin for secure messaging)
|
||||
false
|
||||
xmpp-client
|
||||
XMPP Client (Client for the XMPP protocol, a decentralized messaging service)
|
||||
false
|
||||
go-chat
|
||||
Go Chat (An open-source, decentralized messaging app built with Go)
|
||||
false
|
||||
franz
|
||||
Franz (All-in-one messaging app that supports multiple messaging services)
|
||||
false
|
||||
rambox
|
||||
Rambox (Messaging and emailing app that combines many different services into one app)
|
||||
false
|
||||
fleep
|
||||
Fleep (Collaboration tool focused on team chat with features like file sharing)
|
||||
@@ -1 +1,105 @@
|
||||
|
||||
false
|
||||
geogebra
|
||||
GeoGebra (Mathematics software for learning and teaching)
|
||||
false
|
||||
gnuplot
|
||||
Gnuplot (Plotting and data visualization)
|
||||
false
|
||||
octave
|
||||
GNU Octave (High-level language for numerical computations)
|
||||
false
|
||||
jupyter-notebook
|
||||
Jupyter Notebook (Web-based interactive computing environment)
|
||||
false
|
||||
scilab
|
||||
Scilab (Open-source software for numerical computation)
|
||||
false
|
||||
latex
|
||||
LaTeX (Document preparation system for high-quality typesetting)
|
||||
false
|
||||
texlive
|
||||
TeX Live (TeX distribution for typesetting)
|
||||
false
|
||||
mathjax
|
||||
MathJax (Open-source JavaScript display engine for LaTeX and MathML)
|
||||
false
|
||||
anki
|
||||
Anki (Flashcards for spaced repetition learning)
|
||||
false
|
||||
edx
|
||||
EdX (Open-source platform for online courses)
|
||||
false
|
||||
moodle
|
||||
Moodle (Open-source learning platform)
|
||||
false
|
||||
tuxmath
|
||||
TuxMath (Math game for children)
|
||||
false
|
||||
tuxpaint
|
||||
TuxPaint (Drawing program for young children)
|
||||
false
|
||||
gcompris
|
||||
GCompris (Educational software suite for children)
|
||||
false
|
||||
scratch
|
||||
Scratch (Programming language and environment for kids)
|
||||
false
|
||||
kdeedu
|
||||
KDE Educational Suite (Software tools for education)
|
||||
false
|
||||
kalzium
|
||||
Kalzium (Interactive periodic table for chemistry education)
|
||||
false
|
||||
kgeography
|
||||
KGeography (Geography learning tool)
|
||||
false
|
||||
klavaro
|
||||
Klavaro (Touch typing tutor)
|
||||
false
|
||||
bc
|
||||
bc (Command-line calculator language)
|
||||
false
|
||||
evince
|
||||
Evince (Document viewer for PDF, PostScript, etc.)
|
||||
false
|
||||
okular
|
||||
Okular (Universal document viewer by KDE)
|
||||
false
|
||||
libreoffice-math
|
||||
LibreOffice Math (Equation editor for LibreOffice)
|
||||
false
|
||||
gimp
|
||||
GIMP (Image editor for educational use in art and design)
|
||||
false
|
||||
inkscape
|
||||
Inkscape (Vector graphics editor for design and education)
|
||||
false
|
||||
stellarium
|
||||
Stellarium (Planetarium software for astronomy education)
|
||||
false
|
||||
celestia
|
||||
Celestia (3D space simulation for educational purposes)
|
||||
false
|
||||
sagemath
|
||||
SageMath (Mathematics software for education and research)
|
||||
false
|
||||
chemtool
|
||||
ChemTool (Chemical structure drawing software)
|
||||
false
|
||||
kstars
|
||||
KStars (Astronomy software)
|
||||
false
|
||||
libreoffice-impress
|
||||
LibreOffice Impress (Presentation software for educational slides)
|
||||
false
|
||||
raspberrypi-imager
|
||||
Raspberry Pi Imager (Raspberry Pi OS installation tool)
|
||||
false
|
||||
scratch2
|
||||
Scratch 2 (Programming for children)
|
||||
false
|
||||
breezebrowser
|
||||
BreezeBrowser (Educational tool for classroom presentation)
|
||||
false
|
||||
gparted
|
||||
GParted (Partitioning tool, useful for educational purposes in computing)
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
false
|
||||
aisleriot
|
||||
Aisleriot (Collection of card games)
|
||||
false
|
||||
mari0
|
||||
Mari0 (Mario game clone)
|
||||
false
|
||||
kapman
|
||||
Kapman (Pacman game clone)
|
||||
false
|
||||
knights
|
||||
Knights (Chess game)
|
||||
false
|
||||
kmahjongg
|
||||
Kmahjongg (Mahjongg game)
|
||||
false
|
||||
supertuxkart
|
||||
Super Tux Kart (Kart racing game)
|
||||
false
|
||||
supertux
|
||||
Super Tux (A classic 2D jump'n'run sidescroller game)
|
||||
false
|
||||
extremetuxracer
|
||||
Extreme Tux Racer (Downhill racing game starring Tux)
|
||||
false
|
||||
minetest minetest-server
|
||||
Minetest (Opensource bloack building game)
|
||||
false
|
||||
0ad
|
||||
0ad (Realtime strategy game)
|
||||
false
|
||||
teeworlds
|
||||
Teeworlds (Multiplayer 2D shooter game)
|
||||
false
|
||||
xonotic
|
||||
Xonotic (First person shooter game)
|
||||
false
|
||||
hedgewars
|
||||
Hedgewars (Turn based artillery game)
|
||||
@@ -1,7 +1,13 @@
|
||||
false
|
||||
krita krita-plugin-gmic opencolorio
|
||||
krita
|
||||
Krita (Paint application by KDE)
|
||||
false
|
||||
krita-plugin-gmic
|
||||
Krita Plugin GMIC (Plugin for Krita)
|
||||
false
|
||||
opencolorio
|
||||
OpenColorIO (Color management framework)
|
||||
false
|
||||
gimp
|
||||
GIMP (Advanced image manipulation program)
|
||||
false
|
||||
@@ -27,31 +33,31 @@ mypaint
|
||||
MyPaint (Digital painting)
|
||||
false
|
||||
wings3d
|
||||
wings3d (Advanced subdivision modeler that is both powerful and easy to use)
|
||||
Wings3D (Advanced subdivision modeler that is both powerful and easy to use)
|
||||
false
|
||||
sweethome3d
|
||||
sweethome3d (Interior design software application for the development of floor plans)
|
||||
Sweet Home 3D (Interior design software application for the development of floor plans)
|
||||
false
|
||||
freecad
|
||||
freecad (Parametric 3D CAD modeler based on OpenCascade)
|
||||
FreeCAD (Parametric 3D CAD modeler based on OpenCascade)
|
||||
false
|
||||
librecad
|
||||
librecad (A 2D CAD application based on Qt5. Forked from QCAD Community Edition)
|
||||
LibreCAD (A 2D CAD application based on Qt5. Forked from QCAD Community Edition)
|
||||
false
|
||||
kicad
|
||||
kicad (Software suite for electronic design automation (EDA))
|
||||
KiCad (Software suite for electronic design automation (EDA))
|
||||
false
|
||||
pencil2d
|
||||
Pencil 2D (2D handdrawn animations)
|
||||
Pencil 2D (2D hand-drawn animations)
|
||||
false
|
||||
synfigstudio
|
||||
Synfig Studio (2D vector animation)
|
||||
false
|
||||
opentoonz
|
||||
opentoonz (2D animation creation software)
|
||||
OpenToonz (2D animation creation software)
|
||||
false
|
||||
fontforge
|
||||
FontForge (Outline and font editor)
|
||||
false
|
||||
birdfont
|
||||
Birdfont (Font editor for creating TTF, EOT and SVG fonts)
|
||||
Birdfont (Font editor for creating TTF, EOT, and SVG fonts)
|
||||
|
||||
@@ -2,26 +2,32 @@ false
|
||||
asian-fonts
|
||||
Asian Fonts Support
|
||||
false
|
||||
fcitx5-input-support fcitx5-configtool fcitx5-m17n
|
||||
Devanagari,Kannada,Telgu,Tamil,Malyalam,Bangala etc and many others (fcitx5-m17n)
|
||||
fcitx5-input-support
|
||||
Fcitx5 Input Support
|
||||
false
|
||||
fcitx5-input-support fcitx5-configtool fcitx5-chinese-addons
|
||||
fcitx5-configtool
|
||||
Fcitx5 Config Tool
|
||||
false
|
||||
fcitx5-m17n
|
||||
Devanagari, Kannada, Telugu, Tamil, Malayalam, Bengali, and many others (fcitx5-m17n)
|
||||
false
|
||||
fcitx5-chinese-addons
|
||||
Simplified Chinese (fcitx5-chinese-addons)
|
||||
false
|
||||
fcitx5-input-support fcitx5-configtool fcitx5-rime
|
||||
fcitx5-rime
|
||||
Traditional Chinese (fcitx5-rime)
|
||||
false
|
||||
fcitx5-input-support fcitx5-configtool fcitx5-mozc
|
||||
fcitx5-mozc
|
||||
Japanese (fcitx5-mozc)
|
||||
false
|
||||
fcitx5-input-support fcitx5-configtool fcitx5-hangul
|
||||
fcitx5-hangul
|
||||
Korean (fcitx5-hangul)
|
||||
false
|
||||
fcitx5-input-support fcitx5-configtool fcitx5-unikey
|
||||
fcitx5-unikey
|
||||
Vietnamese (fcitx5-unikey)
|
||||
false
|
||||
fcitx5-input-support fcitx5-configtool fcitx5-sayura
|
||||
fcitx5-sayura
|
||||
Sinhalese (fcitx5-sayura)
|
||||
false
|
||||
fcitx5-input-support fcitx5-configtool fcitx5-libthai
|
||||
fcitx5-libthai
|
||||
Thai (fcitx5-libthai)
|
||||
|
||||
@@ -48,10 +48,10 @@ insync-thunar
|
||||
Insync Thunar Plugin (Thunar integration for insync)
|
||||
false
|
||||
insync-nemo
|
||||
Insync Nemo Plugin (Nemo integration for insync)
|
||||
Insync Nemo Plugin (Nemo integration for insync)
|
||||
false
|
||||
nextcloud-client
|
||||
Next Cloud (Nextloud client for linux)
|
||||
Next Cloud (Nextcloud client for linux)
|
||||
false
|
||||
megasync-bin
|
||||
Mega Sync (Official MEGA desktop application for syncing with MEGA Cloud Drive)
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
false
|
||||
linux-lts linux-lts-headers
|
||||
Linux LTS (Failsafe option)
|
||||
false
|
||||
linux-hardened linux-hardened-headers
|
||||
Linux Hardened (Improved security)
|
||||
false
|
||||
linux-cachyos-bore linux-cachyos-bore-headers
|
||||
Linux BORE (May improve performance on some systems)
|
||||
false
|
||||
linux-xanmod linux-xanmod-headers
|
||||
Linux Xanmod (May also improve performance on some systems)
|
||||
false
|
||||
linux-mainline linux-mainline-headers
|
||||
Linux Mainline (Newest commits, might help with very new hardware)
|
||||
false
|
||||
linux-amd-znver2 linux-amd-znver2-headers
|
||||
Linux AMD Zen2 (Patched for AMD Zen2 architecture)
|
||||
false
|
||||
linux-amd-znver3 linux-amd-znver3-headers
|
||||
Linux AMD Zen3 (Patched for AMD Zen3 architecture)
|
||||
false
|
||||
linux-amd linux-amd-headers
|
||||
Linux AMD Zen4 (Mainline patched for AMD Zen4 architecture)
|
||||
@@ -6,7 +6,7 @@ kmail
|
||||
Kmail (KDE mail client)
|
||||
false
|
||||
evolution
|
||||
evolution (Mature and feature-rich e-mail client that is part of the GNOME project)
|
||||
Evolution (Mature and feature-rich e-mail client that is part of the GNOME project)
|
||||
false
|
||||
geary
|
||||
Geary (GNOME mail client)
|
||||
@@ -21,7 +21,7 @@ claws-mail
|
||||
Claws-mail (Lightweight GTK based mail client)
|
||||
false
|
||||
sylpheed
|
||||
Slypheed (Lightweight and user-friendly GTK email client)
|
||||
Sylpheed (Lightweight and user-friendly GTK email client)
|
||||
false
|
||||
seamonkey
|
||||
Seamonkey (Email client included in the SeaMonkey suite)
|
||||
|
||||
@@ -6,4 +6,4 @@ nvidia-settings
|
||||
Nvidia-Settings (Tool for configuring the NVIDIA graphics driver)
|
||||
false
|
||||
nvidia-utils
|
||||
Nvidia-Utils (NVIDIA drivers utilities)
|
||||
Nvidia-Utils (NVIDIA drivers utilities)
|
||||
|
||||
@@ -24,8 +24,8 @@ calligra
|
||||
Calligra Suite by KDE
|
||||
false
|
||||
obsidian
|
||||
Obsidian
|
||||
flase
|
||||
Obsidian
|
||||
false
|
||||
skrooge
|
||||
Skrooge (A personal finances manager for KDE)
|
||||
false
|
||||
|
||||
@@ -16,3 +16,9 @@ Conky (System monitor)
|
||||
false
|
||||
keepassxc
|
||||
KeePassXC (Cross-platform Password Manager)
|
||||
false
|
||||
enpass-bin
|
||||
Enpass
|
||||
false
|
||||
lastpass
|
||||
LastPass
|
||||
|
||||
42
usr/lib/snigdhaos-assistant/remote.txt
Normal file
42
usr/lib/snigdhaos-assistant/remote.txt
Normal file
@@ -0,0 +1,42 @@
|
||||
false
|
||||
remmina
|
||||
Remmina (Remote access client)
|
||||
false
|
||||
xrdp
|
||||
xrdp (Remote Desktop Protocol (RDP) server)
|
||||
false
|
||||
vnc-server
|
||||
VNC Server (Virtual Network Computing server)
|
||||
false
|
||||
tightvnc
|
||||
TightVNC (Remote desktop control software)
|
||||
false
|
||||
tigervnc
|
||||
TigerVNC (VNC server and client)
|
||||
false
|
||||
nomachine
|
||||
NoMachine (Remote desktop solution)
|
||||
false
|
||||
ssh
|
||||
OpenSSH (OpenSSH server and client for secure remote login)
|
||||
false
|
||||
teamviewer
|
||||
TeamViewer (Remote control software)
|
||||
false
|
||||
mremoteng
|
||||
mRemoteNG (Multi-protocol remote connection manager)
|
||||
false
|
||||
guacamole
|
||||
Guacamole (Clientless remote desktop gateway)
|
||||
false
|
||||
sftp
|
||||
SFTP (Secure file transfer program)
|
||||
false
|
||||
meshcentral
|
||||
MeshCentral (Remote management of devices)
|
||||
false
|
||||
anydesk
|
||||
AnyDesk (Remote desktop software)
|
||||
false
|
||||
chromoting
|
||||
Chromoting (Remote desktop access using Chrome)
|
||||
@@ -18,7 +18,7 @@ vlc
|
||||
VLC (Media player)
|
||||
false
|
||||
smplayer smplayer-skins smplayer-themes
|
||||
SMPlayer (Build-in codecs, high compatability video player)
|
||||
SMPlayer (Build-in codecs, high compatibility video player)
|
||||
false
|
||||
baka-mplayer
|
||||
Baka-Mplayer (Libmpv and Qt based video player)
|
||||
|
||||
@@ -10,3 +10,6 @@ Virt-manager (More advanced KVM interface)
|
||||
false
|
||||
genymotion virtualbox-meta
|
||||
Genymotion (Provides a virtual environment for Android using Virtualbox)
|
||||
false
|
||||
qemu-base
|
||||
Qemu
|
||||
|
||||
@@ -1,11 +1,23 @@
|
||||
#!/usr/bin/env xdg-open
|
||||
[Desktop Entry]
|
||||
Name=Snigdha OS Assistant
|
||||
Comment=Tool for setting up Snigdha OS
|
||||
Encoding=UTF-8
|
||||
Comment=Tool for setting up and managing Snigdha OS
|
||||
Exec=snigdhaos-assistant
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=snigdhaos-assistant
|
||||
Categories=System;SnigdhaOS-Setup;
|
||||
NoDisplay=false
|
||||
Categories=System;Settings;SnigdhaOS-Setup;Utility;
|
||||
NoDisplay=false
|
||||
StartupWMClass=SnigdhaOS-Assistant
|
||||
MimeType=text/plain;application/x-shellscript;
|
||||
Comment=Setup and configure Snigdha OS with ease
|
||||
Actions=Setup;Install;
|
||||
|
||||
[Desktop Action Setup]
|
||||
Name=Run Setup Wizard
|
||||
Exec=snigdhaos-assistant setup
|
||||
Icon=preferences-system
|
||||
|
||||
[Desktop Action Install]
|
||||
Name=Install Snigdha OS
|
||||
Exec=snigdhaos-assistant install
|
||||
Icon=package-install
|
||||
|
||||
Reference in New Issue
Block a user