···5354Package version upgrades usually allow for simpler commit messages, including attribute name, old and new version, as well as a reference to the relevant release notes/changelog. Every once in a while a package upgrade requires more extensive changes, and that subsequently warrants a more verbose message.
5556-We prefer not to use the "squash merge" feature in nixpkgs: in order to keep as much information as possible in the commit history, we expect pull requests to consist of self-contained commits as described above.
57-This means that, after addressing review comments and before the PR is merged, you will sometimes need to rewrite your branch's history and then force-push it with `git push --force-with-lease`.
58-Useful commands to be comfortable with are `git commit --amend`, `git commit --fixup` and `git rebase -i` (and don't forget that git lets you define aliases!).
5960## Rebasing between branches (i.e. from master to staging)
61
···5354Package version upgrades usually allow for simpler commit messages, including attribute name, old and new version, as well as a reference to the relevant release notes/changelog. Every once in a while a package upgrade requires more extensive changes, and that subsequently warrants a more verbose message.
5556+Pull requests should not be squash merged in order to keep complete commit messages and GPG signatures intact and must not be when the change doesn't make sense as a single commit.
57+This means that, when addressing review comments in order to keep the pull request in an always mergeable status, you will sometimes need to rewrite your branch's history and then force-push it with `git push --force-with-lease`.
58+Useful git commands that can help a lot with this are `git commit --patch --amend` and `git rebase --interactive @~3`. For more details consult the git man pages.
5960## Rebasing between branches (i.e. from master to staging)
61
···98 <listitem>
99 <para>
100 The
101- <link linkend="opt-services.avahi.openFirewall">services.avahi.openFirewall</link>
102- module option default value has been changed from
103- <literal>true</literal> to <literal>false</literal>. You will
104- need to explicitely set this option to
105- <literal>true</literal>, or configure your firewall.
106- </para>
107- </listitem>
108- <listitem>
109- <para>
110- The
111 <link linkend="opt-services.tmate-ssh-server.openFirewall">services.tmate-ssh-server.openFirewall</link>
112 module option default value has been changed from
113 <literal>true</literal> to <literal>false</literal>. You will
···98 <listitem>
99 <para>
100 The
0000000000101 <link linkend="opt-services.tmate-ssh-server.openFirewall">services.tmate-ssh-server.openFirewall</link>
102 module option default value has been changed from
103 <literal>true</literal> to <literal>false</literal>. You will
-2
nixos/doc/manual/release-notes/rl-2305.section.md
···3334- The [services.snapserver.openFirewall](#opt-services.snapserver.openFirewall) module option default value has been changed from `true` to `false`. You will need to explicitely set this option to `true`, or configure your firewall.
3536-- The [services.avahi.openFirewall](#opt-services.avahi.openFirewall) module option default value has been changed from `true` to `false`. You will need to explicitely set this option to `true`, or configure your firewall.
37-38- The [services.tmate-ssh-server.openFirewall](#opt-services.tmate-ssh-server.openFirewall) module option default value has been changed from `true` to `false`. You will need to explicitely set this option to `true`, or configure your firewall.
3940- The [services.unifi-video.openFirewall](#opt-services.unifi-video.openFirewall) module option default value has been changed from `true` to `false`. You will need to explicitely set this option to `true`, or configure your firewall.
···3334- The [services.snapserver.openFirewall](#opt-services.snapserver.openFirewall) module option default value has been changed from `true` to `false`. You will need to explicitely set this option to `true`, or configure your firewall.
350036- The [services.tmate-ssh-server.openFirewall](#opt-services.tmate-ssh-server.openFirewall) module option default value has been changed from `true` to `false`. You will need to explicitely set this option to `true`, or configure your firewall.
3738- The [services.unifi-video.openFirewall](#opt-services.unifi-video.openFirewall) module option default value has been changed from `true` to `false`. You will need to explicitely set this option to `true`, or configure your firewall.
+1
nixos/modules/profiles/base.nix
···42 pkgs.smartmontools # for diagnosing hard disks
43 pkgs.pciutils
44 pkgs.usbutils
04546 # Tools to create / manipulate filesystems.
47 pkgs.ntfsprogs # for resizing NTFS partitions
···42 pkgs.smartmontools # for diagnosing hard disks
43 pkgs.pciutils
44 pkgs.usbutils
45+ pkgs.nvme-cli
4647 # Tools to create / manipulate filesystems.
48 pkgs.ntfsprogs # for resizing NTFS partitions
+1-1
nixos/modules/programs/vim.nix
···19 type = types.package;
20 default = pkgs.vim;
21 defaultText = literalExpression "pkgs.vim";
22- example = literalExpression "pkgs.vimHugeX";
23 description = lib.mdDoc ''
24 vim package to use.
25 '';
···19 type = types.package;
20 default = pkgs.vim;
21 defaultText = literalExpression "pkgs.vim";
22+ example = literalExpression "pkgs.vim-full";
23 description = lib.mdDoc ''
24 vim package to use.
25 '';
···32 assertion = !config.services.pipewire.media-session.enable;
33 message = "WirePlumber and pipewire-media-session can't be enabled at the same time.";
34 }
000035 ];
3637 environment.systemPackages = [ cfg.package ];
···32 assertion = !config.services.pipewire.media-session.enable;
33 message = "WirePlumber and pipewire-media-session can't be enabled at the same time.";
34 }
35+ {
36+ assertion = !config.hardware.bluetooth.hsphfpd.enable;
37+ message = "Using Wireplumber conflicts with hsphfpd, as it provides the same functionality. `hardware.bluetooth.hsphfpd.enable` needs be set to false";
38+ }
39 ];
4041 environment.systemPackages = [ cfg.package ];
···103104 openFirewall = mkOption {
105 type = types.bool;
106- default = false;
107 description = lib.mdDoc ''
108 Whether to open the firewall for UDP port 5353.
0109 '';
110 };
111112 allowPointToPoint = mkOption {
113 type = types.bool;
114 default = false;
115- description= lib.mdDoc ''
116 Whether to use POINTTOPOINT interfaces. Might make mDNS unreliable due to usually large
117 latencies with such links and opens a potential security hole by allowing mDNS access from Internet
118 connections.
···103104 openFirewall = mkOption {
105 type = types.bool;
106+ default = true;
107 description = lib.mdDoc ''
108 Whether to open the firewall for UDP port 5353.
109+ Disabling this setting also disables discovering of network devices.
110 '';
111 };
112113 allowPointToPoint = mkOption {
114 type = types.bool;
115 default = false;
116+ description = lib.mdDoc ''
117 Whether to use POINTTOPOINT interfaces. Might make mDNS unreliable due to usually large
118 latencies with such links and opens a potential security hole by allowing mDNS access from Internet
119 connections.
+2-2
nixos/modules/services/networking/unifi.nix
···2425 services.unifi.jrePackage = mkOption {
26 type = types.package;
27- default = pkgs.jre8;
28- defaultText = literalExpression "pkgs.jre8";
29 description = lib.mdDoc ''
30 The JRE package to use. Check the release notes to ensure it is supported.
31 '';
···2425 services.unifi.jrePackage = mkOption {
26 type = types.package;
27+ default = if (lib.versionAtLeast (lib.getVersion cfg.unifiPackage) "7.3") then pkgs.jdk11 else pkgs.jre8;
28+ defaultText = literalExpression ''if (lib.versionAtLeast (lib.getVersion cfg.unifiPackage) "7.3" then pkgs.jdk11 else pkgs.jre8'';
29 description = lib.mdDoc ''
30 The JRE package to use. Check the release notes to ensure it is supported.
31 '';
···384 ++ lib.optionals config.services.samba.enable [ kdenetwork-filesharing pkgs.samba ]
385 ++ lib.optional config.services.xserver.wacom.enable pkgs.wacomtablet;
38600000387 environment.pathsToLink = [
388 # FIXME: modules should link subdirs of `/share` rather than relying on this
389 "/share"
···446447 xdg.portal.enable = true;
448 xdg.portal.extraPortals = [ plasma5.xdg-desktop-portal-kde ];
000449450 # Update the start menu for each user that is currently logged in
451 system.userActivationScripts.plasmaSetup = activationScript;
···384 ++ lib.optionals config.services.samba.enable [ kdenetwork-filesharing pkgs.samba ]
385 ++ lib.optional config.services.xserver.wacom.enable pkgs.wacomtablet;
386387+ # Extra services for D-Bus activation
388+ services.dbus.packages = [
389+ plasma5.kactivitymanagerd
390+ ];
391+392 environment.pathsToLink = [
393 # FIXME: modules should link subdirs of `/share` rather than relying on this
394 "/share"
···451452 xdg.portal.enable = true;
453 xdg.portal.extraPortals = [ plasma5.xdg-desktop-portal-kde ];
454+ # xdg-desktop-portal-kde expects PipeWire to be running.
455+ # This does not, by default, replace PulseAudio.
456+ services.pipewire.enable = mkDefault true;
457458 # Update the start menu for each user that is currently logged in
459 system.userActivationScripts.plasmaSetup = activationScript;
···4}:
5rustPlatform.buildRustPackage rec {
6 pname = "nearcore";
7- version = "1.29.3";
89 # https://github.com/near/nearcore/tags
10 src = fetchFromGitHub {
···13 # there is also a branch for this version number, so we need to be explicit
14 rev = "refs/tags/${version}";
1516- sha256 = "sha256-Qbpp+ITWVFbigWLdSDHAo5JhHejEN2FknRIjcpcS2wY=";
17 };
1819- cargoSha256 = "sha256-GSgzJNpVGxbvGF6AtFQxGyev/9c8Roav1HBz0SCQyvw=";
20 cargoPatches = [ ./0001-make-near-test-contracts-optional.patch ];
2122 postPatch = ''
···4}:
5rustPlatform.buildRustPackage rec {
6 pname = "nearcore";
7+ version = "1.30.0";
89 # https://github.com/near/nearcore/tags
10 src = fetchFromGitHub {
···13 # there is also a branch for this version number, so we need to be explicit
14 rev = "refs/tags/${version}";
1516+ sha256 = "sha256-Co8896RojUf/R8ZiRn7zSO1AWH7x5rYom6TbGohH1KM=";
17 };
1819+ cargoSha256 = "sha256-M+vhLBXsd+R97Sh5s6jFzon/47XohJeQKh//9QP6PXw=";
20 cargoPatches = [ ./0001-make-near-test-contracts-optional.patch ];
2122 postPatch = ''
···1+{ lib
2+, stdenv
3+, fetchFromGitHub
4+, autoreconfHook
5+, glib
6+, libev
7+, libevent
8+, pkg-config
9+, glibSupport ? true
10+, libevSupport ? true
11+, libeventSupport ? true
12+}:
13+14+let
15+ inherit (lib) optional;
16+in
17+stdenv.mkDerivation (finalAttrs: {
18+ pname = "libverto";
19+ version = "0.3.2";
20+21+ src = fetchFromGitHub {
22+ owner = "latchset";
23+ repo = "libverto";
24+ rev = finalAttrs.version;
25+ hash = "sha256-csoJ0WdKyrza8kBSMKoaItKvcbijI6Wl8nWCbywPScQ=";
26+ };
27+28+ nativeBuildInputs = [
29+ autoreconfHook
30+ pkg-config
31+ ];
32+33+ buildInputs =
34+ optional glibSupport glib
35+ ++ optional libevSupport libev
36+ ++ optional libeventSupport libevent;
37+38+ meta = with lib; {
39+ homepage = "https://github.com/latchset/libverto";
40+ description = "Asynchronous event loop abstraction library";
41+ longDescription = ''
42+ Libverto exists to solve an important problem: many applications and
43+ libraries are unable to write asynchronous code because they are unable to
44+ pick an event loop. This is particularly true of libraries who want to be
45+ useful to many applications who use loops that do not integrate with one
46+ another or which use home-grown loops. libverto provides a loop-neutral
47+ async api which allows the library to expose asynchronous interfaces and
48+ offload the choice of the main loop to the application.
49+ '';
50+ license = licenses.mit;
51+ maintainers = with maintainers; [ AndersonTorres ];
52+ platforms = platforms.unix;
53+ };
54+})
+4-3
pkgs/development/libraries/libvirt/default.nix
···114 # NOTE: You must also bump:
115 # <nixpkgs/pkgs/development/python-modules/libvirt/default.nix>
116 # SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix>
117- version = "8.9.0";
118119 src = fetchFromGitLab {
120 owner = pname;
121 repo = pname;
122 rev = "v${version}";
123- sha256 = "sha256-79frEYItbf1weOkrcyI/Z/TjTg6kLMQbteaTi9LAt0g=";
124 fetchSubmodules = true;
125 };
126···372 passthru.tests.libvirtd = nixosTests.libvirtd;
373374 meta = {
0375 homepage = "https://libvirt.org/";
376- description = "A toolkit to interact with the virtualization capabilities of recent versions of Linux and other OSes";
377 license = licenses.lgpl2Plus;
378 platforms = platforms.unix;
379 maintainers = with maintainers; [ fpletz globin lovesegfault ];
···114 # NOTE: You must also bump:
115 # <nixpkgs/pkgs/development/python-modules/libvirt/default.nix>
116 # SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix>
117+ version = "8.10.0";
118119 src = fetchFromGitLab {
120 owner = pname;
121 repo = pname;
122 rev = "v${version}";
123+ sha256 = "sha256-MboJLQ0R3l9lUQDjNVACvmxISjypvfxxMHSKF0+k6WM=";
124 fetchSubmodules = true;
125 };
126···372 passthru.tests.libvirtd = nixosTests.libvirtd;
373374 meta = {
375+ description = "A toolkit to interact with the virtualization capabilities of recent versions of Linux and other OSes";
376 homepage = "https://libvirt.org/";
377+ changelog = "https://gitlab.com/libvirt/libvirt/-/raw/v${version}/NEWS.rst";
378 license = licenses.lgpl2Plus;
379 platforms = platforms.unix;
380 maintainers = with maintainers; [ fpletz globin lovesegfault ];
···1-{ mkDerivation, fetchFromGitHub, makeWrapper, lib, php }:
2let
3 pname = "php-parallel-lint";
4 version = "1.3.2";
···10 owner = "php-parallel-lint";
11 repo = "PHP-Parallel-Lint";
12 rev = "v${version}";
13- sha256 = "sha256-pTHH19HwqyOj5pSmH7l0JlntNVtMdu4K9Cl+qyrrg9U=";
0014 };
1516 nativeBuildInputs = [
17 makeWrapper
18 php.packages.composer
19- php.packages.box
0020 ];
2122 buildPhase = ''
···36 '';
3738 meta = with lib; {
39- broken = lib.versionOlder php.version "8.1"; # Broken on PHP older than 8.1.
40 description = "Tool to check syntax of PHP files faster than serial check with fancier output";
41 license = licenses.bsd2;
42 homepage = "https://github.com/php-parallel-lint/PHP-Parallel-Lint";
···1+{ mkDerivation, fetchFromGitHub, makeWrapper, lib, php, php81 }:
2let
3 pname = "php-parallel-lint";
4 version = "1.3.2";
···10 owner = "php-parallel-lint";
11 repo = "PHP-Parallel-Lint";
12 rev = "v${version}";
13+ # `.gitattibutes` exclude `box.json` from the archive produced git.
14+ forceFetchGit = true;
15+ sha256 = "SPP1ynxJad2m5wknGt8z94fW7Ucx8nqLvwZVmlylOgM=";
16 };
1718 nativeBuildInputs = [
19 makeWrapper
20 php.packages.composer
21+ # box is only available for PHP ≥ 8.1 but the purpose of this tool is to validate
22+ # that project does not use features not available on older PHP versions.
23+ php81.packages.box
24 ];
2526 buildPhase = ''
···40 '';
4142 meta = with lib; {
043 description = "Tool to check syntax of PHP files faster than serial check with fancier output";
44 license = licenses.bsd2;
45 homepage = "https://github.com/php-parallel-lint/PHP-Parallel-Lint";
···1+diff --git a/pkg/version/version.go b/pkg/version/version.go
2+index 09c8efcf..b9ec798a 100644
3+--- a/pkg/version/version.go
4++++ b/pkg/version/version.go
5+@@ -20,14 +20,12 @@ import (
6+ "runtime/debug"
7+ )
8+9++var version string
10++
11+ // Version returns the version of the main module
12+ func Version() string {
13+- info, ok := debug.ReadBuildInfo()
14+- if !ok || info == nil || info.Main.Version == "" {
15+- // binary has not been built with module support or doesn't contain a version.
16+- return "(unknown)"
17+- }
18+- return info.Main.Version
19++ _ = debug.ReadBuildInfo
20++ return version
21+ }
22+23+ // Print prints the main module version on stdout.
···33 );
3435 meta = with lib; {
36- broken = stdenv.isDarwin;
37 description = "Docker and OCI Registry Client in Go and tooling using those libraries";
38 homepage = "https://github.com/regclient/regclient";
39 license = licenses.asl20;
···33 );
3435 meta = with lib; {
036 description = "Docker and OCI Registry Client in Go and tooling using those libraries";
37 homepage = "https://github.com/regclient/regclient";
38 license = licenses.asl20;
···2# Do not edit!
34{
5- version = "2022.12.2";
6 components = {
7 "3_day_blinds" = ps: with ps; [
8 ];
···2# Do not edit!
34{
5+ version = "2022.12.6";
6 components = {
7 "3_day_blinds" = ps: with ps; [
8 ];
+2-2
pkgs/servers/home-assistant/default.nix
···188 extraPackagesFile = writeText "home-assistant-packages" (lib.concatMapStringsSep "\n" (pkg: pkg.pname) extraBuildInputs);
189190 # Don't forget to run parse-requirements.py after updating
191- hassVersion = "2022.12.2";
192193in python.pkgs.buildPythonApplication rec {
194 pname = "homeassistant";
···206 owner = "home-assistant";
207 repo = "core";
208 rev = version;
209- hash = "sha256-O2gmj9anUy1uOuBpw33HAk2F/nA4OcWMZeaI1XOHUKg=";
210 };
211212 # leave this in, so users don't have to constantly update their downstream patch handling
···188 extraPackagesFile = writeText "home-assistant-packages" (lib.concatMapStringsSep "\n" (pkg: pkg.pname) extraBuildInputs);
189190 # Don't forget to run parse-requirements.py after updating
191+ hassVersion = "2022.12.6";
192193in python.pkgs.buildPythonApplication rec {
194 pname = "homeassistant";
···206 owner = "home-assistant";
207 repo = "core";
208 rev = version;
209+ hash = "sha256-9dukY04sh35kj5vUbNmqnN+MPGqJT/YUuHC64pHzWjw=";
210 };
211212 # leave this in, so users don't have to constantly update their downstream patch handling
+2-2
pkgs/servers/home-assistant/frontend.nix
···4 # the frontend version corresponding to a specific home-assistant version can be found here
5 # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
6 pname = "home-assistant-frontend";
7- version = "20221208.0";
8 format = "wheel";
910 src = fetchPypi {
···12 pname = "home_assistant_frontend";
13 dist = "py3";
14 python = "py3";
15- hash = "sha256-llMKmEkPSrb9j7chAVXGvqpLfpmlFlwqiusOH1p+rAQ=";
16 };
1718 # there is nothing to strip in this package
···4 # the frontend version corresponding to a specific home-assistant version can be found here
5 # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
6 pname = "home-assistant-frontend";
7+ version = "20221213.0";
8 format = "wheel";
910 src = fetchPypi {
···12 pname = "home_assistant_frontend";
13 dist = "py3";
14 python = "py3";
15+ hash = "sha256-s/rVgsVyNyyW2wvv7IK4/0wy99ZtHn8iZ7tVjOBGozQ=";
16 };
1718 # there is nothing to strip in this package
···1558 varnish63 = throw "varnish63 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release"; # Added 2021-07-26
1559 varnish65 = throw "varnish65 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release"; # Added 2021-09-15
1560 varnish70 = throw "varnish70 was removed from nixpkgs, because it was superseded upstream. Please switch to a different release"; # Added 2022-03-17
01561 varnish71 = throw "varnish71 was removed from nixpkgs, because it was superseded upstream. Please switch to a different release"; # Added 2022-11-08
1562 vdirsyncerStable = vdirsyncer; # Added 2020-11-08, see https://github.com/NixOS/nixpkgs/issues/103026#issuecomment-723428168
1563 venus = throw "venus has been removed from nixpkgs, as it's unmaintained"; # Added 2021-02-05
···17721773 inherit (plasma5Packages)
1774 akonadi akregator ark bluedevil bomber bovo breeze-grub breeze-gtk
1775- breeze-icons breeze-plymouth breeze-qt5 discover dolphin dragon elisa falkon
1776 ffmpegthumbs filelight granatier gwenview k3b kactivitymanagerd kaddressbook
1777 kalendar kalzium kapman kapptemplate kate katomic kblackbox kblocks kbounce
1778 kcachegrind kcalc kcharselect kcolorchooser kde-cli-tools kde-gtk-config
···1558 varnish63 = throw "varnish63 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release"; # Added 2021-07-26
1559 varnish65 = throw "varnish65 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release"; # Added 2021-09-15
1560 varnish70 = throw "varnish70 was removed from nixpkgs, because it was superseded upstream. Please switch to a different release"; # Added 2022-03-17
1561+ vaultwarden-vault = vaultwarden.webvault; # Added 2022-12-13
1562 varnish71 = throw "varnish71 was removed from nixpkgs, because it was superseded upstream. Please switch to a different release"; # Added 2022-11-08
1563 vdirsyncerStable = vdirsyncer; # Added 2020-11-08, see https://github.com/NixOS/nixpkgs/issues/103026#issuecomment-723428168
1564 venus = throw "venus has been removed from nixpkgs, as it's unmaintained"; # Added 2021-02-05
···17731774 inherit (plasma5Packages)
1775 akonadi akregator ark bluedevil bomber bovo breeze-grub breeze-gtk
1776+ breeze-icons breeze-plymouth breeze-qt5 colord-kde discover dolphin dragon elisa falkon
1777 ffmpegthumbs filelight granatier gwenview k3b kactivitymanagerd kaddressbook
1778 kalendar kalzium kapman kapptemplate kate katomic kblackbox kblocks kbounce
1779 kcachegrind kcalc kcharselect kcolorchooser kde-cli-tools kde-gtk-config