c0966d464e
Remove explicit lifetime for floatcontent impl. Use div_ceil instead of manually calculating the rows for hints |
||
---|---|---|
.cargo | ||
.github | ||
core | ||
docs | ||
man | ||
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:
-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:
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.
Docs are now here
🏅 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