SYSTEMD.DIRECTIVES(7)

🦋 SYSTEMD.DIRECTIVES(7) 🦋

okay bestie, welcome to systemd.directives(7) — the index of configuration directives. If you're like “where do I even set this thing??” this page is your map. 💅

✨ NAME ✨

systemd.directives — Index of configuration directives.

👑 UNIT DIRECTIVES 👑

Directives for configuring units, used in unit files. Basically: unit-file settings live here, and each one points you at the man page that actually explains it. No cap. 🫶

okay the Limit squad is fully accounted for, we love a consistent family ✨

the Listen- lineup is giving socket main character energy, all eight of them 🦋

the Memory- cluster really said "we contain multitudes" and honestly? valid 🧚


the On- timers are literally the "girls when the clock strikes" meme, every single one of them is in systemd.timer(5) except the unit ones, iykyk ⏰💖

the Protect- girls are ALL in systemd.exec(5) and they are absolutely the bodyguards of the group chat 👑

the Root- and Runtime- block is LONG and it ate, no crumbs left, all of it in systemd.exec(5) except the two Runtime baddies sharing with systemd.scope(5) and systemd.service(5) 🌈


⌨️ OPTIONS ON THE KERNEL COMMAND LINE ✨

Kernel boot options for configuring the behaviour of the systemd process. Yes bestie, these are the ones you type at the boot prompt — the originals, the OGs 💅


✨ SMBIOS TYPE 11 VARIABLES ✨

Data passed from VMM to system via SMBIOS Type 11. Like, the hypervisor slides notes under the door and systemd picks them up. 💌


💖 ENVIRONMENT VARIABLES 💖

Environment variables understood by the systemd manager and other programs and environment variable-compatible settings. Basically the group chat of config — everyone's passing notes. 🫶

and bestie, we are not done, hold on— 💅

okay so we're still deep in the env-var lineup and honestly? it never ends (affectionate). every single one of these is a little gremlin with a whole manpage family that explains it, so here's who documents who 🫶


okay and now bestie, plot twist 🌀 — the vibe shifts a lil because these next ones aren't shell variables you export, they're the config-file keys (note the = glued on the end, she's a different species, respect the drip). Same energy though, same "which manpage explains me" energy 💅


🔐 SYSTEM CREDENTIALS

okay so these are the system credentials that the system and service manager (and a whole bunch of other components) actually understand. It's giving very "secret handshake but make it systemd" 💅


🦋 EFI VARIABLES

these are the EFI variables that systemd-boot(7) and other programs out here understand. firmware-coded, lowkey iconic 🎀


🏠 HOME AREA/USER ACCOUNT DIRECTIVES

these are the directives for setting up home areas and user accounts through systemd-homed.service(8). very main character energy fr fr 💅

✨ UDEV DIRECTIVES ✨

Okay so these are the directives for configuring systemd units through the udev database. That's the whole vibe. 💅


🌐 NETWORK DIRECTIVES 🌐

And these cuties are the directives for configuring network links through the net-setup-link udev builtin, and networks</> through systemd-networkd. Networking era fr fr. 🦋

okay bestie we are DEEP in the alphabet now, no turning back 💅 every single one of these is a real directive, and the man page in the parens is where it actually lives — that's where you go for the deets, i'm just your index girlie ✨

ngl this stretch of the alphabet is basically the systemd.network(5) cinematic universe 😭 every few lines she pops back up like "miss me?" and yes ma'am you did 💖

and we're not even done, hold on bestie, more letters are coming 🌈

okay so we're deep in the alphabet soup now, bestie — every entry here is just a name and where it lives. Think of it as a group chat roster: "who's in which man page?" and you're the one keeping receipts. let's go 💅

not the P section being this long 😭 bestie we are so close to Q, hold my hand 🫶

the way the R block is giving "routing renaissance" ✨ iconic. anyway—

Type= showing up in four man pages at once? main character energy fr 👑

and that's where we pause, bestie — still more coming, don't go anywhere 💖


✨ JOURNAL FIELDS ✨

Okay so these are the fields you'll see inside journal events that have a well known meaning — like the journal already knows what they are and treats them special. 👑


Now entering the underscore era — single underscore first, bestie, don't get it twisted 👇

And now the double underscore girlies, the ones that start with __. Yes they really do. Not a typo, she's just extra 💅


🎀 PAM CONFIGURATION DIRECTIVES 🎀

These are the directives for configuring how PAM behaves. Yes, PAM. Yes, she has opinions. ✨

🔐 /ETC/CRYPTTAB, /ETC/VERITYTAB AND /ETC/FSTAB OPTIONS 🔐

okay so bestie, this is where the plot twists live 💅 these are all the option keywords that change how your filesystems get mounted and how your encrypted volumes do their whole thing. You drop them into crypttab(5), veritytab(5) and fstab. Every single one below tells you which man page has the full tea — go read that one for the deep dive, iykyk 💖


🧚 SYSTEMD.NSPAWN(5) DIRECTIVES 🧚

no cap, this next batch is the whole toolkit for configuring your systemd-nspawn containers — the vibe of every single one is spelled out in systemd.nspawn(5) 💜

💾 PROGRAM CONFIGURATION OPTIONS 💾

Okay bestie, this is the master list of directives that change how the systemd process itself and its little tool family behave — all configured through config files. Think of it as the backstage pass list. Every single one below, with the man page that actually explains it. No skips, no cap. 💅

Real talk: this list is alphabetical and that's the only reason it's navigable, so if you're ctrl+F-ing, you're doing it right, queen. 🔍✨

🎀 COMMAND LINE OPTIONS 🎀

Now we're in flag territory — the command-line options that the systemd squad of programs actually accepts when you type at them. Same deal as above: every flag, every program it belongs to, nothing left out. Let's goooo. 🌈

Not me noticing that --all is out here living its best life across eleven different tools. Truly the main character of flags. 👑

okay so the ---zone continues and bestie we are still going 💅 same deal as before: here's every flag, and here's which tool claims it as its own.

and there's still more of the alphabet waiting, so hold on bestie 💖

still mid-alphabet, still listing every single command line option and which page claims it — no skipping, bestie 💅


okay bestie we are deep in the reverse-index zone now 🌀 — this is where every flag, keyword, and magic little word gets matched up with the man pages that claim it. it's giving "who's tagged in this photo" energy. let's go 💅


✨ CONSTANTS ✨

okay bestie, new vibe, same energy 💖 This bit is where all the raw constants live — the literal values that systemd uses and/or defines. Not directives, not options, just… the actual things. The magic numbers. The cursed little strings. The errno codes that show up in your life at 3am 😭 Keep scrolling, they're all here.

yes bestie, -1 shows up twice 👀 it's fine, it's just living its double life. Not a typo, we don't do typos here 💅
ok that one is HUGE 😭 but every single page stays, no cap. -ECHILD is the main character of the constants list fr fr 👑

and we're still going, don't you dare close the tab 🫶 more coming in the next part, bestie.

-EINVAL 💀

The moment. The icon. The main character of error codes, literally everywhere — here's the full guest list:

sd_bus_add_node_enumerator(3), sd_bus_add_object(3), sd_bus_add_object_manager(3), sd_bus_call(3), sd_bus_creds_get_pid(3), sd_bus_creds_new_from_pid(3), sd_bus_default(3), sd_bus_emit_signal(3), sd_bus_error(3), sd_bus_error_add_map(3), sd_bus_get_fd(3), sd_bus_get_name_creds(3), sd_bus_get_name_machine_id(3), sd_bus_interface_name_is_valid(3), sd_bus_list_names(3), sd_bus_message_append(3), sd_bus_message_append_array(3), sd_bus_message_append_basic(3), sd_bus_message_append_string_memfd(3), sd_bus_message_append_strv(3), sd_bus_message_at_end(3), sd_bus_message_copy(3), sd_bus_message_get_cookie(3), sd_bus_message_get_monotonic_usec(3), sd_bus_message_get_signature(3), sd_bus_message_get_type(3), sd_bus_message_new(3), sd_bus_message_new_method_call(3), sd_bus_message_new_method_error(3), sd_bus_message_new_signal(3), sd_bus_message_open_container(3), sd_bus_message_read(3), sd_bus_message_read_array(3), sd_bus_message_read_basic(3), sd_bus_message_read_strv(3), sd_bus_message_rewind(3), sd_bus_message_seal(3), sd_bus_message_sensitive(3), sd_bus_message_set_destination(3), sd_bus_message_set_expect_reply(3), sd_bus_message_skip(3), sd_bus_message_verify_type(3), sd_bus_negotiate_fds(3), sd_bus_process(3), sd_bus_query_sender_creds(3), sd_bus_reply_method_error(3), sd_bus_reply_method_return(3), sd_bus_request_name(3), sd_bus_send(3), sd_bus_set_address(3), sd_bus_set_description(3), sd_bus_set_exit_on_disconnect(3), sd_bus_set_fd(3), sd_bus_set_method_call_timeout(3), sd_bus_set_server(3), sd_bus_slot_set_description(3), sd_bus_slot_set_destroy_callback(3), sd_bus_slot_set_floating(3), sd_bus_start(3), sd_bus_track_add_name(3), sd_bus_track_new(3), sd_bus_wait(3), sd_device_enumerator_add_match_parent(3), sd_device_enumerator_new(3), sd_device_get_syspath(3), sd_event_add_child(3), sd_event_add_defer(3), sd_event_add_inotify(3), sd_event_add_io(3), sd_event_add_memory_pressure(3), sd_event_add_signal(3), sd_event_add_time(3), sd_event_exit(3), sd_event_get_fd(3), sd_event_now(3), sd_event_run(3), sd_event_set_exit_on_idle(3), sd_event_set_signal_exit(3), sd_event_set_watchdog(3), sd_event_source_get_pending(3), sd_event_source_set_description(3), sd_event_source_set_destroy_callback(3), sd_event_source_set_enabled(3), sd_event_source_set_exit_on_failure(3), sd_event_source_set_floating(3), sd_event_source_set_prepare(3), sd_event_source_set_priority(3), sd_event_source_set_ratelimit(3), sd_event_wait(3), sd_hwdb_get(3), sd_hwdb_new(3), sd_journal_get_cursor(3), sd_journal_get_data(3), sd_journal_query_unique(3), sd_json_dispatch_string(3), sd_json_parse(3), sd_login_monitor_new(3), sd_machine_get_class(3), sd_path_lookup(3), sd_pid_get_owner_uid(3), sd_seat_get_active(3), sd_session_is_active(3), sd_uid_get_state(3), sd_varlink_call_and_upgrade(3), sd_varlink_connect_address(3), sd_varlink_is_connected(3), sd_varlink_push_fd(3), sd_varlink_reply_and_upgrade(3), sd_varlink_send(3), sd_varlink_server_listen_address(3), sd_varlink_server_new(3), sd_varlink_set_description(3), sd_varlink_set_relative_timeout(3)

-EIO 🌸

A tiny little trio, so cozy: sd_bus_error(3), sd_journal_get_data(3), sd_journal_query_unique(3)

-ELOOP 🌀

Just one girlie carrying this whole vibe: sd_bus_call(3)

-EMFILE 🎀

Solo act, no notes: sd_event_new(3)

-EMSGSIZE 💅

One single queen: sd_bus_message_append_string_memfd(3)

-ENOBUFS ✨

The whole squad: sd_bus_send(3), sd_journal_get_data(3), sd_journal_query_unique(3), sd_varlink_push_fd(3), sd_varlink_send(3)

-ENODATA 🫶

Nothing there, bestie. Spotted in: sd_bus_creds_get_pid(3), sd_bus_message_get_cookie(3), sd_bus_message_get_monotonic_usec(3), sd_bus_negotiate_fds(3), sd_bus_set_address(3), sd_bus_set_description(3), sd_event_exit(3), sd_json_parse(3), sd_pid_get_owner_uid(3), sd_seat_get_active(3), sd_session_is_active(3), sd_uid_get_state(3)

-ENOENT 🙈

Ghosted, literally. Hangs out with: sd_device_get_syspath(3), sd_hwdb_get(3), sd_hwdb_new(3), sd_id128_get_machine(3), sd_journal_get_data(3), sd_journal_query_unique(3)

-ENOEXEC 🦋

One name only: sd_event_source_set_ratelimit(3)

-ENOMEDIUM 💜

Two icons: sd_bus_default(3), sd_id128_get_machine(3)

-ENOMEM 😭

The "we're out of memory" committee, and they are everywhere: sd_bus_add_node_enumerator(3), sd_bus_add_object(3), sd_bus_add_object_manager(3), sd_bus_call(3), sd_bus_creds_get_pid(3), sd_bus_creds_new_from_pid(3), sd_bus_default(3), sd_bus_emit_signal(3), sd_bus_error(3), sd_bus_error_add_map(3), sd_bus_get_name_creds(3), sd_bus_get_name_machine_id(3), sd_bus_list_names(3), sd_bus_message_append(3), sd_bus_message_append_array(3), sd_bus_message_append_basic(3), sd_bus_message_append_string_memfd(3), sd_bus_message_append_strv(3), sd_bus_message_copy(3), sd_bus_message_new(3), sd_bus_message_new_method_call(3), sd_bus_message_new_method_error(3), sd_bus_message_new_signal(3), sd_bus_message_open_container(3), sd_bus_message_skip(3), sd_bus_new(3), sd_bus_reply_method_error(3), sd_bus_reply_method_return(3), sd_bus_send(3), sd_bus_set_description(3), sd_bus_slot_set_description(3), sd_bus_track_add_name(3), sd_bus_track_new(3), sd_device_enumerator_add_match_parent(3), sd_device_enumerator_new(3), sd_event_add_child(3), sd_event_add_defer(3), sd_event_add_inotify(3), sd_event_add_io(3), sd_event_add_memory_pressure(3), sd_event_add_signal(3), sd_event_add_time(3), sd_event_new(3), sd_event_source_get_pending(3), sd_event_source_set_description(3), sd_event_source_set_enabled(3), sd_event_source_set_prepare(3), sd_event_source_set_priority(3), sd_get_seats(3), sd_hwdb_new(3), sd_journal_get_data(3), sd_json_dispatch_string(3), sd_json_parse(3), sd_login_monitor_new(3), sd_machine_get_class(3), sd_path_lookup(3), sd_pid_get_owner_uid(3), sd_seat_get_active(3), sd_session_is_active(3), sd_uid_get_state(3), sd_varlink_call_and_upgrade(3), sd_varlink_connect_address(3), sd_varlink_push_fd(3), sd_varlink_reply_and_upgrade(3), sd_varlink_send(3), sd_varlink_set_description(3)

-ENOMSG 💖

Solo: sd_bus_message_seal(3)

-ENOPKG 🎁

The package-less crew: sd_bus_add_node_enumerator(3), sd_bus_add_object(3), sd_bus_add_object_manager(3), sd_bus_can_send(3), sd_bus_emit_signal(3), sd_bus_get_fd(3), sd_bus_get_name_creds(3), sd_bus_get_name_machine_id(3), sd_bus_list_names(3), sd_bus_negotiate_fds(3), sd_bus_set_address(3), sd_bus_set_description(3), sd_bus_set_exit_on_disconnect(3), sd_bus_set_fd(3), sd_bus_set_method_call_timeout(3), sd_bus_set_server(3), sd_bus_start(3), sd_id128_get_machine(3)

-ENOSYS 👻

Not implemented, babe: sd_event_add_inotify(3), sd_id128_get_machine(3)

-ENOTCONN 🫥

Nobody's home on the socket: sd_bus_call(3), sd_bus_can_send(3), sd_bus_get_fd(3), sd_bus_list_names(3), sd_bus_message_new(3), sd_bus_message_new_method_call(3), sd_bus_message_new_method_error(3), sd_bus_message_new_signal(3), sd_bus_process(3), sd_bus_query_sender_creds(3), sd_bus_reply_method_error(3), sd_bus_reply_method_return(3), sd_bus_request_name(3), sd_bus_send(3), sd_bus_set_server(3), sd_bus_wait(3), sd_varlink_call_and_upgrade(3), sd_varlink_reply_and_upgrade(3), sd_varlink_send(3)

-ENOTTY 🍓

Just the one: sd_event_add_memory_pressure(3)

-ENXIO 🔥

No such device or address, and she's booked solid: sd_bus_creds_get_pid(3), sd_bus_message_append(3), sd_bus_message_append_array(3), sd_bus_message_append_basic(3), sd_bus_message_append_string_memfd(3), sd_bus_message_append_strv(3), sd_bus_message_copy(3), sd_bus_message_open_container(3), sd_bus_message_read(3), sd_bus_message_read_basic(3), sd_bus_message_read_strv(3), sd_bus_message_skip(3), sd_bus_set_description(3), sd_bus_slot_set_description(3), sd_event_new(3), sd_event_source_set_description(3), sd_id128_get_machine(3), sd_machine_get_class(3), sd_path_lookup(3), sd_seat_get_active(3), sd_session_is_active(3), sd_uid_get_state(3)

-EOPNOTSUPP 🙅‍♀️

Nope, not supported, sorry bestie: sd_bus_creds_new_from_pid(3), sd_bus_message_new_method_call(3), sd_bus_message_read_array(3), sd_bus_send(3), sd_event_add_memory_pressure(3), sd_event_add_time(3), sd_event_now(3), sd_path_lookup(3), sd_pidfd_get_inode_id(3)

-EOVERFLOW 🌊

One: sd_event_add_time(3)

-EPERM 🔒

Permission denied, and she brought the whole group chat: sd_bus_get_fd(3), sd_bus_get_name_creds(3), sd_bus_message_append(3), sd_bus_message_append_array(3), sd_bus_message_append_basic(3), sd_bus_message_append_string_memfd(3), sd_bus_message_append_strv(3), sd_bus_message_at_end(3), sd_bus_message_copy(3), sd_bus_message_new_method_call(3), sd_bus_message_new_method_error(3), sd_bus_message_open_container(3), sd_bus_message_read_array(3), sd_bus_message_read_strv(3), sd_bus_message_rewind(3), sd_bus_message_set_destination(3), sd_bus_message_set_expect_reply(3), sd_bus_message_skip(3), sd_bus_message_verify_type(3), sd_bus_negotiate_fds(3), sd_bus_query_sender_creds(3), sd_bus_reply_method_error(3), sd_bus_reply_method_return(3), sd_bus_set_address(3), sd_bus_set_description(3), sd_bus_set_fd(3), sd_bus_set_sender(3), sd_bus_set_server(3), sd_bus_start(3), sd_event_add_io(3), sd_id128_get_machine(3), sd_varlink_push_fd(3)

-EPROTO 📡

Protocol tea gone wrong: sd_varlink_call_and_upgrade(3), sd_varlink_reply_and_upgrade(3)

-EPROTONOSUPPORT 🚫

Not that protocol, thanks: sd_journal_get_data(3), sd_journal_query_unique(3), sd_varlink_connect_address(3)

-EPROTOTYPE 🎭

Solo: sd_bus_add_object(3)

-ESOCKTNOSUPPORT 🧦

Solo: sd_bus_default(3)

-ESRCH 🫧

No such process, oop: sd_bus_creds_new_from_pid(3), sd_bus_emit_signal(3), sd_bus_request_name(3), sd_pid_get_owner_uid(3)

-ESTALE 🥀

Stale handle energy, and it's a whole crowd: sd_bus_message_append(3), sd_bus_message_append_array(3), sd_bus_message_append_basic(3), sd_bus_message_append_string_memfd(3), sd_bus_message_append_strv(3), sd_bus_message_copy(3), sd_bus_message_open_container(3), sd_bus_slot_set_floating(3), sd_event_add_child(3), sd_event_add_defer(3), sd_event_add_inotify(3), sd_event_add_io(3), sd_event_add_memory_pressure(3), sd_event_add_signal(3), sd_event_add_time(3), sd_event_exit(3), sd_event_run(3), sd_event_source_get_pending(3), sd_event_source_set_prepare(3), sd_event_source_set_priority(3), sd_event_wait(3), sd_journal_get_realtime_usec(3)

-ETIMEDOUT ⏰

You took too long, bestie: sd_bus_call(3)

-EUCLEAN 🧼

One: sd_id128_get_machine(3)

-EUNATCH 🔌

One: sd_bus_track_add_name(3)


/etc/subuid 📁

Belongs to: systemd-vmspawn(1)

/org/freedesktop/systemd1 📁

Belongs to: org.freedesktop.systemd1(5)

okay bestie we're deep in the index now — this is the part where every single term, constant, UUID, errno-ish number and BPF doodad gets its receipts 💅 Each one points at the page where it actually gets explained. No skimming, no skipping, we're listing all of them.


and now… the BPF section. buckle up bestie, it's a long one 🫶 every single one of these lives in systemd.exec(5):

(still deep in the index, bestie — we're living in the B's, C's, E's, I's and L's now, hold my hand 🫶)

that entire BPFProgType* run? every single one of them lives in systemd.exec(5). iconic consistency, no notes 💅

and the rest of the BPF fam too — all systemd.exec(5), all the way down ✨


not the literal single letter C being a whole index entry 💀 bestie it's in tmpfiles.d(5)

capabilities era 💖 most of these are chillin' in systemd-nspawn(1), a few popped over to systemd.exec(5), and the sus ones visit more than one page


clock entries really said "we're gonna be on SO many pages" ⏰✨ CLOCK_REALTIME is booked and busy fr


the whole EPOLL* squad is basically an sd_event_add_io(3) group chat, with a couple of them also crashing sd_notify(3) and the unit pages 🌸


the ENTIRE EXIT_* family, all repping systemd.exec(5) — except EXIT_FAILURE which is out here living on three pages like a main character 👑


and the EX_* codes too — systemd.exec(5) for basically all of them, with EX_CANTCREAT and EX_DATAERR also showing up in systemd-tmpfiles(8) 🫶


the IN_* inotify gang all hang out in sd_event_add_inotify(3) together, cute 🦋

all the IPPROTO_*, IPV6_* and IP_* socket options are systemd.socket(5) girlies, except the *_FREEBIND ones which also drop by daemon(7) 💖


and that's the tea so far — still so much alphabet left, bestie, don't you dare close the terminal 😭✨

still deep in the constants glossary bestie, we're at M and we are NOT stopping until S 💅 every term here is a little thing you'll bump into across the docs, and next to it is the squad of man pages that name-drop it. let's go:


okay now the SD_BUS_CREDS_* run, which is honestly giving "credential flag buffet" 🍓 and every single one of them is documented in sd_bus_creds_new_from_pid(3):


and now the error-code section, the SD_BUS_ERROR_* collection, every one of them catalogued in sd-bus-errors(3) (except the two macros at the end, which belong to sd_bus_error(3)):

okay bestie, deep breath, because the constants list is long and we're not even done — this is the part where the manpage just starts yeeting every identifier in the known universe at you and pointing at wherever it's actually documented. every single one of these is a real thing, spelled exactly like this, and the page in the back is where you go read about it. no cap 💅

that whole SD_GPT_USR_* block? it's giving architecture directory, one per CPU family, and they ALL live in systemd-gpt-auto-generator(8). iconic. 🎀

the SD_ID128_* family is a whole squad and honestly they ate — every one of them is defined over in sd-id128(3) unless it's got a bonus page listed. ✨

not the SD_JSON_PARSE_* squad all sharing ONE page like a group chat with a single brain cell 🫶 every single one of them → sd_json_parse(3).

okay the SD_PATH_* block is genuinely enormous, like the manpage said "let me list every path constant" and then did. every single one points at sd_path_lookup(3). here we go bestie, no skipping 💀

see? told you. every single one of those lives in sd_path_lookup(3) and not one of them got a solo page. main character energy, honestly 👑

the SD_VARLINK_SERVER_* girlies mostly hang out in sd_varlink_server_new(3), except the last few who got invited to two parties. and SD_VARLINK_SERVER_MODE_MKDIR_0755 is doing her own thing in sd_varlink_server_listen_address(3) — notice the literal 0755</italic> in the name, bestie, that's a permission mode and it's spelled exactly like that 🎀

the plain signal section — SIGHUP, SIGINT, SIGKILL — each one is like a little ✨collab✨ because they show up in a whole bunch of pages at once. SIGKILL especially, she's booked and busy 🔥

now the realtime signals, and bestie I need you to brace yourself because the ordering here is not numeric. it's exactly as printed. do not "fix" it, do not sort it, just vibe with it 🙈

see what I mean? +1, then +13, then all the way to +17, then back to +2, then +20 through +28, then +3 through +7. it's giving "we listed these in the order we thought of them" and honestly? respect 💅 also note the two weird ones: SIGRTMAX-... and SIGRTMIN+... both point at org.freedesktop.systemd1(5), while SIGRTMIN+1 is the only one that also drags resolvectl(1) and systemd-resolved.service(8) into the group chat, and SIGRTMIN+3 brings systemd-nspawn(1) along. every other single SIGRTMIN+ in that block is just systemd(1), periodt.


and that's the constants-and-identifiers stretch done for this chunk 🦋 remember the whole point of these entries: the name on the left is the thing you'll see in code or docs, and the page(s) on the right are where the actual explanation lives. every name spelled exactly, every reference kept, no cap 💖

and we are SO not done yet — more parts coming, bestie, keep scrolling 🌸

okay bestie we are DEEP in the term index now 🌈 — this is the part where the page just lists every term and every man page that cares about it, and honestly it's giving phone book but make it slay 💅. no skipping, no merging, we're doing every single one. lock in 🫶.


and that's the SIGTERM-through-https stretch of the index bestie 🌸 — it keeps going, obviously, because of course it does 💀


🌈 DNS RESOURCE RECORD TYPES 🌈

okay bestie, these are the DNS record types and where each one gets talked about. no cap, every single one is here 💜

🌸 MISCELLANEOUS OPTIONS AND DIRECTIVES 🌸

okay so bestie, welcome to the ✨everything bagel✨ of systemd.directives(7) — this is literally where all the config bits go when they don't fit in any of the groups above. no theme, no vibe check, just a big ol' pile of names and the man pages that own them. lowkey iconic. 🎀

the original says it plain: these are "other configuration elements which do not fit in any of the above groups." periodt.

💫 SPECIFIERS 💫

okay bestie, this section is literally the glow-up station of systemd config ✨ These are short strings — tiny lil placeholders — that get substituted inside configuration directives. You drop one in, systemd swaps it for the real value at runtime. Iconic. 💅

Under each specifier I'm listing every page that understands it, so you know where it's allowed to show up. No cap, all of them. 👑



🌸 FILES AND DIRECTORIES 🌸

no thoughts, just paths 💀 — this is the master list of every path and file name that gets name-dropped across the whole documentation. If you ever wondered "wait, which manpage was /dev/null in again?" — bestie, it's here. 🦋


and that's where this chunk lands bestie 💜 the list keeps going, so don't log off — more paths incoming 🫶✨


and that's the file map so far bestie, more incoming 💖

...and we're still in the file-and-directory zone, bestie 💖 the list is long and we are not skipping a single crumb. Every path, every cross-reference, all of it:

no cap, that was a lot of paths, and every single one of them still has a page that explains it — we keep going, bestie, the list does not stop here 🌈

okay so bestie, this part of the list is a whole vibe — it's the /usr/lib era, where systemd keeps all its little treasures. every single one of these paths points at a man page that has the actual tea. let's go, no skipping, we're reading all of them 💅

✨ okay now we hit the generators, and there are SO many of them, they're literally the main characters of early boot:


and now… the binaries themselves 😭 like every single one of these is a little daemon living in /usr/lib/systemd/:


okay bestie we're almost through the /usr/lib/systemd section, stay with me 🫶


and now we've left /usr/lib/systemd and we're in /usr/lib proper — sysupdate era, sysusers era, tmpfiles era. the way these directories just keep going 😭💀

like… that's a LOT of paths and every single one of them is somebody's whole job 💖 and there's still more coming, so don't you dare close the tab bestie ✨

the map keeps going bestie, no skipping, we're reading every single one 💅

and we're still going, hold on bestie 🦋

...and we're still in the file-system rabbit hole, bestie — these are the rest of the paths systemd claims as its own, each one pointing at the man page that tells you what it's for. No cap, it's a lot, but every single one matters 💅



✨ D-BUS INTERFACES ✨

okay so these are all the interfaces exposed over D-Bus 💅 every one of them is a whole little doorway into the system, and the right-hand column is where you go to read the actual tea. slay 🫶


🦋 D-BUS METHODS 🦋

and these are the methods exposed in the D-Bus interface — the actual callable verbs bestie, the buttons you can press from across the bus 🌈 again, right-hand side = where the full lore lives 👑

okay bestie, that was the entire alphabet of methods, we survived 💀 take a breath, hydrate, and brace yourself, because next up is the properties list and it is long.


🎀 D-BUS PROPERTIES 🎀

So these are the properties that get exposed in the D-Bus interface — like, not callable methods, just lil values that sit there and can be read (and sometimes written) over the bus. Each one belongs to a specific interface, so peep the (5) page next to it for the full deets. vibe check passed ✨

and yes, we're only up to the B's 😭 the alphabet really said "no shortcuts" fr fr. more coming, don't go anywhere 🫶

...still deep in the D-Bus property index, bestie. Same rules as before: property name on the left, the org.freedesktop.*(5) page that actually documents it on the right. We're going alphabetical, we're not skipping a single one, and yes there are so many of them. Buckle up 💖

and boom, the login1 girlies have entered the chat 🌸

okay now it's systemd1 o'clock and it's gonna be systemd1 o'clock for a while 💅

not the CPU cluster showing up in full force 😭 look at them go, all of them living in the same page:

then the cache crew, and one interloper from resolve1 being ✨extra✨:

the Can* section, where half of them are systemd1 and half are out here visiting other pages. social butterflies fr 🦋

okay Class is the overachiever of the group, look at her with three whole pages 👑

a rare portable1 sighting, we love a cameo ✨

and now the DNS girlies, all of them stacked up in resolve1 like it's their group chat 💜

back to systemd1, and here comes the Default wall 😭 not a single one of these is getting skipped, we're doing all of them, periodt

notice how every limit comes with its own Soft twin trailing right behind it? the naming convention is carrying this whole section on its back and honestly, we respect the consistency 🎀

okay we survived the limits, take a breath, hydrate, we're so back 💅

and Description said "why pick one page when I can have two" 🙈

the Effective* girls are up next and they all live together, cute 🌸

the Exec family, and look, ExecCondition brought a ...Ex friend along 💖

and that's where this chunk of the alphabet taps out for now — still more names waiting right below, bestie, keep scrolling ✨

still deep in the alphabet soup bestie, no skips, no shortcuts 💅

and we're still in the index, bestie — this stretch is just name → the manpage that actually spills the tea. every single one stays. no skipping, no merging, that's the rule 💅



and that's where this chunk lands, bestie — keep scrolling, we're not done yet 🌸

okay bestie we are STILL in the D-Bus property list and honestly? the finish line is right there 🏁 every line below is a property name plus the manual page that documents it — alphabetical, no cap, iykyk. no skipping, we're listing all of them 💅

and THAT is the entire property list, Z to... okay well, S to X, we made it 🎉 bestie the way I just scrolled through the whole alphabet... iconic behaviour, no notes.


🌈 D-BUS SIGNALS 🌈

Signals emitted in the D-Bus interface. yes bestie, these are the little notifications the interfaces shout into the void so everyone listening knows something happened 👀 each one is listed with the manual page it lives in:


🎀 COLOPHON 🎀

This index contains 7470 entries in 24 sections, referring to 462 individual manual pages. four thousand seven hundred and seventy things and we listed them all, bestie, my fingers are gone 💀✨


and that's the whole page, we did it 🫶 this beauty is from systemd 262.1 and it lives at SYSTEMD.DIRECTIVES(7). go drink some water, stretch your wrists, you absolutely ate this one 💖🌸🦋

📦 where this page comes from
  • arch rolling: systemd 262.1-1 · LGPL-2.1-or-later AND CC0-1.0 AND GPL-2.0-or-later AND MIT-0
  • 💖 girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms