diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
index 3ab35fe84bbf..763010ae82a3 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
@@ -278,6 +278,16 @@
services.prometheus.sachet.
+
+
+ EVCC is an EV charge
+ controller with PV integration. It supports a multitude of
+ chargers, meters, vehicle APIs and more and ties that together
+ with a well-tested backend and a lightweight web frontend.
+ Available as
+ services.evcc.
+
+
infnoise,
diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md
index 81aef68a716f..b8aa0cc09fa9 100644
--- a/nixos/doc/manual/release-notes/rl-2211.section.md
+++ b/nixos/doc/manual/release-notes/rl-2211.section.md
@@ -98,6 +98,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- [Sachet](https://github.com/messagebird/sachet/), an SMS alerting tool for the Prometheus Alertmanager. Available as [services.prometheus.sachet](#opt-services.prometheus.sachet.enable).
+- [EVCC](https://evcc.io) is an EV charge controller with PV integration. It supports a multitude of chargers, meters, vehicle APIs and more and ties that together with a well-tested backend and a lightweight web frontend. Available as [services.evcc](#opt-services.evcc.enable).
+
- [infnoise](https://github.com/leetronics/infnoise), a hardware True Random Number Generator dongle.
Available as [services.infnoise](options.html#opt-services.infnoise.enable).
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 2a23a32eaba6..bc5f6f1d76cd 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -491,6 +491,7 @@
./services/hardware/vdr.nix
./services/home-automation/home-assistant.nix
./services/home-automation/zigbee2mqtt.nix
+ ./services/home-automation/evcc.nix
./services/logging/SystemdJournal2Gelf.nix
./services/logging/awstats.nix
./services/logging/filebeat.nix
diff --git a/nixos/modules/services/home-automation/evcc.nix b/nixos/modules/services/home-automation/evcc.nix
new file mode 100644
index 000000000000..c12ba9d0c1e2
--- /dev/null
+++ b/nixos/modules/services/home-automation/evcc.nix
@@ -0,0 +1,92 @@
+{ lib
+, pkgs
+, config
+, ...
+}:
+
+with lib;
+
+let
+ cfg = config.services.evcc;
+
+ format = pkgs.formats.yaml {};
+ configFile = format.generate "evcc.yml" cfg.settings;
+
+ package = pkgs.evcc;
+in
+
+{
+ meta.maintainers = with lib.maintainers; [ hexa ];
+
+ options.services.evcc = with types; {
+ enable = mkEnableOption (lib.mdDoc "EVCC, the extensible EV Charge Controller with PV integration");
+
+ extraArgs = mkOption {
+ type = listOf str;
+ default = [];
+ description = lib.mdDoc ''
+ Extra arguments to pass to the evcc executable.
+ '';
+ };
+
+ settings = mkOption {
+ type = format.type;
+ description = lib.mdDoc ''
+ evcc configuration as a Nix attribute set.
+
+ Check for possible options in the sample [evcc.dist.yaml](https://github.com/andig/evcc/blob/${package.version}/evcc.dist.yaml].
+ '';
+ };
+ };
+
+ config = mkIf cfg.enable {
+ systemd.services.evcc = {
+ after = [
+ "network-online.target"
+ "mosquitto.target"
+ ];
+ wantedBy = [
+ "multi-user.target"
+ ];
+
+ serviceConfig = {
+ ExecStart = "${package}/bin/evcc --config ${configFile} ${escapeShellArgs cfg.extraArgs}";
+ CapabilityBoundingSet = [ "" ];
+ DeviceAllow = [
+ "char-ttyUSB"
+ ];
+ DevicePolicy = "closed";
+ DynamicUser = true;
+ LockPersonality = true;
+ MemoryDenyWriteExecute = true;
+ RestrictAddressFamilies = [
+ "AF_INET"
+ "AF_INET6"
+ "AF_UNIX"
+ ];
+ RestrictNamespaces = true;
+ RestrictRealtime = true;
+ PrivateTmp = true;
+ PrivateUsers = true;
+ ProcSubset = "pid";
+ ProtectClock = true;
+ ProtectControlGroups= true;
+ ProtectHome = true;
+ ProtectHostname = true;
+ ProtectKernelLogs = true;
+ ProtectKernelModules = true;
+ ProtectKernelTunables = true;
+ ProtectProc = "invisible";
+ SystemCallArchitectures = "native";
+ SystemCallFilter = [
+ "@system-service"
+ "~@privileged"
+ ];
+ UMask = "0077";
+ User = "evcc";
+ };
+ };
+ };
+
+ meta.buildDocsInSandbox = false;
+}
diff --git a/nixos/modules/services/system/dbus.nix b/nixos/modules/services/system/dbus.nix
index b87e48f2945d..c677088101f0 100644
--- a/nixos/modules/services/system/dbus.nix
+++ b/nixos/modules/services/system/dbus.nix
@@ -14,7 +14,7 @@ let
serviceDirectories = cfg.packages;
};
- inherit (lib) mkOption types;
+ inherit (lib) mkOption mkIf mkMerge types;
in
@@ -33,6 +33,18 @@ in
'';
};
+ implementation = mkOption {
+ type = types.enum [ "dbus" "broker" ];
+ default = "dbus";
+ description = lib.mdDoc ''
+ The implementation to use for the message bus defined by the D-Bus specification.
+ Can be either the classic dbus daemon or dbus-broker, which aims to provide high
+ performance and reliability, while keeping compatibility to the D-Bus
+ reference implementation.
+ '';
+
+ };
+
packages = mkOption {
type = types.listOf types.path;
default = [ ];
@@ -66,66 +78,114 @@ in
};
};
- config = lib.mkIf cfg.enable {
- environment.systemPackages = [
- pkgs.dbus
- ];
+ config = mkIf cfg.enable (mkMerge [
+ {
+ environment.etc."dbus-1".source = configDir;
- environment.etc."dbus-1".source = configDir;
-
- users.users.messagebus = {
- uid = config.ids.uids.messagebus;
- description = "D-Bus system message bus daemon user";
- home = homeDir;
- group = "messagebus";
- };
-
- users.groups.messagebus.gid = config.ids.gids.messagebus;
-
- systemd.packages = [
- pkgs.dbus
- ];
-
- security.wrappers.dbus-daemon-launch-helper = {
- source = "${pkgs.dbus}/libexec/dbus-daemon-launch-helper";
- owner = "root";
- group = "messagebus";
- setuid = true;
- setgid = false;
- permissions = "u+rx,g+rx,o-rx";
- };
-
- services.dbus.packages = [
- pkgs.dbus
- config.system.path
- ];
-
- systemd.services.dbus = {
- # Don't restart dbus-daemon. Bad things tend to happen if we do.
- reloadIfChanged = true;
- restartTriggers = [
- configDir
+ environment.pathsToLink = [
+ "/etc/dbus-1"
+ "/share/dbus-1"
];
- environment = {
- LD_LIBRARY_PATH = config.system.nssModules.path;
+
+ users.users.messagebus = {
+ uid = config.ids.uids.messagebus;
+ description = "D-Bus system message bus daemon user";
+ home = homeDir;
+ group = "messagebus";
};
- };
- systemd.user.services.dbus = {
- # Don't restart dbus-daemon. Bad things tend to happen if we do.
- reloadIfChanged = true;
- restartTriggers = [
- configDir
+ users.groups.messagebus.gid = config.ids.gids.messagebus;
+
+ # You still need the dbus reference implementation installed to use dbus-broker
+ systemd.packages = [
+ pkgs.dbus
];
- };
- systemd.user.sockets.dbus.wantedBy = [
- "sockets.target"
- ];
+ services.dbus.packages = [
+ pkgs.dbus
+ config.system.path
+ ];
- environment.pathsToLink = [
- "/etc/dbus-1"
- "/share/dbus-1"
- ];
- };
+ systemd.user.sockets.dbus.wantedBy = [
+ "sockets.target"
+ ];
+ }
+
+ (mkIf (cfg.implementation == "dbus") {
+ environment.systemPackages = [
+ pkgs.dbus
+ ];
+
+ security.wrappers.dbus-daemon-launch-helper = {
+ source = "${pkgs.dbus}/libexec/dbus-daemon-launch-helper";
+ owner = "root";
+ group = "messagebus";
+ setuid = true;
+ setgid = false;
+ permissions = "u+rx,g+rx,o-rx";
+ };
+
+ systemd.services.dbus = {
+ # Don't restart dbus-daemon. Bad things tend to happen if we do.
+ reloadIfChanged = true;
+ restartTriggers = [
+ configDir
+ ];
+ environment = {
+ LD_LIBRARY_PATH = config.system.nssModules.path;
+ };
+ };
+
+ systemd.user.services.dbus = {
+ # Don't restart dbus-daemon. Bad things tend to happen if we do.
+ reloadIfChanged = true;
+ restartTriggers = [
+ configDir
+ ];
+ };
+
+ })
+
+ (mkIf (cfg.implementation == "broker") {
+ environment.systemPackages = [
+ pkgs.dbus-broker
+ ];
+
+ systemd.packages = [
+ pkgs.dbus-broker
+ ];
+
+ # Just to be sure we don't restart through the unit alias
+ systemd.services.dbus.reloadIfChanged = true;
+ systemd.user.services.dbus.reloadIfChanged = true;
+
+ # NixOS Systemd Module doesn't respect 'Install'
+ # https://github.com/NixOS/nixpkgs/issues/108643
+ systemd.services.dbus-broker = {
+ aliases = [
+ "dbus.service"
+ ];
+ # Don't restart dbus. Bad things tend to happen if we do.
+ reloadIfChanged = true;
+ restartTriggers = [
+ configDir
+ ];
+ environment = {
+ LD_LIBRARY_PATH = config.system.nssModules.path;
+ };
+ };
+
+ systemd.user.services.dbus-broker = {
+ aliases = [
+ "dbus.service"
+ ];
+ # Don't restart dbus. Bad things tend to happen if we do.
+ reloadIfChanged = true;
+ restartTriggers = [
+ configDir
+ ];
+ };
+ })
+
+ ]);
}
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index d3dc8b9ca08a..7b1006ba6015 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -198,6 +198,7 @@ in {
etebase-server = handleTest ./etebase-server.nix {};
etesync-dav = handleTest ./etesync-dav.nix {};
extra-python-packages = handleTest ./extra-python-packages.nix {};
+ evcc = handleTest ./evcc.nix {};
fancontrol = handleTest ./fancontrol.nix {};
fcitx = handleTest ./fcitx {};
fenics = handleTest ./fenics.nix {};
diff --git a/nixos/tests/evcc.nix b/nixos/tests/evcc.nix
new file mode 100644
index 000000000000..0fc261142f78
--- /dev/null
+++ b/nixos/tests/evcc.nix
@@ -0,0 +1,96 @@
+import ./make-test-python.nix ({ pkgs, lib, ...} :
+
+{
+ name = "evcc";
+ meta.maintainers = with lib.maintainers; [ hexa ];
+
+ nodes = {
+ machine = { config, ... }: {
+ services.evcc = {
+ enable = true;
+ settings = {
+ network = {
+ schema = "http";
+ host = "localhost";
+ port = 7070;
+ };
+
+ log = "info";
+
+ site = {
+ title = "NixOS Test";
+ meters = {
+ grid = "grid";
+ pv = "pv";
+ };
+ };
+
+ meters = [ {
+ type = "custom";
+ name = "grid";
+ power = {
+ source = "script";
+ cmd = "/bin/sh -c 'echo -4500'";
+ };
+ } {
+ type = "custom";
+ name = "pv";
+ power = {
+ source = "script";
+ cmd = "/bin/sh -c 'echo 7500'";
+ };
+ } ];
+
+ chargers = [ {
+ name = "dummy-charger";
+ type = "custom";
+ status = {
+ source = "script";
+ cmd = "/bin/sh -c 'echo charger status F'";
+ };
+ enabled = {
+ source = "script";
+ cmd = "/bin/sh -c 'echo charger enabled state false'";
+ };
+ enable = {
+ source = "script";
+ cmd = "/bin/sh -c 'echo set charger enabled state true'";
+ };
+ maxcurrent = {
+ source = "script";
+ cmd = "/bin/sh -c 'echo set charger max current 7200'";
+ };
+ } ];
+
+ loadpoints = [ {
+ title = "Dummy";
+ charger = "dummy-charger";
+ } ];
+ };
+ };
+ };
+ };
+
+ testScript = ''
+ start_all()
+
+ machine.wait_for_unit("evcc.service")
+ machine.wait_for_open_port(7070)
+
+ with subtest("Check package version propagates into frontend"):
+ machine.fail(
+ "curl --fail http://localhost:7070 | grep '0.0.1-alpha'"
+ )
+ machine.succeed(
+ "curl --fail http://localhost:7070 | grep '${pkgs.evcc.version}'"
+ )
+
+ with subtest("Check journal for errors"):
+ _, output = machine.execute("journalctl -o cat -u evcc.service")
+ assert "ERROR" not in output
+
+ with subtest("Check systemd hardening"):
+ _, output = machine.execute("systemd-analyze security evcc.service | grep -v '✓'")
+ machine.log(output)
+ '';
+})
diff --git a/pkgs/applications/misc/fnott/default.nix b/pkgs/applications/misc/fnott/default.nix
index f01a2b5595a3..8c730a2b48b7 100644
--- a/pkgs/applications/misc/fnott/default.nix
+++ b/pkgs/applications/misc/fnott/default.nix
@@ -12,7 +12,6 @@
, pixman
, libpng
, wayland
-, wlroots
, dbus
, fcft
}:
@@ -43,7 +42,6 @@ stdenv.mkDerivation rec {
pixman
libpng
wayland
- wlroots
dbus
fcft
];
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index bfc5e828cb27..38d69e289b27 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -441,24 +441,24 @@
"version": "3.19.0"
},
"google": {
- "hash": "sha256-qOB4UV53j0Bm0332U1YETzLfyBtGwfXs2hGDAL2BCCk=",
+ "hash": "sha256-etTMRjQeZoLNpFlKBWa63eowXQC8wDP/O0YdwzbmFK0=",
"owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/google",
"proxyVendor": true,
"repo": "terraform-provider-google",
- "rev": "v4.43.1",
- "vendorHash": "sha256-Hzl95NLEZlvTBpCGJYzF5rtHWfYe26TwW0pbtqWmxOo=",
- "version": "4.43.1"
+ "rev": "v4.44.0",
+ "vendorHash": "sha256-X5wjho+hotqi9aZ5ABv3RY0xJj1HFH7IN/HLPKIxi2c=",
+ "version": "4.44.0"
},
"google-beta": {
- "hash": "sha256-nNz9BgTJ8Aj3QZNpT0XK14s44+thDu4EfLvbEB8OFRc=",
+ "hash": "sha256-AD2ZtjjlmYZYmBA3csjIDH+4g7DTskaLeuBGjqIKpbU=",
"owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/google-beta",
"proxyVendor": true,
"repo": "terraform-provider-google-beta",
- "rev": "v4.43.1",
- "vendorHash": "sha256-Hzl95NLEZlvTBpCGJYzF5rtHWfYe26TwW0pbtqWmxOo=",
- "version": "4.43.1"
+ "rev": "v4.44.0",
+ "vendorHash": "sha256-X5wjho+hotqi9aZ5ABv3RY0xJj1HFH7IN/HLPKIxi2c=",
+ "version": "4.44.0"
},
"googleworkspace": {
"hash": "sha256-dedYnsKHizxJZibuvJOMbJoux0W6zgKaK5fxIofKqCY=",
@@ -950,13 +950,13 @@
"version": "1.7.0"
},
"rancher2": {
- "hash": "sha256-TqztIk0sHevfv+BpNZJUs1XbwrbzJtcqdafGN5fTVaE=",
+ "hash": "sha256-DInP+DpCBOsBdlg1tiujlmN20WB5VQbeHgOiabEv9Zc=",
"owner": "rancher",
"provider-source-address": "registry.terraform.io/rancher/rancher2",
"repo": "terraform-provider-rancher2",
- "rev": "v1.24.2",
+ "rev": "v1.25.0",
"vendorHash": "sha256-Ntq4wxXPUGbu4+6X1pBsmQsqfJ/jccTiHDJeHVpWe8Y=",
- "version": "1.24.2"
+ "version": "1.25.0"
},
"random": {
"hash": "sha256-oYtvVK0OOHyLUG6amhkvmr6zlbzy0CKoS3DxztoLbdE=",
@@ -1112,13 +1112,13 @@
"version": "0.13.5"
},
"tencentcloud": {
- "hash": "sha256-HSZP6O9s6KkvaJK3xpy7uT3sjBlhBYEOu5k7VYW8MdU=",
+ "hash": "sha256-62G9q/MZtVnKO0ALXX9/pgkHDV6Bfdol4tSVdl0kx3I=",
"owner": "tencentcloudstack",
"provider-source-address": "registry.terraform.io/tencentcloudstack/tencentcloud",
"repo": "terraform-provider-tencentcloud",
- "rev": "v1.78.12",
+ "rev": "v1.78.13",
"vendorHash": null,
- "version": "1.78.12"
+ "version": "1.78.13"
},
"tfe": {
"hash": "sha256-ikuLRGm9Z+tt0Zsx7DYKNBrS08rW4DOvVWYpl3wvaeU=",
diff --git a/pkgs/data/documentation/zeal/default.nix b/pkgs/data/documentation/zeal/default.nix
index de3d7638eb9b..3a8b7122c7ff 100644
--- a/pkgs/data/documentation/zeal/default.nix
+++ b/pkgs/data/documentation/zeal/default.nix
@@ -1,16 +1,31 @@
-{ lib, fetchFromGitHub, cmake, extra-cmake-modules, pkg-config
-, qtbase, qtimageformats, qtwebengine, qtx11extras, mkDerivation
-, libarchive, libXdmcp, libpthreadstubs, xcbutilkeysyms }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, extra-cmake-modules
+, pkg-config
+, qtbase
+, qtimageformats
+, qtwebengine
+, qtx11extras ? null # qt5 only
+, libarchive
+, libXdmcp
+, libpthreadstubs
+, wrapQtAppsHook
+, xcbutilkeysyms
+}:
-mkDerivation rec {
+let
+ isQt5 = lib.versions.major qtbase.version == "5";
+in stdenv.mkDerivation rec {
pname = "zeal";
- version = "0.6.999";
+ version = "0.6.20221022";
src = fetchFromGitHub {
owner = "zealdocs";
repo = "zeal";
- rev = "763edca12ccd6c67e51f10891d1ced8b2510904f";
- sha256 = "sha256-1/wQXkRWvpRia8UDvvvmzHinPG8q2Tz9Uoeegej9uC8=";
+ rev = "7ea03e4bb9754020e902a2989f56f4bc42b85c82";
+ sha256 = "sha256-BozRLlws56i9P7Qtc5qPZWgJR5yhYqnLQsEdsymt5us=";
};
# we only need this if we are using a version that hasn't been released. We
@@ -22,13 +37,18 @@ mkDerivation rec {
-e 's@^project.*@project(Zeal VERSION ${version})@'
'';
- nativeBuildInputs = [ cmake extra-cmake-modules pkg-config ];
+ nativeBuildInputs = [ cmake extra-cmake-modules pkg-config wrapQtAppsHook ];
- buildInputs = [
- qtbase qtimageformats qtwebengine qtx11extras
- libarchive
- libXdmcp libpthreadstubs xcbutilkeysyms
- ];
+ buildInputs =
+ [
+ qtbase
+ qtimageformats
+ qtwebengine
+ libarchive
+ libXdmcp
+ libpthreadstubs
+ xcbutilkeysyms
+ ] ++ lib.optionals isQt5 [ qtx11extras ];
meta = with lib; {
description = "A simple offline API documentation browser";
diff --git a/pkgs/development/compilers/scala/bare.nix b/pkgs/development/compilers/scala/bare.nix
index 92d22ca7d6e6..1914156e59d6 100644
--- a/pkgs/development/compilers/scala/bare.nix
+++ b/pkgs/development/compilers/scala/bare.nix
@@ -17,7 +17,9 @@ stdenv.mkDerivation rec {
mv * $out
'';
- fixupPhase = ''
+ # Use preFixup instead of fixupPhase
+ # because we want the default fixupPhase as well
+ preFixup = ''
bin_files=$(find $out/bin -type f ! -name common)
for f in $bin_files ; do
wrapProgram $f --set JAVA_HOME ${jre} --prefix PATH : '${ncurses.dev}/bin'
diff --git a/pkgs/development/libraries/wlroots/0.14.nix b/pkgs/development/libraries/wlroots/0.14.nix
deleted file mode 100644
index db10e57443cc..000000000000
--- a/pkgs/development/libraries/wlroots/0.14.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wayland-scanner
-, libGL, wayland, wayland-protocols, libinput, libxkbcommon, pixman
-, libcap, mesa, xorg
-, libpng, ffmpeg_4, seatd
-
-, enableXWayland ? true, xwayland ? null
-}:
-
-stdenv.mkDerivation rec {
- pname = "wlroots";
- version = "0.14.1";
-
- src = fetchFromGitHub {
- owner = "swaywm";
- repo = "wlroots";
- rev = version;
- sha256 = "1sshp3lvlkl1i670kxhwsb4xzxl8raz6769kqvgmxzcb63ns9ay1";
- };
-
- # $out for the library and $examples for the example programs (in examples):
- outputs = [ "out" "examples" ];
-
- strictDeps = true;
- depsBuildBuild = [ pkg-config ];
-
- nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
-
- buildInputs = [
- libGL wayland wayland-protocols libinput libxkbcommon pixman
- xorg.xcbutilwm xorg.libX11 libcap xorg.xcbutilimage xorg.xcbutilerrors mesa
- libpng ffmpeg_4 xorg.xcbutilrenderutil seatd
- ]
- ++ lib.optional enableXWayland xwayland
- ;
-
- mesonFlags =
- lib.optional (!enableXWayland) "-Dxwayland=disabled"
- ;
-
- postFixup = ''
- # Install ALL example programs to $examples:
- # screencopy dmabuf-capture input-inhibitor layer-shell idle-inhibit idle
- # screenshot output-layout multi-pointer rotation tablet touch pointer
- # simple
- mkdir -p $examples/bin
- cd ./examples
- for binary in $(find . -executable -type f -printf '%P\n' | grep -vE '\.so'); do
- cp "$binary" "$examples/bin/wlroots-$binary"
- done
- '';
-
- meta = with lib; {
- description = "A modular Wayland compositor library";
- longDescription = ''
- Pluggable, composable, unopinionated modules for building a Wayland
- compositor; or about 50,000 lines of code you were going to write anyway.
- '';
- inherit (src.meta) homepage;
- changelog = "https://github.com/swaywm/wlroots/releases/tag/${version}";
- license = licenses.mit;
- platforms = platforms.linux;
- maintainers = with maintainers; [ primeos synthetica ];
- };
-}
diff --git a/pkgs/development/libraries/wlroots/0.15.nix b/pkgs/development/libraries/wlroots/0.15.nix
deleted file mode 100644
index 117b7ebdc5d5..000000000000
--- a/pkgs/development/libraries/wlroots/0.15.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-{ lib, stdenv, fetchFromGitLab, meson, ninja, pkg-config, wayland-scanner
-, libGL, wayland, wayland-protocols, libinput, libxkbcommon, pixman
-,libcap, mesa, xorg
-, libpng, ffmpeg_4, seatd, vulkan-loader, glslang
-, nixosTests
-
-, enableXWayland ? true, xwayland ? null
-}:
-
-stdenv.mkDerivation rec {
- pname = "wlroots";
- version = "0.15.1";
-
- src = fetchFromGitLab {
- domain = "gitlab.freedesktop.org";
- owner = "wlroots";
- repo = "wlroots";
- rev = version;
- sha256 = "sha256-MFR38UuB/wW7J9ODDUOfgTzKLse0SSMIRYTpEaEdRwM=";
- };
-
- # $out for the library and $examples for the example programs (in examples):
- outputs = [ "out" "examples" ];
-
- strictDeps = true;
- depsBuildBuild = [ pkg-config ];
-
- nativeBuildInputs = [ meson ninja pkg-config wayland-scanner glslang ];
-
- buildInputs = [
- libGL wayland wayland-protocols libinput libxkbcommon pixman
- xorg.xcbutilwm xorg.libX11 libcap xorg.xcbutilimage xorg.xcbutilerrors mesa
- libpng ffmpeg_4 xorg.xcbutilrenderutil seatd vulkan-loader
- ]
- ++ lib.optional enableXWayland xwayland
- ;
-
- mesonFlags =
- lib.optional (!enableXWayland) "-Dxwayland=disabled"
- ;
-
- postFixup = ''
- # Install ALL example programs to $examples:
- # screencopy dmabuf-capture input-inhibitor layer-shell idle-inhibit idle
- # screenshot output-layout multi-pointer rotation tablet touch pointer
- # simple
- mkdir -p $examples/bin
- cd ./examples
- for binary in $(find . -executable -type f -printf '%P\n' | grep -vE '\.so'); do
- cp "$binary" "$examples/bin/wlroots-$binary"
- done
- '';
-
- # Test via TinyWL (the "minimum viable product" Wayland compositor based on wlroots):
- passthru.tests.tinywl = nixosTests.tinywl;
-
- meta = with lib; {
- description = "A modular Wayland compositor library";
- longDescription = ''
- Pluggable, composable, unopinionated modules for building a Wayland
- compositor; or about 50,000 lines of code you were going to write anyway.
- '';
- inherit (src.meta) homepage;
- changelog = "https://gitlab.freedesktop.org/wlroots/wlroots/-/tags/${version}";
- license = licenses.mit;
- platforms = platforms.linux;
- maintainers = with maintainers; [ primeos synthetica ];
- };
-}
diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix
new file mode 100644
index 000000000000..761e97784013
--- /dev/null
+++ b/pkgs/development/libraries/wlroots/default.nix
@@ -0,0 +1,135 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, meson
+, ninja
+, pkg-config
+, wayland-scanner
+, libGL
+, wayland
+, wayland-protocols
+, libinput
+, libxkbcommon
+, pixman
+, libcap
+, mesa
+, xorg
+, libpng
+, ffmpeg_4
+, hwdata
+, seatd
+, vulkan-loader
+, glslang
+, nixosTests
+
+, enableXWayland ? true
+, xwayland ? null
+}:
+
+let
+ generic = { version, hash, extraBuildInputs ? [ ], extraNativeBuildInputs ? [ ], extraPatch ? "" }:
+ stdenv.mkDerivation rec {
+ pname = "wlroots";
+ inherit version;
+
+ src = fetchFromGitLab {
+ domain = "gitlab.freedesktop.org";
+ owner = "wlroots";
+ repo = "wlroots";
+ rev = version;
+ inherit hash;
+ };
+
+ postPatch = extraPatch;
+
+ # $out for the library and $examples for the example programs (in examples):
+ outputs = [ "out" "examples" ];
+
+ strictDeps = true;
+ depsBuildBuild = [ pkg-config ];
+
+ nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ]
+ ++ extraNativeBuildInputs;
+
+ buildInputs = [
+ ffmpeg_4
+ libGL
+ libcap
+ libinput
+ libpng
+ libxkbcommon
+ mesa
+ pixman
+ seatd
+ vulkan-loader
+ wayland
+ wayland-protocols
+ xorg.libX11
+ xorg.xcbutilerrors
+ xorg.xcbutilimage
+ xorg.xcbutilrenderutil
+ xorg.xcbutilwm
+ ]
+ ++ lib.optional enableXWayland xwayland
+ ++ extraBuildInputs;
+
+ mesonFlags =
+ lib.optional (!enableXWayland) "-Dxwayland=disabled"
+ ;
+
+ postFixup = ''
+ # Install ALL example programs to $examples:
+ # screencopy dmabuf-capture input-inhibitor layer-shell idle-inhibit idle
+ # screenshot output-layout multi-pointer rotation tablet touch pointer
+ # simple
+ mkdir -p $examples/bin
+ cd ./examples
+ for binary in $(find . -executable -type f -printf '%P\n' | grep -vE '\.so'); do
+ cp "$binary" "$examples/bin/wlroots-$binary"
+ done
+ '';
+
+ # Test via TinyWL (the "minimum viable product" Wayland compositor based on wlroots):
+ passthru.tests.tinywl = nixosTests.tinywl;
+
+ meta = with lib; {
+ description = "A modular Wayland compositor library";
+ longDescription = ''
+ Pluggable, composable, unopinionated modules for building a Wayland
+ compositor; or about 50,000 lines of code you were going to write anyway.
+ '';
+ inherit (src.meta) homepage;
+ changelog = "https://gitlab.freedesktop.org/wlroots/wlroots/-/tags/${version}";
+ license = licenses.mit;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ primeos synthetica ];
+ };
+ };
+
+in
+rec {
+ wlroots_0_14 = generic {
+ version = "0.14.1";
+ hash = "sha256-wauk7TCL/V7fxjOZY77KiPbfydIc9gmOiYFOuum4UOs=";
+ };
+
+ wlroots_0_15 = generic {
+ version = "0.15.1";
+ hash = "sha256-MFR38UuB/wW7J9ODDUOfgTzKLse0SSMIRYTpEaEdRwM=";
+ extraBuildInputs = [ vulkan-loader ];
+ extraNativeBuildInputs = [ glslang ];
+ };
+
+ wlroots_0_16 = generic {
+ version = "0.16.0";
+ hash = "sha256-k7BFx1xvvsdCXNWX0XeZYwv8H/myk4p42i2Y6vjILqM=";
+ extraBuildInputs = [ vulkan-loader ];
+ extraNativeBuildInputs = [ glslang ];
+ extraPatch = ''
+ substituteInPlace backend/drm/meson.build \
+ --replace /usr/share/hwdata/ ${hwdata}/share/hwdata/
+ '';
+ };
+
+ wlroots = wlroots_0_15;
+}
diff --git a/pkgs/development/python-modules/cssselect/default.nix b/pkgs/development/python-modules/cssselect/default.nix
index 04b6dc36afab..3ca8f8d20416 100644
--- a/pkgs/development/python-modules/cssselect/default.nix
+++ b/pkgs/development/python-modules/cssselect/default.nix
@@ -1,17 +1,42 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+, pytestCheckHook
+, lxml
+}:
buildPythonPackage rec {
pname = "cssselect";
- version = "1.1.0";
+ version = "1.2.0";
+ format = "pyproject";
+
+ disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
- sha256 = "f95f8dedd925fd8f54edb3d2dfb44c190d9d18512377d3c1e2388d16126879bc";
+ sha256 = "666b19839cfaddb9ce9d36bfe4c969132c647b92fc9088c4e23f786b30f1b3dc";
};
- # AttributeError: 'module' object has no attribute 'tests'
- doCheck = false;
+ nativeBuildInputs = [
+ setuptools
+ ];
+
+ checkInputs = [
+ pytestCheckHook
+ lxml
+ ];
+
+ pythonImportsCheck = [
+ "cssselect"
+ ];
meta = with lib; {
+ description = "CSS Selectors for Python";
+ homepage = "https://cssselect.readthedocs.io/";
+ changelog = "https://github.com/scrapy/cssselect/v${version}//CHANGES";
+ license = licenses.bsd3;
+ maintainers = with maintainers; [ ];
};
}
diff --git a/pkgs/development/python-modules/pebble/default.nix b/pkgs/development/python-modules/pebble/default.nix
index 996d85b67d9f..ae250557410e 100644
--- a/pkgs/development/python-modules/pebble/default.nix
+++ b/pkgs/development/python-modules/pebble/default.nix
@@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "pebble";
- version = "5.0.2";
+ version = "5.0.3";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "Pebble";
inherit version;
- hash = "sha256-nFjAPq+SDDEodETG/vOdxTuurJ3iIerRBPXJtI6L1Yc=";
+ hash = "sha256-vc/Z6n4K7biVsgQXfBnm1lQ9mWL040AuurIXUASGPag=";
};
checkInputs = [
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index bafcca27474e..ddb178e35c44 100644
--- a/pkgs/development/tools/esbuild/default.nix
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "esbuild";
- version = "0.15.14";
+ version = "0.15.15";
src = fetchFromGitHub {
owner = "evanw";
repo = "esbuild";
rev = "v${version}";
- sha256 = "sha256-RcXVynR/dHI0Wn9gTQsYVjxqzAfeiI52Ph+hfpM9RhU=";
+ sha256 = "sha256-vWpm9tbzLZE+rrEHC6mBH+ajMdhdAk9Fwy5MBFG35ss=";
};
vendorSha256 = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
diff --git a/pkgs/development/tools/rust/cargo-expand/default.nix b/pkgs/development/tools/rust/cargo-expand/default.nix
index b7235356b539..07fb95f8729c 100644
--- a/pkgs/development/tools/rust/cargo-expand/default.nix
+++ b/pkgs/development/tools/rust/cargo-expand/default.nix
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-expand";
- version = "1.0.32";
+ version = "1.0.35";
src = fetchFromGitHub {
owner = "dtolnay";
repo = pname;
rev = version;
- sha256 = "sha256-5zWJsc0OKgQMp0PeCuL99RE/Uj5sudXRMITjoKniPqQ=";
+ sha256 = "sha256-hJb4FLL3+AMNLL05eQc7Mkhp0KEGxmHg8/ETDoZiLV4=";
};
- cargoSha256 = "sha256-/euiu7WNFY89QU1BKFfOAn7k93dZpuwbS6u2A6MDsoM=";
+ cargoSha256 = "sha256-wKVlmO2/ugAb7vUSIGMz0WGnjEVEsm459DV9FaM28Mk=";
buildInputs = lib.optional stdenv.isDarwin libiconv;
diff --git a/pkgs/servers/home-automation/evcc/default.nix b/pkgs/servers/home-automation/evcc/default.nix
new file mode 100644
index 000000000000..a242f9d1cc3a
--- /dev/null
+++ b/pkgs/servers/home-automation/evcc/default.nix
@@ -0,0 +1,96 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, fetchNpmDeps
+, cacert
+, go
+, git
+, enumer
+, mockgen
+, nodejs
+, npmHooks
+, nix-update-script
+, nixosTests
+, stdenv
+}:
+
+buildGoModule rec {
+ pname = "evcc";
+ version = "0.107.1";
+
+ src = fetchFromGitHub {
+ owner = "evcc-io";
+ repo = pname;
+ rev = version;
+ hash = "sha256-Yu7ebZ6WkLpdvmg7H9A1Sveyu9SRuQ+78gFrCZrYhCU=";
+ };
+
+ vendorHash = "sha256-10W1BNHcdP77m7lJ/mc+jQeUigoUid3K0wI4bUm5y+s=";
+
+ npmDeps = fetchNpmDeps {
+ inherit src;
+ hash = "sha256-+l5LuxJAjrTvOL5XEQ4OIktdupSpn6IqrNX5x4MRmNw=";
+ };
+
+ nativeBuildInputs = [
+ nodejs
+ npmHooks.npmConfigHook
+ ];
+
+ overrideModAttrs = _: {
+ nativeBuildInputs = [
+ enumer
+ go
+ git
+ cacert
+ mockgen
+ ];
+
+ preBuild = ''
+ make assets
+ '';
+ };
+
+ tags = [
+ "release"
+ ];
+
+ ldflags = [
+ "-X github.com/evcc-io/evcc/server.Version=${version}"
+ "-X github.com/evcc-io/evcc/server.Commit=${src.rev}"
+ "-s"
+ "-w"
+ ];
+
+ npmInstallFlags = [
+ "--legacy-peer-deps"
+ ];
+
+ preBuild = ''
+ make ui
+ '';
+
+ doCheck = !stdenv.isDarwin; # tries to bind to local network, doesn't work in darwin sandbox
+
+ preCheck = ''
+ # requires network access
+ rm meter/template_test.go
+ '';
+
+ passthru = {
+ tests = {
+ inherit (nixosTests) evcc;
+ };
+ updateScript = nix-update-script {
+ attrPath = pname;
+ };
+ };
+
+ meta = with lib; {
+ description = "EV Charge Controller";
+ homepage = "https://evcc.io";
+ changelog = "https://github.com/andig/evcc/releases/tag/${version}";
+ license = licenses.mit;
+ maintainers = with maintainers; [ hexa ];
+ };
+}
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index 630d7b845b7b..f7585e180a0a 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -9,13 +9,13 @@
buildDotnetModule rec {
pname = "jackett";
- version = "0.20.2264";
+ version = "0.20.2271";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
- sha256 = "Y1m828STKL4ANuf11oCekvT2ctCRBlT7Blyvvoltdxc=";
+ sha256 = "Sngvd9OWCB2I0qfYvb7yEGb7HiWuHtc+jU6O5r68mbU=";
};
projectFile = "src/Jackett.Server/Jackett.Server.csproj";
diff --git a/pkgs/tools/filesystems/dwarfs/default.nix b/pkgs/tools/filesystems/dwarfs/default.nix
index 22b29b5ed27f..3427a5a688c3 100644
--- a/pkgs/tools/filesystems/dwarfs/default.nix
+++ b/pkgs/tools/filesystems/dwarfs/default.nix
@@ -26,14 +26,14 @@
stdenv.mkDerivation rec {
pname = "dwarfs";
- version = "0.6.1";
+ version = "0.6.2";
src = fetchFromGitHub {
owner = "mhx";
repo = "dwarfs";
rev = "v${version}";
fetchSubmodules = true;
- sha256 = "sha256-bGJkgcq8JxueRTX08QpJv1A0O5wXbiIgUY7BrY0Ln/M=";
+ sha256 = "sha256-fA/3AooDndqYiK215cu/zTqCqeccHnwIX2CfJ9sC+Fc=";
};
patches = with lib.versions; [
@@ -59,6 +59,10 @@ stdenv.mkDerivation rec {
# may be added under an option in the future
# "-DWITH_LEGACY_FUSE=ON"
"-DWITH_TESTS=ON"
+
+ # temporary hack until folly builds work on aarch64,
+ # see https://github.com/facebook/folly/issues/1880
+ "-DCMAKE_LIBRARY_ARCHITECTURE=${if stdenv.isx86_64 then "x86_64" else "dummy"}"
];
nativeBuildInputs = [
diff --git a/pkgs/tools/misc/broadlink-cli/default.nix b/pkgs/tools/misc/broadlink-cli/default.nix
index 1d9a45cb5610..087b56c9d1a3 100644
--- a/pkgs/tools/misc/broadlink-cli/default.nix
+++ b/pkgs/tools/misc/broadlink-cli/default.nix
@@ -2,7 +2,7 @@
python3Packages.buildPythonApplication rec {
pname = "broadlink-cli";
- version = "0.18.2";
+ version = "0.18.3";
# the tools are available as part of the source distribution from GH but
# not pypi, so we have to fetch them here.
@@ -10,7 +10,7 @@ python3Packages.buildPythonApplication rec {
owner = "mjg59";
repo = "python-broadlink";
rev = "refs/tags/${version}";
- sha256 = "sha256-JX+Io5EP1OgtP7T+UQtkfCPWE1rd3MTrCYRhU9C0+0c=";
+ sha256 = "sha256-8bSlMA5Nb3hqpVMeHlgb8AkKt5JrfEiyKjobxRBdmNM=";
};
format = "other";
diff --git a/pkgs/tools/misc/cyberchef/default.nix b/pkgs/tools/misc/cyberchef/default.nix
index 8d27438ea381..0bdeb64c0c16 100644
--- a/pkgs/tools/misc/cyberchef/default.nix
+++ b/pkgs/tools/misc/cyberchef/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "cyberchef";
- version = "9.48.0";
+ version = "9.49.0";
src = fetchzip {
url = "https://github.com/gchq/CyberChef/releases/download/v${version}/CyberChef_v${version}.zip";
- sha256 = "sha256-tKNU+gUcuZMjsQes/vpEpn216/0fWCgb0mgvJ8WWoDQ=";
+ sha256 = "sha256-5cqCPxyH4O4TzAIwRR2oyWMzIl5Hi5YcdOKdpl518zw=";
stripRoot = false;
};
diff --git a/pkgs/tools/misc/enumer/default.nix b/pkgs/tools/misc/enumer/default.nix
new file mode 100644
index 000000000000..c7e7818d09ef
--- /dev/null
+++ b/pkgs/tools/misc/enumer/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, buildGoModule
+}:
+
+buildGoModule rec {
+ pname = "enumer";
+ version = "1.5.7";
+
+ src = fetchFromGitHub {
+ owner = "dmarkham";
+ repo = "enumer";
+ rev = "refs/tags/v${version}";
+ hash = "sha256-2fVWrrWOiCtg7I3Lul2PgQ2u/qDEDioPSB61Tp0rfEo=";
+ };
+
+ vendorSha256 = "sha256-BmFv0ytRnjaB7z7Gb+38Fw2ObagnaFMnMhlejhaGxsk=";
+
+ meta = with lib; {
+ description = "Go tool to auto generate methods for enums";
+ homepage = "https://github.com/dmarkham/enumer";
+ license = licenses.bsd2;
+ maintainers = with maintainers; [ hexa ];
+ };
+}
diff --git a/pkgs/tools/misc/godu/default.nix b/pkgs/tools/misc/godu/default.nix
index 37511d2e847c..f4e1fc1c4fbe 100644
--- a/pkgs/tools/misc/godu/default.nix
+++ b/pkgs/tools/misc/godu/default.nix
@@ -2,18 +2,18 @@
buildGoModule rec {
pname = "godu";
- version = "1.3.0";
+ version = "1.4.1";
src = fetchFromGitHub {
owner = "viktomas";
repo = pname;
rev = "v${version}";
- sha256 = "1fp8iq4x0qiswksznnd6qh7c6g5pwglzz6ga11a7vgic0201wsvb";
+ hash = "sha256-fJeSUAuNELZZ1DcybNsYd2ZX93VYWsLum5tHp68ZVlo=";
};
- patches = [ ./go-mod.patch ];
+ vendorHash = "sha256-8cZCeZ0gqxqbwB0WuEOFmEUNQd3/KcLeN0eLGfWG8BY=";
- vendorSha256 = "1zq7b0zn24cbrjssk4g03i90szp1ms7ila4khwcm7hp9n1py245s";
+ ldflags = [ "-s" "-w" ];
meta = with lib; {
description = "Utility helping to discover large files/folders";
diff --git a/pkgs/tools/misc/godu/go-mod.patch b/pkgs/tools/misc/godu/go-mod.patch
deleted file mode 100644
index 2b3efe6be604..000000000000
--- a/pkgs/tools/misc/godu/go-mod.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/go.mod b/go.mod
-index cf8f2fb..e405e03 100644
---- a/go.mod
-+++ b/go.mod
-@@ -5,5 +5,6 @@ go 1.14
- require (
- github.com/gdamore/tcell v1.1.1
- github.com/gosuri/uilive v0.0.0-20170323041506-ac356e6e42cd
-+ github.com/mattn/go-isatty v0.0.12 // indirect
- github.com/stretchr/testify v1.3.0
- )
-diff --git a/go.sum b/go.sum
-index 23c1232..e25c87e 100644
---- a/go.sum
-+++ b/go.sum
-@@ -8,6 +8,8 @@ github.com/gosuri/uilive v0.0.0-20170323041506-ac356e6e42cd h1:1e+0Z+T4t1mKL5xxv
- github.com/gosuri/uilive v0.0.0-20170323041506-ac356e6e42cd/go.mod h1:qkLSc0A5EXSP6B04TrN4oQoxqFI7A8XvoXSlJi8cwk8=
- github.com/lucasb-eyer/go-colorful v0.0.0-20181028223441-12d3b2882a08 h1:5MnxBC15uMxFv5FY/J/8vzyaBiArCOkMdFT9Jsw78iY=
- github.com/lucasb-eyer/go-colorful v0.0.0-20181028223441-12d3b2882a08/go.mod h1:NXg0ArsFk0Y01623LgUqoqcouGDB+PwCCQlrwrG6xJ4=
-+github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
-+github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
- github.com/mattn/go-runewidth v0.0.4 h1:2BvfKmzob6Bmd4YsL0zygOqfdFnK7GR4QL06Do4/p7Y=
- github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
- github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
-@@ -16,6 +18,8 @@ github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4=
- github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
- github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
- github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
-+golang.org/x/sys v0.0.0-20200116001909-b77594299b42 h1:vEOn+mP2zCOVzKckCZy6YsCtDblrpj/w7B9nxGNELpg=
-+golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
- golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
- golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
- gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0 h1:FVCohIoYO7IJoDDVpV2pdq7SgrMH6wHnuTyrdrxJNoY=
\ No newline at end of file
diff --git a/pkgs/tools/misc/mnc/default.nix b/pkgs/tools/misc/mnc/default.nix
new file mode 100644
index 000000000000..b6ee577d07cd
--- /dev/null
+++ b/pkgs/tools/misc/mnc/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildGoModule
+, fetchFromSourcehut
+}:
+
+buildGoModule rec {
+ pname = "mnc";
+ version = "0.4";
+
+ vendorSha256 = "sha256-H0KmGTWyjZOZLIEWophCwRYPeKLxBC050RI7cMXNbPs=";
+
+ src = fetchFromSourcehut {
+ owner = "~anjan";
+ repo = "mnc";
+ rev = version;
+ sha256 = "sha256-S7MBIxuYI+cc8OMQULt7VS7ouPqhq0Jk+rz6E5GyKac=";
+ };
+
+ meta = with lib; {
+ description = "Opens the user's crontab and echos the time when the next cronjob will be ran";
+ homepage = "https://git.sr.ht/~anjan/mnc";
+ license = licenses.unlicense;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ wentam ];
+ };
+}
diff --git a/pkgs/tools/security/gitleaks/default.nix b/pkgs/tools/security/gitleaks/default.nix
index ed8ebf669c3d..5d7465f728a8 100644
--- a/pkgs/tools/security/gitleaks/default.nix
+++ b/pkgs/tools/security/gitleaks/default.nix
@@ -8,13 +8,13 @@
buildGoModule rec {
pname = "gitleaks";
- version = "8.15.0";
+ version = "8.15.1";
src = fetchFromGitHub {
owner = "zricethezav";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-KqShYaUODClKkbLs3jaj55WXy9HyyBzvY5KdNOqEXPE=";
+ sha256 = "sha256-iIjQytsZDz9H5wT44jBBZCx8NvfAhNBl7pTv3mCkeMY=";
};
vendorSha256 = "sha256-Ev0/CSpwJDmc+Dvu/bFDzsgsq80rWImJWXNAUqYHgoE=";
diff --git a/pkgs/tools/security/rekor/default.nix b/pkgs/tools/security/rekor/default.nix
index 28eb45a6cdb2..e367314ba19b 100644
--- a/pkgs/tools/security/rekor/default.nix
+++ b/pkgs/tools/security/rekor/default.nix
@@ -4,13 +4,13 @@ let
generic = { pname, packageToBuild, description }:
buildGoModule rec {
inherit pname;
- version = "1.0.0";
+ version = "1.0.1";
src = fetchFromGitHub {
owner = "sigstore";
repo = "rekor";
rev = "v${version}";
- sha256 = "sha256-yFUpaKfZUgT/KZyZLEeNGnD0SS4iBAQfXRy/Yiuj9g8=";
+ sha256 = "sha256-WVAIhsbxwwvUyuLQLTcMHx9B5UsJxBvmS9MXYxVNiNs=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 5412c1c1cc1b..8978fda21ea1 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -480,6 +480,8 @@ with pkgs;
efficient-compression-tool = callPackage ../tools/compression/efficient-compression-tool { };
+ enumer = callPackage ../tools/misc/enumer { };
+
evans = callPackage ../development/tools/evans { };
expressvpn = callPackage ../applications/networking/expressvpn { };
@@ -1394,6 +1396,8 @@ with pkgs;
midi-trigger = callPackage ../applications/audio/midi-trigger { };
+ mnc = callPackage ../tools/misc/mnc { };
+
mprocs = callPackage ../tools/misc/mprocs { };
nominatim = callPackage ../servers/nominatim { };
@@ -6452,6 +6456,8 @@ with pkgs;
ettercap = callPackage ../applications/networking/sniffers/ettercap { };
+ evcc = callPackage ../servers/home-automation/evcc { };
+
eventstat = callPackage ../os-specific/linux/eventstat { };
evillimiter = python3Packages.callPackage ../tools/networking/evillimiter { };
@@ -27157,7 +27163,9 @@ with pkgs;
inherit (plasma5Packages) breeze-icons;
};
- zeal = libsForQt5.callPackage ../data/documentation/zeal { };
+ zeal-qt5 = libsForQt5.callPackage ../data/documentation/zeal { };
+ zeal-qt6 = qt6Packages.callPackage ../data/documentation/zeal { };
+ zeal = zeal-qt5;
zilla-slab = callPackage ../data/fonts/zilla-slab { };
@@ -29391,9 +29399,11 @@ with pkgs;
electron = electron_17;
};
- wlroots = wlroots_0_15;
- wlroots_0_14 = callPackage ../development/libraries/wlroots/0.14.nix { };
- wlroots_0_15 = callPackage ../development/libraries/wlroots/0.15.nix { };
+ inherit (callPackages ../development/libraries/wlroots {})
+ wlroots_0_14
+ wlroots_0_15
+ wlroots_0_16
+ wlroots;
sway-unwrapped = callPackage ../applications/window-managers/sway { };
sway = callPackage ../applications/window-managers/sway/wrapper.nix { };