Initial commit after template instantiation
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
# flakes/lua-dev/flake.nix — Lua dev flake
|
||||
{
|
||||
description = "Dev shell and template for Lua projects";
|
||||
inputs.nixpkgs.url = "github:NixOS/nixpkgs";
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
}: let
|
||||
supportedSystems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
forEachSupportedSystem = f:
|
||||
nixpkgs.lib.genAttrs supportedSystems (
|
||||
system:
|
||||
f {
|
||||
pkgs = import nixpkgs {inherit system;};
|
||||
}
|
||||
);
|
||||
in {
|
||||
formatter = forEachSupportedSystem ({pkgs, ...}: pkgs.stylua);
|
||||
|
||||
devShells = forEachSupportedSystem (
|
||||
{pkgs}: {
|
||||
default = pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
lua
|
||||
stylua
|
||||
nix
|
||||
alejandra
|
||||
statix
|
||||
deadnix
|
||||
git
|
||||
gnumake
|
||||
|
||||
editorconfig-checker
|
||||
|
||||
pre-commit
|
||||
];
|
||||
shellHook = ''
|
||||
if [ ! -d .git ]; then
|
||||
git init
|
||||
echo "✓ Initialized git repository"
|
||||
fi
|
||||
|
||||
echo "[lua-dev-template] Welcome to the Lua dev shell!"
|
||||
echo "Tools: lua, stylua, alejandra, statix, deadnix, git
|
||||
gnumake"
|
||||
echo "See README.md for usage."
|
||||
'';
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
packages = forEachSupportedSystem (
|
||||
{pkgs}: {
|
||||
default = pkgs.writeShellScriptBin "sample-lua-app" ''
|
||||
exec ${pkgs.lua}/bin/lua ${./src/main.lua}
|
||||
'';
|
||||
|
||||
dev-helper = pkgs.writeShellScriptBin "dev-helper" ''
|
||||
echo "Lua Development Environment"
|
||||
echo "====================================="
|
||||
echo "Lua version: $(lua -v 2>&1 || echo not found)"
|
||||
'';
|
||||
}
|
||||
);
|
||||
|
||||
apps = forEachSupportedSystem (
|
||||
{pkgs}: {
|
||||
default = {
|
||||
type = "app";
|
||||
program = pkgs.lib.getExe self.packages.${pkgs.system}.default;
|
||||
};
|
||||
dev-helper = {
|
||||
type = "app";
|
||||
program = pkgs.lib.getExe self.packages.${pkgs.system}.dev-helper;
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
templates.default = {
|
||||
path = ./.;
|
||||
description = "Minimal Lua project";
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user