dhyan/flake.nix

51 lines
1.5 KiB
Nix
Raw Normal View History

2022-06-18 01:26:53 -07:00
{
description = "An album of the day chooser";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs";
};
outputs = { self, nixpkgs }:
let
pkgs = nixpkgs.legacyPackages.x86_64-linux;
in
{
nixosModule = { options, lib, config, pkgs, ... }:
let
serviceConfig = config.services.mossnet.dhyan;
options.enable = lib.mkEnableOption "Dhyan daily runner";
in
{
options.services.mossnet.dhyan = options;
config = lib.mkIf serviceConfig.enable {
systemd.services."dhyan" = {
description = ''
Various matrix bot integrations
'';
wantedBy = [ "multi-user.target" ];
serviceConfig = { Type = "oneshot"; };
startsAt = "*08:00:00";
path = with pkgs; [ babashka jdk11 ];
script = ''
set -ex
cd ~/usr/dhyan
bb -m dhyan.main
'';
};
};
};
2022-06-18 01:26:53 -07:00
devShell.x86_64-linux = pkgs.mkShell {
buildInputs = with pkgs; [
jdk11
2022-06-18 01:26:53 -07:00
babashka
];
shellHook = ''
[[ -z $SHAARLI_TOKEN ]] && echo "::dhyan:: Necessary Env Var missing: SHAARLI_TOKEN"
[[ -z $MATRIX_PASSWORD ]] && echo "::dhyan:: Necessary Env Var missing: MATRIX_PASSWORD"
2022-06-19 05:45:34 -07:00
[[ -z $folder ]] && echo "::dhyan:: Necessary Env Var missing: folder"
'';
2022-06-18 01:26:53 -07:00
};
};
}