Initial Commit

This commit is contained in:
bluepython508
2026-01-26 15:35:41 +00:00
commit 0f31af9dae
8 changed files with 3096 additions and 0 deletions

60
flake.nix Normal file
View File

@@ -0,0 +1,60 @@
{
inputs = {
flake-parts.url = "github:hercules-ci/flake-parts";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
crane-flake-parts = {
url = "github:bluepython508/crane-flake-parts";
inputs.rust-overlay.follows = "rust-overlay";
};
};
outputs = inputs @ {
self,
flake-parts,
crane-flake-parts,
...
}:
flake-parts.lib.mkFlake {inherit inputs;} {
imports = [
crane-flake-parts.flakeModules.default
];
systems = ["x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin"];
crane.source = ./.;
flake.nixosModules.default = {
pkgs,
lib,
config,
...
}: let
pkg = self.packages.${pkgs.system}.default;
cfg = config.bluepython508.kunordaterano;
in {
options.bluepython508.kunordaterano = with lib; {
enable = mkEnableOption "kunordaterano";
tokenFile = mkOption {
type = types.path;
};
};
config.systemd.services.kunordaterano = lib.mkIf cfg.enable {
description = "kunordaterano";
environment = {
DISCORD_TOKEN_FILE = "%d/discord-token";
RUST_BACKTRACE = "1";
};
wantedBy = ["multi-user.target"];
script = "${pkg}/bin/kunordaterano";
serviceConfig = {
LoadCredential = ["discord-token:${cfg.tokenFile}"];
DynamicUser = true;
StateDirectory = "kunordaterano";
};
};
};
};
}