Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Offer a way to override default config via /usr/share/sddm/config.d #217

Closed
shadeslayer opened this issue Jul 1, 2014 · 18 comments
Closed
Assignees
Milestone

Comments

@shadeslayer
Copy link

From a downstream perspective, when shipping multiple themes, it would be awesome to have themes install a config file to /usr/share/sddm/config.d to override the default theme from /etc/sddm.conf

Alternatively, maybe implementing a fall back mechanism would make sense as well. For eg. Try to load theme from /etc/sddm.conf , if theme doesn't exist check /usr/share/sddm/conf.d

@jriddell
Copy link
Contributor

jriddell commented Apr 2, 2015

This is needed to make nvidia-prime support elegant
#393

@plfiorini
Copy link
Member

👍 except for minor details regarding the location

I would follow the systemd convention here so SDDM should:

  • Load /etc/sddm.conf (for compatibility - to be dropped after a few releases after this stuff gets implemented)
  • Load /etc/sddm/sddm.conf (new main config file name)
  • Load /usr/lib/sddm/sddm.conf.d/*.conf sorting in alphabetical order
  • Load /etc/sddm/sddm.conf.d/*.conf sorting in alphabetical order

/etc/sddm/sddm.conf.d/*.conf is where the system administrator puts his stuff
/usr/lib/sddm/sddm.conf.d/*.conf is where the distro puts its stuff

@plfiorini plfiorini added this to the post-0.12 milestone Aug 21, 2015
@majewsky
Copy link
Contributor

I think the last one in your list should be /etc/sddm/sddm.conf.d/*.conf. The convention is to append .d/*.conf to the filename of the singular config file, in this case /etc/sddm/sddm.conf.

Compare, for example, /etc/systemd/journald.conf and /etc/systemd/journald.conf.d/*.conf.

@plfiorini
Copy link
Member

Fixed thanks, it was a typo

@plfiorini plfiorini modified the milestones: 0.13, post-0.12 Sep 5, 2015
@plfiorini plfiorini self-assigned this Sep 5, 2015
@plfiorini plfiorini modified the milestones: 0.14, 0.13 Oct 19, 2015
@jleclanche
Copy link
Member

@plfiorini We could do it like supervisor does it:

[include]
files = /etc/supervisor.d/*.ini

@jleclanche
Copy link
Member

@plfiorini btw this would take backwards compatibility out of our hands and into the distros', then :)

@plfiorini
Copy link
Member

@jleclanche i'd like to have more predictable file locations and copy the systemd pattern because it is likely to be more familiar to our user base

@jleclanche
Copy link
Member

@plfiorini with an include directive, we could do whatever we want.

@majewsky
Copy link
Contributor

majewsky commented Nov 6, 2015

Indeed, but what's the added value compared to the cost of inconsistency between distributions?

@jleclanche
Copy link
Member

Frankly sddm's not here to solve how inconsistent distros are between each other.

@majewsky
Copy link
Contributor

majewsky commented Nov 6, 2015

Yes, but there's no need to add insult to injury when there is no actual usecase for a generic include syntax.

@jleclanche
Copy link
Member

Huh? There's a use case right there, we don't get to worry about backwards compatibility and we're as flexible as distros want.

@majewsky
Copy link
Contributor

majewsky commented Nov 6, 2015

Which use-case? When will distros ever need anything beyond /usr/share/sddm.conf.d/*.conf?

@jleclanche
Copy link
Member

Implementing these paths is not cheap, it's a maintenance burden and a promise of forward compatibility. An include directive means we don't worry about this.

@majewsky
Copy link
Contributor

majewsky commented Nov 9, 2015

How do you see any maintenance burden involved in writing three or four paths into the code and calling it a day? It's not like the FHS changes every other day.

@lbssousa
Copy link
Contributor

If/When SDDM gains support for those config drop-ins, it would be easier to address item 4 of issue #78 (provide per-seat settings in sddm.conf), specially if second approach proposed there becomes the prefered one.

@plfiorini plfiorini modified the milestones: 0.15, 0.14 May 2, 2016
@plfiorini plfiorini added this to the 0.16 milestone Aug 23, 2016
@shadeslayer
Copy link
Author

Hi
Is there any ETA on this? IMO the maintainer should just pick one approach and call it a day.

@plfiorini
Copy link
Member

plfiorini commented Dec 17, 2016

@shadeslayer Right, it should be this way:

  • Load /etc/sddm.conf (for compatibility - to be dropped after a few releases after this stuff gets implemented)
  • Load /etc/sddm/sddm.conf (new main config file name)
  • Load /usr/lib/sddm/sddm.conf.d/*.conf sorting in alphabetical order
  • Load /etc/sddm/sddm.conf.d/*.conf sorting in alphabetical order

/etc/sddm/sddm.conf.d/*.conf is where the system administrator puts his stuff
/usr/lib/sddm/sddm.conf.d/*.conf is where the distro puts its stuff

It's an established convention, plus a factory reset would still provide good defaults from the vendor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants