tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
lol
0
fork
atom
overview
issues
pulls
pipelines
nixos/zram-generator: init
Nick Cao
2 years ago
a7e095d9
da167409
+43
2 changed files
expand all
collapse all
unified
split
nixos
modules
module-list.nix
services
system
zram-generator.nix
+1
nixos/modules/module-list.nix
···
1169
1169
./services/system/self-deploy.nix
1170
1170
./services/system/systembus-notify.nix
1171
1171
./services/system/uptimed.nix
1172
1172
+
./services/system/zram-generator.nix
1172
1173
./services/torrent/deluge.nix
1173
1174
./services/torrent/flexget.nix
1174
1175
./services/torrent/magnetico.nix
+42
nixos/modules/services/system/zram-generator.nix
···
1
1
+
{ config, lib, pkgs, ... }:
2
2
+
let
3
3
+
cfg = config.services.zram-generator;
4
4
+
settingsFormat = pkgs.formats.ini { };
5
5
+
in
6
6
+
{
7
7
+
meta = {
8
8
+
maintainers = with lib.maintainers; [ nickcao ];
9
9
+
};
10
10
+
11
11
+
options.services.zram-generator = {
12
12
+
enable = lib.mkEnableOption (lib.mdDoc "Systemd unit generator for zram devices");
13
13
+
14
14
+
package = lib.mkPackageOptionMD pkgs "zram-generator" { };
15
15
+
16
16
+
settings = lib.mkOption {
17
17
+
type = lib.types.submodule {
18
18
+
freeformType = settingsFormat.type;
19
19
+
};
20
20
+
default = { };
21
21
+
description = lib.mdDoc ''
22
22
+
Configuration for zram-generator,
23
23
+
see https://github.com/systemd/zram-generator for documentation.
24
24
+
'';
25
25
+
};
26
26
+
};
27
27
+
28
28
+
config = lib.mkIf cfg.enable {
29
29
+
system.requiredKernelConfig = with config.lib.kernelConfig; [
30
30
+
(isModule "ZRAM")
31
31
+
];
32
32
+
33
33
+
# Disabling this for the moment, as it would create and mkswap devices twice,
34
34
+
# once in stage 2 boot, and again when the zram-reloader service starts.
35
35
+
# boot.kernelModules = [ "zram" ];
36
36
+
37
37
+
systemd.packages = [ cfg.package ];
38
38
+
systemd.services."systemd-zram-setup@".path = [ pkgs.util-linux ]; # for mkswap
39
39
+
40
40
+
environment.etc."systemd/zram-generator.conf".source = settingsFormat.generate "zram-generator.conf" cfg.settings;
41
41
+
};
42
42
+
}