From d5c411a42bae9a0c3796cd88cf507a17000a3650 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 6 Aug 2024 08:57:24 -0700 Subject: [PATCH 01/35] python312Packages.keyring: 25.2.1 -> 25.3.0 Changelog: https://github.com/jaraco/keyring/blob/v25.3.0/NEWS.rst --- .../python-modules/keyring/default.nix | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/keyring/default.nix b/pkgs/development/python-modules/keyring/default.nix index 2ffd2235d3de..20ed4c5dfb91 100644 --- a/pkgs/development/python-modules/keyring/default.nix +++ b/pkgs/development/python-modules/keyring/default.nix @@ -2,7 +2,7 @@ lib, stdenv, buildPythonPackage, - fetchPypi, + fetchFromGitHub, pythonOlder, installShellFiles, setuptools-scm, @@ -13,27 +13,31 @@ jaraco-functools, jeepney, secretstorage, + pyfakefs, pytestCheckHook, }: buildPythonPackage rec { pname = "keyring"; - version = "25.2.1"; + version = "25.3.0"; pyproject = true; disabled = pythonOlder "3.8"; - src = fetchPypi { - inherit pname version; - hash = "sha256-2q/9QtvaJd2vsa1f7EAk5bvP5CRZfKHKRSspmGHknxs="; + src = fetchFromGitHub { + owner = "jaraco"; + repo = "keyring"; + rev = "refs/tags/v${version}"; + hash = "sha256-P7rm5fkNudUEWdzVPMeGsP9sjBXoCBKojbh5oHhw4y4="; }; + build-system = [ setuptools-scm ]; + nativeBuildInputs = [ installShellFiles - setuptools-scm shtab ]; - propagatedBuildInputs = + dependencies = [ jaraco-classes jaraco-context @@ -56,7 +60,10 @@ buildPythonPackage rec { "keyring.backend" ]; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + pyfakefs + pytestCheckHook + ]; disabledTestPaths = [ "tests/backends/test_macOS.py" ] From aa182b1dc5774946744bcd7d7a767c6cb3efcbce Mon Sep 17 00:00:00 2001 From: gaykitty <126119280+gaykitty@users.noreply.github.com> Date: Fri, 16 Aug 2024 20:43:14 -0400 Subject: [PATCH 02/35] stargazer: 1.2.1 -> 1.3.0 --- pkgs/servers/gemini/stargazer/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/servers/gemini/stargazer/default.nix b/pkgs/servers/gemini/stargazer/default.nix index 3855ed2d8628..90d2ed5e5137 100644 --- a/pkgs/servers/gemini/stargazer/default.nix +++ b/pkgs/servers/gemini/stargazer/default.nix @@ -6,25 +6,25 @@ , scdoc , Security , nixosTests +, nix-update-script }: rustPlatform.buildRustPackage rec { pname = "stargazer"; - version = "1.2.1"; + version = "1.3.0"; src = fetchFromSourcehut { owner = "~zethra"; repo = "stargazer"; rev = version; - hash = "sha256-pYize+MGChi1GxCNaQsNlHELtsPUvfFZMPl0Q+pOTp0="; + hash = "sha256-Qzg9sCdD29FghHMY6obeVHMD0SRvzi9J6MhEUvcQgbE="; }; - cargoHash = "sha256-KmVNRVyKD5q4/vWtnHM4nfiGg+uZvRl+l+Zk5hjWg9E="; + cargoHash = "sha256-SQzYEFdSUC1znukot3G3WoOsQGlYP7ICXpoy/w9eO8A="; - doCheck = false; # Uses external testing framework that requires network - - passthru.tests = { - basic-functionality = nixosTests.stargazer; + passthru = { + tests.basic-functionality = nixosTests.stargazer; + updateScript = nix-update-script { }; }; nativeBuildInputs = [ installShellFiles scdoc ]; From c73d65ff10d763db67ba427e1424a76f6d32b592 Mon Sep 17 00:00:00 2001 From: Ben Darwin Date: Tue, 20 Aug 2024 21:40:30 -0400 Subject: [PATCH 03/35] itk: remove spurious mainProgram --- pkgs/development/libraries/itk/generic.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/development/libraries/itk/generic.nix b/pkgs/development/libraries/itk/generic.nix index 1db337611dca..12c5c71c0fe0 100644 --- a/pkgs/development/libraries/itk/generic.nix +++ b/pkgs/development/libraries/itk/generic.nix @@ -109,7 +109,6 @@ stdenv.mkDerivation { meta = { description = "Insight Segmentation and Registration Toolkit"; - mainProgram = "itkTestDriver"; homepage = "https://www.itk.org"; license = lib.licenses.asl20; maintainers = [ ]; From c3eede953f205c0d208fe6f0308cd946b68e8c31 Mon Sep 17 00:00:00 2001 From: Ben Darwin Date: Tue, 20 Aug 2024 21:41:43 -0400 Subject: [PATCH 04/35] itk: add myself as maintainer --- pkgs/development/libraries/itk/generic.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/itk/generic.nix b/pkgs/development/libraries/itk/generic.nix index 12c5c71c0fe0..7828efbaa7c6 100644 --- a/pkgs/development/libraries/itk/generic.nix +++ b/pkgs/development/libraries/itk/generic.nix @@ -111,6 +111,6 @@ stdenv.mkDerivation { description = "Insight Segmentation and Registration Toolkit"; homepage = "https://www.itk.org"; license = lib.licenses.asl20; - maintainers = [ ]; + maintainers = with lib.maintainers; [ bcdarwin ]; }; } From b4b818370c1f81ffd0f6448b99ee08f3aac7b448 Mon Sep 17 00:00:00 2001 From: Ben Darwin Date: Tue, 20 Aug 2024 21:42:08 -0400 Subject: [PATCH 05/35] itk: apply nixfmt --- pkgs/development/libraries/itk/generic.nix | 39 ++++++++++++++++++---- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/itk/generic.nix b/pkgs/development/libraries/itk/generic.nix index 7828efbaa7c6..b7ff7292dc23 100644 --- a/pkgs/development/libraries/itk/generic.nix +++ b/pkgs/development/libraries/itk/generic.nix @@ -1,8 +1,30 @@ -{ version, rev, sourceSha256 }: +{ + version, + rev, + sourceSha256, +}: -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake -, expat, fftw, gdcm, hdf5-cpp, libjpeg, libminc, libtiff, libpng -, libX11, libuuid, xz, vtk, zlib, Cocoa }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + expat, + fftw, + gdcm, + hdf5-cpp, + libjpeg, + libminc, + libtiff, + libpng, + libX11, + libuuid, + xz, + vtk, + zlib, + Cocoa, +}: let itkGenericLabelInterpolatorSrc = fetchFromGitHub { @@ -59,12 +81,12 @@ stdenv.mkDerivation { "-DBUILD_EXAMPLES=OFF" "-DBUILD_SHARED_LIBS=ON" "-DITK_FORBID_DOWNLOADS=ON" - "-DITK_USE_SYSTEM_LIBRARIES=ON" # finds common libraries e.g. hdf5, libpng, libtiff, zlib, but not GDCM, NIFTI, MINC, etc. + "-DITK_USE_SYSTEM_LIBRARIES=ON" # finds common libraries e.g. hdf5, libpng, libtiff, zlib, but not GDCM, NIFTI, MINC, etc. # note ITK_USE_SYSTEM_EIGEN, part of ITK_USE_SYSTEM_LIBRARIES, # causes "...-itk-5.2.1/include/ITK-5.2/itkSymmetricEigenAnalysis.h:23:31: fatal error: Eigen/Eigenvalues: No such file or directory" # when compiling c3d, but maybe an ITK 5.2/eigen version issue: "-DITK_USE_SYSTEM_EIGEN=OFF" - "-DITK_USE_SYSTEM_GOOGLETEST=OFF" # ANTs build failure due to https://github.com/ANTsX/ANTs/issues/1489 + "-DITK_USE_SYSTEM_GOOGLETEST=OFF" # ANTs build failure due to https://github.com/ANTsX/ANTs/issues/1489 "-DITK_USE_SYSTEM_GDCM=ON" "-DITK_USE_SYSTEM_MINC=ON" "-DLIBMINC_DIR=${libminc}/lib/cmake" @@ -79,7 +101,10 @@ stdenv.mkDerivation { "-DModule_GenericLabelInterpolator=ON" ]; - nativeBuildInputs = [ cmake xz ]; + nativeBuildInputs = [ + cmake + xz + ]; buildInputs = [ libX11 libuuid From 2c61ec858716cbe025a1b37268efba307ad05bd7 Mon Sep 17 00:00:00 2001 From: a-kenji Date: Fri, 23 Aug 2024 13:24:45 +0200 Subject: [PATCH 06/35] cosmic-randr: remove env substituteInPlace --- pkgs/by-name/co/cosmic-randr/package.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/by-name/co/cosmic-randr/package.nix b/pkgs/by-name/co/cosmic-randr/package.nix index 048a22f2a054..667f4b56ab32 100644 --- a/pkgs/by-name/co/cosmic-randr/package.nix +++ b/pkgs/by-name/co/cosmic-randr/package.nix @@ -20,10 +20,6 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-XpN9X8CZUGOe6mQhWWQy766gyoiTPObKsv9J8xiDvdA="; - postPatch = '' - substituteInPlace justfile --replace '#!/usr/bin/env' "#!$(command -v env)" - ''; - nativeBuildInputs = [ just pkg-config ]; buildInputs = [ wayland ]; From 1ff7e28086233e3ddf0be3a24d046eb148c987d8 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 23 Aug 2024 21:29:50 +0800 Subject: [PATCH 07/35] pantheon.elementary-session-settings: 6.0.0-unstable-2024-03-29 -> 8.0.0 https://github.com/elementary/session-settings/compare/53bf57e5b32936befc3003a0f99c5b3a69349c76...8.0.0 --- .../desktop/elementary-session-settings/default.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix index e85540b27ae5..9c67c245c8ae 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix @@ -3,6 +3,7 @@ , fetchFromGitHub , nix-update-script , desktop-file-utils +, gettext , pkg-config , writeScript , gnome-keyring @@ -91,20 +92,18 @@ in stdenv.mkDerivation rec { pname = "elementary-session-settings"; - version = "6.0.0-unstable-2024-03-29"; + version = "8.0.0"; src = fetchFromGitHub { owner = "elementary"; repo = "session-settings"; - # For systemd managed gnome-session support. - # https://github.com/NixOS/nixpkgs/issues/228946 - # nixpkgs-update: no auto update - rev = "53bf57e5b32936befc3003a0f99c5b3a69349c76"; - sha256 = "sha256-TX9V6gZiuPEKSHQoSD4+5QptuqEvuErCJ8OF2KFRf9k="; + rev = version; + sha256 = "sha256-CtArMzM6eukH/Ob0W/U4xh2vvqm17m3T0w7lhcRid74="; }; nativeBuildInputs = [ desktop-file-utils + gettext meson ninja pkg-config From 1ec06b188feef60145d472c7305a9bed5606f16d Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 23 Aug 2024 21:33:00 +0800 Subject: [PATCH 08/35] pantheon.wingpanel-indicator-bluetooth: 7.0.1 -> 8.0.0 https://github.com/elementary/wingpanel-indicator-bluetooth/compare/7.0.1...8.0.0 --- .../wingpanel-indicators/bluetooth/default.nix | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix index a1422ec18354..edc35f146908 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix @@ -4,7 +4,6 @@ , nix-update-script , pkg-config , meson -, python3 , ninja , vala , gtk3 @@ -18,13 +17,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-bluetooth"; - version = "7.0.1"; + version = "8.0.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-VLW3r5X0AWhNRQpajYmCNMIl/UvZCWz14gpxZLlLJdQ="; + sha256 = "sha256-N0ehiK8sYAZ/3Lu2u7dut7ZflroFptALFCxjbI0++BA="; }; nativeBuildInputs = [ @@ -33,7 +32,6 @@ stdenv.mkDerivation rec { meson ninja pkg-config - python3 vala ]; @@ -46,11 +44,6 @@ stdenv.mkDerivation rec { wingpanel ]; - postPatch = '' - chmod +x meson/post_install.py - patchShebangs meson/post_install.py - ''; - passthru = { updateScript = nix-update-script { }; }; From 43f8c88e9c5e46c83862e1dd1a36e7f14af7ba50 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 25 Jul 2024 20:51:50 +0800 Subject: [PATCH 09/35] nixos/pantheon: Ship elementary-bluetooth-daemon by default This is extracted from wingpanel-indicator-bluetooth. --- nixos/modules/services/x11/desktop-managers/pantheon.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 01bf3aad202a..3db6d4ffa45c 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -193,6 +193,7 @@ in # Global environment environment.systemPackages = (with pkgs.pantheon; [ + elementary-bluetooth-daemon elementary-session-settings elementary-settings-daemon gala From 5f153f6db406e1bd2afd334df31537ca636e99b7 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 23 Aug 2024 21:36:35 +0800 Subject: [PATCH 10/35] pantheon.wingpanel-indicator-notifications: 7.1.0 -> 7.1.1 https://github.com/elementary/wingpanel-indicator-notifications/compare/7.1.0...7.1.1 --- .../desktop/wingpanel-indicators/notifications/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix index 921fa48d81c5..37101f298453 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-notifications"; - version = "7.1.0"; + version = "7.1.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-vm+wMHyWWtOWM0JyiesfpzC/EmkTNbprXaBgVUDQvDg="; + sha256 = "sha256-fuC9ldDjKuy1kBeFOAIZ/Onhl2o45Xj+YjSrfYz1xvw="; }; nativeBuildInputs = [ From 3c1fa0d0e3ec2594c2be17f9e68efa845a85c05f Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 23 Aug 2024 21:39:08 +0800 Subject: [PATCH 11/35] pantheon.wingpanel-indicator-power: 6.2.1 -> 8.0.0 https://github.com/elementary/wingpanel-indicator-power/compare/6.2.1...8.0.0 --- .../desktop/wingpanel-indicators/power/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix index 42e983da68f9..74bd1be5f24e 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix @@ -8,9 +8,9 @@ , meson , ninja , vala +, elementary-settings-daemon , gtk3 , granite -, bamf , libgtop , libnotify , udev @@ -20,13 +20,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-power"; - version = "6.2.1"; + version = "8.0.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-EEY32O7GeXBHSjZQ3XGogT1sUzIKGX+CzcGx8buGLq4="; + sha256 = "sha256-RelK4HIyTQ6kXi7/K8U33sKIrDrhA3IFVnnvX4x88UQ="; }; patches = [ @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - bamf + elementary-settings-daemon granite gtk3 libgee From 9cb4c03866f6b7f9086498eada63fdbb2f47975d Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 23 Aug 2024 21:46:39 +0800 Subject: [PATCH 12/35] pantheon.wingpanel-indicator-sound: 7.0.0 -> 8.0.0 https://github.com/elementary/wingpanel-indicator-sound/compare/7.0.0...8.0.0 --- .../desktop/wingpanel-indicators/sound/default.nix | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix index 61d8ee449739..eb4133d70827 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix @@ -4,7 +4,6 @@ , nix-update-script , pkg-config , meson -, python3 , ninja , vala , gnome-settings-daemon @@ -20,13 +19,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-sound"; - version = "7.0.0"; + version = "8.0.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-gQyL8g4Y5kM9/1EDLAQYiTSZ6CxuvfQv7LBRZNcGPVk="; + sha256 = "sha256-5VJnRFjyiy+CIOrwabmgWjVF4Jh0lfkhPUoGXivnbtY="; }; nativeBuildInputs = [ @@ -34,7 +33,6 @@ stdenv.mkDerivation rec { meson ninja pkg-config - python3 vala ]; @@ -49,11 +47,6 @@ stdenv.mkDerivation rec { wingpanel ]; - postPatch = '' - chmod +x meson/post_install.py - patchShebangs meson/post_install.py - ''; - passthru = { updateScript = nix-update-script { }; }; From dfc226bfb1561b8538e365a7f1a5b62bcae19294 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 11 Jun 2024 21:22:33 +0800 Subject: [PATCH 13/35] nixos/pantheon: Enable switcheroo support https://github.com/elementary/dock/commit/317ae5e4820ab9d61618356ac2268e0676a771d9 --- nixos/modules/services/x11/desktop-managers/pantheon.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 3db6d4ffa45c..a401af9b7e18 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -160,6 +160,7 @@ in services.udisks2.enable = true; services.upower.enable = config.powerManagement.enable; services.libinput.enable = mkDefault true; + services.switcherooControl.enable = mkDefault true; services.xserver.updateDbusEnvironment = true; services.zeitgeist.enable = mkDefault true; services.geoclue2.enable = mkDefault true; From e3e17841f539c1c900da45014e5ba38937115f51 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 23 Aug 2024 22:20:45 +0800 Subject: [PATCH 14/35] pantheon.wingpanel: Backport QuickSettings support --- pkgs/desktops/pantheon/desktop/wingpanel/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix index 3734a0dcc07f..e6fb2a57e7d2 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , wrapGAppsHook3 , pkg-config @@ -32,6 +33,13 @@ stdenv.mkDerivation rec { patches = [ ./indicators.patch + + # Add sorting for QuickSettings + # https://github.com/elementary/wingpanel/pull/516 + (fetchpatch { + url = "https://github.com/elementary/wingpanel/commit/cae197c953f4332e67cf0a5457b4e54f8adc3424.patch"; + hash = "sha256-P7Cl6M3qvh9pa1qIwWQV4XG5NoCQId+buzEChcUOapk="; + }) ]; nativeBuildInputs = [ From 2af847864f303d38001aebc0a9edaf7f6bf9938e Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 18 May 2024 17:35:13 +0800 Subject: [PATCH 15/35] pantheon.wingpanel-quick-settings: init at 1.0.0 --- pkgs/desktops/pantheon/default.nix | 3 + .../quick-settings/default.nix | 65 +++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 pkgs/desktops/pantheon/desktop/wingpanel-indicators/quick-settings/default.nix diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index e0f08e6e2031..10c8aa889c90 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -36,6 +36,7 @@ lib.makeScope pkgs.newScope (self: with self; { wingpanel-indicator-power wingpanel-indicator-session wingpanel-indicator-sound + wingpanel-quick-settings ]; maintainers = lib.teams.pantheon.members; @@ -163,6 +164,8 @@ lib.makeScope pkgs.newScope (self: with self; { wingpanel-indicator-sound = callPackage ./desktop/wingpanel-indicators/sound { }; + wingpanel-quick-settings = callPackage ./desktop/wingpanel-indicators/quick-settings { }; + #### SWITCHBOARD switchboard = callPackage ./apps/switchboard { }; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/quick-settings/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/quick-settings/default.nix new file mode 100644 index 000000000000..e51621e52958 --- /dev/null +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/quick-settings/default.nix @@ -0,0 +1,65 @@ +{ + stdenv, + lib, + fetchFromGitHub, + nix-update-script, + glib, + meson, + ninja, + pkg-config, + vala, + elementary-settings-daemon, + granite, + gtk3, + libgee, + libhandy, + libportal, + packagekit, + wayland, + wingpanel, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "wingpanel-quick-settings"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = "quick-settings"; + rev = finalAttrs.version; + hash = "sha256-k8K6zGTLYGSsi5NtohbaGg4oVVovktR7BInN8BUE5bQ="; + }; + + nativeBuildInputs = [ + glib # glib-compile-resources + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + elementary-settings-daemon # for prefers-color-scheme + glib + granite + gtk3 + libgee + libhandy + libportal + packagekit + wayland + wingpanel + ]; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { + description = "Quick settings menu for Wingpanel"; + homepage = "https://github.com/elementary/quick-settings"; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.linux; + maintainers = lib.teams.pantheon.members; + }; +}) From 4fe688d7008d69051972713e4926de0f0f428cf0 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 23 Aug 2024 22:07:54 +0800 Subject: [PATCH 16/35] pantheon.wingpanel-indicator-session: Drop --- pkgs/desktops/pantheon/default.nix | 5 +- .../wingpanel-indicators/session/default.nix | 55 ------------------- 2 files changed, 2 insertions(+), 58 deletions(-) delete mode 100644 pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 10c8aa889c90..533340de7aa4 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -34,7 +34,6 @@ lib.makeScope pkgs.newScope (self: with self; { wingpanel-indicator-nightlight wingpanel-indicator-notifications wingpanel-indicator-power - wingpanel-indicator-session wingpanel-indicator-sound wingpanel-quick-settings ]; @@ -160,8 +159,6 @@ lib.makeScope pkgs.newScope (self: with self; { inherit (gnome) gnome-power-manager; }; - wingpanel-indicator-session = callPackage ./desktop/wingpanel-indicators/session { }; - wingpanel-indicator-sound = callPackage ./desktop/wingpanel-indicators/sound { }; wingpanel-quick-settings = callPackage ./desktop/wingpanel-indicators/quick-settings { }; @@ -249,4 +246,6 @@ lib.makeScope pkgs.newScope (self: with self; { notes-up = throw "The ‘pantheon.notes-up’ alias was removed on 2022-02-02, please use ‘pkgs.notes-up’ directly."; # added 2021-12-18 + wingpanel-indicator-session = throw "pantheon.wingpanel-indicator-session has been removed, abandoned by upstream."; # added 2024-08-23 + } diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix deleted file mode 100644 index eae385178db4..000000000000 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, pkg-config -, meson -, ninja -, vala -, gtk3 -, granite -, wingpanel -, accountsservice -, libgee -, libhandy -}: - -stdenv.mkDerivation rec { - pname = "wingpanel-indicator-session"; - version = "2.3.1"; - - src = fetchFromGitHub { - owner = "elementary"; - repo = pname; - rev = version; - sha256 = "sha256-2AEMe5dctTicW1MiGRV1SMjN/uFxQGbOYzCNFS1/KNk="; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - vala - ]; - - buildInputs = [ - accountsservice - granite - gtk3 - libgee - libhandy - wingpanel - ]; - - passthru = { - updateScript = nix-update-script { }; - }; - - meta = with lib; { - description = "Session Indicator for Wingpanel"; - homepage = "https://github.com/elementary/wingpanel-indicator-session"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = teams.pantheon.members; - }; -} From 954fa1cda6a2f6fbd0e7a56146727051ecc67abc Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 23 Aug 2024 23:28:53 +0800 Subject: [PATCH 17/35] onboard: Fix crashes at startup ... by apply various Void Linux's patches. Noticed when testing Pantheon's quick-settings indicator. --- pkgs/applications/misc/onboard/default.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/applications/misc/onboard/default.nix b/pkgs/applications/misc/onboard/default.nix index d6c7da1ffefb..2fcaa7f4c48a 100644 --- a/pkgs/applications/misc/onboard/default.nix +++ b/pkgs/applications/misc/onboard/default.nix @@ -1,4 +1,5 @@ { fetchurl +, fetchpatch , lib , substituteAll , aspellWithDicts @@ -54,6 +55,22 @@ python3.pkgs.buildPythonApplication rec { }) # Allow loading hunspell dictionaries installed in NixOS system path ./hunspell-use-xdg-datadirs.patch + + # Python 3.12 fixes (otherwise crashes at startup) + (fetchpatch { + url = "https://github.com/void-linux/void-packages/raw/1be95325d320122efd5dedf7437839cfcca01f7a/srcpkgs/onboard/patches/python-3.12.patch"; + hash = "sha256-Lw5wlaWFlP5rFlEWmlPo5Ux8idrmhET/X9yiu+2Akkk="; + }) + (fetchpatch { + url = "https://github.com/void-linux/void-packages/raw/1be95325d320122efd5dedf7437839cfcca01f7a/srcpkgs/onboard/patches/thread-state.patch"; + hash = "sha256-fJfxD7HshroiEVkaKVBGV7py8tdOhbcprcmBQNuxR9U="; + }) + + # Fix for https://bugs.launchpad.net/onboard/+bug/1948723 + (fetchpatch { + url = "https://github.com/void-linux/void-packages/raw/9ef46bf26ac5acc1af5809f11c97b19c5e2233ed/srcpkgs/onboard/patches/fix-brokenformat.patch"; + hash = "sha256-r9mvJNWpPR1gsayuSSLpzIuafEKqtADYklre0Ju+KOM="; + }) ]; nativeBuildInputs = [ From 965065bc2a3f03c14b4f0e52deb5a5ff1e14aea7 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 23 Aug 2024 23:58:48 +0800 Subject: [PATCH 18/35] pantheon.wingpanel-indicator-a11y: Don't ship by default https://github.com/elementary/seeds/commit/98b53a5835972b26989adbb36c6c42327c118346 --- pkgs/desktops/pantheon/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 533340de7aa4..3b62d7917174 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -26,7 +26,6 @@ lib.makeScope pkgs.newScope (self: with self; { wingpanelIndicators = [ wingpanel-applications-menu - wingpanel-indicator-a11y wingpanel-indicator-bluetooth wingpanel-indicator-datetime wingpanel-indicator-keyboard From b7426eaac4a3fe13ad32cc0b9b3b105c4511980e Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 24 Aug 2024 00:03:04 +0800 Subject: [PATCH 19/35] pantheon.switchboard-plug-a11y: Drop ref: https://github.com/elementary/switchboard-plug-a11y ref: https://github.com/elementary/seeds/commit/e984d96df7bd83666901819f5f3eadb3ebbadbeb --- .../apps/switchboard-plugs/a11y/default.nix | 69 ------------------- .../switchboard-plugs/a11y/fix-paths.patch | 13 ---- pkgs/desktops/pantheon/default.nix | 5 +- 3 files changed, 2 insertions(+), 85 deletions(-) delete mode 100644 pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix delete mode 100644 pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/fix-paths.patch diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix deleted file mode 100644 index ae325e3bf8df..000000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ lib -, stdenv -, substituteAll -, fetchFromGitHub -, fetchpatch -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, libgee -, granite -, gtk3 -, switchboard -, wingpanel-indicator-a11y -, onboard -}: - -stdenv.mkDerivation rec { - pname = "switchboard-plug-a11y"; - version = "2.3.0"; - - src = fetchFromGitHub { - owner = "elementary"; - repo = pname; - rev = version; - sha256 = "0dc5jv335j443rg08cb7p8wvmcg36wrf1vlcfg9r20cksdis9v4l"; - }; - - patches = [ - (substituteAll { - src = ./fix-paths.patch; - inherit onboard; - }) - # Upstream code not respecting our localedir - # https://github.com/elementary/switchboard-plug-a11y/pull/79 - (fetchpatch { - url = "https://github.com/elementary/switchboard-plug-a11y/commit/08db4b696128a6bf809da3403a818834fcd62b02.patch"; - sha256 = "1s13ak23bdxgcb74wdz3ql192bla5qhabdicqyjv1rp32plhkbg5"; - }) - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - vala - ]; - - buildInputs = [ - granite - gtk3 - libgee - switchboard - wingpanel-indicator-a11y - ]; - - passthru = { - updateScript = nix-update-script { }; - }; - - meta = with lib; { - description = "Switchboard Universal Access Plug"; - homepage = "https://github.com/elementary/switchboard-plug-a11y"; - license = licenses.gpl3Plus; - platforms = platforms.linux; - maintainers = teams.pantheon.members; - }; -} diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/fix-paths.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/fix-paths.patch deleted file mode 100644 index 4d69390f39d9..000000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/fix-paths.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/Panes/Typing.vala b/src/Panes/Typing.vala -index b4ae8b0..5b8fd7e 100644 ---- a/src/Panes/Typing.vala -+++ b/src/Panes/Typing.vala -@@ -83,7 +83,7 @@ public class Accessibility.Panes.Typing : Categories.Pane { - - onboard_settings_label.clicked.connect (() => { - try { -- var appinfo = AppInfo.create_from_commandline ("onboard-settings", null, AppInfoCreateFlags.NONE); -+ var appinfo = AppInfo.create_from_commandline ("@onboard@/bin/onboard-settings", null, AppInfoCreateFlags.NONE); - appinfo.launch (null, null); - } catch (Error e) { - warning ("%s\n", e.message); diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 3b62d7917174..05aef10ca6d6 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -4,7 +4,6 @@ lib.makeScope pkgs.newScope (self: with self; { switchboardPlugs = [ - switchboard-plug-a11y switchboard-plug-about switchboard-plug-applications switchboard-plug-bluetooth @@ -170,8 +169,6 @@ lib.makeScope pkgs.newScope (self: with self; { plugs = null; }; - switchboard-plug-a11y = callPackage ./apps/switchboard-plugs/a11y { }; - switchboard-plug-about = callPackage ./apps/switchboard-plugs/about { }; switchboard-plug-applications = callPackage ./apps/switchboard-plugs/applications { }; @@ -245,6 +242,8 @@ lib.makeScope pkgs.newScope (self: with self; { notes-up = throw "The ‘pantheon.notes-up’ alias was removed on 2022-02-02, please use ‘pkgs.notes-up’ directly."; # added 2021-12-18 + switchboard-plug-a11y = throw "pantheon.switchboard-plug-a11y has been removed, abandoned by upstream."; # added 2024-08-23 + wingpanel-indicator-session = throw "pantheon.wingpanel-indicator-session has been removed, abandoned by upstream."; # added 2024-08-23 } From 661c4b039fd3c9ada66d362a9f813d88304089ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 23 Aug 2024 12:54:07 -0700 Subject: [PATCH 20/35] python312Packages.jaraco-path: 3.7.0 -> 3.7.1 Diff: https://github.com/jaraco/jaraco.path/compare/refs/tags/v3.7.0...v3.7.1 Changelog: https://github.com/jaraco/jaraco.path/blob/refs/tags/v3.7.1/NEWS.rst --- pkgs/development/python-modules/jaraco-path/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/jaraco-path/default.nix b/pkgs/development/python-modules/jaraco-path/default.nix index 9dc6c763a2ca..5537811d592d 100644 --- a/pkgs/development/python-modules/jaraco-path/default.nix +++ b/pkgs/development/python-modules/jaraco-path/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "jaraco-path"; - version = "3.7.0"; + version = "3.7.1"; pyproject = true; src = fetchFromGitHub { owner = "jaraco"; repo = "jaraco.path"; rev = "refs/tags/v${version}"; - hash = "sha256-P22sA138guKTlOxSxUJ0mU41W16984yYlkZea06juOM="; + hash = "sha256-i6FPM4aPfpwLdde1COXZNoKel3sRK8PXnkzy50XvVdw="; }; build-system = [ setuptools-scm ]; From 30ca6491712b813398b7a885c0dadba1e4c89db7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 23 Aug 2024 13:39:03 -0700 Subject: [PATCH 21/35] python312Packages.qcs-sdk-python: 0.19.2 -> 0.19.3 Diff: https://github.com/rigetti/qcs-sdk-rust/compare/python/v0.19.2...python/v0.19.3 Changelog: https://github.com/rigetti/qcs-sdk-rust/blob/python/v0.19.3/crates/python/CHANGELOG.md --- pkgs/development/python-modules/qcs-sdk-python/Cargo.lock | 8 ++++---- .../development/python-modules/qcs-sdk-python/default.nix | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/qcs-sdk-python/Cargo.lock b/pkgs/development/python-modules/qcs-sdk-python/Cargo.lock index 2a513d4d66c9..2309fd0205f3 100644 --- a/pkgs/development/python-modules/qcs-sdk-python/Cargo.lock +++ b/pkgs/development/python-modules/qcs-sdk-python/Cargo.lock @@ -311,9 +311,9 @@ checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" [[package]] name = "bytemuck" -version = "1.16.1" +version = "1.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" +checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83" [[package]] name = "byteorder" @@ -2674,7 +2674,7 @@ dependencies = [ [[package]] name = "qcs" -version = "0.23.1" +version = "0.23.2" dependencies = [ "assert2", "async-trait", @@ -2815,7 +2815,7 @@ dependencies = [ [[package]] name = "qcs-sdk-python" -version = "0.19.2" +version = "0.19.3" dependencies = [ "async-trait", "numpy", diff --git a/pkgs/development/python-modules/qcs-sdk-python/default.nix b/pkgs/development/python-modules/qcs-sdk-python/default.nix index 968bac2a9f9e..b0d4808f9e0c 100644 --- a/pkgs/development/python-modules/qcs-sdk-python/default.nix +++ b/pkgs/development/python-modules/qcs-sdk-python/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "qcs-sdk-python"; - version = "0.19.2"; + version = "0.19.3"; pyproject = true; disabled = pythonOlder "3.8"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "rigetti"; repo = "qcs-sdk-rust"; rev = "python/v${version}"; - hash = "sha256-5PQLFGZmQDpX3IUwQOZhIgSbMhW+PACdH+7ztBHN20A="; + hash = "sha256-TyXUkuiYdz6Z6s96DD33QdEuI0ch4hRjUGWahEBpkX4="; }; cargoDeps = rustPlatform.importCargoLock { From 70b7e53986407a234008f389da5ee15b5283e388 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 23 Aug 2024 13:41:57 -0700 Subject: [PATCH 22/35] python312Packages.pyquil: 4.14.1 -> 4.14.2 Diff: https://github.com/rigetti/pyquil/compare/refs/tags/v4.14.1...v4.14.2 Changelog: https://github.com/rigetti/pyquil/blob/v4.14.2/CHANGELOG.md --- pkgs/development/python-modules/pyquil/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyquil/default.nix b/pkgs/development/python-modules/pyquil/default.nix index 64c7769fc9e1..6e9c6ca53f26 100644 --- a/pkgs/development/python-modules/pyquil/default.nix +++ b/pkgs/development/python-modules/pyquil/default.nix @@ -25,7 +25,7 @@ buildPythonPackage rec { pname = "pyquil"; - version = "4.14.1"; + version = "4.14.2"; pyproject = true; disabled = pythonOlder "3.9"; @@ -34,7 +34,7 @@ buildPythonPackage rec { owner = "rigetti"; repo = "pyquil"; rev = "refs/tags/v${version}"; - hash = "sha256-PmzzYhnbNdb3nl51awpxftSeW93vo3exHJxdZ+sgwZs="; + hash = "sha256-9P2AJPr65jNOHsKuF9qYcF/8s8IIIb9WeNUfAwrnlgE="; }; pythonRelaxDeps = [ From 0ae051ffcdce8cd89c3402d033add7ef96f9dd5d Mon Sep 17 00:00:00 2001 From: Andrew Kvalheim Date: Fri, 23 Aug 2024 14:36:23 -0700 Subject: [PATCH 23/35] gcalcli: format with nixfmt-rfc-style --- pkgs/applications/misc/gcalcli/default.nix | 26 ++++++++++++++++------ 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/misc/gcalcli/default.nix b/pkgs/applications/misc/gcalcli/default.nix index 47950616578e..bdd8feb9cb2d 100644 --- a/pkgs/applications/misc/gcalcli/default.nix +++ b/pkgs/applications/misc/gcalcli/default.nix @@ -1,5 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, python3 -, libnotify ? null }: +{ + stdenv, + lib, + fetchFromGitHub, + python3, + libnotify ? null, +}: with python3.pkgs; @@ -8,9 +13,9 @@ buildPythonApplication rec { version = "4.3.0"; src = fetchFromGitHub { - owner = "insanum"; - repo = pname; - rev = "v${version}"; + owner = "insanum"; + repo = pname; + rev = "v${version}"; sha256 = "0s5fhcmz3n0dwh3vkqr4aigi59q43v03ch5jhh6v75149icwr0df"; }; @@ -20,8 +25,15 @@ buildPythonApplication rec { ''; propagatedBuildInputs = [ - python-dateutil gflags httplib2 parsedatetime six vobject - google-api-python-client oauth2client uritemplate + python-dateutil + gflags + httplib2 + parsedatetime + six + vobject + google-api-python-client + oauth2client + uritemplate libnotify ]; From 02f40d422cef71c7699bae5ac3c06fc6bdeb0a87 Mon Sep 17 00:00:00 2001 From: Andrew Kvalheim Date: Fri, 23 Aug 2024 14:38:24 -0700 Subject: [PATCH 24/35] gcalcli: enable tests Tests were added in 4.0.0 and should have been enabled in #55597. --- pkgs/applications/misc/gcalcli/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/applications/misc/gcalcli/default.nix b/pkgs/applications/misc/gcalcli/default.nix index bdd8feb9cb2d..759d4983921e 100644 --- a/pkgs/applications/misc/gcalcli/default.nix +++ b/pkgs/applications/misc/gcalcli/default.nix @@ -37,8 +37,7 @@ buildPythonApplication rec { libnotify ]; - # There are no tests as of 4.0.0a4 - doCheck = false; + nativeCheckInputs = [ pytestCheckHook ]; meta = with lib; { description = "CLI for Google Calendar"; From defe51584aa1390187a35044b8b78277b2730344 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 22 Aug 2024 14:53:48 -0700 Subject: [PATCH 25/35] python312Packages.safety-schemas: 0.0.3 -> 0.0.5 --- pkgs/development/python-modules/safety-schemas/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/safety-schemas/default.nix b/pkgs/development/python-modules/safety-schemas/default.nix index 0ff590ea25c9..40e22736088d 100644 --- a/pkgs/development/python-modules/safety-schemas/default.nix +++ b/pkgs/development/python-modules/safety-schemas/default.nix @@ -12,13 +12,13 @@ buildPythonPackage rec { pname = "safety-schemas"; - version = "0.0.3"; + version = "0.0.5"; pyproject = true; src = fetchPypi { pname = "safety_schemas"; inherit version; - hash = "sha256-s5VU+cAQ5PEffJ5Xc+sx0slsFk96WVwnOpiwdND7mPQ="; + hash = "sha256-DeX8mlPUQjZEqM6aF6LkdHFKon5X81BhRulaQXEP8QQ="; }; build-system = [ hatchling ]; From 892775d387954581932d320dd3af432382c6351f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 22 Aug 2024 14:54:52 -0700 Subject: [PATCH 26/35] python312Packages.safety: 3.2.5 -> 3.2.6 Diff: https://github.com/pyupio/safety/compare/refs/tags/3.2.5...3.2.6 Changelog: https://github.com/pyupio/safety/blob/3.2.6/CHANGELOG.md --- pkgs/development/python-modules/safety/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/safety/default.nix b/pkgs/development/python-modules/safety/default.nix index 2db623d74f02..db1e2ed0d590 100644 --- a/pkgs/development/python-modules/safety/default.nix +++ b/pkgs/development/python-modules/safety/default.nix @@ -26,7 +26,7 @@ buildPythonPackage rec { pname = "safety"; - version = "3.2.5"; + version = "3.2.6"; disabled = pythonOlder "3.7"; @@ -36,7 +36,7 @@ buildPythonPackage rec { owner = "pyupio"; repo = "safety"; rev = "refs/tags/${version}"; - hash = "sha256-vLibQfSwxZF48KL/vfkCOUi2qH5QGMySbdakLQNP+Ug="; + hash = "sha256-pC9ruEGT3v5C5EpxIN+uZX+6sVYG4+MpXU0gt9yb+IE="; }; postPatch = '' From bfa2e1c04013d080da671b69d895eedd83625178 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 23 Aug 2024 14:49:35 -0700 Subject: [PATCH 27/35] python312Packages.pytibber: 0.30.0 -> 0.30.1 Diff: https://github.com/Danielhiversen/pyTibber/compare/refs/tags/0.30.0...0.30.1 Changelog: https://github.com/Danielhiversen/pyTibber/releases/tag/0.30.1 --- pkgs/development/python-modules/pytibber/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pytibber/default.nix b/pkgs/development/python-modules/pytibber/default.nix index 5c54080f3856..4de4b73984a0 100644 --- a/pkgs/development/python-modules/pytibber/default.nix +++ b/pkgs/development/python-modules/pytibber/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "pytibber"; - version = "0.30.0"; + version = "0.30.1"; pyproject = true; disabled = pythonOlder "3.11"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "Danielhiversen"; repo = "pyTibber"; rev = "refs/tags/${version}"; - hash = "sha256-9l3hfffj+7oLXfynBXWL4oZB9v7hwt0q5oyxsaJqNpY="; + hash = "sha256-bIFWI1pfX2C5H1/lHXiFs6FeaFn5r5uZZERlyAuJp8s="; }; build-system = [ setuptools ]; From c74138d2164a3983fd3e4e8b05d42a19ccb41f36 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Sun, 21 Jul 2024 08:20:22 +0200 Subject: [PATCH 28/35] python312Packages.kde-material-you-colors: init at 1.9.3 --- .../kde-material-you-colors/default.nix | 44 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/development/python-modules/kde-material-you-colors/default.nix diff --git a/pkgs/development/python-modules/kde-material-you-colors/default.nix b/pkgs/development/python-modules/kde-material-you-colors/default.nix new file mode 100644 index 000000000000..5101b7830edb --- /dev/null +++ b/pkgs/development/python-modules/kde-material-you-colors/default.nix @@ -0,0 +1,44 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + + dbus-python, + numpy, + pillow, + materialyoucolor, +}: + +buildPythonPackage rec { + pname = "kde-material-you-colors"; + version = "1.9.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "luisbocanegra"; + repo = "kde-material-you-colors"; + rev = "refs/tags/v${version}"; + hash = "sha256-hew+aWbfWmqTsxsNx/0Ow0WZAVl0e6OyzDxcKm+nlzQ="; + }; + + build-system = [ setuptools ]; + dependencies = [ + dbus-python + numpy + pillow + materialyoucolor + ]; + + pythonImportsCheck = [ "kde_material_you_colors" ]; + + doCheck = false; # no unittests, and would require KDE desktop environment + + meta = { + homepage = "https://store.kde.org/p/2136963"; + description = "Automatic color scheme generator from your wallpaper for KDE Plasma powered by Material You"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ sigmanificient ]; + mainProgram = "kde-material-you-colors"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c0342015c5ae..365026ea4a9b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6510,6 +6510,8 @@ self: super: with self; { kconfiglib = callPackage ../development/python-modules/kconfiglib { }; + kde-material-you-colors = callPackage ../development/python-modules/kde-material-you-colors { }; + keba-kecontact = callPackage ../development/python-modules/keba-kecontact { }; keep = callPackage ../development/python-modules/keep { }; From 9816ee4d4b43b3f9cbcffd1c48a9a1c58b7e6f69 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 21 Aug 2024 18:58:33 +0200 Subject: [PATCH 29/35] python312Packages.pyopengltk: init at 0.0.4 --- .../python-modules/pyopengltk/default.nix | 51 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 53 insertions(+) create mode 100644 pkgs/development/python-modules/pyopengltk/default.nix diff --git a/pkgs/development/python-modules/pyopengltk/default.nix b/pkgs/development/python-modules/pyopengltk/default.nix new file mode 100644 index 000000000000..2f0440d83daf --- /dev/null +++ b/pkgs/development/python-modules/pyopengltk/default.nix @@ -0,0 +1,51 @@ +{ + stdenv, + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + pyopengl, + writers, + tkinter, + pyopengltk, +}: + +buildPythonPackage rec { + pname = "pyopengltk"; + version = "0.0.4"; + pyproject = true; + + src = fetchFromGitHub { + owner = "jonwright"; + repo = "pyopengltk"; + rev = "dbed7b7d01cc5a90fd3e79769259b1dc0894b673"; # there is no tag + hash = "sha256-hQoTj8h/L5VZgmq7qgRImLBKZMecrilyir5Ar6ne4S0="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + pyopengl + tkinter + ]; + + doCheck = false; + + pythonImportsCheck = [ "pyopengltk" ]; + + passthru.tests = { + cube = writers.writePython3 "cube" { + libraries = [ pyopengltk ]; + doCheck = false; + } (builtins.readFile "${src}/examples/cube.py"); + }; + + meta = { + description = "OpenGL frame for Python/Tkinter via ctypes and pyopengl"; + homepage = "https://github.com/jonwright/pyopengltk"; + maintainers = with lib.maintainers; [ sigmanificient ]; + license = lib.licenses.mit; + # not supported yet, see: https://github.com/jonwright/pyopengltk/issues/12 + broken = stdenv.isDarwin; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9092d301e532..a343766901d4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11992,6 +11992,8 @@ self: super: with self; { pyopengl-accelerate = callPackage ../development/python-modules/pyopengl-accelerate { }; + pyopengltk = callPackage ../development/python-modules/pyopengltk { }; + pyopenssl = callPackage ../development/python-modules/pyopenssl { }; pyopenuv = callPackage ../development/python-modules/pyopenuv { }; From 62fa341dba29aae3e253f571992eb109cb2c57fa Mon Sep 17 00:00:00 2001 From: Aidan Gauland Date: Tue, 20 Aug 2024 21:19:41 +1200 Subject: [PATCH 30/35] oama: init at 0.14 --- pkgs/by-name/oa/oama/generated-package.nix | 94 ++++++++++++++++++++++ pkgs/by-name/oa/oama/package.nix | 29 +++++++ pkgs/by-name/oa/oama/update.sh | 22 +++++ 3 files changed, 145 insertions(+) create mode 100644 pkgs/by-name/oa/oama/generated-package.nix create mode 100644 pkgs/by-name/oa/oama/package.nix create mode 100755 pkgs/by-name/oa/oama/update.sh diff --git a/pkgs/by-name/oa/oama/generated-package.nix b/pkgs/by-name/oa/oama/generated-package.nix new file mode 100644 index 000000000000..f024cc98466d --- /dev/null +++ b/pkgs/by-name/oa/oama/generated-package.nix @@ -0,0 +1,94 @@ +# This file has been autogenerate with cabal2nix. +# Update via ./update.sh +{ + mkDerivation, + aeson, + base, + bytestring, + containers, + directory, + fetchgit, + hsyslog, + http-conduit, + lib, + mtl, + network, + network-uri, + optparse-applicative, + pretty-simple, + process, + streaming-commons, + string-qq, + strings, + text, + time, + twain, + unix, + utf8-string, + warp, + yaml, +}: +mkDerivation { + pname = "oama"; + version = "0.14"; + src = fetchgit { + url = "https://github.com/pdobsan/oama.git"; + sha256 = "1hdhkc6hh4nvx31vkaii7hd2rxlwqrsvr6i1i0a9r1xlda05ffq0"; + rev = "4e1ffd3001034771d284678f0160060c1871707c"; + fetchSubmodules = true; + }; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson + base + bytestring + containers + directory + hsyslog + http-conduit + mtl + network + network-uri + optparse-applicative + pretty-simple + process + streaming-commons + string-qq + strings + text + time + twain + unix + utf8-string + warp + yaml + ]; + executableHaskellDepends = [ + aeson + base + bytestring + containers + directory + hsyslog + http-conduit + mtl + network + network-uri + optparse-applicative + pretty-simple + process + streaming-commons + string-qq + strings + text + time + twain + unix + utf8-string + warp + yaml + ]; + license = lib.licenses.bsd3; + mainProgram = "oama"; +} diff --git a/pkgs/by-name/oa/oama/package.nix b/pkgs/by-name/oa/oama/package.nix new file mode 100644 index 000000000000..c408ef4e87f8 --- /dev/null +++ b/pkgs/by-name/oa/oama/package.nix @@ -0,0 +1,29 @@ +{ + haskell, + haskellPackages, + lib, +}: +let + inherit (haskell.lib.compose) overrideCabal justStaticExecutables; + + overrides = { + description = "OAuth credential MAnager"; + homepage = "https://github.com/pdobsan/oama"; + maintainers = with lib.maintainers; [ aidalgol ]; + + passthru.updateScript = ./update.sh; + }; + + raw-pkg = (haskellPackages.callPackage ./generated-package.nix { }).overrideScope ( + final: prev: { + # Dependency twain requires an older version of http2, and we cannot mix + # versions of transitive dependencies. + http2 = final.http2_3_0_3; + warp = final.warp_3_3_30; + } + ); +in +lib.pipe raw-pkg [ + (overrideCabal overrides) + justStaticExecutables +] diff --git a/pkgs/by-name/oa/oama/update.sh b/pkgs/by-name/oa/oama/update.sh new file mode 100755 index 000000000000..60d1c74cbca1 --- /dev/null +++ b/pkgs/by-name/oa/oama/update.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p cabal2nix curl jq nixfmt-rfc-style + +set -euo pipefail + +# This is the directory of this update.sh script. +script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" +derivation_file="${script_dir}/generated-package.nix" +latest_version="$(curl --silent https://api.github.com/repos/pdobsan/oama/releases/latest | jq --raw-output '.tag_name')" + +echo "Updating oama to version ${latest_version}." +echo "Running cabal2nix and outputting to ${derivation_file}..." + +cat > "${derivation_file}" << EOF +# This file has been autogenerate with cabal2nix. +# Update via ./update.sh +EOF + +cabal2nix --revision "${latest_version}" https://github.com/pdobsan/oama.git >> "${derivation_file}" +nixfmt "${derivation_file}" + +echo "Finished." From fc086f122c34e8937bc127bcea948a75983d8a82 Mon Sep 17 00:00:00 2001 From: Aidan Gauland Date: Tue, 20 Aug 2024 08:29:18 +1200 Subject: [PATCH 31/35] mailctl: remove --- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 7 ------- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 694dd8bd6f88..3b94e7031a2f 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -921,6 +921,7 @@ mapAliases ({ ma1sd = throw "ma1sd was dropped as it is unmaintained"; # Added 2024-07-10 MACS2 = macs2; # Added 2023-06-12 + mailctl = throw "mailctl has been renamed to oama"; # Added 2024-08-19 mailman-rss = throw "The mailman-rss package was dropped since it was unmaintained."; # Added 2024-06-21 mariadb_104 = throw "mariadb_104 has been removed from nixpkgs, please switch to another version like mariadb_106"; # Added 2023-09-11 mariadb_1010 = throw "mariadb_1010 has been removed from nixpkgs, please switch to another version like mariadb_1011"; # Added 2023-11-14 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 879a3f82cd38..b5498795f377 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2644,13 +2644,6 @@ with pkgs; mainsail = callPackage ../applications/misc/mainsail { }; - mailctl = (haskellPackages.callPackage ../tools/networking/mailctl {}).overrideScope (final: prev: { - # Dependency twain requires an older version of http2, and we cannot mix - # versions of transitive dependencies. - http2 = final.http2_3_0_3; - warp = final.warp_3_3_30; - }); - mame = libsForQt5.callPackage ../applications/emulators/mame { }; mame-tools = lib.addMetaAttrs { From 5b914f70e9faf3b8a32c1c291ee9435262c4c92a Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sat, 24 Aug 2024 03:02:19 +0200 Subject: [PATCH 32/35] music-assistant: 2.2.0 -> 2.2.2 https://github.com/music-assistant/server/releases/tag/2.2.1 https://github.com/music-assistant/server/releases/tag/2.2.2 --- pkgs/by-name/mu/music-assistant/frontend.nix | 4 ++-- pkgs/by-name/mu/music-assistant/package.nix | 4 ++-- pkgs/by-name/mu/music-assistant/providers.nix | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/mu/music-assistant/frontend.nix b/pkgs/by-name/mu/music-assistant/frontend.nix index cd7c6793b5f2..6b06397a5dbe 100644 --- a/pkgs/by-name/mu/music-assistant/frontend.nix +++ b/pkgs/by-name/mu/music-assistant/frontend.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "music-assistant-frontend"; - version = "2.8.7"; + version = "2.8.9"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-L7ASmYtJja+Hy4MnGrNWIwSjvhfq2iXfWm4gGKAnEec="; + hash = "sha256-vXdBqMe5+GfB2D9G1YceUJ0ksqQAtUktpYrJgDZcBGU="; }; postPatch = '' diff --git a/pkgs/by-name/mu/music-assistant/package.nix b/pkgs/by-name/mu/music-assistant/package.nix index 73845eec3bc4..531e0b00a215 100644 --- a/pkgs/by-name/mu/music-assistant/package.nix +++ b/pkgs/by-name/mu/music-assistant/package.nix @@ -24,14 +24,14 @@ in python.pkgs.buildPythonApplication rec { pname = "music-assistant"; - version = "2.2.0"; + version = "2.2.2"; pyproject = true; src = fetchFromGitHub { owner = "music-assistant"; repo = "server"; rev = "refs/tags/${version}"; - hash = "sha256-GQvbkdyybJ3X09fCKwu+iZvq7UdHIMzCpYjenGg/zQA="; + hash = "sha256-7PIyo3srKwftakDiaxvZjrzo/1I9LGUwG+QGfIU5pRA="; }; patches = [ diff --git a/pkgs/by-name/mu/music-assistant/providers.nix b/pkgs/by-name/mu/music-assistant/providers.nix index 4e50e3fcf045..3fa13fe8b57c 100644 --- a/pkgs/by-name/mu/music-assistant/providers.nix +++ b/pkgs/by-name/mu/music-assistant/providers.nix @@ -1,7 +1,7 @@ # Do not edit manually, run ./update-providers.py { - version = "2.2.0"; + version = "2.2.2"; providers = { airplay = [ ]; From 9fb8100e85ab2783a13a2d77b194be0aa496958b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 23 Aug 2024 18:38:41 -0700 Subject: [PATCH 33/35] python312Packages.keyrings-alt: 5.0.1 -> 5.0.2 Diff: https://github.com/jaraco/keyrings.alt/compare/refs/tags/v5.0.1...v5.0.2 Changelog: https://github.com/jaraco/keyrings.alt/blob/v5.0.2/NEWS.rst --- .../python-modules/keyrings-alt/default.nix | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/keyrings-alt/default.nix b/pkgs/development/python-modules/keyrings-alt/default.nix index b129e8083b52..61d360020497 100644 --- a/pkgs/development/python-modules/keyrings-alt/default.nix +++ b/pkgs/development/python-modules/keyrings-alt/default.nix @@ -1,7 +1,7 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, jaraco-classes, jaraco-context, keyring, @@ -12,20 +12,21 @@ buildPythonPackage rec { pname = "keyrings-alt"; - version = "5.0.1"; - format = "pyproject"; + version = "5.0.2"; + pyproject = true; disabled = pythonOlder "3.8"; - src = fetchPypi { - pname = "keyrings.alt"; - inherit version; - hash = "sha256-zTcqHsRGobxakGJKUsiOg7kzAhjjkEemyaSK430RZ0U="; + src = fetchFromGitHub { + owner = "jaraco"; + repo = "keyrings.alt"; + rev = "refs/tags/v${version}"; + hash = "sha256-m/hIXjri3FZ3rPIymiIBy8cKNOwJoj14WjsOyDtcWmU="; }; - nativeBuildInputs = [ setuptools-scm ]; + build-system = [ setuptools-scm ]; - propagatedBuildInputs = [ + dependencies = [ jaraco-classes jaraco-context ]; From fcfb3a1106c37d2dc55322b1f01d6d8a8f97d71f Mon Sep 17 00:00:00 2001 From: Andrew Kvalheim Date: Fri, 23 Aug 2024 18:45:48 -0700 Subject: [PATCH 34/35] gcalcli: normalize source MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Robert Schütz --- pkgs/applications/misc/gcalcli/default.nix | 23 +++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/pkgs/applications/misc/gcalcli/default.nix b/pkgs/applications/misc/gcalcli/default.nix index 759d4983921e..6a55f0ff7420 100644 --- a/pkgs/applications/misc/gcalcli/default.nix +++ b/pkgs/applications/misc/gcalcli/default.nix @@ -2,29 +2,30 @@ stdenv, lib, fetchFromGitHub, - python3, - libnotify ? null, + python3Packages, + libnotify, }: -with python3.pkgs; - -buildPythonApplication rec { +python3Packages.buildPythonApplication rec { pname = "gcalcli"; version = "4.3.0"; + pyproject = true; src = fetchFromGitHub { owner = "insanum"; - repo = pname; - rev = "v${version}"; - sha256 = "0s5fhcmz3n0dwh3vkqr4aigi59q43v03ch5jhh6v75149icwr0df"; + repo = "gcalcli"; + rev = "refs/tags/v${version}"; + hash = "sha256-roHMWUwklLMNhLJANsAeBKcSX1Qk47kH5A3Y8SuDrmg="; }; postPatch = lib.optionalString stdenv.isLinux '' substituteInPlace gcalcli/argparsers.py \ - --replace "'notify-send" "'${libnotify}/bin/notify-send" + --replace-fail "'notify-send" "'${lib.getExe libnotify}" ''; - propagatedBuildInputs = [ + build-system = with python3Packages; [ setuptools ]; + + dependencies = with python3Packages; [ python-dateutil gflags httplib2 @@ -37,7 +38,7 @@ buildPythonApplication rec { libnotify ]; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = with python3Packages; [ pytestCheckHook ]; meta = with lib; { description = "CLI for Google Calendar"; From 0b6fa5ee40c14df33494d4ed9da1251e872fb0c2 Mon Sep 17 00:00:00 2001 From: Gabriella Gonzalez Date: Sat, 24 Aug 2024 04:38:27 +0200 Subject: [PATCH 35/35] virtualisation.oci-containers: Add new `imageStream` option (#335430) This adds a new `imageStream` option that can be used in conjunction with `pkgs.dockerTools.streamLayeredImage` so that the image archive never needs to be materialized in the `/nix/store`. This greatly improves the disk utilization for systems that use container images built using Nix because they only need to store image layers instead of the full image. Additionally, when deploying the new system and only new layers need to be built/copied. --- .../modules/virtualisation/oci-containers.nix | 39 +++++++- nixos/tests/cntr.nix | 2 +- nixos/tests/oci-containers.nix | 2 +- nixos/tests/traefik.nix | 2 +- pkgs/build-support/docker/examples.nix | 94 ++++++++++--------- 5 files changed, 88 insertions(+), 51 deletions(-) diff --git a/nixos/modules/virtualisation/oci-containers.nix b/nixos/modules/virtualisation/oci-containers.nix index bf982ba0d7e2..161b4f6027b2 100644 --- a/nixos/modules/virtualisation/oci-containers.nix +++ b/nixos/modules/virtualisation/oci-containers.nix @@ -33,6 +33,25 @@ let example = literalExpression "pkgs.dockerTools.buildImage {...};"; }; + imageStream = mkOption { + type = with types; nullOr package; + default = null; + description = '' + Path to a script that streams the desired image on standard output. + + This option is mainly intended for use with + `pkgs.dockerTools.streamLayeredImage` so that the intermediate + image archive does not need to be stored in the Nix store. For + larger images this optimization can significantly reduce Nix store + churn compared to using the `imageFile` option, because you don't + have to store a new copy of the image archive in the Nix store + every time you change the image. Instead, if you stream the image + then you only need to build and store the layers that differ from + the previous image. + ''; + example = literalExpression "pkgs.dockerTools.streamLayeredImage {...};"; + }; + login = { username = mkOption { @@ -275,6 +294,9 @@ let ${optionalString (container.imageFile != null) '' ${cfg.backend} load -i ${container.imageFile} ''} + ${optionalString (container.imageStream != null) '' + ${container.imageStream} | ${cfg.backend} load + ''} ${optionalString (cfg.backend == "podman") '' rm -f /run/podman-${escapedName}.ctr-id ''} @@ -282,10 +304,10 @@ let }; in { wantedBy = [] ++ optional (container.autoStart) "multi-user.target"; - wants = lib.optional (container.imageFile == null) "network-online.target"; + wants = lib.optional (container.imageFile == null && container.imageStream == 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" ] + # if imageFile or imageStream is not set, the service needs the network to download the image from the registry + ++ lib.optionals (container.imageFile == null && container.imageStream == null) [ "network-online.target" ] ++ dependsOn; requires = dependsOn; environment = proxy_env; @@ -393,6 +415,17 @@ in { config = lib.mkIf (cfg.containers != {}) (lib.mkMerge [ { systemd.services = mapAttrs' (n: v: nameValuePair "${cfg.backend}-${n}" (mkService n v)) cfg.containers; + + assertions = + let + toAssertion = _: { imageFile, imageStream, ... }: + { assertion = imageFile == null || imageStream == null; + + message = "You can only define one of imageFile and imageStream"; + }; + + in + lib.mapAttrsToList toAssertion cfg.containers; } (lib.mkIf (cfg.backend == "podman") { virtualisation.podman.enable = true; diff --git a/nixos/tests/cntr.nix b/nixos/tests/cntr.nix index 598143beb6c0..2166fb8f9b09 100644 --- a/nixos/tests/cntr.nix +++ b/nixos/tests/cntr.nix @@ -18,7 +18,7 @@ let inherit backend; containers.nginx = { image = "nginx-container"; - imageFile = pkgs.dockerTools.examples.nginx; + imageStream = pkgs.dockerTools.examples.nginxStream; ports = [ "8181:80" ]; }; }; diff --git a/nixos/tests/oci-containers.nix b/nixos/tests/oci-containers.nix index 1f8e276204a8..9adceb11f18c 100644 --- a/nixos/tests/oci-containers.nix +++ b/nixos/tests/oci-containers.nix @@ -20,7 +20,7 @@ let inherit backend; containers.nginx = { image = "nginx-container"; - imageFile = pkgs.dockerTools.examples.nginx; + imageStream = pkgs.dockerTools.examples.nginxStream; ports = ["8181:80"]; }; }; diff --git a/nixos/tests/traefik.nix b/nixos/tests/traefik.nix index ce808e6ec95a..f26b79a0fa4d 100644 --- a/nixos/tests/traefik.nix +++ b/nixos/tests/traefik.nix @@ -23,7 +23,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { "traefik.http.routers.nginx.rule=Host(`nginx.traefik.test`)" ]; image = "nginx-container"; - imageFile = pkgs.dockerTools.examples.nginx; + imageStream = pkgs.dockerTools.examples.nginxStream; }; }; diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix index 8717259cd189..af8be8d79f24 100644 --- a/pkgs/build-support/docker/examples.nix +++ b/pkgs/build-support/docker/examples.nix @@ -17,6 +17,52 @@ let }; evalMinimalConfig = module: nixosLib.evalModules { modules = [ module ]; }; + nginxArguments = let + nginxPort = "80"; + nginxConf = pkgs.writeText "nginx.conf" '' + user nobody nobody; + daemon off; + error_log /dev/stdout info; + pid /dev/null; + events {} + http { + access_log /dev/stdout; + server { + listen ${nginxPort}; + index index.html; + location / { + root ${nginxWebRoot}; + } + } + } + ''; + nginxWebRoot = pkgs.writeTextDir "index.html" '' +

Hello from NGINX

+ ''; + in + { name = "nginx-container"; + tag = "latest"; + contents = [ + fakeNss + pkgs.nginx + ]; + + extraCommands = '' + mkdir -p tmp/nginx_client_body + + # nginx still tries to read this directory even if error_log + # directive is specifying another file :/ + mkdir -p var/log/nginx + ''; + + config = { + Cmd = [ "nginx" "-c" nginxConf ]; + ExposedPorts = { + "${nginxPort}/tcp" = {}; + }; + }; + }; + in rec { @@ -60,52 +106,10 @@ rec { }; # 3. another service example - nginx = let - nginxPort = "80"; - nginxConf = pkgs.writeText "nginx.conf" '' - user nobody nobody; - daemon off; - error_log /dev/stdout info; - pid /dev/null; - events {} - http { - access_log /dev/stdout; - server { - listen ${nginxPort}; - index index.html; - location / { - root ${nginxWebRoot}; - } - } - } - ''; - nginxWebRoot = pkgs.writeTextDir "index.html" '' -

Hello from NGINX

- ''; - in - buildLayeredImage { - name = "nginx-container"; - tag = "latest"; - contents = [ - fakeNss - pkgs.nginx - ]; + nginx = buildLayeredImage nginxArguments; - extraCommands = '' - mkdir -p tmp/nginx_client_body - - # nginx still tries to read this directory even if error_log - # directive is specifying another file :/ - mkdir -p var/log/nginx - ''; - - config = { - Cmd = [ "nginx" "-c" nginxConf ]; - ExposedPorts = { - "${nginxPort}/tcp" = {}; - }; - }; - }; + # Used to demonstrate how virtualisation.oci-containers.imageStream works + nginxStream = pkgs.dockerTools.streamLayeredImage nginxArguments; # 4. example of pulling an image. could be used as a base for other images nixFromDockerHub = pullImage {