Proposal to Centralize Per-User Environment Variables Under Systemd in Fedora Rejected

Wait 5 sec.

A contributor named Faeiz Mahrus put forward a change proposal for Fedora 45 that would change how per-user environment variables are managed on the system. Right now, Fedora handles this through shell-specific RC files: ~/.bashrc for Bash users, ~/.zshrc for Zsh users.These files are responsible for things like adding ~/.local/bin and ~/bin to your $PATH, which is the list of directories your system searches when you run a command.The problem Faeiz pointed to was that Fedora ships a number of alternative shells (Fish, Nushell, Xonsh, and Dash among them), but none of those have packaged RC files that do the same job.So if you switch your default shell to Fish, any scripts or programs you've installed in ~/.local/bin suddenly stop being found by the system. They're still there, but your shell doesn't know where to look for them.The proposed fix was to move this responsibility to systemd's environment-generator functionality, using drop-in configuration files placed in the /etc/skel/.config/environment.d/ directory.Since systemd manages user sessions on Fedora, the idea was that it could apply these environment variables to all user processes regardless of which shell you're running. One config file would cover all shells, with no per-shell fixing required.The voteThe proposal went to the FESCo for a vote, and it came back with six votes against and three abstentions. The key objection was that the proposal didn't adequately account for environments where systemd isn't running.Committee member Neal Gompa (ngompa) voted against it, pointing out that containers don't guarantee systemd is present, which would make the change quietly disruptive for anyone running Fedora-based container images. Kevin Fenzi (kevin), another member, said that the proposal wasn't convincing enough yet.If you didn't know, FESCo, or the Fedora Engineering and Steering Committee, is the governing body that reviews and approves all significant proposed changes to Fedora Linux before they land in a release. Contributors submit change proposals, FESCo members deliberate, and the committee votes on whether a proposal is ready to ship, needs revision, or should be turned away. It is essentially the gatekeeper for what makes it into a Fedora release.While the FESCo has marked the ticket as rejected, they haven't fully shut the door on the idea. Committee member Michel Lind (salimma) noted in the closing comment that the proposal owner is welcome to resubmit once the gaps around systemd-less environments are addressed and more concrete configuration examples are provided.Via: PhoronixSuggested Read 📖: Fedora project leader suggests using Apple's age verification API