A flake for setting up common mfgames-writing setups.
  • Nix 92.4%
  • Just 7.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-06 22:52:03 -05:00
.config chore: updating website metadata 2026-09-22 23:37:52 -05:00
LICENSES feat!: switched to flake-parts and NixOS-style options 2026-04-16 17:46:15 -05:00
news docs: fixed URL for source (again) 2026-04-16 17:51:57 -05:00
src/nix fix: bumping flake inputs 2026-10-06 22:52:03 -05:00
.editorconfig fix: updating mfgames-project-setup-flake 2026-10-05 14:18:56 -05:00
.envrc feat: initial commit 2024-01-30 14:44:31 -06:00
.gitignore feat!: switched to flake-parts and NixOS-style options 2026-04-16 17:46:15 -05:00
.prettierignore feat!: switched to flake-parts and NixOS-style options 2026-04-16 17:46:15 -05:00
CODE_OF_CONDUCT.md feat: bumping nixos and dependency packages 2025-01-07 23:43:59 -06:00
flake.lock fix: bumping flake inputs 2026-10-06 22:52:03 -05:00
flake.nix fix: bumping flake inputs 2026-10-06 22:52:03 -05:00
Justfile fix: updating mfgames-project-setup-flake 2026-10-05 14:18:56 -05:00
README.md docs: using the right project ID 2025-02-22 21:09:01 -06:00
REUSE.toml feat!: switched to flake-parts and NixOS-style options 2026-04-16 17:46:15 -05:00

MfGames Writing Setup Flake

An opinionated setup for projects using MfGames Writing.

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

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

Nix

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

{
  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.