diff --git a/flake.nix b/flake.nix index 3ae0bcf..76cad10 100644 --- a/flake.nix +++ b/flake.nix @@ -8,7 +8,7 @@ let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; }; - lib = pkgs.lib; + inherit (pkgs) lib; lidarr-mb-gap = import ./nix/package.nix { inherit pkgs; src = lib.cleanSource ./src; @@ -19,7 +19,7 @@ packages.${system} = { default = lidarr-mb-gap; - lidarr-mb-gap = lidarr-mb-gap; + inherit lidarr-mb-gap; }; apps.${system} = { diff --git a/nixos/EXAMPLE_CONFIG.nix b/nixos/EXAMPLE_CONFIG.nix deleted file mode 100644 index 9d7a5d4..0000000 --- a/nixos/EXAMPLE_CONFIG.nix +++ /dev/null @@ -1,145 +0,0 @@ -# ============================================================================ -# Example NixOS Configuration for lidarr-mb-gap -# ============================================================================ -# -# Choose one of the examples below based on your setup: -# - Example 1: Using flake input (recommended) -# - Example 2: Using source path directly -# - Example 3: Minimal configuration -# -# ============================================================================ - -# ============================================================================ -# EXAMPLE 1: Using Flake Input (Recommended) -# ============================================================================ -# -# First, add to your flake.nix inputs: -# inputs.lidarr-mb-gap.url = "path:/path/to/lidarr-musicbrainz"; -# # or -# inputs.lidarr-mb-gap.url = "github:yourusername/lidarr-musicbrainz"; -# -# Then in your NixOS configuration: - -{ pkgs, inputs, ... }: - -{ - imports = [ - inputs.lidarr-mb-gap.nixosModules.lidarr-mb-gap - ]; - - services.lidarr-mb-gap = { - enable = true; - - # Reference the package from the flake - package = inputs.lidarr-mb-gap.packages.${pkgs.system}.lidarr-mb-gap; - - # Report settings - reportDir = "/var/lib/lidarr-mb-gap/reports"; - envFile = "/var/lib/lidarr-mb-gap/.env"; - runInterval = "daily"; # Options: "daily", "hourly", "*-*-* 02:00:00" - - # Optional: Auto-sync to VPS - syncToVPS = true; - vpsHost = "user@vps"; # Your SSH host alias or "user@vps.example.com" - vpsPath = "/var/www/html"; - - # SSH configuration for VPS sync - sshKeyFile = "/var/lib/lidarr-mb-gap/.ssh/id_ed25519"; - sshKnownHosts = { - vps = { - hostNames = [ "vps" "vps.example.com" "1.2.3.4" ]; # All possible hostnames/IPs - # Get this with: ssh-keyscan -t ed25519 vps.example.com - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI..."; - }; - }; - }; -} - -# ============================================================================ -# EXAMPLE 2: Using Source Path (Non-Flake) -# ============================================================================ -# -# If you're not using flakes, import the module directly: - -{ ... }: - -{ - imports = [ - /path/to/lidarr-musicbrainz/nixos/lidarr-mb-gap.nix - ]; - - services.lidarr-mb-gap = { - enable = true; - - # Build from source - src = /path/to/lidarr-musicbrainz/src; - - # Report settings - reportDir = "/var/lib/lidarr-mb-gap/reports"; - envFile = "/var/lib/lidarr-mb-gap/.env"; - runInterval = "daily"; - - # Optional: Auto-sync to VPS - syncToVPS = true; - vpsHost = "user@vps"; - vpsPath = "/var/www/html"; - sshKeyFile = "/var/lib/lidarr-mb-gap/.ssh/id_ed25519"; - sshKnownHosts = { - vps = { - hostNames = [ "vps" "vps.example.com" ]; - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI..."; - }; - }; - }; -} - -# ============================================================================ -# EXAMPLE 3: Minimal Configuration (No VPS Sync) -# ============================================================================ - -{ pkgs, inputs, ... }: - -{ - imports = [ - inputs.lidarr-mb-gap.nixosModules.lidarr-mb-gap - ]; - - services.lidarr-mb-gap = { - enable = true; - package = inputs.lidarr-mb-gap.packages.${pkgs.system}.lidarr-mb-gap; - # All other options use defaults - }; -} - -# ============================================================================ -# SETUP STEPS AFTER ADDING CONFIGURATION -# ============================================================================ -# -# 1. Create the .env file: -# sudo mkdir -p /var/lib/lidarr-mb-gap -# sudo nano /var/lib/lidarr-mb-gap/.env -# -# Add: -# LIDARR_URL=http://your-lidarr-instance:8686 -# LIDARR_API_KEY=your-api-key-here -# SAMBL_URL=https://sambl.lioncat6.com -# MAX_ARTISTS=0 -# -# 2. Set permissions: -# sudo chown -R lidarr-mb-gap:lidarr-mb-gap /var/lib/lidarr-mb-gap -# sudo chmod 600 /var/lib/lidarr-mb-gap/.env -# -# 3. If using VPS sync, set up SSH keys: -# sudo -u lidarr-mb-gap ssh-keygen -t ed25519 -f /var/lib/lidarr-mb-gap/.ssh/id_ed25519 -N "" -# sudo -u lidarr-mb-gap cat /var/lib/lidarr-mb-gap/.ssh/id_ed25519.pub | ssh user@vps "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" -# ssh-keyscan -t ed25519 vps.example.com # Use output in sshKnownHosts -# -# 4. Rebuild: -# sudo nixos-rebuild switch -# -# 5. Test: -# sudo systemctl start lidarr-mb-gap -# sudo journalctl -u lidarr-mb-gap -f -# -# ============================================================================ - diff --git a/nixos/lidarr-mb-gap.nix b/nixos/lidarr-mb-gap.nix index 7ed95c1..79c22df 100644 --- a/nixos/lidarr-mb-gap.nix +++ b/nixos/lidarr-mb-gap.nix @@ -16,7 +16,7 @@ let else if config.services.lidarr-mb-gap.src != null then import ../nix/package.nix { inherit pkgs; - src = config.services.lidarr-mb-gap.src; + inherit (config.services.lidarr-mb-gap) src; } else throw "services.lidarr-mb-gap: Either 'package' or 'src' must be set.";