# tools

This repository contains latest version of useful utilities with patches that
not included in official repositories.

# Usage

## As package

```sh
nix build git+https://git.pleshevski.ru/mynix/tools#<name>
```

## As one-time executable application

```sh
nix run git+https://git.pleshevski.ru/mynix/tools#<name>
```

## Using nix-profile

```sh
nix profile install git+https://git.pleshevski.ru/mynix/tools#<name>
```

## As overlay for your flake

```
{
  inputs.tools.url = "git+https://git.pleshevski.ru/mynix/tools";

  outputs = { nixpkgs, tools }:
    let
      system = builtins.currentSystem;
      overlays = [ tools.overlays.all ];
      pkgs = import nixpkgs { inherit system overlays; };
    in
    {
      devShells = {
        default = pkgs.mkShell {
          # now you can use any tools
          packages = with pkgs; [ d2 ];
        };
      };
    };
}
```

# d2

_D2 is a modern diagram scripting language that turns text to diagrams._

References:

- [https://d2lang.com](https://d2lang.com)
- [https://github.com/terrastruct/d2](https://github.com/terrastruct/d2)
- [https://github.com/terrastruct/TALA](https://github.com/terrastruct/TALA)

Packages:

- **d2**: Base d2 cli tool
- **d2-full** (**UNFREE**): Full d2 cli tool with d2plugin-tala
- **d2plugin-tala** (**UNFREE**): A diagram layout engine designed specifically
  for software architecture diagrams
- **wd2**: A wrapper over d2 which allows to use additional configs from d2 file

# FawltyDeps

_Python dependency checker._

References:

- [https://github.com/tweag/FawltyDeps](https://github.com/tweag/FawltyDeps)

# Volar

_High-performance Vue language tooling based-on Volar.js_

References:

- [https://github.com/vuejs/language-tools](https://github.com/vuejs/language-tools)