mirror of
https://github.com/Snigdha-OS/snigdhaos-assistant.git
synced 2025-12-06 16:13:55 +01:00
Compare commits
48 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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)
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
|
||||||
|
# Define the project name, version, and the programming language used.
|
||||||
project(snigdhaos-assistant VERSION 0.1 LANGUAGES CXX)
|
project(snigdhaos-assistant VERSION 0.1 LANGUAGES CXX)
|
||||||
|
|
||||||
|
# Include the current directory in the list of include directories.
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Network)
|
||||||
|
|
||||||
set(PROJECT_SOURCES
|
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
|
#!/bin/bash
|
||||||
|
|
||||||
# Author : Eshan Roy <eshan@snigdhaos.org>
|
# Author: Eshan Roy <eshan@snigdhaos.org>
|
||||||
# Author URL: https://eshanized.github.io/
|
# Author URI: https://eshanized.github.io
|
||||||
|
|
||||||
# Setting up Author's Git Credentials
|
set -e
|
||||||
echo
|
|
||||||
echo "################################################################################"
|
|
||||||
echo -e "If you have write Access, create another file excluding the name 'config.sh'"
|
|
||||||
echo "################################################################################"
|
|
||||||
echo
|
|
||||||
|
|
||||||
# Git Credentials:
|
# Function to display usage instructions
|
||||||
git config --global pull.rebase false # Merge
|
usage() {
|
||||||
git config --global user.name "Eshan Roy (Eshanized)"
|
cat <<EOF
|
||||||
git config --global user.email "m.eshanized@gmail.com"
|
Usage: ${0##*/} [--email <email>] [--username <username>] [-h]
|
||||||
|
|
||||||
echo
|
Options:
|
||||||
echo "################################################################################"
|
--email <email> Set the GitHub user email.
|
||||||
echo -e "If you have write Access, create another file excluding the name 'config.sh'"
|
--username <username> Set the GitHub username.
|
||||||
echo "################################################################################"
|
-h, --help Display this help message.
|
||||||
echo
|
|
||||||
|
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
|
#!/bin/bash
|
||||||
|
|
||||||
# Author : Eshan Roy
|
# Author : ESHAN ROY
|
||||||
# URI : https://eshanized.github.io
|
# Author URI : https://eshanized.github.io
|
||||||
|
|
||||||
# NOTE: If you are on Snigdha OS,
|
# Define the conventional commit types with new emojis
|
||||||
# you can install commitizen-go with `sudo pacman -S commitizen-go`
|
TYPES=("🚀 feat" "🐛 fix" "📝 docs" "✨ style" "🛠 refactor" "⚡️ perf" "🔬 test" "🔧 build" "🤖 ci" "🧹 chore" "⏪ revert")
|
||||||
# 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.
|
|
||||||
|
|
||||||
# Function to check if Commitizen is installed
|
# Function to display an error and exit and
|
||||||
check_commitizen() {
|
error_exit() {
|
||||||
if ! pacman -Qq commitizen-go &> /dev/null; then
|
echo -e "\033[1;31m[ERROR]\033[0m $1"
|
||||||
echo "Commitizen is not installed. Please install it using 'yay -S commitizen-go'." >&2
|
exit 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
|
fi
|
||||||
}
|
done
|
||||||
|
|
||||||
# Function to stage, commit, and push changes
|
# Extract the commit type and emoji from the selection
|
||||||
push_to_github() {
|
type_emoji=${type}
|
||||||
git add .
|
type=${type_emoji#* }
|
||||||
git cz
|
emoji=${type_emoji% *}
|
||||||
git push origin master
|
|
||||||
}
|
|
||||||
|
|
||||||
# Main Function
|
# Prompt the user to enter a short description
|
||||||
main() {
|
read -p "Enter a short description: " desc
|
||||||
check_commitizen
|
if [ -z "$desc" ]; then
|
||||||
push_to_github
|
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 "snigdhaosassistant.h"
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
|
/*
|
||||||
|
* creates a QApplication object, which manages the GUI application's control flow and main settings.
|
||||||
|
*/
|
||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
QApplication a(argc, 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] : "");
|
SnigdhaOSAssistant w(nullptr, a.arguments().length() > 1 ? a.arguments()[1] : "");
|
||||||
|
/*
|
||||||
|
* displays the main window of the application (w) on the screen.
|
||||||
|
*/
|
||||||
w.show();
|
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();
|
return a.exec();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,8 +16,16 @@
|
|||||||
#include <QtNetwork/QNetworkReply>
|
#include <QtNetwork/QNetworkReply>
|
||||||
#include <unistd.h>
|
#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)
|
SnigdhaOSAssistant::SnigdhaOSAssistant(QWidget *parent, QString state)
|
||||||
: QMainWindow(parent)
|
: QMainWindow(parent)
|
||||||
, ui(new Ui::SnigdhaOSAssistant)
|
, ui(new Ui::SnigdhaOSAssistant)
|
||||||
@@ -29,43 +37,52 @@ SnigdhaOSAssistant::SnigdhaOSAssistant(QWidget *parent, QString state)
|
|||||||
updateState(state);
|
updateState(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* destructor for the SnigdhaOSAssistant class, responsible for cleaning up the user interface object.
|
||||||
|
*/
|
||||||
SnigdhaOSAssistant::~SnigdhaOSAssistant()
|
SnigdhaOSAssistant::~SnigdhaOSAssistant()
|
||||||
{
|
{
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnigdhaOSAssistant::doInternetUpRequest(){
|
void SnigdhaOSAssistant::doInternetUpRequest(){
|
||||||
|
// Create a network manager to handle the request.
|
||||||
QNetworkAccessManager* network_manager = new QNetworkAccessManager();
|
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)));
|
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);
|
QTimer* timer = new QTimer(this);
|
||||||
timer->setSingleShot(true);
|
timer->setSingleShot(true); // Ensure the timer fires only once.
|
||||||
timer->start(5000);
|
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]() {
|
connect(timer, &QTimer::timeout, this, [this, timer, network_reply, network_manager]() {
|
||||||
timer->deleteLater();
|
timer->deleteLater(); // Clean up the timer.
|
||||||
network_reply->abort();
|
network_reply->abort(); // Abort the network request if it's still ongoing.
|
||||||
network_reply->deleteLater();
|
network_reply->deleteLater(); // Clean up the network reply object.
|
||||||
network_manager->deleteLater();
|
network_manager->deleteLater(); // Clean up the network manager object.
|
||||||
doInternetUpRequest();
|
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]() {
|
connect(network_reply, &QNetworkReply::finished, this, [this, timer, network_reply, network_manager]() {
|
||||||
timer->stop();
|
timer->stop(); // Stop the timer as the request has completed.
|
||||||
timer->deleteLater();
|
timer->deleteLater(); // Clean up the timer.
|
||||||
network_reply->deleteLater();
|
network_reply->deleteLater(); // Clean up the network reply object.
|
||||||
network_manager->deleteLater();
|
network_manager->deleteLater(); // Clean up the network manager object.
|
||||||
if (network_reply->error() == network_reply->NoError) {
|
|
||||||
// Wooo!
|
|
||||||
updateState(State::UPDATE);
|
|
||||||
}
|
|
||||||
// Boo!
|
|
||||||
else
|
|
||||||
doInternetUpRequest();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
// 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/nvidia.txt", "Nvidia");
|
||||||
populateSelectWidget("/usr/lib/snigdhaos-assistant/input-method.txt", "Input");
|
populateSelectWidget("/usr/lib/snigdhaos-assistant/input-method.txt", "Input");
|
||||||
populateSelectWidget("/usr/lib/snigdhaos-assistant/pkgmngrs.txt", "Software centers");
|
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/office.txt", "Office");
|
||||||
populateSelectWidget("/usr/lib/snigdhaos-assistant/browsers.txt", "Browsers");
|
populateSelectWidget("/usr/lib/snigdhaos-assistant/browsers.txt", "Browsers");
|
||||||
populateSelectWidget("/usr/lib/snigdhaos-assistant/mail.txt", "Email");
|
populateSelectWidget("/usr/lib/snigdhaos-assistant/mail.txt", "Email");
|
||||||
|
|||||||
@@ -4,23 +4,43 @@
|
|||||||
* love from Bangladesh
|
* 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
|
#ifndef SNIGDHAOSASSISTANT_H
|
||||||
#define SNIGDHAOSASSISTANT_H
|
#define SNIGDHAOSASSISTANT_H
|
||||||
|
|
||||||
#include <QMainWindow>
|
/*class for main application windows*/
|
||||||
|
#include <QMainWindow>
|
||||||
|
/*abstract base class for buttons*/
|
||||||
#include <QAbstractButton>
|
#include <QAbstractButton>
|
||||||
|
/*class for managing network operations*/
|
||||||
#include <QtNetwork/QNetworkAccessManager>
|
#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
|
QT_BEGIN_NAMESPACE
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class SnigdhaOSAssistant;
|
class SnigdhaOSAssistant;
|
||||||
}
|
}
|
||||||
QT_END_NAMESPACE
|
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
|
class SnigdhaOSAssistant : public QMainWindow
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
/*
|
||||||
|
* declares an enumeration type named State inside the SnigdhaOSAssistant class,
|
||||||
|
* containing various states that the application can be in.
|
||||||
|
*/
|
||||||
public:
|
public:
|
||||||
enum class State {
|
enum class State {
|
||||||
QUIT,
|
QUIT,
|
||||||
@@ -37,18 +57,38 @@ public:
|
|||||||
SUCCESS
|
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(QWidget* parent = nullptr, QString state = "WELCOME");
|
||||||
~SnigdhaOSAssistant();
|
~SnigdhaOSAssistant();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* declare private slots, which are functions that can be connected to signals from widgets
|
||||||
|
*/
|
||||||
private slots:
|
private slots:
|
||||||
void on_textWidget_buttonBox_clicked(QAbstractButton* button);
|
void on_textWidget_buttonBox_clicked(QAbstractButton* button);
|
||||||
void on_selectWidget_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:
|
private:
|
||||||
Ui::SnigdhaOSAssistant *ui;
|
Ui::SnigdhaOSAssistant *ui;
|
||||||
QDateTime executable_modify_date;
|
QDateTime executable_modify_date;
|
||||||
State currentState;
|
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 doInternetUpRequest();
|
||||||
void doUpdate();
|
void doUpdate();
|
||||||
void doApply();
|
void doApply();
|
||||||
|
|||||||
@@ -1,22 +1,75 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Function to log messages to a log file
|
||||||
|
log_message() {
|
||||||
|
# This function logs messages with a timestamp to /var/log/snigdhaos_assistant.log
|
||||||
|
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> /var/log/snigdhaos_assistant.log
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check if the first file (setup script) exists and execute it
|
||||||
if [ -e "$1" ]; then
|
if [ -e "$1" ]; then
|
||||||
echo ""
|
echo ""
|
||||||
echo "Preparing setup.."
|
echo "Preparing setup ⏳" # Show waiting emoji when preparing setup
|
||||||
echo ""
|
echo ""
|
||||||
sudo bash - <$1
|
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
|
fi
|
||||||
|
|
||||||
|
# Install packages from the second file
|
||||||
echo ""
|
echo ""
|
||||||
echo "Installing packages.."
|
echo "Installing packages 🛠️" # Show tools emoji for package installation
|
||||||
echo ""
|
echo ""
|
||||||
installable_packages=$(comm -12 <(pacman -Slq | sort) <(sed s/\\s/\\n/g - <$2 | sort))
|
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
|
||||||
sudo pacman -S --needed $installable_packages && rm $2 || { read -p "Error! Press enter to return to Snigdha OS Assistant."; exit; }
|
|
||||||
|
|
||||||
|
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; 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
|
if [ -e "$3" ]; then
|
||||||
echo ""
|
echo ""
|
||||||
echo "Enabling services.."
|
echo "Enabling services ⚙️" # Show gear emoji for service enabling
|
||||||
echo ""
|
echo ""
|
||||||
sudo bash - <$3
|
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
|
fi
|
||||||
|
|
||||||
|
# Final prompt
|
||||||
echo ""
|
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
|
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
|
||||||
Mixxx (Digital DJ'ing)
|
Mixxx (Free, open-source DJ software for live mixing)
|
||||||
false
|
|
||||||
musescore
|
|
||||||
MuseScore (Sheet music notation)
|
|
||||||
false
|
|
||||||
rosegarden
|
|
||||||
Rosegarden (MIDI/audio sequencer)
|
|
||||||
false
|
false
|
||||||
bitwig-studio
|
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
|
false
|
||||||
brave-bin
|
brave-bin
|
||||||
Brave Browser (Based on Chromium + privacy stuff)
|
Brave Browser (Web browser that blocks ads and trackers by default)
|
||||||
false
|
|
||||||
firefox
|
|
||||||
Firefox (The original)
|
|
||||||
false
|
|
||||||
firefox-esr
|
|
||||||
Firefox ESR (Extended support release)
|
|
||||||
false
|
false
|
||||||
chromium
|
chromium
|
||||||
Chromium
|
Chromium (A web browser built for speed, simplicity, and security)
|
||||||
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)
|
|
||||||
false
|
false
|
||||||
falkon
|
falkon
|
||||||
Falkon (KDE browser)
|
Falkon (Cross-platform QtWebEngine browser)
|
||||||
false
|
false
|
||||||
seamonkey
|
firefox
|
||||||
Seamonkey (Continuation of the Mozilla Internet Suite)
|
Firefox (Firefox Web Browser)
|
||||||
false
|
false
|
||||||
qutebrowser python-adblock
|
firefox-esr
|
||||||
Qutebrowser (Keyboard driven, Vim-like browser)
|
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
|
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-desktop
|
||||||
Element (Matrix client based on Electron)
|
Element Desktop (All-in-one secure chat app for teams, friends, and organisations)
|
||||||
false
|
false
|
||||||
wire-desktop
|
discord
|
||||||
Wire (Modern, private messenger)
|
Discord (Instant messaging and VoIP social platform)
|
||||||
false
|
false
|
||||||
signal-desktop
|
discord_arch_electron
|
||||||
Signal (Desktop application for Signal private messenger)
|
Discord Electron (Popular voice + video app using the system-provided Electron for increased security and performance)
|
||||||
false
|
false
|
||||||
jitsi-meet
|
google-chat-linux-bin
|
||||||
Jitsi-Meet (Open source webconferencing)
|
Google Chat (Unofficial electron-based desktop client for Google Chat, electron included)
|
||||||
false
|
false
|
||||||
zoom
|
hexchat
|
||||||
Zoom (Proprietary video conferencing application)
|
Hex Chat (A GTK+ based IRC client)
|
||||||
false
|
false
|
||||||
skypeforlinux-stable-bin
|
jitsi-meet-desktop-bin
|
||||||
Skype (Proprietary application for voice and video communication)
|
Jitsi Meet (Jitsi Meet desktop application powered by Electron)
|
||||||
false
|
|
||||||
teams
|
|
||||||
Microsoft Teams (Proprietary client for Microsoft Teams)
|
|
||||||
false
|
|
||||||
slack-desktop
|
|
||||||
Slack (Proprietary Slack client for desktops)
|
|
||||||
false
|
false
|
||||||
mumble
|
mumble
|
||||||
Mumble (Open source Teamspeak clone)
|
Mumble (An Open Source, low-latency, high-quality voice chat software)
|
||||||
false
|
false
|
||||||
streamlink-twitch-gui-bin
|
neochat
|
||||||
Twitch GUI (GUI for Twitch livestreams)
|
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
|
false
|
||||||
vim
|
vim
|
||||||
VIM (terminal text editor)
|
VIM (Terminal text editor)
|
||||||
false
|
false
|
||||||
visual-studio-code-bin
|
visual-studio-code-bin
|
||||||
Visual Studio Code (proprietary)
|
Visual Studio Code (Proprietary code editor)
|
||||||
false
|
|
||||||
code
|
|
||||||
Visual Studio Code (oss)
|
|
||||||
false
|
false
|
||||||
vscodium
|
vscodium
|
||||||
VSCodium (Free/Libre Open Source Software Binaries of VS Code)
|
VSCodium (Free/Libre Open Source Software Binaries of VS Code)
|
||||||
false
|
false
|
||||||
|
sublime-text-4
|
||||||
|
Sublime Text 4 (Sophisticated text editor for code, HTML, and prose)
|
||||||
|
false
|
||||||
emacs
|
emacs
|
||||||
GNU Emacs
|
GNU Emacs (Highly extensible and customizable text editor)
|
||||||
false
|
false
|
||||||
qtcreator
|
qtcreator
|
||||||
QtCreator
|
QtCreator (An IDE for developing with the Qt framework)
|
||||||
false
|
false
|
||||||
gnome-builder
|
gnome-builder
|
||||||
Gnome-builder (An IDE for writing GNOME-based software)
|
GNOME Builder (An IDE for writing GNOME-based software)
|
||||||
false
|
false
|
||||||
hugo
|
hugo
|
||||||
Hugo (A static Website Generator)
|
Hugo (A static website generator)
|
||||||
false
|
false
|
||||||
kdevelop
|
kdevelop
|
||||||
Kdevelop (C++ IDE using KDE technologies)
|
KDevelop (C++ IDE using KDE technologies)
|
||||||
false
|
false
|
||||||
netbeans
|
netbeans
|
||||||
Netbeans (IDE for Java, HTML5, PHP, Groovy, C and C++)
|
NetBeans (IDE for Java, HTML5, PHP, Groovy, C, and C++)
|
||||||
false
|
false
|
||||||
postman-bin
|
postman-bin
|
||||||
Postman {API platform for building and using APIs}
|
Postman (API platform for building and using APIs)
|
||||||
false
|
false
|
||||||
intellij-idea-community-edition
|
intellij-idea-community-edition
|
||||||
IntelliJ-IDEA (Community Edition)
|
IntelliJ IDEA (Community Edition)
|
||||||
false
|
false
|
||||||
pycharm-community-edition
|
pycharm-community-edition
|
||||||
PyCharm (Community Edition)
|
PyCharm (Community Edition)
|
||||||
false
|
false
|
||||||
rider
|
rider
|
||||||
IntelliJ-Rider
|
IntelliJ Rider (IDE for .NET development)
|
||||||
false
|
false
|
||||||
gitkraken
|
gitkraken
|
||||||
Gitkraken
|
GitKraken (Graphical Git client)
|
||||||
false
|
false
|
||||||
github-desktop
|
github-desktop
|
||||||
GitHub Desktop
|
GitHub Desktop (GitHub's graphical Git client)
|
||||||
|
|
||||||
false
|
false
|
||||||
cockpit cockpit-machines
|
github-desktop-bin
|
||||||
Cockpit (Access some system settings at localhost:9090)
|
GitHub Desktop Bin (GUI for managing Git and GitHub, binary version)
|
||||||
|
false
|
||||||
|
cockpit
|
||||||
|
Cockpit (Web-based interface for managing servers at localhost:9090)
|
||||||
false
|
false
|
||||||
ansible
|
ansible
|
||||||
Ansible (Simple IT automation engine)
|
Ansible (Simple IT automation engine)
|
||||||
false
|
false
|
||||||
docker docker-compose
|
docker
|
||||||
Docker
|
Docker (Containerization platform for running apps in isolated environments)
|
||||||
false
|
false
|
||||||
podman-docker podman-compose crun
|
docker-compose
|
||||||
Podman (Docker, usable with docker commands)
|
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
|
false
|
||||||
salt
|
salt
|
||||||
Salt (Central system and configuration manager)
|
Salt (Central system and configuration manager)
|
||||||
@@ -70,10 +78,97 @@ puppet
|
|||||||
Puppet (Server automation framework and application)
|
Puppet (Server automation framework and application)
|
||||||
false
|
false
|
||||||
prometheus
|
prometheus
|
||||||
Prometheus (systems monitoring and alerting toolkit)
|
Prometheus (Systems monitoring and alerting toolkit)
|
||||||
false
|
false
|
||||||
vagrant
|
vagrant
|
||||||
Vagrant (Build and distribute virtualized development environments)
|
Vagrant (Build and distribute virtualized development environments)
|
||||||
false
|
false
|
||||||
terraform
|
terraform
|
||||||
Terraform (Building and updating infrastructure as code)
|
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
|
false
|
||||||
krita krita-plugin-gmic opencolorio
|
krita
|
||||||
Krita (Paint application by KDE)
|
Krita (Paint application by KDE)
|
||||||
false
|
false
|
||||||
|
krita-plugin-gmic
|
||||||
|
Krita Plugin GMIC (Plugin for Krita)
|
||||||
|
false
|
||||||
|
opencolorio
|
||||||
|
OpenColorIO (Color management framework)
|
||||||
|
false
|
||||||
gimp
|
gimp
|
||||||
GIMP (Advanced image manipulation program)
|
GIMP (Advanced image manipulation program)
|
||||||
false
|
false
|
||||||
@@ -27,31 +33,31 @@ mypaint
|
|||||||
MyPaint (Digital painting)
|
MyPaint (Digital painting)
|
||||||
false
|
false
|
||||||
wings3d
|
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
|
false
|
||||||
sweethome3d
|
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
|
false
|
||||||
freecad
|
freecad
|
||||||
freecad (Parametric 3D CAD modeler based on OpenCascade)
|
FreeCAD (Parametric 3D CAD modeler based on OpenCascade)
|
||||||
false
|
false
|
||||||
librecad
|
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
|
false
|
||||||
kicad
|
kicad
|
||||||
kicad (Software suite for electronic design automation (EDA))
|
KiCad (Software suite for electronic design automation (EDA))
|
||||||
false
|
false
|
||||||
pencil2d
|
pencil2d
|
||||||
Pencil 2D (2D handdrawn animations)
|
Pencil 2D (2D hand-drawn animations)
|
||||||
false
|
false
|
||||||
synfigstudio
|
synfigstudio
|
||||||
Synfig Studio (2D vector animation)
|
Synfig Studio (2D vector animation)
|
||||||
false
|
false
|
||||||
opentoonz
|
opentoonz
|
||||||
opentoonz (2D animation creation software)
|
OpenToonz (2D animation creation software)
|
||||||
false
|
false
|
||||||
fontforge
|
fontforge
|
||||||
FontForge (Outline and font editor)
|
FontForge (Outline and font editor)
|
||||||
false
|
false
|
||||||
birdfont
|
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
|
||||||
Asian Fonts Support
|
Asian Fonts Support
|
||||||
false
|
false
|
||||||
fcitx5-input-support fcitx5-configtool fcitx5-m17n
|
fcitx5-input-support
|
||||||
Devanagari,Kannada,Telgu,Tamil,Malyalam,Bangala etc and many others (fcitx5-m17n)
|
Fcitx5 Input Support
|
||||||
false
|
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)
|
Simplified Chinese (fcitx5-chinese-addons)
|
||||||
false
|
false
|
||||||
fcitx5-input-support fcitx5-configtool fcitx5-rime
|
fcitx5-rime
|
||||||
Traditional Chinese (fcitx5-rime)
|
Traditional Chinese (fcitx5-rime)
|
||||||
false
|
false
|
||||||
fcitx5-input-support fcitx5-configtool fcitx5-mozc
|
fcitx5-mozc
|
||||||
Japanese (fcitx5-mozc)
|
Japanese (fcitx5-mozc)
|
||||||
false
|
false
|
||||||
fcitx5-input-support fcitx5-configtool fcitx5-hangul
|
fcitx5-hangul
|
||||||
Korean (fcitx5-hangul)
|
Korean (fcitx5-hangul)
|
||||||
false
|
false
|
||||||
fcitx5-input-support fcitx5-configtool fcitx5-unikey
|
fcitx5-unikey
|
||||||
Vietnamese (fcitx5-unikey)
|
Vietnamese (fcitx5-unikey)
|
||||||
false
|
false
|
||||||
fcitx5-input-support fcitx5-configtool fcitx5-sayura
|
fcitx5-sayura
|
||||||
Sinhalese (fcitx5-sayura)
|
Sinhalese (fcitx5-sayura)
|
||||||
false
|
false
|
||||||
fcitx5-input-support fcitx5-configtool fcitx5-libthai
|
fcitx5-libthai
|
||||||
Thai (fcitx5-libthai)
|
Thai (fcitx5-libthai)
|
||||||
|
|||||||
@@ -48,10 +48,10 @@ insync-thunar
|
|||||||
Insync Thunar Plugin (Thunar integration for insync)
|
Insync Thunar Plugin (Thunar integration for insync)
|
||||||
false
|
false
|
||||||
insync-nemo
|
insync-nemo
|
||||||
Insync Nemo Plugin (Nemo integration for insync)
|
Insync Nemo Plugin (Nemo integration for insync)
|
||||||
false
|
false
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
Next Cloud (Nextloud client for linux)
|
Next Cloud (Nextcloud client for linux)
|
||||||
false
|
false
|
||||||
megasync-bin
|
megasync-bin
|
||||||
Mega Sync (Official MEGA desktop application for syncing with MEGA Cloud Drive)
|
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)
|
Kmail (KDE mail client)
|
||||||
false
|
false
|
||||||
evolution
|
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
|
false
|
||||||
geary
|
geary
|
||||||
Geary (GNOME mail client)
|
Geary (GNOME mail client)
|
||||||
@@ -21,7 +21,7 @@ claws-mail
|
|||||||
Claws-mail (Lightweight GTK based mail client)
|
Claws-mail (Lightweight GTK based mail client)
|
||||||
false
|
false
|
||||||
sylpheed
|
sylpheed
|
||||||
Slypheed (Lightweight and user-friendly GTK email client)
|
Sylpheed (Lightweight and user-friendly GTK email client)
|
||||||
false
|
false
|
||||||
seamonkey
|
seamonkey
|
||||||
Seamonkey (Email client included in the SeaMonkey suite)
|
Seamonkey (Email client included in the SeaMonkey suite)
|
||||||
|
|||||||
@@ -6,4 +6,4 @@ nvidia-settings
|
|||||||
Nvidia-Settings (Tool for configuring the NVIDIA graphics driver)
|
Nvidia-Settings (Tool for configuring the NVIDIA graphics driver)
|
||||||
false
|
false
|
||||||
nvidia-utils
|
nvidia-utils
|
||||||
Nvidia-Utils (NVIDIA drivers utilities)
|
Nvidia-Utils (NVIDIA drivers utilities)
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ calligra
|
|||||||
Calligra Suite by KDE
|
Calligra Suite by KDE
|
||||||
false
|
false
|
||||||
obsidian
|
obsidian
|
||||||
Obsidian
|
Obsidian
|
||||||
flase
|
false
|
||||||
skrooge
|
skrooge
|
||||||
Skrooge (A personal finances manager for KDE)
|
Skrooge (A personal finances manager for KDE)
|
||||||
false
|
false
|
||||||
|
|||||||
@@ -16,3 +16,9 @@ Conky (System monitor)
|
|||||||
false
|
false
|
||||||
keepassxc
|
keepassxc
|
||||||
KeePassXC (Cross-platform Password Manager)
|
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)
|
VLC (Media player)
|
||||||
false
|
false
|
||||||
smplayer smplayer-skins smplayer-themes
|
smplayer smplayer-skins smplayer-themes
|
||||||
SMPlayer (Build-in codecs, high compatability video player)
|
SMPlayer (Build-in codecs, high compatibility video player)
|
||||||
false
|
false
|
||||||
baka-mplayer
|
baka-mplayer
|
||||||
Baka-Mplayer (Libmpv and Qt based video player)
|
Baka-Mplayer (Libmpv and Qt based video player)
|
||||||
|
|||||||
@@ -10,3 +10,6 @@ Virt-manager (More advanced KVM interface)
|
|||||||
false
|
false
|
||||||
genymotion virtualbox-meta
|
genymotion virtualbox-meta
|
||||||
Genymotion (Provides a virtual environment for Android using Virtualbox)
|
Genymotion (Provides a virtual environment for Android using Virtualbox)
|
||||||
|
false
|
||||||
|
qemu-base
|
||||||
|
Qemu
|
||||||
|
|||||||
@@ -1,11 +1,23 @@
|
|||||||
#!/usr/bin/env xdg-open
|
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Name=Snigdha OS Assistant
|
Name=Snigdha OS Assistant
|
||||||
Comment=Tool for setting up Snigdha OS
|
Comment=Tool for setting up and managing Snigdha OS
|
||||||
Encoding=UTF-8
|
|
||||||
Exec=snigdhaos-assistant
|
Exec=snigdhaos-assistant
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Type=Application
|
Type=Application
|
||||||
Icon=snigdhaos-assistant
|
Icon=snigdhaos-assistant
|
||||||
Categories=System;SnigdhaOS-Setup;
|
Categories=System;Settings;SnigdhaOS-Setup;Utility;
|
||||||
NoDisplay=false
|
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