mfgames-writing-setup-flake/README.md

49 lines
1.6 KiB
Markdown
Raw Normal View History

2024-01-30 20:43:34 +00:00
# MfGames Writing Setup Flake
_An opinionated setup for projects using MfGames Writing._
2025-01-13 02:09:44 +00:00
This is a setup flake that adds in the various packages used by [MfGames Writing Tools](https://mfgames.com/mfgames-writing-js/) such as `pdftk`, `weasyprint`, and other libraries.
It is intended to be used along with [mfgames-project-setup](https://mfgames.com/mfgames-project-setup-flake/) to provide additional functionality.
2025-01-13 00:36:48 +00:00
## Nix
This project is intended to be used with [Nix](https://nixos.wiki/wiki/Flakes) flakes and can be used directly as an input.
```nix
{
inputs = {
mfgames-project-setup.url = "git+https://src.mfgames.com/nixos-contrib/mfgames-project-setup-flake.git";
mfgames-writing-setup.url = "git+https://src.mfgames.com/nixos-contrib/mfgames-writing-setup-flake.git";
};
}
```
This flake provides a function in `mfgames-writing-setup.lib.mkConfig` that
creates a shell hook and the various tools required to run those hooks (because
programs like `lefthook` assume that the program is in the `PATH`).
```nix
devShell =
let
project-config = mfgames-project-setup.lib.mkConfig {
inherit system;
prettier.proseWrap = "never"; # Used to avoid line wrapping at 80 columns
};
writing-config = mfgames-writing-setup.lib.mkConfig {
inherit system;
};
in
pkgs.mkShell {
packages = [ ]
++ project-config.packages
++ writing-config.packages;
shellHook = project-config.shellHook;
};
```
2024-01-30 20:43:34 +00:00
## Configuration
2025-01-13 00:36:48 +00:00
There are currently no configuration options with this flake, but the project setup flake contains some options.