2025-09-02 22:16:59 +10:00
|
|
|
{
|
2025-09-03 00:00:42 +10:00
|
|
|
description = "devshell-dorne";
|
2025-09-02 22:16:59 +10:00
|
|
|
|
|
|
|
|
inputs = {
|
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
|
|
|
|
|
};
|
|
|
|
|
|
2025-09-03 00:00:42 +10:00
|
|
|
outputs = inputs @ {
|
2025-09-02 22:16:59 +10:00
|
|
|
self,
|
|
|
|
|
nixpkgs,
|
|
|
|
|
}: let
|
2025-09-03 00:00:42 +10:00
|
|
|
defaultSystems = ["aarch64-darwin" "aarch64-linux" "i686-linux" "x86_64-darwin" "x86_64-linux"];
|
2025-09-02 22:16:59 +10:00
|
|
|
|
2025-09-03 00:00:42 +10:00
|
|
|
# forAllSystems = f: nixpkgs.lib.genAttrs defaultSystems (system: f system);
|
|
|
|
|
forAllSystems = f:
|
|
|
|
|
nixpkgs.lib.mapAttrs (nixpkgs.lib.genAttrs defaultSystems (system:
|
|
|
|
|
f system (import nixpkgs {
|
|
|
|
|
inherit system;
|
|
|
|
|
overlays = [self.overlay];
|
|
|
|
|
})));
|
2025-09-02 22:16:59 +10:00
|
|
|
in {
|
2025-09-03 00:00:42 +10:00
|
|
|
overlays.default = final: prev: {
|
|
|
|
|
dorne = final.haskellPackages.developPackage {
|
2025-09-02 22:16:59 +10:00
|
|
|
root = ./.;
|
|
|
|
|
modifier = drv:
|
2025-09-03 00:00:42 +10:00
|
|
|
final.haskell.lib.addBuildTools drv (with final.haskellPackages; [
|
2025-09-02 22:16:59 +10:00
|
|
|
cabal-install
|
|
|
|
|
ghcid
|
|
|
|
|
]);
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-09-03 00:00:42 +10:00
|
|
|
|
|
|
|
|
devShells = forAllSystems (
|
|
|
|
|
system: pkgs: {
|
|
|
|
|
default = pkgs.mkShell {
|
|
|
|
|
packages = with pkgs; [
|
|
|
|
|
gnumake
|
|
|
|
|
bear
|
|
|
|
|
gcc
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
shell = "${pkgs.bash}/bin/bash";
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
checks = self.packages;
|
|
|
|
|
packages = forAllSystems (system: pkgs: rec {
|
|
|
|
|
default = dorne;
|
|
|
|
|
dorne = pkgs.dorne;
|
|
|
|
|
});
|
2025-09-02 22:16:59 +10:00
|
|
|
};
|
|
|
|
|
}
|