All Projects β†’ mavcunha β†’ Grind

mavcunha / Grind

Licence: mit
Configure and maintain your machine

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Grind

Nexrender
πŸ“Ή Data-driven render automation for After Effects
Stars: ✭ 946 (+6657.14%)
Mutual labels:  automation, machine
Repoguard
RepoGuard is a software development tool which assists in a software project. Essentially, it is used to automatically perform checks on commit time to ensure that source code changes meet defined coding standards. On basis of the results, it can trigger other development tools like issue trackers or continuous integration systems and provide feedback on the results to the development team. RepoGuard already supports different open source development tools. It generally provides interfaces to easily add new checks or to integrate other tools.
Stars: ✭ 11 (-21.43%)
Mutual labels:  automation
Webpackery
Webpack 4 Orchestration Layer allows for automated async code splitting of anything
Stars: ✭ 26 (+85.71%)
Mutual labels:  automation
Koukku
Github Webhook server
Stars: ✭ 9 (-35.71%)
Mutual labels:  automation
Add Copyright
This is a Script to Automate adding the Copyright text to one or more source files Recursively.
Stars: ✭ 27 (+92.86%)
Mutual labels:  automation
Walkoff
A flexible, easy to use, automation framework allowing users to integrate their capabilities and devices to cut through the repetitive, tedious tasks slowing them down. #nsacyber
Stars: ✭ 855 (+6007.14%)
Mutual labels:  automation
Datacleaner
A Python tool that automatically cleans data sets and readies them for analysis.
Stars: ✭ 933 (+6564.29%)
Mutual labels:  automation
Gsc
Run guided scripts for command line demos.
Stars: ✭ 13 (-7.14%)
Mutual labels:  automation
Openapi3 Validator
Validator for OpenAPI v3 specs
Stars: ✭ 11 (-21.43%)
Mutual labels:  automation
Protractor Pretty Html Reporter
A jasmine reporter that produces an easy to use html report to analyze protractor test results.
Stars: ✭ 9 (-35.71%)
Mutual labels:  automation
Homeassistant
Example Home Assistant Configs
Stars: ✭ 846 (+5942.86%)
Mutual labels:  automation
Mycodo
An environmental monitoring and regulation system
Stars: ✭ 936 (+6585.71%)
Mutual labels:  automation
Touchdown
Cloud service orchestration framework for python
Stars: ✭ 10 (-28.57%)
Mutual labels:  automation
Ansiblecm
A Docker based Ansible control machine for running playbooks in a consistent environment.
Stars: ✭ 26 (+85.71%)
Mutual labels:  automation
Sooty
The SOC Analysts all-in-one CLI tool to automate and speed up workflow.
Stars: ✭ 867 (+6092.86%)
Mutual labels:  automation
Instagramfirstcommenter
This bot will post a predefined comment as fast as possible to a new post on the target profile. I used this to successfully win tickets for a big music festival.
Stars: ✭ 26 (+85.71%)
Mutual labels:  automation
Elodie
An EXIF-based photo assistant, organizer, manager and workflow automation tool.
Stars: ✭ 840 (+5900%)
Mutual labels:  automation
Pytorch Forecasting
Time series forecasting with PyTorch
Stars: ✭ 849 (+5964.29%)
Mutual labels:  machine
Create Component App
Tool to generate different types of React components from the terminal. πŸ’»
Stars: ✭ 879 (+6178.57%)
Mutual labels:  automation
Bash Toolkit
Este proyecto esΓ‘ destinado a ayudar a los sysadmin
Stars: ✭ 13 (-7.14%)
Mutual labels:  automation

Grind

grind is a tool to help you configure and maintain your machine. I wrote a blog post explaining why I created grind.

How to use it (short)

  1. Download or clone grind.
  2. Check the definitions directory and write your own definition.
  3. run ./grind update run

How to use it (long)

Bootstrap

grind provides a bootstrap command for a pre-setup for grind itself:

grind bootstrap run

This is a special definition and it should set and install the requirements from grind itself. On macOS it means installing XCode CLI Tools and Homebrew.

Update

grind update run is the daily command from grind, it will execute and run all definitions for current machine.

Definitions

All grind does is execute some functions in series defined in the definitions directory. Here's an example of a definition on macOS:

A simple definition

This definition will install git through homebrew if is not already installed.

use "brew"

brew_pkg "git"

A more complex definition

This definition will install vim thorugh homebrew if is not already installed, and configure some plugins and settings for vim.

use "brew"

brew_pkg "vim"

do_run "mkdir -p ${HOME}/.vim/bundle"
  unless_dir "${HOME}/.vim/bundle"

function install_bundles() {
  local bundles=("${!1}")
  for b in ${bundles[@]}; do
    local repo=${b}
    local target=${b#*/}

    do_run "git clone https://github.com/${repo}.git ${HOME}/.vim/bundle/${target}"
      unless_dir "${HOME}/.vim/bundle/${target}"
  done
}

vim_bundles=(
  'tpope/vim-pathogen'
  'tpope/vim-surround'
  'tpope/vim-unimpaired'
  'vim-ruby/vim-ruby')

install_bundles vim_bundles[@]

Definitions directory organization

First grind will load and execute whatever is in the global directory, these are assumed to be definitions to be applied to any machine.

After that grind will load scripts from the machines directory, where it will try to find a subdirectory with the machine name and from there load the scripts. These definitions are specific for each machine you want to maintain.

Documentation

Click here for more information.

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].