A flake for setting up common mfgames-writing setups.
Find a file
2025-01-12 20:09:44 -06:00
news feat: updated to nixos-25.11 2025-01-12 18:29:42 -06:00
.editorconfig feat: initial commit 2024-01-30 14:44:31 -06:00
.envrc feat: initial commit 2024-01-30 14:44:31 -06:00
.gitignore feat: bumping nixos and dependency packages 2025-01-07 23:43:59 -06:00
.prettierignore feat: bumping nixos and dependency packages 2025-01-07 23:43:59 -06:00
CODE_OF_CONDUCT.md feat: bumping nixos and dependency packages 2025-01-07 23:43:59 -06:00
flake.lock feat: updated to nixos-25.11 2025-01-12 18:29:42 -06:00
flake.nix feat: bumping nixos and dependency packages 2025-01-07 23:43:59 -06:00
README.md docs: updating read me 2025-01-12 20:09:44 -06: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.