diff options
51 files changed, 769 insertions, 554 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index e991280a0f28..6ae60956ae97 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6068,6 +6068,16 @@ githubId = 2396926; name = "Justin Woo"; }; + jvanbruegge = { + email = "supermanitu@gmail.com"; + github = "jvanbruegge"; + githubId = 1529052; + name = "Jan van Brügge"; + keys = [{ + longkeyid = "rsa4096/0x366572BE7D6C78A2"; + fingerprint = "3513 5CE5 77AD 711F 3825 9A99 3665 72BE 7D6C 78A2"; + }]; + }; jwatt = { email = "jwatt@broken.watch"; github = "jjwatt"; diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml index 436157515ebe..9f5279732fe4 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml @@ -712,6 +712,15 @@ warning. </para> </listitem> + <listitem> + <para> + <literal>programs.tmux</literal> has a new option + <literal>plugins</literal> that accepts a list of packages + from the <literal>tmuxPlugins</literal> group. The specified + packages are added to the system and loaded by + <literal>tmux</literal>. + </para> + </listitem> </itemizedlist> </section> </section> diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md index 9d919711cb7f..629672259b21 100644 --- a/nixos/doc/manual/release-notes/rl-2205.section.md +++ b/nixos/doc/manual/release-notes/rl-2205.section.md @@ -243,4 +243,6 @@ In addition to numerous new and upgraded packages, this release has the followin Reason is that the old name has been deprecated upstream. Using the old option name will still work, but produce a warning. +- `programs.tmux` has a new option `plugins` that accepts a list of packages from the `tmuxPlugins` group. The specified packages are added to the system and loaded by `tmux`. + <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. --> diff --git a/nixos/modules/config/xdg/portal.nix b/nixos/modules/config/xdg/portal.nix index 80ec3126ca54..088f2af59e22 100644 --- a/nixos/modules/config/xdg/portal.nix +++ b/nixos/modules/config/xdg/portal.nix @@ -1,4 +1,4 @@ -{ config, pkgs ,lib ,... }: +{ config, pkgs, lib, ... }: with lib; @@ -13,13 +13,13 @@ with lib; options.xdg.portal = { enable = - mkEnableOption "<link xlink:href='https://github.com/flatpak/xdg-desktop-portal'>xdg desktop integration</link>"//{ + mkEnableOption "<link xlink:href='https://github.com/flatpak/xdg-desktop-portal'>xdg desktop integration</link>" // { default = false; }; extraPortals = mkOption { type = types.listOf types.package; - default = []; + default = [ ]; description = '' List of additional portals to add to path. Portals allow interaction with system, like choosing files or taking screenshots. At minimum, @@ -46,25 +46,36 @@ with lib; let cfg = config.xdg.portal; packages = [ pkgs.xdg-desktop-portal ] ++ cfg.extraPortals; - joinedPortals = pkgs.symlinkJoin { + joinedPortals = pkgs.buildEnv { name = "xdg-portals"; - paths = cfg.extraPortals; + paths = packages; + pathsToLink = [ "/share/xdg-desktop-portal/portals" "/share/applications" ]; }; - in mkIf cfg.enable { + in + mkIf cfg.enable { assertions = [ - { assertion = (cfg.gtkUsePortal -> cfg.extraPortals != []); - message = "Setting xdg.portal.gtkUsePortal to true requires a portal implementation in xdg.portal.extraPortals such as xdg-desktop-portal-gtk or xdg-desktop-portal-kde."; + { + assertion = cfg.extraPortals != [ ]; + message = "Setting xdg.portal.enable to true requires a portal implementation in xdg.portal.extraPortals such as xdg-desktop-portal-gtk or xdg-desktop-portal-kde."; } ]; - services.dbus.packages = packages; + services.dbus.packages = packages; systemd.packages = packages; - environment.sessionVariables = { - GTK_USE_PORTAL = mkIf cfg.gtkUsePortal "1"; - XDG_DESKTOP_PORTAL_DIR = "${joinedPortals}/share/xdg-desktop-portal/portals"; + environment = { + # fixes screen sharing on plasmawayland on non-chromium apps by linking + # share/applications/*.desktop files + # see https://github.com/NixOS/nixpkgs/issues/145174 + systemPackages = [ joinedPortals ]; + pathsToLink = [ "/share/applications" ]; + + sessionVariables = { + GTK_USE_PORTAL = mkIf cfg.gtkUsePortal "1"; + XDG_DESKTOP_PORTAL_DIR = "${joinedPortals}/share/xdg-desktop-portal/portals"; + }; }; }; } diff --git a/nixos/modules/programs/tmux.nix b/nixos/modules/programs/tmux.nix index c39908751d29..74b3fbd9ac06 100644 --- a/nixos/modules/programs/tmux.nix +++ b/nixos/modules/programs/tmux.nix @@ -52,6 +52,12 @@ let set -s escape-time ${toString cfg.escapeTime} set -g history-limit ${toString cfg.historyLimit} + ${lib.optionalString (cfg.plugins != []) '' + # Run plugins + ${lib.concatMapStringsSep "\n" (x: "run-shell ${x.rtp}") cfg.plugins} + + ''} + ${cfg.extraConfig} ''; @@ -165,6 +171,13 @@ in { downside it doesn't survive user logout. ''; }; + + plugins = mkOption { + default = []; + type = types.listOf types.package; + description = "List of plugins to install."; + example = lib.literalExpression "[ pkgs.tmuxPlugins.nord ]"; + }; }; }; @@ -174,7 +187,7 @@ in { environment = { etc."tmux.conf".text = tmuxConf; - systemPackages = [ pkgs.tmux ]; + systemPackages = [ pkgs.tmux ] ++ cfg.plugins; variables = { TMUX_TMPDIR = lib.optional cfg.secureSocket ''''${XDG_RUNTIME_DIR:-"/run/user/$(id -u)"}''; diff --git a/nixos/modules/services/networking/kresd.nix b/nixos/modules/services/networking/kresd.nix index 16011573f8bb..28b8be7a9a0d 100644 --- a/nixos/modules/services/networking/kresd.nix +++ b/nixos/modules/services/networking/kresd.nix @@ -9,7 +9,7 @@ let # On Nix level we don't attempt to precisely validate the address specifications. # The optional IPv6 scope spec comes *after* port, perhaps surprisingly. mkListen = kind: addr: let - al_v4 = builtins.match "([0-9.]+):([0-9]+)()" addr; + al_v4 = builtins.match "([0-9.]+):([0-9]+)($)" addr; al_v6 = builtins.match "\\[(.+)]:([0-9]+)(%.*|$)" addr; al_portOnly = builtins.match "([0-9]+)" addr; al = findFirst (a: a != null) diff --git a/nixos/tests/geth.nix b/nixos/tests/geth.nix index 10cbd6d9038c..af8230553bbb 100644 --- a/nixos/tests/geth.nix +++ b/nixos/tests/geth.nix @@ -31,7 +31,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { machine.wait_for_open_port(18545) machine.succeed( - 'geth attach --exec "eth.chainId()" http://localhost:8545 | grep \'"0x0"\' ' + 'geth attach --exec eth.blockNumber http://localhost:8545 | grep \'^0$\' ' ) machine.succeed( diff --git a/pkgs/applications/audio/cyanrip/default.nix b/pkgs/applications/audio/cyanrip/default.nix index 3338fe40bf17..d03b7836f2ae 100644 --- a/pkgs/applications/audio/cyanrip/default.nix +++ b/pkgs/applications/audio/cyanrip/default.nix @@ -12,13 +12,13 @@ }: stdenv.mkDerivation rec { pname = "cyanrip"; - version = "0.7.0"; + version = "0.8.0"; src = fetchFromGitHub { owner = "cyanreg"; repo = pname; rev = "v${version}"; - sha256 = "0lgb92sfpf4w3nj5vlj6j7931mj2q3cmcx1app9snf853jk9ahmw"; + sha256 = "1aip52bwkq8cb1d8ifyv2m6m5dz7jk6qmbhyb97yyf4nhxv445ky"; }; nativeBuildInputs = [ meson ninja pkg-config ]; @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/cyanreg/cyanrip"; description = "Bule-ish CD ripper"; - license = licenses.lgpl3Plus; + license = licenses.lgpl21Plus; platforms = platforms.all; maintainers = [ maintainers.zane ]; }; diff --git a/pkgs/applications/misc/fme/default.nix b/pkgs/applications/misc/fme/default.nix deleted file mode 100644 index 03a9f875a793..000000000000 --- a/pkgs/applications/misc/fme/default.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf -, automake -, bc -, fluxbox -, gettext -, glibmm -, gtkmm2 -, libglademm -, libsigcxx -, pkg-config -}: - -stdenv.mkDerivation rec { - pname = "fme"; - version = "1.1.3"; - - src = fetchFromGitHub { - owner = "rdehouss"; - repo = "fme"; - rev = "v${version}"; - sha256 = "sha256-P67OmExBdWM6NZhDyYceVJOZiy8RC+njk/QvgQcWZeQ="; - }; - - nativeBuildInputs = [ - autoconf - automake - gettext - pkg-config - ]; - buildInputs = [ - bc - fluxbox - glibmm - gtkmm2 - libglademm - libsigcxx - ]; - - preConfigure = '' - ./autogen.sh - ''; - - meta = with lib; { - homepage = "https://github.com/rdehouss/fme/"; - description = "Editor for Fluxbox menus"; - longDescription = '' - Fluxbox Menu Editor is a menu editor for the Window Manager Fluxbox - written in C++ with the libraries Gtkmm, Glibmm, libglademm and gettext - for internationalization. Its user-friendly interface will help you to - edit, delete, move (Drag and Drop) a row, a submenu, etc very easily. - ''; - license = licenses.gpl2Plus; - maintainers = [ maintainers.AndersonTorres ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix index 59d4a4ff7cee..2d9545bc13aa 100644 --- a/pkgs/applications/networking/cluster/helm/default.nix +++ b/pkgs/applications/networking/cluster/helm/default.nix @@ -1,23 +1,24 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ lib, buildGo117Module, fetchFromGitHub, installShellFiles }: -buildGoModule rec { +buildGo117Module rec { pname = "helm"; - version = "3.7.2"; - gitCommit = "663a896f4a815053445eec4153677ddc24a0a361"; + version = "3.8.0"; + gitCommit = "d14138609b01886f544b2025f5000351c9eb092e"; src = fetchFromGitHub { owner = "helm"; repo = "helm"; rev = "v${version}"; - sha256 = "sha256-MhBuwpgF1PBAZ5QwF7t4J1gqam2cMX+hkdZs7KoSD6I="; + sha256 = "sha256-/vxf3YfBP1WHFpqll6iq4m+X4NA16qHnuGA0wvrVRsg="; }; - vendorSha256 = "sha256-YDdpeVh9rG3MF1HgG7uuRvjXDr9Fcjuhrj16kpK8tsI="; + vendorSha256 = "sha256-M7XId+2HIh1mFzU54qQZEisWdVq67RlGJjlw+2dpiDc="; doCheck = false; subPackages = [ "cmd/helm" ]; ldflags = [ - "-w" "-s" + "-w" + "-s" "-X helm.sh/helm/v3/internal/version.version=v${version}" "-X helm.sh/helm/v3/internal/version.gitCommit=${gitCommit}" ]; diff --git a/pkgs/applications/networking/cluster/sonobuoy/default.nix b/pkgs/applications/networking/cluster/sonobuoy/default.nix index c256f23dbc9c..1d2fdea35d0d 100644 --- a/pkgs/applications/networking/cluster/sonobuoy/default.nix +++ b/pkgs/applications/networking/cluster/sonobuoy/default.nix @@ -1,11 +1,11 @@ { lib, buildGoModule, fetchFromGitHub }: # SHA of ${version} for the tool's help output. Unfortunately this is needed in build flags. -let rev = "237bd35906f5c4bed1f4de4aa58cc6a6a676d4fd"; +let rev = "0665cd322b11bb40c2774776de765c38d8104bed"; in buildGoModule rec { pname = "sonobuoy"; - version = "0.55.1"; # Do not forget to update `rev` above + version = "0.56.0"; # Do not forget to update `rev` above ldflags = let t = "github.com/vmware-tanzu/sonobuoy"; @@ -20,10 +20,10 @@ buildGoModule rec { owner = "vmware-tanzu"; repo = "sonobuoy"; rev = "v${version}"; - sha256 = "sha256-pHpnh+6O9yjnDA8u0jyLvqNQbXC+xz8fRn47aQNdOAo="; + sha256 = "sha256-78skqo3sq567s3/XN54xtC0mefDY3Io3BD0d+JP7k5Q="; }; - vendorSha256 = "sha256-jPKCWTFABKRZCg6X5VVdrmOU/ZFc7yGD7R8RJrpcITg="; + vendorSha256 = "sha256-qKXm39CwrTcXENIMh2BBS3MUlhJvmTTA3UzZNpF0PCc="; subPackages = [ "." ]; diff --git a/pkgs/applications/networking/cluster/talosctl/default.nix b/pkgs/applications/networking/cluster/talosctl/default.nix new file mode 100644 index 000000000000..819bf4741aa0 --- /dev/null +++ b/pkgs/applications/networking/cluster/talosctl/default.nix @@ -0,0 +1,44 @@ +{ lib, buildGo117Module, fetchFromGitHub }: + +buildGo117Module rec { + pname = "talosctl"; + version = "0.14.1"; + + src = fetchFromGitHub { + owner = "talos-systems"; + repo = "talos"; + rev = "v${version}"; + sha256 = "sha256-JeZ+Q6LTDJtoxfu4mJNc3wv3Y6OPcIUvgnozj9mWwLw="; + }; + + vendorSha256 = "sha256-ujbEWvcNJJOUegVgAGEPwYF02TiqD1lZELvqc/Gmb4A="; + + # look for GO_LDFLAGS getting set in the Makefile + ldflags = + let + versionPkg = "github.com/talos-systems/talos/pkg/version"; # VERSION_PKG + imagesPkgs = "github.com/talos-systems/talos/pkg/images"; # IMAGES_PKGS + mgmtHelpersPkg = "github.com/talos-systems/talos/cmd/talosctl/pkg/mgmt/helpers"; #MGMT_HELPERS_PKG + in + [ + "-X ${versionPkg}.Name=Talos" + "-X ${versionPkg}.SHA=${src.rev}" # should be the hash, but as we build from tags, this needs to do + "-X ${versionPkg}.Tag=${src.rev}" + "-X ${versionPkg}.PkgsVersion=v0.9.0-2-g447ce75" # PKGS + "-X ${versionPkg}.ExtrasVersion=v0.7.0-1-gd6b73a7" # EXTRAS + "-X ${imagesPkgs}.Username=talos-systems" # USERNAME + "-X ${imagesPkgs}.Registry=ghcr.io" # REGISTRY + "-X ${mgmtHelpersPkg}.ArtifactsPath=_out" # ARTIFACTS + ]; + + subPackages = [ "cmd/talosctl" ]; + + doCheck = false; + + meta = with lib; { + description = "A CLI for out-of-band management of Kubernetes nodes created by Talos"; + homepage = "https://github.com/talos-systems/talos"; + license = licenses.mpl20; + maintainers = with maintainers; [ flokli ]; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index 752fa7ba191f..a33980874553 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -28,11 +28,11 @@ }: let - version = "5.9.1.1380"; + version = "5.9.3.1911"; srcs = { x86_64-linux = fetchurl { url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz"; - sha256 = "0r1w13y3ks377hdyil9s68vn09vh22zl6ni4693fm7cf6q49ayyw"; + sha256 = "0pamn028k96z0j9xzv56szk7sy0czd9myqm4p3hps1gkczc9wzs4"; }; }; diff --git a/pkgs/applications/networking/mullvad-vpn/default.nix b/pkgs/applications/networking/mullvad-vpn/default.nix index fd08817f026d..c196f6bdbda9 100644 --- a/pkgs/applications/networking/mullvad-vpn/default.nix +++ b/pkgs/applications/networking/mullvad-vpn/default.nix @@ -2,6 +2,7 @@ , alsa-lib, atk, cairo, cups, dbus, expat, fontconfig, freetype , gdk-pixbuf, glib, gnome2, pango, nspr, nss, gtk3, mesa , xorg, autoPatchelfHook, systemd, libnotify, libappindicator +, makeWrapper }: let deps = [ @@ -53,6 +54,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoPatchelfHook dpkg + makeWrapper ]; buildInputs = deps; @@ -73,12 +75,14 @@ stdenv.mkDerivation rec { mv usr/bin/* $out/bin mv opt/Mullvad\ VPN/* $out/share/mullvad - sed -i 's|"\/opt\/Mullvad.*VPN|env MULLVAD_DISABLE_UPDATE_NOTIFICATION=1 "'$out'/bin|g' $out/share/applications/mullvad-vpn.desktop - ln -s $out/share/mullvad/mullvad-{gui,vpn} $out/bin/ ln -s $out/share/mullvad/resources/mullvad-daemon $out/bin/mullvad-daemon ln -sf $out/share/mullvad/resources/mullvad-problem-report $out/bin/mullvad-problem-report + wrapProgram $out/bin/mullvad-vpn --set MULLVAD_DISABLE_UPDATE_NOTIFICATION 1 + + sed -i "s|Exec.*$|Exec=$out/bin/mullvad-vpn $U|" $out/share/applications/mullvad-vpn.desktop + runHook postInstall ''; diff --git a/pkgs/applications/science/logic/isabelle/default.nix b/pkgs/applications/science/logic/isabelle/default.nix index 5427f42a7588..0f0410024251 100644 --- a/pkgs/applications/science/logic/isabelle/default.nix +++ b/pkgs/applications/science/logic/isabelle/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, nettools, java, polyml, z3, veriT, vampire, eprover-ho, rlwrap, makeDesktopItem }: +{ lib, stdenv, fetchurl, coreutils, nettools, java, polyml, z3, veriT, vampire, eprover-ho, rlwrap, makeDesktopItem }: # nettools needed for hostname stdenv.mkDerivation rec { @@ -73,6 +73,11 @@ stdenv.mkDerivation rec { for comp in contrib/jdk* contrib/polyml-* contrib/z3-* contrib/verit-* contrib/vampire-* contrib/e-*; do rm -rf $comp/x86* done + + substituteInPlace lib/Tools/env \ + --replace /usr/bin/env ${coreutils}/bin/env + + rm -r heaps '' + (if ! stdenv.isLinux then "" else '' arch=${if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64-linux" else "x86-linux"} |