about summary refs log blame commit diff stats
path: root/templates.nix
blob: 0ba4e7720bc7317e21d1b84d18d6a69e4c720bfa (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13

                                   
                           







                                                                 
                                                                     
 
                  
                                                                                                        
                                 
     
    
                                             
                                                       
 
                                
 
                                                      
                                                                                  
     


                                                                                  
                          
                                            
 
                                    
 
{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";
}