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

RFC42 tracking issue #144575

Open
mkg20001 opened this issue Nov 4, 2021 · 10 comments
Open

RFC42 tracking issue #144575

mkg20001 opened this issue Nov 4, 2021 · 10 comments
Labels
3.skill: sprintable A larger issue which is split into distinct actionable tasks 5. scope: tracking Long-lived issue tracking long-term fixes or multiple sub-problems 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS

Comments

@mkg20001
Copy link
Member

mkg20001 commented Nov 4, 2021

RFC42 is the future, let's migrate to it

List generated with grep -rn "extraConfig\|extraOptions" nixos/modules | grep "=" | sed -r "s|(.*.nix):.+|\1|g" | sed "s|nixos/modules/|- [ ] |g" | grep -v pl | grep -v xml | uniq
  • testing/test-instrumentation.nix
  • system/boot/networkd.nix
  • system/boot/initrd-ssh.nix
  • system/boot/loader/grub/grub.nix
  • system/boot/binfmt.nix
  • system/boot/timesyncd.nix
  • system/boot/resolved.nix
  • system/boot/systemd.nix
  • tasks/snapraid.nix
  • tasks/filesystems/nfs.nix
  • virtualisation/azure-agent.nix
  • virtualisation/lxc-container.nix
  • virtualisation/nixos-containers.nix
  • virtualisation/docker.nix
  • virtualisation/oci-containers.nix
  • virtualisation/azure-common.nix
  • virtualisation/xen-dom0.nix
  • virtualisation/qemu-vm.nix
  • virtualisation/virtualbox-host.nix
  • virtualisation/amazon-image.nix
  • virtualisation/libvirtd.nix
  • programs/msmtp.nix
  • programs/ccache.nix
  • programs/xss-lock.nix
  • programs/tmux.nix
  • programs/ssh.nix
  • programs/sway.nix
  • programs/tsm-client.nix
  • programs/zsh/zsh-autosuggestions.nix
  • installer/cd-dvd/installation-cd-graphical-base.nix
  • installer/cd-dvd/system-tarball-pc.nix
  • hardware/corectrl.nix
  • hardware/video/amdgpu-pro.nix
  • hardware/network/ath-user-regd.nix
  • config/terminfo.nix
  • config/ldap.nix
  • config/resolvconf.nix
  • config/krb5/default.nix
  • config/pulseaudio.nix
  • security/polkit.nix
  • security/google_oslogin.nix
  • security/sudo.nix
  • security/duosec.nix
  • security/doas.nix
  • services/printing/cupsd.nix
  • services/development/jupyterhub/default.nix
  • services/development/bloop.nix
  • services/web-servers/lighttpd/default.nix
  • services/web-servers/lighttpd/cgit.nix
  • services/web-servers/lighttpd/collectd.nix
  • services/web-servers/lighttpd/gitweb.nix
  • services/web-servers/caddy/default.nix
  • services/web-servers/caddy/vhost-options.nix
  • services/web-servers/hitch/default.nix
  • services/web-servers/apache-httpd/default.nix
  • services/web-servers/apache-httpd/vhost-options.nix
  • services/web-servers/apache-httpd/location-options.nix
  • services/web-servers/tomcat.nix
  • services/web-servers/shellinabox.nix
  • services/web-servers/phpfpm/default.nix
  • services/web-servers/nginx/default.nix
  • services/web-servers/nginx/vhost-options.nix
  • services/web-servers/nginx/location-options.nix
  • services/web-servers/nginx/gitweb.nix
  • services/mail/mlmmj.nix
  • services/mail/rspamd.nix
  • services/mail/mailman.nix:283: "/".extraConfig = "uwsgi_pass unix
  • services/mail/postfixadmin.nix
  • services/mail/dspam.nix
  • services/mail/roundcube.nix
  • services/mail/postfix.nix
  • services/mail/dovecot.nix
  • services/mail/sympa.nix
  • services/databases/cassandra.nix
  • services/databases/memcached.nix
  • services/databases/mysql.nix
  • services/databases/mongodb.nix
  • services/databases/riak.nix
  • services/databases/couchdb.nix
  • services/databases/victoriametrics.nix
  • services/databases/influxdb.nix
  • services/databases/aerospike.nix
  • services/x11/redshift.nix
  • services/x11/xautolock.nix
  • services/x11/desktop-managers/cinnamon.nix
  • services/x11/desktop-managers/cde.nix
  • services/x11/unclutter-xfixes.nix
  • services/x11/xserver.nix
  • services/x11/unclutter.nix
  • services/monitoring/alerta.nix
  • services/monitoring/kapacitor.nix
  • services/monitoring/graphite.nix
  • services/monitoring/grafana-image-renderer.nix
  • services/monitoring/cadvisor.nix
  • services/monitoring/scollector.nix
  • services/monitoring/grafana.nix
  • services/monitoring/nagios.nix
  • services/monitoring/bosun.nix
  • services/monitoring/munin.nix
  • services/monitoring/datadog-agent.nix
  • services/monitoring/smartd.nix
  • services/monitoring/prometheus/exporters/dovecot.nix
  • services/monitoring/fusion-inventory.nix
  • services/monitoring/statsd.nix
  • services/monitoring/collectd.nix
  • services/monitoring/telegraf.nix
  • services/network-filesystems/ceph.nix
  • services/network-filesystems/samba-wsdd.nix
  • services/network-filesystems/nfsd.nix
  • services/network-filesystems/diod.nix
  • services/network-filesystems/cachefilesd.nix
  • services/network-filesystems/davfs2.nix
  • services/network-filesystems/xtreemfs.nix
  • services/network-filesystems/orangefs/client.nix
  • services/network-filesystems/orangefs/server.nix
  • services/network-filesystems/ipfs.nix
  • services/network-filesystems/samba.nix
  • services/audio/alsa.nix
  • services/audio/mpd.nix
  • services/audio/jack.nix
  • services/audio/mopidy.nix
  • services/torrent/opentracker.nix
  • services/torrent/magnetico.nix
  • services/games/teeworlds.nix
  • services/games/quake3-server.nix
  • services/backup/restic.nix
  • services/backup/bacula.nix
  • services/backup/rsnapshot.nix
  • services/ttys/kmscon.nix
  • services/networking/pdnsd.nix
  • services/networking/monero.nix
  • services/networking/dnsdist.nix
  • services/networking/iodine.nix
  • services/networking/gnunet.nix
  • services/networking/ntp/ntpd.nix
  • services/networking/ntp/openntpd.nix
  • services/networking/ntp/chrony.nix
  • services/networking/dhcpd.nix
  • services/networking/powerdns.nix
  • services/networking/kresd.nix nixos/kresd: add RFC 42 style .settings [experimental] #154610
  • services/networking/strongswan-swanctl/module.nix
  • services/networking/babeld.nix
  • services/networking/murmur.nix
  • services/networking/minidlna.nix
  • services/networking/mtprotoproxy.nix
  • services/networking/zerobin.nix
  • services/networking/blockbook-frontend.nix
  • services/networking/xinetd.nix
  • services/networking/hans.nix
  • services/networking/tinc.nix
  • services/networking/dnsmasq.nix
  • services/networking/lxd-image-server.nix
  • services/networking/mxisd.nix
  • services/networking/tox-bootstrapd.nix
  • services/networking/3proxy.nix
  • services/networking/nghttpx/nghttpx-options.nix
  • services/networking/iscsi/initiator.nix
  • services/networking/iscsi/root-initiator.nix
  • services/networking/vsftpd.nix
  • services/networking/asterisk.nix
  • services/networking/xandikos.nix
  • services/networking/smokeping.nix
  • services/networking/avahi-daemon.nix
  • services/networking/ddclient.nix
  • services/networking/atftpd.nix
  • services/networking/syncthing-relay.nix
  • services/networking/x2goserver.nix
  • services/networking/shadowsocks.nix
  • services/networking/nixops-dns.nix
  • services/networking/thelounge.nix
  • services/networking/coturn.nix
  • services/networking/htpdate.nix
  • services/networking/ntopng.nix
  • services/networking/ssh/sshd.nix
  • services/networking/cntlm.nix
  • services/networking/cjdns.nix
  • services/networking/znc/default.nix
  • services/networking/znc/options.nix
  • services/networking/skydns.nix
  • services/networking/keepalived/vrrp-script-options.nix
  • services/networking/keepalived/default.nix
  • services/networking/keepalived/vrrp-instance-options.nix
  • services/networking/consul.nix
  • services/networking/knot.nix
  • services/networking/syncthing.nix
  • services/networking/multipath.nix
  • services/networking/bitcoind.nix
  • services/networking/zeronet.nix
  • services/networking/bind.nix
  • services/networking/connman.nix
  • services/networking/dnscrypt-wrapper.nix
  • services/networking/soju.nix
  • services/networking/squid.nix
  • services/networking/networkmanager.nix
  • services/networking/hostapd.nix
  • services/networking/polipo.nix
  • services/networking/prayer.nix
  • services/networking/dhcpcd.nix
  • services/networking/nsd.nix
  • services/networking/prosody.nix
  • services/networking/stubby.nix
  • services/computing/slurm/slurm.nix
  • services/web-apps/zabbix.nix
  • services/web-apps/mattermost.nix
  • services/web-apps/limesurvey.nix
  • services/web-apps/lemmy.nix
  • services/web-apps/wordpress.nix
  • services/web-apps/trilium.nix
  • services/web-apps/moinmoin.nix
  • services/web-apps/mediawiki.nix
  • services/web-apps/keycloak.nix
  • services/web-apps/hledger-web.nix
  • services/web-apps/bookstack.nix
  • services/web-apps/jitsi-meet.nix
  • services/web-apps/discourse.nix
  • services/web-apps/mastodon.nix
  • services/web-apps/dokuwiki.nix
  • services/web-apps/fluidd.nix
  • services/web-apps/matomo.nix
  • services/web-apps/vikunja.nix
  • services/web-apps/jirafeau.nix
  • services/web-apps/youtrack.nix
  • services/web-apps/restya-board.nix
  • services/web-apps/tt-rss.nix
  • services/web-apps/sogo.nix
  • services/web-apps/ihatemoney/default.nix
  • services/web-apps/engelsystem.nix
  • services/web-apps/grocy.nix
  • services/web-apps/icingaweb2/icingaweb2.nix
  • services/web-apps/rss-bridge.nix
  • services/web-apps/nextcloud.nix
  • services/web-apps/selfoss.nix
  • services/web-apps/moodle.nix
  • services/web-apps/pgpkeyserver-lite.nix
  • services/editors/infinoted.nix
  • services/hardware/sane.nix
  • services/hardware/triggerhappy.nix
  • services/hardware/actkbd.nix
  • services/hardware/lcd.nix
  • services/hardware/tlp.nix
  • services/hardware/rasdaemon.nix
  • services/hardware/throttled.nix
  • services/continuous-integration/hercules-ci-agent/common.nix
  • services/continuous-integration/gocd-server/default.nix
  • services/continuous-integration/buildkite-agents.nix
  • services/continuous-integration/gocd-agent/default.nix
  • services/continuous-integration/buildbot/master.nix
  • services/continuous-integration/hydra/default.nix
  • services/continuous-integration/jenkins/default.nix
  • services/security/oauth2_proxy.nix
  • services/security/vault.nix
  • services/security/privacyidea.nix
  • services/security/oauth2_proxy_nginx.nix
  • services/logging/syslogd.nix
  • services/logging/syslog-ng.nix
  • services/logging/graylog.nix
  • services/logging/rsyslogd.nix
  • services/logging/awstats.nix
  • services/logging/logrotate.nix
  • services/logging/SystemdJournal2Gelf.nix
  • services/logging/journalbeat.nix
  • services/logging/journalwatch.nix
  • services/logging/heartbeat.nix
  • services/misc/dwm-status.nix
  • services/misc/gammu-smsd.nix
  • services/misc/errbot.nix
  • services/misc/gollum.nix
  • services/misc/octoprint.nix
  • services/misc/gitlab.nix
  • services/misc/docker-registry.nix
  • services/misc/bepasty.nix
  • services/misc/gogs.nix
  • services/misc/home-assistant.nix 🏡 home-assistant: spring cleaning  #157213
  • services/misc/paperless-ng.nix
  • services/misc/snapper.nix
  • services/misc/zoneminder.nix
  • services/misc/sourcehut/hg.nix
  • services/misc/sourcehut/git.nix
  • services/misc/gitea.nix
  • services/misc/nix-ssh-serve.nix
  • services/misc/bees.nix
  • services/misc/matrix-synapse.nix nixos/matrix-synapse: migrate to rfc42 settings and formatter #158605
  • services/misc/siproxd.nix
  • services/misc/nix-daemon.nix
  • services/misc/gitweb.nix
  • services/misc/parsoid.nix
  • services/networking/yggdrasil.nix nixos/yggdrasil: rename "config" option to "settings" #185584
  • misc/crashdump.nix
@veprbl veprbl added 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 3.skill: sprintable A larger issue which is split into distinct actionable tasks labels Nov 4, 2021
@polykernel
Copy link
Contributor

I think some of the modules in the list are false positives, some already implement structural settings but provide extraConfig as a fallback or use extraConfig from another module. The list is a helpful reference nonetheless.

@ShamrockLee
Copy link
Contributor

With PR #139075 merged, we're going to have nix.settings!

@pingiun
Copy link
Member

pingiun commented Apr 29, 2022

Logrotate can be checked as it was done in e92c053

@peterhoeg
Copy link
Member

NFS is in progress, #177601

@KFearsoff
Copy link
Contributor

Grafana is done.

@peterhoeg
Copy link
Member

The big one is all the programs under the systemd project umbrella. It should be probably be done piecemeal but it requires a fair amount of work.

h7x4 added a commit to h7x4/nixpkgs that referenced this issue Dec 7, 2023
This replaces the krb5 module's options with RFC 42-style krb5.settings
option*, while greatly simplifying the code and fixing a few bugs,
namely:

- NixOS#243068 krb5: Configuration silently gets ignored when set by
  multiple modules
- not being able to use mkIf etc. inside subattributes of
  krb5.libdefaults, e.g. krb5.libdefaults.default_realm = mkIf ...

* leaving an escape hatch in form of krb5.extraConfig in case extra
  syntax is needed (e.g. `include' directives)

See NixOS#144575.
Closes NixOS#243068.

Co-authored-by: h7x4 <h7x4@nani.wtf>
@Yarny0
Copy link
Contributor

Yarny0 commented Dec 20, 2023

Now that #253428 got merged, the "programs/tsm-client.nix" checkbox may be ticked.

2xsaiko added a commit to 2xsaiko/nixpkgs that referenced this issue Dec 21, 2023
This replaces the krb5 module's options with RFC 42-style krb5.settings
option, while greatly simplifying the code and fixing a few bugs,
namely:

- NixOS#243068 krb5: Configuration silently gets ignored when set by
  multiple modules
- not being able to use mkIf etc. inside subattributes of
  krb5.libdefaults, e.g. krb5.libdefaults.default_realm = mkIf ...

See NixOS#144575.
Closes NixOS#243068.

Co-authored-by: h7x4 <h7x4@nani.wtf>
@samueldr samueldr added the 5. scope: tracking Long-lived issue tracking long-term fixes or multiple sub-problems label Apr 23, 2024
2xsaiko added a commit to 2xsaiko/nixpkgs that referenced this issue May 15, 2024
This replaces the krb5 module's options with RFC 42-style krb5.settings
option*, while greatly simplifying the code and fixing a few bugs,
namely:

- NixOS#243068 krb5: Configuration silently gets ignored when set by
  multiple modules
- not being able to use mkIf etc. inside subattributes of
  krb5.libdefaults, e.g. krb5.libdefaults.default_realm = mkIf ...

* leaving an escape hatch in form of krb5.extraConfig in case extra
  syntax is needed (e.g. `include' directives)

See NixOS#144575.
Closes NixOS#243068.
@SigmaSquadron
Copy link
Contributor

SigmaSquadron commented Aug 27, 2024

virtualisation/xen-dom0.nix is partially done with #324911. Since the oxenstored format isn't standard, I've opted to just map the option definitions to the file in etc.environment. I'd appreciate some feedback if there's any way to do it more efficiently. There's still the xl configuration left, which is non-trivial and will happen later, alongside a declarative VM builder.

@RafaelKr
Copy link
Contributor

I'd like to mention that PHP (not the phpfpm module) also uses extraConfig. There it also would make sense to migrate to RFC42.
See https://github.com/NixOS/nixpkgs/blob/a9478ce4d0378dce2f672bae392fb67afaae4158/pkgs/development/interpreters/php/generic.nix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.skill: sprintable A larger issue which is split into distinct actionable tasks 5. scope: tracking Long-lived issue tracking long-term fixes or multiple sub-problems 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS
Projects
None yet
Development

No branches or pull requests