Unverified Commit 2a22bb70 authored by github-actions[bot]'s avatar github-actions[bot] Committed by GitHub
Browse files

Merge master into staging-next

parents 42be0b1b 27f58ace
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -72,6 +72,8 @@

- `services.lemmy.settings.federation` was removed in 0.17.0 and no longer has any effect. To enable federation, the hostname must be set in the configuration file and then federation must be enabled in the admin web UI. See the [release notes](https://github.com/LemmyNet/lemmy/blob/c32585b03429f0f76d1e4ff738786321a0a9df98/RELEASES.md#upgrade-instructions) for more details.

- `pict-rs` was upgraded from 0.3 to 0.4 and contains an incompatible database & configuration change. To upgrade on systems with `stateVersion = "23.05";` or older follow the migration steps from https://git.asonix.dog/asonix/pict-rs#user-content-0-3-to-0-4-migration-guide and set `services.pict-rs.package = pkgs.pict-rs;`.

- The following packages in `haskellPackages` have now a separate bin output: `cabal-fmt`, `calligraphy`, `eventlog2html`, `ghc-debug-brick`, `hindent`, `nixfmt`, `releaser`. This means you need to replace e.g. `"${pkgs.haskellPackages.nixfmt}/bin/nixfmt"` with `"${lib.getBin pkgs.haskellPackages.nixfmt}/bin/nixfmt"` or `"${lib.getExe pkgs.haskellPackages.nixfmt}"`. The binaries also won’t be in scope if you rely on them being installed e.g. via `ghcWithPackages`. `environment.packages` picks the `bin` output automatically, so for normal installation no intervention is required. Also, toplevel attributes like `pkgs.nixfmt` are not impacted negatively by this change.

- `spamassassin` no longer supports the `Hashcash` module. The module needs to be removed from the `loadplugin` list if it was copied over from the default `initPreConf` option.
+14 −8
Original line number Diff line number Diff line
@@ -111,8 +111,11 @@ in
          (submodule {
            options = {
              enable = mkEnableOption (lib.mdDoc ''
                building of firmware and addition of klipper-flash tools for manual flashing.
                This will add `klipper-flash-$mcu` scripts to your environment which can be called to flash the firmware.
                building of firmware for manual flashing.
              '');
              enableKlipperFlash = mkEnableOption (lib.mdDoc ''
                flashings scripts for firmware. This will add `klipper-flash-$mcu` scripts to your environment which can be called to flash the firmware.
                Please check the configs at [klipper](https://github.com/Klipper3d/klipper/tree/master/config) whether your board supports flashing via `make flash`.
              '');
              serial = mkOption {
                type = types.nullOr path;
@@ -214,7 +217,10 @@ in
      let
        default = a: b: if a != null then a else b;
        firmwares = filterAttrs (n: v: v != null) (mapAttrs
          (mcu: { enable, configFile, serial }: if enable then pkgs.klipper-firmware.override {
          (mcu: { enable, enableKlipperFlash, configFile, serial }:
            if enable then
              pkgs.klipper-firmware.override
                {
                  mcu = lib.strings.sanitizeDerivationName mcu;
                  firmwareConfig = configFile;
                } else null)
@@ -226,7 +232,7 @@ in
            flashDevice = default cfg.firmwares."${mcu}".serial cfg.settings."${mcu}".serial;
            firmwareConfig = cfg.firmwares."${mcu}".configFile;
          })
          firmwares;
          (filterAttrs (mcu: firmware: cfg.firmwares."${mcu}".enableKlipperFlash) firmwares);
      in
      [ klipper-genconf ] ++ firmwareFlasher ++ attrValues firmwares;
  };
+65 −7
Original line number Diff line number Diff line
{ lib, pkgs, config, ... }:
with lib;

let
  cfg = config.services.pict-rs;
  inherit (lib) maintainers mkOption types;

  is03 = lib.versionOlder cfg.package.version "0.4.0";

in
{
  meta.maintainers = with maintainers; [ happysalada ];
  meta.doc = ./pict-rs.md;

  options.services.pict-rs = {
    enable = mkEnableOption (lib.mdDoc "pict-rs server");
    enable = lib.mkEnableOption (lib.mdDoc "pict-rs server");

    package = mkOption {
      type = types.package;
      example = lib.literalExpression "pkgs.pict-rs";
      description = lib.mdDoc ''
        pict-rs package to use.
      '';
    };

    dataDir = mkOption {
      type = types.path;
      default = "/var/lib/pict-rs";
      description = lib.mdDoc ''
        The directory where to store the uploaded images & database.
      '';
    };

    repoPath = mkOption {
      type = types.nullOr (types.path);
      default = null;
      description = lib.mdDoc ''
        The directory where to store the database.
        This option takes precedence over dataDir.
      '';
    };

    storePath = mkOption {
      type = types.nullOr (types.path);
      default = null;
      description = lib.mdDoc ''
        The directory where to store the uploaded images.
        This option takes precedence over dataDir.
      '';
    };

    address = mkOption {
      type = types.str;
      default = "127.0.0.1";
@@ -23,6 +55,7 @@ in
        The IPv4 address to deploy the service to.
      '';
    };

    port = mkOption {
      type = types.port;
      default = 8080;
@@ -31,18 +64,43 @@ in
      '';
    };
  };

  config = lib.mkIf cfg.enable {
    services.pict-rs.package = lib.mkDefault (
      # An incompatible db change happened in the transition from 0.3 to 0.4.
      if lib.versionAtLeast config.system.stateVersion "23.11"
      then pkgs.pict-rs
      else pkgs.pict-rs_0_3
    );

    # Account for config differences between 0.3 and 0.4
    assertions = [
      {
        assertion = !is03 || (cfg.repoPath == null && cfg.storePath == null);
        message = ''
          Using `services.pict-rs.repoPath` or `services.pict-rs.storePath` with pict-rs 0.3 or older has no effect.
        '';
      }
    ];

    systemd.services.pict-rs = {
      environment = {
      # Pict-rs split it's database and image storage paths in 0.4.0.
      environment =
        if is03 then {
          PICTRS__PATH = cfg.dataDir;
          PICTRS__ADDR = "${cfg.address}:${toString cfg.port}";
        } else {
          PICTRS__REPO__PATH = if cfg.repoPath != null then cfg.repoPath else "${cfg.dataDir}/sled-repo";
          PICTRS__STORE__PATH = if cfg.storePath != null then cfg.storePath else "${cfg.dataDir}/files";
          PICTRS__SERVER__ADDR = "${cfg.address}:${toString cfg.port}";
        };
      wantedBy = [ "multi-user.target" ];
      serviceConfig = {
        DynamicUser = true;
        StateDirectory = "pict-rs";
        ExecStart = "${pkgs.pict-rs}/bin/pict-rs";
        ExecStart = if is03 then "${lib.getBin cfg.package}/bin/pict-rs" else "${lib.getBin cfg.package}/bin/pict-rs run";
      };
    };
  };

}
+5 −0
Original line number Diff line number Diff line
@@ -3,6 +3,11 @@
  cfg = config.boot.swraid;

in {
  imports = [
    (lib.mkRenamedOptionModule [ "boot" "initrd" "services" "swraid" "enable" ] [ "boot" "swraid" "enable" ])
    (lib.mkRenamedOptionModule [ "boot" "initrd" "services" "swraid" "mdadmConf" ] [ "boot" "swraid" "mdadmConf" ])
  ];


  options.boot.swraid = {
    enable = lib.mkEnableOption (lib.mdDoc "swraid support using mdadm") // {
+2 −2
Original line number Diff line number Diff line
@@ -35,11 +35,11 @@ let
in
stdenv.mkDerivation rec {
  pname = "bisq-desktop";
  version = "1.9.10";
  version = "1.9.12";

  src = fetchurl {
    url = "https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb";
    sha256 = "1p6hwamc3vzhfg4dgrmh0vf8cxi9s46a14pjnjdyg9zgn4dyr1nm";
    sha256 = "0zzrl7dmd3m7pymwvl68gnjspbpzf1w17bcwr0ipgsszmr35k9rs";
  };

  nativeBuildInputs = [
Loading