All Projects β†’ hyperupcall β†’ basalt

hyperupcall / basalt

Licence: other
The rock-solid Bash package manager

Programming Languages

shell
77523 projects
Roff
2310 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to basalt

Bpkg
Lightweight bash package manager
Stars: ✭ 1,601 (+9906.25%)
Mutual labels:  package-manager, bash-script, package-management
termux-arch
You can use setupTermuxArch.sh πŸ“² to install Arch Linux in Termux on Android and Chrome. This setup script will attempt to set Arch Linux up in your Termux environment.
Stars: ✭ 25 (+56.25%)
Mutual labels:  scripts, bash-script
tii
Command not found? Install it right there!
Stars: ✭ 27 (+68.75%)
Mutual labels:  zsh, fish
awesome-package-manager
☘ Awesome package manager resources
Stars: ✭ 87 (+443.75%)
Mutual labels:  package-manager, package-management
installer-scripts
πŸ’» Bash scripts for doing installations in one go.
Stars: ✭ 17 (+6.25%)
Mutual labels:  scripts, bash-script
choco
Chocolatey - the package manager for Windows
Stars: ✭ 8,643 (+53918.75%)
Mutual labels:  package-manager, package-management
jean
Bored from installing tiny shell scripts and .dotfiles manually? Huh! Missing Shell Package Manager For Linux
Stars: ✭ 21 (+31.25%)
Mutual labels:  package-manager, package-management
dotfiles
My collection of dotfiles
Stars: ✭ 77 (+381.25%)
Mutual labels:  fish, scripts
config
Fig's integrations with bash, zsh, fish, ssh, and tmux. Also contains Fig's installation and update scripts. Finally, this repo is the root of the .fig folder that is installed on your computer when you download Fig!
Stars: ✭ 44 (+175%)
Mutual labels:  zsh, fish
carapace-bin
multi-shell multi-command argument completer
Stars: ✭ 42 (+162.5%)
Mutual labels:  zsh, fish
Sistem-programlama
Sistem Programlama Türkçe Kaynak (KTÜ)
Stars: ✭ 30 (+87.5%)
Mutual labels:  scripts, bash-script
rofi-scripts
Small scripts for rofi
Stars: ✭ 61 (+281.25%)
Mutual labels:  scripts, bash-script
linux-server-administration-scripts
Simple bash administration scripts for Linux to make your life easier.
Stars: ✭ 47 (+193.75%)
Mutual labels:  scripts, bash-script
nix-portable
Nix - Static, Permissionless, Installation-free, Pre-configured
Stars: ✭ 356 (+2125%)
Mutual labels:  package-manager, package-management
rclone4pi
rclone4pi - Easy Install of rclone to Raspberry Pi Computer with automated folder sync demo
Stars: ✭ 91 (+468.75%)
Mutual labels:  scripts, bash-script
scripts
Collection of useful scripts for Linux (git, docker, LUKS, Archlinux...)
Stars: ✭ 36 (+125%)
Mutual labels:  scripts, bash-script
hoard
cli command organizer written in rust
Stars: ✭ 71 (+343.75%)
Mutual labels:  zsh, fish
pacstall
An AUR-inspired package manager for Ubuntu
Stars: ✭ 842 (+5162.5%)
Mutual labels:  fish, package-manager
libdnf
Package management library.
Stars: ✭ 157 (+881.25%)
Mutual labels:  package-manager, package-management
cpm
🌡 A wrapper for package managers to make them consistent for those of us who are lazy.
Stars: ✭ 52 (+225%)
Mutual labels:  package-manager, package-management

basalt

The rock-solid Bash package manager

STATUS: BETA (expect breaking changes until a post-beta release)


basalt is a fork of basher that adds a ton of new functionality. It makes it significantly easier to install Bash, Zsh, etc. projects to your computer. Often, these projects/scripts are not available through official apt, DNF, pacman repositories, or even from unofficial sources like third-party apt repositories or the AUR

Let's say you want to install rupa/z, tj/git-extras, aristocratos/bashtop, and JosefZIla/bash2048. Simply run the following

$ basalt global add rupa/z tj/git-extras aristocratos/bashtop JosefZIla/bash2048

This symlinks all executable scripts to a common directory. It does this for completion files and man pages as well

$ exa -l --no-permissions --no-filesize --no-user ~/.local/share/basalt/global/bin/
bash2048.sh -> .../.local/share/basalt/store/packages/github.com/JosefZIla/bash2048@.../bash2048.sh
bashtop -> .../.local/share/basalt/store/packages/github.com/aristocratos/bashtop@.../bashtop
git-alias -> .../.local/share/basalt/store/packages/github.com/tj/git-extras@.../bin/git-alias
git-archive-file -> .../.local/share/basalt/store/packages/github.com/tj/git-extras@.../bin/git-archive-file
...

To be able to access the binaries, completion files, and man pages in your shell, simply add a two-liner in your shell configuration. The installation script already does this for you

# ~/.bashrc
export PATH="${XDG_DATA_HOME:-$HOME/.local/share}/basalt/source/bin:$PATH"
eval "$(basalt global init bash)" # zsh and fish are also supported

NOTE: Basalt is currently BETA. There are known bugs that will be fixed. I highly recommended to wait until v1.0.0 before trying anything out

See Installation and Getting Started for more details

Features

  • Install most Bash/Zsh/Fish projects out of the box
  • Local Bash packages (Awk/Zsh/Fish/Ksh,Powershell coming later)
  • Custom builtins for Bash packages (not yet implemented)
  • Robust (lockfile usage, transaction rollback (not yet implemented), great error handling)
  • Bundle (bundle a project and its dependencies into a single file) (not yet implemented)

Ecosystem

Because of Basalt, I've been able to make

  • bash-object - Manipulate heterogenous data hierarchies in Bash
  • bake - A Bash-based Make alternative
  • shelltest - A test runner for POSIX shells

See the full list awesome-basalt

License

Original code is licensed under MIT by Juan Ibiapina. Modifications are licensed under BSD-3-Clause by Edwin Kofler

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].