diff --git a/common/flakes.nix b/common/flakes.nix index 02228e4..d3e4d2e 100644 --- a/common/flakes.nix +++ b/common/flakes.nix @@ -1,4 +1,4 @@ -{ lib, pkgs, config, inputs, ... }: +{ lib, pkgs, config, ... }: with lib; let cfg = config.nix.flakes; @@ -15,7 +15,7 @@ in { ''; # pin nixpkgs for system commands such as "nix shell" - registry.nixpkgs.flake = inputs.nixpkgs; + registry.nixpkgs.flake = config.inputs.nixpkgs; }; }; } diff --git a/common/server/drastikbot.nix b/common/server/drastikbot.nix index 2467c3b..2952a02 100644 --- a/common/server/drastikbot.nix +++ b/common/server/drastikbot.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, inputs, ... }: +{ config, pkgs, lib, ... }: let cfg = config.services.drastikbot; @@ -9,9 +9,9 @@ let format = "other"; srcs = [ - inputs.drastikbot - inputs.drastikbot_modules - inputs.dailybuild_modules + config.inputs.drastikbot + config.inputs.drastikbot_modules + config.inputs.dailybuild_modules ]; nativeBuildInputs = [ pkgs.makeWrapper ]; diff --git a/common/server/radio.nix b/common/server/radio.nix index 53e0251..c2a5586 100644 --- a/common/server/radio.nix +++ b/common/server/radio.nix @@ -1,8 +1,8 @@ -{ config, pkgs, lib, inputs, system, ... }: +{ config, pkgs, lib, ... }: let cfg = config.services.radio; - radioPackage = inputs.radio.packages.${system}.radio; + radioPackage = config.inputs.radio.packages.${builtins.currentSystem}.radio; in { options.services.radio = { enable = lib.mkEnableOption "enable radio"; @@ -47,7 +47,7 @@ in { services.nginx.virtualHosts.${cfg.host} = lib.mkIf cfg.nginx { enableACME = true; forceSSL = true; - locations."/".root = inputs.radio-web; + locations."/".root = config.inputs.radio-web; }; users.users.${cfg.user} = { diff --git a/flake.nix b/flake.nix index 58d8920..4f5ad00 100644 --- a/flake.nix +++ b/flake.nix @@ -35,9 +35,12 @@ inputs.agenix.nixosModules.age { environment.systemPackages = [ inputs.agenix.defaultPackage.${system} ]; + + # because nixos specialArgs doesn't work for containers... need to pass in inputs a different way + options.inputs = lib.mkOption { default = inputs; }; } ]; - specialArgs = { inherit inputs; inherit system; }; + # specialArgs = {}; }; in { diff --git a/machines/liza/configuration.nix b/machines/liza/configuration.nix index 4cb2b7f..9a5e381 100644 --- a/machines/liza/configuration.nix +++ b/machines/liza/configuration.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, inputs, ... }: +{ config, pkgs, lib, ... }: let mta-sts-web = { @@ -145,10 +145,14 @@ in { config = { imports = [ ../../common/common.nix + config.inputs.agenix.nixosModules.age ]; pia.enable = true; nixpkgs.pkgs = pkgs; + # because nixos specialArgs doesn't work for containers... need to pass in inputs a different way + options.inputs = lib.mkOption { default = config.inputs; }; + services.drastikbot.enable = true; services.radio = { enable = true; @@ -159,25 +163,21 @@ in { # load the secret on behalf of the container age.secrets."pia-login.conf".file = ../../secrets/pia-login.conf; - # icecast endpoint + # icecast endpoint + website services.nginx.virtualHosts."radio.neet.space" = { enableACME = true; forceSSL = true; - locations."/stream.mp3" = { - proxyPass = "http://172.16.100.2:8001/stream.mp3"; - extraConfig = '' - add_header Access-Control-Allow-Origin *; - ''; + locations = { + "/stream.mp3" = { + proxyPass = "http://172.16.100.2:8001/stream.mp3"; + extraConfig = '' + add_header Access-Control-Allow-Origin *; + ''; + }; + "/".root = config.inputs.radio-web; }; }; - # radio website - services.nginx.virtualHosts."radio.neet.space" = { - enableACME = true; - forceSSL = true; - locations."/".root = inputs.radio-web; - }; - services.nginx.virtualHosts."paradigminteractive.agency" = { enableACME = true; forceSSL = true; diff --git a/machines/mitty/configuration.nix b/machines/mitty/configuration.nix index 170c667..23ef50a 100644 --- a/machines/mitty/configuration.nix +++ b/machines/mitty/configuration.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, inputs, ... }: +{ config, pkgs, lib, ... }: { imports =[ @@ -47,11 +47,14 @@ config = { imports = [ ../../common/common.nix - inputs.agenix.nixosModules.age + config.inputs.agenix.nixosModules.age ]; pia.enable = true; nixpkgs.pkgs = pkgs; + # because nixos specialArgs doesn't work for containers... need to pass in inputs a different way + options.inputs = lib.mkOption { default = config.inputs; }; + services.radarr.enable = true; services.radarr.openFirewall = true; services.bazarr.enable = true;