diff --git a/base/default.nix b/base/default.nix index bbc0c9a..3ac04f3 100644 --- a/base/default.nix +++ b/base/default.nix @@ -1,9 +1,9 @@ -{ pkgs, lib, ... }: +{ pkgs, lib, fp, ... }: { imports = [ - ../users - ../modules/snakeoil-certs.nix + (fp /users) + (fp /modules/snakeoil-certs.nix) ./networking.nix ./nix.nix diff --git a/flake.lock b/flake.lock index efe3c4c..ff70982 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1729281548, - "narHash": "sha256-MuojlSnwAJAwfhgmW8ZtZrwm2Sko4fqubCvReqbUzYw=", + "lastModified": 1731746438, + "narHash": "sha256-f3SSp1axoOk0NAI7oFdRzbxG2XPBSIXC+/DaAXnvS1A=", "owner": "nix-community", "repo": "disko", - "rev": "a6a3179ddf396dfc28a078e2f169354d0c137125", + "rev": "cb64993826fa7a477490be6ccb38ba1fa1e18fa8", "type": "github" }, "original": { @@ -119,11 +119,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1729307008, - "narHash": "sha256-QUvb6epgKi9pCu9CttRQW4y5NqJ+snKr1FZpG/x3Wtc=", + "lastModified": 1731663789, + "narHash": "sha256-x07g4NcqGP6mQn6AISXJaks9sQYDjZmTMBlKIvajvyc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a9b86fc2290b69375c5542b622088eb6eca2a7c3", + "rev": "035d434d48f4375ac5d3a620954cf5fda7dd7c36", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1728156290, - "narHash": "sha256-uogSvuAp+1BYtdu6UWuObjHqSbBohpyARXDWqgI12Ss=", + "lastModified": 1730602179, + "narHash": "sha256-efgLzQAWSzJuCLiCaQUCDu4NudNlHdg2NzGLX5GYaEY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "17ae88b569bb15590549ff478bab6494dde4a907", + "rev": "3c2f1c4ca372622cb2f9de8016c9a0b1cbd0f37c", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1729308112, - "narHash": "sha256-Ap+cPeiluam2KFZO+OWuFTl/IkIJfyGYGMgkT2pVCRY=", + "lastModified": 1731745710, + "narHash": "sha256-SVeiClbgqL071JpAspOu0gCkPSAL51kSIRwo4C/pghA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "61253596816c4cd65e2a0f474cbc0ac0c6e0f7cf", + "rev": "dfaa4cb76c2d450d8f396bb6b9f43cede3ade129", "type": "github" }, "original": { @@ -249,11 +249,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1728345710, - "narHash": "sha256-lpunY1+bf90ts+sA2/FgxVNIegPDKCpEoWwOPu4ITTQ=", + "lastModified": 1731748189, + "narHash": "sha256-Zd/Uukvpcu26M6YGhpbsgqm6LUSLz+Q8mDZ5LOEGdiE=", "owner": "Mic92", "repo": "sops-nix", - "rev": "06535d0e3d0201e6a8080dd32dbfde339b94f01b", + "rev": "d2bd7f433b28db6bc7ae03d5eca43564da0af054", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 4616461..dd12109 100644 --- a/flake.nix +++ b/flake.nix @@ -59,6 +59,7 @@ specialArgs = { inherit unstablePkgs inputs; values = import ./values.nix; + fp = path: ./${path}; }; modules = [ diff --git a/hosts/bekkalokk/configuration.nix b/hosts/bekkalokk/configuration.nix index 4c9da34..df0cf6e 100644 --- a/hosts/bekkalokk/configuration.nix +++ b/hosts/bekkalokk/configuration.nix @@ -1,10 +1,10 @@ -{ pkgs, values, ... }: +{ fp, pkgs, values, ... }: { imports = [ ./hardware-configuration.nix - ../../base - ../../misc/metrics-exporters.nix + (fp /base) + (fp /misc/metrics-exporters.nix) ./services/bluemap/default.nix ./services/gitea/default.nix @@ -19,7 +19,7 @@ ./services/well-known ]; - sops.defaultSopsFile = ../../secrets/bekkalokk/bekkalokk.yaml; + sops.defaultSopsFile = fp /secrets/bekkalokk/bekkalokk.yaml; sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; sops.age.keyFile = "/var/lib/sops-nix/key.txt"; sops.age.generateKey = true; diff --git a/hosts/bekkalokk/services/gitea/default.nix b/hosts/bekkalokk/services/gitea/default.nix index 8175e4a..daf0718 100644 --- a/hosts/bekkalokk/services/gitea/default.nix +++ b/hosts/bekkalokk/services/gitea/default.nix @@ -1,4 +1,4 @@ -{ config, values, pkgs, lib, ... }: +{ config, values, fp, pkgs, lib, ... }: let cfg = config.services.gitea; domain = "git.pvv.ntnu.no"; @@ -173,8 +173,8 @@ in { }; script = let - logo-svg = ../../../../assets/logo_blue_regular.svg; - logo-png = ../../../../assets/logo_blue_regular.png; + logo-svg = fp /assets/logo_blue_regular.svg; + logo-png = fp /assets/logo_blue_regular.png; extraLinks = pkgs.writeText "gitea-extra-links.tmpl" '' PVV Wiki diff --git a/hosts/bekkalokk/services/mediawiki/default.nix b/hosts/bekkalokk/services/mediawiki/default.nix index fab75ac..d89b200 100644 --- a/hosts/bekkalokk/services/mediawiki/default.nix +++ b/hosts/bekkalokk/services/mediawiki/default.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, config, values, pkgs-unstable, ... }: let +{ pkgs, lib, fp, config, values, pkgs-unstable, ... }: let cfg = config.services.mediawiki; # "mediawiki" @@ -210,8 +210,8 @@ in { ''; }; - "= /PNG/PVV-logo.svg".alias = ../../../../assets/logo_blue_regular.svg; - "= /PNG/PVV-logo.png".alias = ../../../../assets/logo_blue_regular.png; + "= /PNG/PVV-logo.svg".alias = fp /assets/logo_blue_regular.svg; + "= /PNG/PVV-logo.png".alias = fp /assets/logo_blue_regular.png; "= /favicon.ico".alias = pkgs.runCommandLocal "mediawiki-favicon.ico" { buildInputs = with pkgs; [ imagemagick ]; } '' @@ -219,7 +219,7 @@ in { -resize x64 \ -gravity center \ -crop 64x64+0+0 \ - ${../../../../assets/logo_blue_regular.png} \ + ${fp /assets/logo_blue_regular.png} \ -flatten \ -colors 256 \ -background transparent \ diff --git a/hosts/bekkalokk/services/webmail/snappymail.nix b/hosts/bekkalokk/services/webmail/snappymail.nix index 3d51f9e..d81509e 100644 --- a/hosts/bekkalokk/services/webmail/snappymail.nix +++ b/hosts/bekkalokk/services/webmail/snappymail.nix @@ -1,8 +1,8 @@ -{ config, lib, pkgs, ... }: +{ config, lib, fp, pkgs, ... }: let cfg = config.services.snappymail; in { - imports = [ ../../../../modules/snappymail.nix ]; + imports = [ (fp /modules/snappymail.nix) ]; services.snappymail = { enable = true; diff --git a/hosts/bicep/configuration.nix b/hosts/bicep/configuration.nix index 0145826..6c96555 100644 --- a/hosts/bicep/configuration.nix +++ b/hosts/bicep/configuration.nix @@ -1,10 +1,10 @@ -{ pkgs, values, ... }: +{ fp, pkgs, values, ... }: { imports = [ ./hardware-configuration.nix - ../../base - ../../misc/metrics-exporters.nix + (fp /base) + (fp /misc/metrics-exporters.nix) ./services/nginx ./services/mysql.nix @@ -15,7 +15,7 @@ ./services/matrix ]; - sops.defaultSopsFile = ../../secrets/bicep/bicep.yaml; + sops.defaultSopsFile = fp /secrets/bicep/bicep.yaml; sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; sops.age.keyFile = "/var/lib/sops-nix/key.txt"; sops.age.generateKey = true; diff --git a/hosts/bicep/services/calendar-bot.nix b/hosts/bicep/services/calendar-bot.nix index 8eccaa6..ad5bbe5 100644 --- a/hosts/bicep/services/calendar-bot.nix +++ b/hosts/bicep/services/calendar-bot.nix @@ -1,16 +1,16 @@ -{ config, lib, pkgs, ... }: +{ config, fp, lib, pkgs, ... }: let cfg = config.services.pvv-calendar-bot; in { sops.secrets = { "calendar-bot/matrix_token" = { - sopsFile = ../../../secrets/bicep/bicep.yaml; + sopsFile = fp /secrets/bicep/bicep.yaml; key = "calendar-bot/matrix_token"; owner = cfg.user; group = cfg.group; }; "calendar-bot/mysql_password" = { - sopsFile = ../../../secrets/bicep/bicep.yaml; + sopsFile = fp /secrets/bicep/bicep.yaml; key = "calendar-bot/mysql_password"; owner = cfg.user; group = cfg.group; diff --git a/hosts/bicep/services/matrix/coturn.nix b/hosts/bicep/services/matrix/coturn.nix index e1878e9..075a4ef 100644 --- a/hosts/bicep/services/matrix/coturn.nix +++ b/hosts/bicep/services/matrix/coturn.nix @@ -1,14 +1,14 @@ -{ config, lib, pkgs, secrets, values, ... }: +{ config, lib, fp, pkgs, secrets, values, ... }: { sops.secrets."matrix/synapse/turnconfig" = { - sopsFile = ../../../../secrets/bicep/matrix.yaml; + sopsFile = fp /secrets/bicep/matrix.yaml; key = "synapse/turnconfig"; owner = config.users.users.matrix-synapse.name; group = config.users.users.matrix-synapse.group; }; sops.secrets."matrix/coturn/static-auth-secret" = { - sopsFile = ../../../../secrets/bicep/matrix.yaml; + sopsFile = fp /secrets/bicep/matrix.yaml; key = "coturn/static-auth-secret"; owner = config.users.users.turnserver.name; group = config.users.users.turnserver.group; diff --git a/hosts/bicep/services/matrix/discord.nix b/hosts/bicep/services/matrix/discord.nix index 5562d8d..81473d2 100644 --- a/hosts/bicep/services/matrix/discord.nix +++ b/hosts/bicep/services/matrix/discord.nix @@ -1,4 +1,4 @@ -{ config, lib, ... }: +{ config, lib, fp, ... }: let cfg = config.services.mx-puppet-discord; @@ -7,11 +7,11 @@ in users.groups.keys-matrix-registrations = { }; sops.secrets."matrix/discord/as_token" = { - sopsFile = ../../../../secrets/bicep/matrix.yaml; + sopsFile = fp /secrets/bicep/matrix.yaml; key = "discord/as_token"; }; sops.secrets."matrix/discord/hs_token" = { - sopsFile = ../../../../secrets/bicep/matrix.yaml; + sopsFile = fp /secrets/bicep/matrix.yaml; key = "discord/hs_token"; }; diff --git a/hosts/bicep/services/matrix/hookshot/default.nix b/hosts/bicep/services/matrix/hookshot/default.nix index 73e4812..510bc16 100644 --- a/hosts/bicep/services/matrix/hookshot/default.nix +++ b/hosts/bicep/services/matrix/hookshot/default.nix @@ -1,4 +1,4 @@ -{ config, lib, unstablePkgs, inputs, ... }: +{ config, lib, fp, unstablePkgs, inputs, ... }: let cfg = config.services.matrix-hookshot; @@ -11,11 +11,11 @@ in ]; sops.secrets."matrix/hookshot/as_token" = { - sopsFile = ../../../../../secrets/bicep/matrix.yaml; + sopsFile = fp /secrets/bicep/matrix.yaml; key = "hookshot/as_token"; }; sops.secrets."matrix/hookshot/hs_token" = { - sopsFile = ../../../../../secrets/bicep/matrix.yaml; + sopsFile = fp /secrets/bicep/matrix.yaml; key = "hookshot/hs_token"; }; diff --git a/hosts/bicep/services/matrix/mjolnir.nix b/hosts/bicep/services/matrix/mjolnir.nix index c547da2..d0e2bf5 100644 --- a/hosts/bicep/services/matrix/mjolnir.nix +++ b/hosts/bicep/services/matrix/mjolnir.nix @@ -1,8 +1,8 @@ -{ config, lib, ... }: +{ config, lib, fp, ... }: { sops.secrets."matrix/mjolnir/access_token" = { - sopsFile = ../../../../secrets/bicep/matrix.yaml; + sopsFile = fp /secrets/bicep/matrix.yaml; key = "mjolnir/access_token"; owner = config.users.users.mjolnir.name; group = config.users.users.mjolnir.group; diff --git a/hosts/bicep/services/matrix/synapse.nix b/hosts/bicep/services/matrix/synapse.nix index 463be3c..8ded195 100644 --- a/hosts/bicep/services/matrix/synapse.nix +++ b/hosts/bicep/services/matrix/synapse.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, values, inputs, ... }: +{ config, lib, fp, pkgs, values, inputs, ... }: let cfg = config.services.matrix-synapse-next; @@ -10,13 +10,13 @@ let in { sops.secrets."matrix/synapse/signing_key" = { key = "synapse/signing_key"; - sopsFile = ../../../../secrets/bicep/matrix.yaml; + sopsFile = fp /secrets/bicep/matrix.yaml; owner = config.users.users.matrix-synapse.name; group = config.users.users.matrix-synapse.group; }; sops.secrets."matrix/synapse/user_registration" = { - sopsFile = ../../../../secrets/bicep/matrix.yaml; + sopsFile = fp /secrets/bicep/matrix.yaml; key = "synapse/signing_key"; owner = config.users.users.matrix-synapse.name; group = config.users.users.matrix-synapse.group; diff --git a/hosts/bob/configuration.nix b/hosts/bob/configuration.nix index 2c9ff70..8b36198 100644 --- a/hosts/bob/configuration.nix +++ b/hosts/bob/configuration.nix @@ -1,16 +1,16 @@ -{ config, pkgs, values, ... }: +{ config, fp, pkgs, values, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix - ../../base - ../../misc/metrics-exporters.nix + (fp /base) + (fp /misc/metrics-exporters.nix) ./disks.nix - ../../misc/builder.nix + (fp /misc/builder.nix) ]; - sops.defaultSopsFile = ../../secrets/bob/bob.yaml; + sops.defaultSopsFile = fp /secrets/bob/bob.yaml; sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; sops.age.keyFile = "/var/lib/sops-nix/key.txt"; sops.age.generateKey = true; diff --git a/hosts/brzeczyszczykiewicz/configuration.nix b/hosts/brzeczyszczykiewicz/configuration.nix index a0658b3..b99fb3b 100644 --- a/hosts/brzeczyszczykiewicz/configuration.nix +++ b/hosts/brzeczyszczykiewicz/configuration.nix @@ -1,10 +1,10 @@ -{ config, pkgs, values, ... }: +{ config, fp, pkgs, values, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix - ../../base - ../../misc/metrics-exporters.nix + (fp /base) + (fp /misc/metrics-exporters.nix) ./services/grzegorz.nix ]; diff --git a/hosts/brzeczyszczykiewicz/services/grzegorz.nix b/hosts/brzeczyszczykiewicz/services/grzegorz.nix index 20574fe..d43d19b 100644 --- a/hosts/brzeczyszczykiewicz/services/grzegorz.nix +++ b/hosts/brzeczyszczykiewicz/services/grzegorz.nix @@ -1,6 +1,6 @@ -{ config, ... }: +{ config, fp, ... }: { - imports = [ ../../../modules/grzegorz.nix ]; + imports = [ (fp /modules/grzegorz.nix) ]; services.nginx.virtualHosts."${config.networking.fqdn}" = { serverAliases = [ diff --git a/hosts/georg/configuration.nix b/hosts/georg/configuration.nix index d7f6d9a..92f01bc 100644 --- a/hosts/georg/configuration.nix +++ b/hosts/georg/configuration.nix @@ -1,12 +1,12 @@ -{ config, pkgs, values, ... }: +{ config, fp, pkgs, values, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix - ../../base - ../../misc/metrics-exporters.nix + (fp /base) + (fp /misc/metrics-exporters.nix) - ../../modules/grzegorz.nix + (fp /modules/grzegorz.nix) ]; boot.loader.systemd-boot.enable = true; diff --git a/hosts/ildkule/configuration.nix b/hosts/ildkule/configuration.nix index c66d261..c6c2f1d 100644 --- a/hosts/ildkule/configuration.nix +++ b/hosts/ildkule/configuration.nix @@ -1,16 +1,16 @@ -{ config, pkgs, lib, values, ... }: +{ config, fp, pkgs, lib, values, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix - ../../base - ../../misc/metrics-exporters.nix + (fp /base) + (fp /misc/metrics-exporters.nix) ./services/monitoring ./services/nginx ]; - sops.defaultSopsFile = ../../secrets/ildkule/ildkule.yaml; + sops.defaultSopsFile = fp /secrets/ildkule/ildkule.yaml; sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; sops.age.keyFile = "/var/lib/sops-nix/key.txt"; sops.age.generateKey = true; diff --git a/hosts/shark/configuration.nix b/hosts/shark/configuration.nix index dda8ccb..65c036d 100644 --- a/hosts/shark/configuration.nix +++ b/hosts/shark/configuration.nix @@ -1,13 +1,13 @@ -{ config, pkgs, values, ... }: +{ config, fp, pkgs, values, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix - ../../base - ../../misc/metrics-exporters.nix + (fp /base) + (fp /misc/metrics-exporters.nix) ]; - sops.defaultSopsFile = ../../secrets/shark/shark.yaml; + sops.defaultSopsFile = fp /secrets/shark/shark.yaml; sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; sops.age.keyFile = "/var/lib/sops-nix/key.txt"; sops.age.generateKey = true;