- Shell 99%
- Makefile 0.6%
- Just 0.4%
| lib | ||
| .gitignore | ||
| boo.sh | ||
| install.sh | ||
| justfile | ||
| makefile | ||
| README.md | ||
Boo 🐾
v.0.0.1
A cute and powerful bash CLI tool for managing your software installations and setups with style! ✨
🌟 What is Boo?
Boo is your friendly neighborhood package manager and setup wizard! 🏠 It helps you install, update, and configure various tools and software with an interactive, gum-powered interface. Whether you're setting up a fresh Linux environment or adding new tools to your workflow, Boo makes it fun and easy! 🎉
🚀 Features
- Interactive UI 🎨: Powered by gum for beautiful terminal interfaces
- Package Installation 📦: Easily install software with pre-configured scripts
- Setup Wizards 🧙♂️: Guided setups for desktop environments and configurations
- Auto-Updates 🔄: Keeps itself updated from the repository
- Dotfile Management 📁: Handles your dotfiles and configurations
- Shell Completions 🐚: Supports shell completions for better usability
🛠️ Installation
Getting started with Boo is as easy as pie! 🥧
# Clone and install Boo
curl -fsSL k4li.de/boo | bash
Or manually:
git clone git.k4li.de/pika/boo ~/.local/share/boo
make
boo --init # Install dependencies like gum
Make sure ~/.local/bin is in your PATH! 🌟
📖 Usage
Boo is super simple to use. Here are some commands to get you started:
Basic Commands
boo --help # Show help menu 📚
boo --update # Update everything: system, Boo, dotfiles, Docker compose projects, and bob versions 🔄
boo --install <pkg> # Install a package 📦
boo --setup <type> # Run a setup wizard 🧙♀️
Setup Types
Boo's setup wizard offers different categories to tailor your environment:
- desktop 🖥️: Work-in-progress setups for desktop environments (e.g., Hyprland, Niri)
- cli 🐚: Select from a list of CLI tools to install interactively
- server 🖧: Set up a server with common packages (more coming soon!)
- dotfiles 📁: Pull and configure dotfiles from your git server (git.k4li.de/dotfiles)
Examples
Install some cool tools:
boo --install rip # Install rip (rm replacement) 🗑️
boo --install yazi # Install yazi (terminal file manager) 📂
boo --install ollama # Install Ollama (AI model runner) 🤖
...
Setup Examples
Choose your setup type and let Boo guide you:
boo --setup desktop # Select and set up a desktop environment (WIP: Hyprland, Niri, etc.) 🖥️
boo --setup cli # Interactive list to install CLI tools 🐚
boo --setup server # Install common server packages 🖧
boo --setup dotfiles # Configure dotfiles from git.k4li.de/dotfiles 📁
Update Details
Running boo --update does more than just updating Boo itself:
- System Update 🔧: Updates your entire system packages
- Dotfiles Update 📁: Pulls latest changes to ~/dotfiles
- Docker Compose 🐳: Checks for Docker and updates selected compose projects
- Bob Update 🤖: Checks for bob installation and updates neovim versions
Boo will guide you through each step with interactive menus! 🎮
Shell Completions
Enhance your shell experience with tab completions:
# For Bash
eval "$(boo --shell bash)"
# For Zsh
eval "$(boo --shell zsh)"
Add these to your shell's startup files (e.g., ~/.bashrc or ~/.zshrc) for persistent completions! 🐚
🤝 Contributing
We love contributions! 💖 If you have ideas for new packages, setups, or improvements:
- Fork the repo 🍴
- Create a feature branch 🌿
- Make your changes ✨
- Submit a PR! 📝
Check out our contributing guidelines for more details.
📜 License
This project is licensed under the MIT License - see the LICENSE file for details. 📄
🙏 Acknowledgments
- Thanks to Charm for the amazing gum tool! 🌟
- Inspired by the need for a fun, interactive package manager. 🎈
Made with ❤️ and lots of ☕ by the Pika team! /mnt/storage/opt/personal/git/forgejo/pika/boo/README.md