about summary refs log tree commit diff stats
path: root/templates.nix
blob: 0ba4e7720bc7317e21d1b84d18d6a69e4c720bfa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{lib}: let
  mkTemplate = name: welcomeText: {
    inherit welcomeText;
    path = ./build/${name};
    description = let
      first_char_of_name =
        builtins.elemAt (lib.strings.stringToCharacters name) 0;
      a_or_an =
        if builtins.elem first_char_of_name ["a" "e" "i" "o" "u"]
        then "An"
        else "A";
    in "${a_or_an} ${name} project";
  };
  mkDefaultTemplate = name: mkTemplate name defaultText;
  mkAddedTemplate = name: text: mkTemplate name (defaultText + text);

  defaultText = ''
    Just run `chmod +x ./init && ./init` and follow the directions. Otherwise, you could also change the
    `%INIT_*` variables yourself.
  '';
in {
  # Please sort the templates alphabetically:
  # a b c d e f g h i j k l m n o p q r s t u v w x y z

  awk = mkDefaultTemplate "awk";
  c = mkDefaultTemplate "c";

  latex_academia = mkAddedTemplate "latex/academia" ''
    Also **grep** for TODO marks after the `init` run and change them accordingly!
    Furthermore, please take a look at `lpm`.
  '';
  latex_letter = mkAddedTemplate "latex/letter" ''
    Also **grep** for TODO marks after the `init` run and change them accordingly!
    Furthermore, please take a look at `lpm`.
  '';

  # Currently unmaintained
  # markdown = mkDefaultTemplate "markdown";
  # python = mkDefaultTemplate "python";

  rust = mkDefaultTemplate "rust";
  shell = mkDefaultTemplate "shell";
}