10352c6254
Replaced ansi related code for tree sitter highlight with direct ratatui::text. Cache the processed text in appstate to remove processing of text for every frame render.Create paragraph instead of list so that scroll and wrapping can be done without external crates. Add caps keys for handle_key_event. |
||
---|---|---|
.cargo | ||
.github | ||
core | ||
docs | ||
man | ||
overrides | ||
tui | ||
xtask | ||
_typos.toml | ||
.gitignore | ||
.shellcheckrc | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
linutil.desktop | ||
README.md | ||
start.sh | ||
startdev.sh |
Chris Titus Tech's Linux Utility
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.
Note
Since the project is still in active development, you may encounter some issues. Please consider submitting feedback if you do.
💡 Usage
To get started, pick which branch you would like to use, then run the command in your terminal:
Stable Branch (Recommended)
curl -fsSL https://christitus.com/linux | sh
Dev branch
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:
-t, --theme <THEME>
: Set the theme to use in the application [default: default] [possible values: default, compatible].--override-validation
: Show all available options, disregarding compatibility checks (UNSAFE).-h, --help
: Print help.
For more detailed usage, run:
curl -fsSL https://christitus.com/linux | sh -s -- --help
linutil --help
⬇️ Installation
Linutil is also available as a package in various repositories:
Arch Linux
Linutil can be installed on Arch Linux with three different AUR packages:
linutil
- Stable release compiled from sourcelinutil-bin
- Stable release pre-compiledlinutil-git
- Compiled from the last commit (not recommended)
by running:
git clone https://aur.archlinux.org/<package>.git
cd <package>
makepkg -si
Replace <package>
with your preferred package.
If you use yay, paru or any other AUR Helper, it's even simpler:
paru -S linutil
Replace paru
with your preferred helper and linutil
with your preferred package.
OpenSUSE
Linutil can be installed on OpenSUSE with:
sudo zypper install linutil
Cargo
Linutil can be installed via Cargo with:
cargo install linutil
Note that crates installed using cargo install
require manual updating with cargo install --force
(update functionality is included in LinUtil)
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:
# example_config.toml
auto_execute = [
"Fastfetch",
"Alacritty",
"Kitty"
]
linutil --config /path/to/example_config.toml
💖 Support
If you find Linutil helpful, please consider giving it a ⭐️ to show your support!
🎓 Documentation
For comprehensive information on how to use Linutil, visit the Linutil Official Documentation.
🛠 Contributing
We welcome contributions from the community! Before you start, please review our Contributing Guidelines to understand how to make the most effective and efficient contributions.
🏅 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!
📜 Contributor Milestones
- 2024/07 - Original Linutil Rust TUI was developed by @JustLinuxUser.
- 2024/09 - TabList (Left Column) and various Rust Core/TUI Improvements developed by @lj3954
- 2024/09 - Cargo Publish, AUR, Rust, and Bash additions done by @adamperkowski
- 2024/09 - Rust TUI Min/Max, MultiSelection, and Bash additions done by @jeevithakannan2
- 2024/09 - Various bash updates and standardization done by @nnyyxxxx
- 2024/09 - Multiple bash script additions done by @guruswarupa