diff --git a/container/Cloud.nix b/container/Cloud.nix index 1032d42..6670db0 100644 --- a/container/Cloud.nix +++ b/container/Cloud.nix @@ -1,4 +1,4 @@ -{ container, ... } @args: let +{ container, pkgs, ... } @args: let cfg = container.config.cloud; in { systemd.tmpfiles.rules = container.mkContainerDir cfg [ @@ -13,7 +13,7 @@ in { }; }; - config = { pkgs, config, ... }: container.mkContainerConfig cfg { + config = { config, ... }: container.mkContainerConfig cfg { environment.systemPackages = [ pkgs.postgresql ]; services.nextcloud = { enable = true; diff --git a/container/Dns.nix b/container/Dns.nix index 6d7f1e3..2923f3e 100644 --- a/container/Dns.nix +++ b/container/Dns.nix @@ -1,4 +1,4 @@ -{ container, ... } @args: let +{ container, pkgs, ... } @args: let cfg = container.config.dns; in { containers.dns = container.mkContainer cfg { @@ -14,7 +14,7 @@ in { } ]; - config = { pkgs, lib, ... }: container.mkContainerConfig cfg { + config = { lib, ... }: container.mkContainerConfig cfg { environment.systemPackages = [ pkgs.cloudflared ]; diff --git a/container/Git.nix b/container/Git.nix index b327e55..ee3e928 100644 --- a/container/Git.nix +++ b/container/Git.nix @@ -1,4 +1,4 @@ -{ container, ... } @args: let +{ container, pkgs, ... } @args: let cfg = container.config.git; in { systemd.tmpfiles.rules = container.mkContainerDir cfg [ @@ -13,7 +13,7 @@ in { }; }; - config = { pkgs, ... }: container.mkContainerConfig cfg { + config = { ... }: container.mkContainerConfig cfg { environment.systemPackages = with pkgs; [ gitea ]; services.gitea = { diff --git a/container/Hdd.nix b/container/Hdd.nix index b28696a..75f1476 100644 --- a/container/Hdd.nix +++ b/container/Hdd.nix @@ -1,5 +1,5 @@ # ISSUE: Broken, can't read/write sda device. -{ container, ... } @args: let +{ container, pkgs, ... } @args: let cfg = container.config.hdd; in { systemd.tmpfiles.rules = container.mkContainerDir cfg [ @@ -29,7 +29,7 @@ in { # additionalCapabilities = [ "CAP_SYS_ADMIN" ]; - config = { pkgs, ... }: container.mkContainerConfig cfg { + config = { ... }: container.mkContainerConfig cfg { environment.systemPackages = with pkgs; [ smartmontools ]; services.scrutiny = { diff --git a/container/Mail.nix b/container/Mail.nix index 7dcd39a..98d98ea 100644 --- a/container/Mail.nix +++ b/container/Mail.nix @@ -49,7 +49,7 @@ in { }; }; - config = { pkgs, config, ... }: container.mkContainerConfig cfg { + config = { config, ... }: container.mkContainerConfig cfg { imports = [ (builtins.fetchTarball { url = "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/archive/nixos-${const.stateVersion}/nixos-mailserver-nixos-${const.stateVersion}.tar.gz"; diff --git a/container/Paper.nix b/container/Paper.nix index f79cc94..d21eb22 100644 --- a/container/Paper.nix +++ b/container/Paper.nix @@ -17,7 +17,7 @@ in { }; }; - config = { lib, pkgs, ... }: container.mkContainerConfig cfg { + config = { lib, ... }: container.mkContainerConfig cfg { environment.systemPackages = with pkgs; [ postgresql inetutils ]; services.paperless = { diff --git a/container/Photoprocess.nix b/container/Photoprocess.nix index 531d654..0a32e3c 100644 --- a/container/Photoprocess.nix +++ b/container/Photoprocess.nix @@ -1,5 +1,5 @@ # Takes pictures from first photo dir, processes and stores to the second one. -{ container, util, ... } @args: let +{ container, util, pkgs, ... } @args: let cfg = container.config.photoprocess; in { systemd.tmpfiles.rules = container.mkContainerDir cfg [ @@ -23,7 +23,7 @@ in { }; }; - config = { pkgs, lib, ... }: container.mkContainerConfig cfg { + config = { lib, ... }: container.mkContainerConfig cfg { systemd.services.photosprocess = let script = pkgs.writeText "PhotoprocessScript" (util.trimTabs '' source /data/Notify.sh diff --git a/container/Postgres.nix b/container/Postgres.nix index 0cc4725..55e4794 100644 --- a/container/Postgres.nix +++ b/container/Postgres.nix @@ -1,4 +1,4 @@ -{ container, lib, ... } @args: let +{ container, lib, pkgs, ... } @args: let cfg = container.config.postgres; in { systemd.tmpfiles.rules = container.mkContainerDir cfg [ @@ -13,7 +13,7 @@ in { }; }; - config = { pkgs, ... }: container.mkContainerConfig cfg { + config = { ... }: container.mkContainerConfig cfg { services.postgresql = let # Populate with services here. configurations = with container.config; { diff --git a/container/Proxy.nix b/container/Proxy.nix index c4362f9..fd758a3 100644 --- a/container/Proxy.nix +++ b/container/Proxy.nix @@ -1,4 +1,4 @@ -{ domain, util, container, ... } @args: let +{ domain, util, container, pkgs, ... } @args: let cfg = container.config.proxy; virtualHosts = util.catSet (util.ls ./proxy/host) args; in { @@ -31,7 +31,7 @@ in { }; }; - config = { pkgs, ... }: container.mkContainerConfig cfg { + config = { ... }: container.mkContainerConfig cfg { environment.systemPackages = with pkgs; [ certbot ]; services.nginx = { diff --git a/container/Read.nix b/container/Read.nix index c3532ff..5dbef40 100644 --- a/container/Read.nix +++ b/container/Read.nix @@ -1,4 +1,4 @@ -{ container, lib, ... } @args: let +{ container, lib, pkgs, ... } @args: let cfg = container.config.read; in { systemd.tmpfiles.rules = container.mkContainerDir cfg [ @@ -16,7 +16,7 @@ in { // container.attachMedia "manga" cfg.manga true ; - config = { pkgs, ... }: container.mkContainerConfig cfg { + config = { ... }: container.mkContainerConfig cfg { services.kavita = { enable = true; dataDir = "/var/lib/kavita"; diff --git a/container/Search.nix b/container/Search.nix index 40771ed..d99bdba 100644 --- a/container/Search.nix +++ b/container/Search.nix @@ -1,8 +1,8 @@ -{ container, ... } @args: let +{ container, pkgs, ... } @args: let cfg = container.config.search; in { containers.search = container.mkContainer cfg { - config = { pkgs, ... }: container.mkContainerConfig cfg { + config = { ... }: container.mkContainerConfig cfg { services.searx = { enable = true; package = pkgs.searxng; diff --git a/container/Vpn.nix b/container/Vpn.nix index 8897f60..7dc6502 100644 --- a/container/Vpn.nix +++ b/container/Vpn.nix @@ -1,4 +1,4 @@ -{ container, ... } @args: let +{ container, pkgs, ... } @args: let cfg = container.config.vpn; in { systemd.tmpfiles.rules = container.mkContainerDir cfg [ @@ -18,7 +18,7 @@ in { }; }; - config = { pkgs, ... }: container.mkContainerConfig cfg { + config = { ... }: container.mkContainerConfig cfg { environment.systemPackages = with pkgs; [ wireguard-tools ]; networking.useNetworkd = true; systemd.network = { diff --git a/container/Yt.nix b/container/Yt.nix index 749c244..b182c5c 100644 --- a/container/Yt.nix +++ b/container/Yt.nix @@ -1,8 +1,8 @@ -{ container, ... } @args: let +{ container, pkgs, ... } @args: let cfg = container.config.yt; in { containers.yt = container.mkContainer cfg { - config = { pkgs, ... }: container.mkContainerConfig cfg { + config = { ... }: container.mkContainerConfig cfg { services.invidious = { enable = true; domain = cfg.domain; diff --git a/container/default.nix b/container/default.nix index ee3d02f..51c73c9 100644 --- a/container/default.nix +++ b/container/default.nix @@ -4,6 +4,7 @@ , storage , domain , media +, pkgs , ... }: { inherit host; @@ -15,10 +16,9 @@ }; mkContainerConfig = config: cfg: lib.recursiveUpdate cfg { + nixpkgs.pkgs = lib.mkForce pkgs; system.stateVersion = const.stateVersion; - nixpkgs.config.allowUnfree = true; - users.users.root.password = ""; users.mutableUsers = false;