aboutsummaryrefslogtreecommitdiff
path: root/nixos/serverModules/gonic.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/serverModules/gonic.nix')
-rw-r--r--nixos/serverModules/gonic.nix95
1 files changed, 0 insertions, 95 deletions
diff --git a/nixos/serverModules/gonic.nix b/nixos/serverModules/gonic.nix
deleted file mode 100644
index 6bdf984..0000000
--- a/nixos/serverModules/gonic.nix
+++ /dev/null
@@ -1,95 +0,0 @@
-{ config, lib, pkgs, ... }:
-with lib;
-let
- cfg = config.gonic;
-in
-{
- options = {
- gonic = {
- enable = mkEnableOption "enable gonic configuration";
-
- listenAddr = mkOption {
- type = types.str;
- default = "127.0.0.1:4747";
- description = ''
- Address that gonic will listen on.
- '';
- };
-
- extraGroups = mkOption {
- type = types.listOf (types.str);
- default = [];
- description = ''
- Additional groups for gonic.
- '';
- };
-
- musicPaths = mkOption {
- type = types.listOf (types.str);
- description = ''
- Directories with music in it.
- '';
- };
-
- podcastsPath = mkOption {
- type = types.str;
- default = "${cfg.stateDir}/podcasts";
- description = ''
- Directory for podcasts.
- '';
- };
-
- playlistsPath = mkOption {
- type = types.str;
- default = "${cfg.stateDir}/playlists";
- description = ''
- Directory for playlists.
- '';
- };
-
- stateDir = mkOption {
- type = types.str;
- default = "/var/lib/gonic";
- description = ''
- A directory where gonic will keep their files.
- '';
- };
-
- settings = mkOption {
- default = {};
- description = ''
- Additional gonic settings
- '';
- };
- };
- };
-
- config = mkIf cfg.enable {
- nixpkgs.overlays = [
- (final: prev: {
- ffmpeg = prev.ffmpeg-headless;
- })
- ];
-
- systemd.services.gonic.serviceConfig = {
- SupplementaryGroups = cfg.extraGroups;
- };
-
- systemd.tmpfiles.rules = [
- "d ${cfg.stateDir} 0755 nobody nogroup"
- "d ${cfg.podcastsPath} 0755 nobody nogroup"
- "d ${cfg.playlistsPath} 0755 nobody nogroup"
- ];
-
- services.gonic = {
- enable = true;
- settings = {
- listen-addr = cfg.listenAddr;
- music-path = cfg.musicPaths;
- playlists-path = [cfg.podcastsPath];
- podcast-path = [cfg.playlistsPath];
- db-path = ["${cfg.stateDir}/gonic.db"];
- } // cfg.settings;
- };
- };
-}