nixos/zram-generator: init
This commit is contained in:
parent
da16740990
commit
a7e095d9fd
2 changed files with 43 additions and 0 deletions
|
@ -1169,6 +1169,7 @@
|
||||||
./services/system/self-deploy.nix
|
./services/system/self-deploy.nix
|
||||||
./services/system/systembus-notify.nix
|
./services/system/systembus-notify.nix
|
||||||
./services/system/uptimed.nix
|
./services/system/uptimed.nix
|
||||||
|
./services/system/zram-generator.nix
|
||||||
./services/torrent/deluge.nix
|
./services/torrent/deluge.nix
|
||||||
./services/torrent/flexget.nix
|
./services/torrent/flexget.nix
|
||||||
./services/torrent/magnetico.nix
|
./services/torrent/magnetico.nix
|
||||||
|
|
42
nixos/modules/services/system/zram-generator.nix
Normal file
42
nixos/modules/services/system/zram-generator.nix
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.services.zram-generator;
|
||||||
|
settingsFormat = pkgs.formats.ini { };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
meta = {
|
||||||
|
maintainers = with lib.maintainers; [ nickcao ];
|
||||||
|
};
|
||||||
|
|
||||||
|
options.services.zram-generator = {
|
||||||
|
enable = lib.mkEnableOption (lib.mdDoc "Systemd unit generator for zram devices");
|
||||||
|
|
||||||
|
package = lib.mkPackageOptionMD pkgs "zram-generator" { };
|
||||||
|
|
||||||
|
settings = lib.mkOption {
|
||||||
|
type = lib.types.submodule {
|
||||||
|
freeformType = settingsFormat.type;
|
||||||
|
};
|
||||||
|
default = { };
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Configuration for zram-generator,
|
||||||
|
see https://github.com/systemd/zram-generator for documentation.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
system.requiredKernelConfig = with config.lib.kernelConfig; [
|
||||||
|
(isModule "ZRAM")
|
||||||
|
];
|
||||||
|
|
||||||
|
# Disabling this for the moment, as it would create and mkswap devices twice,
|
||||||
|
# once in stage 2 boot, and again when the zram-reloader service starts.
|
||||||
|
# boot.kernelModules = [ "zram" ];
|
||||||
|
|
||||||
|
systemd.packages = [ cfg.package ];
|
||||||
|
systemd.services."systemd-zram-setup@".path = [ pkgs.util-linux ]; # for mkswap
|
||||||
|
|
||||||
|
environment.etc."systemd/zram-generator.conf".source = settingsFormat.generate "zram-generator.conf" cfg.settings;
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue