Unverified Commit 9482ff9c authored by éclairevoyant's avatar éclairevoyant
Browse files

nixos/preload: drop

parent ff26b989
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1110,7 +1110,7 @@ Make sure to also check the many updates in the [Nixpkgs library](#sec-release-2

- [preload](http://sourceforge.net/projects/preload), a service that makes
  applications run faster by prefetching binaries and shared objects.
  Available as [services.preload](#opt-services.preload.enable).
  Available as `services.preload`.

### Other Notable Changes {#sec-release-23.11-nixos-notable-changes}

+0 −1
Original line number Diff line number Diff line
@@ -913,7 +913,6 @@
  ./services/misc/podgrab.nix
  ./services/misc/polaris.nix
  ./services/misc/portunus.nix
  ./services/misc/preload.nix
  ./services/misc/pufferpanel.nix
  ./services/misc/pykms.nix
  ./services/misc/radicle.nix
+10 −0
Original line number Diff line number Diff line
@@ -71,6 +71,16 @@ in
      "programs"
      "gnome-documents"
    ] "The corresponding package was removed from nixpkgs.")
    (mkRemovedOptionModule
      [
        "services"
        "preload"
      ]
      ''
        The corresponding package was removed from nixpkgs,
        due to lack of usage and being broken since its introduction.
      ''
    ) # added 2025-11-29
    (mkRemovedOptionModule [
      "programs"
      "goldwarden"
+0 −36
Original line number Diff line number Diff line
{
  config,
  lib,
  pkgs,
  ...
}:
let
  cfg = config.services.preload;
in
{
  meta = {
    maintainers = pkgs.preload.meta.maintainers;
  };

  options.services.preload = {
    enable = lib.mkEnableOption "preload";
    package = lib.mkPackageOption pkgs "preload" { };
  };

  config = lib.mkIf cfg.enable {
    systemd.services.preload = {
      description = "Loads data into ram during idle time of CPU.";
      wantedBy = [ "multi-user.target" ];

      serviceConfig = {
        EnvironmentFile = "${cfg.package}/etc/conf.d/preload";
        ExecStart = "${lib.getExe cfg.package} -l '' --foreground $PRELOAD_OPTS";
        Type = "simple";
        # Only preload data during CPU idle time
        IOSchedulingClass = 3;
        DynamicUser = true;
        StateDirectory = "preload";
      };
    };
  };
}