update flake to 23.11 #79

Merged
rouven0 merged 3 commits from nixos-23.11 into main 2023-12-14 15:53:29 +01:00
3 changed files with 18 additions and 39 deletions
Showing only changes of commit f57babf97c - Show all commits

View file

@ -22,6 +22,7 @@
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt; formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt;
hydraJobs."x86-64-linux".quitte = self.packages."x86_64-linux".quitte; hydraJobs."x86-64-linux".quitte = self.packages."x86_64-linux".quitte;
overlays.default = import ./overlays;
nixosConfigurations = { nixosConfigurations = {
quitte = nixpkgs.lib.nixosSystem { quitte = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
@ -67,6 +68,7 @@
./modules/sharepic.nix ./modules/sharepic.nix
./modules/zammad.nix ./modules/zammad.nix
{ {
nixpkgs.overlays = [ self.overlays.default ];
sops.defaultSopsFile = ./secrets/quitte.yaml; sops.defaultSopsFile = ./secrets/quitte.yaml;
} }
]; ];

View file

@ -1,41 +1,4 @@
{ pkgs, config, lib, ... }: { pkgs, config, lib, ... }:
with lib;
let
# We write a custom config file because the upstream config has some flaws
fd_cfg = config.services.bacula-fd;
fd_conf = pkgs.writeText "bacula-fd.conf" ''
Client {
Name = ${fd_cfg.name}
FDPort = ${toString fd_cfg.port}
WorkingDirectory = /var/lib/bacula
Pid Directory = /run
${fd_cfg.extraClientConfig}
}
${concatStringsSep "\n" (mapAttrsToList (name: value: ''
Director {
Name = ${name}
Password = ${value.password}
Monitor = ${value.monitor}
}
'') fd_cfg.director)}
Messages {
Name = Standard;
syslog = all, !skipped, !restored
${fd_cfg.extraMessagesConfig}
}
'';
# AGDSN is running an outdated version that we have to comply to
bacula_package = (pkgs.bacula.overrideAttrs (old: rec {
version = "9.6.7";
src = pkgs.fetchurl {
url = "mirror://sourceforge/bacula/${old.pname}-${version}.tar.gz";
sha256 = "sha256-3w+FJezbo4DnS1N8pxrfO3WWWT8CGJtZqw6//IXMyN4=";
};
}));
in
{ {
sops.secrets = { sops.secrets = {
"bacula/password".owner = "bacula"; "bacula/password".owner = "bacula";
@ -56,7 +19,7 @@ in
''; '';
extraMessagesConfig = '' extraMessagesConfig = ''
director = abel-dir = all, !skipped, !restored director = abel-dir = all, !skipped, !restored
mailcommand = "${bacula_package}/bin/bsmtp -f \"Bacula <bacula@${config.networking.domain}>\" -s \"Bacula report" %r" mailcommand = "${pkgs.bacula}/bin/bsmtp -f \"Bacula <bacula@${config.networking.domain}>\" -s \"Bacula report" %r"
mail = root+backup = all, !skipped mail = root+backup = all, !skipped
''; '';
director."abel-dir".password = "@${config.sops.secrets."bacula/password".path}"; director."abel-dir".password = "@${config.sops.secrets."bacula/password".path}";
@ -73,5 +36,4 @@ in
Password = @${config.sops.secrets."bacula/password".path} Password = @${config.sops.secrets."bacula/password".path}
} }
''; '';
systemd.services.bacula-fd.serviceConfig.ExecStart = lib.mkForce "${bacula_package}/sbin/bacula-fd -f -u root -g bacula -c ${fd_conf}";
} }

15
overlays/default.nix Normal file
View file

@ -0,0 +1,15 @@
_final: prev:
let
inherit (prev) fetchurl;
in
{
# AGDSN is running an outdated version that we have to comply to
bacula = (prev.bacula.overrideAttrs (old: rec {
version = "9.6.7";
src = fetchurl {
url = "mirror://sourceforge/bacula/${old.pname}-${version}.tar.gz";
sha256 = "sha256-3w+FJezbo4DnS1N8pxrfO3WWWT8CGJtZqw6//IXMyN4=";
};
}));
}