{ description = "A collection of nix flake templates"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; flake-utils = { url = "github:numtide/flake-utils"; inputs = { systems.follows = "systems"; }; }; systems = { url = "github:nix-systems/x86_64-linux"; # only evaluate for this system }; }; outputs = { nixpkgs, flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages."${system}"; in { devShells.default = pkgs.mkShell { packages = with pkgs; [ nil alejandra statix ltex-ls cocogitto ]; }; }) // { templates = { rust = { path = ./rust; description = "A Rust/Crane project"; welcomeText = "Please customize the text in the flake.nix and LICENSE.spdx files; Look at the TODO marks.\n Also run `git init`, `cargo init` and `cog install-hook commit-msg`"; }; c = { path = ./rust; description = "A C project"; welcomeText = "Please customize the text in the flake.nix, LICENSE.spdx files and the Makefile BIN_NAME variable; Look at the TODO marks.\n Also run `git init` and `cog install-hook commit-msg`"; }; awk = { path = ./awk; description = "An Awk project"; welcomeText = "Please customize the text in the flake.nix and LICENSE.spdx files; Look at the TODO marks.\n Also run `git init` and `cog install-hook commit-msg`"; }; shell = { path = ./shell; description = "A Shell project"; welcomeText = "Please customize the text in the flake.nix and LICENSE.spdx files; Look at the TODO marks.\n Also run `git init` and `cog install-hook commit-msg`"; }; markdown = { path = ./markdown; description = "A Markdown project"; welcomeText = "Please customize the text in the flake.nix and LICENSE.spdx files; Look at the TODO marks.\n Also run `git init` and `cog install-hook commit-msg`"; }; latex = { path = ./latex; description = "A LaTeX project"; welcomeText = "Please customize the text in the flake.nix and LICENSE.spdx files; Look at the TODO marks.\n Also run `git init` and `cog install-hook commit-msg` and look at `lpm`"; }; }; }; } # vim: ts=2