MfGames Writing Setup Flake

Up a Level

News

2025-01-11 Updated to NixOS 24.11
2025-01-11 Updated to NixOS 25.05
Blog Archives

Introduction

An opinionated setup for projects using MfGames Writing.

This is a setup flake that adds in the various packages used by MfGames Writing Tools[1] such as `pdftk`, `weasyprint`, and other libraries.

1: https://mfgames.com/mfgames-writing-js/

It is intended to be used along with mfgames-project-setup[2] to provide additional functionality.

2: https://mfgames.com/mfgames-project-setup-flake/

Nix

This project is intended to be used with Nix[3] flakes and can be used directly as an input.

3: https://nixos.wiki/wiki/Flakes
{
  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`).

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;
  };

Configuration

There are currently no configuration options with this flake, but the project setup flake contains some options.

Metadata

Project:

Home

- Project ID: 019530c5-8880-77e3-9e41-83db8b5a49ba</li>

Categories:

MfGames Writing Setup Flake

Footer

Below are various useful links within this site and to related sites (not all have been converted over to Gemini).

Categories
D. Moonfire
Fedran
The Moonfires
HTML
Atom Feed