2024-07-22 06:26:42 +01:00
# Chris Titus Tech's Linux Utility
2024-07-26 01:34:26 +01:00
2024-07-22 06:26:42 +01:00
[![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/linutil?label=Total%20Downloads&style=for-the-badge )
2024-09-12 20:34:36 +01:00
[![ ](https://dcbadge.limes.pink/api/server/https://discord.gg/bujFYKAHSp )](https://discord.gg/bujFYKAHSp)
2024-07-14 06:03:42 +01:00
2024-09-19 01:04:08 +01:00
<!-- TODO: crates.io package here + <br> -->
2024-09-20 01:32:02 +01:00
[![Crates.io Version ](https://img.shields.io/crates/v/linutil_tui?style=for-the-badge&color=%23af3a03 )](https://crates.io/crates/linutil_tui) [![linutil AUR Version ](https://img.shields.io/aur/version/linutil?style=for-the-badge&label=%5BAUR%5D%20linutil&color=%23230567ff )](https://aur.archlinux.org/packages/linutil) [![linutil-bin AUR Version ](https://img.shields.io/aur/version/linutil-bin?style=for-the-badge&label=%5BAUR%5D%20linutil-bin&color=%23230567ff )](https://aur.archlinux.org/packages/linutil-bin)
2024-09-19 01:04:08 +01:00
2024-11-08 23:09:25 +00:00
![Preview ](/.github/preview.gif )
2024-07-14 06:03:42 +01:00
2024-08-09 13:00:37 +01:00
**Linutil** is a distro-agnostic toolbox designed to simplify everyday Linux tasks. It helps you set up applications and optimize your system for specific use cases. The utility is actively developed in Rust 🦀, providing performance and reliability.
2024-07-26 01:34:26 +01:00
2024-08-17 13:24:22 +01:00
> [!NOTE]
> Since the project is still in active development, you may encounter some issues. Please consider [submitting feedback](https://github.com/ChrisTitusTech/linutil/issues) if you do.
2024-07-26 01:34:26 +01:00
2024-09-22 17:38:32 +01:00
## ⬇️ Installation
Linutil is also available as a package in various repositories:
[![Packaging status ](https://repology.org/badge/vertical-allrepos/linutil.svg )](https://repology.org/project/linutil/versions)
< details >
< summary > Arch Linux< / summary >
Linutil can be installed on [Arch Linux ](https://archlinux.org ) with three different [AUR ](https://aur.archlinux.org ) packages:
- `linutil` - Stable release compiled from source
- `linutil-bin` - Stable release pre-compiled
- `linutil-git` - Compiled from the last commit (not recommended)
by running:
```bash
git clone https://aur.archlinux.org/< package > .git
2024-09-22 18:36:22 +01:00
cd < package >
2024-09-22 17:38:32 +01:00
makepkg -si
```
Replace `<package>` with your preferred package.
2024-10-08 02:42:03 +01:00
If you use [yay ](https://github.com/Jguer/yay ), [paru ](https://github.com/Morganamilo/paru ) or any other [AUR Helper ](https://wiki.archlinux.org/title/AUR_helpers ), it's even simpler:
2024-09-22 17:38:32 +01:00
```bash
paru -S linutil
```
Replace `paru` with your preferred helper and `linutil` with your preferred package.
< / details >
2024-11-07 19:07:28 +00:00
< details >
< summary > OpenSUSE< / summary >
Linutil can be installed on OpenSUSE with:
```bash
sudo zypper install linutil
```
2024-09-22 17:38:32 +01:00
2024-11-07 19:07:28 +00:00
< / details >
2024-09-22 17:38:32 +01:00
< details >
< summary > Cargo< / summary >
Linutil can be installed via [Cargo ](https://doc.rust-lang.org/cargo ) with:
```bash
2024-11-25 00:16:52 +00:00
cargo install linutil_tui
2024-09-22 17:38:32 +01:00
```
Note that crates installed using `cargo install` require manual updating with `cargo install --force` (update functionality is [included in LinUtil ](https://christitustech.github.io/linutil/userguide/#applications-setup ))
< / details >
2024-11-30 12:20:09 +00:00
## 💡 Usage
To get started, pick which branch you would like to use, then run the command in your terminal:
### Stable Branch (Recommended)
```bash
curl -fsSL https://christitus.com/linux | sh
```
### Dev branch
```bash
curl -fsSL https://christitus.com/linuxdev | sh
```
### CLI arguments
Linutil supports various command-line arguments to customize its behavior. Here are some common arguments you can use:
- `-c, --config <CONFIG>` : Path to the configuration file.
- `--override-validation` : Show all available options, disregarding compatibility checks (UNSAFE).
- `--size-bypass` : Bypass the terminal size limit.
- `-y, --skip-confirmation` : Skip confirmation prompt before executing commands.
- `-t, --theme <THEME>` : Set the theme to use in the application [default: `default` ] [possible values: `default` , `compatible` ].
- `-h, --help` : Print help.
For more detailed usage, run:
```bash
curl -fsSL https://christitus.com/linux | sh -s -- --help
```
```bash
linutil --help
```
2024-11-07 19:21:37 +00:00
## Configuration
Linutil supports configuration through a TOML config file. Path to the file can be specified with `--config` (or `-c` ).
Available options:
- `auto_execute` - a list of commands to execute automatically (can be combined with `--skip-confirmation` )
Example config:
```toml
# example_config.toml
auto_execute = [
"Fastfetch",
"Alacritty",
"Kitty"
]
```
```bash
linutil --config /path/to/example_config.toml
```
2024-08-09 13:00:37 +01:00
## 💖 Support
If you find Linutil helpful, please consider giving it a ⭐️ to show your support!
2024-07-14 06:03:42 +01:00
2024-07-30 22:23:07 +01:00
## 🎓 Documentation
2024-11-08 23:09:25 +00:00
For comprehensive information on how to use Linutil, visit the [Linutil Official Documentation ](https://chris-titus-docs.github.io/linutil-docs/ ).
2024-08-09 13:00:37 +01:00
## 🛠 Contributing
2024-07-22 06:26:42 +01:00
2024-09-13 21:45:59 +01:00
We welcome contributions from the community! Before you start, please review our [Contributing Guidelines ](.github/CONTRIBUTING.md ) to understand how to make the most effective and efficient contributions.
2024-11-08 23:09:25 +00:00
[Official LinUtil Roadmap ](https://chris-titus-docs.github.io/linutil-docs/roadmap/ )
Docs are now [here ](https://github.com/Chris-Titus-Docs/linutil-docs )
2024-08-09 13:00:37 +01:00
## 🏅 Thanks to All Contributors
Thank you to everyone who has contributed to the development of Linutil. Your efforts are greatly appreciated, and you’ re helping make this tool better for everyone!
2024-07-22 06:26:42 +01:00
2024-07-24 03:41:11 +01:00
[![Contributors ](https://contrib.rocks/image?repo=ChrisTitusTech/linutil )](https://github.com/ChrisTitusTech/linutil/graphs/contributors)
2024-07-22 06:26:42 +01:00
2024-09-20 01:28:13 +01:00
## 📜 Contributor Milestones
2024-09-20 01:28:45 +01:00
- 2024/07 - Original Linutil Rust TUI was developed by [@JustLinuxUser ](https://github.com/JustLinuxUser ).
- 2024/09 - TabList (Left Column) and various Rust Core/TUI Improvements developed by [@lj3954 ](https://github.com/lj3954 )
- 2024/09 - Cargo Publish, AUR, Rust, and Bash additions done by [@adamperkowski ](https://github.com/adamperkowski )
- 2024/09 - Rust TUI Min/Max, MultiSelection, and Bash additions done by [@jeevithakannan2 ](https://github.com/jeevithakannan2 )
- 2024/09 - Various bash updates and standardization done by [@nnyyxxxx ](https://github.com/nnyyxxxx )
- 2024/09 - Multiple bash script additions done by [@guruswarupa ](https://github.com/guruswarupa )