Skip to content

Commit

Permalink
Merge branch 'dev' into nightly
Browse files Browse the repository at this point in the history
  • Loading branch information
comfysage committed Nov 5, 2023
2 parents 041becb + 400a6ee commit c7d084a
Show file tree
Hide file tree
Showing 3 changed files with 100 additions and 393 deletions.
80 changes: 80 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# saku

:seedling: a tiny distro-independent package manager written in Rust.

![saku-show](./assets/show-neovim.gif)

# Saku

Saku is a lightweight package manager for macOS/linux, written in Rust. It aims to
provide an alternative solution to managing software packages on macOS/linux systems,
addressing some of the issues faced with existing package managers like
Homebrew.

## Features

- Simplified package management: Saku strives to provide a streamlined and
user-friendly package management experience, making it easy to install,
update, and remove software packages.

- Lightweight and efficient: Saku is designed to be lightweight and
efficient, minimizing resource usage while maintaining performance. It aims
to provide fast and responsive package management operations.

- Improved stability: Saku focuses on stability and reliability, aiming to
minimize dependency conflicts and provide a robust package installation
process.

- Self maintaining: Saku has built-in support for installing updates and
configuring new packages.

## Installation

Run the installer using curl:

```shell
curl -fsSL https://raw.githubusercontent.com/CrispyBaccoon/saku/mega/install.sh | sh
```

Setup saku environment, add this to your `.bashrc`/`.zshrc`:

```shell
eval "$($HOME/.saku/pack/bin/saku env)"
```

## Usage

Saku provides a simple command-line interface for managing packages. Here
are some common commands:

- `saku install <package>`: Installs the specified package.
- `saku update <package>`: Update sources.
- `saku upgrade <package>`: Updates the specified package to the latest version.
- `saku remove <package>`: Removes the specified package.

For more information on available commands and options, refer to the Saku
documentation.

## Contributing

Contributions to Saku are welcome! If you encounter any issues, have
suggestions for improvements, or want to contribute new features, please submit
a pull request or open an issue on the GitHub repository.

Before contributing, please review the [contribution
guidelines](https://github.com/crispybaccoon/saku/blob/main/CONTRIBUTING.md)
for instructions on how to contribute code, report bugs, and more.

## License

Saku is released under the MIT License. Please review the license file for more details.

## Acknowledgements

Saku is inspired by package managers like Homebrew. Special thanks to the
contributors and the open-source community for their valuable contributions.

## Contact

For any inquiries or questions, feel free to contact the project maintainer at
[[[email protected]]].
20 changes: 20 additions & 0 deletions install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env bash

set -e

printf " -\033[35m setting up\033[0m saku root\n"
mkdir -p ~/.saku/repo
cd ~/.saku/repo

printf " -\033[35m cloning\033[0m saku from\033[33m https://github.com/crispybaccoon/saku\033[0m\n"
git clone --filter=blob:none https://github.com/crispybaccoon/saku && cd saku

printf " -\033[35m building\033[0m saku\n"
cargo build -r

printf " -\033[35m setting up\033[0m environment\n"
./saku config init

printf " -\033[35m finishing\033[0m installation\n"
./saku task install saku

Loading

0 comments on commit c7d084a

Please sign in to comment.