Compare commits
3
Commits
70317a1372
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7de78344d7 | ||
|
|
ad96876c9e | ||
|
|
c6d025df60 |
@@ -21,9 +21,9 @@
|
|||||||
inherit system;
|
inherit system;
|
||||||
overlays = [(import rust-overlay)];
|
overlays = [(import rust-overlay)];
|
||||||
};
|
};
|
||||||
rust = (pkgs.rust-bin.stable.latest.default.override {
|
rust = pkgs.rust-bin.stable.latest.default.override {
|
||||||
extensions = ["rust-src"];
|
extensions = ["rust-src"];
|
||||||
});
|
};
|
||||||
# Override naersk to use our chosen rust version from rust-overlay
|
# Override naersk to use our chosen rust version from rust-overlay
|
||||||
naersk-lib = naersk.lib.${system}.override {
|
naersk-lib = naersk.lib.${system}.override {
|
||||||
cargo = rust;
|
cargo = rust;
|
||||||
@@ -48,5 +48,45 @@
|
|||||||
packages = with pkgs; [rust rust-analyzer];
|
packages = with pkgs; [rust rust-analyzer];
|
||||||
};
|
};
|
||||||
formatter = pkgs.alejandra;
|
formatter = pkgs.alejandra;
|
||||||
});
|
hydraJobs.build = packages.default;
|
||||||
|
})
|
||||||
|
// {
|
||||||
|
overlays.default = final: prev: {
|
||||||
|
rolebot = self.packages.${prev.system}.default;
|
||||||
|
};
|
||||||
|
|
||||||
|
nixosModules.default = {
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.services.rolebot;
|
||||||
|
in {
|
||||||
|
options.services.rolebot = {
|
||||||
|
enable = mkEnableOption "Enable the rolebot service";
|
||||||
|
environmentFile = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
description = "Path to the environment file";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
nixpkgs.overlays = [self.overlays.default];
|
||||||
|
systemd.services.rolebot = {
|
||||||
|
description = "Discord role bot";
|
||||||
|
wantedBy = ["multi-user.target"];
|
||||||
|
after = ["network-online.target"];
|
||||||
|
wants = ["network-online.target"];
|
||||||
|
serviceConfig = {
|
||||||
|
User = "rolebot";
|
||||||
|
ExecStart = "${pkgs.rolebot}/bin/rolebot";
|
||||||
|
Restart = "on-failure";
|
||||||
|
DynamicUser = true;
|
||||||
|
EnvironmentFile = cfg.environmentFile;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user