Tool to equip your shell with the things you need.
This is a sort of package manager, the packages for which can specify to install files under your $HOME
, to use the system package manager to install system packages, or to use another package system such as npm/yarn. System packages will be installed when privleges are available, otherwise instructions will be generated which a privledged user can follow to install them.
Equip is intended to be compatible with a $HOME
which is synchronized across several computers (e.g. with Unison) not necessarily running the same host OS.
This is a spinoff of my effort to simplify replicating my personal setup on new computers and temporary VMs, as well as to share useful solutions with whomever may benefit. It separates the mechanisms used for replication from the tools and configurations to be replicated.
Because packages may include information about installing system packages, it is possible for a repository to not support for some systems which are supported by Equip itself, or for a package to represent functionality which is not available on some systems which are otherwise supported. It is not possible to provide a universal solution to this problem, so even supported systems may not always behave as expected.
Primary development is done on MacOS, where MacPorts is used as a system package manager. Support of MacOS is beginning to be implemented.
Testing will be done on at least OpenSUSE and CentOS, and maybe be done on other Linux distributions. Support of Linux distributions is currently nonexistent, is planned for at least 2 distributions, and may be expanded.
Testing will be done on Windows with Cygwin
Once implemented, you'll be able to "equip" a shell on MacOS, some Linuxes, and Cygwin with this command:
curl -f -# https://raw.githubusercontent.com/Polyergic/Equip/master/bin/equip-bootstrap | bash
This will install all necessary system packages, and do some rearranging of your shell configuration files to make them modular and ensure that installed tools are in your path. On MacOS this will install MacPorts, use it to install some of the necessary "system" packages, and override some native BSD-style commands with their GNU counterparts.
New work in this repository is licensed under AGPLv3 (see file LICENSE
):
Equip - Tool to equip your shell with the things you need.
Copyright (c) 2017 Shad SterlingThis program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Adopted and derived portions are used under their original license:
- For any directory containing another
LICENSE
file, all files and subdirectories not containing yet anotherLICENSE
file are licensed by the copyrightholder under the license therein. - For sections within files that are attributed to a source (and large enough to be subject to copyright), the section falls under the license given in the attribution or specified at the source URL.
- Many of these are adaptations of answers on Stack Exchange sites, all of which are licensed under CC BY-SA 3.0
Please create issues in this repository to report any errors in licensing or attribution.