feat: init

This commit is contained in:
Nick 2025-03-29 23:08:26 -05:00
commit 96c6f790fc
804 changed files with 33411 additions and 0 deletions

1
templates/elm/.envrc Executable file
View file

@ -0,0 +1 @@
use flake

1
templates/elm/.gitignore vendored Executable file
View file

@ -0,0 +1 @@
.direnv

74
templates/elm/flake.lock generated Executable file
View file

@ -0,0 +1,74 @@
{
"nodes": {
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1730504689,
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1730785428,
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1730504152,
"narHash": "sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1720535198,
"narHash": "sha256-zwVvxrdIzralnSbcpghA92tWu2DV2lwv89xZc8MTrbg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "205fd4226592cc83fd4c0885a3e4c9c400efabb5",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable"
}
}
},
"root": "root",
"version": 7
}

30
templates/elm/flake.nix Executable file
View file

@ -0,0 +1,30 @@
{
description = "Elm Environment";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-23.11";
};
outputs = inputs @ {
flake-parts,
self,
...
}: let
system = "x86_64-linux";
in
flake-parts.lib.mkFlake {inherit inputs;} {
imports = [
./parts
];
systems = [
system
];
perSystem = {pkgs, ...}: {
_module.args.pkgs = import inputs.nixpkgs {
inherit system;
};
_module.args.pkgs-stable = import inputs.nixpkgs-stable {
inherit system;
};
};
};
}

View file

@ -0,0 +1,33 @@
{
pkgs,
pkgs-stable,
...
}:
{
devShells = {
default = pkgs.mkShell {
packages = builtins.attrValues {
inherit (pkgs)
age
just
nil
nixd
sops
ssh-to-age
nixfmt-rfc-style
;
inherit (pkgs-stable.elmPackages)
elm
elm-format
elm-land
elm-language-server
elm-review
elm-test
;
inherit (pkgs.haskellPackages)
nixfmt
;
};
};
};
}

20
templates/elm/parts/default.nix Executable file
View file

@ -0,0 +1,20 @@
{
perSystem = {
pkgs,
lib,
config,
self',
...
}: let
configPath = ./config;
devshellImports = let
files = builtins.attrNames (builtins.readDir configPath);
in
map
(name: configPath + "/${name}")
(builtins.filter (name: builtins.match ".*\\.nix$" name != null) files);
in {
imports = devshellImports;
};
}