mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-10-01 10:07:42 +03:00
Merge master into haskell-updates
This commit is contained in:
commit
54a348728f
@ -17,6 +17,8 @@ with pkgs; stdenv.mkDerivation {
|
||||
mkdir -p $out
|
||||
ln -s ${locationsXml} $out/locations.xml
|
||||
|
||||
docgen asserts 'Assert functions'
|
||||
docgen attrsets 'Attribute-set functions'
|
||||
docgen strings 'String manipulation functions'
|
||||
docgen trivial 'Miscellaneous functions'
|
||||
docgen lists 'List manipulation functions'
|
||||
|
@ -8,14 +8,14 @@
|
||||
Nixpkgs provides a standard library at <varname>pkgs.lib</varname>, or through <code>import <nixpkgs/lib></code>.
|
||||
</para>
|
||||
|
||||
<xi:include href="./library/asserts.xml" />
|
||||
|
||||
<xi:include href="./library/attrsets.xml" />
|
||||
|
||||
<!-- These docs are generated via nixdoc. To add another generated
|
||||
library function file to this list, the file
|
||||
`lib-function-docs.nix` must also be updated. -->
|
||||
|
||||
<xi:include href="./library/generated/asserts.xml" />
|
||||
|
||||
<xi:include href="./library/generated/attrsets.xml" />
|
||||
|
||||
<xi:include href="./library/generated/strings.xml" />
|
||||
|
||||
<xi:include href="./library/generated/trivial.xml" />
|
||||
|
0
doc/functions/library/.gitkeep
Normal file
0
doc/functions/library/.gitkeep
Normal file
@ -1,112 +0,0 @@
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
xml:id="sec-functions-library-asserts">
|
||||
<title>Assert functions</title>
|
||||
|
||||
<section xml:id="function-library-lib.asserts.assertMsg">
|
||||
<title><function>lib.asserts.assertMsg</function></title>
|
||||
|
||||
<subtitle><literal>assertMsg :: Bool -> String -> Bool</literal>
|
||||
</subtitle>
|
||||
|
||||
<xi:include href="./locations.xml" xpointer="lib.asserts.assertMsg" />
|
||||
|
||||
<para>
|
||||
Print a trace message if <literal>pred</literal> is false.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Intended to be used to augment asserts with helpful error messages.
|
||||
</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<varname>pred</varname>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Condition under which the <varname>msg</varname> should <emphasis>not</emphasis> be printed.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<varname>msg</varname>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Message to print.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<example xml:id="function-library-lib.asserts.assertMsg-example-false">
|
||||
<title>Printing when the predicate is false</title>
|
||||
<programlisting><![CDATA[
|
||||
assert lib.asserts.assertMsg ("foo" == "bar") "foo is not bar, silly"
|
||||
stderr> trace: foo is not bar, silly
|
||||
stderr> assert failed
|
||||
]]></programlisting>
|
||||
</example>
|
||||
</section>
|
||||
|
||||
<section xml:id="function-library-lib.asserts.assertOneOf">
|
||||
<title><function>lib.asserts.assertOneOf</function></title>
|
||||
|
||||
<subtitle><literal>assertOneOf :: String -> String ->
|
||||
StringList -> Bool</literal>
|
||||
</subtitle>
|
||||
|
||||
<xi:include href="./locations.xml" xpointer="lib.asserts.assertOneOf" />
|
||||
|
||||
<para>
|
||||
Specialized <function>asserts.assertMsg</function> for checking if <varname>val</varname> is one of the elements of <varname>xs</varname>. Useful for checking enums.
|
||||
</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<varname>name</varname>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The name of the variable the user entered <varname>val</varname> into, for inclusion in the error message.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<varname>val</varname>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The value of what the user provided, to be compared against the values in <varname>xs</varname>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<varname>xs</varname>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The list of valid values.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<example xml:id="function-library-lib.asserts.assertOneOf-example">
|
||||
<title>Ensuring a user provided a possible value</title>
|
||||
<programlisting><![CDATA[
|
||||
let sslLibrary = "bearssl";
|
||||
in lib.asserts.assertOneOf "sslLibrary" sslLibrary [ "openssl" "libressl" ];
|
||||
=> false
|
||||
stderr> trace: sslLibrary must be one of "openssl", "libressl", but is: "bearssl"
|
||||
]]></programlisting>
|
||||
</example>
|
||||
</section>
|
||||
</section>
|
File diff suppressed because it is too large
Load Diff
@ -10,12 +10,21 @@ At the moment we support two different methods for managing plugins:
|
||||
- Vim packages (*recommended*)
|
||||
- vim-plug (vim only)
|
||||
|
||||
Right now two Vim packages are available: `vim` which has most features that require extra
|
||||
dependencies disabled and `vim-full` which has them configurable and enabled by default.
|
||||
|
||||
::: {.note}
|
||||
`vim_configurable` is a deprecated alias for `vim-full` and refers to the fact that its
|
||||
build-time features are configurable. It has nothing to do with user configuration,
|
||||
and both the `vim` and `vim-full` packages can be customized as explained in the next section.
|
||||
:::
|
||||
|
||||
## Custom configuration {#custom-configuration}
|
||||
|
||||
Adding custom .vimrc lines can be done using the following code:
|
||||
|
||||
```nix
|
||||
vim_configurable.customize {
|
||||
vim-full.customize {
|
||||
# `name` optionally specifies the name of the executable and package
|
||||
name = "vim-with-plugins";
|
||||
|
||||
@ -62,7 +71,7 @@ neovim-qt.override {
|
||||
To store your plugins in Vim packages (the native Vim plugin manager, see `:help packages`) the following example can be used:
|
||||
|
||||
```nix
|
||||
vim_configurable.customize {
|
||||
vim-full.customize {
|
||||
vimrcConfig.packages.myVimPackage = with pkgs.vimPlugins; {
|
||||
# loaded on launch
|
||||
start = [ youcompleteme fugitive ];
|
||||
@ -101,7 +110,7 @@ The resulting package can be added to `packageOverrides` in `~/.nixpkgs/config.n
|
||||
```nix
|
||||
{
|
||||
packageOverrides = pkgs: with pkgs; {
|
||||
myVim = vim_configurable.customize {
|
||||
myVim = vim-full.customize {
|
||||
# `name` specifies the name of the executable and package
|
||||
name = "vim-with-plugins";
|
||||
# add here code from the example section
|
||||
@ -190,7 +199,7 @@ To use [vim-plug](https://github.com/junegunn/vim-plug) to manage your Vim
|
||||
plugins the following example can be used:
|
||||
|
||||
```nix
|
||||
vim_configurable.customize {
|
||||
vim-full.customize {
|
||||
vimrcConfig.packages.myVimPackage = with pkgs.vimPlugins; {
|
||||
# loaded on launch
|
||||
plug.plugins = [ youcompleteme fugitive phpCompletion elm-vim ];
|
||||
|
@ -16,11 +16,15 @@ rec {
|
||||
assertMsg :: Bool -> String -> Bool
|
||||
*/
|
||||
# TODO(Profpatsch): add tests that check stderr
|
||||
assertMsg = pred: msg:
|
||||
assertMsg =
|
||||
# Predicate that needs to succeed, otherwise `msg` is thrown
|
||||
pred:
|
||||
# Message to throw in case `pred` fails
|
||||
msg:
|
||||
pred || builtins.throw msg;
|
||||
|
||||
/* Specialized `assertMsg` for checking if val is one of the elements
|
||||
of a list. Useful for checking enums.
|
||||
/* Specialized `assertMsg` for checking if `val` is one of the elements
|
||||
of the list `xs`. Useful for checking enums.
|
||||
|
||||
Example:
|
||||
let sslLibrary = "libressl";
|
||||
@ -33,7 +37,14 @@ rec {
|
||||
Type:
|
||||
assertOneOf :: String -> ComparableVal -> List ComparableVal -> Bool
|
||||
*/
|
||||
assertOneOf = name: val: xs: assertMsg
|
||||
assertOneOf =
|
||||
# The name of the variable the user entered `val` into, for inclusion in the error message
|
||||
name:
|
||||
# The value of what the user provided, to be compared against the values in `xs`
|
||||
val:
|
||||
# The list of valid values
|
||||
xs:
|
||||
assertMsg
|
||||
(lib.elem val xs)
|
||||
"${name} must be one of ${
|
||||
lib.generators.toPretty {} xs}, but is: ${
|
||||
|
455
lib/attrsets.nix
455
lib/attrsets.nix
@ -20,13 +20,22 @@ rec {
|
||||
=> 3
|
||||
attrByPath ["z" "z"] 6 x
|
||||
=> 6
|
||||
|
||||
Type:
|
||||
attrByPath :: [String] -> Any -> AttrSet -> Any
|
||||
*/
|
||||
attrByPath = attrPath: default: e:
|
||||
attrByPath =
|
||||
# A list of strings representing the attribute path to return from `set`
|
||||
attrPath:
|
||||
# Default value if `attrPath` does not resolve to an existing value
|
||||
default:
|
||||
# The nested attribute set to select values from
|
||||
set:
|
||||
let attr = head attrPath;
|
||||
in
|
||||
if attrPath == [] then e
|
||||
else if e ? ${attr}
|
||||
then attrByPath (tail attrPath) default e.${attr}
|
||||
if attrPath == [] then set
|
||||
else if set ? ${attr}
|
||||
then attrByPath (tail attrPath) default set.${attr}
|
||||
else default;
|
||||
|
||||
/* Return if an attribute from nested attribute set exists.
|
||||
@ -38,8 +47,14 @@ rec {
|
||||
hasAttrByPath ["z" "z"] x
|
||||
=> false
|
||||
|
||||
Type:
|
||||
hasAttrByPath :: [String] -> AttrSet -> Bool
|
||||
*/
|
||||
hasAttrByPath = attrPath: e:
|
||||
hasAttrByPath =
|
||||
# A list of strings representing the attribute path to check from `set`
|
||||
attrPath:
|
||||
# The nested attribute set to check
|
||||
e:
|
||||
let attr = head attrPath;
|
||||
in
|
||||
if attrPath == [] then true
|
||||
@ -48,13 +63,20 @@ rec {
|
||||
else false;
|
||||
|
||||
|
||||
/* Return nested attribute set in which an attribute is set.
|
||||
/* Create a new attribute set with `value` set at the nested attribute location specified in `attrPath`.
|
||||
|
||||
Example:
|
||||
setAttrByPath ["a" "b"] 3
|
||||
=> { a = { b = 3; }; }
|
||||
|
||||
Type:
|
||||
setAttrByPath :: [String] -> Any -> AttrSet
|
||||
*/
|
||||
setAttrByPath = attrPath: value:
|
||||
setAttrByPath =
|
||||
# A list of strings representing the attribute path to set
|
||||
attrPath:
|
||||
# The value to set at the location described by `attrPath`
|
||||
value:
|
||||
let
|
||||
len = length attrPath;
|
||||
atDepth = n:
|
||||
@ -63,8 +85,8 @@ rec {
|
||||
else { ${elemAt attrPath n} = atDepth (n + 1); };
|
||||
in atDepth 0;
|
||||
|
||||
/* Like `attrByPath' without a default value. If it doesn't find the
|
||||
path it will throw.
|
||||
/* Like `attrByPath', but without a default value. If it doesn't find the
|
||||
path it will throw an error.
|
||||
|
||||
Example:
|
||||
x = { a = { b = 3; }; }
|
||||
@ -72,10 +94,17 @@ rec {
|
||||
=> 3
|
||||
getAttrFromPath ["z" "z"] x
|
||||
=> error: cannot find attribute `z.z'
|
||||
|
||||
Type:
|
||||
getAttrFromPath :: [String] -> AttrSet -> Value
|
||||
*/
|
||||
getAttrFromPath = attrPath:
|
||||
getAttrFromPath =
|
||||
# A list of strings representing the attribute path to get from `set`
|
||||
attrPath:
|
||||
# The nested attribute set to find the value in.
|
||||
set:
|
||||
let errorMsg = "cannot find attribute `" + concatStringsSep "." attrPath + "'";
|
||||
in attrByPath attrPath (abort errorMsg);
|
||||
in attrByPath attrPath (abort errorMsg) set;
|
||||
|
||||
/* Map each attribute in the given set and merge them into a new attribute set.
|
||||
|
||||
@ -101,19 +130,23 @@ rec {
|
||||
|
||||
Takes a list of updates to apply and an attribute set to apply them to,
|
||||
and returns the attribute set with the updates applied. Updates are
|
||||
represented as { path = ...; update = ...; } values, where `path` is a
|
||||
represented as `{ path = ...; update = ...; }` values, where `path` is a
|
||||
list of strings representing the attribute path that should be updated,
|
||||
and `update` is a function that takes the old value at that attribute path
|
||||
as an argument and returns the new
|
||||
value it should be.
|
||||
|
||||
Properties:
|
||||
|
||||
- Updates to deeper attribute paths are applied before updates to more
|
||||
shallow attribute paths
|
||||
|
||||
- Multiple updates to the same attribute path are applied in the order
|
||||
they appear in the update list
|
||||
|
||||
- If any but the last `path` element leads into a value that is not an
|
||||
attribute set, an error is thrown
|
||||
|
||||
- If there is an update for an attribute path that doesn't exist,
|
||||
accessing the argument in the update function causes an error, but
|
||||
intermediate attribute sets are implicitly created as needed
|
||||
@ -134,6 +167,9 @@ rec {
|
||||
}
|
||||
] { a.b.c = 0; }
|
||||
=> { a = { b = { d = 1; }; }; x = { y = "xy"; }; }
|
||||
|
||||
Type:
|
||||
updateManyAttrsByPath :: [AttrSet] -> AttrSet -> AttrSet
|
||||
*/
|
||||
updateManyAttrsByPath = let
|
||||
# When recursing into attributes, instead of updating the `path` of each
|
||||
@ -199,8 +235,15 @@ rec {
|
||||
Example:
|
||||
attrVals ["a" "b" "c"] as
|
||||
=> [as.a as.b as.c]
|
||||
|
||||
Type:
|
||||
attrVals :: [String] -> AttrSet -> [Any]
|
||||
*/
|
||||
attrVals = nameList: set: map (x: set.${x}) nameList;
|
||||
attrVals =
|
||||
# The list of attributes to fetch from `set`. Each attribute name must exist on the attrbitue set
|
||||
nameList:
|
||||
# The set to get attribute values from
|
||||
set: map (x: set.${x}) nameList;
|
||||
|
||||
|
||||
/* Return the values of all attributes in the given set, sorted by
|
||||
@ -209,6 +252,8 @@ rec {
|
||||
Example:
|
||||
attrValues {c = 3; a = 1; b = 2;}
|
||||
=> [1 2 3]
|
||||
Type:
|
||||
attrValues :: AttrSet -> [Any]
|
||||
*/
|
||||
attrValues = builtins.attrValues or (attrs: attrVals (attrNames attrs) attrs);
|
||||
|
||||
@ -219,8 +264,15 @@ rec {
|
||||
Example:
|
||||
getAttrs [ "a" "b" ] { a = 1; b = 2; c = 3; }
|
||||
=> { a = 1; b = 2; }
|
||||
|
||||
Type:
|
||||
getAttrs :: [String] -> AttrSet -> AttrSet
|
||||
*/
|
||||
getAttrs = names: attrs: genAttrs names (name: attrs.${name});
|
||||
getAttrs =
|
||||
# A list of attribute names to get out of `set`
|
||||
names:
|
||||
# The set to get the named attributes from
|
||||
attrs: genAttrs names (name: attrs.${name});
|
||||
|
||||
/* Collect each attribute named `attr' from a list of attribute
|
||||
sets. Sets that don't contain the named attribute are ignored.
|
||||
@ -228,6 +280,9 @@ rec {
|
||||
Example:
|
||||
catAttrs "a" [{a = 1;} {b = 0;} {a = 2;}]
|
||||
=> [1 2]
|
||||
|
||||
Type:
|
||||
catAttrs :: String -> [AttrSet] -> [Any]
|
||||
*/
|
||||
catAttrs = builtins.catAttrs or
|
||||
(attr: l: concatLists (map (s: if s ? ${attr} then [s.${attr}] else []) l));
|
||||
@ -239,8 +294,15 @@ rec {
|
||||
Example:
|
||||
filterAttrs (n: v: n == "foo") { foo = 1; bar = 2; }
|
||||
=> { foo = 1; }
|
||||
|
||||
Type:
|
||||
filterAttrs :: (String -> Any -> Bool) -> AttrSet -> AttrSet
|
||||
*/
|
||||
filterAttrs = pred: set:
|
||||
filterAttrs =
|
||||
# Predicate taking an attribute name and an attribute value, which returns `true` to include the attribute, or `false` to exclude the attribute.
|
||||
pred:
|
||||
# The attribute set to filter
|
||||
set:
|
||||
listToAttrs (concatMap (name: let v = set.${name}; in if pred name v then [(nameValuePair name v)] else []) (attrNames set));
|
||||
|
||||
|
||||
@ -250,8 +312,15 @@ rec {
|
||||
Example:
|
||||
filterAttrsRecursive (n: v: v != null) { foo = { bar = null; }; }
|
||||
=> { foo = {}; }
|
||||
|
||||
Type:
|
||||
filterAttrsRecursive :: (String -> Any -> Bool) -> AttrSet -> AttrSet
|
||||
*/
|
||||
filterAttrsRecursive = pred: set:
|
||||
filterAttrsRecursive =
|
||||
# Predicate taking an attribute name and an attribute value, which returns `true` to include the attribute, or `false` to exclude the attribute.
|
||||
pred:
|
||||
# The attribute set to filter
|
||||
set:
|
||||
listToAttrs (
|
||||
concatMap (name:
|
||||
let v = set.${name}; in
|
||||
@ -269,23 +338,28 @@ rec {
|
||||
Example:
|
||||
foldAttrs (item: acc: [item] ++ acc) [] [{ a = 2; } { a = 3; }]
|
||||
=> { a = [ 2 3 ]; }
|
||||
|
||||
Type:
|
||||
foldAttrs :: (Any -> Any -> Any) -> Any -> [AttrSets] -> Any
|
||||
*/
|
||||
foldAttrs = op: nul:
|
||||
foldAttrs =
|
||||
# A function, given a value and a collector combines the two.
|
||||
op:
|
||||
# The starting value.
|
||||
nul:
|
||||
# A list of attribute sets to fold together by key.
|
||||
list_of_attrs:
|
||||
foldr (n: a:
|
||||
foldr (name: o:
|
||||
o // { ${name} = op n.${name} (a.${name} or nul); }
|
||||
) a (attrNames n)
|
||||
) {};
|
||||
) {} list_of_attrs;
|
||||
|
||||
|
||||
/* Recursively collect sets that verify a given predicate named `pred'
|
||||
from the set `attrs'. The recursion is stopped when the predicate is
|
||||
verified.
|
||||
|
||||
Type:
|
||||
collect ::
|
||||
(AttrSet -> Bool) -> AttrSet -> [x]
|
||||
|
||||
Example:
|
||||
collect isList { a = { b = ["b"]; }; c = [1]; }
|
||||
=> [["b"] [1]]
|
||||
@ -293,8 +367,15 @@ rec {
|
||||
collect (x: x ? outPath)
|
||||
{ a = { outPath = "a/"; }; b = { outPath = "b/"; }; }
|
||||
=> [{ outPath = "a/"; } { outPath = "b/"; }]
|
||||
|
||||
Type:
|
||||
collect :: (AttrSet -> Bool) -> AttrSet -> [x]
|
||||
*/
|
||||
collect = pred: attrs:
|
||||
collect =
|
||||
# Given an attribute's value, determine if recursion should stop.
|
||||
pred:
|
||||
# The attribute set to recursively collect.
|
||||
attrs:
|
||||
if pred attrs then
|
||||
[ attrs ]
|
||||
else if isAttrs attrs then
|
||||
@ -312,8 +393,12 @@ rec {
|
||||
{ a = 2; b = 10; }
|
||||
{ a = 2; b = 20; }
|
||||
]
|
||||
Type:
|
||||
cartesianProductOfSets :: AttrSet -> [AttrSet]
|
||||
*/
|
||||
cartesianProductOfSets = attrsOfLists:
|
||||
cartesianProductOfSets =
|
||||
# Attribute set with attributes that are lists of values
|
||||
attrsOfLists:
|
||||
foldl' (listOfAttrs: attrName:
|
||||
concatMap (attrs:
|
||||
map (listValue: attrs // { ${attrName} = listValue; }) attrsOfLists.${attrName}
|
||||
@ -321,25 +406,32 @@ rec {
|
||||
) [{}] (attrNames attrsOfLists);
|
||||
|
||||
|
||||
/* Utility function that creates a {name, value} pair as expected by
|
||||
builtins.listToAttrs.
|
||||
/* Utility function that creates a `{name, value}` pair as expected by `builtins.listToAttrs`.
|
||||
|
||||
Example:
|
||||
nameValuePair "some" 6
|
||||
=> { name = "some"; value = 6; }
|
||||
|
||||
Type:
|
||||
nameValuePair :: String -> Any -> AttrSet
|
||||
*/
|
||||
nameValuePair = name: value: { inherit name value; };
|
||||
nameValuePair =
|
||||
# Attribute name
|
||||
name:
|
||||
# Attribute value
|
||||
value:
|
||||
{ inherit name value; };
|
||||
|
||||
|
||||
/* Apply a function to each element in an attribute set. The
|
||||
function takes two arguments --- the attribute name and its value
|
||||
--- and returns the new value for the attribute. The result is a
|
||||
new attribute set.
|
||||
/* Apply a function to each element in an attribute set, creating a new attribute set.
|
||||
|
||||
Example:
|
||||
mapAttrs (name: value: name + "-" + value)
|
||||
{ x = "foo"; y = "bar"; }
|
||||
=> { x = "x-foo"; y = "y-bar"; }
|
||||
|
||||
Type:
|
||||
mapAttrs :: (String -> Any -> Any) -> AttrSet -> AttrSet
|
||||
*/
|
||||
mapAttrs = builtins.mapAttrs or
|
||||
(f: set:
|
||||
@ -354,24 +446,35 @@ rec {
|
||||
mapAttrs' (name: value: nameValuePair ("foo_" + name) ("bar-" + value))
|
||||
{ x = "a"; y = "b"; }
|
||||
=> { foo_x = "bar-a"; foo_y = "bar-b"; }
|
||||
|
||||
Type:
|
||||
mapAttrs' :: (String -> Any -> { name = String; value = Any }) -> AttrSet -> AttrSet
|
||||
*/
|
||||
mapAttrs' = f: set:
|
||||
mapAttrs' =
|
||||
# A function, given an attribute's name and value, returns a new `nameValuePair`.
|
||||
f:
|
||||
# Attribute set to map over.
|
||||
set:
|
||||
listToAttrs (map (attr: f attr set.${attr}) (attrNames set));
|
||||
|
||||
|
||||
/* Call a function for each attribute in the given set and return
|
||||
the result in a list.
|
||||
|
||||
Type:
|
||||
mapAttrsToList ::
|
||||
(String -> a -> b) -> AttrSet -> [b]
|
||||
|
||||
Example:
|
||||
mapAttrsToList (name: value: name + value)
|
||||
{ x = "a"; y = "b"; }
|
||||
=> [ "xa" "yb" ]
|
||||
|
||||
Type:
|
||||
mapAttrsToList :: (String -> a -> b) -> AttrSet -> [b]
|
||||
|
||||
*/
|
||||
mapAttrsToList = f: attrs:
|
||||
mapAttrsToList =
|
||||
# A function, given an attribute's name and value, returns a new value.
|
||||
f:
|
||||
# Attribute set to map over.
|
||||
attrs:
|
||||
map (name: f name attrs.${name}) (attrNames attrs);
|
||||
|
||||
|
||||
@ -379,16 +482,20 @@ rec {
|
||||
attribute sets. Also, the first argument of the argument
|
||||
function is a *list* of the names of the containing attributes.
|
||||
|
||||
Type:
|
||||
mapAttrsRecursive ::
|
||||
([String] -> a -> b) -> AttrSet -> AttrSet
|
||||
|
||||
Example:
|
||||
mapAttrsRecursive (path: value: concatStringsSep "-" (path ++ [value]))
|
||||
{ n = { a = "A"; m = { b = "B"; c = "C"; }; }; d = "D"; }
|
||||
=> { n = { a = "n-a-A"; m = { b = "n-m-b-B"; c = "n-m-c-C"; }; }; d = "d-D"; }
|
||||
|
||||
Type:
|
||||
mapAttrsRecursive :: ([String] -> a -> b) -> AttrSet -> AttrSet
|
||||
*/
|
||||
mapAttrsRecursive = mapAttrsRecursiveCond (as: true);
|
||||
mapAttrsRecursive =
|
||||
# A function, given a list of attribute names and a value, returns a new value.
|
||||
f:
|
||||
# Set to recursively map over.
|
||||
set:
|
||||
mapAttrsRecursiveCond (as: true) f set;
|
||||
|
||||
|
||||
/* Like `mapAttrsRecursive', but it takes an additional predicate
|
||||
@ -397,10 +504,6 @@ rec {
|
||||
recurse, but does apply the map function. If it returns true, it
|
||||
does recurse, and does not apply the map function.
|
||||
|
||||
Type:
|
||||
mapAttrsRecursiveCond ::
|
||||
(AttrSet -> Bool) -> ([String] -> a -> b) -> AttrSet -> AttrSet
|
||||
|
||||
Example:
|
||||
# To prevent recursing into derivations (which are attribute
|
||||
# sets with the attribute "type" equal to "derivation"):
|
||||
@ -408,8 +511,17 @@ rec {
|
||||
(as: !(as ? "type" && as.type == "derivation"))
|
||||
(x: ... do something ...)
|
||||
attrs
|
||||
|
||||
Type:
|
||||
mapAttrsRecursiveCond :: (AttrSet -> Bool) -> ([String] -> a -> b) -> AttrSet -> AttrSet
|
||||
*/
|
||||
mapAttrsRecursiveCond = cond: f: set:
|
||||
mapAttrsRecursiveCond =
|
||||
# A function, given the attribute set the recursion is currently at, determine if to recurse deeper into that attribute set.
|
||||
cond:
|
||||
# A function, given a list of attribute names and a value, returns a new value.
|
||||
f:
|
||||
# Attribute set to recursively map over.
|
||||
set:
|
||||
let
|
||||
recurse = path:
|
||||
let
|
||||
@ -428,13 +540,20 @@ rec {
|
||||
Example:
|
||||
genAttrs [ "foo" "bar" ] (name: "x_" + name)
|
||||
=> { foo = "x_foo"; bar = "x_bar"; }
|
||||
|
||||
Type:
|
||||
genAttrs :: [ String ] -> (String -> Any) -> AttrSet
|
||||
*/
|
||||
genAttrs = names: f:
|
||||
genAttrs =
|
||||
# Names of values in the resulting attribute set.
|
||||
names:
|
||||
# A function, given the name of the attribute, returns the attribute's value.
|
||||
f:
|
||||
listToAttrs (map (n: nameValuePair n (f n)) names);
|
||||
|
||||
|
||||
/* Check whether the argument is a derivation. Any set with
|
||||
{ type = "derivation"; } counts as a derivation.
|
||||
`{ type = "derivation"; }` counts as a derivation.
|
||||
|
||||
Example:
|
||||
nixpkgs = import <nixpkgs> {}
|
||||
@ -442,25 +561,36 @@ rec {
|
||||
=> true
|
||||
isDerivation "foobar"
|
||||
=> false
|
||||
*/
|
||||
isDerivation = x: x.type or null == "derivation";
|
||||
|
||||
/* Converts a store path to a fake derivation. */
|
||||
toDerivation = path:
|
||||
let
|
||||
path' = builtins.storePath path;
|
||||
res =
|
||||
{ type = "derivation";
|
||||
name = sanitizeDerivationName (builtins.substring 33 (-1) (baseNameOf path'));
|
||||
outPath = path';
|
||||
outputs = [ "out" ];
|
||||
out = res;
|
||||
outputName = "out";
|
||||
};
|
||||
Type:
|
||||
isDerivation :: Any -> Bool
|
||||
*/
|
||||
isDerivation =
|
||||
# Value to check.
|
||||
value: value.type or null == "derivation";
|
||||
|
||||
/* Converts a store path to a fake derivation.
|
||||
|
||||
Type:
|
||||
toDerivation :: Path -> Derivation
|
||||
*/
|
||||
toDerivation =
|
||||
# A store path to convert to a derivation.
|
||||
path:
|
||||
let
|
||||
path' = builtins.storePath path;
|
||||
res =
|
||||
{ type = "derivation";
|
||||
name = sanitizeDerivationName (builtins.substring 33 (-1) (baseNameOf path'));
|
||||
outPath = path';
|
||||
outputs = [ "out" ];
|
||||
out = res;
|
||||
outputName = "out";
|
||||
};
|
||||
in res;
|
||||
|
||||
|
||||
/* If `cond' is true, return the attribute set `as',
|
||||
/* If `cond` is true, return the attribute set `as`,
|
||||
otherwise an empty attribute set.
|
||||
|
||||
Example:
|
||||
@ -468,47 +598,82 @@ rec {
|
||||
=> { my = "set"; }
|
||||
optionalAttrs (false) { my = "set"; }
|
||||
=> { }
|
||||
|
||||
Type:
|
||||
optionalAttrs :: Bool -> AttrSet
|
||||
*/
|
||||
optionalAttrs = cond: as: if cond then as else {};
|
||||
optionalAttrs =
|
||||
# Condition under which the `as` attribute set is returned.
|
||||
cond:
|
||||
# The attribute set to return if `cond` is `true`.
|
||||
as:
|
||||
if cond then as else {};
|
||||
|
||||
|
||||
/* Merge sets of attributes and use the function f to merge attributes
|
||||
/* Merge sets of attributes and use the function `f` to merge attributes
|
||||
values.
|
||||
|
||||
Example:
|
||||
zipAttrsWithNames ["a"] (name: vs: vs) [{a = "x";} {a = "y"; b = "z";}]
|
||||
=> { a = ["x" "y"]; }
|
||||
|
||||
Type:
|
||||
zipAttrsWithNames :: [ String ] -> (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet
|
||||
*/
|
||||
zipAttrsWithNames = names: f: sets:
|
||||
zipAttrsWithNames =
|
||||
# List of attribute names to zip.
|
||||
names:
|
||||
# A function, accepts an attribute name, all the values, and returns a combined value.
|
||||
f:
|
||||
# List of values from the list of attribute sets.
|
||||
sets:
|
||||
listToAttrs (map (name: {
|
||||
inherit name;
|
||||
value = f name (catAttrs name sets);
|
||||
}) names);
|
||||
|
||||
/* Implementation note: Common names appear multiple times in the list of
|
||||
|
||||
/* Merge sets of attributes and use the function f to merge attribute values.
|
||||
Like `lib.attrsets.zipAttrsWithNames` with all key names are passed for `names`.
|
||||
|
||||
Implementation note: Common names appear multiple times in the list of
|
||||
names, hopefully this does not affect the system because the maximal
|
||||
laziness avoid computing twice the same expression and listToAttrs does
|
||||
laziness avoid computing twice the same expression and `listToAttrs` does
|
||||
not care about duplicated attribute names.
|
||||
|
||||
Example:
|
||||
zipAttrsWith (name: values: values) [{a = "x";} {a = "y"; b = "z";}]
|
||||
=> { a = ["x" "y"]; b = ["z"] }
|
||||
|
||||
Type:
|
||||
zipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet
|
||||
*/
|
||||
zipAttrsWith =
|
||||
builtins.zipAttrsWith or (f: sets: zipAttrsWithNames (concatMap attrNames sets) f sets);
|
||||
/* Like `zipAttrsWith' with `(name: values: values)' as the function.
|
||||
|
||||
Example:
|
||||
zipAttrs [{a = "x";} {a = "y"; b = "z";}]
|
||||
=> { a = ["x" "y"]; b = ["z"] }
|
||||
|
||||
/* Merge sets of attributes and combine each attribute value in to a list.
|
||||
|
||||
Like `lib.attrsets.zipAttrsWith' with `(name: values: values)' as the function.
|
||||
|
||||
Example:
|
||||
zipAttrs [{a = "x";} {a = "y"; b = "z";}]
|
||||
=> { a = ["x" "y"]; b = ["z"] }
|
||||
|
||||
Type:
|
||||
zipAttrs :: [ AttrSet ] -> AttrSet
|
||||
*/
|
||||
zipAttrs = zipAttrsWith (name: values: values);
|
||||
zipAttrs =
|
||||
# List of attribute sets to zip together.
|
||||
sets:
|
||||
zipAttrsWith (name: values: values) sets;
|
||||
|
||||
|
||||
/* Does the same as the update operator '//' except that attributes are
|
||||
merged until the given predicate is verified. The predicate should
|
||||
accept 3 arguments which are the path to reach the attribute, a part of
|
||||
the first attribute set and a part of the second attribute set. When
|
||||
the predicate is verified, the value of the first attribute set is
|
||||
the predicate is satisfied, the value of the first attribute set is
|
||||
replaced by the value of the second attribute set.
|
||||
|
||||
Example:
|
||||
@ -524,15 +689,23 @@ rec {
|
||||
baz = 4;
|
||||
}
|
||||
|
||||
returns: {
|
||||
=> {
|
||||
foo.bar = 1; # 'foo.*' from the second set
|
||||
foo.quz = 2; #
|
||||
bar = 3; # 'bar' from the first set
|
||||
baz = 4; # 'baz' from the second set
|
||||
}
|
||||
|
||||
*/
|
||||
recursiveUpdateUntil = pred: lhs: rhs:
|
||||
Type:
|
||||
recursiveUpdateUntil :: ( [ String ] -> AttrSet -> AttrSet -> Bool ) -> AttrSet -> AttrSet -> AttrSet
|
||||
*/
|
||||
recursiveUpdateUntil =
|
||||
# Predicate, taking the path to the current attribute as a list of strings for attribute names, and the two values at that path from the original arguments.
|
||||
pred:
|
||||
# Left attribute set of the merge.
|
||||
lhs:
|
||||
# Right attribute set of the merge.
|
||||
rhs:
|
||||
let f = attrPath:
|
||||
zipAttrsWith (n: values:
|
||||
let here = attrPath ++ [n]; in
|
||||
@ -544,6 +717,7 @@ rec {
|
||||
);
|
||||
in f [] [rhs lhs];
|
||||
|
||||
|
||||
/* A recursive variant of the update operator ‘//’. The recursion
|
||||
stops when one of the attribute values is not an attribute set,
|
||||
in which case the right hand side value takes precedence over the
|
||||
@ -562,16 +736,32 @@ rec {
|
||||
boot.loader.grub.device = "";
|
||||
}
|
||||
|
||||
*/
|
||||
recursiveUpdate = recursiveUpdateUntil (path: lhs: rhs: !(isAttrs lhs && isAttrs rhs));
|
||||
Type:
|
||||
recursiveUpdate :: AttrSet -> AttrSet -> AttrSet
|
||||
*/
|
||||
recursiveUpdate =
|
||||
# Left attribute set of the merge.
|
||||
lhs:
|
||||
# Right attribute set of the merge.
|
||||
rhs:
|
||||
recursiveUpdateUntil (path: lhs: rhs: !(isAttrs lhs && isAttrs rhs)) lhs rhs;
|
||||
|
||||
|
||||
/* Returns true if the pattern is contained in the set. False otherwise.
|
||||
|
||||
Example:
|
||||
matchAttrs { cpu = {}; } { cpu = { bits = 64; }; }
|
||||
=> true
|
||||
*/
|
||||
matchAttrs = pattern: attrs: assert isAttrs pattern;
|
||||
|
||||
Type:
|
||||
matchAttrs :: AttrSet -> AttrSet -> Bool
|
||||
*/
|
||||
matchAttrs =
|
||||
# Attribute set strucutre to match
|
||||
pattern:
|
||||
# Attribute set to find patterns in
|
||||
attrs:
|
||||
assert isAttrs pattern;
|
||||
all id (attrValues (zipAttrsWithNames (attrNames pattern) (n: values:
|
||||
let pat = head values; val = elemAt values 1; in
|
||||
if length values == 1 then false
|
||||
@ -579,6 +769,7 @@ rec {
|
||||
else pat == val
|
||||
) [pattern attrs]));
|
||||
|
||||
|
||||
/* Override only the attributes that are already present in the old set
|
||||
useful for deep-overriding.
|
||||
|
||||
@ -589,10 +780,18 @@ rec {
|
||||
=> { b = 2; }
|
||||
overrideExisting { a = 3; b = 2; } { a = 1; }
|
||||
=> { a = 1; b = 2; }
|
||||
|
||||
Type:
|
||||
overrideExisting :: AttrSet -> AttrSet -> AttrSet
|
||||
*/
|
||||
overrideExisting = old: new:
|
||||
overrideExisting =
|
||||
# Original attribute set
|
||||
old:
|
||||
# Attribute set with attributes to override in `old`.
|
||||
new:
|
||||
mapAttrs (name: value: new.${name} or value) old;
|
||||
|
||||
|
||||
/* Turns a list of strings into a human-readable description of those
|
||||
strings represented as an attribute path. The result of this function is
|
||||
not intended to be machine-readable.
|
||||
@ -602,44 +801,120 @@ rec {
|
||||
=> "foo.\"10\".bar"
|
||||
showAttrPath []
|
||||
=> "<root attribute path>"
|
||||
|
||||
Type:
|
||||
showAttrPath :: [String] -> String
|
||||
*/
|
||||
showAttrPath = path:
|
||||
showAttrPath =
|
||||
# Attribute path to render to a string
|
||||
path:
|
||||
if path == [] then "<root attribute path>"
|
||||
else concatMapStringsSep "." escapeNixIdentifier path;
|
||||
|
||||
|
||||
/* Get a package output.
|
||||
If no output is found, fallback to `.out` and then to the default.
|
||||
|
||||
Example:
|
||||
getOutput "dev" pkgs.openssl
|
||||
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev"
|
||||
|
||||
Type:
|
||||
getOutput :: String -> Derivation -> String
|
||||
*/
|
||||
getOutput = output: pkg:
|
||||
if ! pkg ? outputSpecified || ! pkg.outputSpecified
|
||||
then pkg.${output} or pkg.out or pkg
|
||||
else pkg;
|
||||
|
||||
/* Get a package's `bin` output.
|
||||
If the output does not exist, fallback to `.out` and then to the default.
|
||||
|
||||
Example:
|
||||
getOutput pkgs.openssl
|
||||
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r"
|
||||
|
||||
Type:
|
||||
getOutput :: Derivation -> String
|
||||
*/
|
||||
getBin = getOutput "bin";
|
||||
|
||||
|
||||
/* Get a package's `lib` output.
|
||||
If the output does not exist, fallback to `.out` and then to the default.
|
||||
|
||||
Example:
|
||||
getOutput pkgs.openssl
|
||||
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-lib"
|
||||
|
||||
Type:
|
||||
getOutput :: Derivation -> String
|
||||
*/
|
||||
getLib = getOutput "lib";
|
||||
|
||||
|
||||
/* Get a package's `dev` output.
|
||||
If the output does not exist, fallback to `.out` and then to the default.
|
||||
|
||||
Example:
|
||||
getOutput pkgs.openssl
|
||||
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev"
|
||||
|
||||
Type:
|
||||
getOutput :: Derivation -> String
|
||||
*/
|
||||
getDev = getOutput "dev";
|
||||
|
||||
|
||||
/* Get a package's `man` output.
|
||||
If the output does not exist, fallback to `.out` and then to the default.
|
||||
|
||||
Example:
|
||||
getOutput pkgs.openssl
|
||||
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-man"
|
||||
|
||||
Type:
|
||||
getOutput :: Derivation -> String
|
||||
*/
|
||||
getMan = getOutput "man";
|
||||
|
||||
/* Pick the outputs of packages to place in buildInputs */
|
||||
chooseDevOutputs = builtins.map getDev;
|
||||
/* Pick the outputs of packages to place in `buildInputs` */
|
||||
chooseDevOutputs =
|
||||
# List of packages to pick `dev` outputs from
|
||||
drvs:
|
||||
builtins.map getDev drvs;
|
||||
|
||||
/* Make various Nix tools consider the contents of the resulting
|
||||
attribute set when looking for what to build, find, etc.
|
||||
|
||||
This function only affects a single attribute set; it does not
|
||||
apply itself recursively for nested attribute sets.
|
||||
|
||||
Example:
|
||||
{ pkgs ? import <nixpkgs> {} }:
|
||||
{
|
||||
myTools = pkgs.lib.recurseIntoAttrs {
|
||||
inherit (pkgs) hello figlet;
|
||||
};
|
||||
}
|
||||
|
||||
Type:
|
||||
recurseIntoAttrs :: AttrSet -> AttrSet
|
||||
*/
|
||||
recurseIntoAttrs =
|
||||
attrs: attrs // { recurseForDerivations = true; };
|
||||
# An attribute set to scan for derivations.
|
||||
attrs:
|
||||
attrs // { recurseForDerivations = true; };
|
||||
|
||||
/* Undo the effect of recurseIntoAttrs.
|
||||
|
||||
Type:
|
||||
recurseIntoAttrs :: AttrSet -> AttrSet
|
||||
*/
|
||||
dontRecurseIntoAttrs =
|
||||
attrs: attrs // { recurseForDerivations = false; };
|
||||
# An attribute set to not scan for derivations.
|
||||
attrs:
|
||||
attrs // { recurseForDerivations = false; };
|
||||
|
||||
/* `unionOfDisjoint x y` is equal to `x // y // z` where the
|
||||
attrnames in `z` are the intersection of the attrnames in `x` and
|
||||
@ -655,9 +930,9 @@ rec {
|
||||
in
|
||||
(x // y) // mask;
|
||||
|
||||
/*** deprecated stuff ***/
|
||||
|
||||
# deprecated
|
||||
zipWithNames = zipAttrsWithNames;
|
||||
# deprecated
|
||||
zip = builtins.trace
|
||||
"lib.zip is deprecated, use lib.zipAttrsWith instead" zipAttrsWith;
|
||||
}
|
||||
|
@ -3704,6 +3704,12 @@
|
||||
fingerprint = "4749 0887 CF3B 85A1 6355 C671 78C7 DD40 DF23 FB16";
|
||||
}];
|
||||
};
|
||||
DPDmancul = {
|
||||
name = "Davide Peressoni";
|
||||
email = "davide.peressoni@tuta.io";
|
||||
matrix = "@dpd-:matrix.org";
|
||||
githubId = 3186857;
|
||||
};
|
||||
dpercy = {
|
||||
email = "dpercy@dpercy.dev";
|
||||
github = "dpercy";
|
||||
|
@ -17,6 +17,16 @@ you may want to use one of the unversioned `pkgs.linuxPackages_*` aliases
|
||||
such as `pkgs.linuxPackages_latest`, that are kept up to date with new
|
||||
versions.
|
||||
|
||||
Please note that the current convention in NixOS is to only keep actively
|
||||
maintained kernel versions on both unstable and the currently supported stable
|
||||
release(s) of NixOS. This means that a non-longterm kernel will be removed after it's
|
||||
abandoned by the kernel developers, even on stable NixOS versions. If you
|
||||
pin your kernel onto a non-longterm version, expect your evaluation to fail as
|
||||
soon as the version is out of maintenance.
|
||||
|
||||
Longterm versions of kernels will be removed before the next stable NixOS that will
|
||||
exceed the maintenance period of the kernel version.
|
||||
|
||||
The default Linux kernel configuration should be fine for most users.
|
||||
You can see the configuration of your current kernel with the following
|
||||
command:
|
||||
@ -138,3 +148,26 @@ $ cd linux-*
|
||||
$ make -C $dev/lib/modules/*/build M=$(pwd)/drivers/net/ethernet/mellanox modules
|
||||
# insmod ./drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko
|
||||
```
|
||||
|
||||
## ZFS {#sec-linux-zfs}
|
||||
|
||||
It's a common issue that the latest stable version of ZFS doesn't support the latest
|
||||
available Linux kernel. It is recommended to use the latest available LTS that's compatible
|
||||
with ZFS. Usually this is the default kernel provided by nixpkgs (i.e. `pkgs.linuxPackages`).
|
||||
|
||||
Alternatively, it's possible to pin the system to the latest available kernel
|
||||
version *that is supported by ZFS* like this:
|
||||
|
||||
```nix
|
||||
{
|
||||
boot.kernelPackages = pkgs.zfs.latestCompatibleLinuxPackages;
|
||||
}
|
||||
```
|
||||
|
||||
Please note that the version this attribute points to isn't monotonic because the latest kernel
|
||||
version only refers to kernel versions supported by the Linux developers. In other words,
|
||||
the latest kernel version that ZFS is compatible with may decrease over time.
|
||||
|
||||
An example: the latest version ZFS is compatible with is 5.19 which is a non-longterm version. When 5.19
|
||||
is out of maintenance, the latest supported kernel version is 5.15 because it's longterm and the versions
|
||||
5.16, 5.17 and 5.18 are already out of maintenance because they're non-longterm.
|
||||
|
@ -21,6 +21,19 @@ boot.kernelPackages = pkgs.linuxKernel.packages.linux_3_10;
|
||||
<literal>pkgs.linuxPackages_latest</literal>, that are kept up to
|
||||
date with new versions.
|
||||
</para>
|
||||
<para>
|
||||
Please note that the current convention in NixOS is to only keep
|
||||
actively maintained kernel versions on both unstable and the
|
||||
currently supported stable release(s) of NixOS. This means that a
|
||||
non-longterm kernel will be removed after it’s abandoned by the
|
||||
kernel developers, even on stable NixOS versions. If you pin your
|
||||
kernel onto a non-longterm version, expect your evaluation to fail
|
||||
as soon as the version is out of maintenance.
|
||||
</para>
|
||||
<para>
|
||||
Longterm versions of kernels will be removed before the next stable
|
||||
NixOS that will exceed the maintenance period of the kernel version.
|
||||
</para>
|
||||
<para>
|
||||
The default Linux kernel configuration should be fine for most
|
||||
users. You can see the configuration of your current kernel with the
|
||||
@ -154,4 +167,38 @@ $ make -C $dev/lib/modules/*/build M=$(pwd)/drivers/net/ethernet/mellanox module
|
||||
# insmod ./drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko
|
||||
</programlisting>
|
||||
</section>
|
||||
<section xml:id="sec-linux-zfs">
|
||||
<title>ZFS</title>
|
||||
<para>
|
||||
It’s a common issue that the latest stable version of ZFS doesn’t
|
||||
support the latest available Linux kernel. It is recommended to
|
||||
use the latest available LTS that’s compatible with ZFS. Usually
|
||||
this is the default kernel provided by nixpkgs (i.e.
|
||||
<literal>pkgs.linuxPackages</literal>).
|
||||
</para>
|
||||
<para>
|
||||
Alternatively, it’s possible to pin the system to the latest
|
||||
available kernel version <emphasis>that is supported by
|
||||
ZFS</emphasis> like this:
|
||||
</para>
|
||||
<programlisting language="bash">
|
||||
{
|
||||
boot.kernelPackages = pkgs.zfs.latestCompatibleLinuxPackages;
|
||||
}
|
||||
</programlisting>
|
||||
<para>
|
||||
Please note that the version this attribute points to isn’t
|
||||
monotonic because the latest kernel version only refers to kernel
|
||||
versions supported by the Linux developers. In other words, the
|
||||
latest kernel version that ZFS is compatible with may decrease
|
||||
over time.
|
||||
</para>
|
||||
<para>
|
||||
An example: the latest version ZFS is compatible with is 5.19
|
||||
which is a non-longterm version. When 5.19 is out of maintenance,
|
||||
the latest supported kernel version is 5.15 because it’s longterm
|
||||
and the versions 5.16, 5.17 and 5.18 are already out of
|
||||
maintenance because they’re non-longterm.
|
||||
</para>
|
||||
</section>
|
||||
</chapter>
|
||||
|
@ -158,6 +158,17 @@
|
||||
<section xml:id="sec-release-23.05-notable-changes">
|
||||
<title>Other Notable Changes</title>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>vim_configurable</literal> has been renamed to
|
||||
<literal>vim-full</literal> to avoid confusion:
|
||||
<literal>vim-full</literal>’s build-time features are
|
||||
configurable, but both <literal>vim</literal> and
|
||||
<literal>vim-full</literal> are
|
||||
<emphasis>customizable</emphasis> (in the sense of user
|
||||
configuration, like vimrc).
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The module for the application firewall
|
||||
@ -184,6 +195,21 @@
|
||||
deprecated when NixOS 22.11 reaches end of life.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
To reduce closure size in
|
||||
<literal>nixos/modules/profiles/minimal.nix</literal> profile
|
||||
disabled installation documentations and manuals. Also
|
||||
disabled <literal>logrotate</literal> and
|
||||
<literal>udisks2</literal> services.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The minimal ISO image now use
|
||||
<literal>nixos/modules/profiles/minimal.nix</literal> profile.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
A new <literal>virtualisation.rosetta</literal> module was
|
||||
|
@ -49,6 +49,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- `vim_configurable` has been renamed to `vim-full` to avoid confusion: `vim-full`'s build-time features are configurable, but both `vim` and `vim-full` are *customizable* (in the sense of user configuration, like vimrc).
|
||||
|
||||
- The module for the application firewall `opensnitch` got the ability to configure rules. Available as [services.opensnitch.rules](#opt-services.opensnitch.rules)
|
||||
|
||||
- `services.mastodon` gained a tootctl wrapped named `mastodon-tootctl` similar to `nextcloud-occ` which can be executed from any user and switches to the configured mastodon user with sudo and sources the environment variables.
|
||||
@ -58,6 +60,10 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
`services.dnsmasq.extraConfig` will be deprecated when NixOS 22.11 reaches
|
||||
end of life.
|
||||
|
||||
- To reduce closure size in `nixos/modules/profiles/minimal.nix` profile disabled installation documentations and manuals. Also disabled `logrotate` and `udisks2` services.
|
||||
|
||||
- The minimal ISO image now use `nixos/modules/profiles/minimal.nix` profile.
|
||||
|
||||
- A new `virtualisation.rosetta` module was added to allow running `x86_64` binaries through [Rosetta](https://developer.apple.com/documentation/apple-silicon/about-the-rosetta-translation-environment) inside virtualised NixOS guests on Apple silicon. This feature works by default with the [UTM](https://docs.getutm.app/) virtualisation [package](https://search.nixos.org/packages?channel=unstable&show=utm&from=0&size=1&sort=relevance&type=packages&query=utm).
|
||||
|
||||
- Resilio sync secret keys can now be provided using a secrets file at runtime, preventing these secrets from ending up in the Nix store.
|
||||
|
@ -132,6 +132,8 @@ in
|
||||
options zram num_devices=${toString cfg.numDevices}
|
||||
'';
|
||||
|
||||
boot.kernelParams = ["zram.num_devices=${toString cfg.numDevices}"];
|
||||
|
||||
services.udev.extraRules = ''
|
||||
KERNEL=="zram[0-9]*", ENV{SYSTEMD_WANTS}="zram-init-%k.service", TAG+="systemd"
|
||||
'';
|
||||
@ -178,9 +180,9 @@ in
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStartPre = "${modprobe} -r zram";
|
||||
ExecStart = "${modprobe} zram";
|
||||
ExecStop = "${modprobe} -r zram";
|
||||
ExecStartPre = "-${modprobe} -r zram";
|
||||
ExecStart = "-${modprobe} zram";
|
||||
ExecStop = "-${modprobe} -r zram";
|
||||
};
|
||||
restartTriggers = [
|
||||
cfg.numDevices
|
||||
|
@ -1,14 +1,17 @@
|
||||
# This module defines a small NixOS installation CD. It does not
|
||||
# contain any graphical stuff.
|
||||
|
||||
{ ... }:
|
||||
{ lib, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ ./installation-cd-base.nix
|
||||
];
|
||||
imports = [
|
||||
../../profiles/minimal.nix
|
||||
./installation-cd-base.nix
|
||||
];
|
||||
|
||||
isoImage.edition = "minimal";
|
||||
documentation.man.enable = lib.mkOverride 500 true;
|
||||
|
||||
fonts.fontconfig.enable = false;
|
||||
fonts.fontconfig.enable = lib.mkForce false;
|
||||
|
||||
isoImage.edition = lib.mkForce "minimal";
|
||||
}
|
||||
|
@ -3,8 +3,10 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ ./netboot-base.nix
|
||||
../../profiles/minimal.nix
|
||||
];
|
||||
imports = [
|
||||
./netboot-base.nix
|
||||
../../profiles/minimal.nix
|
||||
];
|
||||
|
||||
documentation.man.enable = lib.mkOverride 500 true;
|
||||
}
|
||||
|
@ -10,10 +10,20 @@ with lib;
|
||||
|
||||
documentation.enable = mkDefault false;
|
||||
|
||||
documentation.doc.enable = mkDefault false;
|
||||
|
||||
documentation.info.enable = mkDefault false;
|
||||
|
||||
documentation.man.enable = mkDefault false;
|
||||
|
||||
documentation.nixos.enable = mkDefault false;
|
||||
|
||||
programs.command-not-found.enable = mkDefault false;
|
||||
|
||||
services.logrotate.enable = mkDefault false;
|
||||
|
||||
services.udisks2.enable = mkDefault false;
|
||||
|
||||
xdg.autostart.enable = mkDefault false;
|
||||
xdg.icons.enable = mkDefault false;
|
||||
xdg.mime.enable = mkDefault false;
|
||||
|
@ -6,7 +6,7 @@ in
|
||||
{
|
||||
options = {
|
||||
programs.skim = {
|
||||
fuzzyCompletion = mkEnableOption (mdDoc "fuzzy Completion with skim");
|
||||
fuzzyCompletion = mkEnableOption (mdDoc "fuzzy completion with skim");
|
||||
keybindings = mkEnableOption (mdDoc "skim keybindings");
|
||||
package = mkPackageOption pkgs "skim" {};
|
||||
};
|
||||
@ -26,5 +26,9 @@ in
|
||||
'' + optionalString cfg.keybindings ''
|
||||
source ${cfg.package}/share/skim/key-bindings.zsh
|
||||
'';
|
||||
|
||||
programs.fish.interactiveShellInit = optionalString cfg.keybindings ''
|
||||
source ${cfg.package}/share/skim/key-bindings.fish && skim_key_bindings
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
@ -105,7 +105,7 @@ in
|
||||
systemd.packages = [ pkgs.asusctl ];
|
||||
services.dbus.packages = [ pkgs.asusctl ];
|
||||
services.udev.packages = [ pkgs.asusctl ];
|
||||
services.supergfxd.enable = true;
|
||||
services.supergfxd.enable = lib.mkDefault true;
|
||||
|
||||
systemd.user.services.asusd-user.enable = cfg.enableUserService;
|
||||
};
|
||||
|
@ -23,7 +23,7 @@ in
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ pkgs.supergfxctl ];
|
||||
|
||||
environment.etc."supergfxd.conf".source = lib.mkIf (cfg.settings != null) (json.generate "supergfxd.conf" cfg.settings);
|
||||
environment.etc."supergfxd.conf" = lib.mkIf (cfg.settings != null) { source = json.generate "supergfxd.conf" cfg.settings; };
|
||||
|
||||
services.dbus.enable = true;
|
||||
|
||||
|
@ -4,16 +4,12 @@ with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.prometheus.exporters.smartctl;
|
||||
format = pkgs.formats.yaml {};
|
||||
configFile = format.generate "smartctl-exporter.yml" {
|
||||
smartctl_exporter = {
|
||||
bind_to = "${cfg.listenAddress}:${toString cfg.port}";
|
||||
url_path = "/metrics";
|
||||
smartctl_location = "${pkgs.smartmontools}/bin/smartctl";
|
||||
collect_not_more_than_period = cfg.maxInterval;
|
||||
devices = cfg.devices;
|
||||
};
|
||||
};
|
||||
args = concatStrings [
|
||||
"--web.listen-address=\"${cfg.listenAddress}:${toString cfg.port}\" "
|
||||
"--smartctl.path=\"${pkgs.smartmontools}/bin/smartctl\" "
|
||||
"--smartctl.interval=\"${cfg.maxInterval}\" "
|
||||
"${concatMapStringsSep " " (device: "--smartctl.device=${device}") cfg.devices}"
|
||||
];
|
||||
in {
|
||||
port = 9633;
|
||||
|
||||
@ -50,17 +46,13 @@ in {
|
||||
"CAP_SYS_ADMIN"
|
||||
];
|
||||
DevicePolicy = "closed";
|
||||
DeviceAllow = lib.mkOverride 50 (
|
||||
if cfg.devices != [] then
|
||||
cfg.devices
|
||||
else [
|
||||
"block-blkext rw"
|
||||
"block-sd rw"
|
||||
"char-nvme rw"
|
||||
]
|
||||
);
|
||||
DeviceAllow = lib.mkOverride 50 [
|
||||
"block-blkext rw"
|
||||
"block-sd rw"
|
||||
"char-nvme rw"
|
||||
];
|
||||
ExecStart = ''
|
||||
${pkgs.prometheus-smartctl-exporter}/bin/smartctl_exporter -config ${configFile}
|
||||
${pkgs.prometheus-smartctl-exporter}/bin/smartctl_exporter ${args}
|
||||
'';
|
||||
PrivateDevices = lib.mkForce false;
|
||||
ProtectProc = "invisible";
|
||||
|
27
nixos/modules/system/activation/test.nix
Normal file
27
nixos/modules/system/activation/test.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{ lib
|
||||
, nixos
|
||||
, expect
|
||||
, testers
|
||||
}:
|
||||
let
|
||||
node-forbiddenDependencies-fail = nixos ({ ... }: {
|
||||
system.forbiddenDependenciesRegex = "-dev$";
|
||||
environment.etc."dev-dependency" = {
|
||||
text = "${expect.dev}";
|
||||
};
|
||||
documentation.enable = false;
|
||||
fileSystems."/".device = "ignore-root-device";
|
||||
boot.loader.grub.enable = false;
|
||||
});
|
||||
node-forbiddenDependencies-succeed = nixos ({ ... }: {
|
||||
system.forbiddenDependenciesRegex = "-dev$";
|
||||
system.extraDependencies = [ expect.dev ];
|
||||
documentation.enable = false;
|
||||
fileSystems."/".device = "ignore-root-device";
|
||||
boot.loader.grub.enable = false;
|
||||
});
|
||||
in
|
||||
lib.recurseIntoAttrs {
|
||||
test-forbiddenDependencies-fail = testers.testBuildFailure node-forbiddenDependencies-fail.config.system.build.toplevel;
|
||||
test-forbiddenDependencies-succeed = node-forbiddenDependencies-succeed.config.system.build.toplevel;
|
||||
}
|
@ -77,7 +77,7 @@ let
|
||||
|
||||
${config.system.systemBuilderCommands}
|
||||
|
||||
echo -n "${toString config.system.extraDependencies}" > $out/extra-dependencies
|
||||
echo -n "$extraDependencies" > $out/extra-dependencies
|
||||
|
||||
${config.system.extraSystemBuilderCmds}
|
||||
'';
|
||||
@ -105,6 +105,8 @@ let
|
||||
dryActivationScript = config.system.dryActivationScript;
|
||||
nixosLabel = config.system.nixos.label;
|
||||
|
||||
inherit (config.system) extraDependencies;
|
||||
|
||||
# Needed by switch-to-configuration.
|
||||
perl = pkgs.perl.withPackages (p: with p; [ ConfigIniFiles FileSlurp ]);
|
||||
} // config.system.systemBuilderArgs);
|
||||
@ -223,6 +225,16 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
system.forbiddenDependenciesRegex = mkOption {
|
||||
default = "";
|
||||
example = "-dev$";
|
||||
type = types.str;
|
||||
description = lib.mdDoc ''
|
||||
A POSIX Extended Regular Expression that matches store paths that
|
||||
should not appear in the system closure, with the exception of {option}`system.extraDependencies`, which is not checked.
|
||||
'';
|
||||
};
|
||||
|
||||
system.extraSystemBuilderCmds = mkOption {
|
||||
type = types.lines;
|
||||
internal = true;
|
||||
@ -298,8 +310,26 @@ in
|
||||
config.system.copySystemConfiguration
|
||||
''ln -s '${import ../../../lib/from-env.nix "NIXOS_CONFIG" <nixos-config>}' \
|
||||
"$out/configuration.nix"
|
||||
'' +
|
||||
optionalString
|
||||
(config.system.forbiddenDependenciesRegex != "")
|
||||
''
|
||||
if [[ $forbiddenDependenciesRegex != "" && -n $closureInfo ]]; then
|
||||
if forbiddenPaths="$(grep -E -- "$forbiddenDependenciesRegex" $closureInfo/store-paths)"; then
|
||||
echo -e "System closure $out contains the following disallowed paths:\n$forbiddenPaths"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
'';
|
||||
|
||||
system.systemBuilderArgs = lib.optionalAttrs (config.system.forbiddenDependenciesRegex != "") {
|
||||
inherit (config.system) forbiddenDependenciesRegex;
|
||||
closureInfo = pkgs.closureInfo { rootPaths = [
|
||||
# override to avoid infinite recursion (and to allow using extraDependencies to add forbidden dependencies)
|
||||
(config.system.build.toplevel.overrideAttrs (_: { extraDependencies = []; closureInfo = null; }))
|
||||
]; };
|
||||
};
|
||||
|
||||
system.build.toplevel = system;
|
||||
|
||||
};
|
||||
|
@ -62,6 +62,11 @@ in
|
||||
configuration. For instance, if you use the NVIDIA X driver,
|
||||
then it also needs to contain an attribute
|
||||
{var}`nvidia_x11`.
|
||||
|
||||
Please note that we strictly support kernel versions that are
|
||||
maintained by the Linux developers only. More information on the
|
||||
availability of kernel versions is documented
|
||||
[in the Linux section of the manual](https://nixos.org/manual/nixos/unstable/index.html#sec-kernel-config).
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -194,6 +194,7 @@ in {
|
||||
ergo = handleTest ./ergo.nix {};
|
||||
ergochat = handleTest ./ergochat.nix {};
|
||||
etc = pkgs.callPackage ../modules/system/etc/test.nix { inherit evalMinimalConfig; };
|
||||
activation = pkgs.callPackage ../modules/system/activation/test.nix { };
|
||||
etcd = handleTestOn ["x86_64-linux"] ./etcd.nix {};
|
||||
etcd-cluster = handleTestOn ["x86_64-linux"] ./etcd-cluster.nix {};
|
||||
etebase-server = handleTest ./etebase-server.nix {};
|
||||
|
@ -1086,13 +1086,8 @@ let
|
||||
];
|
||||
};
|
||||
exporterTest = ''
|
||||
wait_for_unit("prometheus-smartctl-exporter.service")
|
||||
wait_for_open_port(9633)
|
||||
wait_until_succeeds(
|
||||
"curl -sSf 'localhost:9633/metrics'"
|
||||
)
|
||||
wait_until_succeeds(
|
||||
'journalctl -eu prometheus-smartctl-exporter.service -o cat | grep "/dev/vda: Unable to detect device type"'
|
||||
'journalctl -eu prometheus-smartctl-exporter.service -o cat | grep "Device unavailable"'
|
||||
)
|
||||
'';
|
||||
};
|
||||
|
33
pkgs/applications/audio/alsa-scarlett-gui/default.nix
Normal file
33
pkgs/applications/audio/alsa-scarlett-gui/default.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, alsa-lib
|
||||
, gtk4
|
||||
, wrapGAppsHook4
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "alsa-scarlett-gui";
|
||||
version = "unstable-2022-08-11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "geoffreybennett";
|
||||
repo = pname;
|
||||
rev = "65c0f6aa432501355803a823be1d3f8aafe907a8";
|
||||
sha256 = "sha256-wzBOPTs8PTHzu5RpKwKhx552E7QnDx2Zn4OFaes8Q2I=";
|
||||
};
|
||||
|
||||
makeFlags = [ "DESTDIR=\${out}" "PREFIX=''" ];
|
||||
sourceRoot = "source/src";
|
||||
nativeBuildInputs = [ pkg-config wrapGAppsHook4 ];
|
||||
buildInputs = [ gtk4 alsa-lib ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "GUI for alsa controls presented by Focusrite Scarlett Gen 2/3 Mixer Driver";
|
||||
homepage = "https://github.com/geoffreybennett/alsa-scarlett-gui";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ sebtm ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -1,18 +1,21 @@
|
||||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
let
|
||||
pinData = lib.importJSON ./pin.json;
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "erigon";
|
||||
version = "2.30.0";
|
||||
version = pinData.version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ledgerwatch";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-s5D+Ps5S95AyNh7tt2SnTvUxNHzOothsMZA7NW3x0yM=";
|
||||
sha256 = pinData.sha256;
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-ICoThps7c4+9NQPeaASQ88YVbczJD/MgF2ldOmKjgvc=";
|
||||
vendorSha256 = pinData.vendorSha256;
|
||||
proxyVendor = true;
|
||||
|
||||
# Build errors in mdbx when format hardening is enabled:
|
5
pkgs/applications/blockchains/erigon/pin.json
Normal file
5
pkgs/applications/blockchains/erigon/pin.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": "2.31.0",
|
||||
"sha256": "sha256-+qVfujPKy/HAkMOJQdHI3G1pBoYG2Lhm5BKHrvf3lv0=",
|
||||
"vendorSha256": "sha256-XTGbwMEuLBEXP/QAR8RLRPrbvz2ReCLg4tCogbqHiHg="
|
||||
}
|
33
pkgs/applications/blockchains/erigon/update.sh
Executable file
33
pkgs/applications/blockchains/erigon/update.sh
Executable file
@ -0,0 +1,33 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i oil -p jq sd nix-prefetch-github ripgrep
|
||||
|
||||
# TODO set to `verbose` or `extdebug` once implemented in oil
|
||||
shopt --set xtrace
|
||||
# we need failures inside of command subs to get the correct vendorSha256
|
||||
shopt --unset inherit_errexit
|
||||
|
||||
const directory = $(dirname $0 | xargs realpath)
|
||||
const owner = "ledgerwatch"
|
||||
const repo = "erigon"
|
||||
const latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \
|
||||
jq -r '.tag_name')
|
||||
const latest_version = $(echo $latest_rev | sd 'v' '')
|
||||
const current_version = $(jq -r '.version' $directory/pin.json)
|
||||
if ("$latest_version" === "$current_version") {
|
||||
echo "$repo is already up-to-date"
|
||||
return 0
|
||||
} else {
|
||||
const tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev" --fetch-submodules)
|
||||
const tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')"
|
||||
|
||||
jq ".version = \"$latest_version\" | \
|
||||
.\"sha256\" = \"$tarball_hash\" | \
|
||||
.\"vendorSha256\" = \"\"" $directory/pin.json | sponge $directory/pin.json
|
||||
|
||||
const new_vendor_sha256 = $(nix-build -A erigon 2>&1 | \
|
||||
tail -n 2 | \
|
||||
head -n 1 | \
|
||||
sd '\s+got:\s+' '')
|
||||
|
||||
jq ".vendorSha256 = \"$new_vendor_sha256\"" $directory/pin.json | sponge $directory/pin.json
|
||||
}
|
@ -12,22 +12,10 @@ let
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
inherit pname version src;
|
||||
};
|
||||
|
||||
# Hotplug events from udevd are fired into the kernel, which then re-broadcasts them over a
|
||||
# special socket, to every libudev client listening for hotplug when the kernel does that. It will
|
||||
# try to preserve the uid of the sender but a non-root namespace (like the fhs-env) cant map root
|
||||
# to a uid, for security reasons, so the uid of the sender becomes nobody and libudev actively
|
||||
# rejects such messages. This patch disables that bit of security in libudev.
|
||||
# See: https://github.com/NixOS/nixpkgs/issues/116361
|
||||
systemdPatched = systemd.overrideAttrs ({ patches ? [ ], ... }: {
|
||||
patches = patches ++ [ ./systemd.patch ];
|
||||
});
|
||||
in
|
||||
appimageTools.wrapType2 rec {
|
||||
inherit pname version src;
|
||||
|
||||
extraPkgs = pkgs: [ systemdPatched ];
|
||||
|
||||
extraInstallCommands = ''
|
||||
mv $out/bin/${pname}-${version} $out/bin/${pname}
|
||||
install -m 444 -D ${appimageContents}/ledger-live-desktop.desktop $out/share/applications/ledger-live-desktop.desktop
|
||||
|
@ -1,14 +0,0 @@
|
||||
diff --git a/src/libsystemd/sd-device/device-monitor.c b/src/libsystemd/sd-device/device-monitor.c
|
||||
index fd5900704d..f9106fdbe5 100644
|
||||
--- a/src/libsystemd/sd-device/device-monitor.c
|
||||
+++ b/src/libsystemd/sd-device/device-monitor.c
|
||||
@@ -445,9 +445,6 @@ int device_monitor_receive_device(sd_device_monitor *m, sd_device **ret) {
|
||||
"sd-device-monitor: No sender credentials received, message ignored.");
|
||||
|
||||
cred = (struct ucred*) CMSG_DATA(cmsg);
|
||||
- if (cred->uid != 0)
|
||||
- return log_debug_errno(SYNTHETIC_ERRNO(EAGAIN),
|
||||
- "sd-device-monitor: Sender uid="UID_FMT", message ignored.", cred->uid);
|
||||
|
||||
if (streq(buf.raw, "libudev")) {
|
||||
/* udev message needs proper version magic */
|
@ -1,5 +1,5 @@
|
||||
# run tests by building `neovim.tests`
|
||||
{ vimUtils, vim_configurable, writeText, neovim, vimPlugins
|
||||
{ vimUtils, writeText, neovim, vimPlugins
|
||||
, lib, fetchFromGitHub, neovimUtils, wrapNeovimUnstable
|
||||
, neovim-unwrapped
|
||||
, fetchFromGitLab
|
||||
|
@ -2,7 +2,7 @@
|
||||
, git
|
||||
, fzf
|
||||
, makeWrapper
|
||||
, vim_configurable
|
||||
, vim-full
|
||||
, vimPlugins
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
let
|
||||
format = formats.toml { };
|
||||
vim-customized = vim_configurable.customize {
|
||||
vim-customized = vim-full.customize {
|
||||
name = "vim";
|
||||
# Not clear at the moment how to import plugins such that
|
||||
# SpaceVim finds them and does not auto download them to
|
||||
|
@ -63,7 +63,7 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
|
||||
pname = "vim_configurable";
|
||||
pname = "vim-full";
|
||||
|
||||
inherit (common) version postPatch hardeningDisable enableParallelBuilding meta;
|
||||
|
||||
|
@ -6,9 +6,9 @@ let
|
||||
makeCustomizable = macvim: macvim // {
|
||||
# configure expects the same args as vimUtils.vimrcFile.
|
||||
# This is the same as the value given to neovim.override { configure = … }
|
||||
# or the value of vim_configurable.customize { vimrcConfig = … }
|
||||
# or the value of vim-full.customize { vimrcConfig = … }
|
||||
#
|
||||
# Note: Like neovim and vim_configurable, configuring macvim disables the
|
||||
# Note: Like neovim and vim-full, configuring macvim disables the
|
||||
# sourcing of the user's vimrc. Use `customRC = "source $HOME/.vim/vimrc"`
|
||||
# if you want to preserve that behavior.
|
||||
configure = let
|
||||
|
@ -161,12 +161,12 @@ final: prev:
|
||||
|
||||
LeaderF = buildVimPluginFrom2Nix {
|
||||
pname = "LeaderF";
|
||||
version = "2022-12-06";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Yggdroot";
|
||||
repo = "LeaderF";
|
||||
rev = "1326f60715adf6c434c0a6287e071af02d13dc26";
|
||||
sha256 = "1zk7xy8fm5hqvbcn3jcpw7x0l4vcjx7zi09a04xvds1jf09s8l6g";
|
||||
rev = "3ce1a63f85128beea8d74a52baacea11c105bf0f";
|
||||
sha256 = "10mzrhhnh9jsxagpzx5pw3j4xnv573769wg9zk004y2h76pwyg2j";
|
||||
};
|
||||
meta.homepage = "https://github.com/Yggdroot/LeaderF/";
|
||||
};
|
||||
@ -799,24 +799,24 @@ final: prev:
|
||||
|
||||
barbar-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "barbar.nvim";
|
||||
version = "2022-12-03";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "romgrk";
|
||||
repo = "barbar.nvim";
|
||||
rev = "e5f1393350cf842389be289c03885b92ab29ffb3";
|
||||
sha256 = "1dkbplm6h7gmf4w7gjs823qjczvvmlqqpnljlb91mglqpcd7wc87";
|
||||
rev = "bfb2ab023499251c72f922b584e28ba52b0f7791";
|
||||
sha256 = "1gzlcmag12gk7xy0rvsxfix9d6g7s50fsvcqwp4rk70y83dl5ijq";
|
||||
};
|
||||
meta.homepage = "https://github.com/romgrk/barbar.nvim/";
|
||||
};
|
||||
|
||||
barbecue-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "barbecue.nvim";
|
||||
version = "2022-12-05";
|
||||
version = "2022-12-07";
|
||||
src = fetchFromGitHub {
|
||||
owner = "utilyre";
|
||||
repo = "barbecue.nvim";
|
||||
rev = "2f242375df96e8a82089d4424e5db0d237c5ae46";
|
||||
sha256 = "14gbx10gpng0n2bb3x7lbzx9n3vdw900yw19fa8qf9mlvi36gpxx";
|
||||
rev = "50b3c69a39f70d7b99661d82f37bb9b04eca25bd";
|
||||
sha256 = "0p69khfwlgcqrq8d6d2xrr4913vpc7hywz498h3ig5mqaik6bsy5";
|
||||
};
|
||||
meta.homepage = "https://github.com/utilyre/barbecue.nvim/";
|
||||
};
|
||||
@ -1339,12 +1339,12 @@ final: prev:
|
||||
|
||||
cmp-latex-symbols = buildVimPluginFrom2Nix {
|
||||
pname = "cmp-latex-symbols";
|
||||
version = "2022-06-17";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "kdheepak";
|
||||
repo = "cmp-latex-symbols";
|
||||
rev = "46e7627afa8c8ff57158d1c29d721d8efebbc39f";
|
||||
sha256 = "10354d12in7sr5hdamj0cw8hgja6pwl70i9lcxlnha5jzkx8xm03";
|
||||
rev = "1ec2e4f47cde6c7ffcebec92cfec58ddc1f6689a";
|
||||
sha256 = "093wj6kfln2lsgcijnwjj924lbgld0vhfvx8w0kfhlhpv5fr5dfz";
|
||||
};
|
||||
meta.homepage = "https://github.com/kdheepak/cmp-latex-symbols/";
|
||||
};
|
||||
@ -2023,24 +2023,24 @@ final: prev:
|
||||
|
||||
coq-artifacts = buildVimPluginFrom2Nix {
|
||||
pname = "coq.artifacts";
|
||||
version = "2022-12-07";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ms-jpq";
|
||||
repo = "coq.artifacts";
|
||||
rev = "295c64b9f9084a78db4eee7450483ce3caf541e0";
|
||||
sha256 = "1ga254s56gbyyywwif4lhfgak3w5gam5ldry33d8h7nqfrvbmmdr";
|
||||
rev = "3cc371dbddb400c0fc5e8edeb423b14cd5084276";
|
||||
sha256 = "1wblwq215xldsl86m728866n677q064x55xm425riisd376xarka";
|
||||
};
|
||||
meta.homepage = "https://github.com/ms-jpq/coq.artifacts/";
|
||||
};
|
||||
|
||||
coq-thirdparty = buildVimPluginFrom2Nix {
|
||||
pname = "coq.thirdparty";
|
||||
version = "2022-12-07";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ms-jpq";
|
||||
repo = "coq.thirdparty";
|
||||
rev = "b601b48b9a12ab4cd5baedc633f88b48a74100c5";
|
||||
sha256 = "0m93y7m159plhwwrsdqr7d651fzbp0z3p49g9l4v199kvsq0x50a";
|
||||
rev = "ccc1f692da9fbb9a87fe7eb5ccd341a3c35283a6";
|
||||
sha256 = "021cyhwza7skml7j0k26mf159myr4d8j8m9rq01id0j3xy5zqjgb";
|
||||
};
|
||||
meta.homepage = "https://github.com/ms-jpq/coq.thirdparty/";
|
||||
};
|
||||
@ -2059,12 +2059,12 @@ final: prev:
|
||||
|
||||
coq_nvim = buildVimPluginFrom2Nix {
|
||||
pname = "coq_nvim";
|
||||
version = "2022-12-07";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ms-jpq";
|
||||
repo = "coq_nvim";
|
||||
rev = "fd9c9eb2361f327969368f8eeadd063e5a7d5abe";
|
||||
sha256 = "070a632szjhb342jz41gg7lhw4m11wi5n33f1z8mhc976yy53cas";
|
||||
rev = "95d658235c75016dcfd4e1468d07de72a4bfad49";
|
||||
sha256 = "1nsy1j221hps1z3rxvq9xd4k29wxjl3wss2dcpgcillgspl9rrrz";
|
||||
};
|
||||
meta.homepage = "https://github.com/ms-jpq/coq_nvim/";
|
||||
};
|
||||
@ -2095,12 +2095,12 @@ final: prev:
|
||||
|
||||
crates-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "crates.nvim";
|
||||
version = "2022-11-17";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "saecki";
|
||||
repo = "crates.nvim";
|
||||
rev = "e11e27864428a68b25e43b833e9081e350a38d96";
|
||||
sha256 = "15yma6waw0914i3z3ck50ndris4s7b9297lcjzsb7vxwkfnrkn9i";
|
||||
rev = "22fcb7a623bab743fcae1532b272ae52a6e24fda";
|
||||
sha256 = "0cspbrbx3zz6zp59bbj6qx1f17xcbvcbx1920z8l1c1cisdh4m4a";
|
||||
};
|
||||
meta.homepage = "https://github.com/saecki/crates.nvim/";
|
||||
};
|
||||
@ -2577,24 +2577,24 @@ final: prev:
|
||||
|
||||
dial-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "dial.nvim";
|
||||
version = "2022-10-22";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "monaqa";
|
||||
repo = "dial.nvim";
|
||||
rev = "9ba17c2ee636a8e7fdef5b69d6aac54dd26f4384";
|
||||
sha256 = "0c22dg8mscgv8kgxmynj0vagp2lrccp1mjv0ski3mr5d4gq83x9q";
|
||||
rev = "f6d274bd8e32be65b99f1052a8b5353ef5e702d7";
|
||||
sha256 = "0lnzs4qqbnbrkxfp40hwrpvh0579qw0bnayjz0qzqhi115fss136";
|
||||
};
|
||||
meta.homepage = "https://github.com/monaqa/dial.nvim/";
|
||||
};
|
||||
|
||||
diffview-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "diffview.nvim";
|
||||
version = "2022-12-06";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "sindrets";
|
||||
repo = "diffview.nvim";
|
||||
rev = "e37b2d9aaba408954d0e894e27e6f4dbf939ef95";
|
||||
sha256 = "0a9m0ymjj6y1nmpf0yxzvqnz1j2ppwis43a26iqr94i4n5kva393";
|
||||
rev = "85903aa26257a4ea42c4bdbf3c998a2006aaaec5";
|
||||
sha256 = "1032blq53y5zdlg4y3zpbi1lmk07qg3p6061dia2hjmfhbkcdzs4";
|
||||
};
|
||||
meta.homepage = "https://github.com/sindrets/diffview.nvim/";
|
||||
};
|
||||
@ -2751,8 +2751,8 @@ final: prev:
|
||||
src = fetchFromGitHub {
|
||||
owner = "sainnhe";
|
||||
repo = "everforest";
|
||||
rev = "bed286c9f787a2b6f49edaa47bc286ff93a304b5";
|
||||
sha256 = "1987f2nm1rg5ig5qbi1nfsmm2iamypbimhw38m7ammv1wda840fx";
|
||||
rev = "478b697fb5605956da781bfe7c1de7a89f4a1628";
|
||||
sha256 = "03n2f5nvnjkz9h74wqc5bl04v9snq285dg75gj0lrxcrg0y6j63q";
|
||||
};
|
||||
meta.homepage = "https://github.com/sainnhe/everforest/";
|
||||
};
|
||||
@ -2843,12 +2843,12 @@ final: prev:
|
||||
|
||||
ferret = buildVimPluginFrom2Nix {
|
||||
pname = "ferret";
|
||||
version = "2022-06-12";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "wincent";
|
||||
repo = "ferret";
|
||||
rev = "3d064304876941e4197db6b4264db6b72bd9f83d";
|
||||
sha256 = "1lkznmavw2f4ckh3yjjvdhja313ia0aayn5pkf6ygjny1089gcih";
|
||||
rev = "22cf052269b1143cd579b81c9390880ac712b67f";
|
||||
sha256 = "0pwwyf0fwwqaxa9sqm74aqy5r0wvyh24csg8mwp4cyhkdnk2w1rf";
|
||||
};
|
||||
meta.homepage = "https://github.com/wincent/ferret/";
|
||||
};
|
||||
@ -3706,12 +3706,12 @@ final: prev:
|
||||
|
||||
indent-blankline-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "indent-blankline.nvim";
|
||||
version = "2022-09-02";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "lukas-reineke";
|
||||
repo = "indent-blankline.nvim";
|
||||
rev = "db7cbcb40cc00fc5d6074d7569fb37197705e7f6";
|
||||
sha256 = "1r9y6zqar0gv8kvqqxlh07ifa16h5yqa24fj22qw63vgnysbxqbp";
|
||||
rev = "c4c203c3e8a595bc333abaf168fcb10c13ed5fb7";
|
||||
sha256 = "1kanfs0c1rbi23dm0vkmyzg4qkxq18hc2jc2izvyqiklbpi49x06";
|
||||
};
|
||||
meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
|
||||
};
|
||||
@ -4007,12 +4007,12 @@ final: prev:
|
||||
|
||||
lean-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "lean.nvim";
|
||||
version = "2022-12-04";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Julian";
|
||||
repo = "lean.nvim";
|
||||
rev = "25cfbde4c5c01133ec36fbc0fd44d9c7cf99e397";
|
||||
sha256 = "02d43j8v5lnwg48x11nzdh270fhia1flbqv682ss391zcl0z2h7q";
|
||||
rev = "60a0ab74cb1bded492cebf2f5f4f25868b52d1ee";
|
||||
sha256 = "1rqgb90dh91l4pgkj6gl79lmnxynmr2w8iiwpx3rvyfbpsrkqyhi";
|
||||
};
|
||||
meta.homepage = "https://github.com/Julian/lean.nvim/";
|
||||
};
|
||||
@ -4055,12 +4055,12 @@ final: prev:
|
||||
|
||||
legendary-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "legendary.nvim";
|
||||
version = "2022-12-07";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mrjones2014";
|
||||
repo = "legendary.nvim";
|
||||
rev = "78cc8984cd5f3afb71f8f053f0a1d4708069f2c8";
|
||||
sha256 = "08n243nz39sw6c6ihaz9x64ws1vlj7pp180lrhl3ifqgnaj1ymfb";
|
||||
rev = "7be09ac0cf0ac12d65e41c706822a24eb0b92971";
|
||||
sha256 = "08wz13l9lhqx21l1d32724mqpk3x10kakbw8r88isnwi8psbfs9r";
|
||||
};
|
||||
meta.homepage = "https://github.com/mrjones2014/legendary.nvim/";
|
||||
};
|
||||
@ -4967,12 +4967,12 @@ final: prev:
|
||||
|
||||
neoconf-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "neoconf.nvim";
|
||||
version = "2022-12-07";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "folke";
|
||||
repo = "neoconf.nvim";
|
||||
rev = "a292a8a4927278c4c9e7653cf0a37cd40c17d0fb";
|
||||
sha256 = "1j2n4k02b5648ayarqdcw312ynd9j50gm3l5ish6fav6k4ipngq6";
|
||||
rev = "44da95e38c294ddc43fe6b39df6b6e99ecfda52a";
|
||||
sha256 = "1hkzf105900zfclan6qckpvljs0mk48dgjxdf80fq0khy0c1whhy";
|
||||
};
|
||||
meta.homepage = "https://github.com/folke/neoconf.nvim/";
|
||||
};
|
||||
@ -5135,12 +5135,12 @@ final: prev:
|
||||
|
||||
neotest = buildVimPluginFrom2Nix {
|
||||
pname = "neotest";
|
||||
version = "2022-12-05";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nvim-neotest";
|
||||
repo = "neotest";
|
||||
rev = "d9bd5b05983ccfa349ff2692a5adb17b227088b5";
|
||||
sha256 = "05iqzzmxvzb0s6v68pl2wjc643bwhd1mc3r2mrywkj99n8k6mn3k";
|
||||
rev = "a77f3ab85518b0cfb43d6074c27f3a2abc0aac75";
|
||||
sha256 = "1fwmx1b6z8pfbb2baj198saliwf5572bvh69ma1ch6zm593vkp2z";
|
||||
};
|
||||
meta.homepage = "https://github.com/nvim-neotest/neotest/";
|
||||
};
|
||||
@ -5363,12 +5363,12 @@ final: prev:
|
||||
|
||||
nordic-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "nordic.nvim";
|
||||
version = "2022-11-05";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "andersevenrud";
|
||||
repo = "nordic.nvim";
|
||||
rev = "cb2d7dff4e698cda93775ad61169b08c9461ca88";
|
||||
sha256 = "0ryp42mcvgknxj9yq0i314vx1ig1x88qjvi2ipb92l6mvwnaqps7";
|
||||
rev = "cd552784eeeae61644fec60f6cc52c267dbddc73";
|
||||
sha256 = "0pv3z3kz1v399q283fymz10rq46980a5z2nvhzrfg3i0ws4gpni0";
|
||||
};
|
||||
meta.homepage = "https://github.com/andersevenrud/nordic.nvim/";
|
||||
};
|
||||
@ -5387,24 +5387,24 @@ final: prev:
|
||||
|
||||
nui-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "nui.nvim";
|
||||
version = "2022-10-27";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MunifTanjim";
|
||||
repo = "nui.nvim";
|
||||
rev = "d12a6977846b2fa978bff89b439e509320854e10";
|
||||
sha256 = "1ghj8kjv2skh2hd9m6sghvj6pya8d9jvr5m9l9q1r0sg1i5x1kjy";
|
||||
rev = "2a6533fb798efad7dd783311315bab8dc5eb381b";
|
||||
sha256 = "08r8ddpxs6zf13vkdjcvhczh6g4r4hkfag5yqkc3pa57wfrda8f2";
|
||||
};
|
||||
meta.homepage = "https://github.com/MunifTanjim/nui.nvim/";
|
||||
};
|
||||
|
||||
null-ls-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "null-ls.nvim";
|
||||
version = "2022-12-05";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jose-elias-alvarez";
|
||||
repo = "null-ls.nvim";
|
||||
rev = "b3d2ebdb75cf1fa4290822b43dc31f61bd0023f8";
|
||||
sha256 = "01ri9sk5p67lkv1jf6zia8l87prrsccyz2862pk7brsmyaja22kw";
|
||||
rev = "a0acd495f5edce6d4d5d3c6bd63d2319ccded9ed";
|
||||
sha256 = "1d5ybbpl0vfszfxjx9rkvd76j8jibcjqbgb9njy36d15qq3fv0ph";
|
||||
};
|
||||
meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim/";
|
||||
};
|
||||
@ -5627,12 +5627,12 @@ final: prev:
|
||||
|
||||
nvim-dap = buildVimPluginFrom2Nix {
|
||||
pname = "nvim-dap";
|
||||
version = "2022-12-01";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mfussenegger";
|
||||
repo = "nvim-dap";
|
||||
rev = "8f396b7836b9bbda9edd9f655f12ca377ae97676";
|
||||
sha256 = "0jbl9ima5q5f0rcjac8p35by96wha3ph2518d1mjbliawfdl23p1";
|
||||
rev = "a8fd28aec46fe9f5dd42f8d5939217ce60787d73";
|
||||
sha256 = "0sxq0nlhgk2q1yz8nyj21z2mxgfg383jm00s6j0hggq02v3a86mz";
|
||||
};
|
||||
meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
|
||||
};
|
||||
@ -5795,12 +5795,12 @@ final: prev:
|
||||
|
||||
nvim-jdtls = buildVimPluginFrom2Nix {
|
||||
pname = "nvim-jdtls";
|
||||
version = "2022-12-05";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mfussenegger";
|
||||
repo = "nvim-jdtls";
|
||||
rev = "82e9feb6eb6000cea42b4cddf5b31daf624173bb";
|
||||
sha256 = "1f7akw10npsvabgprg4vm23nqxiy679rp2cbyfywkis2hjb4mraw";
|
||||
rev = "e0147c1b0f94708392783bbb44db8cd8bf8c84d4";
|
||||
sha256 = "1m015d36yxq3q5f2pw9bpn3jrr35gi333c78x8brzng7l592zs8j";
|
||||
};
|
||||
meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
|
||||
};
|
||||
@ -5855,12 +5855,12 @@ final: prev:
|
||||
|
||||
nvim-lint = buildVimPluginFrom2Nix {
|
||||
pname = "nvim-lint";
|
||||
version = "2022-12-05";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mfussenegger";
|
||||
repo = "nvim-lint";
|
||||
rev = "46e14866fd2876a18772f913c6c14f5545c6034a";
|
||||
sha256 = "16gnlbghywq6ksfmbzfgl9mj4d9gywdqkj8i4jsgl6h4qkvp4hb3";
|
||||
rev = "5b6d0463e956b625cd17b51ad391bae9ee5bea92";
|
||||
sha256 = "0ignv8w27jzxg1a3c884j0xgy10bwkbdk1inip9jrv3hpai2x9rj";
|
||||
};
|
||||
meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
|
||||
};
|
||||
@ -5879,12 +5879,12 @@ final: prev:
|
||||
|
||||
nvim-lspconfig = buildVimPluginFrom2Nix {
|
||||
pname = "nvim-lspconfig";
|
||||
version = "2022-12-07";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "neovim";
|
||||
repo = "nvim-lspconfig";
|
||||
rev = "c7206327096bedf2e213788a60624a84b3b7552d";
|
||||
sha256 = "1f310ng3i69mlp429fcq65fqrfigdpmnsixq91qyan964cn1b13r";
|
||||
rev = "8a3e5f9add9cd408c7063619c8d612700bf25d4d";
|
||||
sha256 = "1cjv3pdbmgjh956sp02vjg4i5bjfimj8awahvw9a9bjkwr56d8wl";
|
||||
};
|
||||
meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
|
||||
};
|
||||
@ -5927,12 +5927,12 @@ final: prev:
|
||||
|
||||
nvim-metals = buildVimPluginFrom2Nix {
|
||||
pname = "nvim-metals";
|
||||
version = "2022-11-26";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "scalameta";
|
||||
repo = "nvim-metals";
|
||||
rev = "92f7451aa0dd0267027ab9a5850a4b7c1af33341";
|
||||
sha256 = "16bifycciggvsq5mxp43w21jdh8r57yhsrs7bnwgzy19h0q5lm8w";
|
||||
rev = "d1c01907256dae7c9d55ba1fcfb8cf6b4f583325";
|
||||
sha256 = "0w7sya5pyfj9ad4295200j32ibsg5w9qx6icnlfv2fac03r4ir65";
|
||||
};
|
||||
meta.homepage = "https://github.com/scalameta/nvim-metals/";
|
||||
};
|
||||
@ -6027,8 +6027,8 @@ final: prev:
|
||||
src = fetchFromGitHub {
|
||||
owner = "petertriho";
|
||||
repo = "nvim-scrollbar";
|
||||
rev = "779cf6f5e7ebcd78acf37dff35a240e03f616357";
|
||||
sha256 = "0hz9y3q84azi3grzac7i6dazv982g7di7limd1qajx8x3hbbfvyx";
|
||||
rev = "f45aecbba9c402282dfc99721e0ad4c08710907c";
|
||||
sha256 = "0aga91mvkgm8l2nqk2ng8rcgn2a10f5z4xdk66p7afddc8xzk32p";
|
||||
};
|
||||
meta.homepage = "https://github.com/petertriho/nvim-scrollbar/";
|
||||
};
|
||||
@ -6119,12 +6119,12 @@ final: prev:
|
||||
|
||||
nvim-treesitter = buildVimPluginFrom2Nix {
|
||||
pname = "nvim-treesitter";
|
||||
version = "2022-12-07";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nvim-treesitter";
|
||||
repo = "nvim-treesitter";
|
||||
rev = "440401c506ec9b87cd3824ad17631115ab860cc5";
|
||||
sha256 = "1xyb73vavp38mr7lvjbwd9hmqlc4bw41g1wg0fs8fflabjy3bals";
|
||||
rev = "35ad87384b3e47b3b5758d1642bbea08c70200c0";
|
||||
sha256 = "0jy5lq1r7dq1ib3mmx3izihcxv985rda468h33y0hvk11l36mx88";
|
||||
};
|
||||
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
|
||||
};
|
||||
@ -6263,12 +6263,12 @@ final: prev:
|
||||
|
||||
nvimdev-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "nvimdev.nvim";
|
||||
version = "2022-11-10";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "neovim";
|
||||
repo = "nvimdev.nvim";
|
||||
rev = "5f4f2f294d45dbdf1936b81b9bcae97651f46fbd";
|
||||
sha256 = "0xzfjfs3z4v3w3hc7kvq33a8xyfxxha0x6vpgl4p7vh8rvxc5n8d";
|
||||
rev = "3220bb394ab059888b1b0498bbe43d9435ccee22";
|
||||
sha256 = "01alhc1wlh7g0b1p0x2q49v4srh2vqiwcgv7sjis89wz2dnq5n48";
|
||||
};
|
||||
meta.homepage = "https://github.com/neovim/nvimdev.nvim/";
|
||||
};
|
||||
@ -6359,12 +6359,12 @@ final: prev:
|
||||
|
||||
onedarkpro-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "onedarkpro.nvim";
|
||||
version = "2022-11-21";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "olimorris";
|
||||
repo = "onedarkpro.nvim";
|
||||
rev = "6f13896727c82c1ff56acf483d474ba7ad88f230";
|
||||
sha256 = "1vbnxc9cvk2gn5vs4mhgk7mvlzdifhkh3bl71814q9mvq46nnxav";
|
||||
rev = "ceb1ad90a20c39a87799e5f0facfa02d7cb19a23";
|
||||
sha256 = "0wq15k4g02hi7dvkwg1j7mr2cgl6yvisk9dsyzkdsh30yfpg11cb";
|
||||
};
|
||||
meta.homepage = "https://github.com/olimorris/onedarkpro.nvim/";
|
||||
};
|
||||
@ -6419,12 +6419,12 @@ final: prev:
|
||||
|
||||
orgmode = buildVimPluginFrom2Nix {
|
||||
pname = "orgmode";
|
||||
version = "2022-11-30";
|
||||
version = "2022-12-07";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nvim-orgmode";
|
||||
repo = "orgmode";
|
||||
rev = "fc9bb0f5823d01e4008e4b86663772d4148aa9ce";
|
||||
sha256 = "1vb0x89qr2kk5ma8syw4l56c6j2b7y2advyjykdli8psn6i7gsyf";
|
||||
rev = "d3980a5cda71266579ef773168d7750e04911877";
|
||||
sha256 = "1wlmzsj70x891bcxkdcwgx7hiljhgcl73w2i9vadk4n51hxc57h7";
|
||||
};
|
||||
meta.homepage = "https://github.com/nvim-orgmode/orgmode/";
|
||||
};
|
||||
@ -6901,12 +6901,12 @@ final: prev:
|
||||
|
||||
rnvimr = buildVimPluginFrom2Nix {
|
||||
pname = "rnvimr";
|
||||
version = "2022-11-27";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "kevinhwang91";
|
||||
repo = "rnvimr";
|
||||
rev = "d78ca640354ea7a4671ff11df8f71fbb087e0eba";
|
||||
sha256 = "1y613xbqjv3g6drcqhx04j34fnx2l00yb17prcd4vn5sjllil9mz";
|
||||
rev = "64579c485812867bbd7890a55ca93884beb440b6";
|
||||
sha256 = "0yzy3mq7b7hnnb04z45m4r3hcpf11djv5zxhsyk60pnyvlwrdl7k";
|
||||
};
|
||||
meta.homepage = "https://github.com/kevinhwang91/rnvimr/";
|
||||
};
|
||||
@ -7383,12 +7383,12 @@ final: prev:
|
||||
|
||||
ssr-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "ssr.nvim";
|
||||
version = "2022-12-04";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "cshuaimin";
|
||||
repo = "ssr.nvim";
|
||||
rev = "6238c102d16779aaa505a16200ac50a01c16b5ef";
|
||||
sha256 = "0w0yljwf5l19sczb8qrzkhl61w7xhyapj8v182c7h60k7nis1qqx";
|
||||
rev = "ce2ba65370c3e6ca2e84e652c9adfccb8611458e";
|
||||
sha256 = "080xgvq8i01v2zz86nxwr1c2pi2mb5qjx6lymkygp0xjmv3p9b2v";
|
||||
};
|
||||
meta.homepage = "https://github.com/cshuaimin/ssr.nvim/";
|
||||
};
|
||||
@ -7709,12 +7709,12 @@ final: prev:
|
||||
|
||||
tcomment_vim = buildVimPluginFrom2Nix {
|
||||
pname = "tcomment_vim";
|
||||
version = "2022-12-02";
|
||||
version = "2022-12-07";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tomtom";
|
||||
repo = "tcomment_vim";
|
||||
rev = "ced243a049bb6839ff057741de731418879e97e8";
|
||||
sha256 = "1q2q2q8rpd8fzf4sa14mjg42m1d97cqxz82xk4vgg3ml3ffgcsly";
|
||||
rev = "dd1da14193c10f7f5b91638e438977b48d191aa9";
|
||||
sha256 = "1k3f821hc1kzajsb259309m57iwhjrika7i87ayx8pq1mvlxzdvc";
|
||||
};
|
||||
meta.homepage = "https://github.com/tomtom/tcomment_vim/";
|
||||
};
|
||||
@ -7745,12 +7745,12 @@ final: prev:
|
||||
|
||||
telescope-coc-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "telescope-coc.nvim";
|
||||
version = "2022-10-20";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "fannheyward";
|
||||
repo = "telescope-coc.nvim";
|
||||
rev = "0193fe529edd2cb61ccc020b492df76528f880fc";
|
||||
sha256 = "1y7kav5749bznz5m7102igba29yvfbasnbn6hzsx57g8vj36kwbb";
|
||||
rev = "878c8ac14f809f7a1247a090408f7c23fa075470";
|
||||
sha256 = "0q237i5cwxqzzhfmnbvljsmc4z7gmdfapz965pp135ybid4nh5xh";
|
||||
};
|
||||
meta.homepage = "https://github.com/fannheyward/telescope-coc.nvim/";
|
||||
};
|
||||
@ -8191,12 +8191,12 @@ final: prev:
|
||||
|
||||
toggleterm-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "toggleterm.nvim";
|
||||
version = "2022-11-03";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "akinsho";
|
||||
repo = "toggleterm.nvim";
|
||||
rev = "3ba683827c623affb4d9aa518e97b34db2623093";
|
||||
sha256 = "043rchc7qbn65b7wfgvp6fdg67xijgd3i3jfm82i1rha7dlymb41";
|
||||
rev = "b02a1674bd0010d7982b056fd3df4f717ff8a57a";
|
||||
sha256 = "1ibkq0mv39n8pf43nxrridn4hdn95qk7pq0mv28qrb9p8dnxczfj";
|
||||
};
|
||||
meta.homepage = "https://github.com/akinsho/toggleterm.nvim/";
|
||||
};
|
||||
@ -8239,12 +8239,12 @@ final: prev:
|
||||
|
||||
treesj = buildVimPluginFrom2Nix {
|
||||
pname = "treesj";
|
||||
version = "2022-12-02";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Wansmer";
|
||||
repo = "treesj";
|
||||
rev = "43604d7e1504571c768024e90907dc7b581456a4";
|
||||
sha256 = "0k9swbihxjynzkhfg5dgnkm5ajzaq75py4lpxfiql54pvbbllcb5";
|
||||
rev = "1c4447d01cfed64fdb9a62fd69611dc8d6b9ade0";
|
||||
sha256 = "188xd9zwy9kx3gmlagbk4rw2wsspszx8zqg57kv6xa15zb4c6366";
|
||||
};
|
||||
meta.homepage = "https://github.com/Wansmer/treesj/";
|
||||
};
|
||||
@ -8359,12 +8359,12 @@ final: prev:
|
||||
|
||||
undotree = buildVimPluginFrom2Nix {
|
||||
pname = "undotree";
|
||||
version = "2022-10-08";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mbbill";
|
||||
repo = "undotree";
|
||||
rev = "bd60cb564e3c3220b35293679669bb77af5f389d";
|
||||
sha256 = "0w05yhyjh6j7gcdfghvbjylc64wba42fagnj4bxk1lbcqvnnzxc8";
|
||||
rev = "1a23ea84bd02c34f50d8e10a8b4bfc89597ffe4e";
|
||||
sha256 = "00r0jnsrqdfns08ndj3xhwfx3yf65dgsin9pihad64gj9fmwvbv3";
|
||||
};
|
||||
meta.homepage = "https://github.com/mbbill/undotree/";
|
||||
};
|
||||
@ -9271,12 +9271,12 @@ final: prev:
|
||||
|
||||
vim-codefmt = buildVimPluginFrom2Nix {
|
||||
pname = "vim-codefmt";
|
||||
version = "2022-12-04";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "vim-codefmt";
|
||||
rev = "b97c8fcdaed5c3915e49f70f7fa7aa148d528428";
|
||||
sha256 = "1j3g4rcjy5fr7pbm45bkzsq0kppvrp54wd6dsdzxwd2y1nkrm82l";
|
||||
rev = "64ffe0761b9499f15ea8b56b153644c488b5bf74";
|
||||
sha256 = "1apym7104z3pxx57srb7ih1qsyidf421f3d6rzfs8nc2vvgdd061";
|
||||
};
|
||||
meta.homepage = "https://github.com/google/vim-codefmt/";
|
||||
};
|
||||
@ -9463,24 +9463,24 @@ final: prev:
|
||||
|
||||
vim-dadbod = buildVimPluginFrom2Nix {
|
||||
pname = "vim-dadbod";
|
||||
version = "2022-12-03";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tpope";
|
||||
repo = "vim-dadbod";
|
||||
rev = "c8034ea7160c0fa9351f9f07f964bb335cdd6187";
|
||||
sha256 = "1kbll59gzcrawwgfiv63psciab330id3jc19kmbl3dvbs3m9if8q";
|
||||
rev = "1ad079ed63d9934174fec918cc0abc7e020eb02c";
|
||||
sha256 = "0zmnvwg28bw1pnbf3bx675bssjiab8brcabdkl8vfqgnyibw2pm7";
|
||||
};
|
||||
meta.homepage = "https://github.com/tpope/vim-dadbod/";
|
||||
};
|
||||
|
||||
vim-dadbod-completion = buildVimPluginFrom2Nix {
|
||||
pname = "vim-dadbod-completion";
|
||||
version = "2022-11-22";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "kristijanhusak";
|
||||
repo = "vim-dadbod-completion";
|
||||
rev = "339667d9939d434f9b4496859c077faa88880183";
|
||||
sha256 = "08slydxkahw4w383k4ln6hhz0lq9caxxilp4r9k4xk5dmsi7d2xd";
|
||||
rev = "e71eb6140556c5ced80de6299a1fdfe22bd3c1b1";
|
||||
sha256 = "1d3gg2s9krvq9nasa3iwb7kv3jx5v74h0h55syp7d7hl7idysgdd";
|
||||
};
|
||||
meta.homepage = "https://github.com/kristijanhusak/vim-dadbod-completion/";
|
||||
};
|
||||
@ -9559,12 +9559,12 @@ final: prev:
|
||||
|
||||
vim-dirvish = buildVimPluginFrom2Nix {
|
||||
pname = "vim-dirvish";
|
||||
version = "2022-07-14";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "justinmk";
|
||||
repo = "vim-dirvish";
|
||||
rev = "81b40878f286f370df2a2b3a52c4d860643d2142";
|
||||
sha256 = "19wmp9bx3sgf4vjvq504ah12hh6zm7hvqjyq07sccy2z7ld87bd5";
|
||||
rev = "6233243f0caa71d27d27ea102540a88bce8eb6ea";
|
||||
sha256 = "03nvv5y4zv2kh4fkg3xx0zf247mqv201zf89aalczvslvwdf7gqf";
|
||||
};
|
||||
meta.homepage = "https://github.com/justinmk/vim-dirvish/";
|
||||
};
|
||||
@ -11038,12 +11038,12 @@ final: prev:
|
||||
|
||||
vim-monokai = buildVimPluginFrom2Nix {
|
||||
pname = "vim-monokai";
|
||||
version = "2021-05-06";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "crusoexia";
|
||||
repo = "vim-monokai";
|
||||
rev = "66f7dc9c63296ea6ba408faa60bebe54a34c57f2";
|
||||
sha256 = "10ip0y9p2qf869h2yhp2zs6qc048rw1x5i0spziajca96251gvig";
|
||||
rev = "6b6c2b698e94d0af8d8f2307be01571ab8b7b74f";
|
||||
sha256 = "1pa1fylfzammcy7xvl2wlgg2qw8yzrzr7yf0vdalqfmxkakma1z8";
|
||||
};
|
||||
meta.homepage = "https://github.com/crusoexia/vim-monokai/";
|
||||
};
|
||||
@ -11350,12 +11350,12 @@ final: prev:
|
||||
|
||||
vim-orgmode = buildVimPluginFrom2Nix {
|
||||
pname = "vim-orgmode";
|
||||
version = "2022-01-23";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jceb";
|
||||
repo = "vim-orgmode";
|
||||
rev = "66cd7ee69a9cddc73f65566e32da159f1e51401f";
|
||||
sha256 = "1ywf5vcn3b8isfw4gxqfplchn94jvbqvaap15w1yk5ljmp46gxgk";
|
||||
rev = "b27feaba9a316e8307cfd7a56797b378fb52df83";
|
||||
sha256 = "0b2y49ylbrp1i5r5abznziv1n43d063mib07v4ila0873k7fzir6";
|
||||
};
|
||||
meta.homepage = "https://github.com/jceb/vim-orgmode/";
|
||||
};
|
||||
@ -11926,12 +11926,12 @@ final: prev:
|
||||
|
||||
vim-sandwich = buildVimPluginFrom2Nix {
|
||||
pname = "vim-sandwich";
|
||||
version = "2022-07-22";
|
||||
version = "2022-12-07";
|
||||
src = fetchFromGitHub {
|
||||
owner = "machakann";
|
||||
repo = "vim-sandwich";
|
||||
rev = "74898e6f5c5ea37e17163f00bf4981049f785eed";
|
||||
sha256 = "09zx0081bmprvf1zv3wxjnl0j4viks9w3yysbwgg1qqi38fls5rg";
|
||||
rev = "c5a2cc438ce6ea2005c556dc833732aa53cae21a";
|
||||
sha256 = "1b1rim7q398dnwdaqakcycvyvw04rw32k10ij7w7mqpbn9hklpm5";
|
||||
};
|
||||
meta.homepage = "https://github.com/machakann/vim-sandwich/";
|
||||
};
|
||||
@ -12190,12 +12190,12 @@ final: prev:
|
||||
|
||||
vim-snippets = buildVimPluginFrom2Nix {
|
||||
pname = "vim-snippets";
|
||||
version = "2022-12-01";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "honza";
|
||||
repo = "vim-snippets";
|
||||
rev = "6173350127d56dcc5664f50320b3f522951f56e9";
|
||||
sha256 = "1a002y2pw76bh35q9z0rba3wnfcwgfmnii4gn3107wwfmfy50z55";
|
||||
rev = "8c917944354552c1263159a4a218ad924969be0c";
|
||||
sha256 = "1fsfmi6q4inbv5vdfclfjc3dga4wcvgw6dm32xqxq74raq5npgmc";
|
||||
};
|
||||
meta.homepage = "https://github.com/honza/vim-snippets/";
|
||||
};
|
||||
@ -12431,12 +12431,12 @@ final: prev:
|
||||
|
||||
vim-test = buildVimPluginFrom2Nix {
|
||||
pname = "vim-test";
|
||||
version = "2022-11-10";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "vim-test";
|
||||
repo = "vim-test";
|
||||
rev = "ab7feab8cb139e5b4955cb4c6ddf52e968cb24be";
|
||||
sha256 = "0glnzs21xhwgir4ndnrv3jlmi5g6b4znybcpp5d4aqxd5sqa80m3";
|
||||
rev = "99894e398e6b3c797bda2d0390f36d265ad0ab58";
|
||||
sha256 = "070755cb9sfbcxcq122gqblsrqng2xvgjvv6rgwfkg32rn7dbsfz";
|
||||
};
|
||||
meta.homepage = "https://github.com/vim-test/vim-test/";
|
||||
};
|
||||
@ -12575,12 +12575,12 @@ final: prev:
|
||||
|
||||
vim-tmux-navigator = buildVimPluginFrom2Nix {
|
||||
pname = "vim-tmux-navigator";
|
||||
version = "2022-12-04";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "christoomey";
|
||||
repo = "vim-tmux-navigator";
|
||||
rev = "a40cc7a52787e06fd57650e09be490432e3d4717";
|
||||
sha256 = "0l98v8lbadz32z7i1d1n0b1ggpvbsc71ni3lqm9hd2xhx9rixps1";
|
||||
rev = "41ea9d23b814014c8d8daf8b44fa0cd827a0e5f4";
|
||||
sha256 = "15581nighr1a82gkn0blkx75l6bz0vfq573nf626dw1qa652nipz";
|
||||
};
|
||||
meta.homepage = "https://github.com/christoomey/vim-tmux-navigator/";
|
||||
};
|
||||
@ -12863,12 +12863,12 @@ final: prev:
|
||||
|
||||
vim-which-key = buildVimPluginFrom2Nix {
|
||||
pname = "vim-which-key";
|
||||
version = "2022-10-30";
|
||||
version = "2022-12-07";
|
||||
src = fetchFromGitHub {
|
||||
owner = "liuchengxu";
|
||||
repo = "vim-which-key";
|
||||
rev = "398adc5bf2918ee84e78bd974a9f9d64ddfc0801";
|
||||
sha256 = "18kjcw8jdidihfscir5kihz22mvlwkbab1w5m8hc2w9qjljcza50";
|
||||
rev = "c0eb7a63e80ed0dc2c91eb8c879b7396a795f775";
|
||||
sha256 = "14v47fjp1klnacbbn2ly9ya0xs4dv2bsf9pg391zfcpp9rzf6mrl";
|
||||
};
|
||||
meta.homepage = "https://github.com/liuchengxu/vim-which-key/";
|
||||
};
|
||||
@ -12923,12 +12923,12 @@ final: prev:
|
||||
|
||||
vim-xkbswitch = buildVimPluginFrom2Nix {
|
||||
pname = "vim-xkbswitch";
|
||||
version = "2022-12-07";
|
||||
version = "2022-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "lyokha";
|
||||
repo = "vim-xkbswitch";
|
||||
rev = "e64864ec2e01ba554c6ee5396e4e77f732433738";
|
||||
sha256 = "0sg4ynwr5mw0qpgnvl752d9yslvd8rxl6swz61gnzgg8j3fyhk5f";
|
||||
rev = "6bcc2dd50f8952e9d20760ccccd3425ecaa4b25e";
|
||||
sha256 = "09lh4cd2v8k0hj6ipik1lq78syl07aaf5aybpnf9l3gbvqbj5wnw";
|
||||
};
|
||||
meta.homepage = "https://github.com/lyokha/vim-xkbswitch/";
|
||||
};
|
||||
@ -12969,6 +12969,18 @@ final: prev:
|
||||
meta.homepage = "https://github.com/simonrw/vim-yapf/";
|
||||
};
|
||||
|
||||
vim-zettel = buildVimPluginFrom2Nix {
|
||||
pname = "vim-zettel";
|
||||
version = "2022-09-05";
|
||||
src = fetchFromGitHub {
|
||||
owner = "michal-h21";
|
||||
repo = "vim-zettel";
|
||||
rev = "e38119f98c888b6fc700f97e363254ddafc950ba";
|
||||
sha256 = "1a4rc7blj7lh318x8cgyyi9q3m5szdz2f1frn6yga5vqd9cyv877";
|
||||
};
|
||||
meta.homepage = "https://github.com/michal-h21/vim-zettel/";
|
||||
};
|
||||
|
||||
vim2hs = buildVimPluginFrom2Nix {
|
||||
pname = "vim2hs";
|
||||
version = "2014-04-16";
|
||||
@ -13501,12 +13513,12 @@ final: prev:
|
||||
|
||||
catppuccin-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "catppuccin-nvim";
|
||||
version = "2022-12-06";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "nvim";
|
||||
rev = "08ef4cb230a16c5f6b8f33ef1bf0c5b3e192905a";
|
||||
sha256 = "1xzh1ql0iix33ixkdcrvf80xa9c995b6gq2ag0k9q4ikvmid5lx2";
|
||||
rev = "d55d81eabfeacbfb167e2948790ae94aaba3b149";
|
||||
sha256 = "0xhcrh1zyjq7i5kdsvw1v2f83m0d3ikv8hzpvpkm13zkhzasj018";
|
||||
};
|
||||
meta.homepage = "https://github.com/catppuccin/nvim/";
|
||||
};
|
||||
@ -13525,12 +13537,12 @@ final: prev:
|
||||
|
||||
chad = buildVimPluginFrom2Nix {
|
||||
pname = "chad";
|
||||
version = "2022-12-07";
|
||||
version = "2022-12-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ms-jpq";
|
||||
repo = "chadtree";
|
||||
rev = "b0e0b05e5aa8156fe9c8f3a3a3804a434394ab65";
|
||||
sha256 = "1kakayg4v5fdi1hs1zyv6f9hd9im0f36z4f4bk1yszsgycrcyl1z";
|
||||
rev = "e61b0e2760e62a72a858e7e51733b52c22927dd3";
|
||||
sha256 = "10i68hk8q8m6w9r7pmk4m18x6k931w6nl095452cag0ijc6rsxkd";
|
||||
};
|
||||
meta.homepage = "https://github.com/ms-jpq/chadtree/";
|
||||
};
|
||||
|
@ -338,14 +338,14 @@
|
||||
};
|
||||
erlang = buildGrammar {
|
||||
language = "erlang";
|
||||
version = "3a9c769";
|
||||
version = "a8b8b0e";
|
||||
source = fetchFromGitHub {
|
||||
owner = "AbstractMachinesLab";
|
||||
owner = "WhatsApp";
|
||||
repo = "tree-sitter-erlang";
|
||||
rev = "3a9c769444f08bbccce03845270efac0c641c5e7";
|
||||
hash = "sha256-ZsjHTNUfTEPo3Wb1ihW0M2YTWK6mpNhxQG/nLfMaG4I=";
|
||||
rev = "a8b8b0e16c4f5552f5e85af3dec976a5d16af8b9";
|
||||
hash = "sha256-6eiRiTTPdMBRsxVHIHYuw0sIfRDvP4pZIEyckoo304Q=";
|
||||
};
|
||||
meta.homepage = "https://github.com/AbstractMachinesLab/tree-sitter-erlang";
|
||||
meta.homepage = "https://github.com/WhatsApp/tree-sitter-erlang";
|
||||
};
|
||||
fennel = buildGrammar {
|
||||
language = "fennel";
|
||||
@ -471,12 +471,12 @@
|
||||
};
|
||||
glimmer = buildGrammar {
|
||||
language = "glimmer";
|
||||
version = "abcc997";
|
||||
version = "fee3427";
|
||||
source = fetchFromGitHub {
|
||||
owner = "alexlafroscia";
|
||||
repo = "tree-sitter-glimmer";
|
||||
rev = "abcc9970da0ed0645741bf52ea70232374bc9e52";
|
||||
hash = "sha256-kkNnyaAXeZJ770Jl4mmOdyXvq6bQd/9Q6eVyr+JV2jY=";
|
||||
rev = "fee34278dc212869dcfc92fce3007ee79a752867";
|
||||
hash = "sha256-a3goK+QSkrdsKvimT8vpsJ1bt8FhLf1bws0aqjncv3A=";
|
||||
};
|
||||
meta.homepage = "https://github.com/alexlafroscia/tree-sitter-glimmer";
|
||||
};
|
||||
@ -493,12 +493,12 @@
|
||||
};
|
||||
go = buildGrammar {
|
||||
language = "go";
|
||||
version = "e34b8a4";
|
||||
version = "64457ea";
|
||||
source = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-go";
|
||||
rev = "e34b8a418c33bba8bdf3375e8e55903dff7c68b9";
|
||||
hash = "sha256-Bfp2XsT83x+VPMPB5rHAbSpEkHD7lG0iDq2Yt63Ug8I=";
|
||||
rev = "64457ea6b73ef5422ed1687178d4545c3e91334a";
|
||||
hash = "sha256-38pkqR9iEIEf9r3IHJPIYgKfWBlb9aQWi1kij04Vo5k=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-go";
|
||||
};
|
||||
@ -1016,12 +1016,12 @@
|
||||
};
|
||||
php = buildGrammar {
|
||||
language = "php";
|
||||
version = "ab2e721";
|
||||
version = "b4a8a60";
|
||||
source = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-php";
|
||||
rev = "ab2e72179ceb8bb0b249c8ac9162a148e911b3dc";
|
||||
hash = "sha256-Lg4gEi6bCYosakr2McmgOwGHsmsVSjD+oyG6XNTd0j0=";
|
||||
rev = "b4a8a6048d66fcda4e8e4988bd0d9095980e303a";
|
||||
hash = "sha256-Pm0FuY34eMhX4K7pbYpNAY1WYBOO+9cFCx/j992fsg8=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
|
||||
};
|
||||
@ -1082,12 +1082,12 @@
|
||||
};
|
||||
python = buildGrammar {
|
||||
language = "python";
|
||||
version = "b14614e";
|
||||
version = "9e53981";
|
||||
source = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-python";
|
||||
rev = "b14614e2144b8f9ee54deed5a24f3c6f51f9ffa8";
|
||||
hash = "sha256-4TDEK3v7hqinisXtAi/iJL0rUKqII07oVg/Jz3IV2yA=";
|
||||
rev = "9e53981ec31b789ee26162ea335de71f02186003";
|
||||
hash = "sha256-D2++Xg7dRfjGM2r4cxaXGQnBOAX5JBREcEAJeNa7Y9M=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-python";
|
||||
};
|
||||
@ -1291,12 +1291,12 @@
|
||||
};
|
||||
sql = buildGrammar {
|
||||
language = "sql";
|
||||
version = "54b363b";
|
||||
version = "a4dd131";
|
||||
source = fetchFromGitHub {
|
||||
owner = "derekstride";
|
||||
repo = "tree-sitter-sql";
|
||||
rev = "54b363b87c22787f9dcfabb5d8aa221cb65ace42";
|
||||
hash = "sha256-ku4t3IyPNIIXVt3RvUoCG+TUbe62m7EFtXLUiAPb+pQ=";
|
||||
rev = "a4dd131eeb9fe7f3c9c2ca0f506f6d58d9986a97";
|
||||
hash = "sha256-Z1x1XPecXt3a4mL40Fyt5+1wrD+0L3Hh9aWjI0vIhIc=";
|
||||
};
|
||||
generate = true;
|
||||
meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
|
||||
@ -1336,12 +1336,12 @@
|
||||
};
|
||||
swift = buildGrammar {
|
||||
language = "swift";
|
||||
version = "cff1c9a";
|
||||
version = "4443b12";
|
||||
source = fetchFromGitHub {
|
||||
owner = "alex-pinkus";
|
||||
repo = "tree-sitter-swift";
|
||||
rev = "cff1c9a62df89e8900d53ff48bc42862e6522dcf";
|
||||
hash = "sha256-tfpqnutY8uLzhPWPsDzsvwaRWOS8vIxAOPlcyPoSwNU=";
|
||||
rev = "4443b125240d7ae7e50d35d8415fae5be61bdaf2";
|
||||
hash = "sha256-Hym56WVG5QIic+pd6Hvae5ETM6UNaTo4Sr9mTUVFt0Q=";
|
||||
};
|
||||
generate = true;
|
||||
meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
|
||||
|
@ -1260,6 +1260,10 @@ self: super: {
|
||||
dependencies = with self; [ vimproc-vim ];
|
||||
});
|
||||
|
||||
vim-zettel = super.vim-zettel.overrideAttrs (old: {
|
||||
dependencies = with self; [ vimwiki fzf-vim ];
|
||||
});
|
||||
|
||||
YankRing-vim = super.YankRing-vim.overrideAttrs (old: {
|
||||
sourceRoot = ".";
|
||||
});
|
||||
|
@ -1088,6 +1088,7 @@ https://github.com/lyokha/vim-xkbswitch/,,
|
||||
https://github.com/mg979/vim-xtabline/,,
|
||||
https://github.com/stephpy/vim-yaml/,,
|
||||
https://github.com/mindriot101/vim-yapf/,,
|
||||
https://github.com/michal-h21/vim-zettel/,HEAD,
|
||||
https://github.com/dag/vim2hs/,,
|
||||
https://github.com/dominikduda/vim_current_word/,,
|
||||
https://github.com/andrep/vimacs/,,
|
||||
|
@ -14,7 +14,7 @@ USAGE EXAMPLE
|
||||
Install Vim like this eg using nixos option environment.systemPackages which will provide
|
||||
vim-with-plugins in PATH:
|
||||
|
||||
vim_configurable.customize {
|
||||
vim-full.customize {
|
||||
name = "vim-with-plugins"; # optional
|
||||
|
||||
# add custom .vimrc lines like this:
|
||||
@ -105,7 +105,7 @@ fitting the vimrcConfig.vam.pluginDictionaries option.
|
||||
Thus the most simple usage would be:
|
||||
|
||||
vim_with_plugins =
|
||||
let vim = vim_configurable;
|
||||
let vim = vim-full;
|
||||
inherit (vimUtil.override {inherit vim}) rtpPath addRtp buildVimPlugin vimHelpTags;
|
||||
vimPlugins = [
|
||||
# the derivation list from the buffer created by nix#ExportPluginsForNix
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ lib, stdenv, config, vim_configurable, macvim, vimPlugins
|
||||
{ lib, stdenv, config, vim-full, macvim, vimPlugins
|
||||
, useMacvim ? stdenv.isDarwin && (config.vimacs.macvim or true)
|
||||
, vimacsExtraArgs ? "" }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vimacs";
|
||||
version = lib.getVersion vimPackage;
|
||||
vimPackage = if useMacvim then macvim else vim_configurable;
|
||||
vimPackage = if useMacvim then macvim else vim-full;
|
||||
|
||||
buildInputs = [ vimPackage vimPlugins.vimacs ];
|
||||
|
||||
|
@ -6,7 +6,6 @@
|
||||
, clang
|
||||
, cmake
|
||||
, desktop-file-utils
|
||||
, gio-sharp
|
||||
, glib
|
||||
, gstreamer
|
||||
, gtk4
|
||||
@ -24,20 +23,20 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rnote";
|
||||
version = "0.5.7";
|
||||
version = "0.5.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flxzt";
|
||||
repo = "rnote";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-w4y+t8idcaNwvC2Wp9SRjcd4m23Zt+yHG2fjOA2rBU8=";
|
||||
hash = "sha256-Sy8EHl4UuDMwRAKDkl7njD9GSzKpy1Cfsgw53On+nxo=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-Hybbbokru4vz5ly3oZuNGdBa+lYbhdYjESUpRxIUqJc=";
|
||||
hash = "sha256-Pe4lNcvJNELAitaGY56EUJ8iN7Dkh8DoUpA/t+aRuqk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -60,7 +59,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
gio-sharp
|
||||
glib
|
||||
gstreamer
|
||||
gtk4
|
||||
@ -81,6 +79,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/flxzt/rnote";
|
||||
changelog = "https://github.com/flxzt/rnote/releases/tag/${src.rev}";
|
||||
description = "Simple drawing application to create handwritten notes";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ dotlambda yrd ];
|
||||
|
@ -18,4 +18,7 @@ stdenv.mkDerivation {
|
||||
mkdir -p $out/Applications
|
||||
cp -r *.app $out/Applications
|
||||
'';
|
||||
|
||||
# 1Password is notarized.
|
||||
dontFixup = true;
|
||||
}
|
||||
|
@ -7,7 +7,6 @@
|
||||
, glib
|
||||
, gtk3
|
||||
, libnotify
|
||||
, scandir ? null
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
@ -37,7 +36,6 @@ python3Packages.buildPythonApplication rec {
|
||||
chardet
|
||||
pygobject3
|
||||
requests
|
||||
scandir
|
||||
];
|
||||
|
||||
# Patch the many hardcoded uses of /usr/share/ and /usr/bin
|
||||
|
@ -14,55 +14,31 @@
|
||||
, gtk4
|
||||
, gtksourceview5
|
||||
, libadwaita
|
||||
, steam
|
||||
, cabextract
|
||||
, p7zip
|
||||
, xdpyinfo
|
||||
, imagemagick
|
||||
, lsb-release
|
||||
, pciutils
|
||||
, procps
|
||||
, gamescope
|
||||
, mangohud
|
||||
, vkbasalt-cli
|
||||
, vmtouch
|
||||
, wine
|
||||
, bottlesExtraLibraries ? pkgs: [ ] # extra packages to add to steam.run multiPkgs
|
||||
, bottlesExtraPkgs ? pkgs: [ ] # extra packages to add to steam.run targetPkgs
|
||||
}:
|
||||
|
||||
let
|
||||
steam-run = (steam.override {
|
||||
# required by wine runner `caffe`
|
||||
extraLibraries = pkgs: with pkgs; [ libunwind libusb1 gnutls ]
|
||||
++ bottlesExtraLibraries pkgs;
|
||||
extraPkgs = pkgs: [ ]
|
||||
++ bottlesExtraPkgs pkgs;
|
||||
}).run;
|
||||
in
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "bottles";
|
||||
version = "2022.10.14.1";
|
||||
pname = "bottles-unwrapped";
|
||||
version = "2022.11.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bottlesdevs";
|
||||
repo = pname;
|
||||
repo = "bottles";
|
||||
rev = version;
|
||||
sha256 = "sha256-FO91GSGlc2f3TSLrlmRDPi5p933/Y16tdEpX4RcKhL0=";
|
||||
sha256 = "sha256-bigrJtqx9iZURYojwxlGe7xSGWS13wSaGcrTTROP9J8=";
|
||||
};
|
||||
|
||||
patches = [ ./vulkan_icd.patch ];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x build-aux/meson/postinstall.py
|
||||
patchShebangs build-aux/meson/postinstall.py
|
||||
|
||||
substituteInPlace bottles/backend/wine/winecommand.py \
|
||||
--replace \
|
||||
"command = f\"{runner} {command}\"" \
|
||||
"command = f\"{''' if runner == 'wine' or runner == 'wine64' else '${steam-run}/bin/steam-run '}{runner} {command}\"" \
|
||||
--replace \
|
||||
"command = f\"{_picked['entry_point']} {command}\"" \
|
||||
"command = f\"${steam-run}/bin/steam-run {_picked['entry_point']} {command}\""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
blueprint-compiler
|
||||
meson
|
||||
@ -101,12 +77,16 @@ python3Packages.buildPythonApplication rec {
|
||||
p7zip
|
||||
xdpyinfo
|
||||
imagemagick
|
||||
procps
|
||||
vkbasalt-cli
|
||||
|
||||
gamescope
|
||||
mangohud
|
||||
vmtouch
|
||||
wine
|
||||
|
||||
# Undocumented (subprocess.Popen())
|
||||
lsb-release
|
||||
pciutils
|
||||
procps
|
||||
];
|
||||
|
||||
format = "other";
|
||||
|
101
pkgs/applications/misc/bottles/fhsenv.nix
Normal file
101
pkgs/applications/misc/bottles/fhsenv.nix
Normal file
@ -0,0 +1,101 @@
|
||||
{ lib
|
||||
, buildFHSUserEnvBubblewrap
|
||||
, symlinkJoin
|
||||
, bottles-unwrapped
|
||||
, extraPkgs ? pkgs: [ ]
|
||||
, extraLibraries ? pkgs: [ ]
|
||||
}:
|
||||
|
||||
let fhsEnv = {
|
||||
targetPkgs = pkgs: with pkgs; [
|
||||
bottles-unwrapped
|
||||
vkbasalt
|
||||
] ++ extraPkgs pkgs;
|
||||
|
||||
multiPkgs =
|
||||
let
|
||||
xorgDeps = pkgs: with pkgs.xorg; [
|
||||
libpthreadstubs
|
||||
libSM
|
||||
libX11
|
||||
libXaw
|
||||
libxcb
|
||||
libXcomposite
|
||||
libXcursor
|
||||
libXdmcp
|
||||
libXext
|
||||
libXi
|
||||
libXinerama
|
||||
libXmu
|
||||
libXrandr
|
||||
libXrender
|
||||
libXv
|
||||
libXxf86vm
|
||||
];
|
||||
in
|
||||
pkgs: with pkgs; [
|
||||
# https://wiki.winehq.org/Building_Wine
|
||||
alsa-lib
|
||||
cups
|
||||
dbus
|
||||
fontconfig
|
||||
freetype
|
||||
glib
|
||||
gnutls
|
||||
libglvnd
|
||||
gsm
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
libgphoto2
|
||||
libjpeg_turbo
|
||||
libkrb5
|
||||
libpcap
|
||||
libpng
|
||||
libpulseaudio
|
||||
libtiff
|
||||
libunwind
|
||||
libusb1
|
||||
libv4l
|
||||
libxml2
|
||||
mpg123
|
||||
ocl-icd
|
||||
openldap
|
||||
samba4
|
||||
sane-backends
|
||||
SDL2
|
||||
udev
|
||||
vulkan-loader
|
||||
|
||||
# https://www.gloriouseggroll.tv/how-to-get-out-of-wine-dependency-hell/
|
||||
alsa-plugins
|
||||
dosbox
|
||||
giflib
|
||||
gtk3
|
||||
libva
|
||||
libxslt
|
||||
ncurses
|
||||
openal
|
||||
|
||||
# Steam runtime
|
||||
libgcrypt
|
||||
libgpg-error
|
||||
p11-kit
|
||||
zlib # Freetype
|
||||
] ++ xorgDeps pkgs
|
||||
++ extraLibraries pkgs;
|
||||
};
|
||||
in
|
||||
symlinkJoin {
|
||||
name = "bottles";
|
||||
paths = [
|
||||
(buildFHSUserEnvBubblewrap (fhsEnv // { name = "bottles"; runScript = "bottles"; }))
|
||||
(buildFHSUserEnvBubblewrap (fhsEnv // { name = "bottles-cli"; runScript = "bottles-cli"; }))
|
||||
];
|
||||
postBuild = ''
|
||||
mkdir -p $out/share
|
||||
ln -s ${bottles-unwrapped}/share/applications $out/share
|
||||
ln -s ${bottles-unwrapped}/share/icons $out/share
|
||||
'';
|
||||
|
||||
inherit (bottles-unwrapped) meta;
|
||||
}
|
@ -1,13 +1,15 @@
|
||||
diff --git a/bottles/backend/utils/vulkan.py b/bottles/backend/utils/vulkan.py
|
||||
index 6673493..07f70d1 100644
|
||||
index 6673493..9191004 100644
|
||||
--- a/bottles/backend/utils/vulkan.py
|
||||
+++ b/bottles/backend/utils/vulkan.py
|
||||
@@ -29,6 +29,8 @@ class VulkanUtils:
|
||||
@@ -28,7 +28,9 @@ class VulkanUtils:
|
||||
"/usr/share/vulkan",
|
||||
"/etc/vulkan",
|
||||
"/usr/local/share/vulkan",
|
||||
"/usr/local/etc/vulkan"
|
||||
+ "/run/opengl-driver/share/vulkan/",
|
||||
+ "/run/opengl-driver-32/share/vulkan/",
|
||||
- "/usr/local/etc/vulkan"
|
||||
+ "/usr/local/etc/vulkan",
|
||||
+ "/run/opengl-driver/share/vulkan",
|
||||
+ "/run/opengl-driver-32/share/vulkan",
|
||||
]
|
||||
if "FLATPAK_ID" in os.environ:
|
||||
__vk_icd_dirs += [
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "metadata-cleaner";
|
||||
version = "2.2.7";
|
||||
version = "2.2.8";
|
||||
|
||||
format = "other";
|
||||
|
||||
@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
owner = "rmnvgr";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Kqvnw0cPPkqgJQdc6vkP4U96AQuyFSNMQTzTdIUghWw=";
|
||||
hash = "sha256-646jGcgcEbhHk3PWdkKHWLVX8bNIB3BmYVMoXaGxHUw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "luakit";
|
||||
version = "2.3.1";
|
||||
version = "2.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "luakit";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-6baN3e5ZJ8hw6mhQ0AapyVIYFSdmXcfo45ReQNliIPw=";
|
||||
hash = "sha256-DtoixcLq+ddbacTAo+Qq6q4k1i6thirACw1zqUeOxXo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -20,13 +20,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubernetes";
|
||||
version = "1.25.4";
|
||||
version = "1.25.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubernetes";
|
||||
repo = "kubernetes";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-1k0L8QUj/764X0Y7qxjFMnatTGKeRPBUroHjSMMe5M4=";
|
||||
sha256 = "sha256-HciTzp9N7YY1+jzIJY8OPmYIsGfe/5abaExnDzt1tKE=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
@ -112,13 +112,13 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"aws": {
|
||||
"hash": "sha256-g38aJ8JN/0PZ0ArSti1/5nzflIlkz/qhn5Qz4yXCie8=",
|
||||
"hash": "sha256-5eqUaO8XRPh2wkltGu7D3GToNAq1zSpQ1LS/h0W/CQA=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/aws",
|
||||
"owner": "hashicorp",
|
||||
"repo": "terraform-provider-aws",
|
||||
"rev": "v4.45.0",
|
||||
"rev": "v4.46.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-C3wr/3huORBacbe0+Z0qqH+iSaJCxQwLq9wqLSirDiM="
|
||||
"vendorHash": "sha256-xo9Z50jK8dWxQ8DeGLjB8ppnGuUmGlQLhzRHpKs8hYg="
|
||||
},
|
||||
"azuread": {
|
||||
"hash": "sha256-itaFeOEnoTIJfACvJZCIe9RWNVgewdVFZzXUK7yGglQ=",
|
||||
@ -167,13 +167,13 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"bitbucket": {
|
||||
"hash": "sha256-eU8vA2fxtdsObgh2dTExGLzzBnfSc2DSGdFHrLXR3SA=",
|
||||
"hash": "sha256-tT5JSiUPeezQFn4tnKrsUxfm/llaBk8R2eOGqGIbEH4=",
|
||||
"homepage": "https://registry.terraform.io/providers/DrFaust92/bitbucket",
|
||||
"owner": "DrFaust92",
|
||||
"repo": "terraform-provider-bitbucket",
|
||||
"rev": "v2.22.0",
|
||||
"rev": "v2.23.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-Qkla3OEcyiMn6eqBj+4LB8JwpIwceLAASI1qvOcUBD0="
|
||||
"vendorHash": "sha256-CFRZSdQnbhV7n10r2R1+cGxn7nKD+GvXWf85rYFRPVI="
|
||||
},
|
||||
"brightbox": {
|
||||
"hash": "sha256-F/AQq45ADM0+PbFpMPtpMvbYw8F41GDBzk7LoY/L/Qg=",
|
||||
@ -861,13 +861,13 @@
|
||||
"vendorHash": "sha256-hHwFm+gSMjN4YQEFd/dd50G0uZsxzqi21tHDf4mPBLY="
|
||||
},
|
||||
"opentelekomcloud": {
|
||||
"hash": "sha256-H1X+wWxdP7MwUtUaQiw0usOO6jwAAVLYMoG5Ut2OcqM=",
|
||||
"hash": "sha256-vmsnpu4FThMY0OfCAj0DnI4fpOwVGvJXpQ3u+kAieFc=",
|
||||
"homepage": "https://registry.terraform.io/providers/opentelekomcloud/opentelekomcloud",
|
||||
"owner": "opentelekomcloud",
|
||||
"repo": "terraform-provider-opentelekomcloud",
|
||||
"rev": "v1.31.9",
|
||||
"rev": "v1.32.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-n7Ez596JnRwsKYPuR8lCLo6ez/TFch2kMgoScg7pPUI="
|
||||
"vendorHash": "sha256-TCeAqQLdeCS3NPDAppinRv4qBPBWtG/qAUKc+4acqEE="
|
||||
},
|
||||
"opsgenie": {
|
||||
"hash": "sha256-6lbJyBppfRqqmYpPgyzUTvnvHPSWjE3SJULqliZ2iUI=",
|
||||
@ -1232,11 +1232,11 @@
|
||||
"vendorHash": "sha256-160GDEQfymeCJpjYOoWP5sGQ0PJHw9kKPaefmbF5Ig4="
|
||||
},
|
||||
"vultr": {
|
||||
"hash": "sha256-6NiVW6kqUCeit6Dc9GbP4mV03UJkqo+UwHsDE4xMwzQ=",
|
||||
"hash": "sha256-DfiJgN1R7qW3c13hBabsMizY3mYamIq8AGms1q9kdVU=",
|
||||
"homepage": "https://registry.terraform.io/providers/vultr/vultr",
|
||||
"owner": "vultr",
|
||||
"repo": "terraform-provider-vultr",
|
||||
"rev": "v2.11.4",
|
||||
"rev": "v2.12.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "waypoint";
|
||||
version = "0.10.3";
|
||||
version = "0.10.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hashicorp";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-+lNeMcSlhmbs1knONnoX2RhEgxTYyCfpdD6WuDTiLx8=";
|
||||
sha256 = "sha256-jbrzXktY1vGk1DuzrzxlWwFQoFPprnDy2YjZQBgmcPI=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-59rJ30m6eiNIapJUNc1jRJE7IoAj0O+5G8JyKkhcyvY=";
|
||||
vendorSha256 = "sha256-oTzGgyQZWNj7vNpAaDO47nB7EbpUiQD66u4F1LJ2CR0=";
|
||||
|
||||
nativeBuildInputs = [ go-bindata installShellFiles ];
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
let
|
||||
versions = if stdenv.isLinux then {
|
||||
stable = "0.0.21";
|
||||
ptb = "0.0.35";
|
||||
ptb = "0.0.38";
|
||||
canary = "0.0.144";
|
||||
} else {
|
||||
stable = "0.0.264";
|
||||
@ -18,7 +18,7 @@ let
|
||||
};
|
||||
ptb = fetchurl {
|
||||
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
|
||||
sha256 = "bnp5wfcR21s7LMPxFgj5G3UsxPWlFj4t6CbeosiufHY=";
|
||||
sha256 = "bPg7ZNQQxEpRSpp8j5/XLBDEJyId8mDGxS6tqkzzI1s=";
|
||||
};
|
||||
canary = fetchurl {
|
||||
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
|
||||
|
@ -26,7 +26,7 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "nextcloud-client";
|
||||
version = "3.6.2";
|
||||
version = "3.6.4";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
@ -34,7 +34,7 @@ mkDerivation rec {
|
||||
owner = "nextcloud";
|
||||
repo = "desktop";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-eTcQrbYYY+V87i6PuIEWCFczIqL8oxtdojPY/mZpJBU=";
|
||||
sha256 = "sha256-ZtDgm9xlBQflVXsxjt4bFmRby6ni0wjaGYaoiEWH9Q0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -82,6 +82,7 @@ mkDerivation rec {
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_UPDATER=off"
|
||||
"-DCMAKE_INSTALL_LIBDIR=lib" # expected to be prefix-relative by build code setting RPATH
|
||||
"-DNO_SHIBBOLETH=1" # allows to compile without qtwebkit
|
||||
];
|
||||
|
@ -6,14 +6,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "zeronet-conservancy";
|
||||
version = "0.7.8";
|
||||
version = "0.7.8.1";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zeronet-conservancy";
|
||||
repo = "zeronet-conservancy";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-U61cQzZfEKCrnk/80yEwh8rh+VojXsvrAQV0ckFqM/4=";
|
||||
sha256 = "sha256-+wZiwUy5bmW8+3h4SuvNN8I6mCIPOlOeFmiXlMu12OU=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
|
@ -1,28 +1,18 @@
|
||||
{ lib, stdenv, fetchFromGitHub, openssl, libsamplerate, alsa-lib, AppKit, fetchpatch }:
|
||||
{ lib, stdenv, fetchFromGitHub, openssl, libsamplerate, alsa-lib, AppKit }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pjsip";
|
||||
version = "2.12.1";
|
||||
version = "2.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = "pjproject";
|
||||
rev = version;
|
||||
sha256 = "sha256-HIDL4xzzTu3irzrIOf8qSNCAvHGOMpi8EDeqZb8mMnc=";
|
||||
sha256 = "sha256-yzszmm3uIyXtYFgZtUP3iswLx4u/8UbFt80Ln25ToFE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./fix-aarch64.patch
|
||||
(fetchpatch {
|
||||
name = "CVE-2022-39269.patch";
|
||||
url = "https://github.com/pjsip/pjproject/commit/d2acb9af4e27b5ba75d658690406cec9c274c5cc.patch";
|
||||
sha256 = "sha256-bKE/MrRAqN1FqD2ubhxIOOf5MgvZluHHeVXPjbR12iQ=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "CVE-2022-39244.patch";
|
||||
url = "https://github.com/pjsip/pjproject/commit/c4d34984ec92b3d5252a7d5cddd85a1d3a8001ae.patch";
|
||||
sha256 = "sha256-hTUMh6bYAizn6GF+sRV1vjKVxSf9pnI+eQdPOqsdJI4=";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [ openssl libsamplerate ]
|
||||
|
@ -156,7 +156,7 @@ stdenv.mkDerivation rec {
|
||||
WITH_X11 = true;
|
||||
};
|
||||
|
||||
NIX_CFLAGS_COMPILE = lib.optional stdenv.isDarwin [
|
||||
NIX_CFLAGS_COMPILE = lib.optionals stdenv.isDarwin [
|
||||
"-DTARGET_OS_IPHONE=0"
|
||||
"-DTARGET_OS_WATCH=0"
|
||||
"-include AudioToolbox/AudioToolbox.h"
|
||||
|
@ -71,25 +71,27 @@ stdenv.mkDerivation rec {
|
||||
] ++ lib.optionals withNetworkManager [
|
||||
networkmanager
|
||||
glib
|
||||
] ++ lib.optional withSensors [
|
||||
] ++ lib.optionals withSensors [
|
||||
lm_sensors
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
] ++ lib.optional withPython (python3.withPackages (ps: [
|
||||
ps.numpy
|
||||
ps.protobuf
|
||||
ps.pyserial
|
||||
ps.setuptools
|
||||
ps.websockets
|
||||
]));
|
||||
] ++ lib.optionals withPython [
|
||||
(python3.withPackages (ps: [
|
||||
ps.numpy
|
||||
ps.protobuf
|
||||
ps.pyserial
|
||||
ps.setuptools
|
||||
ps.websockets
|
||||
]))
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
] ++ lib.optional (!withNetworkManager) [
|
||||
] ++ lib.optionals (!withNetworkManager) [
|
||||
"--disable-libnm"
|
||||
] ++ lib.optional (!withPython) [
|
||||
] ++ lib.optionals (!withPython) [
|
||||
"--disable-python-tools"
|
||||
] ++ lib.optional (!withSensors) [
|
||||
] ++ lib.optionals (!withSensors) [
|
||||
"--disable-lmsensors"
|
||||
];
|
||||
|
||||
|
@ -1,35 +1,35 @@
|
||||
{ stdenv,
|
||||
lib,
|
||||
fetchzip,
|
||||
autoPatchelfHook,
|
||||
makeWrapper,
|
||||
copyDesktopItems,
|
||||
makeDesktopItem,
|
||||
gtk3,
|
||||
openssl,
|
||||
xdg-user-dirs,
|
||||
keybinder3
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchzip
|
||||
, autoPatchelfHook
|
||||
, makeWrapper
|
||||
, copyDesktopItems
|
||||
, makeDesktopItem
|
||||
, gtk3
|
||||
, openssl
|
||||
, xdg-user-dirs
|
||||
, keybinder3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "appflowy";
|
||||
version = "0.0.6.2";
|
||||
version = "0.0.8";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy-linux-x86.tar.gz";
|
||||
sha256 = "sha256-LOrXGFctAaiz2z9M8ghrXsQ+qygwNPyYragmL/EjlDQ=";
|
||||
sha256 = "sha256-+nizRA42c0ZzuN8D/puh0TFLnRJVgyAujcTmJZ1UVzo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
makeWrapper
|
||||
copyDesktopItems
|
||||
autoPatchelfHook
|
||||
makeWrapper
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
openssl
|
||||
keybinder3
|
||||
gtk3
|
||||
openssl
|
||||
keybinder3
|
||||
];
|
||||
|
||||
dontBuild = true;
|
||||
@ -47,15 +47,11 @@ stdenv.mkDerivation rec {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
preFixup = let
|
||||
binPath = lib.makeBinPath [
|
||||
xdg-user-dirs
|
||||
];
|
||||
in ''
|
||||
preFixup = ''
|
||||
# Add missing libraries to appflowy using the ones it comes with
|
||||
makeWrapper $out/opt/app_flowy $out/bin/appflowy \
|
||||
--set LD_LIBRARY_PATH "$out/opt/lib/" \
|
||||
--prefix PATH : "${binPath}"
|
||||
--set LD_LIBRARY_PATH "$out/opt/lib/" \
|
||||
--prefix PATH : "${lib.makeBinPath [ xdg-user-dirs ]}"
|
||||
'';
|
||||
|
||||
desktopItems = [
|
||||
|
@ -119,7 +119,7 @@ let
|
||||
flatten flip
|
||||
concatMapStrings concatStringsSep
|
||||
getDev getLib
|
||||
optional optionals optionalString;
|
||||
optionals optionalString;
|
||||
|
||||
jre' = jre17_minimal.override {
|
||||
modules = [ "java.base" "java.desktop" "java.logging" "java.sql" ];
|
||||
@ -195,7 +195,7 @@ in
|
||||
tar -xf ${srcs.translations}
|
||||
'';
|
||||
|
||||
patches = optional (variant == "still") [ ./skip-failed-test-with-icu70.patch ./gpgme-1.18.patch ]
|
||||
patches = optionals (variant == "still") [ ./skip-failed-test-with-icu70.patch ./gpgme-1.18.patch ]
|
||||
;
|
||||
|
||||
### QT/KDE
|
||||
|
@ -0,0 +1,27 @@
|
||||
{ lib, fetchFromGitHub, python3Packages, pkgs }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "accelergy";
|
||||
version = "unstable-2022-05-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Accelergy-Project";
|
||||
repo = "accelergy";
|
||||
rev = "34df8e87a889ae55cecba58992d4573466b40565";
|
||||
hash = "sha256-SRtt1EocHy5fKszpoumC+mOK/qhreoA2/Ff1wcu5WKo=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
pyyaml
|
||||
yamlordereddictloader
|
||||
pyfiglet
|
||||
setuptools
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "An architecture-level energy/area estimator for accelerator designs";
|
||||
license = licenses.mit;
|
||||
homepage = "https://accelergy.mit.edu/";
|
||||
maintainers = with maintainers; [ gdinh ];
|
||||
};
|
||||
}
|
@ -0,0 +1,99 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, scons
|
||||
, libconfig
|
||||
, boost
|
||||
, libyaml
|
||||
, libyamlcpp
|
||||
, ncurses
|
||||
, gpm
|
||||
, enableAccelergy ? true
|
||||
, enableISL ? false
|
||||
, accelergy
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "timeloop";
|
||||
version = "unstable-2022-11-29";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NVlabs";
|
||||
repo = "timeloop";
|
||||
rev = "905ba953432c812772de935d57fd0a674a89d3c1";
|
||||
hash = "sha256-EXiWXf8hdX4vFRNk9wbFSOsix/zVkwrafGUtFrsoAN0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ scons ];
|
||||
|
||||
buildInputs = [
|
||||
libconfig
|
||||
boost
|
||||
libyaml
|
||||
libyamlcpp
|
||||
ncurses
|
||||
accelergy
|
||||
] ++ lib.optionals stdenv.isLinux [ gpm ];
|
||||
|
||||
preConfigure = ''
|
||||
cp -r ./pat-public/src/pat ./src/pat
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
#link-time optimization fails on darwin
|
||||
#see https://github.com/NixOS/nixpkgs/issues/19098
|
||||
NIX_CFLAGS_COMPILE = lib.optional stdenv.isDarwin "-fno-lto";
|
||||
|
||||
postPatch = ''
|
||||
# use nix ar/ranlib
|
||||
substituteInPlace ./SConstruct \
|
||||
--replace "env.Replace(AR = \"gcc-ar\")" "" \
|
||||
--replace "env.Replace(RANLIB = \"gcc-ranlib\")" ""
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
# prevent clang from dying on errors that gcc is fine with
|
||||
substituteInPlace ./src/SConscript --replace "-Werror" "-Wno-inconsistent-missing-override"
|
||||
|
||||
# disable LTO on macos
|
||||
substituteInPlace ./src/SConscript --replace ", '-flto'" ""
|
||||
|
||||
# static builds on mac fail as no static libcrt is provided by apple
|
||||
# see https://stackoverflow.com/questions/3801011/ld-library-not-found-for-lcrt0-o-on-osx-10-6-with-gcc-clang-static-flag
|
||||
substituteInPlace ./src/SConscript \
|
||||
--replace "'-static-libgcc', " "" \
|
||||
--replace "'-static-libstdc++', " "" \
|
||||
--replace "'-Wl,--whole-archive', '-static', " "" \
|
||||
--replace ", '-Wl,--no-whole-archive'" ""
|
||||
|
||||
#remove hardcoding of gcc
|
||||
sed -i '40i env.Replace(CC = "${stdenv.cc.targetPrefix}cc")' ./SConstruct
|
||||
sed -i '40i env.Replace(CXX = "${stdenv.cc.targetPrefix}c++")' ./SConstruct
|
||||
|
||||
#gpm doesn't exist on darwin
|
||||
substituteInPlace ./src/SConscript --replace ", 'gpm'" ""
|
||||
'';
|
||||
|
||||
sconsFlags =
|
||||
# will fail on clang/darwin on link without --static due to undefined extern
|
||||
# however, will fail with static on linux as nixpkgs deps aren't static
|
||||
lib.optional stdenv.isDarwin "--static"
|
||||
++ lib.optional enableAccelergy "--accelergy"
|
||||
++ lib.optional enableISL "--with-isl";
|
||||
|
||||
|
||||
installPhase = ''
|
||||
cp -r ./bin ./lib $out
|
||||
mkdir -p $out/share
|
||||
cp -r ./doc $out/share
|
||||
mkdir -p $out/data
|
||||
cp -r ./problem-shapes ./configs $out/data
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Chip modeling/mapping benchmarking framework";
|
||||
homepage = "https://timeloop.csail.mit.edu";
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ gdinh ];
|
||||
};
|
||||
}
|
@ -4,13 +4,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "abc-verifier";
|
||||
version = "unstable-2022-09-08";
|
||||
version = "unstable-2022-11-09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yosyshq";
|
||||
repo = "abc";
|
||||
rev = "ab5b16ede2ff3a4ab5209df24db2c76700899684";
|
||||
hash = "sha256-G4MnBViwIosFDiPfUimGqf6fq1KJlxj+LozmgoKaH3A=";
|
||||
rev = "be9a35c0363174a7cef21d55ed80d92a9ef95ab1";
|
||||
hash = "sha256-IN9YgJONcC55N89OXMrMuNuznTdjXNWxR0IngH8OWC8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -13,16 +13,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "asusctl";
|
||||
version = "4.5.2";
|
||||
version = "4.5.5";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "asus-linux";
|
||||
repo = "asusctl";
|
||||
rev = version;
|
||||
hash = "sha256-hrmH4DDNzc7iMa5YJUQEb3Ng4QekPG+CoGWoHtv9e58=";
|
||||
hash = "sha256-3R8TAhOxnwKfA/Nc+R9JrLGMkZu9vGqCLbXUa8QGadA=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-7JOy5mKkP021+tx8a579WvmqQewEkjFgcwD/f7gzDt8=";
|
||||
cargoSha256 = "sha256-FHyKGLELX6xpPCAc/m2mqbfXcka35q0fGjeaE57g70M=";
|
||||
|
||||
postPatch = ''
|
||||
files="
|
||||
|
@ -2,17 +2,17 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "git-bug";
|
||||
version = "0.7.2"; # the `rev` below pins the version of the source to get
|
||||
rev = "cc4a93c8ce931b1390c61035b888ad17110b7bd6";
|
||||
version = "0.8.0"; # the `rev` below pins the version of the source to get
|
||||
rev = "v0.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = "MichaelMure";
|
||||
repo = "git-bug";
|
||||
sha256 = "0r6wh0y1fj3d3fbbrzq5n9k6z94xvwqww3xfbslkgyrin5bmziiq";
|
||||
sha256 = "12byf6nsamwz0ssigan1z299s01cyh8bhgj86bibl90agd4zs9n8";
|
||||
};
|
||||
|
||||
vendorSha256 = "15hhsrwwjc4krfc2d0r15lys3vr9rb9xk62pan4jr9ycbv0dny90";
|
||||
vendorSha256 = "sha256-32kNDoBE50Jx1Ef9YwhDk7nd3CaTSnHPlu7PgWPUGfE=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
@ -23,9 +23,14 @@ buildGoModule rec {
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install -D -m 0644 misc/bash_completion/git-bug "$out/share/bash-completion/completions/git-bug"
|
||||
install -D -m 0644 misc/zsh_completion/git-bug "$out/share/zsh/site-functions/git-bug"
|
||||
install -D -m 0644 misc/completion/bash/git-bug "$out/share/bash-completion/completions/git-bug"
|
||||
install -D -m 0644 misc/completion/zsh/git-bug "$out/share/zsh/site-functions/git-bug"
|
||||
install -D -m 0644 -t "$out/share/man/man1" doc/man/*
|
||||
|
||||
# not sure why the following executables are in $out/bin/
|
||||
rm -f $out/bin/cmd
|
||||
rm -f $out/bin/completion
|
||||
rm -f $out/bin/doc
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
56
pkgs/applications/video/netflix/default.nix
Normal file
56
pkgs/applications/video/netflix/default.nix
Normal file
@ -0,0 +1,56 @@
|
||||
{ fetchurl
|
||||
, google-chrome
|
||||
, lib
|
||||
, makeDesktopItem
|
||||
, runtimeShell
|
||||
, symlinkJoin
|
||||
, writeScriptBin
|
||||
}:
|
||||
|
||||
let
|
||||
name = "netflix-via-google-chrome";
|
||||
|
||||
meta = {
|
||||
description = "Open Netflix in Google Chrome app mode";
|
||||
longDescription = ''
|
||||
Netflix is a video streaming service providing films, TV series and exclusive content. See https://www.netflix.com.
|
||||
|
||||
This package installs an application launcher item that opens Netflix in a dedicated Google Chrome window. If your preferred browser doesn't support Netflix's DRM, this package provides a quick and easy way to launch Netflix on a supported browser, without polluting your application list with a redundant, single-purpose browser.
|
||||
'';
|
||||
homepage = google-chrome.meta.homepage or null;
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = [ lib.maintainers.roberth ];
|
||||
platforms = google-chrome.meta.platforms or lib.platforms.all;
|
||||
};
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
inherit name;
|
||||
# Executing by name as opposed to store path is conventional and prevents
|
||||
# copies of the desktop file from bitrotting too much.
|
||||
# (e.g. a copy in ~/.config/autostart, you lazy lazy bastard ;) )
|
||||
exec = name;
|
||||
icon = fetchurl {
|
||||
name = "netflix-icon-2016.png";
|
||||
url = "https://assets.nflxext.com/us/ffe/siteui/common/icons/nficon2016.png";
|
||||
sha256 = "sha256-c0H3uLCuPA2krqVZ78MfC1PZ253SkWZP3PfWGP2V7Yo=";
|
||||
meta.license = lib.licenses.unfree;
|
||||
};
|
||||
desktopName = "Netflix via Google Chrome";
|
||||
genericName = "A video streaming service providing films and exclusive TV series";
|
||||
categories = [ "TV" "AudioVideo" "Network" ];
|
||||
startupNotify = true;
|
||||
};
|
||||
|
||||
script = writeScriptBin name ''
|
||||
#!${runtimeShell}
|
||||
exec ${google-chrome}/bin/${google-chrome.meta.mainProgram} \
|
||||
--app=https://netflix.com \
|
||||
--no-first-run --no-default-browser-check --no-crash-upload
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
symlinkJoin {
|
||||
inherit name meta;
|
||||
paths = [ script desktopItem ];
|
||||
}
|
@ -48,7 +48,7 @@ rec {
|
||||
};
|
||||
|
||||
buildInputs = oldAttrs.buildInputs
|
||||
++ lib.optional withSeccomp [ libseccomp ];
|
||||
++ lib.optionals withSeccomp [ libseccomp ];
|
||||
});
|
||||
|
||||
docker-tini = tini.overrideAttrs (oldAttrs: {
|
||||
|
@ -3,7 +3,7 @@ lib: version: with lib; {
|
||||
license = licenses.gpl2Only;
|
||||
description = "The open-source Java Development Kit";
|
||||
maintainers = with maintainers; [ edwtjo asbachb ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux" ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux" "powerpc64le-linux" ];
|
||||
mainProgram = "java";
|
||||
knownVulnerabilities = optionals (builtins.elem (versions.major version) [ "12" "13" "14" "15" "16" "18" ]) [
|
||||
"This OpenJDK version has reached its end of life."
|
||||
|
@ -71,13 +71,13 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "yosys";
|
||||
version = "0.23";
|
||||
version = "0.24";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "YosysHQ";
|
||||
repo = "yosys";
|
||||
rev = "${pname}-${version}";
|
||||
hash = "sha256-mOakdXhSij8k4Eo7RwpKjd59IkNjw31NNFDJtL6Adgo=";
|
||||
hash = "sha256-rso08/b0ukrh6KYFpn4bFn0pP83URfeJGw28iLIjlPw=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
buildGraalvmNativeImage rec {
|
||||
pname = "babashka";
|
||||
version = "1.0.167";
|
||||
version = "1.0.168";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
|
||||
sha256 = "sha256-tqhl2d0HZJNVP3EX2y5YiOmCgJsXegUUO91+f9MxQyU=";
|
||||
sha256 = "sha256-K56SEfSq0mjltUwR2VZxGiGn9nnEdDBoZrkaBOIIl7k=";
|
||||
};
|
||||
|
||||
executable = "bb";
|
||||
|
@ -13,13 +13,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aws-c-mqtt";
|
||||
version = "0.8.0";
|
||||
version = "0.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "awslabs";
|
||||
repo = "aws-c-mqtt";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-+Ah3D+cgGfunX46Fqv6NSNAOzVwrRdZz6oJKP+tHCmU=";
|
||||
sha256 = "sha256-nmSNG5o2Ck80OG4ZGYIayVdnw3Z2fn1VkUIuI9RYfL8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -13,6 +13,7 @@
|
||||
, enableStatic ? !enableShared
|
||||
, enablePython ? false
|
||||
, enableNumpy ? false
|
||||
, enableIcu ? stdenv.hostPlatform == stdenv.buildPlatform
|
||||
, taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
|
||||
, patches ? []
|
||||
, boostBuildPatches ? []
|
||||
@ -226,7 +227,7 @@ stdenv.mkDerivation {
|
||||
nativeBuildInputs = [ which boost-build ]
|
||||
++ optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
|
||||
buildInputs = [ expat zlib bzip2 libiconv ]
|
||||
++ optional (stdenv.hostPlatform == stdenv.buildPlatform) icu
|
||||
++ optional enableIcu icu
|
||||
++ optionals enablePython [ libxcrypt python ]
|
||||
++ optional enableNumpy python.pkgs.numpy;
|
||||
|
||||
@ -239,7 +240,7 @@ stdenv.mkDerivation {
|
||||
"--libdir=$(out)/lib"
|
||||
"--with-bjam=b2" # prevent bootstrapping b2 in configurePhase
|
||||
] ++ optional (toolset != null) "--with-toolset=${toolset}"
|
||||
++ [ (if stdenv.hostPlatform == stdenv.buildPlatform then "--with-icu=${icu.dev}" else "--without-icu") ];
|
||||
++ [ (if enableIcu then "--with-icu=${icu.dev}" else "--without-icu") ];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
};
|
||||
|
||||
NIX_CFLAGS_COMPILE = lib.optional stdenv.isDarwin [
|
||||
NIX_CFLAGS_COMPILE = lib.optionals stdenv.isDarwin [
|
||||
"-DTARGET_OS_IPHONE=0"
|
||||
"-DTARGET_OS_WATCH=0"
|
||||
];
|
||||
|
@ -1,12 +1,115 @@
|
||||
{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool
|
||||
, python3, perl, gmpxx, mpfr, boost, eigen, gfortran, cmake
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, autoconf
|
||||
, automake
|
||||
, libtool
|
||||
, python3
|
||||
, perl
|
||||
, gmpxx
|
||||
, mpfr
|
||||
, boost
|
||||
, eigen
|
||||
, gfortran
|
||||
, cmake
|
||||
, enableFMA ? stdenv.hostPlatform.fmaSupport
|
||||
, enableFortran ? true
|
||||
, enableSSE ? (!enableFortran) && stdenv.hostPlatform.isx86_64
|
||||
|
||||
# Maximum angular momentum of basis functions
|
||||
# 7 is required for def2/J auxiliary basis on 3d metals upwards
|
||||
, maxAm ? 7
|
||||
|
||||
# ERI derivative order for 4-, 3- and 2-centre ERIs.
|
||||
# 2nd derivatives are defaults and allow gradients Hessians with density fitting
|
||||
# Setting them to zero disables derivatives.
|
||||
, eriDeriv ? 2
|
||||
, eri3Deriv ? 2
|
||||
, eri2Deriv ? 2
|
||||
|
||||
# Angular momentum for derivatives of ERIs. Takes a list of length $DERIV_ORD+1.
|
||||
# Starting from index 0, each index i specifies the supported angular momentum
|
||||
# for the derivative order i, e.g. [6,5,4] supports ERIs for l=6, their first
|
||||
# derivatives for l=5 and their second derivatives for l=4.
|
||||
, eriAm ? (builtins.genList (i: maxAm - 1 - i) (eriDeriv + 1))
|
||||
, eri3Am ? (builtins.genList (i: maxAm - i) (eri2Deriv + 1))
|
||||
, eri2Am ? (builtins.genList (i: maxAm - i) (eri2Deriv + 1))
|
||||
|
||||
# Same as above for optimised code. Higher optimisations take a long time.
|
||||
, eriOptAm ? (builtins.genList (i: maxAm - 3 - i) (eriDeriv + 1))
|
||||
, eri3OptAm ? (builtins.genList (i: maxAm - 3 - i) (eri2Deriv + 1))
|
||||
, eri2OptAm ? (builtins.genList (i: maxAm - 3 - i) (eri2Deriv + 1))
|
||||
|
||||
# One-Electron integrals of all kinds including multipole integrals.
|
||||
# Libint does not build them and their derivatives by default.
|
||||
, enableOneBody ? false
|
||||
, oneBodyDerivOrd ? 2
|
||||
, multipoleOrd ? 4 # Maximum order of multipole integrals, 4=octopoles
|
||||
|
||||
# Whether to enable generic code if angular momentum is unsupported
|
||||
, enableGeneric ? true
|
||||
|
||||
# Support integrals over contracted Gaussian
|
||||
, enableContracted ? true
|
||||
|
||||
# Spherical harmonics/Cartesian orbital conventions
|
||||
, cartGaussOrd ? "standard" # Ordering of Cartesian basis functions, "standard" is CCA
|
||||
, shGaussOrd ? "standard" # Ordering of spherical harmonic basis functions. "standard" is -l to +l, "guassian" is 0, 1, -1, 2, -2, ...
|
||||
, shellSet ? "standard"
|
||||
, eri3PureSh ? false # Transformation of 3-centre ERIs into spherical harmonics
|
||||
, eri2PureSh ? false # Transformation of 2-centre ERIs into spherical harmonics
|
||||
}:
|
||||
|
||||
# Check that Fortran bindings are not used together with SIMD real type
|
||||
assert (if enableFortran then !enableSSE else true);
|
||||
|
||||
# Check that a possible angular momentum for basis functions is used
|
||||
assert (maxAm >= 1 && maxAm <= 8);
|
||||
|
||||
# Check for valid derivative order in ERIs
|
||||
assert (eriDeriv >= 0 && eriDeriv <= 4);
|
||||
assert (eri2Deriv >= 0 && eri2Deriv <= 4);
|
||||
assert (eri3Deriv >= 0 && eri3Deriv <= 4);
|
||||
|
||||
# Ensure valid arguments for generated angular momenta in ERI derivatives are used.
|
||||
assert (
|
||||
builtins.length eriAm == eriDeriv + 1 &&
|
||||
builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eriAm)
|
||||
);
|
||||
assert (
|
||||
builtins.length eri3Am == eriDeriv + 1 &&
|
||||
builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eri3Am)
|
||||
);
|
||||
assert (
|
||||
builtins.length eri2Am == eriDeriv + 1 &&
|
||||
builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eri2Am)
|
||||
);
|
||||
|
||||
# Ensure valid arguments for generated angular momenta in optimised ERI derivatives are used.
|
||||
assert (
|
||||
builtins.length eriOptAm == eriDeriv + 1 &&
|
||||
builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eriOptAm)
|
||||
);
|
||||
assert (
|
||||
builtins.length eri3OptAm == eriDeriv + 1 &&
|
||||
builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eri3OptAm)
|
||||
);
|
||||
assert (
|
||||
builtins.length eri2OptAm == eriDeriv + 1 &&
|
||||
builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eri2OptAm)
|
||||
);
|
||||
|
||||
# Ensure a valid derivative order for one-electron integrals
|
||||
assert (oneBodyDerivOrd >= 0 && oneBodyDerivOrd <= 4);
|
||||
|
||||
# Check that valid basis shell orders are used, see https://github.com/evaleev/libint/wiki
|
||||
assert (builtins.elem cartGaussOrd [ "standard" "intv3" "gamess" "orca" "bagel" ]);
|
||||
assert (builtins.elem shGaussOrd [ "standard" "gaussian" ]);
|
||||
assert (builtins.elem shellSet [ "standard" "orca" ]);
|
||||
|
||||
let
|
||||
pname = "libint";
|
||||
version = "2.7.1";
|
||||
version = "2.7.2";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Library for the evaluation of molecular integrals of many-body operators over Gaussian functions";
|
||||
@ -23,7 +126,7 @@ let
|
||||
owner = "evaleev";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "5nSeyT1DhFsA76Dt3dqYfhfBYD+iTl34O3lVeH6+OVw=";
|
||||
hash = "sha256-lX+DVnhdOb8d7MX9umf33y88CNiGb3TYYlMZtQXfx+8=";
|
||||
};
|
||||
|
||||
# Replace hardcoded "/bin/rm" with normal "rm"
|
||||
@ -52,23 +155,36 @@ let
|
||||
|
||||
buildInputs = [ boost eigen ];
|
||||
|
||||
preConfigure = "./autogen.sh";
|
||||
configureFlags = with lib; [
|
||||
"--with-max-am=${builtins.toString maxAm}"
|
||||
"--with-eri-max-am=${concatStringsSep "," (builtins.map builtins.toString eriAm)}"
|
||||
"--with-eri3-max-am=${concatStringsSep "," (builtins.map builtins.toString eri3Am)}"
|
||||
"--with-eri2-max-am=${concatStringsSep "," (builtins.map builtins.toString eri2Am)}"
|
||||
"--with-eri-opt-am=${concatStringsSep "," (builtins.map builtins.toString eriOptAm)}"
|
||||
"--with-eri3-opt-am=${concatStringsSep "," (builtins.map builtins.toString eri3OptAm)}"
|
||||
"--with-eri2-opt-am=${concatStringsSep "," (builtins.map builtins.toString eri2OptAm)}"
|
||||
"--with-cartgauss-ordering=${cartGaussOrd}"
|
||||
"--with-shgauss-ordering=${shGaussOrd}"
|
||||
"--with-shell-set=${shellSet}"
|
||||
]
|
||||
++ optional enableFMA "--enable-fma"
|
||||
++ optional (eriDeriv > 0) "--enable-eri=${builtins.toString eriDeriv}"
|
||||
++ optional (eri2Deriv > 0) "--enable-eri2=${builtins.toString eri2Deriv}"
|
||||
++ optional (eri3Deriv > 0) "--enable-eri3=${builtins.toString eri3Deriv}"
|
||||
++ lists.optionals enableOneBody [
|
||||
"--enable-1body=${builtins.toString oneBodyDerivOrd}"
|
||||
"--enable-1body-property-derivs"
|
||||
]
|
||||
++ optional (multipoleOrd > 0) "--with-multipole-max-order=${builtins.toString multipoleOrd}"
|
||||
++ optional enableGeneric "--enable-generic"
|
||||
++ optional enableContracted "--enable-contracted-ints"
|
||||
++ optional eri3PureSh "--enable-eri3-pure-sh"
|
||||
++ optional eri2PureSh "--enable-eri2-pure-sh"
|
||||
;
|
||||
|
||||
configureFlags = [
|
||||
"--enable-eri=2"
|
||||
"--enable-eri3=2"
|
||||
"--enable-eri2=2"
|
||||
"--with-eri-max-am=7,5,4"
|
||||
"--with-eri-opt-am=3"
|
||||
"--with-eri3-max-am=7"
|
||||
"--with-eri2-max-am=7"
|
||||
"--with-g12-max-am=5"
|
||||
"--with-g12-opt-am=3"
|
||||
"--with-g12dkh-max-am=5"
|
||||
"--with-g12dkh-opt-am=3"
|
||||
"--enable-contracted-ints"
|
||||
"--enable-shared"
|
||||
] ++ lib.optional enableFMA "--enable-fma";
|
||||
preConfigure = ''
|
||||
./autogen.sh
|
||||
'';
|
||||
|
||||
makeFlags = [ "export" ];
|
||||
|
||||
@ -98,11 +214,9 @@ let
|
||||
# AVX support is advertised, but does not work in 2.6 (possibly in 2.7).
|
||||
# Fortran interface is incompatible with changing the LIBINT2_REALTYPE.
|
||||
cmakeFlags = [
|
||||
(if enableFortran
|
||||
then "-DENABLE_FORTRAN=ON"
|
||||
else "-DLIBINT2_REALTYPE=libint2::simd::VectorSSEDouble"
|
||||
)
|
||||
];
|
||||
"-DLIBINT2_SHGAUSS_ORDERING=${shGaussOrd}"
|
||||
] ++ lib.optional enableFortran "-DENABLE_FORTRAN=ON"
|
||||
++ lib.optional enableSSE "-DLIBINT2_REALTYPE=libint2::simd::VectorSSEDouble";
|
||||
|
||||
# Can only build in the source-tree. A lot of preprocessing magic fails otherwise.
|
||||
dontUseCmakeBuildDir = true;
|
||||
@ -110,4 +224,5 @@ let
|
||||
inherit meta;
|
||||
};
|
||||
|
||||
in codeComp
|
||||
in
|
||||
codeComp
|
||||
|
@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "proj";
|
||||
version = "9.1.0";
|
||||
version = "9.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OSGeo";
|
||||
repo = "PROJ";
|
||||
rev = version;
|
||||
hash = "sha256-Upsp72RorV+5PFPHOK3zCJgVTRZ6fSVVFRope8Bp8/M=";
|
||||
hash = "sha256-yw7eSm64qFFt9egJWKVyVo0e7xQRSmfUY7pk6Cwvwdk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -30,7 +30,11 @@ stdenv.mkDerivation rec {
|
||||
"-DCBLAS=ON"
|
||||
"-DBUILD_TESTING=ON"
|
||||
] ++ lib.optional shared "-DBUILD_SHARED_LIBS=ON"
|
||||
++ lib.optional blas64 "-DBUILD_INDEX64=ON";
|
||||
++ lib.optional blas64 "-DBUILD_INDEX64=ON"
|
||||
# Tries to run host platform binaries during the build
|
||||
# Will likely be disabled by default in 3.12, see:
|
||||
# https://github.com/Reference-LAPACK/lapack/issues/757
|
||||
++ lib.optional (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) "-DTEST_FORTRAN_COMPILER=OFF";
|
||||
|
||||
passthru = { inherit blas64; };
|
||||
|
||||
|
@ -1,16 +1,18 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{ stdenv, lib, cmake, qt4, fetchzip }:
|
||||
|
||||
pkgs.stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "smokegen";
|
||||
version = "v4.14.3";
|
||||
src = pkgs.fetchzip {
|
||||
url = "https://invent.kde.org/unmaintained/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
|
||||
version = "4.14.3";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://invent.kde.org/unmaintained/${pname}/-/archive/v${version}/${pname}-v${version}.tar.gz";
|
||||
hash = "sha256-finsoruPeJZLawIjNUJ25Pq54eaCByfALVraNQJPk7c=";
|
||||
};
|
||||
buildInputs = [ pkgs.cmake pkgs.qt4 ];
|
||||
buildPhase = ''
|
||||
cmake .
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [ cmake qt4 ];
|
||||
buildInputs = [ qt4 ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A general purpose C++ parser with a plugin infrastructure";
|
||||
homepage = "https://invent.kde.org/unmaintained/smokegen";
|
||||
|
@ -1,16 +1,22 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{ stdenv, lib, cmake, qt4, smokegen, fetchzip }:
|
||||
|
||||
pkgs.stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "smokeqt";
|
||||
version = "v4.14.3";
|
||||
src = pkgs.fetchzip {
|
||||
url = "https://invent.kde.org/unmaintained/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
|
||||
version = "4.14.3";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://invent.kde.org/unmaintained/${pname}/-/archive/v${version}/${pname}-v${version}.tar.gz";
|
||||
hash = "sha256-8FiEGF8gduVw5I/bi2wExGUWmjIjYEhWpjpXKJGBNMg=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [ cmake smokegen ];
|
||||
buildInputs = [ qt4 ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_CXX_STANDARD=98"
|
||||
];
|
||||
buildInputs = [ pkgs.cmake pkgs.qt4 pkgs.smokegen ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Bindings for the Qt libraries";
|
||||
homepage = "https://invent.kde.org/unmaintained/smokeqt";
|
||||
|
@ -7,13 +7,13 @@
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "carton";
|
||||
version = "0.4.4";
|
||||
version = "0.6.0";
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/ocaml-git/releases/download/${pname}-v${version}/git-${pname}-v${version}.tbz";
|
||||
sha256 = "sha256-7mgCgu87Cn4XhjEhonlz9lhgTw0Cu5hnxNJ1wXr+Qhw=";
|
||||
sha256 = "sha256-NAm4Xq7L0Dgynr8cKZQ356M4GR6D19LbCRxvnSlIf1U=";
|
||||
};
|
||||
|
||||
# remove changelogs for mimic and the git* packages
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ buildDunePackage, carton, carton-lwt
|
||||
, bigarray-compat, bigstringaf, lwt, fpath, result
|
||||
, mmap, fmt, decompress, astring
|
||||
, bigstringaf, lwt, fpath, result
|
||||
, fmt, decompress, astring
|
||||
, alcotest, alcotest-lwt, cstruct, logs
|
||||
, mirage-flow, rresult, ke
|
||||
}:
|
||||
@ -13,12 +13,10 @@ buildDunePackage {
|
||||
propagatedBuildInputs = [
|
||||
carton
|
||||
carton-lwt
|
||||
bigarray-compat
|
||||
bigstringaf
|
||||
lwt
|
||||
fpath
|
||||
result
|
||||
mmap
|
||||
fmt
|
||||
decompress
|
||||
astring
|
||||
|
@ -1,8 +1,8 @@
|
||||
{ buildDunePackage, carton
|
||||
, lwt, decompress, optint, bigstringaf
|
||||
, alcotest, alcotest-lwt, cstruct, fmt, logs
|
||||
, mirage-flow, result, rresult, bigarray-compat
|
||||
, ke, base64, bos, checkseum, digestif, fpath, mmap
|
||||
, mirage-flow, result, rresult
|
||||
, ke, base64, bos, checkseum, digestif, fpath
|
||||
, stdlib-shims
|
||||
, git-binary # pkgs.git
|
||||
}:
|
||||
@ -31,14 +31,12 @@ buildDunePackage {
|
||||
mirage-flow
|
||||
result
|
||||
rresult
|
||||
bigarray-compat
|
||||
ke
|
||||
base64
|
||||
bos
|
||||
checkseum
|
||||
digestif
|
||||
fpath
|
||||
mmap
|
||||
stdlib-shims
|
||||
];
|
||||
|
||||
|
@ -13,7 +13,6 @@
|
||||
, rresult
|
||||
, tls
|
||||
, uri
|
||||
, bigarray-compat
|
||||
, bigstringaf
|
||||
, domain-name
|
||||
, httpaf
|
||||
@ -43,7 +42,6 @@ buildDunePackage {
|
||||
mirage-time
|
||||
tls
|
||||
uri
|
||||
bigarray-compat
|
||||
bigstringaf
|
||||
domain-name
|
||||
httpaf
|
||||
|
@ -26,7 +26,7 @@ buildDunePackage rec {
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ zed lwt_log lwt_react mew_vi ]
|
||||
++ lib.optional (lib.versionAtLeast version "3.3.1") [ uucp logs ] ;
|
||||
++ lib.optionals (lib.versionAtLeast version "3.3.1") [ uucp logs ] ;
|
||||
|
||||
meta = {
|
||||
description = "Terminal manipulation library for OCaml";
|
||||
|
@ -1,18 +1,10 @@
|
||||
{ buildPecl, lib, php }:
|
||||
{ buildPecl, lib }:
|
||||
|
||||
let
|
||||
versionData = if (lib.versionOlder php.version "8.1") then {
|
||||
version = "3.1.6";
|
||||
sha256 = "1lnmrb5kgq8lbhjs48j3wwhqgk44pnqb1yjq4b5r6ysv9l5wlkjm";
|
||||
} else {
|
||||
version = "3.2.0RC2";
|
||||
sha256 = "dQgXDP3Ifg+D0niWxaJ4ec71Vfr8KH40jv6QbxSyY+4=";
|
||||
};
|
||||
in
|
||||
buildPecl {
|
||||
pname = "xdebug";
|
||||
|
||||
inherit (versionData) version sha256;
|
||||
version = "3.2.0";
|
||||
sha256 = "1drj00z8ididm2iw7a7pnrsvakrr1g0i49aqkyz5zpysxh7b4sbp";
|
||||
|
||||
doCheck = true;
|
||||
checkTarget = "test";
|
||||
|
@ -7,14 +7,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aliyun-python-sdk-cdn";
|
||||
version = "3.7.8";
|
||||
version = "3.7.9";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-alZBTwrImneGNXRWCJy/EhDKWT3/sy4j6BB5fOML8ZA=";
|
||||
hash = "sha256-EdHsg/e9ANj191MVpFHJ1omMDwFx77BDrK7S+WxzUTI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "bluetooth-auto-recovery";
|
||||
version = "0.5.4";
|
||||
version = "0.5.5";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-C3CO4nqKVTjD07QturJNeg0GLx2N9cbsBatXcehJLRs=";
|
||||
hash = "sha256-f6HJlFqpmFhM9M1Cuvjz/63DXoikO33y/tmv57snI7g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -32,7 +32,7 @@ buildPythonPackage rec {
|
||||
nativeBuildInputs = [ setuptools ];
|
||||
propagatedBuildInputs = [
|
||||
cryptography jinja2 Mako passlib pyyaml requests tomlkit librouteros
|
||||
] ++ lib.optional (pythonOlder "3.11") [ rtoml ];
|
||||
] ++ lib.optionals (pythonOlder "3.11") [ rtoml ];
|
||||
|
||||
pythonImportsCheck = [ "bundlewrap" ];
|
||||
|
||||
|
@ -3,12 +3,15 @@
|
||||
, fetchFromGitHub
|
||||
, mock
|
||||
, pytestCheckHook
|
||||
, pyyaml
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "configargparse";
|
||||
version = "1.5.3";
|
||||
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bw2";
|
||||
repo = "ConfigArgParse";
|
||||
@ -19,6 +22,7 @@ buildPythonPackage rec {
|
||||
checkInputs = [
|
||||
mock
|
||||
pytestCheckHook
|
||||
pyyaml
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "configargparse" ];
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "dbus-fast";
|
||||
version = "1.75.0";
|
||||
version = "1.80.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-bmHUfRytUGlS0X1PEQHFocMZ4+FslA2rvzqHNE+3B3E=";
|
||||
hash = "sha256-TeOS4tfJmEQnbHkoRueyTmmIAw2De9w6gWjzD1hlwVI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -7,56 +7,75 @@
|
||||
, httpx
|
||||
, mypy-boto3-s3
|
||||
, numpy
|
||||
, scipy
|
||||
, pydantic
|
||||
, pytest-asyncio
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, pyyaml
|
||||
, scipy
|
||||
, six
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "dependency-injector";
|
||||
version = "4.35.3";
|
||||
version = "4.40.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ets-labs";
|
||||
repo = "python-dependency-injector";
|
||||
rev = version;
|
||||
sha256 = "sha256-2qe4A2T3EagNCh1zSbPWblVN7p9NH8rNwQQVyESJTdk=";
|
||||
hash = "sha256-lcgPFdAgLmv7ILL2VVfqtGSw96aUfPv9oiOhksRtF3k=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
six
|
||||
];
|
||||
|
||||
passthru.optional-dependencies = {
|
||||
aiohttp = [
|
||||
aiohttp
|
||||
];
|
||||
pydantic = [
|
||||
pydantic
|
||||
];
|
||||
flask = [
|
||||
flask
|
||||
];
|
||||
yaml = [
|
||||
pyyaml
|
||||
];
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
aiohttp
|
||||
fastapi
|
||||
flask
|
||||
httpx
|
||||
mypy-boto3-s3
|
||||
numpy
|
||||
pydantic
|
||||
scipy
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
pyyaml
|
||||
];
|
||||
scipy
|
||||
] ++ passthru.optional-dependencies.aiohttp
|
||||
++ passthru.optional-dependencies.pydantic
|
||||
++ passthru.optional-dependencies.yaml
|
||||
++ passthru.optional-dependencies.flask;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace requirements.txt \
|
||||
--replace "six>=1.7.0,<=1.15.0" "six"
|
||||
'';
|
||||
pythonImportsCheck = [
|
||||
"dependency_injector"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# There is no unique identifier to disable the one failing test
|
||||
# Exclude tests for EOL Python releases
|
||||
"tests/unit/ext/test_aiohttp_py35.py"
|
||||
"tests/unit/wiring/test_*_py36.py"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "dependency_injector" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Dependency injection microframework for Python";
|
||||
homepage = "https://github.com/ets-labs/python-dependency-injector";
|
||||
changelog = "https://github.com/ets-labs/python-dependency-injector/blob/${version}/docs/main/changelog.rst";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ gerschtli ];
|
||||
};
|
||||
|
@ -2,13 +2,16 @@
|
||||
, lib
|
||||
, fetchPypi
|
||||
, buildPythonPackage
|
||||
, isPy3k
|
||||
, python
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "docutils";
|
||||
version = "0.19";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
@ -18,7 +21,7 @@ buildPythonPackage rec {
|
||||
|
||||
# Only Darwin needs LANG, but we could set it in general.
|
||||
# It's done here conditionally to prevent mass-rebuilds.
|
||||
checkPhase = lib.optionalString (isPy3k && stdenv.isDarwin) ''LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" '' + ''
|
||||
checkPhase = lib.optionalString stdenv.isDarwin ''LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" '' + ''
|
||||
${python.interpreter} test/alltests.py
|
||||
'';
|
||||
|
||||
|
@ -5,7 +5,6 @@
|
||||
, setuptools
|
||||
, six
|
||||
, appdirs
|
||||
, scandir ? null
|
||||
, backports_os ? null
|
||||
, typing ? null
|
||||
, pytz
|
||||
@ -36,7 +35,6 @@ buildPythonPackage rec {
|
||||
propagatedBuildInputs = [ six appdirs pytz setuptools ]
|
||||
++ lib.optionals (!isPy3k) [ backports_os ]
|
||||
++ lib.optionals (!pythonAtLeast "3.6") [ typing ]
|
||||
++ lib.optionals (!pythonAtLeast "3.5") [ scandir ]
|
||||
++ lib.optionals (!pythonAtLeast "3.5") [ enum34 ];
|
||||
|
||||
LC_ALL="en_US.utf-8";
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "intellifire4py";
|
||||
version = "2.2.1";
|
||||
version = "2.2.2";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -21,8 +21,8 @@ buildPythonPackage rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "jeeftor";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-dn5814eRZ9456Fn7blf1UzXPii4dXu3sjoXBV7CmwSs=";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-iqlKfpnETLqQwy5sNcK2x/TgmuN2hCfYoHEFK2WWVXI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -50,6 +50,7 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Module to read Intellifire fireplace status data";
|
||||
homepage = "https://github.com/jeeftor/intellifire4py";
|
||||
changelog = "https://github.com/jeeftor/intellifire4py/blob/${version}/CHANGELOG";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
|
@ -40,7 +40,7 @@ buildPythonPackage rec {
|
||||
babel
|
||||
jupyter_server
|
||||
tomli
|
||||
] ++ lib.optional (pythonOlder "3.10") [
|
||||
] ++ lib.optionals (pythonOlder "3.10") [
|
||||
importlib-metadata
|
||||
];
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "life360";
|
||||
version = "5.3.0";
|
||||
version = "5.4.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||
owner = "pnbruckner";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-GacesPWPTuIIZel4OARWW13OYflYFNf4Jxh9I8ms7s0=";
|
||||
hash = "sha256-AY3TW6gpKST2uxxpmtlLz+qP18yJHyOk6XdA5yGJBEg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -34,6 +34,7 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Python module to interact with Life360";
|
||||
homepage = "https://github.com/pnbruckner/life360";
|
||||
changelog = "https://github.com/pnbruckner/life360/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
|
@ -4,26 +4,36 @@
|
||||
, pytestCheckHook
|
||||
, cffi
|
||||
, lmdb
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "lmdb";
|
||||
version = "1.3.0";
|
||||
version = "1.4.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "60a11efc21aaf009d06518996360eed346f6000bfc9de05114374230879f992e";
|
||||
hash = "sha256-OfbE7hRdKNFwJdNQcgq7b5XbgWUU6GjbV0RP3vUcu0c=";
|
||||
};
|
||||
|
||||
buildInputs = [ lmdb ];
|
||||
buildInputs = [
|
||||
lmdb
|
||||
];
|
||||
|
||||
checkInputs = [ cffi pytestCheckHook ];
|
||||
checkInputs = [
|
||||
cffi
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
LMDB_FORCE_SYSTEM=1;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Universal Python binding for the LMDB 'Lightning' Database";
|
||||
homepage = "https://github.com/dw/py-lmdb";
|
||||
changelog = "https://github.com/jnwatson/py-lmdb/blob/py-lmdb_${version}/ChangeLog";
|
||||
license = licenses.openldap;
|
||||
maintainers = with maintainers; [ copumpkin ivan ];
|
||||
};
|
||||
|
@ -9,11 +9,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "marisa-trie";
|
||||
version = "0.7.7";
|
||||
version = "0.7.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "bbeafb7d92839dc221365340e79d012cb50ee48a1f3f30dd916eb35a8b93db00";
|
||||
sha256 = "sha256-ruPeXyg2B0z9gD8crxb2g5DyYu8JzX3H0Oiu6baHhkM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "md-toc";
|
||||
version = "8.1.5";
|
||||
version = "8.1.6";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
owner = "frnmst";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-jt2ZZV63s7LL0R9ay/tvMH3cIDElYXiNPBuHlxj/Z8E=";
|
||||
hash = "sha256-Wtb2xHBj6RYVfUkPmRMxUti7UBj1PVh9ZCDienYX4Bw=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -41,6 +41,7 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Table of contents generator for Markdown";
|
||||
homepage = "https://docs.franco.net.eu.org/md-toc/";
|
||||
changelog = "https://blog.franco.net.eu.org/software/CHANGELOG-md-toc.html";
|
||||
license = with licenses; [ gpl3Plus ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
|
@ -4,15 +4,19 @@
|
||||
, mecab
|
||||
, swig
|
||||
, setuptools-scm
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mecab-python3";
|
||||
version = "1.0.5";
|
||||
version = "1.0.6";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-5wPXjIimcau4FwNRZEhQAV2bv6sxUwo7QNEkgaZ3mhE=";
|
||||
hash = "sha256-FvOKzkhAIL00RqEAVIKWeMHnuX8XQLWLAKMdWVz/Al4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -21,13 +25,20 @@ buildPythonPackage rec {
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
buildInputs = [ mecab ];
|
||||
buildInputs = [
|
||||
mecab
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"MeCab"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A python wrapper for mecab: Morphological Analysis engine";
|
||||
homepage = "https://github.com/SamuraiT/mecab-python3";
|
||||
changelog = "https://github.com/SamuraiT/mecab-python3/releases/tag/v${version}";
|
||||
license = with licenses; [ gpl2 lgpl21 bsd3 ]; # any of the three
|
||||
maintainers = with maintainers; [ ixxie ];
|
||||
};
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user