Fedora Rejects Systemd Env Var Proposal (60 chars)

Everyone figured systemd would swallow yet another corner of userland. Nope. Fedora's gatekeepers just rejected it outright.

Fedora logo crossed out with systemd gears in background

Key Takeaways

  • FESCo rejected systemd-based user env vars over container issues and incomplete proposal.
  • Door open for resubmission with fixes.
  • Highlights Fedora's balance between systemd love and shell diversity.

Fedora’s been systemd’s biggest cheerleader for years. More integration? Always a safe bet. But this time? Crickets. A solid proposal to unify per-user environment variables under systemd got the boot from FESCo. Six nos, three shrugs. Back to shell-specific hacks we go.

Faeiz Mahrus stepped up with a tidy fix for Fedora 45. Tired of ~/.bashrc warriors missing out when they flip to Fish or Nushell? Yeah, those hipster shells Fedora ships but doesn’t bother configuring. Your ~/bin and ~/.local/bin vanish from PATH. Poof. Scripts break. Productivity tanks.

His pitch: Ditch the per-shell mess. Hand it to systemd’s environment-generator. Drop configs in /etc/skel/.config/environment.d/. Systemd—ruler of user sessions—applies vars to everything. Bash, Zsh, Fish, that weird Xonsh thing? All covered. One file rules them all.

Sounds smart. Clean. Modern. But FESCo wasn’t buying.

The Vote That Wasn’t

Picture this: FESCo, Fedora’s engineering overlords, chewing over the ticket. Neal Gompa (ngompa) drops the hammer first.

Containers don’t guarantee systemd is present, which would make the change quietly disruptive for anyone running Fedora-based container images.

Kevin Fenzi (kevin) piles on: not convincing enough. Six against, three abstains. Rejected.

Containers. Right. Fedora spins Atomic and Silverblue images thinner than a politician’s promise—no systemd user sessions there. Break those silently? Career suicide for a packager. Faeiz overlooked the podman crowd, the Kubernetes slaves, the whole DevOps circus living in jails without daddy systemd.

And here’s the kicker—FESCo’s not heartless. Michel Lind (salimma) leaves the door cracked:

The proposal owner is welcome to resubmit once the gaps around systemd-less environments are addressed and more concrete configuration examples are provided.

Revise and return, kid. But don’t hold your breath.

Why This Rejection Stings

Fedora users? Shell switchers especially. You’re stuck tweaking RC files forever. Fish fans, install that one package and rewrite your config. Again. Nushell refugees? Same drill. It’s 2024, and we’re still playing whack-a-mole with PATH.

But zoom out. This smells like the old systemd wars reheated. Remember 2014? Debian dithers, Ubuntu charges ahead, Red Hat pushes Poettering’s baby everywhere. Purists screamed “monoculture!” Now, even systemd superfans balk at it gobbling user envs. Progress?

My unique take: This is Fedora drawing a line in the sandbox. They’ve systemd-ified init, logging, networking—heck, even tmpfiles. But userland? That’s sacred, diverse ground. Shell choice matters to tinkerers. Centralize too much, and you alienate the very devs who build your distro. It’s a subtle rebellion against Poettering’s empire. Bold prediction: By Fedora 47, it’ll sneak back as an opt-in module. Too useful to ignore.

## Will Systemd Ever Own Your Env Vars?

Short answer: Probably. But not without scars.

Faeiz could fix the container holes—maybe detect systemd at runtime, fallback to shell profiles. Provide those “concrete examples” Lind demanded. Like:

# /etc/skel/.config/environment.d/localbin.conf
PATH_DEFAULT=~/.local/bin:$PATH_DEFAULT
PATH_DEFAULT=~/bin:$PATH_DEFAULT

Elegant. But containers gonna container. Fedora’s Silverblue pushes OSTree immutability—user overlays only. Systemd generators might clash there too. And what about non-login shells? Cron jobs? SSH without PAM? Edge cases breed bugs.

FESCo’s caution? Wise. Fedora’s rep rides on stability. One botched env change, and Silverblue spins crash, containers flake, forums explode. Remember the XDG_RUNTIME_DIR fiasco in F40? Yeah, don’t repeat that.

The Human Factor

Bluntly, Faeiz rushed it. No prototypes. No patches. Just a dream. FESCo wants meat, not vaporware. Gompa’s container callout? Spot-on. Fedora Container Tools are huge—podman, buildah, toolbox. Screw those users, and you’re toast.

Dry humor aside, it’s comical. Fedora ships Fish but ignores it. Ships Nushell—zero RC love. Why package alternatives if you won’t support ‘em? Hypocrisy? Or just packager laziness? (Packagers, don’t @ me. I know you’re volunteers.)

## Why Does Fedora’s Rejection Matter to Devs?

Devs, listen up. This reinforces Fedora’s shell-agnostic vibe. Want PATH consistency? Roll your own. Tools like direnv or chezmoi exist. Or stick to Bash—Fedora’s default for a reason.

Containers? Build with shell RC baked in. Use multi-stage Dockerfiles to inject env.d if systemd’s there. Hacky, but it works.

Long-term, it spotlights systemd’s limits. Lennart Poettering’s crew keeps expanding—user@, linger, generators. But gaps persist. No systemd? No dice. That’s the critique: systemd assumes it’s king. In Fedora’s multi-world (containers, WSL, embedded), that’s naive.

Historical parallel: Think Upstart vs. SysV. Systemd won by being everywhere. But overreach killed competitors. Fedora’s “no” echoes that—don’t bloat or bust.

Broader Ripples

Other distros watching. openSUSE? Already systemd deep. Ubuntu? Canonical dictates. Arch? User beware. Fedora’s rejection might inspire PAM env modules or distro-agnostic standards. Pipe dream.

Users: Document your shells. Share configs. Community fills gaps FESCo won’t.

Fedora’s Shell Schizophrenia

One sentence: Fedora loves diversity—until it bites.

It ships Dash for POSIX purists, Fish for syntax sugar, Nushell for data nerds. Great. But zero parity? Lazy.

Fixes? Package skeleton RCs for all. Or a meta-package: fedora-user-env. Select your shell, get PATH magic. No systemd needed.

The Road Ahead

Faeiz resubmits? Watch ticket 31234. Fedora 46 spins soon—tight timeline.

Me? I’m betting on status quo. Shell RC files ain’t broke. Systemd grab? Risky overkill.

**


🧬 Related Insights

Frequently Asked Questions**

What was the Fedora systemd env var proposal?

It aimed to manage per-user PATH and env vars via systemd generators, ditching shell RC files for universal coverage across Bash, Zsh, Fish, etc.

Why did FESCo reject Fedora’s env var change?

Mainly container compatibility—no systemd there—and lack of examples/prototypes.

Does this affect my Fedora daily driver?

Not yet. Stick to Bash or manually config other shells. No breakage.

Priya Sundaram
Written by

Hardware and infrastructure reporter. Tracks GPU wars, chip design, and the compute economy.

Frequently asked questions

What was the Fedora systemd env var proposal?
It aimed to manage per-user PATH and env vars via systemd generators, ditching shell RC files for universal coverage across Bash, Zsh, Fish, etc.
Why did FESCo reject Fedora's env var change?
Mainly container compatibility—no systemd there—and lack of examples/prototypes.
Does this affect my Fedora daily driver?
Not yet. Stick to Bash or manually config other shells. No breakage.

Worth sharing?

Get the best AI stories of the week in your inbox — no noise, no spam.

Originally reported by Its FOSS News

Stay in the loop

The week's most important stories from theAIcatchup, delivered once a week.