diff --git a/elm/flake.nix b/elm/flake.nix new file mode 100644 index 0000000..7334fad --- /dev/null +++ b/elm/flake.nix @@ -0,0 +1,19 @@ +{ + description = "A very basic Haskell flake"; + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + }; + + + outputs = { self, nixpkgs, ...}: + let + supportedSystems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; + pkgs = forAllSystems (system: nixpkgs.legacyPackages.${system}); + in + { + devShells = forAllSystems (system: { + default = pkgs.${system}.callPackage ./shell.nix {}; + }); + }; +} diff --git a/elm/shell.nix b/elm/shell.nix new file mode 100644 index 0000000..a2c09ec --- /dev/null +++ b/elm/shell.nix @@ -0,0 +1,18 @@ + +{ pkgs ? import {}}: + +pkgs.mkShell rec { + buildInputs = with pkgs; [ + caddy + elmPackages.elm + elmPackages.elm-format + elmPackages.elm-optimize-level-2 + elmPackages.elm-review + elmPackages.elm-test + nodejs_18 + shellcheck + ] + ; + shellHook = '' + ''; + }