calendar-bot/flake.nix

60 lines
1.5 KiB
Nix

{
inputs = {
nixpkgs.url = "nixpkgs/nixos-24.05";
};
outputs = { self, nixpkgs }: let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
packages.${system} = {
default = self.packages.${system}.pvv-calendar-bot;
pvv-calendar-bot = pkgs.python3Packages.buildPythonPackage {
name = "pvv-calendar-bot";
src = ./.;
pyproject = true;
build-system = [
pkgs.python3Packages.setuptools
pkgs.python3Packages.setuptools-scm
];
dependencies = with pkgs.python3Packages; [
beautifulsoup4
markdown2
matrix-nio
mysql-connector
requests
];
};
};
nixosModules.default = ./module.nix;
overlays.${system}.default = prevPackages: finalPackages: {
inherit (self.packages.${system}) pvv-calendar-bot;
};
nixosConfigurations."test" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
self.nixosModules.default
{ nixpkgs.overlays = [ self.overlays."x86_64-linux".default ]; }
{
boot.isContainer = true;
services.pvv-calendar-bot = {
enable = true;
settings.matrix = {
channel = "testchannel";
user = "testuser";
homeserver = "pvv.ntnu.no";
};
settings.secretsFile = pkgs.writeText "calendarSecrets" "snakeoil";
};
}
];
};
};
}