Merge branch 'main' of ssh://github.com/christitustech/linutil

This commit is contained in:
afonsofrancof 2024-07-25 23:15:50 +01:00
commit 3bccaefeec
No known key found for this signature in database
19 changed files with 170 additions and 52 deletions

22
.github/workflows/github-pages.yml vendored Normal file
View File

@ -0,0 +1,22 @@
name: GitHub Pages Deploy
on:
release:
types: [published, prereleased]
workflow_dispatch:
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: 3.x
- uses: actions/cache@v4
with:
key: ${{ github.ref }}
path: .cache
- run: pip install mkdocs-material
- run: pip install pillow cairosvg
- run: mkdocs gh-deploy --force

1
docs/KnownIssues.md Normal file
View File

@ -0,0 +1 @@
# Known Issues

BIN
docs/assets/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

BIN
docs/assets/mainpage.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

2
docs/contribute.md Normal file
View File

@ -0,0 +1,2 @@
# How to Contribute?

4
docs/faq.md Normal file
View File

@ -0,0 +1,4 @@
# FAQ's
## How do I uninstall LinUtil?
* You do not have to uninstall LinUtil. As it is a script you run from your terminal it only loads into your RAM. This means as soon as you close LinUtil it will be deleted off your system.

16
docs/index.md Normal file
View File

@ -0,0 +1,16 @@
# Welcome to the LinUtil Documentation!
[![Version](https://img.shields.io/github/v/release/ChrisTitusTech/linutil?color=%230567ff&label=Latest%20Release&style=for-the-badge)](https://github.com/ChrisTitusTech/linutil/releases/latest)
![GitHub Downloads (specific asset, all releases)](https://img.shields.io/github/downloads/ChrisTitusTech/linutil/start.sh?label=Total%20Downloads&style=for-the-badge)
## Running latest release of LinUtil
* You will first need to start a Terminal on your linux machine.
* Now you will need to run following command:
```
curl -fsSL https://christitus.com/linux | sh
```
!!! info
LinUtil is updated weekly as of the time of writing. Consequently, features and functionalities may evolve, and the documentation may not always reflect the most current images or information.

3
docs/updates.md Normal file
View File

@ -0,0 +1,3 @@
# Update Log
#

9
docs/userguide.md Normal file
View File

@ -0,0 +1,9 @@
# Walkthrough
## How to run LinUtil?
Run the following command in a terminal on your Linux System:
```
curl -fsSL https://christitus.com/linux | sh
```
Once you have run that command you will see the following GUI show on your screen:
![Main Page](assets/mainpage.png)

66
mkdocs.yml Normal file
View File

@ -0,0 +1,66 @@
site_name: Chris Titus LinUtil Official Documentation
repo_url: https://github.com/ChrisTitusTech/linutil
nav:
- Introduction: 'index.md'
- User Guide: 'userguide.md'
- Contribute: 'contribute.md'
- Updates: 'updates.md'
- Known Issues: 'KnownIssues.md'
- FAQ: 'faq.md'
theme:
name: material
custom_dir: 'overrides'
features:
- navigation.tabs
- navigation.sections
- toc.integrate
- navigation.top
- search.suggest
- search.highlight
- content.tabs.link
- content.code.annotation
- content.code.copy
language: en
logo: assets/favicon.png
favicon: assets/favicon.png
palette:
- media: "(prefers-color-scheme: light)"
scheme: default
toggle:
icon: material/toggle-switch-off-outline
name: Switch to dark mode
primary: black
accent: purple
- media: "(prefers-color-scheme: dark)"
scheme: slate
toggle:
icon: material/toggle-switch
name: Switch to light mode
primary: teal
accent: lime
markdown_extensions:
- admonition
- pymdownx.details
- pymdownx.superfences
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
- abbr
- attr_list
- pymdownx.snippets
- md_in_html
- pymdownx.superfences
- pymdownx.tabbed:
alternate_style: true
- pymdownx.highlight:
anchor_linenums: true
line_spans: __span
pygments_lang_class: true
- pymdownx.inlinehilite
- def_list
- pymdownx.tasklist:
custom_checkbox: true

12
overrides/main.html Normal file
View File

@ -0,0 +1,12 @@
{% extends "base.html" %}
{% block header %}
{{ super() }}
<div style="color: red; text-align: center; padding: 10px; font-size: 20px;">
<strong>Announcement:</strong> This documentation is still in progress.
</div>
{% endblock %}
{% block footer %}
{# Empty block to override the footer #}
{% endblock %}

View File

@ -78,7 +78,8 @@ checkDistro() {
checkEnv() {
checkCommandRequirements 'curl groups sudo'
checkPackageManager 'apt-get dnf pacman zypper'
checkPackageManager 'apt-get nala dnf pacman zypper yum xbps-install nix-env'
checkCurrentDirectoryWritable
checkSuperUser
checkDistro
}

View File

@ -1,12 +1,5 @@
#!/bin/sh -e
checkEnv() {
checkCommandRequirements 'curl groups sudo'
checkPackageManager 'apt-get dnf pacman zypper'
checkSuperUser
checkDistro
}
setupAlacritty() {
echo "Install Alacritty if not already installed..."
if ! command_exists alacritty; then

View File

@ -1,12 +1,5 @@
#!/bin/sh -e
checkEnv() {
checkCommandRequirements 'curl groups sudo'
checkPackageManager 'apt-get dnf pacman zypper'
checkSuperUser
checkDistro
}
setupKitty() {
echo "Install Kitty if not already installed..."
if ! command_exists kitty; then

View File

@ -1,12 +1,5 @@
#!/bin/sh -e
checkEnv() {
checkCommandRequirements 'curl groups sudo'
checkPackageManager 'apt-get dnf pacman zypper'
checkSuperUser
checkDistro
}
setupRofi() {
echo "Install Rofi if not already installed..."
if ! command_exists rofi; then

View File

@ -22,13 +22,6 @@ fi
cd "$LINUXTOOLBOXDIR/linutil" || exit
checkEnv() {
checkCommandRequirements 'curl groups sudo'
checkPackageHandler 'apt yum dnf pacman zypper'
checkCurrentDirectoryWritable
checkSuperUser
}
installDepend() {
## Check for dependencies.
DEPENDENCIES='tar tree multitail tldr trash-cli unzip cmake make jq'

View File

@ -1,12 +1,5 @@
#!/bin/sh -e
checkEnv() {
checkCommandRequirements 'curl groups sudo'
checkPackageManager 'apt-get yum dnf pacman zypper'
checkCurrentDirectoryWritable
checkSuperUser
}
installDepend() {
## Check for dependencies.
echo -e "${YELLOW}Installing dependencies...${RC}"
@ -71,7 +64,22 @@ install_additional_dependencies() {
echo "Lutris Installation complete."
echo "Installing steam..."
sudo apt-get install -y steam
#Install steam on Debian
if (lsb_release -i | grep -qi Debian); then
#Enable i386 repos
sudo dpkg --add-architecture i386
# Install software-properties-common to be able to add repos
sudo apt-get install -y software-properties-common
# Add repos necessary for installing steam
sudo apt-add-repository contrib -y
sudo apt-add-repository non-free -y
#Install steam
sudo apt-get install steam-installer -y
else
#Install steam on Ubuntu
sudo apt-get install -y steam
fi
;;
*zypper)

View File

@ -4,15 +4,15 @@
LINUXTOOLBOXDIR="$HOME/linuxtoolbox"
if [ ! -d "$LINUXTOOLBOXDIR" ]; then
echo -e "${YELLOW}Creating linuxtoolbox directory: $LINUXTOOLBOXDIR${RC}"
printf "${YELLOW}Creating linuxtoolbox directory: %s${RC}\n" "$LINUXTOOLBOXDIR"
mkdir -p "$LINUXTOOLBOXDIR"
echo -e "${GREEN}linuxtoolbox directory created: $LINUXTOOLBOXDIR${RC}"
printf "${GREEN}linuxtoolbox directory created: %s${RC}\n" "$LINUXTOOLBOXDIR"
fi
cd "$LINUXTOOLBOXDIR" || exit
install_theme_tools() {
echo -e "${YELLOW}Installing theme tools (qt6ct and kvantum)...${RC}"
printf "${YELLOW}Installing theme tools (qt6ct and kvantum)...${RC}\n"
case $PACKAGER in
apt-get)
sudo apt-get update
@ -31,14 +31,14 @@ install_theme_tools() {
sudo pacman --noconfirm -S qt6ct kvantum
;;
*)
echo -e "${RED}Unsupported package manager. Please install qt6ct and kvantum manually.${RC}"
printf "${RED}Unsupported package manager. Please install qt6ct and kvantum manually.${RC}\n"
exit 1
;;
esac
}
configure_qt6ct() {
echo -e "${YELLOW}Configuring qt6ct...${RC}"
printf "${YELLOW}Configuring qt6ct...${RC}\n"
mkdir -p "$HOME/.config/qt6ct"
cat <<EOF > "$HOME/.config/qt6ct/qt6ct.conf"
[Appearance]
@ -46,17 +46,26 @@ style=kvantum
color_scheme=default
icon_theme=breeze
EOF
echo -e "${GREEN}qt6ct configured successfully.${RC}"
printf "${GREEN}qt6ct configured successfully.${RC}\n"
# Add QT_QPA_PLATFORMTHEME to /etc/environment
if ! grep -q "QT_QPA_PLATFORMTHEME=qt6ct" /etc/environment; then
printf "${YELLOW}Adding QT_QPA_PLATFORMTHEME to /etc/environment...${RC}\n"
echo "QT_QPA_PLATFORMTHEME=qt6ct" | sudo tee -a /etc/environment > /dev/null
printf "${GREEN}QT_QPA_PLATFORMTHEME added to /etc/environment.${RC}\n"
else
printf "${GREEN}QT_QPA_PLATFORMTHEME already set in /etc/environment.${RC}\n"
fi
}
configure_kvantum() {
echo -e "${YELLOW}Configuring Kvantum...${RC}"
printf "${YELLOW}Configuring Kvantum...${RC}\n"
mkdir -p "$HOME/.config/Kvantum"
cat <<EOF > "$HOME/.config/Kvantum/kvantum.kvconfig"
[General]
theme=Breeze
EOF
echo -e "${GREEN}Kvantum configured successfully.${RC}"
printf "${GREEN}Kvantum configured successfully.${RC}\n"
}
checkEnv

View File

@ -1,12 +1,5 @@
#!/bin/sh -e
checkEnv() {
checkCommandRequirements 'curl groups sudo'
checkPackageManager 'apt-get nala dnf pacman zypper yum xbps-install'
checkSuperUser
checkDistro
}
fastUpdate() {
case ${PACKAGER} in
pacman)