···356 </listitem>
357 <listitem>
358 <para>
000000000359 The <literal>nix.readOnlyStore</literal> option has been
360 renamed to <literal>boot.readOnlyNixStore</literal> to clarify
361 that it configures the NixOS boot process, not the Nix daemon.
···356 </listitem>
357 <listitem>
358 <para>
359+ The <literal>--target-host</literal> and
360+ <literal>--build-host</literal> options of
361+ <literal>nixos-rebuild</literal> no longer treat the
362+ <literal>localhost</literal> value specially – to build
363+ on/deploy to local machine, omit the relevant flag.
364+ </para>
365+ </listitem>
366+ <listitem>
367+ <para>
368 The <literal>nix.readOnlyStore</literal> option has been
369 renamed to <literal>boot.readOnlyNixStore</literal> to clarify
370 that it configures the NixOS boot process, not the Nix daemon.
+3-3
nixos/doc/manual/man-nixos-rebuild.xml
···583 <listitem>
584 <para>
585 Specifies the NixOS target host. By setting this to something other than
586- <replaceable>localhost</replaceable>, the system activation will happen
587 on the remote host instead of the local machine. The remote host needs to
588 be accessible over ssh, and for the commands <option>switch</option>,
589 <option>boot</option> and <option>test</option> you need root access.
590 </para>
591592 <para>
593- If <option>--build-host</option> is not explicitly specified, building
594- will take place locally.
595 </para>
596597 <para>
···583 <listitem>
584 <para>
585 Specifies the NixOS target host. By setting this to something other than
586+ an empty string, the system activation will happen
587 on the remote host instead of the local machine. The remote host needs to
588 be accessible over ssh, and for the commands <option>switch</option>,
589 <option>boot</option> and <option>test</option> you need root access.
590 </para>
591592 <para>
593+ If <option>--build-host</option> is not explicitly specified or empty,
594+ building will take place locally.
595 </para>
596597 <para>
+2
nixos/doc/manual/release-notes/rl-2305.section.md
···8788- In `mastodon` it is now necessary to specify location of file with `PostgreSQL` database password. In `services.mastodon.database.passwordFile` parameter default value `/var/lib/mastodon/secrets/db-password` has been changed to `null`.
890090- The `nix.readOnlyStore` option has been renamed to `boot.readOnlyNixStore` to clarify that it configures the NixOS boot process, not the Nix daemon.
9192- Deprecated `xlibsWrapper` transitional package has been removed in favour of direct use of its constitutents: `xorg.libX11`, `freetype` and others.
···8788- In `mastodon` it is now necessary to specify location of file with `PostgreSQL` database password. In `services.mastodon.database.passwordFile` parameter default value `/var/lib/mastodon/secrets/db-password` has been changed to `null`.
8990+- The `--target-host` and `--build-host` options of `nixos-rebuild` no longer treat the `localhost` value specially – to build on/deploy to local machine, omit the relevant flag.
91+92- The `nix.readOnlyStore` option has been renamed to `boot.readOnlyNixStore` to clarify that it configures the NixOS boot process, not the Nix daemon.
9394- Deprecated `xlibsWrapper` transitional package has been removed in favour of direct use of its constitutents: `xorg.libX11`, `freetype` and others.
···242 warnings.warn("NIXOS_INSTALL_GRUB env var deprecated, use NIXOS_INSTALL_BOOTLOADER", DeprecationWarning)
243 os.environ["NIXOS_INSTALL_BOOTLOADER"] = "1"
244000000000245 if os.getenv("NIXOS_INSTALL_BOOTLOADER") == "1":
246 # bootctl uses fopen() with modes "wxe" and fails if the file exists.
247 if os.path.exists("@efiSysMountPoint@/loader/loader.conf"):
248 os.unlink("@efiSysMountPoint@/loader/loader.conf")
249250- flags = []
251-252- if "@canTouchEfiVariables@" != "1":
253- flags.append("--no-variables")
254-255- if "@graceful@" == "1":
256- flags.append("--graceful")
257-258- subprocess.check_call(["@systemd@/bin/bootctl", "--esp-path=@efiSysMountPoint@"] + flags + ["install"])
259 else:
260 # Update bootloader to latest if needed
261 available_out = subprocess.check_output(["@systemd@/bin/bootctl", "--version"], universal_newlines=True).split()[2]
···284 print("skipping systemd-boot update to %s because of known regression" % available_version)
285 else:
286 print("updating systemd-boot from %s to %s" % (installed_version, available_version))
287- subprocess.check_call(["@systemd@/bin/bootctl", "--esp-path=@efiSysMountPoint@", "update"])
288289 mkdir_p("@efiSysMountPoint@/efi/nixos")
290 mkdir_p("@efiSysMountPoint@/loader/entries")
···242 warnings.warn("NIXOS_INSTALL_GRUB env var deprecated, use NIXOS_INSTALL_BOOTLOADER", DeprecationWarning)
243 os.environ["NIXOS_INSTALL_BOOTLOADER"] = "1"
244245+ # flags to pass to bootctl install/update
246+ bootctl_flags = []
247+248+ if "@canTouchEfiVariables@" != "1":
249+ bootctl_flags.append("--no-variables")
250+251+ if "@graceful@" == "1":
252+ bootctl_flags.append("--graceful")
253+254 if os.getenv("NIXOS_INSTALL_BOOTLOADER") == "1":
255 # bootctl uses fopen() with modes "wxe" and fails if the file exists.
256 if os.path.exists("@efiSysMountPoint@/loader/loader.conf"):
257 os.unlink("@efiSysMountPoint@/loader/loader.conf")
258259+ subprocess.check_call(["@systemd@/bin/bootctl", "--esp-path=@efiSysMountPoint@"] + bootctl_flags + ["install"])
00000000260 else:
261 # Update bootloader to latest if needed
262 available_out = subprocess.check_output(["@systemd@/bin/bootctl", "--version"], universal_newlines=True).split()[2]
···285 print("skipping systemd-boot update to %s because of known regression" % available_version)
286 else:
287 print("updating systemd-boot from %s to %s" % (installed_version, available_version))
288+ subprocess.check_call(["@systemd@/bin/bootctl", "--esp-path=@efiSysMountPoint@"] + bootctl_flags + ["update"])
289290 mkdir_p("@efiSysMountPoint@/efi/nixos")
291 mkdir_p("@efiSysMountPoint@/loader/entries")
+1-1
nixos/modules/system/boot/modprobe.nix
···7 ###### interface
89 options = {
10- boot.modprobeConfig.enable = mkEnableOption (lib.mdDoc "modprobe config. This is useful for systemds like containers which do not require a kernel.") // {
11 default = true;
12 };
13
···7 ###### interface
89 options = {
10+ boot.modprobeConfig.enable = mkEnableOption (lib.mdDoc "modprobe config. This is useful for systems like containers which do not require a kernel") // {
11 default = true;
12 };
13
···23stdenv.mkDerivation rec {
4 pname = "tdlib";
5- version = "1.8.8";
67 src = fetchFromGitHub {
8 owner = "tdlib";
···11 # The tdlib authors do not set tags for minor versions, but
12 # external programs depending on tdlib constrain the minor
13 # version, hence we set a specific commit with a known version.
14- rev = "bbe37ee594d97f3c7820dd23ebcd9c9b8dac51a0";
15- sha256 = "jLJglvq+7f+zCoanDRTFpUsH/M1Qf7PWJ1JjvmZsa24=";
16 };
1718 buildInputs = [ gperf openssl readline zlib ];
···23stdenv.mkDerivation rec {
4 pname = "tdlib";
5+ version = "1.8.10";
67 src = fetchFromGitHub {
8 owner = "tdlib";
···11 # The tdlib authors do not set tags for minor versions, but
12 # external programs depending on tdlib constrain the minor
13 # version, hence we set a specific commit with a known version.
14+ rev = "93c42f6d7c1209937431469f80427d48907f1b8d";
15+ hash = "sha256-vdaVnC26txUBp8rlqx1CdLHlNlack3XXYdfFal1VLh4=";
16 };
1718 buildInputs = [ gperf openssl readline zlib ];
···001--- a/CMakeLists.txt
2+++ b/CMakeLists.txt
3-@@ -1,4 +1,4 @@
4--cmake_minimum_required(VERSION 2.8)
5-+cmake_minimum_required(VERSION 3.6)
6- project(Performous CXX C)
78- set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
9---- a/cmake/Modules/FindPango.cmake
10-+++ b/cmake/Modules/FindPango.cmake
11-@@ -2,31 +2,10 @@
12- # Once done, this will define
13- #
14- # Pango_FOUND - system has Pango
15--# Pango_INCLUDE_DIRS - the Pango include directories
16- # Pango_LIBRARIES - link these to use Pango
17-18- include(LibFindMacros)
19-20--# Dependencies
21--libfind_package(Pango Freetype)
22--libfind_package(Pango Glib)
23--libfind_package(Pango GObject)
24--
25--# Use pkg-config to get hints about paths
26--libfind_pkg_check_modules(Pango_PKGCONF pango)
27--
28--# Include dir
29--find_path(Pango_INCLUDE_DIR
30-- NAMES pango/pango.h
31-- HINTS ${Pango_PKGCONF_INCLUDE_DIRS}
32-- PATH_SUFFIXES pango-1.0
33-)
34-
35--# Finally the library itself
36--find_library(Pango_LIBRARY
37-- NAMES pango-1.0
38-- HINTS ${Pango_PKGCONF_LIBRARY_DIRS}
39--)
40--
41-+libfind_pkg_check_modules(Pango_PKGCONF IMPORTED_TARGET pango)
42-+set(Pango_LIBRARY PkgConfig::Pango_PKGCONF)
43- libfind_process(Pango)
44--
45---- a/cmake/Modules/FindPangoCairo.cmake
46-+++ b/cmake/Modules/FindPangoCairo.cmake
47-@@ -1,35 +1,11 @@
48- # - Try to find PangoCairo
49- # Once done, this will define
50- #
51--# PangoCairo_FOUND - system has Pango
52--# PangoCairo_INCLUDE_DIRS - the Pango include directories
53--# PangoCairo_LIBRARIES - link these to use Pango
54-+# PangoCairo_FOUND - system has PangoCairo
55-+# PangoCairo_LIBRARIES - link these to use PangoCairo
5657- include(LibFindMacros)
5859--# Dependencies
60--libfind_package(PangoCairo Pango)
61--libfind_package(PangoCairo Cairo)
62--
63--# Use pkg-config to get hints about paths
64--libfind_pkg_check_modules(PangoCairo_PKGCONF pangocairo)
65--
66--# Include dir
67--find_path(PangoCairo_INCLUDE_DIR
68-- NAMES pango/pangocairo.h
69-- HINTS ${PangoCairo_PKGCONF_INCLUDE_DIRS}
70-- PATH_SUFFIXES pango-1.0
71--)
72--
73--# Finally the library itself
74--find_library(PangoCairo_LIBRARY
75-- NAMES pangocairo-1.0
76-- HINTS ${PangoCairo_PKGCONF_LIBRARY_DIRS}
77--)
78--
79--# Set the include dir variables and the libraries and let libfind_process do the rest.
80--# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
81--set(PangoCairo_PROCESS_INCLUDES PangoCairo_INCLUDE_DIR Pango_INCLUDE_DIR Cairo_INCLUDE_DIR)
82--set(PangoCairo_PROCESS_LIBS PangoCairo_LIBRARY Pango_LIBRARY Cairo_LIBRARY)
83-+libfind_pkg_check_modules(PangoCairo_PKGCONF IMPORTED_TARGET pangocairo)
84-+set(PangoCairo_LIBRARY PkgConfig::PangoCairo_PKGCONF)
85- libfind_process(PangoCairo)
86--
···157 maybeSudo=(sudo --preserve-env="$preservedSudoVars" --)
158fi
159160-if [[ -z "$buildHost" && -n "$targetHost" ]]; then
161- buildHost="$targetHost"
162-fi
163-164# log the given argument to stderr if verbose mode is on
165logVerbose() {
166 if [ -n "$verboseScript" ]; then
···157 maybeSudo=(sudo --preserve-env="$preservedSudoVars" --)
158fi
1590000160# log the given argument to stderr if verbose mode is on
161logVerbose() {
162 if [ -n "$verboseScript" ]; then
···16, enablePython ? true
1718# for determining the latest compatible linuxPackages
19-, linuxPackages_6_0 ? pkgs.linuxKernel.packages.linux_6_0
20}:
2122let
···222 # to be adapted
223 zfsStable = common {
224 # check the release notes for compatible kernels
225- kernelCompatible = kernel.kernelOlder "6.1";
226- latestCompatibleLinuxPackages = linuxPackages_6_0;
227228 # this package should point to the latest release.
229- version = "2.1.7";
230231- sha256 = "sha256-vLm6RE11nqOCoYXne79JU3nUQnVEUNbwrULwFfghWcI=";
232 };
233234 zfsUnstable = common {
235 # check the release notes for compatible kernels
236- kernelCompatible = kernel.kernelOlder "6.1";
237- latestCompatibleLinuxPackages = linuxPackages_6_0;
238239 # this package should point to a version / git revision compatible with the latest kernel release
240 # IMPORTANT: Always use a tagged release candidate or commits from the
241 # zfs-<version>-staging branch, because this is tested by the OpenZFS
242 # maintainers.
243- version = "2.1.8-staging-2023-01-10";
244- rev = "0156253d29a303bdcca3e535958e754d8f086e33";
245246- sha256 = "sha256-2+vymBesmNLB3fuaCwQOojEzn3aYqtxIo35MvlwOoNw=";
247248 isUnstable = true;
249 };
···16, enablePython ? true
1718# for determining the latest compatible linuxPackages
19+, linuxPackages_6_1 ? pkgs.linuxKernel.packages.linux_6_1
20}:
2122let
···222 # to be adapted
223 zfsStable = common {
224 # check the release notes for compatible kernels
225+ kernelCompatible = kernel.kernelOlder "6.2";
226+ latestCompatibleLinuxPackages = linuxPackages_6_1;
227228 # this package should point to the latest release.
229+ version = "2.1.8";
230231+ sha256 = "sha256-/+23SEtywa7b1dgvQNmEGrfqXzM1mlk00TSpuiCkQOk=";
232 };
233234 zfsUnstable = common {
235 # check the release notes for compatible kernels
236+ kernelCompatible = kernel.kernelOlder "6.2";
237+ latestCompatibleLinuxPackages = linuxPackages_6_1;
238239 # this package should point to a version / git revision compatible with the latest kernel release
240 # IMPORTANT: Always use a tagged release candidate or commits from the
241 # zfs-<version>-staging branch, because this is tested by the OpenZFS
242 # maintainers.
243+ version = "2.1.9-staging-2023-01-19";
244+ rev = "04b02785b67f9b976c43643dd52ce6cdbc22e11e";
245246+ sha256 = "sha256-/+23SEtywa7b1dgvQNmEGrfqXzM1mlk00TSpuiCkQOk=";
247248 isUnstable = true;
249 };
···3# shellcheck shell=bash
4# Bash 3 compatible for Darwin
56-if [ -z "${GITHUB_TOKEN}" ]; then
7- echo >&2 "usage: GITHUB_TOKEN=… ./update.sh"
8 exit 1
9fi
10···1213# Version of Pulumi from
14# https://www.pulumi.com/docs/get-started/install/versions/
15-VERSION="3.49.0"
1617# An array of plugin names. The respective repository inside Pulumi's
18# Github organization is called pulumi-$name by convention.
···3# shellcheck shell=bash
4# Bash 3 compatible for Darwin
56+if [ -z "${GITHUB_TOKEN}" ] || [ $# -ne 1 ]; then
7+ echo >&2 "usage: GITHUB_TOKEN=… ./update.sh pulumi-version"
8 exit 1
9fi
10···1213# Version of Pulumi from
14# https://www.pulumi.com/docs/get-started/install/versions/
15+VERSION=$1
1617# An array of plugin names. The respective repository inside Pulumi's
18# Github organization is called pulumi-$name by convention.
+3-3
pkgs/tools/admin/syft/default.nix
···23buildGoModule rec {
4 pname = "syft";
5- version = "0.62.3";
67 src = fetchFromGitHub {
8 owner = "anchore";
9 repo = pname;
10 rev = "v${version}";
11- sha256 = "sha256-rDj/yerLY7EN/jeAh/xaUX04LqGqijajSZLFhjiyuSg=";
12 # populate values that require us to use git. By doing this in postFetch we
13 # can delete .git afterwards and maintain better reproducibility of the src.
14 leaveDotGit = true;
···22 };
23 # hash mismatch with darwin
24 proxyVendor = true;
25- vendorSha256 = "sha256-MUNXMdzLVgbFtVo1CRCnZfpZl8Ze2R98mx7Y9QreLRw=";
2627 nativeBuildInputs = [ installShellFiles ];
28
···23buildGoModule rec {
4 pname = "syft";
5+ version = "0.66.2";
67 src = fetchFromGitHub {
8 owner = "anchore";
9 repo = pname;
10 rev = "v${version}";
11+ sha256 = "sha256-CIFK4XIYpRK9CJOwQUV6kRGU++iWJCdMBR7v6xh0iaY=";
12 # populate values that require us to use git. By doing this in postFetch we
13 # can delete .git afterwards and maintain better reproducibility of the src.
14 leaveDotGit = true;
···22 };
23 # hash mismatch with darwin
24 proxyVendor = true;
25+ vendorHash = "sha256-ttvfzlSFgh0xQ0W/ftLeSrJNOzg7Iq1qdLgflGy7N8Q=";
2627 nativeBuildInputs = [ installShellFiles ];
28
···159 ];
160 };
161162- linux_5_17 = throw "linux 5.17 was removed because it has reached its end of life upstream";
163-164 linux_5_18 = throw "linux 5.18 was removed because it has reached its end of life upstream";
165166 linux_5_19 = throw "linux 5.19 was removed because it has reached its end of life upstream";
167168- linux_6_0 = callPackage ../os-specific/linux/kernel/linux-6.0.nix {
169- kernelPatches = [
170- kernelPatches.bridge_stp_helper
171- kernelPatches.request_key_helper
172- ];
173- };
174175 linux_6_1 = callPackage ../os-specific/linux/kernel/linux-6.1.nix {
176 kernelPatches = [
···248 linux_5_15_hardened = hardenedKernelFor kernels.linux_5_15 { };
249 linux_5_18_hardened = throw "linux 5.18 was removed because it has reached its end of life upstream";
250 linux_5_19_hardened = throw "linux 5.19 was removed because it has reached its end of life upstream";
251- linux_6_0_hardened = hardenedKernelFor kernels.linux_6_0 { };
252 linux_6_1_hardened = hardenedKernelFor kernels.linux_6_1 { };
253254 }));
···532 linux_5_4 = recurseIntoAttrs (packagesFor kernels.linux_5_4);
533 linux_5_10 = recurseIntoAttrs (packagesFor kernels.linux_5_10);
534 linux_5_15 = recurseIntoAttrs (packagesFor kernels.linux_5_15);
535- linux_5_17 = throw "linux 5.17 was removed because it reached its end of life upstream"; # Added 2022-06-23
536 linux_5_18 = throw "linux 5.18 was removed because it reached its end of life upstream"; # Added 2022-09-17
537 linux_5_19 = throw "linux 5.19 was removed because it reached its end of life upstream"; # Added 2022-11-01
538- linux_6_0 = recurseIntoAttrs (packagesFor kernels.linux_6_0);
539 linux_6_1 = recurseIntoAttrs (packagesFor kernels.linux_6_1);
540 };
541···577 linux_5_15_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_15 { });
578 linux_5_18_hardened = throw "linux 5.18 was removed because it has reached its end of life upstream";
579 linux_5_19_hardened = throw "linux 5.19 was removed because it has reached its end of life upstream";
580- linux_6_0_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_6_0 { });
581 linux_6_1_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_6_1 { });
582583 linux_zen = recurseIntoAttrs (packagesFor kernels.linux_zen);
···159 ];
160 };
16100162 linux_5_18 = throw "linux 5.18 was removed because it has reached its end of life upstream";
163164 linux_5_19 = throw "linux 5.19 was removed because it has reached its end of life upstream";
165166+ linux_6_0 = throw "linux 6.0 was removed because it has reached its end of life upstream";
00000167168 linux_6_1 = callPackage ../os-specific/linux/kernel/linux-6.1.nix {
169 kernelPatches = [
···241 linux_5_15_hardened = hardenedKernelFor kernels.linux_5_15 { };
242 linux_5_18_hardened = throw "linux 5.18 was removed because it has reached its end of life upstream";
243 linux_5_19_hardened = throw "linux 5.19 was removed because it has reached its end of life upstream";
244+ linux_6_0_hardened = throw "linux 6.0 was removed because it has reached its end of life upstream";
245 linux_6_1_hardened = hardenedKernelFor kernels.linux_6_1 { };
246247 }));
···525 linux_5_4 = recurseIntoAttrs (packagesFor kernels.linux_5_4);
526 linux_5_10 = recurseIntoAttrs (packagesFor kernels.linux_5_10);
527 linux_5_15 = recurseIntoAttrs (packagesFor kernels.linux_5_15);
0528 linux_5_18 = throw "linux 5.18 was removed because it reached its end of life upstream"; # Added 2022-09-17
529 linux_5_19 = throw "linux 5.19 was removed because it reached its end of life upstream"; # Added 2022-11-01
530+ linux_6_0 = throw "linux 6.0 was removed because it reached its end of life upstream"; # Added 2023-01-20
531 linux_6_1 = recurseIntoAttrs (packagesFor kernels.linux_6_1);
532 };
533···569 linux_5_15_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_15 { });
570 linux_5_18_hardened = throw "linux 5.18 was removed because it has reached its end of life upstream";
571 linux_5_19_hardened = throw "linux 5.19 was removed because it has reached its end of life upstream";
572+ linux_6_0_hardened = throw "linux 6.0 was removed because it has reached its end of life upstream";
573 linux_6_1_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_6_1 { });
574575 linux_zen = recurseIntoAttrs (packagesFor kernels.linux_zen);