Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2023-08-10 18:01:30 +00:00 committed by GitHub
commit ec1a84ef66
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
34 changed files with 680 additions and 554 deletions

View File

@ -1,4 +1,4 @@
# Contributing to this documentation {#chap-contributing}
# Contributing to Nixpkgs documentation {#chap-contributing}
The sources of the Nixpkgs manual are in the [doc](https://github.com/NixOS/nixpkgs/tree/master/doc) subdirectory of the Nixpkgs repository.
@ -25,6 +25,9 @@ As per [RFC 0072](https://github.com/NixOS/rfcs/pull/72), all new documentation
Additional syntax extensions are available, all of which can be used in NixOS option documentation. The following extensions are currently used:
- []{#ssec-contributing-markup-tables}
Tables, using the [GitHub-flavored Markdown syntax](https://github.github.com/gfm/#tables-extension-).
- []{#ssec-contributing-markup-anchors}
Explicitly defined **anchors** on headings, to allow linking to sections. These should be always used, to ensure the anchors can be linked even when the heading text changes, and to prevent conflicts between [automatically assigned identifiers](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/auto_identifiers.md).

View File

@ -436,7 +436,12 @@ rec {
# Deprecated; should not be used because it quietly concatenates
# strings, which is usually not what you want.
string = throw "The type `types.string` is deprecated. See https://github.com/NixOS/nixpkgs/pull/66346 for better alternative types.";
# We use a lib.warn because `deprecationMessage` doesn't trigger in nested types such as `attrsOf string`
string = lib.warn
"The type `types.string` is deprecated. See https://github.com/NixOS/nixpkgs/pull/66346 for better alternative types."
(separatedString "" // {
name = "string";
});
passwdEntry = entryType: addCheck entryType (str: !(hasInfix ":" str || hasInfix "\n" str)) // {
name = "passwdEntry ${entryType.name}";

View File

@ -18428,6 +18428,17 @@
githubId = 3705333;
name = "Dmitry V.";
};
yavko = {
name = "Yavor Kolev";
email = "yavornkolev@gmail.com";
matrix = "@yavor:nikolay.ems.host";
github = "yavko";
githubId = 15178513;
keys = [
{fingerprint = "DC05 7015 ECD7 E68A 6426 EFD8 F07D 19A3 2407 F857";}
{fingerprint = "2874 581F F832 C9E9 AEC6 8D84 E57B F27C 8BB0 80B0";}
];
};
yayayayaka = {
email = "nixpkgs@uwu.is";
matrix = "@yaya:uwu.is";

View File

@ -1,6 +1,7 @@
# Contributing to this manual {#chap-contributing}
The [DocBook] and CommonMark sources of the NixOS manual are in the [nixos/doc/manual](https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual) subdirectory of the [Nixpkgs](https://github.com/NixOS/nixpkgs) repository.
This manual uses the [Nixpkgs manual syntax](https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup).
You can quickly check your edits with the following:

View File

@ -1,21 +1,14 @@
# This module provides the proprietary NVIDIA X11 / OpenGL drivers.
{
config,
lib,
pkgs,
...
}: let
nvidia_x11 =
if (lib.elem "nvidia" config.services.xserver.videoDrivers)
then cfg.package
else null;
{ config, lib, pkgs, ... }:
with lib;
let
nvidia_x11 = let
drivers = config.services.xserver.videoDrivers;
isDeprecated = str: (hasPrefix "nvidia" str) && (str != "nvidia");
hasDeprecated = drivers: any isDeprecated drivers;
in if (hasDeprecated drivers) then
throw ''
Selecting an nvidia driver has been modified for NixOS 19.03. The version is now set using `hardware.nvidia.package`.
''
else if (elem "nvidia" drivers) then cfg.package else null;
enabled = nvidia_x11 != null;
cfg = config.hardware.nvidia;
pCfg = cfg.prime;
@ -23,90 +16,68 @@ let
offloadCfg = pCfg.offload;
reverseSyncCfg = pCfg.reverseSync;
primeEnabled = syncCfg.enable || reverseSyncCfg.enable || offloadCfg.enable;
nvidiaPersistencedEnabled = cfg.nvidiaPersistenced;
nvidiaSettings = cfg.nvidiaSettings;
busIDType = types.strMatching "([[:print:]]+[\:\@][0-9]{1,3}\:[0-9]{1,2}\:[0-9])?";
busIDType = lib.types.strMatching "([[:print:]]+[\:\@][0-9]{1,3}\:[0-9]{1,2}\:[0-9])?";
ibtSupport = cfg.open || (nvidia_x11.ibtSupport or false);
in
{
imports =
[
(mkRenamedOptionModule [ "hardware" "nvidia" "optimus_prime" "enable" ] [ "hardware" "nvidia" "prime" "sync" "enable" ])
(mkRenamedOptionModule [ "hardware" "nvidia" "optimus_prime" "allowExternalGpu" ] [ "hardware" "nvidia" "prime" "allowExternalGpu" ])
(mkRenamedOptionModule [ "hardware" "nvidia" "prime" "sync" "allowExternalGpu" ] [ "hardware" "nvidia" "prime" "allowExternalGpu" ])
(mkRenamedOptionModule [ "hardware" "nvidia" "optimus_prime" "nvidiaBusId" ] [ "hardware" "nvidia" "prime" "nvidiaBusId" ])
(mkRenamedOptionModule [ "hardware" "nvidia" "optimus_prime" "intelBusId" ] [ "hardware" "nvidia" "prime" "intelBusId" ])
];
in {
options = {
hardware.nvidia.powerManagement.enable = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Experimental power management through systemd. For more information, see
hardware.nvidia = {
powerManagement.enable = lib.mkEnableOption (lib.mdDoc ''
experimental power management through systemd. For more information, see
the NVIDIA docs, on Chapter 21. Configuring Power Management Support.
'';
};
'');
hardware.nvidia.powerManagement.finegrained = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Experimental power management of PRIME offload. For more information, see
the NVIDIA docs, chapter 22. PCI-Express runtime power management.
'';
};
powerManagement.finegrained = lib.mkEnableOption (lib.mdDoc ''
experimental power management of PRIME offload. For more information, see
the NVIDIA docs, on Chapter 22. PCI-Express Runtime D3 (RTD3) Power Management.
'');
hardware.nvidia.modesetting.enable = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Enable kernel modesetting when using the NVIDIA proprietary driver.
dynamicBoost.enable = lib.mkEnableOption (lib.mdDoc ''
dynamic Boost balances power between the CPU and the GPU for improved
performance on supported laptops using the nvidia-powerd daemon. For more
information, see the NVIDIA docs, on Chapter 23. Dynamic Boost on Linux.
'');
modesetting.enable = lib.mkEnableOption (lib.mdDoc ''
kernel modesetting when using the NVIDIA proprietary driver.
Enabling this fixes screen tearing when using Optimus via PRIME (see
{option}`hardware.nvidia.prime.sync.enable`. This is not enabled
by default because it is not officially supported by NVIDIA and would not
work with SLI.
'';
};
'');
hardware.nvidia.prime.nvidiaBusId = mkOption {
type = busIDType;
default = "";
example = "PCI:1:0:0";
description = lib.mdDoc ''
Bus ID of the NVIDIA GPU. You can find it using lspci; for example if lspci
shows the NVIDIA GPU at "01:00.0", set this option to "PCI:1:0:0".
'';
};
prime.nvidiaBusId = lib.mkOption {
type = busIDType;
default = "";
example = "PCI:1:0:0";
description = lib.mdDoc ''
Bus ID of the NVIDIA GPU. You can find it using lspci; for example if lspci
shows the NVIDIA GPU at "01:00.0", set this option to "PCI:1:0:0".
'';
};
hardware.nvidia.prime.intelBusId = mkOption {
type = busIDType;
default = "";
example = "PCI:0:2:0";
description = lib.mdDoc ''
Bus ID of the Intel GPU. You can find it using lspci; for example if lspci
shows the Intel GPU at "00:02.0", set this option to "PCI:0:2:0".
'';
};
prime.intelBusId = lib.mkOption {
type = busIDType;
default = "";
example = "PCI:0:2:0";
description = lib.mdDoc ''
Bus ID of the Intel GPU. You can find it using lspci; for example if lspci
shows the Intel GPU at "00:02.0", set this option to "PCI:0:2:0".
'';
};
hardware.nvidia.prime.amdgpuBusId = mkOption {
type = busIDType;
default = "";
example = "PCI:4:0:0";
description = lib.mdDoc ''
Bus ID of the AMD APU. You can find it using lspci; for example if lspci
shows the AMD APU at "04:00.0", set this option to "PCI:4:0:0".
'';
};
prime.amdgpuBusId = lib.mkOption {
type = busIDType;
default = "";
example = "PCI:4:0:0";
description = lib.mdDoc ''
Bus ID of the AMD APU. You can find it using lspci; for example if lspci
shows the AMD APU at "04:00.0", set this option to "PCI:4:0:0".
'';
};
hardware.nvidia.prime.sync.enable = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Enable NVIDIA Optimus support using the NVIDIA proprietary driver via PRIME.
prime.sync.enable = lib.mkEnableOption (lib.mdDoc ''
NVIDIA Optimus support using the NVIDIA proprietary driver via PRIME.
If enabled, the NVIDIA GPU will be always on and used for all rendering,
while enabling output to displays attached only to the integrated Intel/AMD
GPU without a multiplexer.
@ -127,55 +98,39 @@ in
Note that this configuration will only be successful when a display manager
for which the {option}`services.xserver.displayManager.setupCommands`
option is supported is used.
'';
};
'');
hardware.nvidia.prime.allowExternalGpu = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Configure X to allow external NVIDIA GPUs when using Prime [Reverse] sync optimus.
'';
};
prime.allowExternalGpu = lib.mkEnableOption (lib.mdDoc ''
configuring X to allow external NVIDIA GPUs when using Prime [Reverse] sync optimus.
'');
hardware.nvidia.prime.offload.enable = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Enable render offload support using the NVIDIA proprietary driver via PRIME.
prime.offload.enable = lib.mkEnableOption (lib.mdDoc ''
render offload support using the NVIDIA proprietary driver via PRIME.
If this is enabled, then the bus IDs of the NVIDIA and Intel/AMD GPUs have to
be specified ({option}`hardware.nvidia.prime.nvidiaBusId` and
{option}`hardware.nvidia.prime.intelBusId` or
{option}`hardware.nvidia.prime.amdgpuBusId`).
'';
};
'');
hardware.nvidia.prime.offload.enableOffloadCmd = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Adds a `nvidia-offload` convenience script to {option}`environment.systemPackages`
prime.offload.enableOffloadCmd = lib.mkEnableOption (lib.mdDoc ''
adding a `nvidia-offload` convenience script to {option}`environment.systemPackages`
for offloading programs to an nvidia device. To work, should have also enabled
{option}`hardware.nvidia.prime.offload.enable` or {option}`hardware.nvidia.prime.reverseSync.enable`.
Example usage `nvidia-offload sauerbraten_client`.
'';
};
'');
hardware.nvidia.prime.reverseSync.enable = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Warning: This feature is relatively new, depending on your system this might
work poorly. AMD support, especially so.
See: https://forums.developer.nvidia.com/t/the-all-new-outputsink-feature-aka-reverse-prime/129828
Enable NVIDIA Optimus support using the NVIDIA proprietary driver via reverse
prime.reverseSync.enable = lib.mkEnableOption (lib.mdDoc ''
NVIDIA Optimus support using the NVIDIA proprietary driver via reverse
PRIME. If enabled, the Intel/AMD GPU will be used for all rendering, while
enabling output to displays attached only to the NVIDIA GPU without a
multiplexer.
Warning: This feature is relatively new, depending on your system this might
work poorly. AMD support, especially so.
See: https://forums.developer.nvidia.com/t/the-all-new-outputsink-feature-aka-reverse-prime/129828
Note that this option only has any effect if the "nvidia" driver is specified
in {option}`services.xserver.videoDrivers`, and it should preferably
be the only driver there.
@ -192,316 +147,347 @@ in
Note that this configuration will only be successful when a display manager
for which the {option}`services.xserver.displayManager.setupCommands`
option is supported is used.
'';
};
'');
hardware.nvidia.nvidiaSettings = mkOption {
default = true;
type = types.bool;
description = lib.mdDoc ''
Whether to add nvidia-settings, NVIDIA's GUI configuration tool, to
systemPackages.
'';
};
nvidiaSettings =
(lib.mkEnableOption (lib.mdDoc ''
nvidia-settings, NVIDIA's GUI configuration tool.
''))
// {default = true;};
hardware.nvidia.nvidiaPersistenced = mkOption {
default = false;
type = types.bool;
description = lib.mdDoc ''
Update for NVIDA GPU headless mode, i.e. nvidia-persistenced. It ensures all
GPUs stay awake even during headless mode.
'';
};
nvidiaPersistenced = lib.mkEnableOption (lib.mdDoc ''
nvidia-persistenced a update for NVIDIA GPU headless mode, i.e.
It ensures all GPUs stay awake even during headless mode.
'');
hardware.nvidia.forceFullCompositionPipeline = lib.mkOption {
default = false;
type = types.bool;
description = lib.mdDoc ''
Whether to force-enable the full composition pipeline.
forceFullCompositionPipeline = lib.mkEnableOption (lib.mdDoc ''
forcefully the full composition pipeline.
This sometimes fixes screen tearing issues.
This has been reported to reduce the performance of some OpenGL applications and may produce issues in WebGL.
It also drastically increases the time the driver needs to clock down after load.
'';
};
'');
hardware.nvidia.package = lib.mkOption {
type = types.package;
default = config.boot.kernelPackages.nvidiaPackages.stable;
defaultText = literalExpression "config.boot.kernelPackages.nvidiaPackages.stable";
description = lib.mdDoc ''
The NVIDIA X11 derivation to use.
'';
example = literalExpression "config.boot.kernelPackages.nvidiaPackages.legacy_340";
};
package = lib.mkPackageOptionMD config.boot.kernelPackages.nvidiaPackages "nvidia_x11" {
default = "stable";
example = lib.mdDoc "config.boot.kernelPackages.nvidiaPackages.legacy_470";
};
hardware.nvidia.open = lib.mkOption {
type = lib.types.bool;
default = false;
description = lib.mdDoc ''
Whether to use the open source kernel module
'';
open = lib.mkEnableOption (lib.mdDoc ''
the open source NVIDIA kernel module
'');
};
};
config = let
igpuDriver = if pCfg.intelBusId != "" then "modesetting" else "amdgpu";
igpuBusId = if pCfg.intelBusId != "" then pCfg.intelBusId else pCfg.amdgpuBusId;
in mkIf enabled {
assertions = [
{
assertion = primeEnabled -> pCfg.intelBusId == "" || pCfg.amdgpuBusId == "";
message = ''
You cannot configure both an Intel iGPU and an AMD APU. Pick the one corresponding to your processor.
'';
}
igpuDriver =
if pCfg.intelBusId != ""
then "modesetting"
else "amdgpu";
igpuBusId =
if pCfg.intelBusId != ""
then pCfg.intelBusId
else pCfg.amdgpuBusId;
in
lib.mkIf (nvidia_x11 != null) {
assertions = [
{
assertion = primeEnabled -> pCfg.intelBusId == "" || pCfg.amdgpuBusId == "";
message = "You cannot configure both an Intel iGPU and an AMD APU. Pick the one corresponding to your processor.";
}
{
assertion = offloadCfg.enableOffloadCmd -> offloadCfg.enable || reverseSyncCfg.enable;
message = ''
Offload command requires offloading or reverse prime sync to be enabled.
'';
}
{
assertion = offloadCfg.enableOffloadCmd -> offloadCfg.enable || reverseSyncCfg.enable;
message = "Offload command requires offloading or reverse prime sync to be enabled.";
}
{
assertion = primeEnabled -> pCfg.nvidiaBusId != "" && (pCfg.intelBusId != "" || pCfg.amdgpuBusId != "");
message = ''
When NVIDIA PRIME is enabled, the GPU bus IDs must be configured.
'';
}
{
assertion = primeEnabled -> pCfg.nvidiaBusId != "" && (pCfg.intelBusId != "" || pCfg.amdgpuBusId != "");
message = "When NVIDIA PRIME is enabled, the GPU bus IDs must be configured.";
}
{
assertion = offloadCfg.enable -> versionAtLeast nvidia_x11.version "435.21";
message = "NVIDIA PRIME render offload is currently only supported on versions >= 435.21.";
}
{
assertion = offloadCfg.enable -> lib.versionAtLeast nvidia_x11.version "435.21";
message = "NVIDIA PRIME render offload is currently only supported on versions >= 435.21.";
}
{
assertion = (reverseSyncCfg.enable && pCfg.amdgpuBusId != "") -> versionAtLeast nvidia_x11.version "470.0";
message = "NVIDIA PRIME render offload for AMD APUs is currently only supported on versions >= 470 beta.";
}
{
assertion = (reverseSyncCfg.enable && pCfg.amdgpuBusId != "") -> lib.versionAtLeast nvidia_x11.version "470.0";
message = "NVIDIA PRIME render offload for AMD APUs is currently only supported on versions >= 470 beta.";
}
{
assertion = !(syncCfg.enable && offloadCfg.enable);
message = "PRIME Sync and Offload cannot be both enabled";
}
{
assertion = !(syncCfg.enable && offloadCfg.enable);
message = "PRIME Sync and Offload cannot be both enabled";
}
{
assertion = !(syncCfg.enable && reverseSyncCfg.enable);
message = "PRIME Sync and PRIME Reverse Sync cannot be both enabled";
}
{
assertion = !(syncCfg.enable && reverseSyncCfg.enable);
message = "PRIME Sync and PRIME Reverse Sync cannot be both enabled";
}
{
assertion = !(syncCfg.enable && cfg.powerManagement.finegrained);
message = "Sync precludes powering down the NVIDIA GPU.";
}
{
assertion = !(syncCfg.enable && cfg.powerManagement.finegrained);
message = "Sync precludes powering down the NVIDIA GPU.";
}
{
assertion = cfg.powerManagement.finegrained -> offloadCfg.enable;
message = "Fine-grained power management requires offload to be enabled.";
}
{
assertion = cfg.powerManagement.finegrained -> offloadCfg.enable;
message = "Fine-grained power management requires offload to be enabled.";
}
{
assertion = cfg.powerManagement.enable -> versionAtLeast nvidia_x11.version "430.09";
message = "Required files for driver based power management only exist on versions >= 430.09.";
}
{
assertion = cfg.powerManagement.enable -> lib.versionAtLeast nvidia_x11.version "430.09";
message = "Required files for driver based power management only exist on versions >= 430.09.";
}
{
assertion = cfg.open -> (cfg.package ? open && cfg.package ? firmware);
message = "This version of NVIDIA driver does not provide a corresponding opensource kernel driver";
}
];
{
assertion = cfg.open -> (cfg.package ? open && cfg.package ? firmware);
message = "This version of NVIDIA driver does not provide a corresponding opensource kernel driver";
}
# If Optimus/PRIME is enabled, we:
# - Specify the configured NVIDIA GPU bus ID in the Device section for the
# "nvidia" driver.
# - Add the AllowEmptyInitialConfiguration option to the Screen section for the
# "nvidia" driver, in order to allow the X server to start without any outputs.
# - Add a separate Device section for the Intel GPU, using the "modesetting"
# driver and with the configured BusID.
# - OR add a separate Device section for the AMD APU, using the "amdgpu"
# driver and with the configures BusID.
# - Reference that Device section from the ServerLayout section as an inactive
# device.
# - Configure the display manager to run specific `xrandr` commands which will
# configure/enable displays connected to the Intel iGPU / AMD APU.
{
assertion = cfg.dynamicBoost.enable -> lib.versionAtLeast nvidia_x11.version "510.39.01";
message = "NVIDIA's Dynamic Boost feature only exists on versions >= 510.39.01";
}
];
# reverse sync implies offloading
hardware.nvidia.prime.offload.enable = mkDefault reverseSyncCfg.enable;
# If Optimus/PRIME is enabled, we:
# - Specify the configured NVIDIA GPU bus ID in the Device section for the
# "nvidia" driver.
# - Add the AllowEmptyInitialConfiguration option to the Screen section for the
# "nvidia" driver, in order to allow the X server to start without any outputs.
# - Add a separate Device section for the Intel GPU, using the "modesetting"
# driver and with the configured BusID.
# - OR add a separate Device section for the AMD APU, using the "amdgpu"
# driver and with the configures BusID.
# - Reference that Device section from the ServerLayout section as an inactive
# device.
# - Configure the display manager to run specific `xrandr` commands which will
# configure/enable displays connected to the Intel iGPU / AMD APU.
services.xserver.drivers = optional primeEnabled {
name = igpuDriver;
display = offloadCfg.enable;
modules = optionals (igpuDriver == "amdgpu") [ pkgs.xorg.xf86videoamdgpu ];
deviceSection = ''
BusID "${igpuBusId}"
${optionalString (syncCfg.enable && igpuDriver != "amdgpu") ''Option "AccelMethod" "none"''}
'';
} ++ singleton {
name = "nvidia";
modules = [ nvidia_x11.bin ];
display = !offloadCfg.enable;
deviceSection = optionalString primeEnabled
# reverse sync implies offloading
hardware.nvidia.prime.offload.enable = lib.mkDefault reverseSyncCfg.enable;
services.xserver.drivers =
lib.optional primeEnabled {
name = igpuDriver;
display = offloadCfg.enable;
modules = lib.optional (igpuDriver == "amdgpu") pkgs.xorg.xf86videoamdgpu;
deviceSection =
''
BusID "${igpuBusId}"
''
+ lib.optionalString (syncCfg.enable && igpuDriver != "amdgpu") ''
Option "AccelMethod" "none"
'';
}
++ lib.singleton {
name = "nvidia";
modules = [nvidia_x11.bin];
display = !offloadCfg.enable;
deviceSection =
lib.optionalString primeEnabled
''
BusID "${pCfg.nvidiaBusId}"
''
+ lib.optionalString pCfg.allowExternalGpu ''
Option "AllowExternalGpus"
'';
screenSection =
''
Option "RandRRotation" "on"
''
+ lib.optionalString syncCfg.enable ''
Option "AllowEmptyInitialConfiguration"
''
+ lib.optionalString cfg.forceFullCompositionPipeline ''
Option "metamodes" "nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}"
Option "AllowIndirectGLXProtocol" "off"
Option "TripleBuffer" "on"
'';
};
services.xserver.serverLayoutSection =
lib.optionalString syncCfg.enable ''
Inactive "Device-${igpuDriver}[0]"
''
BusID "${pCfg.nvidiaBusId}"
${optionalString pCfg.allowExternalGpu "Option \"AllowExternalGpus\""}
+ lib.optionalString reverseSyncCfg.enable ''
Inactive "Device-nvidia[0]"
''
+ lib.optionalString offloadCfg.enable ''
Option "AllowNVIDIAGPUScreens"
'';
screenSection =
''
Option "RandRRotation" "on"
'' + optionalString syncCfg.enable ''
Option "AllowEmptyInitialConfiguration"
'' + optionalString cfg.forceFullCompositionPipeline ''
Option "metamodes" "nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}"
Option "AllowIndirectGLXProtocol" "off"
Option "TripleBuffer" "on"
''
;
};
services.xserver.serverLayoutSection = optionalString syncCfg.enable ''
Inactive "Device-${igpuDriver}[0]"
'' + optionalString reverseSyncCfg.enable ''
Inactive "Device-nvidia[0]"
'' + optionalString offloadCfg.enable ''
Option "AllowNVIDIAGPUScreens"
'';
services.xserver.displayManager.setupCommands = let
gpuProviderName =
if igpuDriver == "amdgpu"
then
# find the name of the provider if amdgpu
"`${lib.getExe pkgs.xorg.xrandr} --listproviders | ${lib.getExe pkgs.gnugrep} -i AMD | ${lib.getExe pkgs.gnused} -n 's/^.*name://p'`"
else igpuDriver;
providerCmdParams =
if syncCfg.enable
then "\"${gpuProviderName}\" NVIDIA-0"
else "NVIDIA-G0 \"${gpuProviderName}\"";
in
lib.optionalString (syncCfg.enable || reverseSyncCfg.enable) ''
# Added by nvidia configuration module for Optimus/PRIME.
${lib.getExe pkgs.xorg.xrandr} --setprovideroutputsource ${providerCmdParams}
${lib.getExe pkgs.xorg.xrandr} --auto
'';
services.xserver.displayManager.setupCommands = let
gpuProviderName = if igpuDriver == "amdgpu" then
# find the name of the provider if amdgpu
"`${pkgs.xorg.xrandr}/bin/xrandr --listproviders | ${pkgs.gnugrep}/bin/grep -i AMD | ${pkgs.gnused}/bin/sed -n 's/^.*name://p'`"
else
igpuDriver;
providerCmdParams = if syncCfg.enable then "\"${gpuProviderName}\" NVIDIA-0" else "NVIDIA-G0 \"${gpuProviderName}\"";
in optionalString (syncCfg.enable || reverseSyncCfg.enable) ''
# Added by nvidia configuration module for Optimus/PRIME.
${pkgs.xorg.xrandr}/bin/xrandr --setprovideroutputsource ${providerCmdParams}
${pkgs.xorg.xrandr}/bin/xrandr --auto
'';
environment.etc = {
"nvidia/nvidia-application-profiles-rc" = lib.mkIf nvidia_x11.useProfiles {source = "${nvidia_x11.bin}/share/nvidia/nvidia-application-profiles-rc";};
environment.etc."nvidia/nvidia-application-profiles-rc" = mkIf nvidia_x11.useProfiles {
source = "${nvidia_x11.bin}/share/nvidia/nvidia-application-profiles-rc";
};
# 'nvidia_x11' installs it's files to /run/opengl-driver/...
"egl/egl_external_platform.d".source = "/run/opengl-driver/share/egl/egl_external_platform.d/";
};
# 'nvidia_x11' installs it's files to /run/opengl-driver/...
environment.etc."egl/egl_external_platform.d".source =
"/run/opengl-driver/share/egl/egl_external_platform.d/";
hardware.opengl.extraPackages = [
nvidia_x11.out
pkgs.nvidia-vaapi-driver
];
hardware.opengl.extraPackages32 = [
nvidia_x11.lib32
pkgs.pkgsi686Linux.nvidia-vaapi-driver
];
environment.systemPackages = [ nvidia_x11.bin ]
++ optionals cfg.nvidiaSettings [ nvidia_x11.settings ]
++ optionals nvidiaPersistencedEnabled [ nvidia_x11.persistenced ]
++ optionals offloadCfg.enableOffloadCmd [
hardware.opengl = {
extraPackages = [
nvidia_x11.out
pkgs.nvidia-vaapi-driver
];
extraPackages32 = [
nvidia_x11.lib32
pkgs.pkgsi686Linux.nvidia-vaapi-driver
];
};
environment.systemPackages =
[nvidia_x11.bin]
++ lib.optional cfg.nvidiaSettings nvidia_x11.settings
++ lib.optional cfg.nvidiaPersistenced nvidia_x11.persistenced
++ lib.optional offloadCfg.enableOffloadCmd
(pkgs.writeShellScriptBin "nvidia-offload" ''
export __NV_PRIME_RENDER_OFFLOAD=1
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
exec "$@"
'')
];
'');
systemd.packages = optional cfg.powerManagement.enable nvidia_x11.out;
systemd.packages = lib.optional cfg.powerManagement.enable nvidia_x11.out;
systemd.services = let
baseNvidiaService = state: {
description = "NVIDIA system ${state} actions";
path = with pkgs; [ kbd ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${nvidia_x11.out}/bin/nvidia-sleep.sh '${state}'";
};
};
nvidiaService = sleepState: (baseNvidiaService sleepState) // {
before = [ "systemd-${sleepState}.service" ];
requiredBy = [ "systemd-${sleepState}.service" ];
};
services = (builtins.listToAttrs (map (t: nameValuePair "nvidia-${t}" (nvidiaService t)) ["hibernate" "suspend"]))
// {
nvidia-resume = (baseNvidiaService "resume") // {
after = [ "systemd-suspend.service" "systemd-hibernate.service" ];
requiredBy = [ "systemd-suspend.service" "systemd-hibernate.service" ];
};
};
in optionalAttrs cfg.powerManagement.enable services
// optionalAttrs nvidiaPersistencedEnabled {
"nvidia-persistenced" = mkIf nvidiaPersistencedEnabled {
description = "NVIDIA Persistence Daemon";
wantedBy = [ "multi-user.target" ];
systemd.services = let
nvidiaService = state: {
description = "NVIDIA system ${state} actions";
path = [pkgs.kbd];
serviceConfig = {
Type = "forking";
Restart = "always";
PIDFile = "/var/run/nvidia-persistenced/nvidia-persistenced.pid";
ExecStart = "${nvidia_x11.persistenced}/bin/nvidia-persistenced --verbose";
ExecStopPost = "${pkgs.coreutils}/bin/rm -rf /var/run/nvidia-persistenced";
Type = "oneshot";
ExecStart = "${nvidia_x11.out}/bin/nvidia-sleep.sh '${state}'";
};
before = ["systemd-${state}.service"];
requiredBy = ["systemd-${state}.service"];
};
};
in
lib.mkMerge [
(lib.mkIf cfg.powerManagement.enable {
nvidia-suspend = nvidiaService "suspend";
nvidia-hibernate = nvidiaService "hibernate";
nvidia-resume =
(nvidiaService "resume")
// {
before = [];
after = ["systemd-suspend.service" "systemd-hibernate.service"];
requiredBy = ["systemd-suspend.service" "systemd-hibernate.service"];
};
})
(lib.mkIf cfg.nvidiaPersistenced {
"nvidia-persistenced" = {
description = "NVIDIA Persistence Daemon";
wantedBy = ["multi-user.target"];
serviceConfig = {
Type = "forking";
Restart = "always";
PIDFile = "/var/run/nvidia-persistenced/nvidia-persistenced.pid";
ExecStart = "${lib.getExe nvidia_x11.persistenced} --verbose";
ExecStopPost = "${pkgs.coreutils}/bin/rm -rf /var/run/nvidia-persistenced";
};
};
})
(lib.mkIf cfg.dynamicBoost.enable {
"nvidia-powerd" = {
description = "nvidia-powerd service";
path = [
pkgs.util-linux # nvidia-powerd wants lscpu
];
wantedBy = ["multi-user.target"];
serviceConfig = {
Type = "dbus";
BusName = "nvidia.powerd.server";
ExecStart = "${nvidia_x11.bin}/bin/nvidia-powerd";
};
};
})
];
systemd.tmpfiles.rules = optional config.virtualisation.docker.enableNvidia
services.acpid.enable = true;
services.dbus.packages = lib.optional cfg.dynamicBoost.enable nvidia_x11.bin;
hardware.firmware = lib.optional cfg.open nvidia_x11.firmware;
systemd.tmpfiles.rules =
lib.optional config.virtualisation.docker.enableNvidia
"L+ /run/nvidia-docker/bin - - - - ${nvidia_x11.bin}/origBin"
++ optional (nvidia_x11.persistenced != null && config.virtualisation.docker.enableNvidia)
++ lib.optional (nvidia_x11.persistenced != null && config.virtualisation.docker.enableNvidia)
"L+ /run/nvidia-docker/extras/bin/nvidia-persistenced - - - - ${nvidia_x11.persistenced}/origBin/nvidia-persistenced";
boot.extraModulePackages = if cfg.open then [ nvidia_x11.open ] else [ nvidia_x11.bin ];
hardware.firmware = lib.optional cfg.open nvidia_x11.firmware;
boot = {
blacklistedKernelModules = ["nouveau" "nvidiafb"];
# nvidia-uvm is required by CUDA applications.
boot.kernelModules = [ "nvidia-uvm" ] ++
optionals config.services.xserver.enable [ "nvidia" "nvidia_modeset" "nvidia_drm" ];
extraModulePackages =
if cfg.open
then [nvidia_x11.open]
else [nvidia_x11.bin];
# If requested enable modesetting via kernel parameter.
boot.kernelParams = optional (offloadCfg.enable || cfg.modesetting.enable) "nvidia-drm.modeset=1"
++ optional cfg.powerManagement.enable "nvidia.NVreg_PreserveVideoMemoryAllocations=1"
++ optional cfg.open "nvidia.NVreg_OpenRmEnableUnsupportedGpus=1"
++ optional (config.boot.kernelPackages.kernel.kernelAtLeast "6.2" && !ibtSupport) "ibt=off";
# nvidia-uvm is required by CUDA applications.
kernelModules =
["nvidia-uvm"]
++ lib.optionals config.services.xserver.enable ["nvidia" "nvidia_modeset" "nvidia_drm"];
services.udev.extraRules =
''
# Create /dev/nvidia-uvm when the nvidia-uvm module is loaded.
KERNEL=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidiactl c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 255'"
KERNEL=="nvidia", RUN+="${pkgs.runtimeShell} -c 'for i in $$(cat /proc/driver/nvidia/gpus/*/information | grep Minor | cut -d \ -f 4); do mknod -m 666 /dev/nvidia$${i} c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) $${i}; done'"
KERNEL=="nvidia_modeset", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-modeset c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 254'"
KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0'"
KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm-tools c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 1'"
'' + optionalString cfg.powerManagement.finegrained (
optionalString (versionOlder config.boot.kernelPackages.kernel.version "5.5") ''
# Remove NVIDIA USB xHCI Host Controller devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1"
# If requested enable modesetting via kernel parameter.
kernelParams =
lib.optional (offloadCfg.enable || cfg.modesetting.enable) "nvidia-drm.modeset=1"
++ lib.optional cfg.powerManagement.enable "nvidia.NVreg_PreserveVideoMemoryAllocations=1"
++ lib.optional cfg.open "nvidia.NVreg_OpenRmEnableUnsupportedGpus=1"
++ lib.optional (config.boot.kernelPackages.kernel.kernelAtLeast "6.2" && !ibtSupport) "ibt=off";
# Remove NVIDIA USB Type-C UCSI devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{remove}="1"
# enable finegrained power management
extraModprobeConfig = lib.optionalString cfg.powerManagement.finegrained ''
options nvidia "NVreg_DynamicPowerManagement=0x02"
'';
};
# Remove NVIDIA Audio devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"
'' + ''
# Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"
services.udev.extraRules =
''
# Create /dev/nvidia-uvm when the nvidia-uvm module is loaded.
KERNEL=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidiactl c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 255'"
KERNEL=="nvidia", RUN+="${pkgs.runtimeShell} -c 'for i in $$(cat /proc/driver/nvidia/gpus/*/information | grep Minor | cut -d \ -f 4); do mknod -m 666 /dev/nvidia$${i} c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) $${i}; done'"
KERNEL=="nvidia_modeset", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-modeset c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 254'"
KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0'"
KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm-tools c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 1'"
''
+ lib.optionalString cfg.powerManagement.finegrained (
lib.optionalString (lib.versionOlder config.boot.kernelPackages.kernel.version "5.5") ''
# Remove NVIDIA USB xHCI Host Controller devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1"
# Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on"
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on"
'');
# Remove NVIDIA USB Type-C UCSI devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{remove}="1"
boot.extraModprobeConfig = mkIf cfg.powerManagement.finegrained ''
options nvidia "NVreg_DynamicPowerManagement=0x02"
'';
boot.blacklistedKernelModules = [ "nouveau" "nvidiafb" ];
services.acpid.enable = true;
};
# Remove NVIDIA Audio devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"
''
+ ''
# Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"
# Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on"
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on"
''
);
};
}

View File

@ -271,7 +271,7 @@ in
''
mkdir -p $out
if [ -d $package/share/man ]; then
find $package/share/man -type f | xargs ${pkgs.python3.interpreter} ${patchedGenerator}/create_manpage_completions.py --directory $out >/dev/null
find $package/share/man -type f | xargs ${pkgs.python3.pythonForBuild.interpreter} ${patchedGenerator}/create_manpage_completions.py --directory $out >/dev/null
fi
'';
in

View File

@ -309,8 +309,8 @@ final: prev:
src = fetchFromGitHub {
owner = "b0o";
repo = "SchemaStore.nvim";
rev = "bde2101ad0b6f9af67aec02817985ae52ec3bac1";
sha256 = "18319famm8d4gsck4n2v2yghb3d91fjcrnlmp85v0p146gc5k9l3";
rev = "129914a81535b2c7296c05587c07ac8876fbd3e6";
sha256 = "1hgvhdzjcknapixh960giy8hjwsz47fsmv21k29dg8gaab5k75ja";
};
meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
};
@ -498,12 +498,12 @@ final: prev:
aerial-nvim = buildVimPluginFrom2Nix {
pname = "aerial.nvim";
version = "2023-08-07";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "stevearc";
repo = "aerial.nvim";
rev = "de460a4a29491af46eaf2108e6f7534c7b66c4a0";
sha256 = "0ap2ilm0v4al9ybg06w134fampfnx0v021nyhcj88i1kxlh3y58f";
rev = "bd31dd0ebe8fb46c452cc7dcd514687112d4d02e";
sha256 = "0hpkz1kkv02y4c3bb45bs3jap7smsiprrm4vybwh00yhs82dpwfg";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/stevearc/aerial.nvim/";
@ -847,12 +847,12 @@ final: prev:
auto-session = buildVimPluginFrom2Nix {
pname = "auto-session";
version = "2023-08-08";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "rmagatti";
repo = "auto-session";
rev = "c61fa86a43fde1ad6b503fd14002260dbaa4d923";
sha256 = "0hgdyfs7f9k511vlp5xdna6dgd1dbcxnzkify6mi6m69pbay5h0j";
rev = "9a623ccbfd8acf71c0e51f8f957b713a7545a542";
sha256 = "1wjp4w55s045lsj8vi8r1qxfyc8y8jzb5ba6vmishfw98ajlj51s";
};
meta.homepage = "https://github.com/rmagatti/auto-session/";
};
@ -1303,12 +1303,12 @@ final: prev:
clangd_extensions-nvim = buildVimPluginFrom2Nix {
pname = "clangd_extensions.nvim";
version = "2023-08-08";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "p00f";
repo = "clangd_extensions.nvim";
rev = "84ed5417b6119dca77c4f96da1fd73e316b85781";
sha256 = "1z60jwzz15p13699cshdbpyjph1gx7vpgkha8d7dwm88vl3dkcfc";
rev = "5c8a7d6311ae6b0ed1e1fc66569fe67278a418fc";
sha256 = "0vxrkyymhmf29xdkfffxbp1z66in6cf2yajmrj0mssy6d1ag9cvj";
};
meta.homepage = "https://github.com/p00f/clangd_extensions.nvim/";
};
@ -2287,12 +2287,12 @@ final: prev:
copilot-cmp = buildVimPluginFrom2Nix {
pname = "copilot-cmp";
version = "2023-05-11";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "zbirenbaum";
repo = "copilot-cmp";
rev = "c2cdb3c0f5078b0619055af192295830a7987790";
sha256 = "1aryazpkvc9zvzndwphg5ga85lzbn04kn97v05pq9bb5g0dc9k7q";
rev = "d631b3afbf26bb17d6cf2b3cd8f3d79e7d5eeca1";
sha256 = "192s9fi9p4d21c361f0yp44axbkpyf78knrdw7vql0wakb09qi9r";
};
meta.homepage = "https://github.com/zbirenbaum/copilot-cmp/";
};
@ -2973,24 +2973,24 @@ final: prev:
dressing-nvim = buildVimPluginFrom2Nix {
pname = "dressing.nvim";
version = "2023-08-08";
version = "2023-08-09";
src = fetchFromGitHub {
owner = "stevearc";
repo = "dressing.nvim";
rev = "c0b67f3e2950adc07b555d3e73e38275b4a585ce";
sha256 = "1kc22lhvz89bx94ysh5l4xn3s1r49lqivzg9fz7rrh1v7zwndlfz";
rev = "169877dbcae54b23b464b219e053e92854bbb37f";
sha256 = "1jx1ipi42h809irwcnizy4nciw2f7290mgxvyl86cgkdg0d71nzy";
};
meta.homepage = "https://github.com/stevearc/dressing.nvim/";
};
dropbar-nvim = buildVimPluginFrom2Nix {
pname = "dropbar.nvim";
version = "2023-08-07";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "Bekaboo";
repo = "dropbar.nvim";
rev = "fb97d5e4432aba6c14ef1a73c6fbf7091be33fa3";
sha256 = "10lsilzv799jlmp3l5jv2bfi992psmbaqdbbn7w4hvivp9q5aq9q";
rev = "ed9fbc03c2f92b8355bc21863d7a7b8cd952e02f";
sha256 = "0xr1ijgmxbgkmrxdgmhb26gfsljpr2gyvs7iyzldyzy5jnfnvx4b";
};
meta.homepage = "https://github.com/Bekaboo/dropbar.nvim/";
};
@ -3070,12 +3070,12 @@ final: prev:
elixir-tools-nvim = buildVimPluginFrom2Nix {
pname = "elixir-tools.nvim";
version = "2023-08-09";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "elixir-tools";
repo = "elixir-tools.nvim";
rev = "adb51b4ff66ccd1ece8d77e2f88e2a90bfa4a9df";
sha256 = "1ks96nn4q1rr7pp327avxx5frni00yfs8ysfnni61nkbc91dw5ns";
rev = "25872cb8bdb840484933abc0c2a3444800716cc6";
sha256 = "198jdgfdrs2rpbv8g4np15pj6iybwbjq7xg0v2xr1hdgvndc7nx1";
};
meta.homepage = "https://github.com/elixir-tools/elixir-tools.nvim/";
};
@ -3336,12 +3336,12 @@ final: prev:
flatten-nvim = buildVimPluginFrom2Nix {
pname = "flatten.nvim";
version = "2023-07-31";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "willothy";
repo = "flatten.nvim";
rev = "07e9496191653587336b4c8f8cab02e5c34c7c44";
sha256 = "1ya2akgxbkwa3cjw8h9bpwh89yzbv2168w0qisbydl0wj9k16bcm";
rev = "6813ad3c49b74fbeb5bc851c7d269b611fc86dd3";
sha256 = "0xk7pyysmq1w1dicq2pml3ls08wwzxaa9fq7fyhziivy7a8qv2ps";
};
meta.homepage = "https://github.com/willothy/flatten.nvim/";
};
@ -3564,12 +3564,12 @@ final: prev:
fzf-vim = buildVimPluginFrom2Nix {
pname = "fzf.vim";
version = "2023-07-17";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "junegunn";
repo = "fzf.vim";
rev = "e0d131d95364edf940a70127fcb5748b86e6955e";
sha256 = "04g1albh3f865vy7wp9zp4njpazf4haiynxpzy4j0x44wfnchl2j";
rev = "811f34b70b60b4df2997e3ba8cd109e7d06d683b";
sha256 = "0lv1ipq1y6kzirv9dw8y3v0rdy5wrx91wc3d34a51whb57d3fq7p";
};
meta.homepage = "https://github.com/junegunn/fzf.vim/";
};
@ -4055,12 +4055,12 @@ final: prev:
hex-nvim = buildVimPluginFrom2Nix {
pname = "hex.nvim";
version = "2023-05-25";
version = "2023-08-09";
src = fetchFromGitHub {
owner = "RaafatTurki";
repo = "hex.nvim";
rev = "d47b87d49b870e2170e992fa6301fc08c9590388";
sha256 = "0giiwjlvx53zsg8xsz7v1mrmv3c8yfajnfx6jdzzb64pzsagsxq3";
rev = "63411ffe59fb8ecc3611367731cf13effc4d706f";
sha256 = "0nffd7yqp1f3yq10k8xdk0w4k7lx6yvxaih99aql4a5s417zlqsd";
};
meta.homepage = "https://github.com/RaafatTurki/hex.nvim/";
};
@ -4079,12 +4079,12 @@ final: prev:
highlight-undo-nvim = buildVimPluginFrom2Nix {
pname = "highlight-undo.nvim";
version = "2023-06-19";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "tzachar";
repo = "highlight-undo.nvim";
rev = "1aeada51fb956f1ef121f29ddbb2ef6108a3c480";
sha256 = "18ckz8c0yrpr3n09j4rmdpzcbzds8v8hwzrprr5rygvicx3zkfzx";
rev = "1f748700c7fd14b4d51eb944723d7592c6fb6519";
sha256 = "1raqp0219f8md5i0r3m6wnq6cal37ayg2lx9gjgwhww6227j8kfx";
};
meta.homepage = "https://github.com/tzachar/highlight-undo.nvim/";
};
@ -4150,12 +4150,12 @@ final: prev:
hotpot-nvim = buildVimPluginFrom2Nix {
pname = "hotpot.nvim";
version = "2023-07-09";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "rktjmp";
repo = "hotpot.nvim";
rev = "026eba9596b506ab6f807fd4aa93cd5f76255725";
sha256 = "0dhwg6h03bx35d9k0nmybacq0dik1rj67ilbr7170934df9ryg2k";
rev = "34050bff81bea0d8f90a6389b31d1399603c4ae4";
sha256 = "0bvk9pk594xpm3gmq57dv7i9ms872smd4bm7hj6m3s31b65dqjdq";
};
meta.homepage = "https://github.com/rktjmp/hotpot.nvim/";
};
@ -5122,12 +5122,12 @@ final: prev:
lspsaga-nvim = buildVimPluginFrom2Nix {
pname = "lspsaga.nvim";
version = "2023-08-08";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "nvimdev";
repo = "lspsaga.nvim";
rev = "5877e957fb9bb14f4ac42a45e7bbd2923ea05915";
sha256 = "0hh5k6gr1jk7z4v2srldf9j4mxsp3p99mb4fjz8darxm1rl0zw7j";
rev = "e552e9d2ffc7ba99e1a2f51764b48ad4c668ada4";
sha256 = "0cb5hdskwpysmpd7iz99dc7xm0p2ywar4igllczx1l9nkcx85191";
};
meta.homepage = "https://github.com/nvimdev/lspsaga.nvim/";
};
@ -5409,6 +5409,18 @@ final: prev:
meta.homepage = "https://github.com/jghauser/mkdir.nvim/";
};
mkdnflow-nvim = buildVimPluginFrom2Nix {
pname = "mkdnflow.nvim";
version = "2023-07-05";
src = fetchFromGitHub {
owner = "jakewvincent";
repo = "mkdnflow.nvim";
rev = "a728a3533bb57502fdfd6fdb4e5839fc87430edc";
sha256 = "18zzwij973ar8jqmxvv9rv8r3lhvvjy2i61x1052jkkm3d9j59jk";
};
meta.homepage = "https://github.com/jakewvincent/mkdnflow.nvim/";
};
mkdx = buildVimPluginFrom2Nix {
pname = "mkdx";
version = "2023-08-01";
@ -5771,12 +5783,12 @@ final: prev:
neodev-nvim = buildVimPluginFrom2Nix {
pname = "neodev.nvim";
version = "2023-08-09";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "folke";
repo = "neodev.nvim";
rev = "461519d5a0023a73cb46d21392751d0731eacec8";
sha256 = "0fzz3hhg3arc789prpmvlijmcvl4djax9ry78jzyvipbybcr33s2";
rev = "81a893eb94d502b2cbb08ed3871eeaadfd240131";
sha256 = "1b3lhl2hr42vhh7nvjhm4isp034n80il4d5x6b415vcacc0187ag";
};
meta.homepage = "https://github.com/folke/neodev.nvim/";
};
@ -5807,12 +5819,12 @@ final: prev:
neogit = buildVimPluginFrom2Nix {
pname = "neogit";
version = "2023-08-09";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "NeogitOrg";
repo = "neogit";
rev = "5588603ce59d4b0c2f7c12493356b14c6b150488";
sha256 = "0jrw02yxazjj4s0akkzqfl4jnadjjqs4ass8gisbpmi9rydvs9mk";
rev = "34f5e78891a1543cb3a223052d4421e3256e8dd5";
sha256 = "1ar82rwfwgwg4scf2y4wmlj14lhsmnnzkxa6xcnpnqjvy4p8dbz2";
};
meta.homepage = "https://github.com/NeogitOrg/neogit/";
};
@ -5891,12 +5903,12 @@ final: prev:
neoscroll-nvim = buildVimPluginFrom2Nix {
pname = "neoscroll.nvim";
version = "2023-01-15";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "karb94";
repo = "neoscroll.nvim";
rev = "d7601c26c8a183fa8994ed339e70c2d841253e93";
sha256 = "0ns9r2x82r2jwzmbv5jwk01a43d5qymhia9llmi9c30l6wnxg76g";
rev = "4bc0212e9f2a7bc7fe7a6bceb15b33e39f0f41fb";
sha256 = "1rbfmxzfwbb2sqvcgzfhbkjz0w765psakaah7jp9rl72zjbnqy72";
};
meta.homepage = "https://github.com/karb94/neoscroll.nvim/";
};
@ -6455,12 +6467,12 @@ final: prev:
nvchad = buildVimPluginFrom2Nix {
pname = "nvchad";
version = "2023-08-09";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "nvchad";
repo = "nvchad";
rev = "46a61073a82087f9e339dab6de2b2f94c051b070";
sha256 = "0349b6wxscn3pn0vg73y6kqid1kdvska80k3g7fykdwd9gswb75v";
rev = "d3d9aa251a9dd94881cdbc48c5852b3eaba969b8";
sha256 = "0wcigy2xbffx45gzdj383y8y671x8hnj1fb123l22i8whb6vd69w";
};
meta.homepage = "https://github.com/nvchad/nvchad/";
};
@ -6575,12 +6587,12 @@ final: prev:
nvim-cmp = buildNeovimPlugin {
pname = "nvim-cmp";
version = "2023-07-10";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "hrsh7th";
repo = "nvim-cmp";
rev = "c4e491a87eeacf0408902c32f031d802c7eafce8";
sha256 = "1m1xnirxhkgqa2qa3lyz9znxwa8qkvcgrdxcl73mm8qhyd8ribhy";
rev = "3b9f28061a67b19cadc13946de981426a6425e4a";
sha256 = "11vxrizzkgk3x2hnd5cjdg53m5hjlf8548hi8aqfnfpr977d3v9s";
};
meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
};
@ -6599,12 +6611,12 @@ final: prev:
nvim-cokeline = buildVimPluginFrom2Nix {
pname = "nvim-cokeline";
version = "2023-07-31";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "willothy";
repo = "nvim-cokeline";
rev = "0d2988c6eff6c58dfc04b08639ae5ff04a21b32c";
sha256 = "1yq3b2g7f72nwdx9d7jnd6wpbx7r02i4rwxch9y3wql4hylcq0c6";
rev = "73a6a52001aad42ada57acba875f110661aea01d";
sha256 = "1zjln7lhl0f702qd2xwp6qd1svxgf91w11s5ykcpkj0rhvr7ss18";
};
meta.homepage = "https://github.com/willothy/nvim-cokeline/";
};
@ -7295,12 +7307,12 @@ final: prev:
nvim-treesitter = buildVimPluginFrom2Nix {
pname = "nvim-treesitter";
version = "2023-08-09";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter";
rev = "80cee52d445363c8bd08eacca17be31e3837f4d0";
sha256 = "0ny0vaz6idv0zn5f90yj33bscm9apd356gh2xfdwill5n0ly29m8";
rev = "477a5d76a241ea5d79974072ee133dada223420d";
sha256 = "19k47cb9ra6xpwxn0yc13cxa2cfk262m73kld9rhz38f6kvy2qbi";
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
};
@ -7426,12 +7438,12 @@ final: prev:
nvim-web-devicons = buildVimPluginFrom2Nix {
pname = "nvim-web-devicons";
version = "2023-08-06";
version = "2023-08-09";
src = fetchFromGitHub {
owner = "nvim-tree";
repo = "nvim-web-devicons";
rev = "eb8f80f30fd5e9a6176dee5c46661ebd7437ac46";
sha256 = "10mqk6412cx7xzlg7gdkkcbzxqywdbv68q4in27bas4c50vzd49m";
rev = "ab899311f8ae00a47eae8e0879506cead8eb1561";
sha256 = "16v6dxg30jnrx1ldpk3xx9jn79qlybphaw0lpr5hfd76xkqqr8yn";
};
meta.homepage = "https://github.com/nvim-tree/nvim-web-devicons/";
};
@ -8811,12 +8823,12 @@ final: prev:
splitjoin-vim = buildVimPluginFrom2Nix {
pname = "splitjoin.vim";
version = "2023-07-12";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "AndrewRadev";
repo = "splitjoin.vim";
rev = "4073ac528b5e552a6b4347cacca9899f74b98843";
sha256 = "1sa4dmckx44l6dhmxwgs9nslwz752fhslr2y84zb7gdjqd9w3wmm";
rev = "30a1d7cc3b061d37ee5cac866dae4b0604b5f20a";
sha256 = "0c14d1dyijws9xwjnhqk33fkmhsq0vgfdjh7w2p0k20jvpl60inz";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/AndrewRadev/splitjoin.vim/";
@ -9294,12 +9306,12 @@ final: prev:
telescope-frecency-nvim = buildVimPluginFrom2Nix {
pname = "telescope-frecency.nvim";
version = "2023-08-09";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "nvim-telescope";
repo = "telescope-frecency.nvim";
rev = "251fdb32d21321fec7bd3c39a3a8bc87b04145d4";
sha256 = "1bpk0shd4q2rbj4dk1d729ixdhxlpll023smnwcxrpnfjydygvr3";
rev = "509288ef3de6419bf72c43781a1fe921420cf8ac";
sha256 = "0maj0v7bvjg3ai2bv6xk5hxichvv6y0mjs2kkwpi3p309qssv435";
};
meta.homepage = "https://github.com/nvim-telescope/telescope-frecency.nvim/";
};
@ -9524,12 +9536,12 @@ final: prev:
telescope-nvim = buildNeovimPlugin {
pname = "telescope.nvim";
version = "2023-08-07";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "nvim-telescope";
repo = "telescope.nvim";
rev = "dc192faceb2db64231ead71539761e055df66d73";
sha256 = "08d4k4z0ixz3y0kwpixry7zzbrb03zb570d13zdp5d0if7p9h68a";
rev = "2d92125620417fbea82ec30303823e3cd69e90e8";
sha256 = "01373bppxb3zw68kz91acbm1g4453sdyfli137hx1855zcaqnkh5";
};
meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
};
@ -14821,12 +14833,12 @@ final: prev:
vim-which-key = buildVimPluginFrom2Nix {
pname = "vim-which-key";
version = "2023-06-13";
version = "2023-08-09";
src = fetchFromGitHub {
owner = "liuchengxu";
repo = "vim-which-key";
rev = "004b1b808a7ed2faf9cb004081c56e35396243ee";
sha256 = "19pdnnlmz9lr0sx7di7lmnj3k9nawis38myski9wbpdpkx0q3nak";
rev = "ea8770776fc32f21687e4d4194d9c0e4cfb88daf";
sha256 = "0k6abpdp9slaja2z9hf6szpi4j7l7flyj4129s5zliakin3jhmni";
};
meta.homepage = "https://github.com/liuchengxu/vim-which-key/";
};
@ -15266,12 +15278,12 @@ final: prev:
wiki-vim = buildVimPluginFrom2Nix {
pname = "wiki.vim";
version = "2023-08-01";
version = "2023-08-09";
src = fetchFromGitHub {
owner = "lervag";
repo = "wiki.vim";
rev = "ca6f76a1b9ded0889eee72aa4b5ceb4379976cee";
sha256 = "0xwgpw92f7kw9vldfcj76isy62vz9rdpk83kjq6n8xdy199dbxpq";
rev = "04459625f1b6faa2b02ce763fc6fbc24d4a51f21";
sha256 = "07nivlzg341xabhwmpsvqkpwbm9h405nqa6hpb7i634f2lg5kpcm";
};
meta.homepage = "https://github.com/lervag/wiki.vim/";
};
@ -15675,12 +15687,12 @@ final: prev:
nvchad-ui = buildVimPluginFrom2Nix {
pname = "nvchad-ui";
version = "2023-08-09";
version = "2023-08-10";
src = fetchFromGitHub {
owner = "nvchad";
repo = "ui";
rev = "a1d613347cb8fc3b00510f53f18a0cf5e876aaf1";
sha256 = "0gy3bx02x1plpvbs6xpylg0i4d7gaqsickbcbnrwz2b93jz2rg94";
rev = "e72283ccb45f4f9c36c2799fcc653d29cc986551";
sha256 = "1h0a36g2scsa56kn6xg0ibbsbrrc93zxdrhbah9rfm347m0hnc6m";
};
meta.homepage = "https://github.com/nvchad/ui/";
};

View File

@ -27,12 +27,12 @@
};
arduino = buildGrammar {
language = "arduino";
version = "0.0.0+rev=3446bac";
version = "0.0.0+rev=11d4fd1";
src = fetchFromGitHub {
owner = "ObserverOfTime";
repo = "tree-sitter-arduino";
rev = "3446bac828d5db2a6cf60ab31813c02ab53547a7";
hash = "sha256-E4mRE+CtuI/s3LlVcT/VFhFdFakRXvSr7/v4gaB4H+U=";
rev = "11d4fd1b0320514272cfbe3aa911a3cd8705b7a9";
hash = "sha256-lbMmgY3Nriw2KxuOT3iI8h/nrVzMPG+E/NuNDLe9X9Y=";
};
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-arduino";
};
@ -126,12 +126,12 @@
};
c = buildGrammar {
language = "c";
version = "0.0.0+rev=39bea7d";
version = "0.0.0+rev=93ef178";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-c";
rev = "39bea7d391f57c5f0e061419e1c3066e03eb14b3";
hash = "sha256-0iE7dRvouBZuVliWCuuM81CBlPndHR+qFEX8UnOSKWg=";
rev = "93ef1785bbf854cf964e6e53d6e1e6885a4d8ebc";
hash = "sha256-5n9ZnslpUWyusWTo+AqJiPGB64NB0rTbc2rtfByPUC8=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-c";
};
@ -170,12 +170,12 @@
};
chatito = buildGrammar {
language = "chatito";
version = "0.0.0+rev=a945b8e";
version = "0.0.0+rev=c80c219";
src = fetchFromGitHub {
owner = "ObserverOfTime";
repo = "tree-sitter-chatito";
rev = "a945b8e799dac06c47309f7c2f3b7c385bbee029";
hash = "sha256-U3RY6puadyG4foZVP+1JTI8d1nXUlJ24Q/iiczsxTvc=";
rev = "c80c219da2086696202cec8fc2501c02f4819a3f";
hash = "sha256-CN/FKq+ygqraPELaDJRkCSq9DEcVCpNByz5iA2WRAWU=";
};
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-chatito";
};
@ -258,12 +258,12 @@
};
cpp = buildGrammar {
language = "cpp";
version = "0.0.0+rev=f88bf81";
version = "0.0.0+rev=869f1be";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-cpp";
rev = "f88bf81238ec2842682e4d1dac0acf3b43b686e9";
hash = "sha256-9GOzjjIA/RXNLGlFSyvir4cHAl075TSW10AsOlJec0k=";
rev = "869f1be6ab4a384f649f4c6b374d0e4d7f0abab6";
hash = "sha256-iNUu7hO3PCiSAg2jEP5wm5MAzHDv5BT++CTJeo5lzSI=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-cpp";
};
@ -280,12 +280,12 @@
};
cuda = buildGrammar {
language = "cuda";
version = "0.0.0+rev=0c3dd8d";
version = "0.0.0+rev=ff8425f";
src = fetchFromGitHub {
owner = "theHamsta";
repo = "tree-sitter-cuda";
rev = "0c3dd8d5310076875e64bd224fdac93b6a16838e";
hash = "sha256-ZERn1FdQpiiY+Ljt9zlKkkDUkxxGKfSe98a/2MhOr+I=";
rev = "ff8425f44c1c273dd3b831913dff5cdb3fe94e25";
hash = "sha256-stfyBvEK/fQ8yFSbYnFIx1cbn0IS3Lrc5jWswRXlbVg=";
};
meta.homepage = "https://github.com/theHamsta/tree-sitter-cuda";
};
@ -590,12 +590,12 @@
};
gitattributes = buildGrammar {
language = "gitattributes";
version = "0.0.0+rev=19c716d";
version = "0.0.0+rev=2339ffe";
src = fetchFromGitHub {
owner = "ObserverOfTime";
repo = "tree-sitter-gitattributes";
rev = "19c716d2f45eac9529703413dc12aa8c76d13adc";
hash = "sha256-4fevdvH+Mi+MRURUcoDb9v511oaxBgP9U/OOODS/G+o=";
rev = "2339ffe87a88d0b7838c015592c8269eb0063140";
hash = "sha256-O3yzJjxrHdDoqcYu4ZDqrMuzinb0/0ub4puaSZPaG3c=";
};
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-gitattributes";
};
@ -997,12 +997,12 @@
};
jsonnet = buildGrammar {
language = "jsonnet";
version = "0.0.0+rev=af22de3";
version = "0.0.0+rev=26d9699";
src = fetchFromGitHub {
owner = "sourcegraph";
repo = "tree-sitter-jsonnet";
rev = "af22de3337abcc01130fc7968014205ed8001b6c";
hash = "sha256-DUwWET5HiGAcdzFDfghgHFEj0Octo/gz1Jnpgka1v9Q=";
rev = "26d9699842a429731844c93cbcb485519bb2c526";
hash = "sha256-e5K2k1DNPU/NuWN2uGwk+k3c5plNk5RN0Or6ahxD/lQ=";
};
meta.homepage = "https://github.com/sourcegraph/tree-sitter-jsonnet";
};
@ -1366,12 +1366,12 @@
};
pem = buildGrammar {
language = "pem";
version = "0.0.0+rev=8032882";
version = "0.0.0+rev=e017679";
src = fetchFromGitHub {
owner = "ObserverOfTime";
repo = "tree-sitter-pem";
rev = "8032882300fb7976af769b578b8c798c146bd1a2";
hash = "sha256-SH5qUUE/eA9lZ4ZNlvTDvDNjhs2UW8STSbZ2A6YQXU0=";
rev = "e01767921df18142055d97407595329d7629e643";
hash = "sha256-8hSWC9Q5oy0+8l/uG4QWVupiYqSWMRfZXGH6PpTx+O8=";
};
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-pem";
};
@ -2176,12 +2176,12 @@
};
wing = buildGrammar {
language = "wing";
version = "0.0.0+rev=6ae93e3";
version = "0.0.0+rev=46d47ba";
src = fetchFromGitHub {
owner = "winglang";
repo = "wing";
rev = "6ae93e3950b12b6c1b3881e4d347263574222c4e";
hash = "sha256-Ik5RaizsMVF+ObB1HzmwzMdmYzwH1TJ342TXDrKqFFs=";
rev = "46d47bade5f6ee149c9f1449f64bace22a288a2e";
hash = "sha256-wzOeJz3LM/t6e1WzNpAjeD0MNSO803YNQ3eFrHizyII=";
};
location = "libs/tree-sitter-wing";
generate = true;

View File

@ -452,6 +452,7 @@ https://github.com/savq/melange-nvim/,,
https://github.com/echasnovski/mini.nvim/,,
https://github.com/wfxr/minimap.vim/,,
https://github.com/jghauser/mkdir.nvim/,main,
https://github.com/jakewvincent/mkdnflow.nvim/,HEAD,
https://github.com/SidOfc/mkdx/,,
https://github.com/mawkler/modicator.nvim/,HEAD,
https://github.com/tomasr/molokai/,,

View File

@ -2,21 +2,15 @@
stdenv.mkDerivation rec {
pname = "jasmin-compiler";
version = "2023.06.0";
version = "2023.06.1";
src = fetchurl {
url = "https://github.com/jasmin-lang/jasmin/releases/download/v${version}/jasmin-compiler-v${version}.tar.bz2";
hash = "sha256-yQBQGDNZQhNATs62nqWsgl/HzQCH24EHPp87B3I0Dxo=";
hash = "sha256-3+eIR8wkBlcUQVDsugHo/rHNHbE2vpE9gutp55kRY4Y=";
};
sourceRoot = "jasmin-compiler-v${version}/compiler";
# Released tarball contains extraneous `dune` files
# See https://github.com/jasmin-lang/jasmin/pull/495
preBuild = ''
rm -rf tests
'';
nativeBuildInputs = with ocamlPackages; [ ocaml findlib dune_3 menhir camlidl cmdliner ];
buildInputs = [

View File

@ -2,15 +2,13 @@
buildDunePackage rec {
pname = "mirage-clock";
version = "3.1.0";
version = "4.2.0";
useDune2 = true;
minimumOCamlVersion = "4.06";
minimalOCamlVersion = "4.06";
src = fetchurl {
url = "https://github.com/mirage/mirage-clock/releases/download/v${version}/mirage-clock-v${version}.tbz";
sha256 = "0cqa07aqkamw0dvis1fl46brvk81zvb92iy5076ik62gv9n5a0mn";
url = "https://github.com/mirage/mirage-clock/releases/download/v${version}/mirage-clock-${version}.tbz";
hash = "sha256-+hfRXVviPHm6dB9ffLiO1xEt4WpEEM6oHHG5gIaImEc=";
};
meta = {

View File

@ -4,13 +4,11 @@
}:
buildDunePackage {
pname = "mirage-clock-freestanding";
pname = "mirage-clock-solo5";
inherit (mirage-clock)
version
src
useDune2
minimumOCamlVersion
;
propagatedBuildInputs = [

View File

@ -3,7 +3,7 @@
buildDunePackage {
pname = "mirage-clock-unix";
inherit (mirage-clock) version useDune2 src;
inherit (mirage-clock) version src;
buildInputs = [ dune-configurator ];

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "adlfs";
version = "2023.4.0";
version = "2023.8.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "fsspec";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-olXOMmUBfamOrwtS0SEFGW3Z7g+ExWHxON9SKKSxnbc=";
hash = "sha256-ZPHB01CiBYiNoii73zVecq1l0WCqB2CzhhhaBeetb4g=";
};
propagatedBuildInputs = [

View File

@ -15,14 +15,14 @@
buildPythonPackage rec {
pname = "google-cloud-datastore";
version = "2.16.1";
version = "2.17.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-cQ7yfr37UDQPRnHFMq1MFSVmWYXpQhmE/81rlrV+NLs=";
hash = "sha256-/q+th07TdqnR8Imer8llDSH9siKPkN6bh0GoBsITtCI=";
};
propagatedBuildInputs = [

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "hy";
version = "0.26.0";
version = "0.27.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "hylang";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-Ow3FAiH97lSaI3oSx702+jgScfNgf+JstuDpgPSB8LM=";
hash = "sha256-Emzz6m5voH3dCAw7/7d0XLlLEEOjnfrVNZ8WWKa38Ow=";
};
# https://github.com/hylang/hy/blob/1.0a4/get_version.py#L9-L10
@ -43,11 +43,6 @@ buildPythonPackage rec {
export PATH="$out/bin:$PATH"
'';
disabledTests = [
"test_circular_macro_require"
"test_macro_require"
];
pythonImportsCheck = [ "hy" ];
passthru = {

View File

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "hyrule";
version = "0.3.0";
version = "0.4.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "hylang";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-nQAUVX409RWlFPeknnNwFNgo7e2xHkEXkAuXazZNntk=";
hash = "sha256-D5d/WwGSbEmSeyVBTIpGOqi+I6PkRdo8dhDaCeeOW4M=";
};
propagatedBuildInputs = [

View File

@ -39,6 +39,8 @@ buildPythonPackage rec {
# Those tests are also failing upstream
disabledTests = [
"test_edit_date"
"test_edit_multi_index_df"
"test_multi_index"
"test_period_object_column"
];

View File

@ -1,24 +1,59 @@
{ lib, fetchFromGitHub, buildPythonPackage, pytestCheckHook, pytest-cov, pytest-mock, fake-useragent, faker, scrapy }:
{ lib
, buildPythonPackage
, fake-useragent
, faker
, fetchFromGitHub
, pytest-mock
, pytestCheckHook
, pythonOlder
, scrapy
}:
buildPythonPackage rec {
pname = "scrapy-fake-useragent";
version = "1.4.4";
format = "setuptools";
disabled = pythonOlder "3.7";
# PyPi tarball is corrupted
src = fetchFromGitHub {
owner = "alecxe";
repo = pname;
rev = "59c20d38c58c76618164760d546aa5b989a79b8b"; # no tags
sha256 = "0yb7d51jws665rdfqkmi077w0pjxmb2ni7ysphj7lx7b18whq54j";
hash = "sha256-khQMOQrrdHokvNqfaMWqXV7AzwGxTuxaLsZoLkNpZ3k=";
};
propagatedBuildInputs = [ fake-useragent faker ];
postPatch = ''
substituteInPlace pytest.ini \
--replace " --cov=scrapy_fake_useragent --cov-report=term --cov-report=html --fulltrace" ""
'';
nativeCheckInputs = [ pytestCheckHook scrapy pytest-cov pytest-mock ];
propagatedBuildInputs = [
fake-useragent
faker
];
nativeCheckInputs = [
pytest-mock
pytestCheckHook
scrapy
];
pythonImportsCheck = [
"scrapy_fake_useragent"
];
disabledTests = [
# AttributeError: 'RetryUserAgentMiddleware' object has no attribute 'EXCEPTIONS_TO_RETRY'
"test_random_ua_set_on_exception"
];
meta = with lib; {
description = "Random User-Agent middleware based on fake-useragent";
homepage = "https://github.com/alecxe/scrapy-fake-useragent";
changelog = "https://github.com/alecxe/scrapy-fake-useragent/blob/master/CHANGELOG.rst";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}

View File

@ -5,14 +5,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "sqlfluff";
version = "2.2.0";
version = "2.2.1";
format = "setuptools";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-3NNig7zt6ZQUXuzONKlE5h/uOrY8/0/oVbw+BZ99mPk=";
hash = "sha256-TRu9pDvVQIyT9aZR9MSYOtTbsUV596OcAZlGY4VrrKY=";
};
propagatedBuildInputs = with python3.pkgs; [

View File

@ -117,8 +117,11 @@ def get_latest_major_releases(releases: List[Version]) -> Dict[str, Version]:
Version object for 1.16.5.
"""
return {
major_release: sorted(releases, key=lambda x: x.id, reverse=True)[0]
for major_release, releases in group_major_releases(releases).items()
major_release: max(
(release for release in releases if get_major_release(release.id) == major_release),
key=lambda x: tuple(map(int, x.id.split('.'))),
)
for major_release in group_major_releases(releases)
}

View File

@ -1,8 +1,8 @@
{
"1.20": {
"url": "https://piston-data.mojang.com/v1/objects/15c777e2cfe0556eef19aab534b186c0c6f277e1/server.jar",
"sha1": "15c777e2cfe0556eef19aab534b186c0c6f277e1",
"version": "1.20",
"url": "https://piston-data.mojang.com/v1/objects/84194a2f286ef7c14ed7ce0090dba59902951553/server.jar",
"sha1": "84194a2f286ef7c14ed7ce0090dba59902951553",
"version": "1.20.1",
"javaVersion": 17
},
"1.19": {
@ -78,9 +78,9 @@
"javaVersion": 8
},
"1.7": {
"url": "https://launcher.mojang.com/v1/objects/4cec86a928ec171fdc0c6b40de2de102f21601b5/server.jar",
"sha1": "4cec86a928ec171fdc0c6b40de2de102f21601b5",
"version": "1.7.9",
"url": "https://launcher.mojang.com/v1/objects/952438ac4e01b4d115c5fc38f891710c4941df29/server.jar",
"sha1": "952438ac4e01b4d115c5fc38f891710c4941df29",
"version": "1.7.10",
"javaVersion": 8
},
"1.6": {

View File

@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "6.5-rc3";
version = "6.5-rc5";
extraMeta.branch = lib.versions.majorMinor version;
# modDirVersion needs to be x.y.z, will always add .0
@ -11,7 +11,7 @@ buildLinux (args // rec {
src = fetchzip {
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
hash = "sha256-z4y4eNkY458rxebey3eCG0CUDLJP9oQETVlH8Av3Lhs=";
hash = "sha256-7QNXBuk1jMCdUFWeu5P0j1nwL5PQgBFhlFYbKzj/k6E=";
};
# Should the testing kernels ever be built on Hydra?

View File

@ -196,9 +196,12 @@ installPhase() {
mkdir -p $bin/share/man/man1
cp -p *.1.gz $bin/share/man/man1
rm -f $bin/share/man/man1/{nvidia-xconfig,nvidia-settings,nvidia-persistenced}.1.gz
if [ -e "nvidia-dbus.conf" ]; then
install -Dm644 nvidia-dbus.conf $bin/share/dbus-1/system.d/nvidia-dbus.conf
fi
# Install the programs.
for i in nvidia-cuda-mps-control nvidia-cuda-mps-server nvidia-smi nvidia-debugdump; do
for i in nvidia-cuda-mps-control nvidia-cuda-mps-server nvidia-smi nvidia-debugdump nvidia-powerd; do
if [ -e "$i" ]; then
install -Dm755 $i $bin/bin/$i
# unmodified binary backup for mounting in containers

View File

@ -27,12 +27,12 @@ rec {
stable = if stdenv.hostPlatform.system == "i686-linux" then legacy_390 else latest;
production = generic {
version = "535.86.05";
sha256_64bit = "sha256-QH3wyjZjLr2Fj8YtpbixJP/DvM7VAzgXusnCcaI69ts=";
sha256_aarch64 = "sha256-ON++eWPDWHnm/NuJmDSYkR4sKKvCdX+kwxS7oA2M5zU=";
openSha256 = "sha256-qCYEQP54cT7G+VrLmuMT+RWIwuGdBhlbYTrCDcztfNs=";
settingsSha256 = "sha256-0NAxQosC+zPz5STpELuRKDMap4KudoPGWKL4QlFWjLQ=";
persistencedSha256 = "sha256-Ak4Wf59w9by08QJ0x15Zs5fHOhiIatiJfjBQfnY65Mg=";
version = "535.98";
sha256_64bit = "sha256-E1DAmVLTe+L5DWCONq47BQtE/Rb22akZMHGhK/0FTsM=";
sha256_aarch64 = "sha256-ikqj7bvSvCGlkDviaqagyoSZhpf6ZU3TiKKxNDZm3RU=";
openSha256 = "sha256-dgc5Z70NSpBARelNy6XaZ4e7Tz9vWJWeNek3TSztJus=";
settingsSha256 = "sha256-jCRfeB1w6/dA27gaz6t5/Qo7On0zbAPIi74LYLel34s=";
persistencedSha256 = "sha256-WviDU6B50YG8dO64CGvU3xK8WFUX8nvvVYm/fuGyroM=";
};
latest = selectHighestVersion production (generic {

View File

@ -51,6 +51,7 @@ let
libdrm xorg.libXext xorg.libX11
xorg.libXv xorg.libXrandr xorg.libxcb zlib stdenv.cc.cc
wayland mesa libGL openssl
dbus # for nvidia-powerd
]);
self = stdenv.mkDerivation {

View File

@ -8,16 +8,16 @@ buildGoModule rec {
rev = "v${version}";
owner = "fd0";
repo = "grobi";
sha256 = "032lvnl2qq9258y6q1p60lfi7qir68zgq8zyh4khszd3wdih7y3s";
hash = "sha256-evgDY+OjfQ0ngf4j/D4yOeITHQXmBmw8KiJhLKjdVAw=";
};
vendorSha256 = "1ibwx5rbxkygfx78j3g364dmbwwa5b34qmzq3sqcbrsnv8rzrwvj";
vendorHash = "sha256-cvP8M9pW58WwHvhXTMYqivNVGzHjDYlOd8/PvnLpfMU=";
patches = [
# fix failing test on go 1.15
(fetchpatch {
url = "https://github.com/fd0/grobi/commit/176988ab087ff92d1408fbc454c77263457f3d7e.patch";
sha256 = "0j8y3gns4lm0qxqxzmdn2ll0kq34mmfhf83lvsq13iqhp5bx3y31";
hash = "sha256-YfjRV7kQxxGw3nQgB12tZOAJKBW21d9xx6BSou0bHkk=";
})
];

View File

@ -0,0 +1,28 @@
{ buildGoModule
, fetchFromGitHub
, lib
}:
buildGoModule rec {
pname = "sloth";
version = "0.11.0";
src = fetchFromGitHub {
owner = "slok";
repo = pname;
rev = "v${version}";
hash = "sha256-KMVD7uH3Yg9ThnwKKzo6jom0ctFywt2vu7kNdfjiMCs=";
};
vendorSha256 = "sha256-j6qXUQ/Tu3VNQL5xBOHloRn5DH3KG/znCLi1s8RIoL8=";
subPackages = [ "cmd/sloth" ];
meta = {
description = "Easy and simple Prometheus SLO (service level objectives) generator";
homepage = "https://sloth.dev/";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ nrhtr ];
platforms = lib.platforms.unix;
};
}

View File

@ -7,6 +7,8 @@
, installShellFiles
, libxml2
, libxslt
, testers
, offlineimap
}:
python3.pkgs.buildPythonApplication rec {
@ -58,10 +60,13 @@ python3.pkgs.buildPythonApplication rec {
"offlineimap"
];
passthru.tests.version = testers.testVersion { package = offlineimap; };
meta = with lib; {
description = "Synchronize emails between two repositories, so that you can read the same mailbox from multiple computers";
homepage = "http://offlineimap.org";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ endocrimes ];
mainProgram = "offlineimap";
};
}

View File

@ -0,0 +1,38 @@
{ lib
, stdenv
, fetchFromGitHub
, makeBinaryWrapper
, zig_0_11
, nix
}:
stdenv.mkDerivation rec {
pname = "zon2nix";
version = "0.1.1";
src = fetchFromGitHub {
owner = "figsoda";
repo = "zon2nix";
rev = "v${version}";
hash = "sha256-VzlLoToZ+5beHt9mFsuCxlSZ8RrBodPO6YKtsugAaik=";
};
nativeBuildInputs = [
makeBinaryWrapper
zig_0_11.hook
];
postInstall = ''
wrapProgram $out/bin/zon2nix \
--prefix PATH : ${lib.makeBinPath [ nix ]}
'';
meta = with lib; {
description = "Convert the dependencies in `build.zig.zon` to a Nix expression";
homepage = "https://github.com/figsoda/zon2nix";
changelog = "https://github.com/figsoda/zon2nix/blob/${src.rev}/CHANGELOG.md";
license = licenses.mpl20;
maintainers = with maintainers; [ figsoda ];
inherit (zig_0_11.meta) platforms;
};
}

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "exploitdb";
version = "2023-08-05";
version = "2023-08-09";
src = fetchFromGitLab {
owner = "exploit-database";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-s0CYG3sRJniz6AHPvWvYjhRZoepGY//sQbvWAIZmf38=";
hash = "sha256-o6rLIp6bOJK+JB0zd+aHbcWUBlEj9Y8FUdTYdnBp8wg=";
};
nativeBuildInputs = [

View File

@ -4,25 +4,28 @@
, hwdata
, gtk2
, pkg-config
, gettext
, sqlite # compile GUI
, withGUI ? false
}:
stdenv.mkDerivation rec {
pname = "lshw";
# FIXME: when switching to a stable release:
# Fix repology.org by not including the prefixed B, otherwise the `pname` attr
# gets filled as `lshw-B.XX.XX` in `nix-env --query --available --attr nixpkgs.lshw --meta`
# See https://github.com/NixOS/nix/pull/4463 for a definitive fix
version = "02.19";
version = "unstable-2023-03-20";
src = fetchFromGitHub {
owner = "lyonel";
repo = pname;
rev = "B.${version}";
sha256 = "sha256-PzbNGc1pPiPLWWgTeWoNfAo+SsXgi1HcjnXfYXA9S0I=";
rev = "b4e067307906ec6f277cce5c8a882f5edd03cbbc";
#rev = "B.${version}";
sha256 = "sha256-ahdaQeYZEFCVxwAMJPMB9bfo3ndIiqFyM6OghXwtm1A=";
};
nativeBuildInputs = [ pkg-config ];
nativeBuildInputs = [ pkg-config gettext ];
buildInputs = [ hwdata ]
++ lib.optionals withGUI [ gtk2 sqlite ];

View File

@ -1898,6 +1898,8 @@ with pkgs;
shell-genie = callPackage ../applications/misc/shell-genie { };
sloth = callPackage ../tools/misc/sloth { };
snagboot = python3.pkgs.callPackage ../applications/misc/snagboot { };
simple-dlna-browser = callPackage ../tools/networking/simple-dlna-browser { };
@ -20293,6 +20295,8 @@ with pkgs;
tockloader = callPackage ../development/tools/misc/tockloader { };
zon2nix = callPackage ../tools/nix/zon2nix { };
### DEVELOPMENT / LIBRARIES
a52dec = callPackage ../development/libraries/a52dec { };

View File

@ -1000,7 +1000,7 @@ let
mirage-clock = callPackage ../development/ocaml-modules/mirage-clock { };
mirage-clock-freestanding = callPackage ../development/ocaml-modules/mirage-clock/freestanding.nix { };
mirage-clock-solo5 = callPackage ../development/ocaml-modules/mirage-clock/solo5.nix { };
mirage-clock-unix = callPackage ../development/ocaml-modules/mirage-clock/unix.nix { };