···1-import ./make-test-python.nix (
2- { lib, ... }:
3- {
4- name = "homepage-dashboard";
5- meta.maintainers = with lib.maintainers; [ jnsgruk ];
67- nodes.machine = _: {
8- services.homepage-dashboard = {
9- enable = true;
10- settings.title = "test title rodUsEagid"; # something random/unique
11- };
12 };
01314- testScript = ''
15- # Ensure the services are started on managed machine
16- machine.wait_for_unit("homepage-dashboard.service")
17- machine.wait_for_open_port(8082)
18- machine.succeed("curl --fail http://localhost:8082/")
1920- # Ensure /etc/homepage-dashboard is created.
21- machine.succeed("test -d /etc/homepage-dashboard")
2223- # Ensure that we see the custom title *only in the managed config*
24- page = machine.succeed("curl --fail http://localhost:8082/")
25- assert "test title rodUsEagid" in page, "Custom title not found"
26- '';
27- }
28-)
···1+{ lib, ... }:
2+{
3+ name = "homepage-dashboard";
4+ meta.maintainers = with lib.maintainers; [ jnsgruk ];
056+ nodes.machine = _: {
7+ services.homepage-dashboard = {
8+ enable = true;
9+ settings.title = "test title rodUsEagid"; # something random/unique
010 };
11+ };
1213+ testScript = ''
14+ # Ensure the services are started on managed machine
15+ machine.wait_for_unit("homepage-dashboard.service")
16+ machine.wait_for_open_port(8082)
17+ machine.succeed("curl --fail http://localhost:8082/")
1819+ # Ensure /etc/homepage-dashboard is created.
20+ machine.succeed("test -d /etc/homepage-dashboard")
2122+ # Ensure that we see the custom title *only in the managed config*
23+ page = machine.succeed("curl --fail http://localhost:8082/")
24+ assert "test title rodUsEagid" in page, "Custom title not found"
25+ '';
26+}
0
+4
nixos/tests/incus/ui.nix
···6667 testScript = ''
68 machine.wait_for_unit("incus.service")
06970 # Check that the INCUS_UI environment variable is populated in the systemd unit
71 machine.succeed("systemctl cat incus.service | grep 'INCUS_UI'")
7273 # Ensure the endpoint returns an HTML page with 'Incus UI' in the title
74 machine.succeed("curl -kLs https://localhost:8443/ui | grep '<title>Incus UI</title>'")
0007576 # Ensure the application is actually rendered by the Javascript
77 machine.succeed("PYTHONUNBUFFERED=1 selenium-script")
···6667 testScript = ''
68 machine.wait_for_unit("incus.service")
69+ machine.wait_for_unit("incus-preseed.service")
7071 # Check that the INCUS_UI environment variable is populated in the systemd unit
72 machine.succeed("systemctl cat incus.service | grep 'INCUS_UI'")
7374 # Ensure the endpoint returns an HTML page with 'Incus UI' in the title
75 machine.succeed("curl -kLs https://localhost:8443/ui | grep '<title>Incus UI</title>'")
76+77+ # Ensure the documentation is rendering correctly
78+ machine.succeed("curl -kLs https://localhost:8443/documentation/ | grep '<title>Incus documentation</title>'")
7980 # Ensure the application is actually rendered by the Javascript
81 machine.succeed("PYTHONUNBUFFERED=1 selenium-script")
+5
nixos/tests/installer.nix
···638 clevisTest ? false,
639 clevisFallbackTest ? false,
640 disableFileSystems ? false,
0641 }:
642 let
643 isEfi = bootLoader == "systemd-boot" || (bootLoader == "grub" && grubUseEfi);
···701 virtualisation.rootDevice = "/dev/vdb";
702703 hardware.enableAllFirmware = mkForce false;
0704705 # The test cannot access the network, so any packages we
706 # need must be included in the VM.
···1101 # The (almost) simplest partitioning scheme: a swap partition and
1102 # one big filesystem partition.
1103 simple = makeInstallerTest "simple" simple-test-config;
00011041105 switchToFlake = makeInstallerTest "switch-to-flake" simple-test-config-flake;
1106
···638 clevisTest ? false,
639 clevisFallbackTest ? false,
640 disableFileSystems ? false,
641+ selectNixPackage ? pkgs: pkgs.nixStable,
642 }:
643 let
644 isEfi = bootLoader == "systemd-boot" || (bootLoader == "grub" && grubUseEfi);
···702 virtualisation.rootDevice = "/dev/vdb";
703704 hardware.enableAllFirmware = mkForce false;
705+ nix.package = selectNixPackage pkgs;
706707 # The test cannot access the network, so any packages we
708 # need must be included in the VM.
···1103 # The (almost) simplest partitioning scheme: a swap partition and
1104 # one big filesystem partition.
1105 simple = makeInstallerTest "simple" simple-test-config;
1106+ lix-simple = makeInstallerTest "simple" simple-test-config // {
1107+ selectNixPackage = pkgs: pkgs.lix;
1108+ };
11091110 switchToFlake = makeInstallerTest "switch-to-flake" simple-test-config-flake;
1111
···17 pkg-config,
18 ninja,
19 cmake,
20- clang-tools,
21}:
2223stdenv.mkDerivation {
···35 ninja
36 # nlohmann_json can be only discovered via cmake files
37 cmake
38- ] ++ (lib.optional stdenv.cc.isClang [ clang-tools ]);
3940 # point 'nix edit' and ofborg at the file that defines the attribute,
41 # not this common file.
···52 license = lib.licenses.gpl3;
53 inherit maintainers;
54 platforms = lib.platforms.unix;
055 };
56}
···17 pkg-config,
18 ninja,
19 cmake,
20+ buildPackages,
21}:
2223stdenv.mkDerivation {
···35 ninja
36 # nlohmann_json can be only discovered via cmake files
37 cmake
38+ ] ++ (lib.optional stdenv.cc.isClang [ buildPackages.clang-tools ]);
3940 # point 'nix edit' and ofborg at the file that defines the attribute,
41 # not this common file.
···52 license = lib.licenses.gpl3;
53 inherit maintainers;
54 platforms = lib.platforms.unix;
55+ broken = stdenv.hostPlatform.isStatic;
56 };
57}
+52-4
pkgs/tools/package-management/lix/default.nix
···8 rustPlatform,
9 Security,
10 newScope,
00001112 storeDir ? "/nix/store",
13 stateDir ? "/nix/var",
···19 lix-args,
20 nix-eval-jobs-args,
21 }:
000022 lib.makeScope newScope (
23 self:
24 lib.recurseIntoAttrs {
···58 requiredSystemFeatures = [ ];
59 };
600000061 # NOTE: The `common-*.nix` helpers contain a top-level function which
62 # takes the Lix source to build and version information. We use the
63 # outer `callPackage` for that.
···65 # That *returns* another function which takes the actual build
66 # dependencies, and that uses the new scope's `self.callPackage` so
67 # that `nix-eval-jobs` can be built against the correct `lix` version.
68- lix = self.callPackage (callPackage ./common-lix.nix lix-args) { };
006970- nix-eval-jobs = self.callPackage (callPackage ./common-nix-eval-jobs.nix nix-eval-jobs-args) { };
0071 }
72 );
73-74in
75lib.makeExtensible (self: {
76 inherit makeLixScope;
···135 };
136 };
137138- latest = self.lix_2_91;
00000000000000000000000000000000139 stable = self.lix_2_91;
140141 # Previously, `nix-eval-jobs` was not packaged here, so we export an
···8 rustPlatform,
9 Security,
10 newScope,
11+ editline,
12+ ncurses,
13+ stdenv,
14+ clangStdenv,
1516 storeDir ? "/nix/store",
17 stateDir ? "/nix/var",
···23 lix-args,
24 nix-eval-jobs-args,
25 }:
26+ let
27+ # GCC 13.2 is known to miscompile Lix coroutines (introduced in 2.92).
28+ lixStdenv = if lib.versionAtLeast lix-args.version "2.92" then clangStdenv else stdenv;
29+ in
30 lib.makeScope newScope (
31 self:
32 lib.recurseIntoAttrs {
···66 requiredSystemFeatures = [ ];
67 };
6869+ editline = editline.override {
70+ inherit ncurses;
71+ enableTermcap = true;
72+ };
73+74 # NOTE: The `common-*.nix` helpers contain a top-level function which
75 # takes the Lix source to build and version information. We use the
76 # outer `callPackage` for that.
···78 # That *returns* another function which takes the actual build
79 # dependencies, and that uses the new scope's `self.callPackage` so
80 # that `nix-eval-jobs` can be built against the correct `lix` version.
81+ lix = self.callPackage (callPackage ./common-lix.nix lix-args) {
82+ stdenv = lixStdenv;
83+ };
8485+ nix-eval-jobs = self.callPackage (callPackage ./common-nix-eval-jobs.nix nix-eval-jobs-args) {
86+ stdenv = lixStdenv;
87+ };
88 }
89 );
090in
91lib.makeExtensible (self: {
92 inherit makeLixScope;
···151 };
152 };
153154+ lix_2_92 = self.makeLixScope {
155+ lix-args = rec {
156+ version = "2.92.0";
157+158+ src = fetchFromGitHub {
159+ owner = "lix-project";
160+ repo = "lix";
161+ rev = version;
162+ hash = "sha256-CCKIAE84dzkrnlxJCKFyffAxP3yfsOAbdvydUGqq24g=";
163+ };
164+165+ cargoDeps = rustPlatform.fetchCargoVendor {
166+ name = "lix-${version}";
167+ inherit src;
168+ allowGitDependencies = false;
169+ hash = "sha256-YMyNOXdlx0I30SkcmdW/6DU0BYc3ZOa2FMJSKMkr7I8=";
170+ };
171+ };
172+173+ nix-eval-jobs-args = rec {
174+ version = "2.92.0";
175+ src = fetchgit {
176+ url = "https://git.lix.systems/lix-project/nix-eval-jobs.git";
177+ rev = version;
178+ hash = "sha256-tPr61X9v/OMVt7VXOs1RRStciwN8gDGxEKx+h0/Fg48=";
179+ };
180+ };
181+ };
182+183+ latest = self.lix_2_92;
184+185+ # Note: This is not yet 2.92 because of a non-deterministic `curl` error.
186+ # See: https://git.lix.systems/lix-project/lix/issues/662
187 stable = self.lix_2_91;
188189 # Previously, `nix-eval-jobs` was not packaged here, so we export an
+2
pkgs/top-level/aliases.nix
···580 erlangR26_javac = throw "erlangR26_javac has been removed in favor of erlang_26_javac"; # added 2024-05-24
581 erlangR26_odbc_javac = throw "erlangR26_odbc_javac has been removed in favor of erlang_26_odbc_javac"; # added 2024-05-24
58200583 ethabi = throw "ethabi has been removed due to lack of maintainence upstream and no updates in Nixpkgs"; # Added 2024-07-16
584 eww-wayland = lib.warnOnInstantiate "eww now can build for X11 and wayland simultaneously, so `eww-wayland` is deprecated, use the normal `eww` package instead." eww;
585
···580 erlangR26_javac = throw "erlangR26_javac has been removed in favor of erlang_26_javac"; # added 2024-05-24
581 erlangR26_odbc_javac = throw "erlangR26_odbc_javac has been removed in favor of erlang_26_odbc_javac"; # added 2024-05-24
582583+ erlang_language_platform = throw "erlang_language_platform has been renamed erlang-language-platform"; # added 2025-04-04
584+585 ethabi = throw "ethabi has been removed due to lack of maintainence upstream and no updates in Nixpkgs"; # Added 2024-07-16
586 eww-wayland = lib.warnOnInstantiate "eww now can build for X11 and wayland simultaneously, so `eww-wayland` is deprecated, use the normal `eww` package instead." eww;
587
-14
pkgs/top-level/all-packages.nix
···2627 throw "mesonEmulatorHook may only be added to nativeBuildInputs when the target binaries can't be executed; however you are attempting to use it in a situation where ${stdenv.hostPlatform.config} can execute ${stdenv.targetPlatform.config}. Consider only adding mesonEmulatorHook according to a conditional based canExecute in your package expression."
2628 );
26292630- metabase = callPackage ../servers/metabase {
2631- jdk11 = jdk11_headless;
2632- };
2633-2634 mkspiffs = callPackage ../tools/filesystems/mkspiffs { };
26352636 mkspiffs-presets = recurseIntoAttrs (callPackages ../tools/filesystems/mkspiffs/presets.nix { });
···7427 beamMinimal27Packages = recurseIntoAttrs beam_minimal.packages.erlang_27.beamPackages;
7428 # 28 is pre-release
7429 beamMinimal28Packages = dontRecurseIntoAttrs beam_minimal.packages.erlang_28.beamPackages;
7430-7431- erlang_language_platform = callPackage ../by-name/er/erlang-language-platform/package.nix { };
74327433 gnudatalanguage = callPackage ../development/interpreters/gnudatalanguage {
7434 inherit (llvmPackages) openmp;
···15592 roxctl = callPackage ../applications/networking/cluster/roxctl {
15593 };
1559415595- rssguard = libsForQt5.callPackage ../applications/networking/feedreaders/rssguard { };
15596-15597 scx = recurseIntoAttrs (callPackage ../os-specific/linux/scx { });
1559815599 shogun = callPackage ../applications/science/machine-learning/shogun {
···17220 };
1722117222 fmodex = callPackage ../games/doom-ports/zandronum/fmod.nix { };
17223-17224- doom-bcc = callPackage ../games/doom-ports/zdoom/bcc-git.nix { };
17225-17226- zdbsp = callPackage ../games/doom-ports/zdoom/zdbsp.nix { };
17227-17228- zdoom = callPackage ../games/doom-ports/zdoom { };
1722917230 pro-office-calculator = libsForQt5.callPackage ../games/pro-office-calculator { };
17231
···2627 throw "mesonEmulatorHook may only be added to nativeBuildInputs when the target binaries can't be executed; however you are attempting to use it in a situation where ${stdenv.hostPlatform.config} can execute ${stdenv.targetPlatform.config}. Consider only adding mesonEmulatorHook according to a conditional based canExecute in your package expression."
2628 );
262900002630 mkspiffs = callPackage ../tools/filesystems/mkspiffs { };
26312632 mkspiffs-presets = recurseIntoAttrs (callPackages ../tools/filesystems/mkspiffs/presets.nix { });
···7423 beamMinimal27Packages = recurseIntoAttrs beam_minimal.packages.erlang_27.beamPackages;
7424 # 28 is pre-release
7425 beamMinimal28Packages = dontRecurseIntoAttrs beam_minimal.packages.erlang_28.beamPackages;
0074267427 gnudatalanguage = callPackage ../development/interpreters/gnudatalanguage {
7428 inherit (llvmPackages) openmp;
···15586 roxctl = callPackage ../applications/networking/cluster/roxctl {
15587 };
155880015589 scx = recurseIntoAttrs (callPackage ../os-specific/linux/scx { });
1559015591 shogun = callPackage ../applications/science/machine-learning/shogun {
···17212 };
1721317214 fmodex = callPackage ../games/doom-ports/zandronum/fmod.nix { };
0000001721517216 pro-office-calculator = libsForQt5.callPackage ../games/pro-office-calculator { };
17217