diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 81c7b6dbc8a3..4ab9e817ada6 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2553,6 +2553,12 @@ githubId = 52386117; name = "Blusk"; }; + bmanuel = { + name = "Benjamin Manuel"; + email = "ben@benmanuel.com"; + github = "bmanuel"; + githubId = 3662307; + }; bmilanov = { name = "Biser Milanov"; email = "bmilanov11+nixpkgs@gmail.com"; diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index f38e55e26a22..49911c8be6be 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -114,6 +114,13 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m - `services.avahi.nssmdns` got split into `services.avahi.nssmdns4` and `services.avahi.nssmdns6` which enable the mDNS NSS switch for IPv4 and IPv6 respectively. Since most mDNS responders only register IPv4 addresses, most users want to keep the IPv6 support disabled to avoid long timeouts. +- `multi-user.target` no longer depends on `network-online.target`. + This will potentially break services that assumed this was the case in the past. + This was changed for consistency with other distributions as well as improved boot times. + + We have added a warning for services that are + `after = [ "network-online.target" ]` but do not depend on it (e.g. using `wants`). + - `networking.iproute2.enable` now does not set `environment.etc."iproute2/rt_tables".text`. Setting `environment.etc."iproute2/{CONFIG_FILE_NAME}".text` will override the whole configuration file instead of appending it to the upstream configuration file. diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix index da099f86aa2c..8bab3752073f 100644 --- a/nixos/lib/eval-config.nix +++ b/nixos/lib/eval-config.nix @@ -110,6 +110,7 @@ let withExtraAttrs = configuration: configuration // { inherit extraArgs; inherit (configuration._module.args) pkgs; + inherit lib; extendModules = args: withExtraAttrs (configuration.extendModules args); }; in diff --git a/nixos/modules/services/audio/gmediarender.nix b/nixos/modules/services/audio/gmediarender.nix index 545f2b1a2b60..a4cb89098db7 100644 --- a/nixos/modules/services/audio/gmediarender.nix +++ b/nixos/modules/services/audio/gmediarender.nix @@ -64,6 +64,7 @@ in config = mkIf cfg.enable { systemd = { services.gmediarender = { + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; description = "gmediarender server daemon"; diff --git a/nixos/modules/services/audio/jmusicbot.nix b/nixos/modules/services/audio/jmusicbot.nix index fd1d4da19284..e7803677d0fd 100644 --- a/nixos/modules/services/audio/jmusicbot.nix +++ b/nixos/modules/services/audio/jmusicbot.nix @@ -26,6 +26,7 @@ in config = mkIf cfg.enable { systemd.services.jmusicbot = { wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; description = "Discord music bot that's easy to set up and run yourself!"; serviceConfig = mkMerge [{ diff --git a/nixos/modules/services/audio/spotifyd.nix b/nixos/modules/services/audio/spotifyd.nix index 975be5a87cba..1194b6f200d7 100644 --- a/nixos/modules/services/audio/spotifyd.nix +++ b/nixos/modules/services/audio/spotifyd.nix @@ -50,6 +50,7 @@ in systemd.services.spotifyd = { wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" "sound.target" ]; description = "spotifyd, a Spotify playing daemon"; environment.SHELL = "/bin/sh"; diff --git a/nixos/modules/services/audio/ympd.nix b/nixos/modules/services/audio/ympd.nix index b74cc3f9c0b4..6e8d22dab3c8 100644 --- a/nixos/modules/services/audio/ympd.nix +++ b/nixos/modules/services/audio/ympd.nix @@ -50,6 +50,7 @@ in { description = "Standalone MPD Web GUI written in C"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; serviceConfig = { diff --git a/nixos/modules/services/continuous-integration/buildbot/master.nix b/nixos/modules/services/continuous-integration/buildbot/master.nix index 446d19b8fd5a..c86cb81e5df4 100644 --- a/nixos/modules/services/continuous-integration/buildbot/master.nix +++ b/nixos/modules/services/continuous-integration/buildbot/master.nix @@ -268,6 +268,7 @@ in { systemd.services.buildbot-master = { description = "Buildbot Continuous Integration Server."; after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; path = cfg.packages ++ cfg.pythonPackages python.pkgs; environment.PYTHONPATH = "${python.withPackages (self: cfg.pythonPackages self ++ [ package ])}/${python.sitePackages}"; diff --git a/nixos/modules/services/continuous-integration/gitea-actions-runner.nix b/nixos/modules/services/continuous-integration/gitea-actions-runner.nix index 3f2be9464849..06f0da3451a6 100644 --- a/nixos/modules/services/continuous-integration/gitea-actions-runner.nix +++ b/nixos/modules/services/continuous-integration/gitea-actions-runner.nix @@ -188,6 +188,7 @@ in nameValuePair "gitea-runner-${escapeSystemdPath name}" { inherit (instance) enable; description = "Gitea Actions Runner"; + wants = [ "network-online.target" ]; after = [ "network-online.target" ] ++ optionals (wantsDocker) [ diff --git a/nixos/modules/services/continuous-integration/hydra/default.nix b/nixos/modules/services/continuous-integration/hydra/default.nix index 46b03bba37be..54bbe69703f9 100644 --- a/nixos/modules/services/continuous-integration/hydra/default.nix +++ b/nixos/modules/services/continuous-integration/hydra/default.nix @@ -393,6 +393,7 @@ in systemd.services.hydra-evaluator = { wantedBy = [ "multi-user.target" ]; requires = [ "hydra-init.service" ]; + wants = [ "network-online.target" ]; after = [ "hydra-init.service" "network.target" "network-online.target" ]; path = with pkgs; [ hydra-package nettools jq ]; restartTriggers = [ hydraConf ]; diff --git a/nixos/modules/services/databases/lldap.nix b/nixos/modules/services/databases/lldap.nix index d1574c98fe67..e821da8e58aa 100644 --- a/nixos/modules/services/databases/lldap.nix +++ b/nixos/modules/services/databases/lldap.nix @@ -104,6 +104,7 @@ in config = lib.mkIf cfg.enable { systemd.services.lldap = { description = "Lightweight LDAP server (lldap)"; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { diff --git a/nixos/modules/services/databases/openldap.nix b/nixos/modules/services/databases/openldap.nix index a7a0909f55e1..df36e37976a4 100644 --- a/nixos/modules/services/databases/openldap.nix +++ b/nixos/modules/services/databases/openldap.nix @@ -294,6 +294,7 @@ in { "man:slapd-mdb" ]; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; serviceConfig = { User = cfg.user; diff --git a/nixos/modules/services/desktops/geoclue2.nix b/nixos/modules/services/desktops/geoclue2.nix index b04f46c26a56..2a68bb0b55f3 100644 --- a/nixos/modules/services/desktops/geoclue2.nix +++ b/nixos/modules/services/desktops/geoclue2.nix @@ -200,6 +200,7 @@ in }; systemd.services.geoclue = { + wants = lib.optionals cfg.enableWifi [ "network-online.target" ]; after = lib.optionals cfg.enableWifi [ "network-online.target" ]; # restart geoclue service when the configuration changes restartTriggers = [ @@ -217,6 +218,7 @@ in # we can't be part of a system service, and the agent should # be okay with the main service coming and going wantedBy = [ "default.target" ]; + wants = lib.optionals cfg.enableWifi [ "network-online.target" ]; after = lib.optionals cfg.enableWifi [ "network-online.target" ]; unitConfig.ConditionUser = "!@system"; serviceConfig = { diff --git a/nixos/modules/services/home-automation/evcc.nix b/nixos/modules/services/home-automation/evcc.nix index d0ce3fb4a1ce..f360f525b04b 100644 --- a/nixos/modules/services/home-automation/evcc.nix +++ b/nixos/modules/services/home-automation/evcc.nix @@ -41,6 +41,7 @@ in config = mkIf cfg.enable { systemd.services.evcc = { + wants = [ "network-online.target" ]; after = [ "network-online.target" "mosquitto.target" diff --git a/nixos/modules/services/home-automation/home-assistant.nix b/nixos/modules/services/home-automation/home-assistant.nix index bc470576b759..a01628968966 100644 --- a/nixos/modules/services/home-automation/home-assistant.nix +++ b/nixos/modules/services/home-automation/home-assistant.nix @@ -435,6 +435,7 @@ in { systemd.services.home-assistant = { description = "Home Assistant"; + wants = [ "network-online.target" ]; after = [ "network-online.target" diff --git a/nixos/modules/services/logging/journaldriver.nix b/nixos/modules/services/logging/journaldriver.nix index 59eedff90d60..4d21464018aa 100644 --- a/nixos/modules/services/logging/journaldriver.nix +++ b/nixos/modules/services/logging/journaldriver.nix @@ -84,6 +84,7 @@ in { systemd.services.journaldriver = { description = "Stackdriver Logging journal forwarder"; script = "${pkgs.journaldriver}/bin/journaldriver"; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/mail/roundcube.nix b/nixos/modules/services/mail/roundcube.nix index c883c143e523..3f1a695ab91a 100644 --- a/nixos/modules/services/mail/roundcube.nix +++ b/nixos/modules/services/mail/roundcube.nix @@ -250,6 +250,7 @@ in path = [ config.services.postgresql.package ]; }) { + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; script = let diff --git a/nixos/modules/services/mail/sympa.nix b/nixos/modules/services/mail/sympa.nix index 04ae46f66eea..13fc8656a2b5 100644 --- a/nixos/modules/services/mail/sympa.nix +++ b/nixos/modules/services/mail/sympa.nix @@ -435,7 +435,7 @@ in wantedBy = [ "multi-user.target" ]; after = [ "network-online.target" ]; - wants = sympaSubServices; + wants = sympaSubServices ++ [ "network-online.target" ]; before = sympaSubServices; serviceConfig = sympaServiceConfig "sympa_msg"; diff --git a/nixos/modules/services/matrix/synapse.nix b/nixos/modules/services/matrix/synapse.nix index 50019d2a25cb..4c1c396eac05 100644 --- a/nixos/modules/services/matrix/synapse.nix +++ b/nixos/modules/services/matrix/synapse.nix @@ -1056,6 +1056,7 @@ in { systemd.targets.matrix-synapse = lib.mkIf hasWorkers { description = "Synapse Matrix parent target"; + wants = [ "network-online.target" ]; after = [ "network-online.target" ] ++ optional hasLocalPostgresDB "postgresql.service"; wantedBy = [ "multi-user.target" ]; }; @@ -1071,6 +1072,7 @@ in { requires = optional hasLocalPostgresDB "postgresql.service"; } else { + wants = [ "network-online.target" ]; after = [ "network-online.target" ] ++ optional hasLocalPostgresDB "postgresql.service"; requires = optional hasLocalPostgresDB "postgresql.service"; wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/misc/amazon-ssm-agent.nix b/nixos/modules/services/misc/amazon-ssm-agent.nix index 20b836abe164..89a1c0766510 100644 --- a/nixos/modules/services/misc/amazon-ssm-agent.nix +++ b/nixos/modules/services/misc/amazon-ssm-agent.nix @@ -41,6 +41,7 @@ in { # See https://github.com/aws/amazon-ssm-agent/blob/mainline/packaging/linux/amazon-ssm-agent.service systemd.services.amazon-ssm-agent = { inherit (cfg.package.meta) description; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/misc/bcg.nix b/nixos/modules/services/misc/bcg.nix index 9da4a879cdd0..ad0b9c871342 100644 --- a/nixos/modules/services/misc/bcg.nix +++ b/nixos/modules/services/misc/bcg.nix @@ -154,7 +154,7 @@ in in { description = "BigClown Gateway"; wantedBy = [ "multi-user.target" ]; - wants = mkIf config.services.mosquitto.enable [ "mosquitto.service" ]; + wants = [ "network-online.target" ] ++ lib.optional config.services.mosquitto.enable "mosquitto.service"; after = [ "network-online.target" ]; preStart = '' umask 077 diff --git a/nixos/modules/services/misc/domoticz.nix b/nixos/modules/services/misc/domoticz.nix index fd9fcf0b78eb..315092f93351 100644 --- a/nixos/modules/services/misc/domoticz.nix +++ b/nixos/modules/services/misc/domoticz.nix @@ -35,6 +35,7 @@ in { systemd.services."domoticz" = { description = pkgDesc; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; serviceConfig = { DynamicUser = true; diff --git a/nixos/modules/services/misc/etesync-dav.nix b/nixos/modules/services/misc/etesync-dav.nix index 9d99d548d95b..ae2b5ad04343 100644 --- a/nixos/modules/services/misc/etesync-dav.nix +++ b/nixos/modules/services/misc/etesync-dav.nix @@ -59,6 +59,7 @@ in systemd.services.etesync-dav = { description = "etesync-dav - A CalDAV and CardDAV adapter for EteSync"; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; path = [ pkgs.etesync-dav ]; diff --git a/nixos/modules/services/misc/mediatomb.nix b/nixos/modules/services/misc/mediatomb.nix index d421d74c53ad..03235e9a1265 100644 --- a/nixos/modules/services/misc/mediatomb.nix +++ b/nixos/modules/services/misc/mediatomb.nix @@ -357,6 +357,7 @@ in { description = "${cfg.serverName} media Server"; # Gerbera might fail if the network interface is not available on startup # https://github.com/gerbera/gerbera/issues/1324 + wants = [ "network-online.target" ]; after = [ "network.target" "network-online.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig.ExecStart = "${binaryCommand} --port ${toString cfg.port} ${interfaceFlag} ${configFlag} --home ${cfg.dataDir}"; diff --git a/nixos/modules/services/misc/metabase.nix b/nixos/modules/services/misc/metabase.nix index 883fa0b95911..5fc18e27eaae 100644 --- a/nixos/modules/services/misc/metabase.nix +++ b/nixos/modules/services/misc/metabase.nix @@ -77,6 +77,7 @@ in { systemd.services.metabase = { description = "Metabase server"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; environment = { MB_PLUGINS_DIR = "${dataDir}/plugins"; diff --git a/nixos/modules/services/misc/paperless.nix b/nixos/modules/services/misc/paperless.nix index 3c6832958f59..ca34a327dbdf 100644 --- a/nixos/modules/services/misc/paperless.nix +++ b/nixos/modules/services/misc/paperless.nix @@ -297,6 +297,7 @@ in wantedBy = [ "paperless-scheduler.service" ]; before = [ "paperless-scheduler.service" ]; after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; serviceConfig = defaultServiceConfig // { User = cfg.user; Type = "oneshot"; diff --git a/nixos/modules/services/monitoring/mackerel-agent.nix b/nixos/modules/services/monitoring/mackerel-agent.nix index 62a7858500f2..5915634ed26f 100644 --- a/nixos/modules/services/monitoring/mackerel-agent.nix +++ b/nixos/modules/services/monitoring/mackerel-agent.nix @@ -84,6 +84,7 @@ in { # upstream service file in https://git.io/JUt4Q systemd.services.mackerel-agent = { description = "mackerel.io agent"; + wants = [ "network-online.target" ]; after = [ "network-online.target" "nss-lookup.target" ]; wantedBy = [ "multi-user.target" ]; environment = { diff --git a/nixos/modules/services/monitoring/prometheus/alertmanager.nix b/nixos/modules/services/monitoring/prometheus/alertmanager.nix index 4fd630015f35..bb426d8b7beb 100644 --- a/nixos/modules/services/monitoring/prometheus/alertmanager.nix +++ b/nixos/modules/services/monitoring/prometheus/alertmanager.nix @@ -174,6 +174,7 @@ in { systemd.services.alertmanager = { wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; preStart = '' ${lib.getBin pkgs.envsubst}/bin/envsubst -o "/tmp/alert-manager-substituted.yaml" \ diff --git a/nixos/modules/services/monitoring/teamviewer.nix b/nixos/modules/services/monitoring/teamviewer.nix index 9b1278317943..7c45247aa6d5 100644 --- a/nixos/modules/services/monitoring/teamviewer.nix +++ b/nixos/modules/services/monitoring/teamviewer.nix @@ -30,6 +30,7 @@ in description = "TeamViewer remote control daemon"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" "network.target" "dbus.service" ]; requires = [ "dbus.service" ]; preStart = "mkdir -pv /var/lib/teamviewer /var/log/teamviewer"; diff --git a/nixos/modules/services/monitoring/telegraf.nix b/nixos/modules/services/monitoring/telegraf.nix index ee28ee03adf3..3bab8aba7bd6 100644 --- a/nixos/modules/services/monitoring/telegraf.nix +++ b/nixos/modules/services/monitoring/telegraf.nix @@ -59,6 +59,7 @@ in { in { description = "Telegraf Agent"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; path = lib.optional (config.services.telegraf.extraConfig.inputs ? procstat) pkgs.procps; serviceConfig = { diff --git a/nixos/modules/services/network-filesystems/openafs/client.nix b/nixos/modules/services/network-filesystems/openafs/client.nix index bb0fee087e62..02c3482ec657 100644 --- a/nixos/modules/services/network-filesystems/openafs/client.nix +++ b/nixos/modules/services/network-filesystems/openafs/client.nix @@ -215,6 +215,7 @@ in systemd.services.afsd = { description = "AFS client"; wantedBy = [ "multi-user.target" ]; + wants = lib.optional (!cfg.startDisconnected) "network-online.target"; after = singleton (if cfg.startDisconnected then "network.target" else "network-online.target"); serviceConfig = { RemainAfterExit = true; }; restartIfChanged = false; diff --git a/nixos/modules/services/network-filesystems/samba.nix b/nixos/modules/services/network-filesystems/samba.nix index 5d02eac8e9f1..ef368ddbeefd 100644 --- a/nixos/modules/services/network-filesystems/samba.nix +++ b/nixos/modules/services/network-filesystems/samba.nix @@ -154,7 +154,7 @@ in }; securityType = mkOption { - type = types.str; + type = types.enum [ "auto" "user" "domain" "ads" ]; default = "user"; description = lib.mdDoc "Samba security type"; }; diff --git a/nixos/modules/services/networking/bitcoind.nix b/nixos/modules/services/networking/bitcoind.nix index 4512e666ba5b..59722e31c62a 100644 --- a/nixos/modules/services/networking/bitcoind.nix +++ b/nixos/modules/services/networking/bitcoind.nix @@ -198,6 +198,7 @@ in ''; in { description = "Bitcoin daemon"; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { diff --git a/nixos/modules/services/networking/dante.nix b/nixos/modules/services/networking/dante.nix index 605f2d74f827..f0d1d6305c54 100644 --- a/nixos/modules/services/networking/dante.nix +++ b/nixos/modules/services/networking/dante.nix @@ -47,6 +47,7 @@ in systemd.services.dante = { description = "Dante SOCKS v4 and v5 compatible proxy server"; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/networking/ergo.nix b/nixos/modules/services/networking/ergo.nix index 033d4d9caf8a..1bee0f43f988 100644 --- a/nixos/modules/services/networking/ergo.nix +++ b/nixos/modules/services/networking/ergo.nix @@ -114,6 +114,7 @@ in { systemd.services.ergo = { description = "ergo server"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; serviceConfig = { User = cfg.user; diff --git a/nixos/modules/services/networking/expressvpn.nix b/nixos/modules/services/networking/expressvpn.nix index 30de6987d31f..05c24d8bccff 100644 --- a/nixos/modules/services/networking/expressvpn.nix +++ b/nixos/modules/services/networking/expressvpn.nix @@ -21,6 +21,7 @@ with lib; RestartSec = 5; }; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network.target" "network-online.target" ]; }; }; diff --git a/nixos/modules/services/networking/headscale.nix b/nixos/modules/services/networking/headscale.nix index 4224a0578cc3..95b5fcf6ebde 100644 --- a/nixos/modules/services/networking/headscale.nix +++ b/nixos/modules/services/networking/headscale.nix @@ -460,6 +460,7 @@ in { systemd.services.headscale = { description = "headscale coordination server for Tailscale"; + wants = [ "network-online.target" ]; after = ["network-online.target"]; wantedBy = ["multi-user.target"]; restartTriggers = [configFile]; diff --git a/nixos/modules/services/networking/ircd-hybrid/default.nix b/nixos/modules/services/networking/ircd-hybrid/default.nix index 554b0f7bb8b4..64a34cc52d25 100644 --- a/nixos/modules/services/networking/ircd-hybrid/default.nix +++ b/nixos/modules/services/networking/ircd-hybrid/default.nix @@ -125,7 +125,8 @@ in systemd.services.ircd-hybrid = { description = "IRCD Hybrid server"; - after = [ "started networking" ]; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; script = "${ircdService}/bin/control start"; }; diff --git a/nixos/modules/services/networking/ivpn.nix b/nixos/modules/services/networking/ivpn.nix index 6df630c1f194..6c9ae599e670 100644 --- a/nixos/modules/services/networking/ivpn.nix +++ b/nixos/modules/services/networking/ivpn.nix @@ -27,7 +27,7 @@ with lib; systemd.services.ivpn-service = { description = "iVPN daemon"; wantedBy = [ "multi-user.target" ]; - wants = [ "network.target" ]; + wants = [ "network.target" "network-online.target" ]; after = [ "network-online.target" "NetworkManager.service" diff --git a/nixos/modules/services/networking/kea.nix b/nixos/modules/services/networking/kea.nix index 5ca705976c41..656ddd41fd12 100644 --- a/nixos/modules/services/networking/kea.nix +++ b/nixos/modules/services/networking/kea.nix @@ -325,6 +325,9 @@ in "network-online.target" "time-sync.target" ]; + wants = [ + "network-online.target" + ]; wantedBy = [ "multi-user.target" ]; @@ -372,6 +375,9 @@ in "network-online.target" "time-sync.target" ]; + wants = [ + "network-online.target" + ]; wantedBy = [ "multi-user.target" ]; @@ -413,6 +419,7 @@ in "https://kea.readthedocs.io/en/kea-${package.version}/arm/ddns.html" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" "time-sync.target" diff --git a/nixos/modules/services/networking/mosquitto.nix b/nixos/modules/services/networking/mosquitto.nix index f2b158b98942..ad9eefb42252 100644 --- a/nixos/modules/services/networking/mosquitto.nix +++ b/nixos/modules/services/networking/mosquitto.nix @@ -596,6 +596,7 @@ in systemd.services.mosquitto = { description = "Mosquitto MQTT Broker Daemon"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; serviceConfig = { Type = "notify"; diff --git a/nixos/modules/services/networking/mullvad-vpn.nix b/nixos/modules/services/networking/mullvad-vpn.nix index 446c71f40764..5da4ca1d1d80 100644 --- a/nixos/modules/services/networking/mullvad-vpn.nix +++ b/nixos/modules/services/networking/mullvad-vpn.nix @@ -53,7 +53,7 @@ with lib; systemd.services.mullvad-daemon = { description = "Mullvad VPN daemon"; wantedBy = [ "multi-user.target" ]; - wants = [ "network.target" ]; + wants = [ "network.target" "network-online.target" ]; after = [ "network-online.target" "NetworkManager.service" diff --git a/nixos/modules/services/networking/nbd.nix b/nixos/modules/services/networking/nbd.nix index 454380aa3154..b4bf7ede8463 100644 --- a/nixos/modules/services/networking/nbd.nix +++ b/nixos/modules/services/networking/nbd.nix @@ -117,6 +117,7 @@ in boot.kernelModules = [ "nbd" ]; systemd.services.nbd-server = { + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; before = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/networking/ocserv.nix b/nixos/modules/services/networking/ocserv.nix index 9548fd92dbda..3c61d56b893e 100644 --- a/nixos/modules/services/networking/ocserv.nix +++ b/nixos/modules/services/networking/ocserv.nix @@ -85,6 +85,7 @@ in systemd.services.ocserv = { description = "OpenConnect SSL VPN server"; documentation = [ "man:ocserv(8)" ]; + wants = [ "network-online.target" ]; after = [ "dbus.service" "network-online.target" ]; wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/networking/pleroma.nix b/nixos/modules/services/networking/pleroma.nix index db0a61b83469..8470f5e9cbc0 100644 --- a/nixos/modules/services/networking/pleroma.nix +++ b/nixos/modules/services/networking/pleroma.nix @@ -92,6 +92,7 @@ in { systemd.services.pleroma = { description = "Pleroma social network"; + wants = [ "network-online.target" ]; after = [ "network-online.target" "postgresql.service" ]; wantedBy = [ "multi-user.target" ]; restartTriggers = [ config.environment.etc."/pleroma/config.exs".source ]; diff --git a/nixos/modules/services/networking/rosenpass.nix b/nixos/modules/services/networking/rosenpass.nix index d2a264b83d67..487cb6f60142 100644 --- a/nixos/modules/services/networking/rosenpass.nix +++ b/nixos/modules/services/networking/rosenpass.nix @@ -208,6 +208,7 @@ in in rec { wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; path = [ cfg.package pkgs.wireguard-tools ]; diff --git a/nixos/modules/services/networking/rxe.nix b/nixos/modules/services/networking/rxe.nix index 7dbb4823b4bc..07437ed71195 100644 --- a/nixos/modules/services/networking/rxe.nix +++ b/nixos/modules/services/networking/rxe.nix @@ -33,7 +33,7 @@ in { wantedBy = [ "multi-user.target" ]; after = [ "systemd-modules-load.service" "network-online.target" ]; - wants = [ "network-pre.target" ]; + wants = [ "network-pre.target" "network-online.target" ]; serviceConfig = { Type = "oneshot"; diff --git a/nixos/modules/services/networking/soju.nix b/nixos/modules/services/networking/soju.nix index 7f0ac3e3b8e6..d69ec08ca13a 100644 --- a/nixos/modules/services/networking/soju.nix +++ b/nixos/modules/services/networking/soju.nix @@ -110,6 +110,7 @@ in systemd.services.soju = { description = "soju IRC bouncer"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; serviceConfig = { DynamicUser = true; diff --git a/nixos/modules/services/networking/strongswan-swanctl/module.nix b/nixos/modules/services/networking/strongswan-swanctl/module.nix index c8832ed4defb..a98850923955 100644 --- a/nixos/modules/services/networking/strongswan-swanctl/module.nix +++ b/nixos/modules/services/networking/strongswan-swanctl/module.nix @@ -55,6 +55,7 @@ in { systemd.services.strongswan-swanctl = { description = "strongSwan IPsec IKEv1/IKEv2 daemon using swanctl"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; path = with pkgs; [ kmod iproute2 iptables util-linux ]; environment = { diff --git a/nixos/modules/services/networking/strongswan.nix b/nixos/modules/services/networking/strongswan.nix index e58526814d1a..dcf04d2a1917 100644 --- a/nixos/modules/services/networking/strongswan.nix +++ b/nixos/modules/services/networking/strongswan.nix @@ -153,6 +153,7 @@ in description = "strongSwan IPSec Service"; wantedBy = [ "multi-user.target" ]; path = with pkgs; [ kmod iproute2 iptables util-linux ]; # XXX Linux + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; environment = { STRONGSWAN_CONF = strongswanConf { inherit setup connections ca secretsFile managePlugins enabledPlugins; }; diff --git a/nixos/modules/services/networking/syncplay.nix b/nixos/modules/services/networking/syncplay.nix index 0a66d93bf153..151259b6d4ad 100644 --- a/nixos/modules/services/networking/syncplay.nix +++ b/nixos/modules/services/networking/syncplay.nix @@ -107,6 +107,7 @@ in systemd.services.syncplay = { description = "Syncplay Service"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; serviceConfig = { diff --git a/nixos/modules/services/networking/wasabibackend.nix b/nixos/modules/services/networking/wasabibackend.nix index 938145b35ee8..e3a48afd2a2c 100644 --- a/nixos/modules/services/networking/wasabibackend.nix +++ b/nixos/modules/services/networking/wasabibackend.nix @@ -119,6 +119,7 @@ in { systemd.services.wasabibackend = { description = "wasabibackend server"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; environment = { DOTNET_PRINT_TELEMETRY_MESSAGE = "false"; diff --git a/nixos/modules/services/networking/znc/default.nix b/nixos/modules/services/networking/znc/default.nix index d3ba4a524197..e15233293cf2 100644 --- a/nixos/modules/services/networking/znc/default.nix +++ b/nixos/modules/services/networking/znc/default.nix @@ -243,6 +243,7 @@ in systemd.services.znc = { description = "ZNC Server"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; serviceConfig = { User = cfg.user; diff --git a/nixos/modules/services/security/certmgr.nix b/nixos/modules/services/security/certmgr.nix index db80e943973d..02cb7afe87ba 100644 --- a/nixos/modules/services/security/certmgr.nix +++ b/nixos/modules/services/security/certmgr.nix @@ -182,6 +182,7 @@ in systemd.services.certmgr = { description = "certmgr"; path = mkIf (cfg.svcManager == "command") [ pkgs.bash ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; inherit preStart; diff --git a/nixos/modules/services/security/oauth2_proxy.nix b/nixos/modules/services/security/oauth2_proxy.nix index 78916c907279..d1dc37d549d2 100644 --- a/nixos/modules/services/security/oauth2_proxy.nix +++ b/nixos/modules/services/security/oauth2_proxy.nix @@ -572,6 +572,7 @@ in description = "OAuth2 Proxy"; path = [ cfg.package ]; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; serviceConfig = { diff --git a/nixos/modules/services/system/cachix-agent/default.nix b/nixos/modules/services/system/cachix-agent/default.nix index 196d3291d555..f8020fe970f1 100644 --- a/nixos/modules/services/system/cachix-agent/default.nix +++ b/nixos/modules/services/system/cachix-agent/default.nix @@ -49,6 +49,7 @@ in { config = mkIf cfg.enable { systemd.services.cachix-agent = { description = "Cachix Deploy Agent"; + wants = [ "network-online.target" ]; after = ["network-online.target"]; path = [ config.nix.package ]; wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/system/cachix-watch-store.nix b/nixos/modules/services/system/cachix-watch-store.nix index 8aa5f0358fa9..d48af29465aa 100644 --- a/nixos/modules/services/system/cachix-watch-store.nix +++ b/nixos/modules/services/system/cachix-watch-store.nix @@ -61,6 +61,7 @@ in config = mkIf cfg.enable { systemd.services.cachix-watch-store-agent = { description = "Cachix watch store Agent"; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; path = [ config.nix.package ]; wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/video/go2rtc/default.nix b/nixos/modules/services/video/go2rtc/default.nix index 13851fa0306f..9dddbb60baa8 100644 --- a/nixos/modules/services/video/go2rtc/default.nix +++ b/nixos/modules/services/video/go2rtc/default.nix @@ -94,6 +94,7 @@ in config = lib.mkIf cfg.enable { systemd.services.go2rtc = { + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; diff --git a/nixos/modules/services/web-apps/akkoma.nix b/nixos/modules/services/web-apps/akkoma.nix index 8980556ab014..4cd9e2664378 100644 --- a/nixos/modules/services/web-apps/akkoma.nix +++ b/nixos/modules/services/web-apps/akkoma.nix @@ -974,7 +974,7 @@ in { # This service depends on network-online.target and is sequenced after # it because it requires access to the Internet to function properly. bindsTo = [ "akkoma-config.service" ]; - wants = [ "network-online.service" ]; + wants = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; after = [ "akkoma-config.target" diff --git a/nixos/modules/services/web-apps/alps.nix b/nixos/modules/services/web-apps/alps.nix index 05fb676102df..81c6b8ad30b5 100644 --- a/nixos/modules/services/web-apps/alps.nix +++ b/nixos/modules/services/web-apps/alps.nix @@ -94,6 +94,7 @@ in { description = "alps is a simple and extensible webmail."; documentation = [ "https://git.sr.ht/~migadu/alps" ]; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network.target" "network-online.target" ]; serviceConfig = { diff --git a/nixos/modules/services/web-apps/c2fmzq-server.nix b/nixos/modules/services/web-apps/c2fmzq-server.nix index 87938fe160e1..dee131182de1 100644 --- a/nixos/modules/services/web-apps/c2fmzq-server.nix +++ b/nixos/modules/services/web-apps/c2fmzq-server.nix @@ -80,6 +80,7 @@ in { description = "c2FmZQ-server"; documentation = [ "https://github.com/c2FmZQ/c2FmZQ/blob/main/README.md" ]; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network.target" "network-online.target" ]; serviceConfig = { diff --git a/nixos/modules/services/web-apps/code-server.nix b/nixos/modules/services/web-apps/code-server.nix index 11601f6c3044..d087deb7848d 100644 --- a/nixos/modules/services/web-apps/code-server.nix +++ b/nixos/modules/services/web-apps/code-server.nix @@ -205,6 +205,7 @@ in { systemd.services.code-server = { description = "Code server"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; path = cfg.extraPackages; environment = { diff --git a/nixos/modules/services/web-apps/healthchecks.nix b/nixos/modules/services/web-apps/healthchecks.nix index e5e425a29d54..1d439f162313 100644 --- a/nixos/modules/services/web-apps/healthchecks.nix +++ b/nixos/modules/services/web-apps/healthchecks.nix @@ -176,6 +176,7 @@ in systemd.targets.healthchecks = { description = "Target for all Healthchecks services"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network.target" "network-online.target" ]; }; diff --git a/nixos/modules/services/web-apps/netbox.nix b/nixos/modules/services/web-apps/netbox.nix index 88d40b3abc52..72ec578146a7 100644 --- a/nixos/modules/services/web-apps/netbox.nix +++ b/nixos/modules/services/web-apps/netbox.nix @@ -267,6 +267,7 @@ in { systemd.targets.netbox = { description = "Target for all NetBox services"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" "redis-netbox.service" ]; }; diff --git a/nixos/modules/services/web-apps/openvscode-server.nix b/nixos/modules/services/web-apps/openvscode-server.nix index 76a19dccae16..81b9d1f3b4c8 100644 --- a/nixos/modules/services/web-apps/openvscode-server.nix +++ b/nixos/modules/services/web-apps/openvscode-server.nix @@ -159,6 +159,7 @@ in systemd.services.openvscode-server = { description = "OpenVSCode server"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; path = cfg.extraPackages; environment = cfg.extraEnvironment; diff --git a/nixos/modules/services/web-apps/peering-manager.nix b/nixos/modules/services/web-apps/peering-manager.nix index d6f6077268d4..0382ce717473 100644 --- a/nixos/modules/services/web-apps/peering-manager.nix +++ b/nixos/modules/services/web-apps/peering-manager.nix @@ -196,6 +196,7 @@ in { systemd.targets.peering-manager = { description = "Target for all Peering Manager services"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network-online.target" "redis-peering-manager.service" ]; }; diff --git a/nixos/modules/services/web-servers/agate.nix b/nixos/modules/services/web-servers/agate.nix index dce425035ff7..e03174c87945 100644 --- a/nixos/modules/services/web-servers/agate.nix +++ b/nixos/modules/services/web-servers/agate.nix @@ -71,6 +71,7 @@ in systemd.services.agate = { description = "Agate"; wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = [ "network.target" "network-online.target" ]; script = diff --git a/nixos/modules/services/web-servers/mighttpd2.nix b/nixos/modules/services/web-servers/mighttpd2.nix index bdd6d8b62aa3..bb75dc4f2ff4 100644 --- a/nixos/modules/services/web-servers/mighttpd2.nix +++ b/nixos/modules/services/web-servers/mighttpd2.nix @@ -101,6 +101,7 @@ in { ]; systemd.services.mighttpd2 = { description = "Mighttpd2 web server"; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { diff --git a/nixos/modules/services/web-servers/minio.nix b/nixos/modules/services/web-servers/minio.nix index 6431db250476..be6946657e23 100644 --- a/nixos/modules/services/web-servers/minio.nix +++ b/nixos/modules/services/web-servers/minio.nix @@ -98,6 +98,7 @@ in services.minio = { description = "Minio Object Storage"; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { diff --git a/nixos/modules/services/web-servers/traefik.nix b/nixos/modules/services/web-servers/traefik.nix index cc2c680b3342..fc9eb504ebf8 100644 --- a/nixos/modules/services/web-servers/traefik.nix +++ b/nixos/modules/services/web-servers/traefik.nix @@ -144,6 +144,7 @@ in { systemd.services.traefik = { description = "Traefik web server"; + wants = [ "network-online.target" ]; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; startLimitIntervalSec = 86400; diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 46c3f66f02dc..331ca5103ba6 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -451,20 +451,37 @@ in cfg.services ); - assertions = concatLists ( - mapAttrsToList - (name: service: - map (message: { - assertion = false; - inherit message; - }) (concatLists [ - (optional ((builtins.elem "network-interfaces.target" service.after) || (builtins.elem "network-interfaces.target" service.wants)) - "Service '${name}.service' is using the deprecated target network-interfaces.target, which no longer exists. Using network.target is recommended instead." - ) - ]) - ) - cfg.services - ); + assertions = let + mkOneAssert = typeStr: name: def: { + assertion = lib.elem "network-online.target" def.after -> lib.elem "network-online.target" (def.wants ++ def.requires ++ def.bindsTo); + message = "${name}.${typeStr} is ordered after 'network-online.target' but doesn't depend on it"; + }; + mkAsserts = typeStr: lib.mapAttrsToList (mkOneAssert typeStr); + mkMountAsserts = typeStr: map (m: mkOneAssert typeStr m.what m); + in mkMerge [ + (concatLists ( + mapAttrsToList + (name: service: + map (message: { + assertion = false; + inherit message; + }) (concatLists [ + (optional ((builtins.elem "network-interfaces.target" service.after) || (builtins.elem "network-interfaces.target" service.wants)) + "Service '${name}.service' is using the deprecated target network-interfaces.target, which no longer exists. Using network.target is recommended instead." + ) + ]) + ) + cfg.services + )) + (mkAsserts "target" cfg.targets) + (mkAsserts "service" cfg.services) + (mkAsserts "socket" cfg.sockets) + (mkAsserts "timer" cfg.timers) + (mkAsserts "path" cfg.paths) + (mkMountAsserts "mount" cfg.mounts) + (mkMountAsserts "automount" cfg.automounts) + (mkAsserts "slice" cfg.slices) + ]; system.build.units = cfg.units; @@ -641,7 +658,6 @@ in systemd.services.systemd-udev-settle.restartIfChanged = false; # Causes long delays in nixos-rebuild systemd.targets.local-fs.unitConfig.X-StopOnReconfiguration = true; systemd.targets.remote-fs.unitConfig.X-StopOnReconfiguration = true; - systemd.targets.network-online.wantedBy = [ "multi-user.target" ]; systemd.services.systemd-importd.environment = proxy_env; systemd.services.systemd-pstore.wantedBy = [ "sysinit.target" ]; # see #81138 diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix index aa44f2642697..f0d9b95f81f6 100644 --- a/nixos/modules/virtualisation/amazon-image.nix +++ b/nixos/modules/virtualisation/amazon-image.nix @@ -71,6 +71,7 @@ in systemd.services.fetch-ec2-metadata = { wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; after = ["network-online.target"]; path = [ pkgs.curl ]; script = builtins.readFile ./ec2-metadata-fetcher.sh; diff --git a/nixos/modules/virtualisation/oci-containers.nix b/nixos/modules/virtualisation/oci-containers.nix index a4a40346f093..07ed08ab2f84 100644 --- a/nixos/modules/virtualisation/oci-containers.nix +++ b/nixos/modules/virtualisation/oci-containers.nix @@ -267,6 +267,7 @@ let }; in { wantedBy = [] ++ optional (container.autoStart) "multi-user.target"; + wants = lib.optional (container.imageFile == null) "network-online.target"; after = lib.optionals (cfg.backend == "docker") [ "docker.service" "docker.socket" ] # if imageFile is not set, the service needs the network to download the image from the registry ++ lib.optionals (container.imageFile == null) [ "network-online.target" ] diff --git a/nixos/tests/3proxy.nix b/nixos/tests/3proxy.nix index 83d39de018a3..b80b4e166d48 100644 --- a/nixos/tests/3proxy.nix +++ b/nixos/tests/3proxy.nix @@ -134,6 +134,7 @@ testScript = '' start_all() + peer0.systemctl("start network-online.target") peer0.wait_for_unit("network-online.target") peer1.wait_for_unit("3proxy.service") diff --git a/nixos/tests/acme.nix b/nixos/tests/acme.nix index e5f2d4c7934a..272782dc2f62 100644 --- a/nixos/tests/acme.nix +++ b/nixos/tests/acme.nix @@ -522,6 +522,7 @@ in { 'curl --data \'{"host": "${caDomain}", "addresses": ["${nodes.acme.networking.primaryIPAddress}"]}\' http://${dnsServerIP nodes}:8055/add-a' ) + acme.systemctl("start network-online.target") acme.wait_for_unit("network-online.target") acme.wait_for_unit("pebble.service") diff --git a/nixos/tests/adguardhome.nix b/nixos/tests/adguardhome.nix index a6f790b83f5f..80613ce82534 100644 --- a/nixos/tests/adguardhome.nix +++ b/nixos/tests/adguardhome.nix @@ -126,6 +126,7 @@ with subtest("Testing successful DHCP start"): dhcpConf.wait_for_unit("adguardhome.service") + client.systemctl("start network-online.target") client.wait_for_unit("network-online.target") # Test IP assignment via DHCP dhcpConf.wait_until_succeeds("ping -c 5 10.0.10.100") diff --git a/nixos/tests/babeld.nix b/nixos/tests/babeld.nix index d4df6f86d089..e497aa5b64e1 100644 --- a/nixos/tests/babeld.nix +++ b/nixos/tests/babeld.nix @@ -120,10 +120,6 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : { '' start_all() - client.wait_for_unit("network-online.target") - local_router.wait_for_unit("network-online.target") - remote_router.wait_for_unit("network-online.target") - local_router.wait_for_unit("babeld.service") remote_router.wait_for_unit("babeld.service") diff --git a/nixos/tests/bittorrent.nix b/nixos/tests/bittorrent.nix index 4a73fea6a09d..473b05d4c98e 100644 --- a/nixos/tests/bittorrent.nix +++ b/nixos/tests/bittorrent.nix @@ -115,6 +115,7 @@ in start_all() # Wait for network and miniupnpd. + router.systemctl("start network-online.target") router.wait_for_unit("network-online.target") router.wait_for_unit("miniupnpd") @@ -129,6 +130,7 @@ in tracker.succeed("chmod 644 /tmp/test.torrent") # Start the tracker. !!! use a less crappy tracker + tracker.systemctl("start network-online.target") tracker.wait_for_unit("network-online.target") tracker.wait_for_unit("opentracker.service") tracker.wait_for_open_port(6969) @@ -140,6 +142,7 @@ in # Now we should be able to download from the client behind the NAT. tracker.wait_for_unit("httpd") + client1.systemctl("start network-online.target") client1.wait_for_unit("network-online.target") client1.succeed("transmission-remote --add http://${externalTrackerAddress}/test.torrent >&2 &") client1.wait_for_file("${download-dir}/test.tar.bz2") @@ -152,6 +155,7 @@ in # Now download from the second client. This can only succeed if # the first client created a NAT hole in the router. + client2.systemctl("start network-online.target") client2.wait_for_unit("network-online.target") client2.succeed( "transmission-remote --add http://${externalTrackerAddress}/test.torrent --no-portmap --no-dht >&2 &" diff --git a/nixos/tests/buildbot.nix b/nixos/tests/buildbot.nix index 2f6926313b7c..149d73bba09c 100644 --- a/nixos/tests/buildbot.nix +++ b/nixos/tests/buildbot.nix @@ -71,6 +71,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { gitrepo.wait_for_unit("multi-user.target") with subtest("Repo is accessible via git daemon"): + bbmaster.systemctl("start network-online.target") bbmaster.wait_for_unit("network-online.target") bbmaster.succeed("rm -rfv /tmp/fakerepo") bbmaster.succeed("git clone git://gitrepo/fakerepo /tmp/fakerepo") @@ -78,6 +79,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { with subtest("Master service and worker successfully connect"): bbmaster.wait_for_unit("buildbot-master.service") bbmaster.wait_until_succeeds("curl --fail -s --head http://bbmaster:8010") + bbworker.systemctl("start network-online.target") bbworker.wait_for_unit("network-online.target") bbworker.succeed("nc -z bbmaster 8010") bbworker.succeed("nc -z bbmaster 9989") diff --git a/nixos/tests/corerad.nix b/nixos/tests/corerad.nix index b6f5d7fc6f75..dd2bec794a1a 100644 --- a/nixos/tests/corerad.nix +++ b/nixos/tests/corerad.nix @@ -56,6 +56,8 @@ import ./make-test-python.nix ( with subtest("Wait for CoreRAD and network ready"): # Ensure networking is online and CoreRAD is ready. + router.systemctl("start network-online.target") + client.systemctl("start network-online.target") router.wait_for_unit("network-online.target") client.wait_for_unit("network-online.target") router.wait_for_unit("corerad.service") diff --git a/nixos/tests/curl-impersonate.nix b/nixos/tests/curl-impersonate.nix index 7954e9e5584c..33b10da1dfd0 100644 --- a/nixos/tests/curl-impersonate.nix +++ b/nixos/tests/curl-impersonate.nix @@ -144,6 +144,8 @@ in { start_all() with subtest("Wait for network"): + web.systemctl("start network-online.target") + curl.systemctl("start network-online.target") web.wait_for_unit("network-online.target") curl.wait_for_unit("network-online.target") diff --git a/nixos/tests/ferm.nix b/nixos/tests/ferm.nix index be43877445eb..87c67ac62347 100644 --- a/nixos/tests/ferm.nix +++ b/nixos/tests/ferm.nix @@ -55,6 +55,8 @@ import ./make-test-python.nix ({ pkgs, ...} : { '' start_all() + client.systemctl("start network-online.target") + server.systemctl("start network-online.target") client.wait_for_unit("network-online.target") server.wait_for_unit("network-online.target") server.wait_for_unit("ferm.service") diff --git a/nixos/tests/gitdaemon.nix b/nixos/tests/gitdaemon.nix index bb07b6e97b7f..052fa902b450 100644 --- a/nixos/tests/gitdaemon.nix +++ b/nixos/tests/gitdaemon.nix @@ -59,6 +59,9 @@ in { with subtest("git daemon starts"): server.wait_for_unit("git-daemon.service") + + server.systemctl("start network-online.target") + client.systemctl("start network-online.target") server.wait_for_unit("network-online.target") client.wait_for_unit("network-online.target") diff --git a/nixos/tests/guix/publish.nix b/nixos/tests/guix/publish.nix index a15e00b0fa98..eb56fc97478c 100644 --- a/nixos/tests/guix/publish.nix +++ b/nixos/tests/guix/publish.nix @@ -80,6 +80,7 @@ in { # Now it's the client turn to make use of it. substitute_server = "http://server.local:${toString publishPort}" + client.systemctl("start network-online.target") client.wait_for_unit("network-online.target") response = client.succeed(f"curl {substitute_server}") assert "Guix Substitute Server" in response diff --git a/nixos/tests/hostname.nix b/nixos/tests/hostname.nix index 6122e2ffeb83..dffec956bc0b 100644 --- a/nixos/tests/hostname.nix +++ b/nixos/tests/hostname.nix @@ -34,6 +34,7 @@ let machine = ${hostName} + machine.systemctl("start network-online.target") machine.wait_for_unit("network-online.target") # Test if NixOS computes the correct FQDN (either a FQDN or an error/null): diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 21d5e1470d8e..7576fae41f83 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -158,7 +158,9 @@ let start_all() ${optionalString clevisTest '' tang.wait_for_unit("sockets.target") + tang.systemctl("start network-online.target") tang.wait_for_unit("network-online.target") + machine.systemctl("start network-online.target") machine.wait_for_unit("network-online.target") ''} machine.wait_for_unit("multi-user.target") @@ -187,6 +189,7 @@ let ${optionalString clevisTest '' with subtest("Create the Clevis secret with Tang"): + machine.systemctl("start network-online.target") machine.wait_for_unit("network-online.target") machine.succeed('echo -n password | clevis encrypt sss \'{"t": 2, "pins": {"tpm2": {}, "tang": {"url": "http://192.168.1.2"}}}\' -y > /mnt/etc/nixos/clevis-secret.jwe')''} diff --git a/nixos/tests/kanidm.nix b/nixos/tests/kanidm.nix index 3f5bca397740..fa24d4a8a5e1 100644 --- a/nixos/tests/kanidm.nix +++ b/nixos/tests/kanidm.nix @@ -67,6 +67,7 @@ import ./make-test-python.nix ({ pkgs, ... }: '' start_all() server.wait_for_unit("kanidm.service") + client.systemctl("start network-online.target") client.wait_for_unit("network-online.target") with subtest("Test HTTP interface"): diff --git a/nixos/tests/lemmy.nix b/nixos/tests/lemmy.nix index de2c4938fe23..e8d747f89a9e 100644 --- a/nixos/tests/lemmy.nix +++ b/nixos/tests/lemmy.nix @@ -59,6 +59,7 @@ in server.succeed("curl --fail localhost:${toString uiPort}") with subtest("Lemmy-UI responds through the caddy reverse proxy"): + server.systemctl("start network-online.target") server.wait_for_unit("network-online.target") server.wait_for_unit("caddy.service") server.wait_for_open_port(80) @@ -66,6 +67,7 @@ in assert "Lemmy" in body, f"String Lemmy not found in response for ${lemmyNodeName}: \n{body}" with subtest("the server is exposed externally"): + client.systemctl("start network-online.target") client.wait_for_unit("network-online.target") client.succeed("curl -v --fail ${lemmyNodeName}") diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix index 768d0cfa2238..6bd89902eedb 100644 --- a/nixos/tests/networking.nix +++ b/nixos/tests/networking.nix @@ -130,6 +130,7 @@ let start_all() client.wait_for_unit("network.target") + router.systemctl("start network-online.target") router.wait_for_unit("network-online.target") with subtest("Make sure DHCP server is not started"): @@ -222,6 +223,7 @@ let start_all() client.wait_for_unit("network.target") + router.systemctl("start network-online.target") router.wait_for_unit("network-online.target") with subtest("Wait until we have an ip address on each interface"): @@ -849,6 +851,7 @@ let client.wait_for_unit("network.target") client_with_privacy.wait_for_unit("network.target") + router.systemctl("start network-online.target") router.wait_for_unit("network-online.target") with subtest("Wait until we have an ip address"): diff --git a/nixos/tests/nfs/kerberos.nix b/nixos/tests/nfs/kerberos.nix index 1bace4058be5..5944b53319a0 100644 --- a/nixos/tests/nfs/kerberos.nix +++ b/nixos/tests/nfs/kerberos.nix @@ -105,6 +105,7 @@ in server.wait_for_unit("rpc-gssd.service") server.wait_for_unit("rpc-svcgssd.service") + client.systemctl("start network-online.target") client.wait_for_unit("network-online.target") # add principals to client keytab diff --git a/nixos/tests/opensmtpd-rspamd.nix b/nixos/tests/opensmtpd-rspamd.nix index 19969a7b47dd..e413a2050bd6 100644 --- a/nixos/tests/opensmtpd-rspamd.nix +++ b/nixos/tests/opensmtpd-rspamd.nix @@ -119,6 +119,7 @@ import ./make-test-python.nix { testScript = '' start_all() + client.systemctl("start network-online.target") client.wait_for_unit("network-online.target") smtp1.wait_for_unit("opensmtpd") smtp2.wait_for_unit("opensmtpd") diff --git a/nixos/tests/opensmtpd.nix b/nixos/tests/opensmtpd.nix index 17c1a569ba0d..d32f82ed33b8 100644 --- a/nixos/tests/opensmtpd.nix +++ b/nixos/tests/opensmtpd.nix @@ -104,6 +104,7 @@ import ./make-test-python.nix { testScript = '' start_all() + client.systemctl("start network-online.target") client.wait_for_unit("network-online.target") smtp1.wait_for_unit("opensmtpd") smtp2.wait_for_unit("opensmtpd") diff --git a/nixos/tests/owncast.nix b/nixos/tests/owncast.nix index debb34f5009d..73aac4e70475 100644 --- a/nixos/tests/owncast.nix +++ b/nixos/tests/owncast.nix @@ -31,6 +31,8 @@ import ./make-test-python.nix ({ pkgs, ... }: { testScript = '' start_all() + client.systemctl("start network-online.target") + server.systemctl("start network-online.target") client.wait_for_unit("network-online.target") server.wait_for_unit("network-online.target") server.wait_for_unit("owncast.service") diff --git a/nixos/tests/postgis.nix b/nixos/tests/postgis.nix index 09c738b938ba..dacf4e576c07 100644 --- a/nixos/tests/postgis.nix +++ b/nixos/tests/postgis.nix @@ -24,6 +24,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { master.wait_for_unit("postgresql") master.sleep(10) # Hopefully this is long enough!! master.succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis;'") + master.succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis_raster;'") master.succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis_topology;'") ''; }) diff --git a/nixos/tests/qemu-vm-restrictnetwork.nix b/nixos/tests/qemu-vm-restrictnetwork.nix index 49a105ef1076..49aefcc099bd 100644 --- a/nixos/tests/qemu-vm-restrictnetwork.nix +++ b/nixos/tests/qemu-vm-restrictnetwork.nix @@ -21,6 +21,8 @@ import ./make-test-python.nix ({ else: start_all() + unrestricted.systemctl("start network-online.target") + restricted.systemctl("start network-online.target") unrestricted.wait_for_unit("network-online.target") restricted.wait_for_unit("network-online.target") diff --git a/nixos/tests/rss2email.nix b/nixos/tests/rss2email.nix index f32326feb50f..60b27b95fabe 100644 --- a/nixos/tests/rss2email.nix +++ b/nixos/tests/rss2email.nix @@ -55,6 +55,7 @@ import ./make-test-python.nix { testScript = '' start_all() + server.systemctl("start network-online.target") server.wait_for_unit("network-online.target") server.wait_for_unit("opensmtpd") server.wait_for_unit("dovecot2") diff --git a/nixos/tests/ssh-audit.nix b/nixos/tests/ssh-audit.nix index bd6255b8044d..25772aba3ea0 100644 --- a/nixos/tests/ssh-audit.nix +++ b/nixos/tests/ssh-audit.nix @@ -70,6 +70,7 @@ import ./make-test-python.nix ( ${serverName}.succeed("${pkgs.ssh-audit}/bin/ssh-audit 127.0.0.1") # Wait for client to be able to connect to the server + ${clientName}.systemctl("start network-online.target") ${clientName}.wait_for_unit("network-online.target") # Set up trusted private key diff --git a/nixos/tests/systemd-networkd-dhcpserver.nix b/nixos/tests/systemd-networkd-dhcpserver.nix index cf0ccb744211..665d8b5a0529 100644 --- a/nixos/tests/systemd-networkd-dhcpserver.nix +++ b/nixos/tests/systemd-networkd-dhcpserver.nix @@ -101,6 +101,9 @@ import ./make-test-python.nix ({pkgs, ...}: { }; testScript = { ... }: '' start_all() + + router.systemctl("start network-online.target") + client.systemctl("start network-online.target") router.wait_for_unit("systemd-networkd-wait-online.service") client.wait_for_unit("systemd-networkd-wait-online.service") client.wait_until_succeeds("ping -c 5 10.0.2.1") diff --git a/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix b/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix index 54f371e6c070..1e55341657bd 100644 --- a/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix +++ b/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix @@ -263,9 +263,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { }; }; }; - - # make the network-online target a requirement, we wait for it in our test script - systemd.targets.network-online.wantedBy = [ "multi-user.target" ]; }; # This is the client behind the router. We should be receiving router @@ -278,9 +275,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { useNetworkd = true; useDHCP = false; }; - - # make the network-online target a requirement, we wait for it in our test script - systemd.targets.network-online.wantedBy = [ "multi-user.target" ]; }; }; @@ -294,6 +288,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { # Since we only care about IPv6 that should not involve waiting for legacy # IP leases. client.start() + client.systemctl("start network-online.target") client.wait_for_unit("network-online.target") # the static address on the router should not be reachable @@ -312,6 +307,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { isp.wait_for_unit("multi-user.target") # wait until the uplink interface has a good status + router.systemctl("start network-online.target") router.wait_for_unit("network-online.target") router.wait_until_succeeds("ping -6 -c1 2001:DB8::1") diff --git a/nixos/tests/systemd-nspawn.nix b/nixos/tests/systemd-nspawn.nix index 1a4251ef069e..b86762233d18 100644 --- a/nixos/tests/systemd-nspawn.nix +++ b/nixos/tests/systemd-nspawn.nix @@ -38,6 +38,7 @@ in { start_all() server.wait_for_unit("nginx.service") + client.systemctl("start network-online.target") client.wait_for_unit("network-online.target") client.succeed("machinectl pull-raw --verify=signature http://server/testimage.raw") client.succeed( diff --git a/nixos/tests/tayga.nix b/nixos/tests/tayga.nix index 44974f6efea8..4aade67d74d0 100644 --- a/nixos/tests/tayga.nix +++ b/nixos/tests/tayga.nix @@ -206,6 +206,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: testScript = '' # start client and server for machine in client, server: + machine.systemctl("start network-online.target") machine.wait_for_unit("network-online.target") machine.log(machine.execute("ip addr")[1]) machine.log(machine.execute("ip route")[1]) @@ -214,6 +215,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: # test systemd-networkd and nixos-scripts based router for router in router_systemd, router_nixos: router.start() + router.systemctl("start network-online.target") router.wait_for_unit("network-online.target") router.wait_for_unit("tayga.service") router.log(machine.execute("ip addr")[1]) diff --git a/nixos/tests/trafficserver.nix b/nixos/tests/trafficserver.nix index e4557c6c50e5..94d0e4dd926e 100644 --- a/nixos/tests/trafficserver.nix +++ b/nixos/tests/trafficserver.nix @@ -104,6 +104,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { ats.wait_for_open_port(80) httpbin.wait_for_unit("httpbin") httpbin.wait_for_open_port(80) + client.systemctl("start network-online.target") client.wait_for_unit("network-online.target") with subtest("Traffic Server is running"): diff --git a/nixos/tests/ulogd/ulogd.py b/nixos/tests/ulogd/ulogd.py index d20daa4d733a..76a8d0c6e24a 100644 --- a/nixos/tests/ulogd/ulogd.py +++ b/nixos/tests/ulogd/ulogd.py @@ -1,5 +1,6 @@ start_all() machine.wait_for_unit("ulogd.service") +machine.systemctl("start network-online.target") machine.wait_for_unit("network-online.target") with subtest("Ulogd is running"): diff --git a/nixos/tests/upnp.nix b/nixos/tests/upnp.nix index 5e135267403b..93bc08f752ce 100644 --- a/nixos/tests/upnp.nix +++ b/nixos/tests/upnp.nix @@ -81,11 +81,13 @@ in start_all() # Wait for network and miniupnpd. + router.systemctl("start network-online.target") router.wait_for_unit("network-online.target") # $router.wait_for_unit("nat") router.wait_for_unit("${if useNftables then "nftables" else "firewall"}.service") router.wait_for_unit("miniupnpd") + client1.systemctl("start network-online.target") client1.wait_for_unit("network-online.target") client1.succeed("upnpc -a ${internalClient1Address} 9000 9000 TCP") diff --git a/nixos/tests/uptermd.nix b/nixos/tests/uptermd.nix index 429e3c9dd5ff..469aa5047c27 100644 --- a/nixos/tests/uptermd.nix +++ b/nixos/tests/uptermd.nix @@ -28,6 +28,7 @@ in start_all() server.wait_for_unit("uptermd.service") + server.systemctl("start network-online.target") server.wait_for_unit("network-online.target") # wait for upterm port to be reachable diff --git a/nixos/tests/zrepl.nix b/nixos/tests/zrepl.nix index b16c7eddc7ae..bdf11122c73f 100644 --- a/nixos/tests/zrepl.nix +++ b/nixos/tests/zrepl.nix @@ -42,6 +42,7 @@ import ./make-test-python.nix ( start_all() with subtest("Wait for zrepl and network ready"): + host.systemctl("start network-online.target") host.wait_for_unit("network-online.target") host.wait_for_unit("zrepl.service") diff --git a/pkgs/applications/audio/hydrogen/default.nix b/pkgs/applications/audio/hydrogen/default.nix index 0bea741e19d8..1460a78d9a9b 100644 --- a/pkgs/applications/audio/hydrogen/default.nix +++ b/pkgs/applications/audio/hydrogen/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "hydrogen"; - version = "1.2.2"; + version = "1.2.3"; src = fetchFromGitHub { owner = "hydrogen-music"; repo = pname; rev = version; - sha256 = "sha256-A9mLiPh7ZMWJ11PcVP07IxZ8WdV2HkkKLix77egbC0M="; + sha256 = "sha256-7dgckFscyms+HW3xrsr3+lMua/H82U2jLkm/OKw3YWE="; }; nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix index 065018448364..d8671af6e8c4 100644 --- a/pkgs/applications/audio/picard/default.nix +++ b/pkgs/applications/audio/picard/default.nix @@ -77,7 +77,7 @@ pythonPackages.buildPythonApplication rec { homepage = "https://picard.musicbrainz.org"; changelog = "https://picard.musicbrainz.org/changelog"; description = "The official MusicBrainz tagger"; - maintainers = with maintainers; [ ehmry paveloom ]; + maintainers = with maintainers; [ ehmry ]; license = licenses.gpl2Plus; platforms = platforms.all; }; diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix index 67a597b62388..f7baad9c53a0 100644 --- a/pkgs/applications/audio/quodlibet/default.nix +++ b/pkgs/applications/audio/quodlibet/default.nix @@ -171,6 +171,6 @@ python3.pkgs.buildPythonApplication rec { ''; homepage = "https://quodlibet.readthedocs.io/en/latest"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ coroa paveloom pbogdan ]; + maintainers = with maintainers; [ coroa pbogdan ]; }; } diff --git a/pkgs/applications/editors/retext/default.nix b/pkgs/applications/editors/retext/default.nix index feb42d9a99a9..db85170f5be1 100644 --- a/pkgs/applications/editors/retext/default.nix +++ b/pkgs/applications/editors/retext/default.nix @@ -15,14 +15,14 @@ python3.pkgs.buildPythonApplication rec { pname = "retext"; - version = "8.0.0"; + version = "8.0.1"; format = "setuptools"; src = fetchFromGitHub { owner = "retext-project"; repo = pname; - rev = version; - hash = "sha256-22yqNwIehgTfeElqhN5Jzye7LbcAiseTeoMgenpmsL0="; + rev = "refs/tags/${version}"; + hash = "sha256-7zNEmFf0FZCzaNq9EMfGCje66/v5T/QvI5DTftLhi7g="; }; toolbarIcons = fetchzip { diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index dd94ae1086c5..16720b4de846 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -591,8 +591,8 @@ let mktplcRef = { name = "vscode-intelephense-client"; publisher = "bmewburn"; - version = "1.10.1"; - sha256 = "sha256-VZQ3dpwj4RWZuyMba8DM7+JcIBSYB8zimZOkP5mJbms="; + version = "1.10.2"; + sha256 = "sha256-he/aPcsxfqYWI/RJ51d5V0reaTPTATci34xPm93qxGs="; }; meta = { description = "PHP code intelligence for Visual Studio Code"; @@ -1101,6 +1101,12 @@ let }; donjayamanne.githistory = buildVscodeMarketplaceExtension { + mktplcRef = { + name = "githistory"; + publisher = "donjayamanne"; + version = "0.6.20"; + sha256 = "sha256-nEdYS9/cMS4dcbFje23a47QBZr9eDK3dvtkFWqA+OHU="; + }; meta = { changelog = "https://marketplace.visualstudio.com/items/donjayamanne.githistory/changelog"; description = "View git log, file history, compare branches or commits"; @@ -1109,12 +1115,6 @@ let license = lib.licenses.mit; maintainers = [ ]; }; - mktplcRef = { - name = "githistory"; - publisher = "donjayamanne"; - version = "0.6.20"; - sha256 = "sha256-nEdYS9/cMS4dcbFje23a47QBZr9eDK3dvtkFWqA+OHU="; - }; }; dotenv.dotenv-vscode = buildVscodeMarketplaceExtension { @@ -1580,8 +1580,8 @@ let mktplcRef = { publisher = "github"; name = "copilot"; - version = "1.143.601"; - sha256 = "sha256-Ge/q1fAfhI5EuJFLHZqZyuPahHSgES7G0ns9FbS9vzA="; + version = "1.151.659"; + sha256 = "sha256-6jz7Nb9SGON7AXL4KJwC4H03la9JqLCX+AyBEvxD4HA="; }; meta = { @@ -1597,8 +1597,8 @@ let mktplcRef = { publisher = "github"; name = "copilot-chat"; - version = "0.11.2023111001"; - sha256 = "sha256-sBDvqqyq0R0ZyS81G61fI9Vd860RIjhNzCqY0bdz1mg="; + version = "0.11.2023120102"; + sha256 = "sha256-EUegM4sVP/vDikNr4LwnWzhDBSgfxYe6mxnrhSdXhIQ="; }; meta = { description = "GitHub Copilot Chat is a companion extension to GitHub Copilot that houses experimental chat features"; @@ -1630,8 +1630,8 @@ let mktplcRef = { name = "vscode-github-actions"; publisher = "github"; - version = "0.25.6"; - sha256 = "sha256-HRj/AQI9E6HDkZ2ok/h/+c9HHq1wVXQPAt5mb/Ij+BI="; + version = "0.26.2"; + sha256 = "sha256-sEc6Fbn4XpK8vNK32R4fjnx/R+1xYOwcuhKlo7sPd5o="; }; meta = { description = "A Visual Studio Code extension for GitHub Actions workflows and runs for github.com hosted repositories"; @@ -1651,8 +1651,8 @@ let # the VSCode Marketplace and use a calver scheme. We should avoid # using preview versions, because they can require insider versions # of VS Code - version = "0.75.2023101209"; - sha256 = "1saz4brd5k1wyy7pz1h3jcl4kq35f78s2q8drjd7v2k97jhy8la1"; + version = "0.78.1"; + sha256 = "sha256-T9oW6o4ItZfR8E1qrcH3nhMvVB6ihi4kpiDz7YGHOcI="; }; meta = { license = lib.licenses.mit; }; }; @@ -2376,8 +2376,8 @@ let mktplcRef = { name = "direnv"; publisher = "mkhl"; - version = "0.15.2"; - sha256 = "06lp4qgnksklgc6nvx1l9z38y7apbx0a6v886nd15aq9rq8my0ka"; + version = "0.16.0"; + sha256 = "sha256-u2AFjvhm3zio1ygW9yD9ZwbywLrEssd0O7/0AtfCvMo="; }; meta = { diff --git a/pkgs/applications/graphics/identity/default.nix b/pkgs/applications/graphics/identity/default.nix index 55e13d7016fa..a17ecf7a6fb2 100644 --- a/pkgs/applications/graphics/identity/default.nix +++ b/pkgs/applications/graphics/identity/default.nix @@ -72,6 +72,6 @@ stdenv.mkDerivation rec { homepage = "https://gitlab.gnome.org/YaLTeR/identity"; license = licenses.gpl3Plus; platforms = platforms.linux; - maintainers = with maintainers; [ paveloom ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/applications/misc/remarkable/rmview/default.nix b/pkgs/applications/misc/remarkable/rmview/default.nix index e3fd00d8cdc4..24627025ca9f 100644 --- a/pkgs/applications/misc/remarkable/rmview/default.nix +++ b/pkgs/applications/misc/remarkable/rmview/default.nix @@ -2,13 +2,13 @@ python3Packages.buildPythonApplication rec { pname = "rmview"; - version = "3.1.2"; + version = "3.1.3"; src = fetchFromGitHub { owner = "bordaigorl"; repo = pname; rev = "refs/tags/v${version}"; - sha256 = "sha256-oCF37WQqNIXut2k+xr528twGxwPoH/sQ2leThagQJAU="; + sha256 = "sha256-V26zmu8cQkLs0IMR7eFO8x34McnT3xYyzlZfntApYkk="; }; nativeBuildInputs = with python3Packages; [ pyqt5 wrapQtAppsHook ]; diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix index ec5a4eb4f35e..3ed94a3a621c 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "helm-diff"; - version = "3.8.1"; + version = "3.9.2"; src = fetchFromGitHub { owner = "databus23"; repo = pname; rev = "v${version}"; - sha256 = "sha256-x3tTHiuw0CtvsOCB7oPd9EB+B5T1m6Hn7O1CriYahuA="; + sha256 = "sha256-4EjvjvW8aal/ekGV0ePevPf30NarrWIh6id30n1r2dE="; }; - vendorHash = "sha256-2tiBFS3gvSbnyighSorg/ar058ZJmiQviaT13zOS8KA="; + vendorHash = "sha256-RPb5+tZkOsubOl0YlSXsybmlOtKVbJ97c+f/wiz/gmE="; ldflags = [ "-s" "-w" "-X github.com/databus23/helm-diff/v3/cmd.Version=${version}" ]; diff --git a/pkgs/applications/networking/gnome-network-displays/default.nix b/pkgs/applications/networking/gnome-network-displays/default.nix index e7bfde8a5192..392f98c4fb6c 100644 --- a/pkgs/applications/networking/gnome-network-displays/default.nix +++ b/pkgs/applications/networking/gnome-network-displays/default.nix @@ -29,16 +29,6 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-2SBVQK4fJeK8Y2UrrL0g5vQIerDdGE1nhFc6ke4oIpI="; }; - patches = [ - # Undeclared dependency on gio-unix-2.0, see: - # https://github.com/NixOS/nixpkgs/issues/36468 and - # https://gitlab.gnome.org/GNOME/gnome-network-displays/-/merge_requests/147 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-network-displays/-/commit/ef3f3ff565acd8238da46de604a1e750d4f02f07.diff"; - sha256 = "1ljiwgqia6am4lansg70qnwkch9mp1fr6bga98s5fwyiaw6b6f4p"; - }) - ]; - nativeBuildInputs = [ meson ninja diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix index 37e27a884d5d..dcf3c64f66fd 100644 --- a/pkgs/applications/networking/p2p/qbittorrent/default.nix +++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix @@ -95,6 +95,6 @@ stdenv.mkDerivation rec { changelog = "https://github.com/qbittorrent/qBittorrent/blob/release-${version}/Changelog"; license = licenses.gpl2Plus; platforms = platforms.unix; - maintainers = with maintainers; [ Anton-Latukha kashw2 paveloom ]; + maintainers = with maintainers; [ Anton-Latukha kashw2 ]; }; } diff --git a/pkgs/applications/networking/remote/xrdp/default.nix b/pkgs/applications/networking/remote/xrdp/default.nix index c90ec78c9aa4..c9f679d9e124 100644 --- a/pkgs/applications/networking/remote/xrdp/default.nix +++ b/pkgs/applications/networking/remote/xrdp/default.nix @@ -22,7 +22,7 @@ }: let - version = "0.9.23.1"; + version = "0.9.24"; patchedXrdpSrc = applyPatches { patches = [ ./dynamic_config.patch ]; name = "xrdp-patched-${version}"; @@ -31,7 +31,7 @@ let repo = "xrdp"; rev = "v${version}"; fetchSubmodules = true; - hash = "sha256-fJKSEHB5X5QydKgRPjIMJzNaAy1EVJifHETSGmlJttQ="; + hash = "sha256-Kvj72l+jmoad6VgmCYW2KtQAbJMJ8AZjNIYJ5lUNzRM="; }; }; diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index 53f4803c7c5b..deae24ec6547 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -189,7 +189,7 @@ stdenv.mkDerivation rec { changelog = "https://www.wireshark.org/docs/relnotes/wireshark-${version}.html"; license = licenses.gpl2Plus; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ bjornfor fpletz paveloom ]; + maintainers = with maintainers; [ bjornfor fpletz ]; mainProgram = if withQt then "wireshark" else "tshark"; }; } diff --git a/pkgs/applications/version-management/gut/default.nix b/pkgs/applications/version-management/gut/default.nix index 3d57ceb03a80..1254de70eb92 100644 --- a/pkgs/applications/version-management/gut/default.nix +++ b/pkgs/applications/version-management/gut/default.nix @@ -28,7 +28,7 @@ buildGoModule rec { description = "An alternative git CLI"; homepage = "https://gut-cli.dev"; license = licenses.mit; - maintainers = with maintainers; [ paveloom ]; + maintainers = with maintainers; [ ]; mainProgram = "gut"; }; } diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix index ecb5093f4be1..0c83d080716c 100644 --- a/pkgs/applications/version-management/subversion/default.nix +++ b/pkgs/applications/version-management/subversion/default.nix @@ -128,7 +128,7 @@ let in { subversion = common { - version = "1.14.2"; - sha256 = "sha256-yRMOjQt1copm8OcDj8dwUuZxgw14W1YWqtU7SBDTzCg="; + version = "1.14.3"; + sha256 = "sha256-lJ79RRoJQ19+hXNXTHHHtxsZTYRIkPpJzWHSJi6hpEA="; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix index eb801cda4fed..b776981522d0 100644 --- a/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix @@ -72,6 +72,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/WarmUpTill/SceneSwitcher"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ paveloom ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/obs-teleport/default.nix b/pkgs/applications/video/obs-studio/plugins/obs-teleport/default.nix index c7ee1d4f2598..3c0c662b7618 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-teleport/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-teleport/default.nix @@ -47,7 +47,7 @@ buildGoModule rec { meta = { description = "An OBS Studio plugin for an open NDI-like replacement"; homepage = "https://github.com/fzwoch/obs-teleport"; - maintainers = [ lib.maintainers.paveloom ]; + maintainers = [ ]; license = lib.licenses.gpl2Plus; platforms = obs-studio.meta.platforms; }; diff --git a/pkgs/applications/video/subtitleedit/default.nix b/pkgs/applications/video/subtitleedit/default.nix index 88018e5a5612..e08ac36db3f0 100644 --- a/pkgs/applications/video/subtitleedit/default.nix +++ b/pkgs/applications/video/subtitleedit/default.nix @@ -92,6 +92,6 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; platforms = platforms.all; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - maintainers = with maintainers; [ paveloom ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/by-name/ae/aeacus/package.nix b/pkgs/by-name/ae/aeacus/package.nix new file mode 100644 index 000000000000..d172e7c50177 --- /dev/null +++ b/pkgs/by-name/ae/aeacus/package.nix @@ -0,0 +1,35 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "aeacus"; + version = "2.1.1"; + + src = fetchFromGitHub { + owner = "elysium-suite"; + repo = "aeacus"; + rev = "refs/tags/v${version}"; + hash = "sha256-LMsfogcz3CoShQDqyshMshb+iz2r0k5I7NDLXevMakI="; + }; + + vendorHash = "sha256-WOXOM08UYECdGx+e54n4BgLP3cr+st3qKi8iQXebPvk="; + + ldflags = [ + "-s" + "-w" + ]; + + # Tests require network access + doCheck = false; + + meta = with lib; { + description = "Vulnerability remediation scoring system"; + homepage = "https://github.com/elysium-suite/aeacus"; + changelog = "https://github.com/elysium-suite/aeacus/releases/tag/v${version}"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ fab ]; + mainProgram = "aeacus"; + }; +} diff --git a/pkgs/by-name/ap/approxmc/package.nix b/pkgs/by-name/ap/approxmc/package.nix new file mode 100644 index 000000000000..f9222f66d500 --- /dev/null +++ b/pkgs/by-name/ap/approxmc/package.nix @@ -0,0 +1,43 @@ +{ stdenv +, fetchFromGitHub +, cmake +, zlib +, gmp +, cryptominisat +, boost +, arjun-cnf +, louvain-community +, lib +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "approxmc"; + version = "4.1.23"; + + src = fetchFromGitHub { + owner = "meelgroup"; + repo = "approxmc"; + rev = finalAttrs.version; + hash = "sha256-pE2m6Cc2u53H/5CM+2JuQxZOhjhHUZOi0kn23CJmALM="; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + zlib + gmp + cryptominisat + boost + arjun-cnf + louvain-community + ]; + + meta = with lib; { + description = "Approximate Model Counter"; + homepage = "https://github.com/meelgroup/approxmc"; + license = licenses.mit; + maintainers = with maintainers; [ t4ccer ]; + platforms = platforms.linux; + mainProgram = "approxmc"; + }; +}) diff --git a/pkgs/by-name/ar/arjun-cnf/fix-red-clause.patch b/pkgs/by-name/ar/arjun-cnf/fix-red-clause.patch new file mode 100644 index 000000000000..a7f4d6755431 --- /dev/null +++ b/pkgs/by-name/ar/arjun-cnf/fix-red-clause.patch @@ -0,0 +1,28 @@ +diff --git a/src/arjun.cpp b/src/arjun.cpp +index d6ad786..119a267 100644 +--- a/src/arjun.cpp ++++ b/src/arjun.cpp +@@ -98,6 +98,11 @@ DLL_PUBLIC bool Arjun::add_clause(const vector& lits) + return arjdata->common.solver->add_clause(lits); + } + ++DLL_PUBLIC bool Arjun::add_red_clause(const vector& lits) ++{ ++ return arjdata->common.solver->add_red_clause(lits); ++} ++ + DLL_PUBLIC bool Arjun::add_xor_clause(const vector& vars, bool rhs) + { + assert(false && "Funnily enough this does NOT work. The XORs would generate a BVA variable, and that would then not be returned as part of the simplified CNF. We could calculate a smaller independent set, but that's all."); +diff --git a/src/arjun.h b/src/arjun.h +index a39070c..907472a 100644 +--- a/src/arjun.h ++++ b/src/arjun.h +@@ -61,6 +61,7 @@ namespace ArjunNS { + void new_var(); + bool add_xor_clause(const std::vector& vars, bool rhs); + bool add_clause(const std::vector& lits); ++ bool add_red_clause(const std::vector& lits); + bool add_bnn_clause( + const std::vector& lits, + signed cutoff, diff --git a/pkgs/by-name/ar/arjun-cnf/package.nix b/pkgs/by-name/ar/arjun-cnf/package.nix new file mode 100644 index 000000000000..48e18272fda5 --- /dev/null +++ b/pkgs/by-name/ar/arjun-cnf/package.nix @@ -0,0 +1,48 @@ +{ stdenv +, fetchFromGitHub +, fetchpatch +, cmake +, cryptominisat +, boost +, louvain-community +, lib +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "arjun-cnf"; + version = "2.5.2"; + + src = fetchFromGitHub { + owner = "meelgroup"; + repo = "arjun"; + rev = finalAttrs.version; + hash = "sha256-5duc05s654HLjbf+dPgyMn6QUVvB0vLji3M4S2o/QYU="; + }; + + # Can be removed after next release + patches = [ + (fetchpatch { + url = "https://github.com/meelgroup/arjun/commit/34188760f1ab4b1b557c45ccaee8d2b9b6f0b901.patch"; + hash = "sha256-E/yk2ohHP2BAFg353r8EU01bZCqeEjvpJCrBsxPiOWM="; + }) + # Based on https://github.com/meelgroup/arjun/commit/99c4ed4ad820674632c5d9bbcc98c001f8cac98f + ./fix-red-clause.patch + ]; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + boost + cryptominisat + louvain-community + ]; + + meta = with lib; { + description = "CNF minimizer and minimal independent set calculator"; + homepage = "https://github.com/meelgroup/arjun"; + license = licenses.mit; + maintainers = with maintainers; [ t4ccer ]; + platforms = platforms.linux; + mainProgram = "arjun"; + }; +}) diff --git a/pkgs/by-name/lo/louvain-community/package.nix b/pkgs/by-name/lo/louvain-community/package.nix new file mode 100644 index 000000000000..e9dfdf722efd --- /dev/null +++ b/pkgs/by-name/lo/louvain-community/package.nix @@ -0,0 +1,27 @@ +{ stdenv +, fetchFromGitHub +, cmake +, lib +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "louvain-community"; + version = "unstable-2021-03-18"; + + src = fetchFromGitHub { + owner = "meelgroup"; + repo = "louvain-community"; + rev = "8cc5382d4844af127b1c1257373740d7e6b76f1e"; + hash = "sha256-0i3wrDdOyleOPv5iVO1YzPfTPnIdljLabCvl3SYEQOs="; + }; + + nativeBuildInputs = [ cmake ]; + + meta = with lib; { + description = "Louvain Community Detection Library"; + homepage = "https://github.com/meelgroup/louvain-community"; + license = licenses.lgpl3Only; + maintainers = with maintainers; [ t4ccer ]; + platforms = platforms.unix; + }; +}) diff --git a/pkgs/servers/search/manticoresearch/default.nix b/pkgs/by-name/ma/manticoresearch/package.nix similarity index 78% rename from pkgs/servers/search/manticoresearch/default.nix rename to pkgs/by-name/ma/manticoresearch/package.nix index d7fe93a214b1..cf9cf4e59655 100644 --- a/pkgs/servers/search/manticoresearch/default.nix +++ b/pkgs/by-name/ma/manticoresearch/package.nix @@ -54,13 +54,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "manticoresearch"; - version = "6.2.0"; + version = "6.2.12"; src = fetchFromGitHub { owner = "manticoresoftware"; repo = "manticoresearch"; - rev = finalAttrs.version; - hash = "sha256-KmBIQa5C71Y/1oa3XiPfmb941QDU2rWo7Bl5QlAo+yA="; + rev = "refs/tags/${finalAttrs.version}"; + hash = "sha256-UD/r7rlJ5mR3wg4doKT/nTwTWzlulngUjOPNEjmykB8="; }; nativeBuildInputs = [ @@ -95,21 +95,33 @@ stdenv.mkDerivation (finalAttrs: { "-DWITH_MYSQL=1" "-DMYSQL_INCLUDE_DIR=${mariadb-connector-c.dev}/include/mariadb" "-DMYSQL_LIB=${mariadb-connector-c.out}/lib/mariadb/libmysqlclient.a" + "-DCONFDIR=${placeholder "out"}/etc" + "-DLOGDIR=/var/lib/manticoresearch/log" + "-DRUNDIR=/var/run/manticoresearch" ]; + postFixup = '' + mkdir -p $out/lib/systemd/system + cp ${finalAttrs.src}/dist/deb/manticore.service.in $out/lib/systemd/system/manticore.service + substituteInPlace $out/lib/systemd/system/manticore.service \ + --replace "@CMAKE_INSTALL_FULL_RUNSTATEDIR@" "/var/lib/manticore" \ + --replace "@CMAKE_INSTALL_FULL_BINDIR@" "$out/bin" \ + --replace "@CMAKE_INSTALL_FULL_SYSCONFDIR@" "$out/etc" + ''; + passthru.tests.version = testers.testVersion { inherit (finalAttrs) version; package = manticoresearch; command = "searchd --version"; }; - meta = { + meta = with lib; { description = "Easy to use open source fast database for search"; homepage = "https://manticoresearch.com"; changelog = "https://github.com/manticoresoftware/manticoresearch/releases/tag/${finalAttrs.version}"; - license = lib.licenses.gpl2; + license = licenses.gpl2; mainProgram = "searchd"; - maintainers = [ lib.maintainers.jdelStrother ]; - platforms = lib.platforms.all; + maintainers = [ maintainers.jdelStrother ]; + platforms = platforms.all; }; }) diff --git a/pkgs/by-name/ml/mlx42/package.nix b/pkgs/by-name/ml/mlx42/package.nix index ac3aaa2200eb..3387dec3378d 100644 --- a/pkgs/by-name/ml/mlx42/package.nix +++ b/pkgs/by-name/ml/mlx42/package.nix @@ -11,23 +11,15 @@ stdenv.mkDerivation (finalAttrs: { pname = "mlx42"; - version = "2.3.2"; + version = "2.3.3"; src = fetchFromGitHub { owner = "codam-coding-college"; repo = "MLX42"; rev = "v${finalAttrs.version}"; - hash = "sha256-JCBV8NWibSugqXkbgP0v3gDfaaMNFYztWpBRfHJUG8E="; + hash = "sha256-igkTeOnqGYBISzmtDGlDx9cGJjoQ8fzXtVSR9hU4F5E="; }; - patches = [ - (fetchpatch { - name = "add-cmake-install.patch"; - url = "https://github.com/codam-coding-college/MLX42/commit/a51ca8e0ec3fb793fa96d710696dcee8a4fe57d6.patch"; - hash = "sha256-i+0yHZVvfTG19BGVrz7GuEuBw3B7lylCPEvx07il23M="; - }) - ]; - postPatch = '' patchShebangs ./tools '' @@ -46,10 +38,6 @@ stdenv.mkDerivation (finalAttrs: { postInstall = '' mkdir -p $out/lib/pkgconfig substituteAll ${./mlx42.pc} $out/lib/pkgconfig/mlx42.pc - - # This file was removed after 2.3.2, so the used patch doesn't copy this file - # This line can be removed after the next release - cp $src/include/MLX42/MLX42_Input.h $out/include/MLX42 ''; meta = { diff --git a/pkgs/by-name/mo/morewaita-icon-theme/package.nix b/pkgs/by-name/mo/morewaita-icon-theme/package.nix index 0225fab88b45..be19082d6d29 100644 --- a/pkgs/by-name/mo/morewaita-icon-theme/package.nix +++ b/pkgs/by-name/mo/morewaita-icon-theme/package.nix @@ -7,13 +7,13 @@ }: stdenvNoCC.mkDerivation rec { pname = "morewaita-icon-theme"; - version = "43.2"; + version = "45"; src = fetchFromGitHub { owner = "somepaulo"; repo = "MoreWaita"; rev = "v${version}"; - hash = "sha256-efeZEysuWdE1+ws3njFlhWjAjavRlMuIuSL2VT25lUk="; + hash = "sha256-UtwigqJjkin53Wg3PU14Rde6V42eKhmP26a3fDpbJ4Y="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/pa/passdetective/package.nix b/pkgs/by-name/pa/passdetective/package.nix new file mode 100644 index 000000000000..2e921beb8c7d --- /dev/null +++ b/pkgs/by-name/pa/passdetective/package.nix @@ -0,0 +1,35 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "passdetective"; + version = "1.0.7"; + + src = fetchFromGitHub { + owner = "aydinnyunus"; + repo = "PassDetective"; + rev = version; + hash = "sha256-ln+nKESCYNQwTB6njNQBNUGmF+NXqgzmM1sb/d6ZBcU="; + }; + + vendorHash = "sha256-4FF0aQiuVN382RBCYI7SpoB8U8MZoXTomuFEvcbcREg="; + + ldflags = [ + "-s" + "-w" + "-extldflags" + "-static" + "-X=main.build=${version}" + ]; + + meta = with lib; { + description = "Scans command history to detect mistakenly written passwords, API keys, and secrets"; + homepage = "https://github.com/aydinnyunus/PassDetective"; + changelog = "https://github.com/aydinnyunus/PassDetective/releases/tag/${version}"; + license = licenses.asl20; + maintainers = with maintainers; [ octodi ]; + mainProgram = "PassDetective"; + }; +} diff --git a/pkgs/by-name/uc/uchecker/package.nix b/pkgs/by-name/uc/uchecker/package.nix new file mode 100644 index 000000000000..a4746a1e0dfd --- /dev/null +++ b/pkgs/by-name/uc/uchecker/package.nix @@ -0,0 +1,49 @@ +{ lib +, python3 +, fetchFromGitHub +, fetchpatch +}: + +python3.pkgs.buildPythonApplication rec { + pname = "uchecker"; + version = "0.1.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "cloudlinux"; + repo = "kcare-uchecker"; + rev = "refs/tags/v${version}"; + hash = "sha256-SST143oi0O9PcJbw4nxHwHNY6HkIGi1WMBzveUYVhJs="; + }; + + patches = [ + # Switch to poetry-core, https://github.com/cloudlinux/kcare-uchecker/pull/52 + (fetchpatch { + name = "switch-poetry-core.patch"; + url = "https://github.com/cloudlinux/kcare-uchecker/commit/d7d5ab75efa6a355b3dd3190c1edbaba8110c885.patch"; + hash = "sha256-YPPw6M7MGN8nguAvAwjmz0VEYm0RD98ZkoVIq9SP3sA="; + }) + ]; + + nativeBuildInputs = with python3.pkgs; [ + poetry-core + ]; + + nativeCheckInputs = with python3.pkgs; [ + mock + pytestCheckHook + ]; + + pythonImportsCheck = [ + "uchecker" + ]; + + meta = with lib; { + description = "A simple tool to detect outdated shared libraries"; + homepage = "https://github.com/cloudlinux/kcare-uchecker"; + changelog = "https://github.com/cloudlinux/kcare-uchecker/releases/tag/v${version}"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ fab ]; + mainProgram = "uchecker"; + }; +} diff --git a/pkgs/development/compilers/blueprint/default.nix b/pkgs/development/compilers/blueprint/default.nix index f52b43f49a82..856fcaa5d5ab 100644 --- a/pkgs/development/compilers/blueprint/default.nix +++ b/pkgs/development/compilers/blueprint/default.nix @@ -66,7 +66,7 @@ stdenv.mkDerivation (finalAttrs: { description = "A markup language for GTK user interface files"; homepage = "https://gitlab.gnome.org/jwestman/blueprint-compiler"; license = licenses.lgpl3Plus; - maintainers = with maintainers; [ benediktbroich paveloom ranfdev ]; + maintainers = with maintainers; [ benediktbroich ranfdev ]; platforms = platforms.unix; }; }) diff --git a/pkgs/development/compilers/codon/default.nix b/pkgs/development/compilers/codon/default.nix index 70cd16327299..e9393956e473 100644 --- a/pkgs/development/compilers/codon/default.nix +++ b/pkgs/development/compilers/codon/default.nix @@ -134,7 +134,7 @@ stdenv.mkDerivation { meta = { description = "A high-performance, zero-overhead, extensible Python compiler using LLVM"; homepage = "https://docs.exaloop.io/codon"; - maintainers = [ lib.maintainers.paveloom ]; + maintainers = [ ]; license = lib.licenses.bsl11; platforms = lib.platforms.all; }; diff --git a/pkgs/development/compilers/graalvm/community-edition/graalpy/hashes.nix b/pkgs/development/compilers/graalvm/community-edition/graalpy/hashes.nix index c18e7bcba006..84bb1660f7b5 100644 --- a/pkgs/development/compilers/graalvm/community-edition/graalpy/hashes.nix +++ b/pkgs/development/compilers/graalvm/community-edition/graalpy/hashes.nix @@ -1,22 +1,22 @@ # Generated by update.sh script { - "version" = "23.1.1"; + "version" = "23.1.2"; "hashes" = { "aarch64-linux" = { - sha256 = "1jv9icfh3w8gdch0h3l8mm6q96z3lv89s8zv788wvkkb87zv8w8m"; - url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.1/graalpy-community-23.1.1-linux-aarch64.tar.gz"; + sha256 = "0ypzhi22q2d1dfl3qf3yfsaqdsrj8sksc2spa79rdqdr690li4y9"; + url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.2/graalpy-community-23.1.2-linux-aarch64.tar.gz"; }; "x86_64-linux" = { - sha256 = "108qdf0ss9l0x6k983v9yg6m5i7aqwfdxjqa5fx62xj027wi5pqk"; - url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.1/graalpy-community-23.1.1-linux-amd64.tar.gz"; + sha256 = "1n99hzf1sidacv4qr5j2b3dpwrc6qb71alwfkdxjqx6xv7g7nmr7"; + url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.2/graalpy-community-23.1.2-linux-amd64.tar.gz"; }; "x86_64-darwin" = { - sha256 = "019s7vlr8a6x60g0yh36pdf2vvan1v2wmq8z4xrcgpl96zpwwn5h"; - url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.1/graalpy-community-23.1.1-macos-amd64.tar.gz"; + sha256 = "0g2xj5hiq8idacdm0jlg5lvvv98f38p6fjb839gfacsb25pmhkg7"; + url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.2/graalpy-community-23.1.2-macos-amd64.tar.gz"; }; "aarch64-darwin" = { - sha256 = "0qbanbivkj62cjg2ll4ia23c435i1cvwy7pq19dvj8s204mpl8l2"; - url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.1/graalpy-community-23.1.1-macos-aarch64.tar.gz"; + sha256 = "0qinxqkkm9bfnzr43p3yhs3alfnl4pppca6yahsk5bp8ngyzasfj"; + url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.2/graalpy-community-23.1.2-macos-aarch64.tar.gz"; }; }; } diff --git a/pkgs/development/coq-modules/coqeal/default.nix b/pkgs/development/coq-modules/coqeal/default.nix index 89e3411bc332..60926e712ad7 100644 --- a/pkgs/development/coq-modules/coqeal/default.nix +++ b/pkgs/development/coq-modules/coqeal/default.nix @@ -8,6 +8,7 @@ inherit version; defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [ + { cases = [ (range "8.16" "8.19") (isGe "2.0.0") ]; out = "2.0.1"; } { cases = [ (range "8.16" "8.17") (isGe "2.0.0") ]; out = "2.0.0"; } { cases = [ (range "8.15" "8.18") (range "1.15.0" "1.18.0") ]; out = "1.1.3"; } { cases = [ (range "8.13" "8.17") (range "1.13.0" "1.18.0") ]; out = "1.1.1"; } @@ -17,6 +18,7 @@ { cases = [ (isGe "8.7") "1.10.0" ]; out = "1.0.3"; } ] null; + release."2.0.1".sha256 = "sha256-d/IQ4IdS2tpyPewcGobj2S6m2HU+iXQmlvR+ITNIcjI="; release."2.0.0".sha256 = "sha256-SG/KVnRJz2P+ZxkWVp1dDOnc/JVgigoexKfRUh1Y0GM"; release."1.1.3".sha256 = "sha256-xhqWpg86xbU1GbDtXXInNCTArjjPnWZctWiiasq1ScU="; release."1.1.1".sha256 = "sha256-ExAdC3WuArNxS+Sa1r4x5aT7ylbCvP/BZXfkdQNAvZ8="; diff --git a/pkgs/development/coq-modules/mathcomp-algebra-tactics/default.nix b/pkgs/development/coq-modules/mathcomp-algebra-tactics/default.nix index a665ea0db30a..6cf92542dae3 100644 --- a/pkgs/development/coq-modules/mathcomp-algebra-tactics/default.nix +++ b/pkgs/development/coq-modules/mathcomp-algebra-tactics/default.nix @@ -9,6 +9,7 @@ mkCoqDerivation { defaultVersion = with lib.versions; lib.switch [ coq.coq-version mathcomp-algebra.version ] [ + { cases = [ (range "8.16" "8.19") (isGe "2.0") ]; out = "1.2.3"; } { cases = [ (range "8.16" "8.18") (isGe "2.0") ]; out = "1.2.2"; } { cases = [ (range "8.16" "8.18") (isGe "1.15") ]; out = "1.1.1"; } { cases = [ (range "8.13" "8.16") (isGe "1.12") ]; out = "1.0.0"; } @@ -17,6 +18,7 @@ mkCoqDerivation { release."1.0.0".sha256 = "sha256-kszARPBizWbxSQ/Iqpf2vLbxYc6AjpUCLnSNlPcNfls="; release."1.1.1".sha256 = "sha256-5wItMeeTRoJlRBH3zBNc2VUZn6pkDde60YAvXTx+J3U="; release."1.2.2".sha256 = "sha256-EU9RJGV3BvnmsX+mGH+6+MDXiGHgDI7aP5sIYiMUXTs="; + release."1.2.3".sha256 = "sha256-6uc1VEfDv+fExEfBR2c0/Q/KjrkX0TbEMCLgeYcpkls="; propagatedBuildInputs = [ mathcomp-algebra coq-elpi mathcomp-zify ]; diff --git a/pkgs/development/coq-modules/mathcomp-finmap/default.nix b/pkgs/development/coq-modules/mathcomp-finmap/default.nix index 66b50ca66b83..c2f6ea02133c 100644 --- a/pkgs/development/coq-modules/mathcomp-finmap/default.nix +++ b/pkgs/development/coq-modules/mathcomp-finmap/default.nix @@ -7,7 +7,8 @@ mkCoqDerivation { owner = "math-comp"; inherit version; defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [ - { cases = [ (range "8.16" "8.18") (isGe "2.0") ]; out = "2.0.0"; } + { cases = [ (range "8.16" "8.19") (isGe "2.0") ]; out = "2.1.0"; } + { cases = [ (range "8.16" "8.18") (range "2.0" "2.1") ]; out = "2.0.0"; } { cases = [ (range "8.13" "8.19") (range "1.12" "1.19") ]; out = "1.5.2"; } { cases = [ (isGe "8.10") (range "1.11" "1.17") ]; out = "1.5.1"; } { cases = [ (range "8.7" "8.11") "1.11.0" ]; out = "1.5.0"; } @@ -18,6 +19,7 @@ mkCoqDerivation { { cases = [ (range "8.6" "8.7") (range "1.6.1" "1.7") ]; out = "1.0.0"; } ] null; release = { + "2.1.0".sha256 = "sha256-gh0cnhdVDyo+D5zdtxLc10kGKQLQ3ITzHnMC45mCtpY="; "2.0.0".sha256 = "sha256-0Wr1ZUYVuZH74vawO4EZlZ+K3kq+s1xEz/BfzyKj+wk="; "1.5.2".sha256 = "sha256-0KmmSjc2AlUo6BKr9RZ4FjL9wlGISlTGU0X1Eu7l4sw="; "1.5.1".sha256 = "0ryfml4pf1dfya16d8ma80favasmrygvspvb923n06kfw9v986j7"; diff --git a/pkgs/development/coq-modules/multinomials/default.nix b/pkgs/development/coq-modules/multinomials/default.nix index 38cc0139b8e0..b7551ace4227 100644 --- a/pkgs/development/coq-modules/multinomials/default.nix +++ b/pkgs/development/coq-modules/multinomials/default.nix @@ -9,7 +9,8 @@ inherit version; defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [ - { cases = [ (range "8.16" "8.18") (isGe "2.1.0") ]; out = "2.1.0"; } + { cases = [ (range "8.17" "8.19") (isGe "2.1.0") ]; out = "2.2.0"; } + { cases = [ (range "8.16" "8.18") "2.1.0" ]; out = "2.1.0"; } { cases = [ (range "8.16" "8.18") "2.0.0" ]; out = "2.0.0"; } { cases = [ (isGe "8.15") (range "1.15.0" "1.18.0") ]; out = "1.6.0"; } { cases = [ (isGe "8.10") (range "1.13.0" "1.17.0") ]; out = "1.5.6"; } @@ -21,6 +22,7 @@ { cases = [ "8.6" (range "1.6" "1.7") ]; out = "1.1"; } ] null; release = { + "2.2.0".sha256 = "sha256-Cie6paweITwPZy6ej9+qIvHFWknVR382uJPW927t/fo="; "2.1.0".sha256 = "sha256-QT91SBJ6DXhyg4j/okTvPP6yj2DnnPbnSlJ/p8pvZbY="; "2.0.0".sha256 = "sha256-2zWHzMBsO2j8EjN7CgCmKQcku9Be8aVlme0LD5p4ab8="; "1.6.0".sha256 = "sha256-lEM+sjqajIOm1c3lspHqcSIARgMR9RHbTQH4veHLJfU="; diff --git a/pkgs/development/libraries/functionalplus/default.nix b/pkgs/development/libraries/functionalplus/default.nix index b456dd887344..af25030ab560 100644 --- a/pkgs/development/libraries/functionalplus/default.nix +++ b/pkgs/development/libraries/functionalplus/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "functionalplus"; - version = "0.2.20-p0"; + version = "0.2.22"; src = fetchFromGitHub { owner = "Dobiasd"; repo = "FunctionalPlus"; rev = "v${version}"; - sha256 = "sha256-PKd3gx63VTxyq1q0v7WaKXVA0oICpZQfVsKsgUml9wk="; + sha256 = "sha256-y0IRmgG9lhWO4IR4G9/VP2a3B+ORTnF7MCf4FU5EuMk="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/libremidi/default.nix b/pkgs/development/libraries/libremidi/default.nix index d88ebeea3fb5..753bcef433fd 100644 --- a/pkgs/development/libraries/libremidi/default.nix +++ b/pkgs/development/libraries/libremidi/default.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { meta = { description = "A modern C++ MIDI real-time & file I/O library"; homepage = "https://github.com/jcelerier/libremidi"; - maintainers = [ lib.maintainers.paveloom ]; + maintainers = [ ]; license = lib.licenses.bsd2; platforms = lib.platforms.all; }; diff --git a/pkgs/development/python-modules/anywidget/default.nix b/pkgs/development/python-modules/anywidget/default.nix index 16bf2daaa4a4..ffa3666555c5 100644 --- a/pkgs/development/python-modules/anywidget/default.nix +++ b/pkgs/development/python-modules/anywidget/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "anywidget"; - version = "0.8.0"; + version = "0.8.1"; format = "pyproject"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-hHoP7OWOp6MtINzNVKAm3T3Sj3baprTwp0wlPlx8/uw="; + hash = "sha256-p2J3cL5FX4mv19WPr/km9F71K1MleuPFlRd9X/mxL9E="; }; # We do not need the jupyterlab build dependency, because we do not need to diff --git a/pkgs/development/python-modules/bthome-ble/default.nix b/pkgs/development/python-modules/bthome-ble/default.nix index 746c918120ec..faa8582b6b22 100644 --- a/pkgs/development/python-modules/bthome-ble/default.nix +++ b/pkgs/development/python-modules/bthome-ble/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "bthome-ble"; - version = "3.4.1"; + version = "3.5.0"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "Bluetooth-Devices"; repo = "bthome-ble"; rev = "refs/tags/v${version}"; - hash = "sha256-1Srimb+MfWiX5NdmDQHJsmn6LatWd8nmXaB4uXdHKWY="; + hash = "sha256-7/09RasnW4cTUbwf3N+9DxsGG9pCaqAODX2UNWvlxZg="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/darkdetect/default.nix b/pkgs/development/python-modules/darkdetect/default.nix index 534d9a0573ce..28e3c141a1ee 100644 --- a/pkgs/development/python-modules/darkdetect/default.nix +++ b/pkgs/development/python-modules/darkdetect/default.nix @@ -39,6 +39,6 @@ buildPythonPackage rec { description = "Detect OS Dark Mode from Python"; homepage = "https://github.com/albertosottile/darkdetect"; license = licenses.bsd3; - maintainers = with maintainers; [ paveloom ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/mobi/default.nix b/pkgs/development/python-modules/mobi/default.nix index 262e724a7b53..fae5b97bb114 100644 --- a/pkgs/development/python-modules/mobi/default.nix +++ b/pkgs/development/python-modules/mobi/default.nix @@ -39,6 +39,6 @@ buildPythonPackage rec { description = "Library for unpacking unencrypted mobi files"; homepage = "https://github.com/iscc/mobi"; license = licenses.gpl3Only; - maintainers = with maintainers; [ paveloom ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/msoffcrypto-tool/default.nix b/pkgs/development/python-modules/msoffcrypto-tool/default.nix index 4e28e2002452..4bc2e80642e6 100644 --- a/pkgs/development/python-modules/msoffcrypto-tool/default.nix +++ b/pkgs/development/python-modules/msoffcrypto-tool/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "msoffcrypto-tool"; - version = "5.2.0"; + version = "5.3.1"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "nolze"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-9qhTGf4IE8PtTfshnqu2fcctznA+2bWH4jz0dmKtoOo="; + hash = "sha256-aQtEJyG0JGe4eSIRI4OUjJZNDBni6FFyJXXkbeiotSY="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pulp/default.nix b/pkgs/development/python-modules/pulp/default.nix index 6ecd6d4ba8c0..ab55157ed207 100644 --- a/pkgs/development/python-modules/pulp/default.nix +++ b/pkgs/development/python-modules/pulp/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "pulp"; - version = "2.7.0"; + version = "2.8.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "coin-or"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-j0f6OiscJyTqPNyLp0qWRjCGLWuT3HdU1S/sxpnsiMo="; + hash = "sha256-lpbk1GeC8F/iLGV8G5RPHghnaM9eL82YekUYEt9+mvc="; }; postPatch = '' diff --git a/pkgs/development/python-modules/readmdict/default.nix b/pkgs/development/python-modules/readmdict/default.nix index b7d61f8c8f57..d6ef1447a7b8 100644 --- a/pkgs/development/python-modules/readmdict/default.nix +++ b/pkgs/development/python-modules/readmdict/default.nix @@ -45,6 +45,6 @@ buildPythonPackage rec { description = "Read mdx/mdd files (repacking of readmdict from mdict-analysis)"; homepage = "https://github.com/ffreemt/readmdict"; license = licenses.mit; - maintainers = with maintainers; [ paveloom ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/sentence-splitter/default.nix b/pkgs/development/python-modules/sentence-splitter/default.nix index 7e7891433cd7..38ebc7fd6e2e 100644 --- a/pkgs/development/python-modules/sentence-splitter/default.nix +++ b/pkgs/development/python-modules/sentence-splitter/default.nix @@ -37,6 +37,6 @@ buildPythonPackage rec { description = "Text to sentence splitter using heuristic algorithm by Philipp Koehn and Josh Schroeder"; homepage = "https://github.com/mediacloud/sentence-splitter"; license = licenses.lgpl3Plus; - maintainers = with maintainers; [ paveloom ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/simplemma/default.nix b/pkgs/development/python-modules/simplemma/default.nix index 4c70b8a8df19..60cb7438e9fb 100644 --- a/pkgs/development/python-modules/simplemma/default.nix +++ b/pkgs/development/python-modules/simplemma/default.nix @@ -32,6 +32,6 @@ buildPythonPackage rec { description = "Simple multilingual lemmatizer for Python, especially useful for speed and efficiency"; homepage = "https://github.com/adbar/simplemma"; license = licenses.mit; - maintainers = with maintainers; [ paveloom ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/slpp/default.nix b/pkgs/development/python-modules/slpp/default.nix index d52ac84dad7a..74dbfcc834cd 100644 --- a/pkgs/development/python-modules/slpp/default.nix +++ b/pkgs/development/python-modules/slpp/default.nix @@ -36,6 +36,6 @@ buildPythonPackage rec { description = "Simple lua-python parser"; homepage = "https://github.com/SirAnthony/slpp"; license = licenses.mit; - maintainers = with maintainers; [ paveloom ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/telegram-text/default.nix b/pkgs/development/python-modules/telegram-text/default.nix index b79cd78bf4b9..ca37dde8fb86 100644 --- a/pkgs/development/python-modules/telegram-text/default.nix +++ b/pkgs/development/python-modules/telegram-text/default.nix @@ -9,15 +9,15 @@ buildPythonPackage rec { pname = "telegram-text"; - version = "0.1.2"; + version = "0.2.0"; pyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "SKY-ALIN"; repo = "telegram-text"; - rev = "v${version}"; - hash = "sha256-p8SVQq7IvkVuOFE8VDugROLY5Wk0L2HmXyacTzFFSP4="; + rev = "refs/tags/v${version}"; + hash = "sha256-eUy4kyCmM/5Ag/0s9hYW2IIg+OTX2L7EsoOYivhd0pU="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/withings-sync/default.nix b/pkgs/development/python-modules/withings-sync/default.nix index 3f20703baaf3..bf6c2153c7e0 100644 --- a/pkgs/development/python-modules/withings-sync/default.nix +++ b/pkgs/development/python-modules/withings-sync/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "withings-sync"; - version = "4.2.2"; + version = "4.2.4"; pyproject = true; disabled = pythonOlder "3.10"; @@ -19,8 +19,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "jaroslawhartman"; repo = "withings-sync"; - rev = "refs/tags/v${version}"; - hash = "sha256-p1coGTbMQ+zptFKVLW5qgSdoudo2AggGT8Xu+cSCCs4="; + rev = "refs/tags/v.${version}"; + hash = "sha256-nFYEtQob3x6APWDKCVP5p+qkKmgvXIcmegp/6ZRbDQA="; }; nativeBuildInputs = [ diff --git a/pkgs/development/tools/analysis/snyk/default.nix b/pkgs/development/tools/analysis/snyk/default.nix index 10175b1cec6f..3d8a82b59b5b 100644 --- a/pkgs/development/tools/analysis/snyk/default.nix +++ b/pkgs/development/tools/analysis/snyk/default.nix @@ -2,16 +2,16 @@ buildNpmPackage rec { pname = "snyk"; - version = "1.1266.0"; + version = "1.1269.0"; src = fetchFromGitHub { owner = "snyk"; repo = "cli"; rev = "v${version}"; - hash = "sha256-K+62BbiP4GVjxqadIllDBn8pH+cJkbEUVWJTMO7Mn3M="; + hash = "sha256-jFaWkit96mIBCIYVOYoa5qNOP+fzmzwoi5bFgpi8JHM="; }; - npmDepsHash = "sha256-9FLXsIFrNzH42v5y537GrS3C1X91LLh3qu4sPoprNK4="; + npmDepsHash = "sha256-GCWpNFDfvpZrMLy8S7q1V0bzngL0fe0gZeMx+MbHOKU="; postPatch = '' substituteInPlace package.json --replace '"version": "1.0.0-monorepo"' '"version": "${version}"' diff --git a/pkgs/development/tools/cddl/Gemfile.lock b/pkgs/development/tools/cddl/Gemfile.lock index 796a7743cac5..24afe0d41838 100644 --- a/pkgs/development/tools/cddl/Gemfile.lock +++ b/pkgs/development/tools/cddl/Gemfile.lock @@ -1,23 +1,33 @@ GEM remote: https://rubygems.org/ specs: - abnc (0.1.0) - cbor-diag (0.5.6) - json + abnc (0.1.1) + abnftt (0.2.4) + base32 (0.3.4) + cbor-canonical (0.1.2) + cbor-deterministic (0.1.3) + cbor-diag (0.8.7) + cbor-canonical + cbor-deterministic + cbor-packed + json_pure neatjson treetop (~> 1) - cddl (0.8.9) + cbor-packed (0.1.5) + cddl (0.10.3) abnc + abnftt + base32 (~> 0.3) cbor-diag colorize - json + json_pure regexp-examples - colorize (0.8.1) - json (2.2.0) - neatjson (0.9) + colorize (1.1.0) + json_pure (2.7.1) + neatjson (0.10.5) polyglot (0.3.5) - regexp-examples (1.5.0) - treetop (1.6.10) + regexp-examples (1.5.1) + treetop (1.6.12) polyglot (~> 0.3) PLATFORMS @@ -27,4 +37,4 @@ DEPENDENCIES cddl BUNDLED WITH - 2.1.4 + 2.3.25 diff --git a/pkgs/development/tools/cddl/default.nix b/pkgs/development/tools/cddl/default.nix index 8fdae4b1c441..f99e547435ce 100644 --- a/pkgs/development/tools/cddl/default.nix +++ b/pkgs/development/tools/cddl/default.nix @@ -1,18 +1,41 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ lib +, bundlerApp +, bundlerUpdateScript +, makeBinaryWrapper +}: -bundlerApp { +bundlerApp rec { pname = "cddl"; - gemdir = ./.; + gemfile = ./Gemfile; + lockfile = ./Gemfile.lock; + + gemset = lib.recursiveUpdate (import ./gemset.nix) ({ + "cddl" = { + dontBuild = false; + # setting env vars is not supported by patchShebangs + postPatch = '' + sed -i 's\#!/usr/bin/env RUBY_THREAD_VM_STACK_SIZE=5000000\#!/usr/bin/env\' bin/cddl + ''; + }; + }); + exes = [ "cddl" ]; + nativeBuildInputs = [ makeBinaryWrapper ]; + + postBuild = '' + wrapProgram $out/bin/cddl \ + --set RUBY_THREAD_VM_STACK_SIZE 5000000 + ''; + passthru.updateScript = bundlerUpdateScript "cddl"; meta = with lib; { description = "A parser, generator, and validator for CDDL"; homepage = "https://rubygems.org/gems/cddl"; license = with licenses; mit; - maintainers = with maintainers; [ fdns nicknovitski ]; + maintainers = with maintainers; [ fdns nicknovitski amesgen ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/cddl/gemset.nix b/pkgs/development/tools/cddl/gemset.nix index c1f1c64495e3..1f19c3920bdf 100644 --- a/pkgs/development/tools/cddl/gemset.nix +++ b/pkgs/development/tools/cddl/gemset.nix @@ -4,62 +4,112 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13nvzrk72nj130fs8bq8q3cfm48939rdzh7l31ncj5c4969hrbig"; + sha256 = "0yj09gc9w208wsy0d45vzha4zfwxdpsqvkm9vms0chm4lxdwdg9x"; type = "gem"; }; - version = "0.1.0"; + version = "0.1.1"; + }; + abnftt = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1z7ibh0xv9mqk61rvvmz9fnfk6hffvnppqd8fx61vazjhisi9bcs"; + type = "gem"; + }; + version = "0.2.4"; + }; + base32 = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fjs0l3c5g9qxwp43kcnhc45slx29yjb6m6jxbb2x1krgjmi166b"; + type = "gem"; + }; + version = "0.3.4"; + }; + cbor-canonical = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fhj51s5d9b9spw096sb0p92bgilw9hrsay383563dh913j2jn11"; + type = "gem"; + }; + version = "0.1.2"; + }; + cbor-deterministic = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1w1mg4mn1dhlxlbijxpzja8m8ggrjs0hzkzvnaazw9zm1ji6dpba"; + type = "gem"; + }; + version = "0.1.3"; }; cbor-diag = { - dependencies = ["json" "neatjson" "treetop"]; + dependencies = ["cbor-canonical" "cbor-deterministic" "cbor-packed" "json_pure" "neatjson" "treetop"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0pd0k4malg1l7w3ck5glh9w0hrsvknk8rp32vrir74yww1g6yplv"; + sha256 = "0rwd88xngbjamgydj9rg3wvgl53pfzhal2n702s9afa1yp8mjm51"; type = "gem"; }; - version = "0.5.6"; + version = "0.8.7"; + }; + cbor-packed = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1dijyj7rivi39h34f32fx7k4xvngldf569i0372n1z6w01nv761l"; + type = "gem"; + }; + version = "0.1.5"; }; cddl = { - dependencies = ["abnc" "cbor-diag" "colorize" "json" "regexp-examples"]; + dependencies = ["abnc" "abnftt" "base32" "cbor-diag" "colorize" "json_pure" "regexp-examples"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "16rmcrsxwx33pj25g1si0dhjdl2brfhy2vlpfwdb6qqkaikmzhpz"; + sha256 = "1qll1qvn3g75r742kr4da7240zdk2qj4vh325965rrjqp8brz23q"; type = "gem"; }; - version = "0.8.9"; + version = "0.10.3"; }; colorize = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "133rqj85n400qk6g3dhf2bmfws34mak1wqihvh3bgy9jhajw580b"; + sha256 = "0dy8ryhcdzgmbvj7jpa1qq3bhhk1m7a2pz6ip0m6dxh30rzj7d9h"; type = "gem"; }; - version = "0.8.1"; + version = "1.1.0"; }; - json = { + json_pure = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx"; + sha256 = "09w7f7xlcas9irlaavhz0rnh17cjvjmmqm07drgghx5gwjcrar31"; type = "gem"; }; - version = "2.2.0"; + version = "2.7.1"; }; neatjson = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0fa2v7b6433j0iqh5iq9r71v7a5xabgjvqwsbl21vcsac7vf3ncw"; + sha256 = "0wm1lq8yl6rzysh3wg6fa55w5534k6ppiz0qb7jyvdy582mk5i0s"; type = "gem"; }; - version = "0.9"; + version = "0.10.5"; }; polyglot = { groups = ["default"]; @@ -76,10 +126,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08s5d327i9dw5yjwv9vfss3qb7lwasjyc75wvh7vrdi5v4vm1y2k"; + sha256 = "0wfkwczjn62qq3z96dxk43m0gh6d5cajx9pxkanvk88d3yqnx29v"; type = "gem"; }; - version = "1.5.0"; + version = "1.5.1"; }; treetop = { dependencies = ["polyglot"]; @@ -87,9 +137,9 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0g31pijhnv7z960sd09lckmw9h8rs3wmc8g4ihmppszxqm99zpv7"; + sha256 = "0adc8qblz8ii668r3rksjx83p675iryh52rvdvysimx2hkbasj7d"; type = "gem"; }; - version = "1.6.10"; + version = "1.6.12"; }; } diff --git a/pkgs/development/tools/misc/runme/default.nix b/pkgs/development/tools/misc/runme/default.nix index 6e6914fbf156..d0b3e5cfeadf 100644 --- a/pkgs/development/tools/misc/runme/default.nix +++ b/pkgs/development/tools/misc/runme/default.nix @@ -12,13 +12,13 @@ buildGoModule rec { pname = "runme"; - version = "2.0.7"; + version = "2.2.0"; src = fetchFromGitHub { owner = "stateful"; repo = "runme"; rev = "v${version}"; - hash = "sha256-ip2td0PEMga7Egd/YEGdpoUV4tnNI27BUDPYynpFhhc="; + hash = "sha256-6V7OxWJ0EYcbaHmls0P9iJD9tQ9N4GSPzBAKVdShvXg="; }; vendorHash = "sha256-PLDsea/o067ifiX0RKFC7gDpORLVEQ0DV6sdBzzQCTs="; diff --git a/pkgs/development/tools/ttfb/default.nix b/pkgs/development/tools/ttfb/default.nix index 550a8f1a8762..f024280c0870 100644 --- a/pkgs/development/tools/ttfb/default.nix +++ b/pkgs/development/tools/ttfb/default.nix @@ -1,40 +1,35 @@ { darwin , fetchCrate , lib -, openssl -, pkg-config , rustPlatform , stdenv }: rustPlatform.buildRustPackage rec { pname = "ttfb"; - version = "1.7.0"; + version = "1.10.0"; src = fetchCrate { inherit pname version; - hash = "sha256-GxjG8pyE2rY0h1dpAo+HRUbP31I5Pm4h1fAb6R7V+qU="; + hash = "sha256-94gBofb7H7+qU50+cp+rq14Vtbk2vuXFQksNITvICm4="; }; - cargoHash = "sha256-YdbVtVKt0bKb1R5IQxf9J/0ZA3ZHH+oZ8ryX6f4cGsY="; + buildInputs = lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; + + cargoHash = "sha256-CUisxtUQXkStqSZikIoAN0GwpUjvQqon7KqI0beHL5U="; # The bin feature activates all dependencies of the binary. Otherwise, # only the library is build. buildFeatures = [ "bin" ]; - nativeBuildInputs = [ pkg-config ]; - - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; - meta = { description = "CLI-Tool to measure the TTFB (time to first byte) of HTTP(S) requests"; longDescription = '' - This crate measures the times of DNS lookup, TCP connect, TLS handshake, and HTTP's TTFB - for a given IP or domain. + ttfb measure the TTFB (time to first byte) of HTTP(S) requests. This includes data + of intermediate steps, such as the relative and absolute timings of DNS lookup, TCP + connect, and TLS handshake. ''; homepage = "https://github.com/phip1611/ttfb"; changelog = "https://github.com/phip1611/ttfb/blob/v${version}/CHANGELOG.md"; diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix index ca6eaf15ac21..3cd623c4d6ef 100644 --- a/pkgs/games/anki/default.nix +++ b/pkgs/games/anki/default.nix @@ -292,7 +292,7 @@ python3.pkgs.buildPythonApplication { homepage = "https://apps.ankiweb.net"; license = licenses.agpl3Plus; platforms = platforms.mesaPlatforms; - maintainers = with maintainers; [ euank oxij paveloom ]; + maintainers = with maintainers; [ euank oxij ]; # Reported to crash at launch on darwin (as of 2.1.65) broken = stdenv.isDarwin; }; diff --git a/pkgs/os-specific/linux/nixos-rebuild/default.nix b/pkgs/os-specific/linux/nixos-rebuild/default.nix index 9a7cca68bfd7..4849ff75c54a 100644 --- a/pkgs/os-specific/linux/nixos-rebuild/default.nix +++ b/pkgs/os-specific/linux/nixos-rebuild/default.nix @@ -1,4 +1,5 @@ -{ substituteAll +{ callPackage +, substituteAll , runtimeShell , coreutils , gnused @@ -36,6 +37,7 @@ substituteAll { # run some a simple installer tests to make sure nixos-rebuild still works for them passthru.tests = { install-bootloader = nixosTests.nixos-rebuild-install-bootloader; + repl = callPackage ./test/repl.nix {}; simple-installer = nixosTests.installer.simple; specialisations = nixosTests.nixos-rebuild-specialisations; target-host = nixosTests.nixos-rebuild-target-host; diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh index 006b5db6320c..bde6ff9d959b 100755 --- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh +++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh @@ -572,6 +572,7 @@ if [ "$action" = repl ]; then - ${blue}config${reset} All option values - ${blue}options${reset} Option data and metadata - ${blue}pkgs${reset} Nixpkgs package set + - ${blue}lib${reset} Nixpkgs library functions - other module arguments - ${blue}flake${reset} Flake outputs, inputs and source info of $flake @@ -592,6 +593,7 @@ if [ "$action" = repl ]; then configuration._module.specialArgs // { inherit (configuration) config options; + lib = configuration.lib or configuration.pkgs.lib; inherit flake; }; in builtins.seq scope builtins.trace motd scope diff --git a/pkgs/os-specific/linux/nixos-rebuild/test/repl.nix b/pkgs/os-specific/linux/nixos-rebuild/test/repl.nix new file mode 100644 index 000000000000..1161ff84664d --- /dev/null +++ b/pkgs/os-specific/linux/nixos-rebuild/test/repl.nix @@ -0,0 +1,146 @@ +{ lib, + expect, + nix, + nixos-rebuild, + path, + runCommand, + stdenv, + writeText, +}: +let + # Arguably not true, but it holds up for now. + escapeExpect = lib.strings.escapeNixString; + + expectSetup = '' + set timeout 180 + proc expect_simple { pattern } { + puts "Expecting: $pattern" + expect { + timeout { + puts "\nTimeout waiting for: $pattern\n" + exit 1 + } + $pattern + } + } + ''; + + # In case we want/need to evaluate packages or the assertions or whatever, + # we want to have a linux system. + # TODO: make the non-flake test use thise. + linuxSystem = lib.replaceStrings ["darwin"] ["linux"] stdenv.hostPlatform.system; + +in +runCommand "test-nixos-rebuild-repl" { + nativeBuildInputs = [ + expect + nix + nixos-rebuild + ]; + nixpkgs = + if builtins.pathExists (path + "/.git") + then lib.cleanSource path + else path; +} '' + export HOME=$(mktemp -d) + export TEST_ROOT=$PWD/test-tmp + + # Prepare for running Nix in sandbox + export NIX_BUILD_HOOK= + export NIX_CONF_DIR=$TEST_ROOT/etc + export NIX_LOCALSTATE_DIR=$TEST_ROOT/var + export NIX_LOG_DIR=$TEST_ROOT/var/log/nix + export NIX_STATE_DIR=$TEST_ROOT/var/nix + export NIX_STORE_DIR=$TEST_ROOT/store + export PAGER=cat + mkdir -p $TEST_ROOT $NIX_CONF_DIR + + echo General setup + ################## + + export NIX_PATH=nixpkgs=$nixpkgs:nixos-config=$HOME/configuration.nix + cat >> ~/configuration.nix < ~/hardware-configuration.nix + + + echo Test traditional NixOS configuration + ######################################### + + expect ${writeText "test-nixos-rebuild-repl-expect" '' + ${expectSetup} + spawn nixos-rebuild repl --fast + + expect "nix-repl> " + + send "config.networking.hostName\n" + expect "\"nixos\"" + ''} + + + echo Test flake based NixOS configuration + ######################################### + + # Switch to flake flavored environment + unset NIX_PATH + cat > $NIX_CONF_DIR/nix.conf < ~/hardware-configuration.nix + + cat >~/flake.nix <" + + send "config.networking.hostName\n" + expect_simple "itsme" + + expect_simple "nix-repl>" + send "lib.version\n" + expect_simple ${escapeExpect ( + # The version string is a bit different in the flake lib, so we expect a prefix and ignore the rest + # Furthermore, including the revision (suffix) would cause unnecessary rebuilds. + # Note that a length of 4 only matches e.g. "24. + lib.strings.substring 0 4 (lib.strings.escapeNixString lib.version))} + + # Make sure it's the right lib - should be the flake lib, not Nixpkgs lib. + expect_simple "nix-repl>" + send "lib?nixosSystem\n" + expect_simple "true" + expect_simple "nix-repl>" + send "lib?nixos\n" + expect_simple "true" + ''} + echo + + ######### + echo Done + touch $out +'' diff --git a/pkgs/servers/sql/postgresql/ext/postgis.nix b/pkgs/servers/sql/postgresql/ext/postgis.nix index fe6319d44f20..65541730d296 100644 --- a/pkgs/servers/sql/postgresql/ext/postgis.nix +++ b/pkgs/servers/sql/postgresql/ext/postgis.nix @@ -5,7 +5,7 @@ , postgresql , geos , proj -, gdal +, gdalMinimal , json_c , pkg-config , file @@ -14,6 +14,10 @@ , pcre2 , nixosTests }: + +let + gdal = gdalMinimal; +in stdenv.mkDerivation rec { pname = "postgis"; version = "3.4.1"; diff --git a/pkgs/tools/X11/screen-message/default.nix b/pkgs/tools/X11/screen-message/default.nix index 3701684af8d8..c049c3841ea6 100644 --- a/pkgs/tools/X11/screen-message/default.nix +++ b/pkgs/tools/X11/screen-message/default.nix @@ -1,12 +1,14 @@ -{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, gtk3 }: +{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, gtk3 }: stdenv.mkDerivation rec { pname = "screen-message"; - version = "0.26"; + version = "0.28"; - src = fetchurl { - url = "mirror://debian/pool/main/s/screen-message/screen-message_${version}.orig.tar.gz"; - sha256 = "sha256-vBKnuXOEQZDACmlNP9wjJ3NbIdixIx7I72a6Nj6pjzc="; + src = fetchFromGitHub { + owner = "nomeata"; + repo = "screen-message"; + rev = version; + hash = "sha256-KHJL1N72Hc1B1m0olxoZxBHIpq/d/T3m2VdS5XC9+tk="; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; diff --git a/pkgs/tools/admin/wander/default.nix b/pkgs/tools/admin/wander/default.nix index c3b086806ca1..52747f7477fd 100644 --- a/pkgs/tools/admin/wander/default.nix +++ b/pkgs/tools/admin/wander/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "wander"; - version = "1.0.0"; + version = "1.0.1"; src = fetchFromGitHub { owner = "robinovitch61"; repo = pname; rev = "v${version}"; - sha256 = "sha256-zz9DqRrylCbUCSBl4wspb8BYfmCyQhMmmYwdsbTExbo="; + sha256 = "sha256-MriFrYE8d4m6RgeaErunyAfKna8xhtUAnHyIwsVvK/o="; }; vendorHash = "sha256-0S8tzP5yNUrH6fp+v7nbUPTMWzYXyGw+ZNcXkSN+tWY="; diff --git a/pkgs/tools/system/kanata/default.nix b/pkgs/tools/system/kanata/default.nix index 706382d3dd04..eab7fb3d4b17 100644 --- a/pkgs/tools/system/kanata/default.nix +++ b/pkgs/tools/system/kanata/default.nix @@ -1,4 +1,6 @@ -{ lib +{ stdenv +, lib +, darwin , rustPlatform , fetchFromGitHub , withCmd ? false @@ -17,8 +19,15 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-IzgVF6SHJjOB48VehQ5taD5iWQXFKLcVBWTEl3ArkGQ="; + buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.IOKit ]; + buildFeatures = lib.optional withCmd "cmd"; + # Workaround for https://github.com/nixos/nixpkgs/issues/166205 + env = lib.optionalAttrs stdenv.cc.isClang { + NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}"; + }; + postInstall = '' install -Dm 444 assets/kanata-icon.svg $out/share/icons/hicolor/scalable/apps/kanata.svg ''; @@ -27,8 +36,8 @@ rustPlatform.buildRustPackage rec { description = "A tool to improve keyboard comfort and usability with advanced customization"; homepage = "https://github.com/jtroo/kanata"; license = licenses.lgpl3Only; - maintainers = with maintainers; [ linj ]; - platforms = platforms.linux; + maintainers = with maintainers; [ bmanuel linj ]; + platforms = platforms.unix; mainProgram = "kanata"; }; } diff --git a/pkgs/tools/text/crowdin-cli/default.nix b/pkgs/tools/text/crowdin-cli/default.nix index c02021790ca0..2d7821156cad 100644 --- a/pkgs/tools/text/crowdin-cli/default.nix +++ b/pkgs/tools/text/crowdin-cli/default.nix @@ -14,11 +14,11 @@ stdenv.mkDerivation rec { pname = "crowdin-cli"; - version = "3.16.0"; + version = "3.16.1"; src = fetchurl { url = "https://github.com/crowdin/${pname}/releases/download/${version}/${pname}.zip"; - hash = "sha256-/K9K82ioF/fczDY3kaNXUm0TdA9Y6xaUUYUIiRgWKvo="; + hash = "sha256-B68pCNQYly/0OQJkSjztP08bQGaGQeE+AAOiu5VbszY="; }; nativeBuildInputs = [ installShellFiles makeWrapper unzip ]; diff --git a/pkgs/tools/text/mecab/default.nix b/pkgs/tools/text/mecab/default.nix index 8d11343515d0..f1f9fc6503c8 100644 --- a/pkgs/tools/text/mecab/default.nix +++ b/pkgs/tools/text/mecab/default.nix @@ -17,6 +17,6 @@ stdenv.mkDerivation (finalAttrs: ((mecab-base finalAttrs) // { license = licenses.bsd3; platforms = platforms.unix; mainProgram = "mecab"; - maintainers = with maintainers; [ auntie paveloom ]; + maintainers = with maintainers; [ auntie ]; }; })) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0c2d726a185c..422445d87e1d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23862,8 +23862,6 @@ with pkgs; }; }; - manticoresearch = callPackage ../servers/search/manticoresearch { }; - marisa = callPackage ../development/libraries/marisa { }; mathgl = callPackage ../development/libraries/mathgl { };