44 lines
1.1 KiB
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";
|
|
};
|
|
};
|
|
}
|