Giter VIP home page Giter VIP logo

indiepkg's Introduction

IndiePKG

Go Report Card Total alerts GitHub Action GitHub stars GitHub watchers GitHub forks GitHub license GitHub last commit GitHub contributors GitHub issues GitHub closed pull requests

A package manager written in Go for small CLI programs. It is available on GNU/Linux and macOS.

Notice

IndiePKG is NOT ready for use yet. It's still early software.

However, if you would like to submit issues or PR's, you are more than welcome to.

Table of contents

What is IndiePKG?

IndiePKG is mainly for small simple CLI and TUI programs. Most of them are just for fun, such as cmatrix, while others have a bit more utility such as btop.

IndiePKG uses git to install packages, and everything is compiled from source. This means that while there aren't any versions, it does mean that you get the absolute latest software.

It's also much simpler than your standard package manager, and if a package installation goes wrong you don't have to worry about all your packages failing, because you can super easily remove it.

Pros

  • Easy to use with simple commands.
  • Explains what it's doing at every step.
  • Simple compared to other package managers, and easy to repair if something goes wrong.
  • Clones directly from the package's git repository, giving you the latest version with no manual intervention by a maintainer.
  • Easy to submit to, with no notability requirements.
  • Installs everything locally, not interfering with any system components and not requiring root privileges.

Cons

  • Doesn't install & manage dependencies.
  • Slower than other package managers due to needing to compile source code.

Installation

Dependencies

Install script

Dependencies for install script

To install using the install script, run:

bash <(curl -s https://raw.githubusercontent.com/talwat/indiepkg/testing/scripts/install.sh) # To use bash
zsh <(curl -s https://raw.githubusercontent.com/talwat/indiepkg/testing/scripts/install.sh) # Or if you only have zsh installed

Manual install

If the install script doesn't work for you, you can manually install the following:

git clone -b testing https://github.com/talwat/indiepkg.git
cd indiepkg
make
make install

Uninstallation

Currently, there is no uninstallation script, but you can super easily uninstall IndiePKG by running these commands.

rm -rf ~/.indiepkg
rm ~/.local/bin/indiepkg

Making & submitting packages

If you want to make a package, you should look at PACKAGES.md

Basic usage

You can run indiepkg install <packages> to install a package.

If you want to uninstall a package, you can run indiepkg uninstall <packages>.

indiepkg upgrade [packages] will pull the latest changes and recompile packages. If you don't specify any packages, it will upgrade all packages.

indiepkg update [packages] will update the information for your installed packages. This command doesn't need to be ran frequently at all, but it's best to run it every now and then.

Supported operating systems

IndiePKG officially works on GNU/Linux and macOS.

It will work on any other unix-like operating system but many packages won't compile properly. If you are interested in supporting a new operating system, please open an issue and we can discuss making a new third party repository.

IndiePKG is completely broken on Windows. IndiePKG is overall not meant to run on Windows.

List of operating systems

Darwin Linux Other
Darwin arm64 Linux amd64 BSDs
Darwin amd64 Linux arm64 Other unix-like
Linux other Windows
  • Full Support - All packages & binary packages in the official repo are guaranteed to work. This excludes linux-only
  • Great Support - All source packages and most binary packages are supposed to work.
  • Partial Support - Some packages will work, but not all.
  • Borked - IndiePKG itself will not function properly.

Branches

IndiePKG has 3 branches to install from, testing (recommended), stable, and main.

The testing branch is a good balance of new and stable, and is updated whenever all Github actions pass.

The stable branch is only updated whenever a release is made, and is not recommended for use yet because it will sometimes not work due to changes in the package files.

The main branch is the default git branch, and contains the newest code. This is not recommended for use because it has a higher chance of being broken.

Libraries used

A huge thank you to the following libraries:

  • go-toml - For parsing the configuration file.
  • progressbar - For making progressbar's during downloads.

FAQ

So it's like the AUR?

Kind of. For one packages are checked, and there is also an official package manager unlike the AUR which is commonly paired with an AUR helper.

It also obviously works on other operating systems besides just Arch Linux.

indiepkg's People

Contributors

dependabot[bot] avatar justleoo avatar talwat avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.