A decentralized music tracking and discovery platform built on AT Protocol 🎵
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

add overlay and nixos module

Signed-off-by: oppiliappan <me@oppi.li>

+43 -2
+43 -2
flake.nix
··· 15 15 nixpkgs, 16 16 flake-utils, 17 17 rocksky-cli, 18 - }: 18 + }: let 19 + overlays.default = final: prev: { 20 + rocksky-cli = rocksky-cli.packages.${final.system}.default; 21 + }; 22 + 23 + nixosModules.default = { 24 + config, 25 + lib, 26 + pkgs, 27 + ... 28 + }: let 29 + cfg = config.services.rocksky-scrobble-api; 30 + in { 31 + options.services.rocksky-scrobble-api = { 32 + enable = lib.mkEnableOption "rocksky scrobble API service"; 33 + 34 + environmentFile = lib.mkOption { 35 + type = lib.types.nullOr lib.types.path; 36 + default = null; 37 + description = "Path to environment file containing secrets"; 38 + }; 39 + }; 40 + 41 + config = lib.mkIf cfg.enable { 42 + systemd.services.rocksky-scrobble-api = { 43 + description = "Rocksky Scrobble API Service"; 44 + wantedBy = ["multi-user.target"]; 45 + after = ["network.target"]; 46 + 47 + serviceConfig = { 48 + ExecStart = "${pkgs.rocksky-cli}/bin/rocksky scrobble-api"; 49 + Restart = "on-failure"; 50 + RestartSec = "5s"; 51 + EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile; 52 + }; 53 + }; 54 + }; 55 + }; 56 + in 19 57 flake-utils.lib.eachDefaultSystem (system: 20 58 let 21 59 pkgs = import nixpkgs { ··· 54 92 pkgs.libiconv 55 93 ]; 56 94 }; 57 - }); 95 + }) 96 + // { 97 + inherit overlays nixosModules; 98 + }; 58 99 }