Merge staging-next into staging
This commit is contained in:
commit
ec1a84ef66
@ -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).
|
||||
|
||||
|
@ -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}";
|
||||
|
@ -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";
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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"
|
||||
''
|
||||
);
|
||||
};
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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/";
|
||||
};
|
||||
|
@ -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;
|
||||
|
@ -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/,,
|
||||
|
@ -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 = [
|
||||
|
@ -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 = {
|
||||
|
@ -4,13 +4,11 @@
|
||||
}:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "mirage-clock-freestanding";
|
||||
pname = "mirage-clock-solo5";
|
||||
|
||||
inherit (mirage-clock)
|
||||
version
|
||||
src
|
||||
useDune2
|
||||
minimumOCamlVersion
|
||||
;
|
||||
|
||||
propagatedBuildInputs = [
|
@ -3,7 +3,7 @@
|
||||
buildDunePackage {
|
||||
pname = "mirage-clock-unix";
|
||||
|
||||
inherit (mirage-clock) version useDune2 src;
|
||||
inherit (mirage-clock) version src;
|
||||
|
||||
buildInputs = [ dune-configurator ];
|
||||
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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 = {
|
||||
|
@ -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 = [
|
||||
|
@ -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"
|
||||
];
|
||||
|
||||
|
@ -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; [ ];
|
||||
};
|
||||
}
|
||||
|
@ -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; [
|
||||
|
@ -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)
|
||||
}
|
||||
|
||||
|
||||
|
@ -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": {
|
||||
|
@ -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?
|
||||
|
@ -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
|
||||
|
@ -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 {
|
||||
|
@ -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 {
|
||||
|
@ -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=";
|
||||
})
|
||||
];
|
||||
|
||||
|
28
pkgs/tools/misc/sloth/default.nix
Normal file
28
pkgs/tools/misc/sloth/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
38
pkgs/tools/nix/zon2nix/default.nix
Normal file
38
pkgs/tools/nix/zon2nix/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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 = [
|
||||
|
@ -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 ];
|
||||
|
@ -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 { };
|
||||
|
@ -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 { };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user