Dorothy, a dotfile ecosystem [CampJS 2023]
Channel: Benjamin Lupton
Date: 26/03/2024

Dorothy — https://dorothy.bevry.me — is comprised of three parts:

1. Commands that streamline everyday interactions with your machine, such as keeping your system and its packages updated, securely managing environment secrets, correctly configuring secure DNS, as well as for managing ecosystems like homebrew, snap, flatpak, node, python, ruby, go, rust, etc.

2. Commands that streamline the authorship of your own dotfile commands, such as processing inputs and outputs, handling colours and quite mode, managing configurations.

3. An initialisation script that will ensure your environment is correctly configured and adapted to your machine and its installed utilities, supporting Bash, Zsh, Fish, and Nushell.

All this with cross-shell, cross-os, and cross-architecture portability, enabling interchangeability between such.

## ABOUT THE SPEAKER

Benjamin Lupton built hundreds of npm packages that together get 500 million installs a month. The past few years he has been primarily working on Dorothy.
https://github.com/sponsors/balupton
https://github.com/balupton
https://balupton.com

## CHAPTERS

0:00 INTRO: basic & advanced use cases
5:00 BASICS: terminal, shell, before & after dorothy
12:00 SHOWCASE: what dorothy can do
19:10 SHOWCASE: setup-dns
22:00 SHOWCASE: setup-ssh
23:00 SHOWCASE: edit
24:50 SHOWCASE: secret
27:00 SHOWCASE: mount-helper
32:20 SHOWCASE: youtube download helper
34:00 SHOWCASE: cpr (sync/copy), down, echo commands, eval-helper
38:30 SHOWCASE: setup-utils --configure
42:50 CORE: dorothy installer
45:00 CORE: init script
47:47 CORE: setup-environment-commands
50:50 CORE: user configuration
1:00:50 DEV: developing with dorothy
1:05:20 DEV: writing a new dorothy command with user input and multiple choices
1:13:30 DEV: advanced error handling in bash
1:14:30 DEV: dorothy command stdin arguments
1:20:00 DEV: dorothy testing framework
1:20:10 DEV: transform commands, eg. echo-lowercase
1:29:45 DEV:docs / error handling / bash safe mode
1:34:40 DEV: dorothy installers structure / setup-util-curl; setup-util-bash
1:38:19 audience questions
1:41:10 CI tests question

## CREDITS
Thumbnail includes console by Adrien Coquet from Noun Project (CC BY 3.0)
https://thenounproject.com/browse/icons/term/console/

Timestamps provided by @HjalmarGuitarMaster