{ 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 ''; }; }; }; devShell.x86_64-linux = pkgs.mkShell { buildInputs = with pkgs; [ jdk11 babashka ]; shellHook = '' [[ -z $SHAARLI_TOKEN ]] && echo "::dhyan:: Necessary Env Var missing: SHAARLI_TOKEN" [[ -z $MATRIX_PASSWORD ]] && echo "::dhyan:: Necessary Env Var missing: MATRIX_PASSWORD" [[ -z $folder ]] && echo "::dhyan:: Necessary Env Var missing: folder" ''; }; }; }