68 lines
2.2 KiB
Nix
68 lines
2.2 KiB
Nix
{
|
|
description = "rauhala.info";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
easy-hls = {
|
|
url = "github:jkachmar/easy-hls-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = { self, nixpkgs, flake-utils, easy-hls }:
|
|
{
|
|
overlay = final: prev: {
|
|
deploy-rauhala-info = with final; runCommand "deploy-rauhala-info.sh" { inherit bash ipfs; }
|
|
''
|
|
mkdir -p $out/bin/
|
|
substituteAll ${./support/deploy-rauhala-info.sh} $out/bin/deploy-rauhala-info.sh
|
|
chmod u+x $out/bin/deploy-rauhala-info.sh
|
|
'';
|
|
build-rauhala-info = final.runCommand "site" { buildInputs = [final.makeWrapper]; }
|
|
''
|
|
mkdir -p $out/bin/
|
|
cp ${final.haskellPackages.build-rauhala-info}/bin/site $out/bin/
|
|
wrapProgram $out/bin/site --prefix PATH : ${ final.lib.makeBinPath [ final.ipfs ] }
|
|
'';
|
|
rauhala-info = final.callPackage ./rauhala.info { site = final.build-rauhala-info; };
|
|
haskellPackages = prev.haskellPackages.override ( old: {
|
|
overrides = final.lib.composeExtensions ( old.overrides or (_: _: {})) (f: p: {
|
|
build-rauhala-info = f.callPackage ./site {};
|
|
});
|
|
} );
|
|
};
|
|
}
|
|
//
|
|
flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
pkgs = import nixpkgs { inherit system; overlays = [ self.overlay ]; };
|
|
hp = pkgs.haskellPackages;
|
|
hls = easy-hls.defaultPackage.${system};
|
|
in
|
|
rec {
|
|
packages = { inherit (pkgs) build-rauhala-info rauhala-info deploy-rauhala-info; };
|
|
applications.build-rauhala-info = flake-utils.lib.mkApp {
|
|
drv = packages.build-rauhala-info;
|
|
exePath = "/bin/site";
|
|
};
|
|
applications.deploy-rauhala-info = flake-utils.lib.mkApp {
|
|
drv = packages.deploy-rauhala-info;
|
|
exePath = "/bin/deploy-rauhala-info.sh";
|
|
};
|
|
defaultPackage = packages.rauhala-info;
|
|
defaultApp = applications.build-rauhala-info;
|
|
devShell = hp.shellFor {
|
|
packages = h: [h.build-rauhala-info];
|
|
buildInputs = with pkgs; [
|
|
ghcid
|
|
cabal-install
|
|
stylish-haskell
|
|
entr
|
|
hls
|
|
ipfs
|
|
];
|
|
};
|
|
});
|
|
}
|