nichts/modules/services/wayneko/module.nix

44 lines
1.1 KiB
Nix

{
config,
lib,
pkgs,
...
}: let
inherit (lib.meta) getExe;
in {
systemd.user.services.wayneko = {
description = "Wayneko, as a systemd service";
wantedBy = ["graphical-session.target"];
partOf = ["graphical-session.target"];
after = ["graphical-session.target"];
serviceConfig = {
ExecStart = "${getExe pkgs.wayneko} --layer top";
LockPersonality = true;
MemoryDenyWriteExecute = true;
NoNewPrivileges = true;
PrivateTmp = true;
PrivateDevices = true;
DevicePolicy = "closed";
PrivateNetwork = true;
ProtectClock = true;
ProtectControlGroups = true;
ProtectControlGroup = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectSystem = "strict";
ProtectHome = "read-only";
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictRealTime = true;
RestrictSUIDSGID = true;
SystemCallFilter = "~@clock @cpu-emulation @debug @obsolete @module @mount @raw-io @reboot @swap";
};
};
}