/ddenv-ruby

Primary LanguageRubyMIT LicenseMIT

ddenv

ddenv (Denis’ Developer Environment) is a tool for maintaining a local environment for development.

Caution

This software is a pre-alpha work in progress. Do not use just yet.

Requirements

  • Homebrew
  • fish shell

Note

In the future, this will work for bash and zsh as well.

Quick start

Install it: brew install denisdefreyne/ddenv/ddenv.

Next, create a ddenv.yaml file which contains the list of dependencies to manage:

up:
  - homebrew: overmind
  - ruby: 3.3.0
  - bundle
  - node: 20.12.2
  - npm

Lastly, run ddenv up.

% ddenv up
┌ [|] up
├── [✔] Installing Homebrew package overmind       done (previously achieved)
├── [✔] Installing Homebrew package ruby-install   done (previously achieved)
├── [✔] Installing Ruby v3.3.0                     done (previously achieved)
├── [✔] Initializing Shadowenv                     done (previously achieved)
├── [✔] Creating .shadowenv.d                      done (previously achieved)
├── [✔] Adding .shadowenv.d to .gitignore          done (previously achieved)
├── [✔] Trusting .shadowenv.d                      done (previously achieved)
├── [✔] Adding Ruby to shadowenv                   done (previously achieved)
├── [✔] Installing Ruby gem bundler                done (previously achieved)
├── [|] Installing bundle                          working...
├── [|] Installing Homebrew package node-build     pending
├── [|] Installing Node v20.12.2                   pending
├── [|] Adding Node to shadowenv                   pending
└── [|] Installing npm packages                    pending

Now your local developer environment is ready to be used.

Goals

  • homebrew: PACKAGENAME installs the Homebrew package with the given name.
  • ruby installs Ruby (with the version specified in the .ruby-version file).
  • bundle runs bundle install.
  • node: VERSION installs the give Node.js version.
  • npm installs packages from package.json using npm.