A wrapper over d2 which allows to use additional configs from d2 file
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Dmitriy Pleshevskiy 82d99a485c
add support of flag
Closes #1
1 week ago
.gitignore fix ignoring generated by nix 3 months ago
README.md add support of flag 1 week ago
flake.lock add support of flag 1 week ago
flake.nix initial commit 4 months ago
wd2 add support of flag 1 week ago


Wrapped d2

A wrapper over d2 which allows to use cli/env configuratios as additional specific attributes from d2 file. All these attributes will be passed to the d2 cli and overwrite cli parameters with the same name.


Nix Flake

This repo is also packaged via Nix flakes, the package is available through the default flake output github:pleshevskiy/wd2 with the path bin/wd2.

You can enable flakes support in your nix configuration, and then run nix profile install github:pleshevskiy/wd2 to get wd2 installed. You can also use this repository as a flake input and add its output to your own flake-managed systemwide or home configuration.


Copy wd2 script to /usr/local/bin folder.


Create a d2 file with additional configs at the top.

# layout: elk
# theme: 101
# pad: 5

x -> y -> z

Then run the wd2 script

wd2 -w path/to/your/file.d2

You can also use inline style to configure d2

# layout: elk; theme: 101; pad: 5

x -> y -> z

Supported configurations

  • port
  • layout
  • theme
  • dark-theme
  • pad
  • sketch
  • force-appendix
  • center


You have to restart the watch server when you change the layout, theme, pad and other attributes in a specified d2 file