ZoeyErinBauer / Shelly-ALPM
Pacman alternative for ArchLinux, designed with you in mind.
View on GitHubAI Architecture Analysis
This repository is indexed by RepoMind. By analyzing ZoeyErinBauer/Shelly-ALPM in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Overview (README excerpt)
Crawler viewSearch Standard Packages, AUR, and Flatpak in one place About Shelly is a modern reimagination of the Arch Linux package manager, designed to be a more intuitive and user-friendly alternative to and . Unlike other Arch package managers, Shelly offers a modern, visual interface with a focus on user experience and ease of use; It **IS NOT** built as a wrapper or front-end. It is a complete reimagination of how a user interacts with their Arch Linux system, providing a more streamlined and intuitive experience. Quick Install The recommended installation method for Shelly is for CachyOS or using CachyOS packages This will download and install the latest release, including the UI and CLI tools. To install with an AUR helper like yay or paru. or Uninstall For standard package removal If installed from AUR or Features • **Modern-CLI**: Provides a command-line interface for advanced users and automation, with a focus on ease of use. • **Native Arch Integration**: Directly interacts with for accurate and fast package management. • **Native Wayland Support**: Front end built using GTK4. • **Package Management**: Supports searching and filtering for, installing, updating, and removing packages. • **Repository Management**: Synchronizes with official repositories to keep package lists up to date. • **AUR Support**: Integration with the Arch User Repository for a wider range of software. • **Flatpak Support**: Manage Flatpak applications alongside native packages. Roadmap Upcoming features and development targets: • **Trigger updates from Notifications**: Allow users to trigger package updates from the notification system. • **Repository Modification**: Allow modification of supported repositories (In progress). • **App Image Support**: Further app image support similar to AppLever. (In progress) • **Flatpak Overhaul**: Improve Flatpak integration and management. Allow for management of flatpak app stream locations. (In progress) • **Package Import**: Allow for import of a previously existing package list to bring the system back to a saved package state. (Not yet started) • **Icons for Standard Packages**: Allow icons for standard package applications to be viewed while searching for packages. (Architecting) Prerequisites • **Arch Linux** (or an Arch-based distribution) • **.NET 10.0 SDK** (for building) • **libalpm** (provided by ) Optional Prerequisites • **Flatpak**: Can be installed via shelly inside settings by turning flatpak on. Installation Using PKGBUILD Since Shelly is designed for Arch Linux, you can build and install it using the provided : Manual Build You can also build the project manually using the .NET CLI: alternatively, you can run This will build and perform the functions of install.sh The binary will be located in the directory. Usage Run the application from your terminal: For ui: For cli: Notifications will be started with the ui, or it can be configured to launch at startup using your systems startup configuration to run: Shelly-CLI Shelly also includes a command-line interface ( ) for users who prefer terminal-based package management. The CLI provides the same core functionality as the UI but in a scriptable, terminal-friendly format. CLI Commands Package Management | Command | Description | |----------------------|---------------------------------| | | Synchronize package databases | | | List all installed packages | | | List all available packages | | | List packages that need updates | | | Install one or more packages | | | Install a local package file | | | Remove one or more packages | | | Update one or more packages | | | Perform a full system upgrade | Keyring Management ( ) | Command | Description | |------------------------------|---------------------------------------------------------| | | Initialize the pacman keyring | | | Reload keys from keyrings in /usr/share/pacman/keyrings | | | Receive keys from a keyserver | | | Locally sign the specified key(s) | | | List all keys in the keyring | | | Refresh keys from the keyserver | AUR Management ( ) | Command | Description | |--------------------------|-------------------------------------| | | Search for AUR packages | | | List installed AUR packages | | | List AUR packages that need updates | | | Install AUR packages | | | Update specific AUR packages | | | Upgrade all AUR packages | | | Remove AUR packages | Flatpak Management ( ) | Command | Description | |---------------------------------|--------------------------------| | | Search flatpak | | | List installed flatpak apps | | | List flatpak apps with updates | | | Install flatpak app | | | Update flatpak app | | | Remove flatpak app | | | Run flatpak app | | | List running flatpak apps | | | search flathub | | | Sync remote appstream | | | Returns remote appstream json | | | Upgrade all flatpak apps | Shelly Utility ( ) | Command | Description | |-------------------|-------------------------------| | | Export sync file | | | check for updates as non-root | CLI Configuration Shelly-CLI uses a JSON configuration file to customize its behavior. On the first run, it automatically creates a default configuration file at: Configuration Options | Option | Description | |--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | | Controls how file sizes are displayed. Possible values: "Bytes", "Megabytes", "Gigabytes". Default: "Bytes" | | | Determines which command is executed when is run without any arguments (the default command). Possible values: "UpgradeStandard", "UpgradeFlatpak", "UpgradeAur", "UpgradeAll", "Sync", "SyncForce", "ListInstalled". Default: "UpgradeAll" | Example CLI Options **Global options:** • - Display help information • - Display version information **sync command:** • -…