2021-05-18 14:33:28 +00:00
|
|
|
{ pkgs, ... }:
|
|
|
|
let
|
|
|
|
dhallFiles = pkgs.runCommand "kassandra-config-src" { } ''
|
2021-04-27 12:26:09 +00:00
|
|
|
mkdir $out
|
|
|
|
${pkgs.kassandra2}/bin/kassandra2 print-types > $out/types.dhall
|
|
|
|
ln -s ${./kassandra}/{config,backend}.dhall $out
|
2021-05-01 00:26:42 +00:00
|
|
|
ln -s ${pkgs.privateFile "kassandra-uiConfig.dhall"} $out/uiConfig.dhall
|
2021-04-27 12:26:09 +00:00
|
|
|
'';
|
|
|
|
backend = pkgs.dhallPackages.buildDhallPackage {
|
|
|
|
name = "kassandra-backend-config";
|
|
|
|
code = "${dhallFiles}/backend.dhall : (${dhallFiles}/types.dhall).BackendConfig";
|
|
|
|
source = true;
|
|
|
|
dependencies = [ pkgs.dhallPackages.Prelude ];
|
|
|
|
};
|
|
|
|
standalone = pkgs.dhallPackages.buildDhallPackage {
|
|
|
|
name = "kassandra-standalone-config";
|
|
|
|
code = "${dhallFiles}/config.dhall : (${dhallFiles}/types.dhall).StandaloneConfig";
|
|
|
|
source = true;
|
|
|
|
dependencies = [ pkgs.dhallPackages.Prelude ];
|
|
|
|
};
|
|
|
|
|
2021-05-18 14:33:28 +00:00
|
|
|
dhallResult = pkgs.runCommand "kassandra-config" { } ''
|
2021-04-27 12:26:09 +00:00
|
|
|
mkdir $out
|
|
|
|
ln -s ${backend}/source.dhall $out/backend.dhall
|
|
|
|
ln -s ${standalone}/source.dhall $out/config.dhall
|
|
|
|
'';
|
|
|
|
in
|
|
|
|
{
|
2021-05-18 14:33:28 +00:00
|
|
|
home.file =
|
|
|
|
if pkgs.withSecrets then {
|
|
|
|
"kassandra-config" = {
|
|
|
|
target = ".config/kassandra";
|
|
|
|
source = dhallResult.out;
|
|
|
|
};
|
|
|
|
} else { };
|
2021-04-26 02:43:01 +00:00
|
|
|
}
|