# This file specifies which files in the `./common` directory should be copied to which # template in `./templates` let programmingLanguages = [ "awk" "c" "rust" "shell" ]; allLanguages = programmingLanguages ++ [ "latex" ]; mkName = name: "./${name}"; mkBase = name: langs: { "${mkName name}" = langs; }; mkLang = name: lang: let realLang = if builtins.elem lang allLanguages then lang else builtins.throw "${lang} is not a recognized language!"; in mkBase name [realLang]; mkProgramming = name: mkBase name programmingLanguages; mkAll = name: mkBase name allLanguages; in {} // (mkAll ".licensure.yml") // (mkAll "init") // (mkAll "scripts/renew_copyright_header.sh") // (mkAll "shell_line_editor.sh") // (mkAll "treefmt.nix") // (mkProgramming "docs/TODO.1.md")