项目作者: azohra

项目描述 :
Stay strapped
高级语言: Shell
项目地址: git://github.com/azohra/strapped.sh.git
创建时间: 2018-11-16T21:51:20Z
项目社区:https://github.com/azohra/strapped.sh

开源协议:MIT License

下载


logo

Build StatusLicenseIssues


Introduction

Strapped.sh aims to be a universal platform for computer configuration management. Written purely in sh
and having no physical dependancies, Strapped.sh maintains a minimal footprint by operating as a SaaS which remotely
sources the files it needs on demand.

At a high level view, Strapped.sh acts as a console command orchestrator. These commands are implemented by something we
call straps. Simply write a yml configuration file containing any number of these straps and let Strapped.sh do the rest.

An example of a full computer configuration file can be seen here.

🔫 #StayStrapped

Installation

To install strapped.sh, simply run this command:

  1. curl -s https://stay.strapped.sh | sh

Upgrading strapped.sh can be done by re-running the installation command above or in the following way:

  1. strapped --upgrade

Here are all the command-line flags for strapped.sh (if that’s your thing):

  1. Usage: strapped [flags]
  2. flags:
  3. -u, --upgrade upgrade strapped to the latest version
  4. -v, --version print the current strapped version
  5. -a, --auto do not prompt for confirmation
  6. -y, --yml path to a valid strapped yml config [type: file path or url]
  7. -s, --straps run a subset of your config. Comma seperated
  8. -h, --help prints this message

Usage

To strap your computer, simply run strapped and point to your strap config file with the -y or --yml flag

  1. strapped -y my_config.yml

You can even pass the URL to a remotely stored config file!

  1. strapped -y https://www.example.com/my_config.yml

About Configuration Files

Configuration files are used as a blueprint for your computer’s configuration. These files are composed of various straps
which each serve different purposes. Straps themselves are implemented by routines that form the functionality of the strap.

Lets take a look at a config file:

  1. # You must specify the repo that strapped.sh will source its straps from
  2. # this can be in the form of a URL or a link to a local repo.
  3. # By default, straps will be sourced from this repository, but you can link
  4. # strapped to any repo that implements strapped functionality.
  5. strapped:
  6. repo: https://raw.githubusercontent.com/azohra/strapped/master/straps
  7. # Use the brew strap (specifically v0.1.0) to tap taps and install packages and casks
  8. brew:
  9. version: v0.1.0
  10. # Tap routine
  11. taps:
  12. - { name: homebrew/core }
  13. # Packages routine
  14. packages:
  15. - { name: terraform }
  16. # Casks routine
  17. casks:
  18. - { name: visual-studio-code }
  19. # Use the git strap to clone repos into a specific directory.
  20. # Since we have not specified a strap version it will search for the
  21. # latest version in the globally specified strapped repo
  22. git:
  23. clone:
  24. - { repo: git@github.com:kelseyhightower/nocode.git, folder: ~/repos }
  25. # Install vscode extensions using latest version of the visual_studio_code strap
  26. visual_studio_code:
  27. extensions:
  28. - { name: PKief.material-icon-theme }

The complete list of straps and their usage can be found here.

Contributing

We are open to anyone contributing to this repo. Please ensure you follow the code of conduct.

If you wish to contribute and don’t know where to start, check out the issues
section for inspiration.

License

Strapped.sh is licensed under the MIT license.


Made with :heart: by Azohra