mirror of
https://github.com/ChrisTitusTech/linutil.git
synced 2024-11-22 13:22:28 +00:00
Merge branch 'main' of https://github.com/ChrisTitusTech/linutil
This commit is contained in:
commit
526c12eda2
BIN
build/linutil
BIN
build/linutil
Binary file not shown.
|
@ -1 +1,4 @@
|
|||
# Known Issues
|
||||
---
|
||||
|
||||
- [Known Issues](https://github.com/ChrisTitusTech/linutil/issues)
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 15 KiB |
|
@ -1,2 +1,62 @@
|
|||
# How to Contribute?
|
||||
|
||||
Thank you for considering contributing to Linutil! We appreciate your effort in helping improve this project. To ensure that your contributions align with the goals and quality standards of Linutil, please follow these guidelines:
|
||||
|
||||
## 1. **Install Rust**:
|
||||
|
||||
Make sure you have Rust installed on your machine. You can install it by following the instructions at [rust-lang.org](https://www.rust-lang.org/tools/install).
|
||||
|
||||
## 2. **Fork and Clone the repo**
|
||||
|
||||
1. Make a fork of the repo in GitHub
|
||||
2. Clone the fork
|
||||
```bash
|
||||
git clone https://github.com/YOUR_USERNAME_HERE/linutil.git
|
||||
cd linutil
|
||||
```
|
||||
|
||||
## 3. Make your changes
|
||||
- **Edit the files you want to change**: Make your changes to the relevant files.
|
||||
- **Test your changes**: Run `cargo run` to test your modifications in a local environment and ensure everything works as expected.
|
||||
|
||||
## 4. Understand the existing code
|
||||
|
||||
- **Have a clear reason**: Don’t change the way things are done without a valid reason. If you propose an alteration, be prepared to explain why it’s necessary and how it improves the project.
|
||||
- **Respect existing conventions**: Changes should align with the existing code style, design patterns, and overall project philosophy. If you want to introduce a new way of doing things, justify it clearly.
|
||||
|
||||
## 5. Learn from Past Pull Requests (PRs)
|
||||
|
||||
- **Check merged PRs**: Reviewing merged pull requests can give you an idea of what kind of contributions are accepted and how they are implemented.
|
||||
- **Study rejected PRs**: This is especially important as it helps you avoid making similar mistakes or proposing changes that have already been considered and declined.
|
||||
|
||||
## 6. Write Clean, Descriptive Commit Messages
|
||||
|
||||
- **Be descriptive**: Your commit messages should clearly describe what the change does and why it was made.
|
||||
- **Use the imperative mood**: For example, "Add feature X" or "Fix bug in Y", rather than "Added feature X" or "Fixed bug in Y".
|
||||
- **Keep commits clean**: Avoid committing a change and then immediately following it with a fix for that change. Instead, amend your commit or squash it if needed.
|
||||
|
||||
## 7. Keep Your Pull Requests (PRs) Small and Focused
|
||||
|
||||
- **Make small, targeted PRs**: Focus on one feature or fix per pull request. This makes it easier to review and increases the likelihood of acceptance.
|
||||
- **Avoid combining unrelated changes**: PRs that tackle multiple unrelated issues are harder to review and might be rejected because of a single problem.
|
||||
|
||||
## 8. Code Review and Feedback
|
||||
|
||||
- **Expect feedback**: PRs will undergo code review. Be open to feedback and willing to make adjustments as needed.
|
||||
- **Participate in reviews**: If you feel comfortable, review other contributors' PRs as well. Peer review is a great way to learn and ensure high-quality contributions.
|
||||
|
||||
## 9. Contributing Is More Than Just Code
|
||||
|
||||
- **Test the tool**: Running tests and providing feedback on how the tool works in different environments is a valuable contribution.
|
||||
- **Write well-formed issues**: Clearly describe bugs or problems you encounter, providing as much detail as possible, including steps to reproduce the issue.
|
||||
- **Propose reasonable feature requests**: When suggesting new features, ensure they fit within the scope, style, and design of the project. Provide clear reasoning and use cases.
|
||||
|
||||
## 10. Documentation
|
||||
|
||||
- **Update the documentation**: If your change affects the functionality, please update the relevant documentation files to reflect this.
|
||||
|
||||
## 11. License
|
||||
|
||||
- **Agree to the license**: By contributing to Linutil, you agree that your contributions will be licensed under the project's MIT license.
|
||||
|
||||
We appreciate your contributions and look forward to collaborating with you to make Linutil better!
|
||||
|
|
|
@ -3,13 +3,20 @@
|
|||
[![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
|
||||
## Running the 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
|
||||
```
|
||||
To get started, run the following command in your terminal:
|
||||
|
||||
### Stable branch
|
||||
|
||||
```
|
||||
curl -fsSL https://christitus.com/linux | sh
|
||||
```
|
||||
---
|
||||
|
||||
After you've ran the command, you should see a GUI on your screen; It will look something like this:
|
||||
|
||||
![preview](assets/preview.png)
|
||||
|
||||
!!! info
|
||||
|
||||
|
|
|
@ -1,9 +1,32 @@
|
|||
# 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)
|
||||
## System Setup
|
||||
|
||||
- **System Update**: Starts a system-wide update.
|
||||
- **Compile Setup**: Installs tools and dependencies for compiling software.
|
||||
- **Gaming Setup**: Configures Steam, Lutris, etc.
|
||||
- **Global Theming**: Sets up and manages global themes.
|
||||
- **Remove Snaps**: Removes snap packages.
|
||||
|
||||
## Arch Setup
|
||||
|
||||
- **Paru Setup**: Installs the Paru AUR helper.
|
||||
- **Yay Setup**: Installs the Yay AUR helper.
|
||||
- **Server Setup**: Installs Arch Linux.
|
||||
|
||||
## Fedora Setup
|
||||
|
||||
- **RPM Fusion Setup**: Adds RPM Fusion repositories.
|
||||
|
||||
## Applications Setup
|
||||
|
||||
- **Alacritty Setup**: Installs and configures Alacritty for you.
|
||||
- **DwmTitus Setup**: Sets up the Dwm window manager.
|
||||
- **Kitty Setup**: Installs and configures Kitty for you.
|
||||
- **Rofi Setup**: Installs the Rofi application/script launcher.
|
||||
- **Zsh Setup**: Installs and configures Zsh for you.
|
||||
|
||||
## Security Features
|
||||
|
||||
- **Firewall Baselines**: Sets up firewall rules.
|
||||
|
|
|
@ -11,6 +11,36 @@ command_exists() {
|
|||
which "$1" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
checkAURHelper() {
|
||||
## Check & Install AUR helper
|
||||
if [ "$PACKAGER" = "pacman" ]; then
|
||||
if [ -z "$AUR_HELPER_CHECKED" ]; then
|
||||
AUR_HELPERS="yay paru"
|
||||
for helper in ${AUR_HELPERS}; do
|
||||
if command_exists "${helper}"; then
|
||||
AUR_HELPER=${helper}
|
||||
echo "Using ${helper} as AUR helper"
|
||||
AUR_HELPER_CHECKED=true
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Installing yay as AUR helper..."
|
||||
$ESCALATION_TOOL "$PACKAGER" -S --needed --noconfirm base-devel
|
||||
cd /opt && $ESCALATION_TOOL git clone https://aur.archlinux.org/yay-git.git && $ESCALATION_TOOL chown -R "$USER":"$USER" ./yay-git
|
||||
cd yay-git && makepkg --noconfirm -si
|
||||
|
||||
if command_exists yay; then
|
||||
AUR_HELPER="yay"
|
||||
AUR_HELPER_CHECKED=true
|
||||
else
|
||||
echo -e "${RED}Failed to install AUR helper.${RC}"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
checkEscalationTool() {
|
||||
## Check for escalation tools.
|
||||
if [ -z "$ESCALATION_TOOL_CHECKED" ]; then
|
||||
|
@ -100,4 +130,5 @@ checkEnv() {
|
|||
checkSuperUser
|
||||
checkDistro
|
||||
checkEscalationTool
|
||||
checkAURHelper
|
||||
}
|
||||
|
|
|
@ -15,22 +15,6 @@ installDepend() {
|
|||
else
|
||||
echo "Multilib is already enabled."
|
||||
fi
|
||||
if ! command_exists yay && ! command_exists paru; then
|
||||
echo "Installing yay as AUR helper..."
|
||||
$ESCALATION_TOOL "$PACKAGER" -S --needed --noconfirm base-devel
|
||||
cd /opt && $ESCALATION_TOOL git clone https://aur.archlinux.org/yay-git.git && $ESCALATION_TOOL chown -R "$USER":"$USER" ./yay-git
|
||||
cd yay-git && makepkg --noconfirm -si
|
||||
else
|
||||
echo "Aur helper already installed"
|
||||
fi
|
||||
if command_exists yay; then
|
||||
AUR_HELPER="yay"
|
||||
elif command_exists paru; then
|
||||
AUR_HELPER="paru"
|
||||
else
|
||||
echo "No AUR helper found. Please install yay or paru."
|
||||
exit 1
|
||||
fi
|
||||
$AUR_HELPER -S --needed --noconfirm "$DEPENDENCIES"
|
||||
;;
|
||||
apt-get|nala)
|
||||
|
@ -80,6 +64,7 @@ install_additional_dependencies() {
|
|||
}
|
||||
|
||||
checkEnv
|
||||
checkAURHelper
|
||||
checkEscalationTool
|
||||
installDepend
|
||||
install_additional_dependencies
|
|
@ -13,22 +13,6 @@ installDepend() {
|
|||
else
|
||||
echo "Multilib is already enabled."
|
||||
fi
|
||||
if ! command_exists yay && ! command_exists paru; then
|
||||
echo "Installing yay as AUR helper..."
|
||||
$ESCALATION_TOOL ${PACKAGER} -S --needed --noconfirm base-devel
|
||||
cd /opt && $ESCALATION_TOOL git clone https://aur.archlinux.org/yay-git.git && $ESCALATION_TOOL chown -R ${USER}:${USER} ./yay-git
|
||||
cd yay-git && makepkg --noconfirm -si
|
||||
else
|
||||
echo "Aur helper already installed"
|
||||
fi
|
||||
if command_exists yay; then
|
||||
AUR_HELPER="yay"
|
||||
elif command_exists paru; then
|
||||
AUR_HELPER="paru"
|
||||
else
|
||||
echo "No AUR helper found. Please install yay or paru."
|
||||
exit 1
|
||||
fi
|
||||
$AUR_HELPER -S --needed --noconfirm wine giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls \
|
||||
mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse libgpg-error \
|
||||
lib32-libgpg-error alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo \
|
||||
|
@ -109,6 +93,7 @@ install_additional_dependencies() {
|
|||
}
|
||||
|
||||
checkEnv
|
||||
checkAURHelper
|
||||
checkEscalationTool
|
||||
installDepend
|
||||
install_additional_dependencies
|
|
@ -5,25 +5,8 @@
|
|||
fastUpdate() {
|
||||
case ${PACKAGER} in
|
||||
pacman)
|
||||
if ! command_exists yay && ! command_exists paru; then
|
||||
echo "Installing yay as AUR helper..."
|
||||
$ESCALATION_TOOL ${PACKAGER} -S --needed --noconfirm base-devel || { echo -e "${RED}Failed to install base-devel${RC}"; exit 1; }
|
||||
cd /opt && $ESCALATION_TOOL git clone https://aur.archlinux.org/yay-git.git && $ESCALATION_TOOL chown -R ${USER}:${USER} ./yay-git
|
||||
cd yay-git && makepkg --noconfirm -si || { echo -e "${RED}Failed to install yay${RC}"; exit 1; }
|
||||
else
|
||||
echo "AUR helper already installed"
|
||||
fi
|
||||
|
||||
if command_exists yay; then
|
||||
AUR_HELPER="yay"
|
||||
elif command_exists paru; then
|
||||
AUR_HELPER="paru"
|
||||
else
|
||||
echo "No AUR helper found. Please install yay or paru."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
${AUR_HELPER} -S --needed --noconfirm rate-mirrors-bin
|
||||
$AUR_HELPER -S --needed --noconfirm rate-mirrors-bin
|
||||
|
||||
if [ -s /etc/pacman.d/mirrorlist ]; then
|
||||
$ESCALATION_TOOL cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
|
||||
|
@ -113,6 +96,7 @@ updateFlatpaks() {
|
|||
}
|
||||
|
||||
checkEnv
|
||||
checkAURHelper
|
||||
checkEscalationTool
|
||||
fastUpdate
|
||||
updateSystem
|
||||
|
|
Loading…
Reference in New Issue
Block a user