Compare commits

...

3 Commits

Author SHA1 Message Date
jsz4n
c1170bcf7c update flake with haskell 2024-03-04 17:00:27 +01:00
jsz4n
58be8fc605 first haskell template 2024-02-06 13:15:06 +01:00
jsz4n
580651eb55 first elm template 2024-02-06 13:14:30 +01:00
5 changed files with 88 additions and 0 deletions

19
elm/flake.nix Normal file
View File

@@ -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 {};
});
};
}

18
elm/shell.nix Normal file
View File

@@ -0,0 +1,18 @@
{ pkgs ? import <nixpkgs> {}}:
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 = ''
'';
}

View File

@@ -20,6 +20,11 @@
description = "Simple vlang template";
};
haskell = {
path = ./haskell;
description = "Simple haskell template";
};
};
};

33
haskell/flake.nix Normal file
View File

@@ -0,0 +1,33 @@
{
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});
stack-wrapped = pkgs.symlinkJoin {
name = "stack"; # will be available as the usual `stack` in terminal
paths = [ pkgs.stack ];
buildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/stack \
--add-flags "\
--no-nix \
--system-ghc \
--no-install-ghc \
"
'';
};
in
{
devShells = forAllSystems (system: {
default = pkgs.${system}.callPackage ./shell.nix {};
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath self.default.buildInputs;
});
};
}

13
haskell/shell.nix Normal file
View File

@@ -0,0 +1,13 @@
{ pkgs ? import <nixpkgs> {}}:
pkgs.mkShell rec {
buildInputs = with pkgs; [
haskell.compiler.ghc96
haskellPackages.cabal-install
haskellPackages.stack
]
;
shellHook = ''
'';
}