This document showcases which options are used on my (arch desktop) installation. If rustysd can provide all these I could start experimenting with starting distros with rustysd as PID1. I might first evaluate the situation more minimal installations (debian minimal for example).
- After
- Alias
- AllowIsolate
- Also
- AmbientCapabilities
- AssertPathExists
- Before
- BindsTo
- BusName
- CapabilityBoundingSet
- ConditionACPower
- ConditionCapability
- ConditionDirectoryNotEmpty
- ConditionFileIsExecutable
- ConditionFileNotEmpty
- ConditionFirstBoot
- ConditionKernelCommandLine
- ConditionNeedsUpdate
- ConditionPathExists
- ConditionPathIsMountPoint
- ConditionPathIsReadWrite
- ConditionPathIsSymbolicLink
- ConditionUser
- ConditionVirtualization
- Conflicts
- CPUSchedulingPolicy
- DefaultDependencies
- DefaultInstance
- Delegate
- Description
- DeviceAllow
- DevicePolicy
- Documentation
- DynamicUser
- Environment
- EnvironmentFile
- Exec
- ExecReload
- ExecStart
- ExecStartPost
- ExecStartPre
- ExecStop
- ExecStopPost
- FileDescriptorStoreMax
- Group
- IgnoreOnIsolate
- IgnoreSIGPIPE
- IOSchedulingClass
- IOSchedulingPriority
- IPAddressDeny
- KeyringMode
- KillMode
- KillSignal
- LimitCORE
- LimitMEMLOCK
- LimitNOFILE
- LimitNPROC
- LockPersonality
- LogsDirectory
- MemoryDenyWriteExecute
- Name
- Nice
- NonBlocking
- NoNewPrivileges
- NotifyAccess
- OnFailure
- OnFailureJobMode
- OOMScoreAdjust
- PAMName
- PartOf
- PIDFile
- PrivateDevices
- PrivateMounts
- PrivateNetwork
- PrivateTmp
- PrivateUsers
- ProtectControlGroups
- ProtectHome
- ProtectHostname
- ProtectKernelLogs
- ProtectKernelModules
- ProtectKernelTunables
- ProtectSystem
- ReadWritePaths
- RefuseManualStop
- RemainAfterExit
- RequiredBy
- Requires
- RequiresMountsFor
- Requisite
- Restart
- RestartForceExitStatus
- RestartKillSignal
- RestartPreventExitStatus
- RestartSec
- RestrictAddressFamilies
- RestrictNamespaces
- RestrictRealtime
- RestrictSUIDSGID
- RuntimeDirectory
- RuntimeDirectoryPreserve
- RuntimeMaxSec
- SendSIGHUP
- Slice
- Sockets
- StandardError
- StandardInput
- StandardOutput
- StartLimitBurst
- StartLimitInterval
- StateDirectory
- StopWhenUnneeded
- SuccessAction
- SuccessExitStatus
- SupplementaryGroups
- SyslogIdentifier
- SystemCallArchitectures
- SystemCallErrorNumber
- SystemCallFilter
- SystemdService
- TasksMax
- TimeoutSec
- TimeoutStartSec
- TimeoutStopSec
- TTYPath
- TTYReset
- TTYVHangup
- TTYVTDisallocate
- Type
- UMask
- UnsetEnvironment
- User
- UtmpIdentifier
- WantedBy
- Wants
- WatchdogSec
- WorkingDirectory
- Accept
- After
- Backlog
- Before
- BindIPv6Only
- BindsTo
- ConditionCapability
- ConditionPathIsReadWrite
- ConditionSecurity
- ConditionUser
- Conflicts
- DefaultDependencies
- Description
- DirectoryMode
- Documentation
- ExecStartPost
- FileDescriptorName
- IgnoreOnIsolate
- ListenDatagram
- ListenFIFO
- ListenNetlink
- ListenSequentialPacket
- ListenSpecial
- ListenStream
- MaxConnections
- PartOf
- PassCredentials
- PassSecurity
- Priority
- ReceiveBuffer
- RemoveOnStop
- RequiresMountsFor
- RuntimeDirectory
- SendBuffer
- Service
- SocketGroup
- SocketMode
- SocketUser
- Symlinks
- WantedBy
- Wants
- Writable