mirror of
https://github.com/Stunkymonkey/nixos.git
synced 2025-05-24 09:54:40 +02:00
treewide: fix statix errors
This commit is contained in:
parent
a4b8c2b8da
commit
743d7eead9
48 changed files with 72 additions and 82 deletions
|
@ -61,7 +61,7 @@
|
||||||
# prevent rebuilding deploy-rs everytime when nixpkgs changes
|
# prevent rebuilding deploy-rs everytime when nixpkgs changes
|
||||||
overlays = [
|
overlays = [
|
||||||
deploy-rs.overlay
|
deploy-rs.overlay
|
||||||
(_self: super: { deploy-rs = { inherit (pkgs) deploy-rs; lib = super.deploy-rs.lib; }; })
|
(_self: super: { deploy-rs = { inherit (pkgs) deploy-rs; inherit (super.deploy-rs) lib; }; })
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }:
|
_:
|
||||||
{
|
{
|
||||||
boot.initrd = {
|
boot.initrd = {
|
||||||
availableKernelModules = [
|
availableKernelModules = [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }:
|
_:
|
||||||
{
|
{
|
||||||
networking.networkmanager = {
|
networking.networkmanager = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }:
|
_:
|
||||||
{
|
{
|
||||||
boot.loader = {
|
boot.loader = {
|
||||||
timeout = 1;
|
timeout = 1;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Deployed services
|
# Deployed services
|
||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
let
|
let
|
||||||
secrets = config.sops.secrets;
|
inherit (config.sops) secrets;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
sops.secrets."acme/inwx" = { };
|
sops.secrets."acme/inwx" = { };
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# enabled system services
|
# enabled system services
|
||||||
{ ... }:
|
_:
|
||||||
{
|
{
|
||||||
my.system = {
|
my.system = {
|
||||||
podman.enable = true;
|
podman.enable = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }:
|
_:
|
||||||
{
|
{
|
||||||
boot = {
|
boot = {
|
||||||
loader = {
|
loader = {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }:
|
_:
|
||||||
{
|
{
|
||||||
networking.firewall.allowedTCPPorts = [
|
networking.firewall.allowedTCPPorts = [
|
||||||
8080 # aria
|
8080 # aria
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Deployed services
|
# Deployed services
|
||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
let
|
let
|
||||||
secrets = config.sops.secrets;
|
inherit (config.sops) secrets;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
sops.secrets."acme/inwx" = { };
|
sops.secrets."acme/inwx" = { };
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# enabled system services
|
# enabled system services
|
||||||
{ ... }:
|
_:
|
||||||
{
|
{
|
||||||
my.system = {
|
my.system = {
|
||||||
avahi.enable = true;
|
avahi.enable = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }:
|
_:
|
||||||
{
|
{
|
||||||
boot = {
|
boot = {
|
||||||
loader = {
|
loader = {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }:
|
_:
|
||||||
let
|
let
|
||||||
cpuFlavor = "intel";
|
cpuFlavor = "intel";
|
||||||
in
|
in
|
||||||
|
@ -18,7 +18,7 @@ in
|
||||||
};
|
};
|
||||||
firmware = {
|
firmware = {
|
||||||
enable = true;
|
enable = true;
|
||||||
cpuFlavor = cpuFlavor;
|
inherit cpuFlavor;
|
||||||
};
|
};
|
||||||
graphics.cpuFlavor = cpuFlavor;
|
graphics.cpuFlavor = cpuFlavor;
|
||||||
keychron.enable = true;
|
keychron.enable = true;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# network settings
|
# network settings
|
||||||
{ ... }:
|
_:
|
||||||
{
|
{
|
||||||
# hotfixes for dns settings
|
# hotfixes for dns settings
|
||||||
networking.extraHosts =
|
networking.extraHosts =
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# enabled profiles
|
# enabled profiles
|
||||||
{ ... }:
|
_:
|
||||||
{
|
{
|
||||||
my.profiles = {
|
my.profiles = {
|
||||||
"3d-design".enable = true;
|
"3d-design".enable = true;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Deployed services
|
# Deployed services
|
||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
let
|
let
|
||||||
secrets = config.sops.secrets;
|
inherit (config.sops) secrets;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
sops.secrets."borgbackup/password" = { };
|
sops.secrets."borgbackup/password" = { };
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# enabled system services
|
# enabled system services
|
||||||
{ ... }:
|
_:
|
||||||
{
|
{
|
||||||
my.system = {
|
my.system = {
|
||||||
avahi.enable = true;
|
avahi.enable = true;
|
||||||
|
|
|
@ -7,7 +7,7 @@ in
|
||||||
enable = mkEnableOption "drive-monitor configuration";
|
enable = mkEnableOption "drive-monitor configuration";
|
||||||
|
|
||||||
OnFailureMail = mkOption {
|
OnFailureMail = mkOption {
|
||||||
type = types.nullOr (types.str);
|
type = types.nullOr types.str;
|
||||||
description = lib.mdDoc "Mail address where to send the error report";
|
description = lib.mdDoc "Mail address where to send the error report";
|
||||||
default = null;
|
default = null;
|
||||||
example = "alarm@mail.com";
|
example = "alarm@mail.com";
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.alertmanager;
|
cfg = config.my.services.alertmanager;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.alertmanager = with lib; {
|
options.my.services.alertmanager = with lib; {
|
||||||
|
@ -29,7 +29,7 @@ in
|
||||||
alertmanager = {
|
alertmanager = {
|
||||||
enable = true;
|
enable = true;
|
||||||
listenAddress = "127.0.0.1";
|
listenAddress = "127.0.0.1";
|
||||||
port = cfg.port;
|
inherit (cfg) port;
|
||||||
configuration = import ./config.nix;
|
configuration = import ./config.nix;
|
||||||
webExternalUrl = "https://alerts.${domain}";
|
webExternalUrl = "https://alerts.${domain}";
|
||||||
# fix issue: https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/4556
|
# fix issue: https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/4556
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.aria2;
|
cfg = config.my.services.aria2;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.aria2 = with lib; {
|
options.my.services.aria2 = with lib; {
|
||||||
|
|
|
@ -42,7 +42,7 @@ in
|
||||||
default = false;
|
default = false;
|
||||||
};
|
};
|
||||||
OnFailureMail = mkOption {
|
OnFailureMail = mkOption {
|
||||||
type = types.nullOr (types.str);
|
type = types.nullOr types.str;
|
||||||
description = lib.mdDoc "Mail address where to send the error report";
|
description = lib.mdDoc "Mail address where to send the error report";
|
||||||
default = null;
|
default = null;
|
||||||
example = "alarm@mail.com";
|
example = "alarm@mail.com";
|
||||||
|
@ -122,7 +122,7 @@ in
|
||||||
environment.BORG_RSH = "ssh -o 'StrictHostKeyChecking=no' -i ${cfg.sshKeyFile} -p ${toString cfg.sshPort}";
|
environment.BORG_RSH = "ssh -o 'StrictHostKeyChecking=no' -i ${cfg.sshKeyFile} -p ${toString cfg.sshPort}";
|
||||||
repo = "${cfg.sshUser}@${cfg.sshHost}:${config.networking.hostName}/";
|
repo = "${cfg.sshUser}@${cfg.sshHost}:${config.networking.hostName}/";
|
||||||
|
|
||||||
doInit = cfg.doInit;
|
inherit (cfg) doInit;
|
||||||
compression = "auto,zstd";
|
compression = "auto,zstd";
|
||||||
|
|
||||||
postHook = ''
|
postHook = ''
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.bazarr;
|
cfg = config.my.services.bazarr;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
port = 6767;
|
port = 6767;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
|
@ -15,7 +15,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
settings = mkOption {
|
settings = mkOption {
|
||||||
type = (pkgs.formats.json { }).type;
|
inherit (pkgs.formats.json { }) type;
|
||||||
default = { };
|
default = { };
|
||||||
example = literalExpression ''
|
example = literalExpression ''
|
||||||
{ ports.http = "8053" };
|
{ ports.http = "8053" };
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.dyndns;
|
cfg = config.my.services.dyndns;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.dyndns = with lib; {
|
options.my.services.dyndns = with lib; {
|
||||||
|
@ -25,8 +25,7 @@ in
|
||||||
services.ddclient = {
|
services.ddclient = {
|
||||||
enable = true;
|
enable = true;
|
||||||
server = "dyndns.inwx.com";
|
server = "dyndns.inwx.com";
|
||||||
username = cfg.username;
|
inherit (cfg) username passwordFile;
|
||||||
passwordFile = cfg.passwordFile;
|
|
||||||
domains = [ "serverle.${domain}" ];
|
domains = [ "serverle.${domain}" ];
|
||||||
ipv6 = true;
|
ipv6 = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -73,7 +73,7 @@ in
|
||||||
};
|
};
|
||||||
'';
|
'';
|
||||||
type = lib.types.attrsOf (lib.types.submodule (
|
type = lib.types.attrsOf (lib.types.submodule (
|
||||||
{ ... }: {
|
_: {
|
||||||
options = {
|
options = {
|
||||||
# enable = lib.mkEnableOption "exportarr-${name}";
|
# enable = lib.mkEnableOption "exportarr-${name}";
|
||||||
port = lib.mkOption {
|
port = lib.mkOption {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.freshrss;
|
cfg = config.my.services.freshrss;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.freshrss = with lib; {
|
options.my.services.freshrss = with lib; {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.gitea;
|
cfg = config.my.services.gitea;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.gitea = with lib; {
|
options.my.services.gitea = with lib; {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.grafana;
|
cfg = config.my.services.grafana;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.grafana = with lib; {
|
options.my.services.grafana = with lib; {
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.hedgedoc;
|
cfg = config.my.services.hedgedoc;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.hedgedoc = with lib; {
|
options.my.services.hedgedoc = with lib; {
|
||||||
enable = mkEnableOption "Hedgedoc Music Server";
|
enable = mkEnableOption "Hedgedoc Music Server";
|
||||||
|
|
||||||
settings = mkOption {
|
settings = mkOption {
|
||||||
type = (pkgs.formats.json { }).type;
|
inherit (pkgs.formats.json { }) type;
|
||||||
default = { };
|
default = { };
|
||||||
example = {
|
example = {
|
||||||
"LastFM.ApiKey" = "MYKEY";
|
"LastFM.ApiKey" = "MYKEY";
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.home-assistant;
|
cfg = config.my.services.home-assistant;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.home-assistant = with lib; {
|
options.my.services.home-assistant = with lib; {
|
||||||
|
@ -83,14 +83,12 @@ in
|
||||||
services.home-assistant = {
|
services.home-assistant = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
package = cfg.package;
|
inherit (cfg) package;
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
homeassistant = {
|
homeassistant = {
|
||||||
name = "Home";
|
name = "Home";
|
||||||
latitude = cfg.latitude;
|
inherit (cfg) latitude longitude elevation;
|
||||||
longitude = cfg.longitude;
|
|
||||||
elevation = cfg.elevation;
|
|
||||||
unit_system = "metric";
|
unit_system = "metric";
|
||||||
time_zone = cfg.timezone;
|
time_zone = cfg.timezone;
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, inputs, ... }:
|
{ config, lib, inputs, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.homepage;
|
cfg = config.my.services.homepage;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.homepage = with lib; {
|
options.my.services.homepage = with lib; {
|
||||||
|
|
|
@ -113,14 +113,11 @@
|
||||||
apps);
|
apps);
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = cat.name;
|
inherit (cat) name;
|
||||||
items = lib.forEach catApps (a: {
|
items = lib.forEach catApps (a: {
|
||||||
name = a.dashboard.name;
|
inherit (a.dashboard) name link type method;
|
||||||
icon = lib.optionalString (a.dashboard.icon != null) "fas fa-${a.dashboard.icon}";
|
icon = lib.optionalString (a.dashboard.icon != null) "fas fa-${a.dashboard.icon}";
|
||||||
url = a.dashboard.link;
|
|
||||||
target = "_blank";
|
target = "_blank";
|
||||||
type = a.dashboard.type;
|
|
||||||
method = a.dashboard.method;
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.homer;
|
cfg = config.my.services.homer;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
|
|
||||||
homeConfig = {
|
homeConfig = {
|
||||||
title = "Dashboard";
|
title = "Dashboard";
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.jellyfin;
|
cfg = config.my.services.jellyfin;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
port = 8096;
|
port = 8096;
|
||||||
# enable monitoring
|
# enable monitoring
|
||||||
jellyfin-with-metrics = pkgs.jellyfin.overrideAttrs (attrs: {
|
jellyfin-with-metrics = pkgs.jellyfin.overrideAttrs (attrs: {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.jellyseerr;
|
cfg = config.my.services.jellyseerr;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.jellyseerr = with lib; {
|
options.my.services.jellyseerr = with lib; {
|
||||||
|
|
|
@ -83,22 +83,21 @@ in
|
||||||
type = "local";
|
type = "local";
|
||||||
local = {
|
local = {
|
||||||
# having the "fake" directory is important, because loki is running in single-tenant mode
|
# having the "fake" directory is important, because loki is running in single-tenant mode
|
||||||
directory = (pkgs.writeTextDir "fake/loki-rules.yml" (builtins.toJSON {
|
directory = pkgs.writeTextDir "fake/loki-rules.yml" (builtins.toJSON {
|
||||||
groups = [
|
groups = [
|
||||||
{
|
{
|
||||||
name = "alerting-rules";
|
name = "alerting-rules";
|
||||||
rules = lib.mapAttrsToList
|
rules = lib.mapAttrsToList
|
||||||
(name: opts: {
|
(name: opts: {
|
||||||
alert = name;
|
alert = name;
|
||||||
expr = opts.condition;
|
inherit (opts) condition labels;
|
||||||
for = opts.time;
|
for = opts.time;
|
||||||
labels = opts.labels;
|
|
||||||
annotations.description = opts.description;
|
annotations.description = opts.description;
|
||||||
})
|
})
|
||||||
(cfg.rules);
|
cfg.rules;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}));
|
});
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.navidrome;
|
cfg = config.my.services.navidrome;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.navidrome = with lib; {
|
options.my.services.navidrome = with lib; {
|
||||||
enable = mkEnableOption "Navidrome Music Server";
|
enable = mkEnableOption "Navidrome Music Server";
|
||||||
|
|
||||||
settings = mkOption {
|
settings = mkOption {
|
||||||
type = (pkgs.formats.json { }).type;
|
inherit (pkgs.formats.json { }) type;
|
||||||
default = {
|
default = {
|
||||||
EnableSharing = true;
|
EnableSharing = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.nextcloud;
|
cfg = config.my.services.nextcloud;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.nextcloud = with lib; {
|
options.my.services.nextcloud = with lib; {
|
||||||
|
@ -60,7 +60,7 @@ in
|
||||||
config = {
|
config = {
|
||||||
adminuser = cfg.admin;
|
adminuser = cfg.admin;
|
||||||
adminpassFile = cfg.passwordFile;
|
adminpassFile = cfg.passwordFile;
|
||||||
defaultPhoneRegion = cfg.defaultPhoneRegion;
|
inherit (cfg) defaultPhoneRegion;
|
||||||
|
|
||||||
overwriteProtocol = "https"; # Nginx only allows SSL
|
overwriteProtocol = "https"; # Nginx only allows SSL
|
||||||
|
|
||||||
|
|
|
@ -250,8 +250,8 @@ in
|
||||||
virtualHosts =
|
virtualHosts =
|
||||||
let
|
let
|
||||||
genAttrs' = values: f: lib.listToAttrs (map f values);
|
genAttrs' = values: f: lib.listToAttrs (map f values);
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
mkVHost = ({ subdomain, ... } @ args: lib.nameValuePair
|
mkVHost = { subdomain, ... } @ args: lib.nameValuePair
|
||||||
"${subdomain}.${domain}"
|
"${subdomain}.${domain}"
|
||||||
(lib.foldl lib.recursiveUpdate { } [
|
(lib.foldl lib.recursiveUpdate { } [
|
||||||
# Base configuration
|
# Base configuration
|
||||||
|
@ -309,7 +309,7 @@ in
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
])
|
])
|
||||||
);
|
;
|
||||||
in
|
in
|
||||||
genAttrs' cfg.virtualHosts mkVHost;
|
genAttrs' cfg.virtualHosts mkVHost;
|
||||||
sso = {
|
sso = {
|
||||||
|
@ -396,7 +396,7 @@ in
|
||||||
# Use DNS wildcard certificate
|
# Use DNS wildcard certificate
|
||||||
certs =
|
certs =
|
||||||
let
|
let
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
with pkgs;
|
with pkgs;
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.paperless;
|
cfg = config.my.services.paperless;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.paperless = with lib; {
|
options.my.services.paperless = with lib; {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.passworts;
|
cfg = config.my.services.passworts;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.passworts = with lib; {
|
options.my.services.passworts = with lib; {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.photoprism;
|
cfg = config.my.services.photoprism;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.photoprism = {
|
options.my.services.photoprism = {
|
||||||
|
@ -49,10 +49,7 @@ in
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
services.photoprism = {
|
services.photoprism = {
|
||||||
enable = true;
|
enable = true;
|
||||||
passwordFile = cfg.passwordFile;
|
inherit (cfg) passwordFile port originalsPath settings;
|
||||||
port = cfg.port;
|
|
||||||
originalsPath = cfg.originalsPath;
|
|
||||||
settings = cfg.settings;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
my.services.nginx.virtualHosts = [
|
my.services.nginx.virtualHosts = [
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.prometheus;
|
cfg = config.my.services.prometheus;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.prometheus = with lib; {
|
options.my.services.prometheus = with lib; {
|
||||||
|
@ -100,13 +100,13 @@ in
|
||||||
alert = name;
|
alert = name;
|
||||||
expr = opts.condition;
|
expr = opts.condition;
|
||||||
for = opts.time;
|
for = opts.time;
|
||||||
labels = opts.labels;
|
inherit (opts) labels;
|
||||||
annotations = {
|
annotations = {
|
||||||
description = opts.description;
|
inherit (opts) description;
|
||||||
grafana = lib.optionalString config.services.grafana.enable "https://visualization.${domain}";
|
grafana = lib.optionalString config.services.grafana.enable "https://visualization.${domain}";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(cfg.rules);
|
cfg.rules;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}))
|
}))
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.promtail;
|
cfg = config.my.services.promtail;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.promtail = with lib; {
|
options.my.services.promtail = with lib; {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.prowlarr;
|
cfg = config.my.services.prowlarr;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
port = 9696;
|
port = 9696;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -46,7 +46,7 @@ in
|
||||||
my.services.exportarr.prowlarr = {
|
my.services.exportarr.prowlarr = {
|
||||||
port = port + 1;
|
port = port + 1;
|
||||||
url = "http://127.0.0.1:${toString port}";
|
url = "http://127.0.0.1:${toString port}";
|
||||||
apiKeyFile = cfg.apiKeyFile;
|
inherit (cfg) apiKeyFile;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.prometheus.scrapeConfigs = [
|
services.prometheus.scrapeConfigs = [
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.radarr;
|
cfg = config.my.services.radarr;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
port = 7878;
|
port = 7878;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -36,7 +36,7 @@ in
|
||||||
my.services.exportarr.radarr = {
|
my.services.exportarr.radarr = {
|
||||||
port = port + 1;
|
port = port + 1;
|
||||||
url = "http://127.0.0.1:${toString port}";
|
url = "http://127.0.0.1:${toString port}";
|
||||||
apiKeyFile = cfg.apiKeyFile;
|
inherit (cfg) apiKeyFile;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.prometheus.scrapeConfigs = [
|
services.prometheus.scrapeConfigs = [
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.sonarr;
|
cfg = config.my.services.sonarr;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
port = 8989;
|
port = 8989;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -36,7 +36,7 @@ in
|
||||||
my.services.exportarr.sonarr = {
|
my.services.exportarr.sonarr = {
|
||||||
port = port + 1;
|
port = port + 1;
|
||||||
url = "http://127.0.0.1:${toString port}";
|
url = "http://127.0.0.1:${toString port}";
|
||||||
apiKeyFile = cfg.apiKeyFile;
|
inherit (cfg) apiKeyFile;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.prometheus.scrapeConfigs = [
|
services.prometheus.scrapeConfigs = [
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.my.services.tandoor-recipes;
|
cfg = config.my.services.tandoor-recipes;
|
||||||
domain = config.networking.domain;
|
inherit (config.networking) domain;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.services.tandoor-recipes = with lib; {
|
options.my.services.tandoor-recipes = with lib; {
|
||||||
|
@ -18,7 +18,7 @@ in
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
services.tandoor-recipes = {
|
services.tandoor-recipes = {
|
||||||
enable = true;
|
enable = true;
|
||||||
port = cfg.port;
|
inherit (cfg) port;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Proxy to Tandoor-Recipes
|
# Proxy to Tandoor-Recipes
|
||||||
|
|
|
@ -13,7 +13,7 @@ let
|
||||||
inherit (args) version;
|
inherit (args) version;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://grafana.com/api/dashboards/${toString args.id}/revisions/${args.version}/download";
|
url = "https://grafana.com/api/dashboards/${toString args.id}/revisions/${args.version}/download";
|
||||||
hash = args.hash;
|
inherit (args) hash;
|
||||||
};
|
};
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue