This document describes the module options for mfgames-project-setup-flake.
mfgames.project.enable
Whether to enable MfGames Project Setup.
Type: boolean
Default:
false
Example:
true
mfgames.project.conform.enable
Enables using conform for linting Git commits.
Type: boolean
Default:
false
mfgames.project.conform.scopes
The scopes the project is limited to use, or null to allow all scopes.
Type: null or (list of string)
Default:
null
mfgames.project.contributorCovenant.enable
Enables writing out a contribuator covenant file.
Type: boolean
Default:
false
mfgames.project.contributorCovenant.contact
The email address to contact for violations.
Type: string
mfgames.project.developerCertificateOfOrigin.enable
Enables writing out a DCO.md file.
Type: boolean
Default:
false
mfgames.project.dotnet.enable
Enables writing out a DCO.md file.
Type: boolean
Default:
false
mfgames.project.dotnet.csharp.enable
Enables C# formatting and linting configuration.
Type: boolean
Default:
false
mfgames.project.dotnet.csharp.analyzers
Enables running ‘dotnet format analyzers’ on C# files.
Type: boolean
Default:
false
mfgames.project.dotnet.csharp.format
Selects the C# formatter to use.
Type: one of “none”, “csharpier”, “dotnet”
Default:
"csharpier"
mfgames.project.dotnet.csharp.style
Enables running ‘dotnet format style’ on C# files.
Type: boolean
Default:
false
mfgames.project.javascript.enable
Enables formatting JavaScript and TypeScript files with prettier.
Type: boolean
Default:
false
mfgames.project.javascript.format
Enables formatting JavaScript files with prettier.
Type: boolean
Default:
false
mfgames.project.just.enable
Generates a missing top-level Justfile with common defaults and adds a
src/just/mfgames-project-setup.just with rules based on other configuration
settings. This is based on D. Moonfire’s
Project Layout setup.
Type: boolean
Default:
false
mfgames.project.just.extraTargets
Additional targets to add to the generated Just file.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
build-docs = {
description = "Documents the options for the flake module.";
group = "development";
text = ''
local-generate-docs
'';
};
}
mfgames.project.just.extraTargets.<name>.description
The optional description for the target.
Type: null or string
Default:
null
mfgames.project.just.extraTargets.<name>.group
The optional group for the Just target.
Type: null or string
Default:
null
mfgames.project.just.extraTargets.<name>.text
The text inside the target block.
Type: strings concatenated with “\n”
Example:
''
echo example
''
mfgames.project.just.format
Enables using ‘just –fmt –unstable’ to format the just file.
Type: boolean
Default:
true
mfgames.project.just.generate
Generate the top-level Justfile if not present.
Type: boolean
Default:
true
mfgames.project.prettier.enable
Enables using prettier to format files.
Type: boolean
Default:
false
mfgames.project.prettier.proseWrap
Sets the default for wrapping prose.
Type: one of “preserve”, “always”, “never”
Default:
"preserve"
mfgames.project.project-uuid.enable
Generate a .config/project-uuid.txt if missing.
Type: boolean
Default:
false
mfgames.project.reuse.enable
Enables using REUSE for license management and checking.
Type: boolean
Default:
false
mfgames.project.reuse.annotations
Additional annotations to add to the top-level REUSE.toml block. See the REUSE specification for more information.
Type: list of (open submodule of attribute set of anything)
Default:
[ ]
Example:
[
{
SPDX-FileCopyrightText = "2026 Dylan Moonfire <contact@mfgames.com>";
SPDX-License-Identifier = "CC-BY-4.0";
path = [
"README.md"
"TASKS.md"
];
}
{
SPDX-FileCopyrightText = "2026 Dylan Moonfire <contact@mfgames.com>";
SPDX-License-Identifier = "MIT";
path = "src/**/*";
}
]
mfgames.project.reuse.ignore-dot-config
Annotate the REUSE description of everything in the .config/ directory as having no copyright (NONE) and public domain (CC0-1.0).
Type: boolean
Default:
true
mfgames.project.rust.enable
Enables writing out Rust support files.
Type: boolean
Default:
false
mfgames.project.shell.enable
Enables formatting and checking shell files.
Type: boolean
Default:
false
mfgames.project.shell.check
Runs shellcheck against all shell files.
Type: boolean
Default:
false
mfgames.project.shell.excludes
Lists exclude match patterns, globbing including **, to check or format.
Type: list of string
Default:
[ ]
mfgames.project.shell.format
Formats shells according to shfmt.
Type: boolean
Default:
false
mfgames.project.shell.includes
Lists include match patterns, globbing including **, to check or format.
Type: list of string
Default:
[
"*.sh"
]
mfgames.project.sql.enable
Enables formatting of SQL files.
Type: boolean
Default:
false
mfgames.project.sql.excludes
Lists exclude match patterns, globbing including **, to check or format.
Type: list of string
Default:
[ ]
mfgames.project.sql.format
Formats SQL scripts according to sql-formatter.
Type: boolean
Default:
false
mfgames.project.sql.includes
Lists include match patterns, globbing including **, to check or format.
Type: list of string
Default:
[
"*.sql"
]
mfgames.project.sql.language
Sets the language for formatting the SQL.
Type: one of “bigquery”, “db2”, “db2i”, “duckdb”, “hive”, “mariadb”, “mysql”, “n1ql”, “plsql”, “postgresql”, “redshift”, “spark”, “sqlite”, “sql”, “tidb”, “trino”, “transactsql”, “tsql”, “singlestoredb”, “snowflake”
Default:
"sql"
mfgames.project.treefmt.enable
Enables writing out a treefmt.toml file.
Type: boolean
Default:
false
mfgames.project.treefmt.extraFormatters
Additional formatter blocks to add to the generated treefmt.toml file.
Type: attribute set of attribute set of anything
Default:
{ }
Example:
{
nix = {
command = "nixfmt";
includes = [
"*.nix"
];
};
}
mfgames.project.typescript.enable
Enables TypeScript support.
Type: boolean
Default:
false
mfgames.project.typescript.format
Enables formatting TypeScript files with prettier.
Type: boolean
Default:
false