mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-08-25 17:55:21 +00:00
Merge master into staging-next
This commit is contained in:
@@ -349,24 +349,33 @@ rec {
|
||||
```
|
||||
*/
|
||||
_normaliseTreeFilter =
|
||||
path: tree:
|
||||
if tree == "directory" || isAttrs tree then
|
||||
let
|
||||
entries = _directoryEntries path tree;
|
||||
normalisedSubtrees = mapAttrs (name: _normaliseTreeFilter (path + "/${name}")) entries;
|
||||
subtreeValues = attrValues normalisedSubtrees;
|
||||
in
|
||||
# This triggers either when all files in a directory are filtered out
|
||||
# Or when the directory doesn't contain any files at all
|
||||
if all isNull subtreeValues then
|
||||
null
|
||||
# Triggers when we have the same as a `readDir path`, so we can turn it back into an equivalent "directory".
|
||||
else if all isString subtreeValues then
|
||||
"directory"
|
||||
else
|
||||
normalisedSubtrees
|
||||
else
|
||||
tree;
|
||||
let
|
||||
# Recurses into a tree that's already known to be a directory (either a "directory" or an attrset).
|
||||
#
|
||||
# Only directories need to be recursed into:
|
||||
# Files are either null (excluded) or a file type string (included), which are already normalised.
|
||||
#
|
||||
# Checking this in the caller instead of here also avoids the thunk allocation for the path concatenation below.
|
||||
recurse =
|
||||
path: tree:
|
||||
let
|
||||
normalisedSubtrees = mapAttrs (
|
||||
name: subtree:
|
||||
if subtree == "directory" || isAttrs subtree then recurse (path + "/${name}") subtree else subtree
|
||||
) (_directoryEntries path tree);
|
||||
subtreeValues = attrValues normalisedSubtrees;
|
||||
in
|
||||
# This triggers either when all files in a directory are filtered out
|
||||
# Or when the directory doesn't contain any files at all
|
||||
if all isNull subtreeValues then
|
||||
null
|
||||
# Triggers when we have the same as a `readDir path`, so we can turn it back into an equivalent "directory".
|
||||
else if all isString subtreeValues then
|
||||
"directory"
|
||||
else
|
||||
normalisedSubtrees;
|
||||
in
|
||||
path: tree: if tree == "directory" || isAttrs tree then recurse path tree else tree;
|
||||
|
||||
/**
|
||||
A minimal normalisation of a filesetTree, intended for pretty-printing:
|
||||
@@ -526,6 +535,9 @@ rec {
|
||||
else
|
||||
"/" + concatStringsSep "/" fileset._internalBaseComponents + "/";
|
||||
|
||||
getBaseStringPrefix = substring 0 baseLength;
|
||||
removeBaseStringPrefix = substring baseLength (-1);
|
||||
|
||||
baseLength = stringLength baseString;
|
||||
|
||||
# Check whether a list of path components under the base path exists in the tree.
|
||||
@@ -551,7 +563,12 @@ rec {
|
||||
# or a string ("directory" or "regular", etc.) in which case it's included
|
||||
localTree != null;
|
||||
in
|
||||
recurse 0 tree;
|
||||
# Start by recursing into the first element. This is guaranteed to be
|
||||
# safe. components will never be empty (builtins.split can't make an
|
||||
# empty list). Tree can be something other than an attrset, but if so,
|
||||
# the isAttrs check will fail when being passed `or tree`, and the index
|
||||
# being ahead doesn't matter.
|
||||
recurse 2 (tree.${head components} or tree);
|
||||
|
||||
# Filter suited when there's no files
|
||||
empty = _: _: false;
|
||||
@@ -569,25 +586,34 @@ rec {
|
||||
pathSlash = path + "/";
|
||||
in
|
||||
(
|
||||
# Same as `hasPrefix baseString pathSlash`, but more efficient.
|
||||
# The path is either the base itself or underneath it,
|
||||
# but only on the few paths above it, so its checked first.
|
||||
# With base /foo/bar this matches /foo/bar and /foo/bar/baz
|
||||
# hasPrefix "/foo/bar/" "/foo/bar/baz/"
|
||||
if getBaseStringPrefix pathSlash == baseString then
|
||||
if pathSlash == baseString then
|
||||
# The path is the base directory itself, which is always included
|
||||
true
|
||||
else
|
||||
# Same as `removePrefix baseString path`, but more efficient.
|
||||
# From the above code we know that hasPrefix baseString pathSlash holds, so this is safe.
|
||||
# We don't use pathSlash here because we only needed the trailing slash for the prefix matching.
|
||||
# With base /foo and path /foo/bar/baz this gives
|
||||
# inTree (split "/" (removePrefix "/foo/" "/foo/bar/baz"))
|
||||
# == inTree (split "/" "bar/baz")
|
||||
# == inTree [ "bar" "baz" ]
|
||||
inTree (split "/" (removeBaseStringPrefix path))
|
||||
# Same as `hasPrefix pathSlash baseString`, but more efficient.
|
||||
# The path is a proper ancestor of the base, which needs to be included for the base to be reachable:
|
||||
# With base /foo/bar we need to include /foo:
|
||||
# hasPrefix "/foo/" "/foo/bar/"
|
||||
if substring 0 (stringLength pathSlash) baseString == pathSlash then
|
||||
else if substring 0 (stringLength pathSlash) baseString == pathSlash then
|
||||
true
|
||||
# Same as `! hasPrefix baseString pathSlash`, but more efficient.
|
||||
# With base /foo/bar we need to exclude /baz
|
||||
# ! hasPrefix "/baz/" "/foo/bar/"
|
||||
else if substring 0 baseLength pathSlash != baseString then
|
||||
false
|
||||
else
|
||||
# Same as `removePrefix baseString path`, but more efficient.
|
||||
# From the above code we know that hasPrefix baseString pathSlash holds, so this is safe.
|
||||
# We don't use pathSlash here because we only needed the trailing slash for the prefix matching.
|
||||
# With base /foo and path /foo/bar/baz this gives
|
||||
# inTree (split "/" (removePrefix "/foo/" "/foo/bar/baz"))
|
||||
# == inTree (split "/" "bar/baz")
|
||||
# == inTree [ "bar" "baz" ]
|
||||
inTree (split "/" (substring baseLength (-1) path))
|
||||
# The path is unrelated to the base, so nothing from it is included
|
||||
# With base /foo/bar this matches e.g. /baz
|
||||
false
|
||||
)
|
||||
# This is a way have an additional check in case the above is true without any significant performance cost
|
||||
&& (
|
||||
@@ -802,21 +828,34 @@ rec {
|
||||
*/
|
||||
_unionTrees =
|
||||
trees:
|
||||
let
|
||||
stringIndex = findFirstIndex isString null trees;
|
||||
withoutNull = filter (tree: tree != null) trees;
|
||||
in
|
||||
if stringIndex != null then
|
||||
if length trees == 1 then
|
||||
# The union of a single tree simply returns the first element
|
||||
head trees
|
||||
else
|
||||
let
|
||||
# Like lib.findFirstIndex but without indexing.
|
||||
# This is a hot path so the indexing arithmetic adds up.
|
||||
firstStr = foldl' (
|
||||
found: tree:
|
||||
if found != null then
|
||||
found
|
||||
else if isString tree then
|
||||
tree
|
||||
else
|
||||
found # null
|
||||
) null trees;
|
||||
nonNulls = filter (tree: tree != null) trees;
|
||||
in
|
||||
# If there's a string, it's always a fully included tree (dir or file),
|
||||
# no need to look at other elements
|
||||
elemAt trees stringIndex
|
||||
else if withoutNull == [ ] then
|
||||
# If all trees are null, then the resulting tree is also null
|
||||
null
|
||||
else
|
||||
# The non-null elements have to be attribute sets representing partial trees
|
||||
# We need to recurse into those
|
||||
zipAttrsWith (name: _unionTrees) withoutNull;
|
||||
if firstStr != null then
|
||||
firstStr
|
||||
else if nonNulls == [ ] then
|
||||
null
|
||||
else
|
||||
# The non-null elements have to be attribute sets representing partial trees
|
||||
# We need to recurse into those
|
||||
zipAttrsWith (name: _unionTrees) nonNulls;
|
||||
|
||||
/**
|
||||
Computes the intersection of two filesets.
|
||||
|
||||
@@ -151,7 +151,24 @@ let
|
||||
);
|
||||
|
||||
# Derived meta-data
|
||||
useLLVM = final.isFreeBSD || final.isOpenBSD;
|
||||
useLLVM =
|
||||
final.isFreeBSD
|
||||
|| final.isOpenBSD
|
||||
|| final.isUefi
|
||||
|| final.isMsvc
|
||||
||
|
||||
# because GCC does not support this platform yet
|
||||
(with final; isWindows && isAarch64);
|
||||
|
||||
# Use the split GCC package set (`gccNGPackages`) instead of the
|
||||
# monolithic `gcc`. No platform selects it yet; it is opt-in, set
|
||||
# explicitly on a platform spec, so that the split set can be exercised
|
||||
# before anything depends on it.
|
||||
#
|
||||
# I (@Ericson2314) plan on making obscure low-tier platforms (e.g.
|
||||
# NetBSD) use it soon, so we can dogfood GCC NG and thereby iron out its
|
||||
# bugs.
|
||||
useGccNG = false;
|
||||
|
||||
libc =
|
||||
if final.isDarwin then
|
||||
@@ -176,9 +193,7 @@ let
|
||||
"uclibc"
|
||||
else if final.isAndroid then
|
||||
"bionic"
|
||||
else if
|
||||
final.isLinux # default
|
||||
then
|
||||
else if final.isLinux then
|
||||
"glibc"
|
||||
else if final.isFreeBSD then
|
||||
"fblibc"
|
||||
@@ -190,6 +205,8 @@ let
|
||||
"avrlibc"
|
||||
else if final.isGhcjs then
|
||||
null
|
||||
else if final.isUefi then
|
||||
null
|
||||
else if final.isNone then
|
||||
"newlib"
|
||||
# TODO(@Ericson2314) think more about other operating systems
|
||||
|
||||
@@ -93,7 +93,6 @@ rec {
|
||||
config = "aarch64-unknown-linux-android";
|
||||
androidSdkVersion = "35";
|
||||
androidNdkVersion = "27";
|
||||
libc = "bionic";
|
||||
useAndroidPrebuilt = false;
|
||||
useLLVM = true;
|
||||
};
|
||||
@@ -169,22 +168,18 @@ rec {
|
||||
|
||||
riscv64-embedded = {
|
||||
config = "riscv64-none-elf";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
riscv32-embedded = {
|
||||
config = "riscv32-none-elf";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
mips64-embedded = {
|
||||
config = "mips64-none-elf";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
mips-embedded = {
|
||||
config = "mips-none-elf";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
# https://github.com/loongson/la-softdev-convention/blob/master/la-softdev-convention.adoc#10-operating-system-package-build-requirements
|
||||
@@ -201,17 +196,17 @@ rec {
|
||||
|
||||
mmix = {
|
||||
config = "mmix-unknown-mmixware";
|
||||
# Not `isNone`: the OS here is `mmixware`, so the bare-metal default does
|
||||
# not apply.
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
rx-embedded = {
|
||||
config = "rx-none-elf";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
msp430 = {
|
||||
config = "msp430-elf";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
avr = {
|
||||
@@ -220,12 +215,10 @@ rec {
|
||||
|
||||
vc4 = {
|
||||
config = "vc4-elf";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
or1k = {
|
||||
config = "or1k-elf";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
m68k = {
|
||||
@@ -250,7 +243,6 @@ rec {
|
||||
|
||||
arm-embedded = {
|
||||
config = "arm-none-eabi";
|
||||
libc = "newlib";
|
||||
};
|
||||
arm-embedded-nano = {
|
||||
config = "arm-none-eabi";
|
||||
@@ -258,7 +250,6 @@ rec {
|
||||
};
|
||||
armhf-embedded = {
|
||||
config = "arm-none-eabihf";
|
||||
libc = "newlib";
|
||||
# GCC8+ does not build without this
|
||||
# (https://www.mail-archive.com/gcc-bugs@gcc.gnu.org/msg552339.html):
|
||||
gcc = {
|
||||
@@ -269,38 +260,31 @@ rec {
|
||||
|
||||
aarch64-embedded = {
|
||||
config = "aarch64-none-elf";
|
||||
libc = "newlib";
|
||||
rust.rustcTarget = "aarch64-unknown-none";
|
||||
};
|
||||
|
||||
aarch64be-embedded = {
|
||||
config = "aarch64_be-none-elf";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
ppc-embedded = {
|
||||
config = "powerpc-none-eabi";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
ppcle-embedded = {
|
||||
config = "powerpcle-none-eabi";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
i686-embedded = {
|
||||
config = "i686-elf";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
x86_64-embedded = {
|
||||
config = "x86_64-elf";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
microblaze-embedded = {
|
||||
config = "microblazeel-none-elf";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
#
|
||||
@@ -338,16 +322,10 @@ rec {
|
||||
|
||||
x86_64-unknown-uefi = {
|
||||
config = "x86_64-unknown-uefi";
|
||||
libc = null;
|
||||
useLLVM = true;
|
||||
linker = "lld";
|
||||
};
|
||||
|
||||
aarch64-unknown-uefi = {
|
||||
config = "aarch64-unknown-uefi";
|
||||
libc = null;
|
||||
useLLVM = true;
|
||||
linker = "lld";
|
||||
};
|
||||
|
||||
#
|
||||
@@ -382,12 +360,11 @@ rec {
|
||||
};
|
||||
|
||||
# mingw-w64 with ucrt for Aarch64, default compiler (which is LLVM
|
||||
# because GCC does not support this platform yet).
|
||||
# see ./default.nix).
|
||||
mingw-ucrt-aarch64 = {
|
||||
config = "aarch64-w64-mingw32";
|
||||
libc = "ucrt";
|
||||
rust.rustcTarget = "aarch64-pc-windows-gnullvm";
|
||||
useLLVM = true;
|
||||
};
|
||||
|
||||
# mingw-64 back compat
|
||||
@@ -400,12 +377,10 @@ rec {
|
||||
# Target the MSVC ABI
|
||||
x86_64-windows = {
|
||||
config = "x86_64-pc-windows-msvc";
|
||||
useLLVM = true;
|
||||
};
|
||||
|
||||
aarch64-windows = {
|
||||
config = "aarch64-pc-windows-msvc";
|
||||
useLLVM = true;
|
||||
};
|
||||
|
||||
x86_64-cygwin = {
|
||||
@@ -416,12 +391,10 @@ rec {
|
||||
|
||||
aarch64-freebsd = {
|
||||
config = "aarch64-unknown-freebsd";
|
||||
useLLVM = true;
|
||||
};
|
||||
|
||||
x86_64-freebsd = {
|
||||
config = "x86_64-unknown-freebsd";
|
||||
useLLVM = true;
|
||||
};
|
||||
|
||||
x86_64-netbsd = {
|
||||
|
||||
@@ -63,6 +63,12 @@
|
||||
{
|
||||
# keep-sorted start case=no numeric=no block=yes
|
||||
|
||||
"3mp3ri0r" = {
|
||||
email = "christoforus@xendit.co";
|
||||
github = "3mp3ri0r";
|
||||
githubId = 3140815;
|
||||
name = "Christoforus Surjoputro";
|
||||
};
|
||||
_0b11stan = {
|
||||
name = "Tristan Auvinet Pinaudeau";
|
||||
email = "tristan@tic.sh";
|
||||
@@ -7123,6 +7129,12 @@
|
||||
githubId = 15774340;
|
||||
name = "Thomas Depierre";
|
||||
};
|
||||
dibenzepin = {
|
||||
name = "Fumnanya";
|
||||
email = "fmowete@outlook.com";
|
||||
github = "dibenzepin";
|
||||
githubId = 87488715;
|
||||
};
|
||||
DictXiong = {
|
||||
email = "me@beardic.cn";
|
||||
github = "DictXiong";
|
||||
@@ -22807,12 +22819,6 @@
|
||||
githubId = 4201956;
|
||||
name = "pongo1231";
|
||||
};
|
||||
poopsicles = {
|
||||
name = "Fumnanya";
|
||||
email = "fmowete@outlook.com";
|
||||
github = "dibenzepin";
|
||||
githubId = 87488715;
|
||||
};
|
||||
PopeRigby = {
|
||||
name = "PopeRigby";
|
||||
github = "poperigby";
|
||||
|
||||
@@ -395,7 +395,7 @@ have a predefined type and string generator already declared under
|
||||
|
||||
`mkRaw pythonCode`
|
||||
|
||||
: Outputs the given string as raw Python code
|
||||
: Outputs the given string as raw Python code. Note that the final result will be stripped of any comments.
|
||||
|
||||
`_imports`
|
||||
|
||||
|
||||
57
nixos/doc/manual/development/state-revision.section.md
Normal file
57
nixos/doc/manual/development/state-revision.section.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# State revision {#sec-state-revision}
|
||||
|
||||
NixOS includes a {option}`system.stateVersion` option, used by some modules for a
|
||||
variety of reasons related to non-backward-compatible changes to software or
|
||||
the module itself.
|
||||
Module authors are discouraged from adding new uses of
|
||||
{option}`system.stateVersion` to their module.
|
||||
|
||||
However, when the alternatives are impractical, modules that wish to consume
|
||||
{option}`system.stateVersion` should instead define their own `stateRevision`
|
||||
option using `utils.mkStateRevisionOption`.
|
||||
There should be no uses of `config.system.stateVersion` directly in the module.
|
||||
|
||||
(Note the name difference: the {option}`system.stateVersion` option, with a V,
|
||||
takes a value that looks like "YY.MM".
|
||||
A `stateRevision` option, with an R, takes a non-negative integer value.)
|
||||
|
||||
Modules should also add the value of their `stateRevision` option to
|
||||
`system.moduleStateRevisions."your.module.stateRevision"`, when the module is
|
||||
enabled.
|
||||
This is a purely informative option that exists to help describe the effects of
|
||||
changing {option}`system.stateVersion`.
|
||||
|
||||
Example:
|
||||
|
||||
```nix
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
utils,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.services.whatever;
|
||||
in
|
||||
{
|
||||
options.services.whatever = {
|
||||
enable = lib.mkEnableOption "whatever, a service that does whatever";
|
||||
stateRevision = utils.mkStateRevisionOption {
|
||||
descriptionName = "the whatever service";
|
||||
migrations = {
|
||||
"26.05" = "Rename `/var/lib/old_name` to `/var/lib/new_name`.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
systemd.services.whatever = {
|
||||
# ...
|
||||
serviceConfig.StateDirectory = if cfg.stateRevision < 1 then "old_name" else "new_name";
|
||||
};
|
||||
|
||||
# Important: this is inside the `lib.mkIf cfg.enable`
|
||||
system.moduleStateRevisions."services.whatever.stateRevision" = cfg.stateRevision;
|
||||
};
|
||||
}
|
||||
```
|
||||
@@ -220,4 +220,5 @@ importing-modules.section.md
|
||||
replace-modules.section.md
|
||||
freeform-modules.section.md
|
||||
settings-options.section.md
|
||||
state-revision.section.md
|
||||
```
|
||||
|
||||
@@ -253,6 +253,9 @@
|
||||
"sec-override-nixos-test": [
|
||||
"index.html#sec-override-nixos-test"
|
||||
],
|
||||
"sec-state-revision": [
|
||||
"index.html#sec-state-revision"
|
||||
],
|
||||
"sec-wireless-declarative": [
|
||||
"index.html#sec-wireless-declarative"
|
||||
],
|
||||
|
||||
@@ -60,7 +60,7 @@ buildPythonApplication {
|
||||
util-linux
|
||||
vde2
|
||||
]
|
||||
++ lib.optionals stdenv.isLinux [
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
vhost-device-vsock
|
||||
]
|
||||
++ lib.optionals enableNspawn [
|
||||
|
||||
@@ -6,8 +6,10 @@
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
all
|
||||
any
|
||||
attrNames
|
||||
concatImapStringsSep
|
||||
concatMapStringsSep
|
||||
concatStringsSep
|
||||
elem
|
||||
@@ -27,8 +29,11 @@ let
|
||||
isList
|
||||
isPath
|
||||
isString
|
||||
length
|
||||
listToAttrs
|
||||
literalMD
|
||||
mapAttrs
|
||||
mkOption
|
||||
nameValuePair
|
||||
optionalString
|
||||
removePrefix
|
||||
@@ -36,8 +41,10 @@ let
|
||||
splitString
|
||||
stringToCharacters
|
||||
types
|
||||
versionOlder
|
||||
;
|
||||
|
||||
inherit (lib.lists) findFirstIndex;
|
||||
inherit (lib.strings) toJSON escapeC;
|
||||
in
|
||||
|
||||
@@ -604,6 +611,122 @@ let
|
||||
lib.listToAttrs
|
||||
];
|
||||
};
|
||||
|
||||
/**
|
||||
Creates a per-module `stateRevision` option that takes an int value, with a
|
||||
default that is derived from `system.stateVersion`.
|
||||
|
||||
# Inputs
|
||||
|
||||
`descriptionName`
|
||||
: A human-friendly name for your module, used for the description of the
|
||||
created option.
|
||||
|
||||
`migrations`
|
||||
: Attribute set that maps from values of `system.stateVersion`
|
||||
(representing the breakpoints at which the default value of this option
|
||||
will change) to Markdown instructions to users for manually migrating
|
||||
their data to this breakpoint. The migration instructions will be
|
||||
included in the NixOS documentation for this option. (These instructions
|
||||
must only contain Markdown inlines, because they will be rendered as
|
||||
items in an ordered list. In particular, nested lists will not render
|
||||
correctly.)
|
||||
|
||||
`migrations` will also be exposed as an attribute on the result.
|
||||
|
||||
# Examples
|
||||
:::{.example}
|
||||
## `lib.options.mkStateRevisionOption` usage example
|
||||
|
||||
```nix
|
||||
exampleModule =
|
||||
{ lib, config, utils, ... }:
|
||||
{
|
||||
options.services.whatever = {
|
||||
stateRevision = utils.mkStateRevisionOption {
|
||||
descriptionName = "the whatever service";
|
||||
migrations = {
|
||||
"26.05" = "Rename `/var/lib/old_name` to `/var/lib/new_name`.";
|
||||
"26.11" = "Run the `upgrade_whatever` utility.";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
(pkgs.nixos [
|
||||
exampleModule
|
||||
{ system.stateVersion = "25.11"; }
|
||||
]).config.services.whatever.stateRevision # => 0
|
||||
(pkgs.nixos [
|
||||
exampleModule
|
||||
{ system.stateVersion = "26.05"; }
|
||||
]).config.services.whatever.stateRevision # => 1
|
||||
(pkgs.nixos [
|
||||
exampleModule
|
||||
{ system.stateVersion = "27.05"; }
|
||||
]).config.services.whatever.stateRevision # => 2
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
Modules should use this function when they change how data managed by the
|
||||
module is persisted on the system between NixOS releases.
|
||||
|
||||
The default value of the option will be the number of attributes in the
|
||||
`migrations` parameter with name less than or equal to the value of
|
||||
`system.stateVersion`.
|
||||
|
||||
When using this function, don't forget to add the option's value to
|
||||
`system.moduleStateRevisions."your.module.stateRevision"` when your module is
|
||||
enabled.
|
||||
*/
|
||||
mkStateRevisionOption =
|
||||
{
|
||||
descriptionName,
|
||||
migrations,
|
||||
}:
|
||||
let
|
||||
versions = attrNames migrations;
|
||||
maxVal = length versions;
|
||||
in
|
||||
assert all (v: builtins.match "[0-9]{2}\\.[0-9]{2}" v != null) versions;
|
||||
mkOption {
|
||||
type = types.ints.between 0 maxVal;
|
||||
description = ''
|
||||
This option versions the format of state persisted by
|
||||
${descriptionName}. Its default value depends on the value of
|
||||
{option}`system.stateVersion`.
|
||||
|
||||
Users who wish to increment this option will need to take manual
|
||||
migration steps to preserve their data. **If you perform these
|
||||
migrations, rolling back to an older generation will require also
|
||||
reversing the migrations to the state expected by that generation.**
|
||||
The migrations needed to advance to each value of this option are as
|
||||
follows (perform all instructions after the row for the current
|
||||
`stateRevision`, up to and including the row for the new
|
||||
`stateRevision`):
|
||||
|
||||
0. (none)
|
||||
${concatImapStringsSep "\n" (
|
||||
v: sv: "${toString v}. ${replaceStrings [ "\n" ] [ " " ] migrations.${sv}}"
|
||||
) versions}
|
||||
|
||||
Note that you do **not** need to change {option}`system.stateVersion`
|
||||
in order to update this option. {option}`system.stateVersion` only
|
||||
determines the default value of this option. Most users should not
|
||||
change {option}`system.stateVersion` at all.
|
||||
'';
|
||||
default = findFirstIndex (versionOlder config.system.stateVersion) maxVal versions;
|
||||
defaultText = literalMD ''
|
||||
If {option}`system.stateVersion` is:
|
||||
${concatImapStringsSep "\n" (v: sv: "* <${sv}: ${toString (v - 1)}") versions}
|
||||
* otherwise: ${toString maxVal}
|
||||
'';
|
||||
}
|
||||
// {
|
||||
inherit migrations;
|
||||
};
|
||||
};
|
||||
in
|
||||
utils
|
||||
|
||||
@@ -482,7 +482,7 @@ in
|
||||
combineIcdPkgs =
|
||||
icd: pkgs:
|
||||
pkgs.symlinkJoin {
|
||||
name = "nvidia-egl-external-platforms${lib.optionalString pkgs.stdenv.is32bit "-x32"}";
|
||||
name = "nvidia-egl-external-platforms${lib.optionalString pkgs.stdenv.hostPlatform.is32bit "-x32"}";
|
||||
paths = lib.attrVals icd pkgs;
|
||||
# Remediate reversed priorities in pre-595 drivers,
|
||||
# https://github.com/NixOS/nixpkgs/pull/497342#issuecomment-4034876793
|
||||
|
||||
@@ -254,6 +254,30 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
moduleStateRevisions = mkOption {
|
||||
type =
|
||||
let
|
||||
baseType = types.attrsOf types.ints.unsigned;
|
||||
isStateRevisionOption = x: lib.isOption x && x ? migrations;
|
||||
in
|
||||
types.addCheck baseType (
|
||||
attrs:
|
||||
builtins.all (
|
||||
attrPath: isStateRevisionOption (lib.attrByPath (lib.splitString "." attrPath) null options)
|
||||
) (builtins.attrNames attrs)
|
||||
)
|
||||
// {
|
||||
description = "${baseType.description}, in which every attribute name is the path to an option created with mkStateRevisionOption";
|
||||
};
|
||||
default = { };
|
||||
internal = true;
|
||||
description = ''
|
||||
NixOS modules should set attributes on this option. Users should leave
|
||||
it alone. Future tooling may use it to determine the consequences of
|
||||
updating {option}`system.stateVersion`.
|
||||
'';
|
||||
};
|
||||
|
||||
configurationRevision = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
|
||||
@@ -79,7 +79,7 @@ in
|
||||
};
|
||||
|
||||
firstUid = mkOption {
|
||||
type = types.numbers.between 1000 65533;
|
||||
type = types.ints.between 1000 65533;
|
||||
default = 60000;
|
||||
description = ''
|
||||
Start of block of UIDs reserved for sandboxes.
|
||||
@@ -87,7 +87,7 @@ in
|
||||
};
|
||||
|
||||
firstGid = mkOption {
|
||||
type = types.numbers.between 1000 65533;
|
||||
type = types.ints.between 1000 65533;
|
||||
default = 60000;
|
||||
description = ''
|
||||
Start of block of GIDs reserved for sandboxes.
|
||||
@@ -95,7 +95,7 @@ in
|
||||
};
|
||||
|
||||
numBoxes = mkOption {
|
||||
type = types.numbers.between 1000 65533;
|
||||
type = types.ints.between 1000 65533;
|
||||
default = 1000;
|
||||
description = ''
|
||||
Number of UIDs and GIDs to reserve, starting from
|
||||
|
||||
@@ -574,7 +574,7 @@ in
|
||||
# and automatically migrates when needed (e.g. with v2 -> v3 swapping from Whoosh to Tantivy)
|
||||
${lib.getExe cfg.package} document_index reindex --if-needed --no-progress-bar
|
||||
|
||||
if ${lib.boolToString (cfg.passwordFile != null)} || [[ -n $PAPERLESS_ADMIN_PASSWORD ]]; then
|
||||
if ${lib.boolToString (cfg.passwordFile != null)} || [[ -n ''${PAPERLESS_ADMIN_PASSWORD-} ]]; then
|
||||
export PAPERLESS_ADMIN_USER="''${PAPERLESS_ADMIN_USER:-admin}"
|
||||
if [[ -e $CREDENTIALS_DIRECTORY/PAPERLESS_ADMIN_PASSWORD ]]; then
|
||||
PAPERLESS_ADMIN_PASSWORD=$(cat "$CREDENTIALS_DIRECTORY/PAPERLESS_ADMIN_PASSWORD")
|
||||
|
||||
@@ -2,13 +2,14 @@
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
utils,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.services.seerr;
|
||||
# 26.05 introduced a breaking change which is guarded behind stateVersion to avoid
|
||||
# breaking users.
|
||||
useNewConfigLocation = lib.versionAtLeast config.system.stateVersion "26.05";
|
||||
# 26.05 introduced a breaking change which is guarded behind stateRevision to
|
||||
# avoid breaking users.
|
||||
useNewConfigLocation = cfg.stateRevision >= 1;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
@@ -39,8 +40,23 @@ in
|
||||
configDir = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
default = if useNewConfigLocation then "/var/lib/seerr/" else "/var/lib/jellyseerr/config";
|
||||
defaultText = lib.literalMD "{file}`/var/lib/seerr` (or {file}`/var/lib/jellyseerr/config` if {option}`services.seerr.stateRevision` < 1)";
|
||||
description = "Config data directory";
|
||||
};
|
||||
|
||||
stateRevision = utils.mkStateRevisionOption {
|
||||
descriptionName = "Seerr";
|
||||
migrations = {
|
||||
"26.05" = ''
|
||||
Move {file}`/var/lib/private/jellyseerr/config` to
|
||||
{file}`/var/lib/private/seerr`, if you have not set
|
||||
{option}`services.seerr.configDir`. (If you have set
|
||||
{option}`services.seerr.configDir`, you should also have forced
|
||||
{option}`systemd.services.seerr.serviceConfig.StateDirectory`, and in
|
||||
that case `stateRevision` does not affect your configuration.)
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
@@ -81,5 +97,7 @@ in
|
||||
networking.firewall = lib.mkIf cfg.openFirewall {
|
||||
allowedTCPPorts = [ cfg.port ];
|
||||
};
|
||||
|
||||
system.moduleStateRevisions."services.seerr.stateRevision" = cfg.stateRevision;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -73,6 +73,7 @@ in
|
||||
PrivateMounts = true;
|
||||
PrivateTmp = true;
|
||||
PrivateUsers = true;
|
||||
ProcSubset = "pid";
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = "strict";
|
||||
ProtectHome = true;
|
||||
|
||||
@@ -53,6 +53,14 @@ in
|
||||
The maximum log size.
|
||||
'';
|
||||
};
|
||||
|
||||
telemetry = lib.mkOption {
|
||||
default = false;
|
||||
type = lib.types.bool;
|
||||
description = ''
|
||||
Collects anonymous usage data and crash reports.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -71,8 +79,8 @@ in
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
ExecStart = "${pkgs.eternal-terminal}/bin/etserver --daemon --cfgfile=${pkgs.writeText "et.cfg" ''
|
||||
Type = "exec";
|
||||
ExecStart = "${pkgs.eternal-terminal}/bin/etserver --logtostdout --cfgfile=${pkgs.writeText "et.cfg" ''
|
||||
; et.cfg : Config file for Eternal Terminal
|
||||
;
|
||||
|
||||
@@ -83,15 +91,15 @@ in
|
||||
verbose = ${toString cfg.verbosity}
|
||||
silent = ${if cfg.silent then "1" else "0"}
|
||||
logsize = ${toString cfg.logSize}
|
||||
telemetry = ${lib.boolToString cfg.telemetry}
|
||||
''}";
|
||||
Restart = "on-failure";
|
||||
KillMode = "process";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
maintainers = [ ];
|
||||
maintainers = with lib.maintainers; [ tomasrivera ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -90,6 +90,7 @@ let
|
||||
"unixd"
|
||||
"slotmem_shm"
|
||||
"socache_shmcb"
|
||||
"systemd"
|
||||
"mpm_${cfg.mpm}"
|
||||
]
|
||||
++ (if cfg.mpm == "prefork" then [ "cgi" ] else [ "cgid" ])
|
||||
@@ -992,12 +993,12 @@ in
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "@${pkg}/bin/httpd httpd -f /etc/httpd/httpd.conf";
|
||||
ExecStop = "${pkg}/bin/httpd -f /etc/httpd/httpd.conf -k graceful-stop";
|
||||
ExecStart = "${pkg}/bin/httpd -D FOREGROUND -f /etc/httpd/httpd.conf";
|
||||
ExecReload = "${pkg}/bin/httpd -f /etc/httpd/httpd.conf -k graceful";
|
||||
KillMode = "mixed";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
Type = "forking";
|
||||
Type = "notify";
|
||||
PIDFile = "${runtimeDir}/httpd.pid";
|
||||
Restart = "always";
|
||||
RestartSec = "5s";
|
||||
|
||||
@@ -1059,6 +1059,7 @@ in
|
||||
modularService = pkgs.callPackage ../modules/system/service/systemd/test.nix {
|
||||
inherit evalSystem;
|
||||
};
|
||||
moduleStateRevisions = pkgs.callPackage ./moduleStateRevisions.nix { };
|
||||
molly-brown = runTest ./molly-brown.nix;
|
||||
mollysocket = runTest ./mollysocket.nix;
|
||||
monado = runTest ./monado.nix;
|
||||
@@ -1234,6 +1235,7 @@ in
|
||||
ntfy-sh-migration = handleTest ./ntfy-sh-migration.nix { };
|
||||
ntpd = runTest ./ntpd.nix;
|
||||
ntpd-rs = runTest ./ntpd-rs.nix;
|
||||
nullmailer = runTest ./nullmailer.nix;
|
||||
nushell = runTest ./nushell.nix;
|
||||
nvidia-container-toolkit = runTest ./nvidia-container-toolkit.nix;
|
||||
nvme-rs = runTest ./nvme-rs.nix;
|
||||
@@ -1841,7 +1843,7 @@ in
|
||||
userborn-mutable-users = runTest ./userborn-mutable-users.nix;
|
||||
userborn-static = runTest ./userborn-static.nix;
|
||||
ustreamer = runTest ./ustreamer.nix;
|
||||
utils = import ./utils { inherit runTest; };
|
||||
utils = pkgs.callPackage ./utils { inherit runTest; };
|
||||
utmp = runTest ./utmp.nix;
|
||||
uwsgi = runTest ./uwsgi.nix;
|
||||
v2ray = runTest ./v2ray.nix;
|
||||
|
||||
25
nixos/tests/moduleStateRevisions.nix
Normal file
25
nixos/tests/moduleStateRevisions.nix
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
lib,
|
||||
emptyFile,
|
||||
nixos,
|
||||
}:
|
||||
let
|
||||
evalModuleStateRevisions =
|
||||
cfg:
|
||||
(nixos [
|
||||
{ system.stateVersion = lib.trivial.release; }
|
||||
cfg
|
||||
]).config.system.moduleStateRevisions;
|
||||
|
||||
# For modules that follow the <module>.enable, <module>.stateRevision pattern:
|
||||
testModule =
|
||||
path:
|
||||
evalModuleStateRevisions (lib.setAttrByPath path { enable = true; })
|
||||
? "${builtins.concatStringsSep "." path}.stateRevision";
|
||||
in
|
||||
assert evalModuleStateRevisions { } == { };
|
||||
assert testModule [
|
||||
"services"
|
||||
"seerr"
|
||||
];
|
||||
emptyFile
|
||||
85
nixos/tests/nullmailer.nix
Normal file
85
nixos/tests/nullmailer.nix
Normal file
@@ -0,0 +1,85 @@
|
||||
{ lib, ... }:
|
||||
{
|
||||
name = "nullmailer";
|
||||
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ h7x4 ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
mail =
|
||||
{ config, ... }:
|
||||
{
|
||||
imports = [ ./common/user-account.nix ];
|
||||
|
||||
virtualisation.vlans = [ 1 ];
|
||||
|
||||
networking = {
|
||||
useNetworkd = true;
|
||||
useDHCP = false;
|
||||
firewall.allowedTCPPorts = [ 25 ];
|
||||
domain = "example.com";
|
||||
hosts."10.0.0.2" = [ "machine.example.com" ];
|
||||
};
|
||||
|
||||
systemd.network.networks."01-eth1" = {
|
||||
name = "eth1";
|
||||
networkConfig.Address = "10.0.0.1/24";
|
||||
};
|
||||
|
||||
services.postfix = {
|
||||
enable = true;
|
||||
|
||||
localRecipients = [ "alice" ];
|
||||
|
||||
settings = {
|
||||
main = {
|
||||
myhostname = config.networking.hostName;
|
||||
mydomain = config.networking.domain;
|
||||
mynetworks = [ "0.0.0.0/0" ];
|
||||
mydestination = [ "$mydomain" ];
|
||||
|
||||
smtpd_recipient_restrictions = "permit_mynetworks, reject";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
machine =
|
||||
{ config, ... }:
|
||||
{
|
||||
virtualisation.vlans = [ 1 ];
|
||||
|
||||
networking = {
|
||||
useNetworkd = true;
|
||||
useDHCP = false;
|
||||
domain = "example.com";
|
||||
hosts."10.0.0.1" = [ "mail.example.com" ];
|
||||
};
|
||||
|
||||
systemd.network.networks."01-eth1" = {
|
||||
name = "eth1";
|
||||
networkConfig.Address = "10.0.0.2/24";
|
||||
};
|
||||
|
||||
services.nullmailer = {
|
||||
enable = true;
|
||||
config = {
|
||||
me = "${config.networking.fqdn}";
|
||||
remotes = "mail.example.com smtp --port=25";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
machine.wait_for_open_port(25, "mail.example.com")
|
||||
machine.wait_for_unit("nullmailer.service")
|
||||
machine.succeed('printf "To: alice@example.com\r\n\r\nthis is the body of the email" | sendmail -t -i -f sender@example.com')
|
||||
|
||||
mail.wait_for_console_text("delivered to maildir")
|
||||
print(mail.succeed("grep 'this is the body of the email' /var/spool/mail/alice/new/*"))
|
||||
'';
|
||||
}
|
||||
@@ -41,6 +41,7 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
networking.useNetworkd = true;
|
||||
networking.firewall.allowedUDPPorts = [ 9999 ];
|
||||
|
||||
systemd.network = {
|
||||
@@ -72,6 +73,7 @@ in
|
||||
server = {
|
||||
imports = [ (shared server) ];
|
||||
|
||||
networking.useNetworkd = true;
|
||||
networking.firewall.allowedUDPPorts = [ server.wg.listen ];
|
||||
|
||||
systemd.network.netdevs."10-${deviceName}" = {
|
||||
@@ -118,7 +120,7 @@ in
|
||||
testScript =
|
||||
{ ... }:
|
||||
''
|
||||
from os import system
|
||||
import subprocess
|
||||
|
||||
# Full path to rosenpass in the store, to avoid fiddling with `$PATH`.
|
||||
rosenpass = "${pkgs.rosenpass}/bin/rosenpass"
|
||||
@@ -137,7 +139,10 @@ in
|
||||
|
||||
for (name, machine, remote) in [("server", server, client), ("client", client, server)]:
|
||||
pk, sk = f"{name}.pqpk", f"{name}.pqsk"
|
||||
system(f"{rosenpass} gen-keys --force --secret-key {sk} --public-key {pk}")
|
||||
subprocess.run(
|
||||
[rosenpass, "gen-keys", "--force", "--secret-key", sk, "--public-key", pk],
|
||||
check=True,
|
||||
)
|
||||
machine.copy_from_host(sk, f"{etc}/pqsk")
|
||||
machine.copy_from_host(pk, f"{etc}/pqpk")
|
||||
remote.copy_from_host(pk, f"{etc}/peers/{name}/pqpk")
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
{ runTest }:
|
||||
{
|
||||
callPackage,
|
||||
runTest,
|
||||
}:
|
||||
|
||||
{
|
||||
genJqSecretsReplacement = runTest ./genJqSecretsReplacement.nix;
|
||||
mkStateRevisionOption = callPackage ./mkStateRevisionOption.nix { };
|
||||
}
|
||||
|
||||
39
nixos/tests/utils/mkStateRevisionOption.nix
Normal file
39
nixos/tests/utils/mkStateRevisionOption.nix
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
emptyFile,
|
||||
nixos,
|
||||
}:
|
||||
let
|
||||
result = nixos (
|
||||
{ utils, ... }:
|
||||
{
|
||||
options = {
|
||||
stateRevision1 = utils.mkStateRevisionOption {
|
||||
descriptionName = "...";
|
||||
migrations = {
|
||||
"27.05" = "...";
|
||||
};
|
||||
};
|
||||
stateRevision2 = utils.mkStateRevisionOption {
|
||||
descriptionName = "...";
|
||||
migrations = {
|
||||
"26.11" = "...";
|
||||
};
|
||||
};
|
||||
stateRevision3 = utils.mkStateRevisionOption {
|
||||
descriptionName = "...";
|
||||
migrations = {
|
||||
"24.05" = "...";
|
||||
"27.05" = "...";
|
||||
};
|
||||
};
|
||||
};
|
||||
config.system.stateVersion = "26.11";
|
||||
}
|
||||
);
|
||||
inherit (result) config options;
|
||||
in
|
||||
assert config.stateRevision1 == 0;
|
||||
assert config.stateRevision2 == 1;
|
||||
assert config.stateRevision3 == 1;
|
||||
assert options.stateRevision1.migrations == { "27.05" = "..."; };
|
||||
emptyFile
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "deadbeef-playlist-manager-plugin";
|
||||
version = "unstable-2021-05-02";
|
||||
version = "1-unstable-2021-05-02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kpcee";
|
||||
repo = "deadbeef-playlist-manager";
|
||||
rev = "b1393022b2d9ea0a19b845420146e0fc56cd9c0a";
|
||||
sha256 = "sha256-dsKthlQ0EuX4VhO8K9VTyX3zN8ytzDUbSi/xSMB4xRw=";
|
||||
hash = "sha256-dsKthlQ0EuX4VhO8K9VTyX3zN8ytzDUbSi/xSMB4xRw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1190,8 +1190,8 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "DanielSanMedium";
|
||||
name = "dscodegpt";
|
||||
version = "3.24.39";
|
||||
hash = "sha256-r1XkER09s+38uCbUxK9MM5bHRNp3UnMj6VJCHUMZM1Q=";
|
||||
version = "3.24.43";
|
||||
hash = "sha256-Y3pCg0qauVu4K6qz610QGRizyodnRpDigGSSIn6m6gw=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/DanielSanMedium.dscodegpt/changelog";
|
||||
@@ -1242,8 +1242,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "databricks";
|
||||
publisher = "databricks";
|
||||
version = "2.12.4";
|
||||
hash = "sha256-29xG0/AhBhidM8Hd7vHUWxESCDt8MwACIkBpmfvhD2Q=";
|
||||
version = "2.13.0";
|
||||
hash = "sha256-4Fa1UABo7JUO7+IECjsYEq9zyscHTGUlrUCa3aBdhoI=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/databricks.databricks/changelog";
|
||||
|
||||
@@ -14,15 +14,15 @@ let
|
||||
{
|
||||
x86_64-linux = {
|
||||
arch = "linux-x64";
|
||||
hash = "sha256-jAQJh1JqomJDUFeb2N452ICo0azFelT8vHvEsBqXi8w=";
|
||||
hash = "sha256-3FE2tZtkDZttZlD7foqt1qgcb1w37mT0/RC30HYEvNA=";
|
||||
};
|
||||
aarch64-linux = {
|
||||
arch = "linux-arm64";
|
||||
hash = "sha256-Z3cRojI4mCCS2t3aLojgImULQOobq5liDwoeHuzKEhY=";
|
||||
hash = "sha256-xxniWRtMkh3NE9OWJkR9xUARJTBnQkoTRlXrQa95K/k=";
|
||||
};
|
||||
aarch64-darwin = {
|
||||
arch = "darwin-arm64";
|
||||
hash = "sha256-rHgMl71YCs9ea0nFnx+E2U8isL4zQzIvvE9tgxM7IiA=";
|
||||
hash = "sha256-/pj6HPuqvAYXrBVX/FoOZRDYL5xvdnM+PPM27/5+hxw=";
|
||||
};
|
||||
}
|
||||
.${system} or (throw "Unsupported system: ${system}");
|
||||
@@ -34,7 +34,7 @@ vscode-utils.buildVscodeMarketplaceExtension (finalAttrs: {
|
||||
# Please update the corresponding binary (typos-lsp)
|
||||
# when updating this extension.
|
||||
# See pkgs/by-name/ty/typos-lsp/package.nix
|
||||
version = "0.1.51";
|
||||
version = "0.1.55";
|
||||
inherit (extInfo) hash arch;
|
||||
};
|
||||
|
||||
|
||||
@@ -7,15 +7,15 @@
|
||||
let
|
||||
supported = {
|
||||
x86_64-linux = {
|
||||
hash = "sha256-LuES+anP3Kd1uOZrteb3yy5nsec5gAX0PYeslJ8orBg=";
|
||||
hash = "sha256-Fy745lZuOz7lLPRp6XXmHGr9asLj2kynlJbaHe6kgCg=";
|
||||
arch = "linux-x64";
|
||||
};
|
||||
aarch64-linux = {
|
||||
hash = "sha256-vMLc5Yhtif8jN9V7DXER8BxFxYYv3sY7yKNMvse6CmQ=";
|
||||
hash = "sha256-AULA4binavpDoxwpfpdBnl81HshNuChYiyOjte+aQw4=";
|
||||
arch = "linux-arm64";
|
||||
};
|
||||
aarch64-darwin = {
|
||||
hash = "sha256-0ktwL6NkSGrpIUzc0IARoql2hxcluxvK0CTZkX4UEUE=";
|
||||
hash = "sha256-DKu+dUPCDNOCm1KlpNIeIPmIAFYbVQLD8w4Q3dy3pPI=";
|
||||
arch = "darwin-arm64";
|
||||
};
|
||||
};
|
||||
@@ -30,7 +30,7 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = base // {
|
||||
name = "tombi";
|
||||
publisher = "tombi-toml";
|
||||
version = "1.2.5";
|
||||
version = "1.2.8";
|
||||
};
|
||||
meta = {
|
||||
description = "TOML Language Server";
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"chromium": {
|
||||
"version": "151.0.7922.108",
|
||||
"version": "151.0.7922.137",
|
||||
"chromedriver": {
|
||||
"version": "151.0.7922.109",
|
||||
"hash_darwin": "sha256-VzMu90gOs02icI3PgvpNYXeE5c0QjCVB9CpM287roZo=",
|
||||
"hash_darwin_aarch64": "sha256-5djEbPAayOVr8hr2VfXvlU4W6F+Kd/wiCt5NvQtgoOY="
|
||||
"version": "151.0.7922.138",
|
||||
"hash_darwin": "sha256-SW+gKW+GuPwVrJwFdFw6WmECOVXzfRT6tWCIRHoYrok=",
|
||||
"hash_darwin_aarch64": "sha256-qUVhQo3JTPU5MP0RkVSAyk3iQTy/MWvE7Kab1BoI+Vg="
|
||||
},
|
||||
"deps": {
|
||||
"depot_tools": {
|
||||
@@ -21,8 +21,8 @@
|
||||
"DEPS": {
|
||||
"src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src.git",
|
||||
"rev": "4744b886309d987d292e43232776d2206cccb13d",
|
||||
"hash": "sha256-1i2IAA5sXyMPBzh6xOIY3CllEDtIS9Buk8Z2Vm1JnYw=",
|
||||
"rev": "8f5d36bc16f57115aeeff34baf4ad6aa964d509c",
|
||||
"hash": "sha256-OSqLGAnfiGRVC4RRMnjXFx0JvKh2qY+9zlf2xJZT19Q=",
|
||||
"recompress": true
|
||||
},
|
||||
"src/third_party/clang-format/script": {
|
||||
@@ -657,8 +657,8 @@
|
||||
},
|
||||
"src/third_party/skia": {
|
||||
"url": "https://skia.googlesource.com/skia.git",
|
||||
"rev": "86bb2f25f46f4d620b4a26e738f59a9b6c22d2eb",
|
||||
"hash": "sha256-tnUcFuwWtw0uGNIsU38M54V1MAYFs7/2yjP9Cs1fEHo="
|
||||
"rev": "66cca05ab345fb894cc80ed412e2fa79f687f5d9",
|
||||
"hash": "sha256-lDMn7ReDCdGKGmypIZszE29DWGFebJemFPluKZYeg7k="
|
||||
},
|
||||
"src/third_party/smhasher/src": {
|
||||
"url": "https://chromium.googlesource.com/external/smhasher.git",
|
||||
@@ -827,8 +827,8 @@
|
||||
},
|
||||
"src/v8": {
|
||||
"url": "https://chromium.googlesource.com/v8/v8.git",
|
||||
"rev": "20ad8d002c17ccc7ccfbefc6c4dcf1242fe80921",
|
||||
"hash": "sha256-J2dblSPMoZTpotDpuPp6beRYv+KtCirqNxEGEQKpqcQ="
|
||||
"rev": "00c2754b59cf5f79b323950c63b07cfb1a8377d4",
|
||||
"hash": "sha256-dXWiFX049YVnrtNdEznEiwT8lDyGJn9BEehB2yhCxqI="
|
||||
},
|
||||
"src/agents/shared": {
|
||||
"url": "https://chromium.googlesource.com/chromium/agents.git",
|
||||
@@ -838,7 +838,7 @@
|
||||
}
|
||||
},
|
||||
"ungoogled-chromium": {
|
||||
"version": "151.0.7922.108",
|
||||
"version": "151.0.7922.137",
|
||||
"deps": {
|
||||
"depot_tools": {
|
||||
"rev": "94e89b10b92cc9d6e58fc8d1b6474b7d29e8a114",
|
||||
@@ -850,16 +850,16 @@
|
||||
"hash": "sha256-T2LdISIkp8fcUli5ZetTqrESBAc7coJhWdJv7I+o9kk="
|
||||
},
|
||||
"ungoogled-patches": {
|
||||
"rev": "151.0.7922.108-1",
|
||||
"hash": "sha256-EhnX4fkuKTTIF6wztKWitrjNzKUf36fAnr7lUkJqJtQ="
|
||||
"rev": "151.0.7922.137-1",
|
||||
"hash": "sha256-QIkhRquVqD22P1UBJ+Qv0LEI118v7PDt3hQCIl1ScQ4="
|
||||
},
|
||||
"npmHash": "sha256-pF0JtwFpPC4/fodbhSJnQKkczA9WlDg4VqEAy9aDVLg="
|
||||
},
|
||||
"DEPS": {
|
||||
"src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src.git",
|
||||
"rev": "4744b886309d987d292e43232776d2206cccb13d",
|
||||
"hash": "sha256-1i2IAA5sXyMPBzh6xOIY3CllEDtIS9Buk8Z2Vm1JnYw=",
|
||||
"rev": "8f5d36bc16f57115aeeff34baf4ad6aa964d509c",
|
||||
"hash": "sha256-OSqLGAnfiGRVC4RRMnjXFx0JvKh2qY+9zlf2xJZT19Q=",
|
||||
"recompress": true
|
||||
},
|
||||
"src/third_party/clang-format/script": {
|
||||
@@ -1494,8 +1494,8 @@
|
||||
},
|
||||
"src/third_party/skia": {
|
||||
"url": "https://skia.googlesource.com/skia.git",
|
||||
"rev": "86bb2f25f46f4d620b4a26e738f59a9b6c22d2eb",
|
||||
"hash": "sha256-tnUcFuwWtw0uGNIsU38M54V1MAYFs7/2yjP9Cs1fEHo="
|
||||
"rev": "66cca05ab345fb894cc80ed412e2fa79f687f5d9",
|
||||
"hash": "sha256-lDMn7ReDCdGKGmypIZszE29DWGFebJemFPluKZYeg7k="
|
||||
},
|
||||
"src/third_party/smhasher/src": {
|
||||
"url": "https://chromium.googlesource.com/external/smhasher.git",
|
||||
@@ -1664,8 +1664,8 @@
|
||||
},
|
||||
"src/v8": {
|
||||
"url": "https://chromium.googlesource.com/v8/v8.git",
|
||||
"rev": "20ad8d002c17ccc7ccfbefc6c4dcf1242fe80921",
|
||||
"hash": "sha256-J2dblSPMoZTpotDpuPp6beRYv+KtCirqNxEGEQKpqcQ="
|
||||
"rev": "00c2754b59cf5f79b323950c63b07cfb1a8377d4",
|
||||
"hash": "sha256-dXWiFX049YVnrtNdEznEiwT8lDyGJn9BEehB2yhCxqI="
|
||||
},
|
||||
"src/agents/shared": {
|
||||
"url": "https://chromium.googlesource.com/chromium/agents.git",
|
||||
|
||||
@@ -337,13 +337,13 @@
|
||||
"vendorHash": "sha256-fP6brpY/wRI1Yjgapzi+FfOci65gxWeOZulXbGdilrE="
|
||||
},
|
||||
"dnsimple_dnsimple": {
|
||||
"hash": "sha256-8ZanbgHaszFiorzY/ulpVvUesmyx7O3SKXmwOi5WUSU=",
|
||||
"hash": "sha256-YkoBGPcNKBeAHWcsRldHSsZ/hvWngCiySjK5zzI9jNE=",
|
||||
"homepage": "https://registry.terraform.io/providers/dnsimple/dnsimple",
|
||||
"owner": "dnsimple",
|
||||
"repo": "terraform-provider-dnsimple",
|
||||
"rev": "v2.1.2",
|
||||
"rev": "v2.2.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-1CpswocnTe6aj4TP7fMGy6mv0d/yX8FcYAKkAW5k7kk="
|
||||
"vendorHash": "sha256-SuwDjQMgzcnNsBf/wXZvys6VINgnFeaWcV7jIMbNXo8="
|
||||
},
|
||||
"dnsmadeeasy_dme": {
|
||||
"hash": "sha256-JH9YcM9Fvd1x0BJpLUZCm6a9hZZxySrkFVLP89FO3fU=",
|
||||
@@ -409,13 +409,13 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"fastly_fastly": {
|
||||
"hash": "sha256-fblscW6k/iWGr3HTLASrfD11asYsssDuXkGUnzGoUFY=",
|
||||
"hash": "sha256-n1C/sRIPaZJJ/0irMNhDbi+hzXaof0+Kgu7XgDkGS3o=",
|
||||
"homepage": "https://registry.terraform.io/providers/fastly/fastly",
|
||||
"owner": "fastly",
|
||||
"repo": "terraform-provider-fastly",
|
||||
"rev": "v9.4.0",
|
||||
"rev": "v9.6.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-DhETt9f9GaAI5V/A53H3Bhph9uZyffUM1bsWDrW4CLE="
|
||||
"vendorHash": "sha256-tDiNj7Xbda10gUBYJ1bwzlYsrwa2ZSK9ZxsbXziI2pU="
|
||||
},
|
||||
"flexibleenginecloud_flexibleengine": {
|
||||
"hash": "sha256-yEZ9JiUSqFFbfqzOOD59ZBv4yFCeUBBKlp6aiUqDqiM=",
|
||||
@@ -1247,13 +1247,13 @@
|
||||
"vendorHash": "sha256-gva4QLCNANCaDSjv84N2oFv9VlsU8oUZOUTx6nTRIcA="
|
||||
},
|
||||
"splunk-terraform_signalfx": {
|
||||
"hash": "sha256-xdB2VAacBGFAeVd60Zy6MWSmx6BFJ7ciZKSTXYdRZY0=",
|
||||
"hash": "sha256-KoPLEVzR/MtMTrufqvxrOuVsfjCUXQ9UMbqjosAy2oc=",
|
||||
"homepage": "https://registry.terraform.io/providers/splunk-terraform/signalfx",
|
||||
"owner": "splunk-terraform",
|
||||
"repo": "terraform-provider-signalfx",
|
||||
"rev": "v9.33.0",
|
||||
"rev": "v9.34.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-m7Op/K3Xo9nKgVg9bTHmpmPiFpCB6Ek/kgj76P+ViGQ="
|
||||
"vendorHash": "sha256-mNEzE2eACy63BGoFOamG52JD8mvC7okhSN9hMuesTlg="
|
||||
},
|
||||
"spotinst_spotinst": {
|
||||
"hash": "sha256-pkYrrtsbIHSyy/TjoHBegrwwwIi6Vn6aT4Ic3C/QgyY=",
|
||||
@@ -1283,11 +1283,11 @@
|
||||
"vendorHash": "sha256-nbiLH+J051XxTx+z8xGrp/DPYB7g9S4clFSWcZUKnAg="
|
||||
},
|
||||
"sysdiglabs_sysdig": {
|
||||
"hash": "sha256-VeIgHhCHyNgAcv2NIBAWCJIwGHE3nqYeCxGd4VSUymU=",
|
||||
"hash": "sha256-MfwzmTzikzZAg0U7W5Dmjww6Oadnr4Oq+uIQSZaRHEo=",
|
||||
"homepage": "https://registry.terraform.io/providers/sysdiglabs/sysdig",
|
||||
"owner": "sysdiglabs",
|
||||
"repo": "terraform-provider-sysdig",
|
||||
"rev": "v3.9.0",
|
||||
"rev": "v3.9.1",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-HjrB7C0KaLJz9NVLfZdq5EZbNbF9lJPxSkQwnWUF978="
|
||||
},
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
mkHyprlandPlugin (finalAttrs: {
|
||||
pluginName = "hypr-darkwindow";
|
||||
version = "0.56.1";
|
||||
version = "0.56.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "micha4w";
|
||||
|
||||
@@ -804,9 +804,15 @@ stdenvNoCC.mkDerivation {
|
||||
include -cxx-isystem "${getDev libcxx}/include/c++/v1" >> $out/nix-support/libcxx-cxxflags
|
||||
echo "-stdlib=libc++" >> $out/nix-support/libcxx-ldflags
|
||||
''
|
||||
# GCC NG friendly libc++
|
||||
# This is the GCC NG case, libstdc++ is being built as a separate package.
|
||||
#
|
||||
# Point at `include-cxx`, not `include`. `libcxx` is also a propagated
|
||||
# target-target dep, so the generic setup hook puts its `include` on the *C*
|
||||
# include path -- and libstdc++ ships headers named after C headers
|
||||
# (`math.h`, `stdlib.h`, `stdckdint.h`, ...) that are only meant to shadow
|
||||
# the C ones in C++. A sibling directory the setup hook ignores is enough.
|
||||
+ optionalString (libcxx != null && libcxx.isGNU or false) ''
|
||||
include -isystem "${getDev libcxx}/include" >> $out/nix-support/libcxx-cxxflags
|
||||
include -isystem "${getDev libcxx}/include-cxx" >> $out/nix-support/libcxx-cxxflags
|
||||
''
|
||||
|
||||
##
|
||||
|
||||
@@ -24,13 +24,13 @@ let
|
||||
if extension == "zip" then fetchzip args else fetchurl args;
|
||||
|
||||
pname = "1password-cli";
|
||||
version = "2.34.1";
|
||||
version = "2.38.1";
|
||||
sources = {
|
||||
aarch64-linux = fetch "linux_arm64" "sha256-uEukRq71eeayvNguD9XepvP1Br5AkE2Ag/Chv2idf4A=" "zip";
|
||||
i686-linux = fetch "linux_386" "sha256-p/F3YZLJnlimrVE2qxTHvIB4m47kuwhoCWTC40VIvMs=" "zip";
|
||||
x86_64-linux = fetch "linux_amd64" "sha256-oAABMlwwv5X91TT6FK2aPpg+e2CvmHT1rqIVRTjQNCQ=" "zip";
|
||||
aarch64-linux = fetch "linux_arm64" "sha256-RmpJkrrLrKwbmbw50+sTg0aFa0+M2EFPZ6+QSc3aV5M=" "zip";
|
||||
i686-linux = fetch "linux_386" "sha256-hnpVsbNgofmfw/XobVZ2MnbGIcAjxH1MvVJNc5T1kuk=" "zip";
|
||||
x86_64-linux = fetch "linux_amd64" "sha256-k268YiTC/2MJZhVqMI/e9bsrf4Sr4Wj8M/h/hbmmcqY=" "zip";
|
||||
aarch64-darwin =
|
||||
fetch "apple_universal" "sha256-vp1Y1M6DUanx1CAVhLrqgBovwws6Y/5jOgnwTZE8Hhc="
|
||||
fetch "apple_universal" "sha256-pLlEsqCL5j9QCuLkQxK/Mmz647lKbCYhOUiPch2MMuE="
|
||||
"pkg";
|
||||
};
|
||||
platforms = builtins.attrNames sources;
|
||||
|
||||
@@ -27,7 +27,7 @@ replace_sha() {
|
||||
sed -i "s|\"$1\" \"sha256-.\{44\}\"|\"$1\" \"$2\"|" "$NIX_DRV"
|
||||
}
|
||||
|
||||
CLI_VERSION="$(curl -Ls https://app-updates.agilebits.com/product_history/CLI2 | xq -q 'h3' | head -n1)"
|
||||
CLI_VERSION="$(curl -Ls https://app-updates.agilebits.com/product_history/CLI2 | xq -q 'article:not(.beta) h3' | head -n1)"
|
||||
|
||||
CLI_LINUX_AARCH64_SHA256=$(fetch_linux "$CLI_VERSION" "linux_arm64")
|
||||
CLI_LINUX_I686_SHA256=$(fetch_linux "$CLI_VERSION" "linux_386")
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "aks-mcp-server";
|
||||
version = "0.0.19";
|
||||
version = "0.0.20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Azure";
|
||||
repo = "aks-mcp";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-Zu/caWrTuyzS4ejJ5LTOCyLTsmJOFrkX0kUGM0zDfFs=";
|
||||
hash = "sha256-K0BVDH0HT4kQBGMpVDtLihDCPlpcVpdGEF7f5DY8SvQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-eipcHVKKHBOey2fUGB4lf2pE/wdwGgsbYvCrvDG1JK8=";
|
||||
vendorHash = "sha256-EdDiLibw3OXtTmAaD6PIi6xiW7+x8TUeAezdjpu8IjY=";
|
||||
|
||||
subPackages = [ "cmd/aks-mcp" ];
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ stdenv.mkDerivation {
|
||||
php
|
||||
];
|
||||
|
||||
postPatch = lib.optionalString stdenv.isAarch64 ''
|
||||
postPatch = lib.optionalString stdenv.hostPlatform.isAarch64 ''
|
||||
substituteInPlace support/xhpast/Makefile \
|
||||
--replace "-minline-all-stringops" ""
|
||||
'';
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
name = "awk-language-server";
|
||||
pname = "awk-language-server";
|
||||
version = "0.10.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
||||
@@ -105,7 +105,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
bzip2
|
||||
sqlite
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
llvmPackages.openmp
|
||||
];
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cargo-chef";
|
||||
version = "0.1.77";
|
||||
version = "0.1.78";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit (finalAttrs) pname version;
|
||||
hash = "sha256-R2on81B11ploV9QwiV5VCvRUCLQWbP21dazNliqkhGA=";
|
||||
hash = "sha256-gFtmKaznJNlmhlCzpHraEdZfDV5fAwYVphJo29qcftw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-iOZjyqoykCwrNsXN7nMF6deuSSlyD6r2+atxPeNmX2c=";
|
||||
cargoHash = "sha256-m29qIc/TsmropBMFeyEPIWwQgFh9PKqUexFRrbGFHSg=";
|
||||
|
||||
meta = {
|
||||
description = "Cargo-subcommand to speed up Rust Docker builds using Docker layer caching";
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cargo-rdme";
|
||||
version = "2.1.0";
|
||||
version = "2.2.0";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit (finalAttrs) pname version;
|
||||
hash = "sha256-U5JD3VMuIagaMKxHoRRhbFyl7keuaJ0zNzD3Hjhxe/Y=";
|
||||
hash = "sha256-f0MxJVWTcBNiURJFE60Xbv0/xcj51ZoZmJEzvIP79f4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Es1K4MmThAS9whsfSQ8dUtjPjunCDCQc5FU8vsbeJPw=";
|
||||
cargoHash = "sha256-U2tw/tzFSktrKAIUk4fxyRCMVuw98uHXDkZ/YpC2aCA=";
|
||||
|
||||
meta = {
|
||||
description = "Cargo command to create the README.md from your crate's documentation";
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "carps-cups";
|
||||
version = "unstable-2018-03-05";
|
||||
version = "0-unstable-2018-03-05";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ondrej-zary";
|
||||
@@ -35,8 +35,8 @@ stdenv.mkDerivation {
|
||||
|
||||
meta = {
|
||||
description = "CUPS Linux drivers for Canon printers";
|
||||
homepage = "https://www.canon.com/";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
homepage = "https://github.com/ondrej-zary/carps-cups";
|
||||
license = lib.licenses.gpl3Only;
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
maintainers = with lib.maintainers; [
|
||||
ewok
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "chirpstack-mqtt-forwarder";
|
||||
version = "4.6.0";
|
||||
version = "4.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chirpstack";
|
||||
repo = "chirpstack-mqtt-forwarder";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-frEwQrGfB1J7ZY5jSkmgAyyCJwWUyu29QuZqMWlOPSk=";
|
||||
hash = "sha256-xt94DxiDkyS0o9sSV6ye1vRi08ey4rmh1acpNI38fUE=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-5/8f5eSLfCu8fOfT+jTEfJj+fSB6rJt34C6eJwyFIfo=";
|
||||
cargoHash = "sha256-qGN6AhPV6EOEo5xdwlHCENUmKzWhquOXCvXP7X0Y2WE=";
|
||||
|
||||
nativeBuildInputs = [ protobuf ];
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
darwin
|
||||
illumos
|
||||
];
|
||||
broken = stdenv.isDarwin;
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
maintainers = with lib.maintainers; [
|
||||
thoughtpolice
|
||||
vifino
|
||||
|
||||
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
|
||||
substituteInPlace Makefile \
|
||||
--replace-fail '$(eflags)$(ncursesw_macros)' '$(eflags) $(ncursesw_macros)'
|
||||
''
|
||||
+ lib.optionalString stdenv.isDarwin ''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
substituteInPlace Makefile \
|
||||
--replace-fail '-lncursesw' '-lncurses'
|
||||
'';
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "croncpp";
|
||||
version = "2023.03.30";
|
||||
version = "2026.08.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mariusbancila";
|
||||
repo = "croncpp";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-SBjNzy54OGEMemBp+c1gaH90Dc7ySL915z4E64cBWTI=";
|
||||
hash = "sha256-qdl9494mpmozt6Rmd20MUeGeILWmNGHaxDgW2JnlUvs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -42,6 +42,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
license = lib.licenses.zlib;
|
||||
maintainers = [ lib.maintainers.jpdoyle ];
|
||||
platforms = lib.platforms.linux;
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -56,7 +56,7 @@ let
|
||||
davinci = (
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "davinci-resolve${lib.optionalString studioVariant "-studio"}";
|
||||
version = "21.0.3";
|
||||
version = "21.0.4";
|
||||
|
||||
nativeBuildInputs = [
|
||||
appimageTools.appimage-exec
|
||||
@@ -78,9 +78,9 @@ let
|
||||
outputHashAlgo = "sha256";
|
||||
outputHash =
|
||||
if studioVariant then
|
||||
"sha256-pEJF+FQlBngEi5YlKq/pFNCzBiQgqjQrTnfrlKEEi6s="
|
||||
"sha256-FwaSnK3DAIRGCz6kiWxE4o0Cd0en2qoyuWCDHat1xHQ="
|
||||
else
|
||||
"sha256-3SymaLm3ibyk8yOWcUS9fOfnKEmgVA5XXc5tls27qfo=";
|
||||
"sha256-oX/abUHhnl1AW3xb53x8l7WIdSKc9e2Ocp0qtGAOv/A=";
|
||||
|
||||
impureEnvVars = lib.fetchers.proxyImpureEnvVars;
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
configureScript = "../configure";
|
||||
|
||||
doCheck = !(with stdenv; isDarwin && isAarch64);
|
||||
doCheck = !(with stdenv.hostPlatform; isDarwin && isAarch64);
|
||||
|
||||
# Note: The test-suite *requires* /dev/pts among the `build-chroot-dirs' of
|
||||
# the build daemon when building in a chroot. See
|
||||
|
||||
@@ -28,7 +28,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
cp -r install-cli.nix cli.nix default.nix disk-deactivate lib $out/share/disko
|
||||
|
||||
scripts=(disko)
|
||||
${lib.optionalString (!stdenvNoCC.isDarwin) ''
|
||||
${lib.optionalString (!stdenvNoCC.hostPlatform.isDarwin) ''
|
||||
scripts+=(disko-install)
|
||||
''}
|
||||
|
||||
@@ -44,7 +44,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
coreutils
|
||||
xcp
|
||||
]
|
||||
++ lib.optional (!stdenvNoCC.isDarwin) nixos-install
|
||||
++ lib.optional (!stdenvNoCC.hostPlatform.isDarwin) nixos-install
|
||||
)
|
||||
}
|
||||
done
|
||||
@@ -54,7 +54,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
$out/bin/disko --help
|
||||
${lib.optionalString (!stdenvNoCC.isDarwin) ''
|
||||
${lib.optionalString (!stdenvNoCC.hostPlatform.isDarwin) ''
|
||||
$out/bin/disko-install --help
|
||||
''}
|
||||
runHook postInstallCheck
|
||||
|
||||
@@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
postFixup = lib.optionalString stdenv.isLinux ''
|
||||
postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
patchelf $out/bin/eepers \
|
||||
--add-needed libwayland-client.so \
|
||||
--add-needed libwayland-cursor.so \
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "freifunk-meshviewer";
|
||||
|
||||
version = "13.1.0";
|
||||
version = "13.2.0";
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
@@ -16,10 +16,10 @@ buildNpmPackage (finalAttrs: {
|
||||
owner = "freifunk";
|
||||
repo = "meshviewer";
|
||||
tag = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-u9lX7B402KFOHyaReyg3f5rDYDshbO/lyMYo7XxgJR8=";
|
||||
sha256 = "sha256-ni5Ln9K+Bqq88oi+nwOyCqibJz3TesVreHDWEec6Xzk=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-BaFtFdOu+WArH75nPtasSpecdGjMxTchFcF+K7krNpM=";
|
||||
npmDepsHash = "sha256-gdGaJSwT5EYcrL/VBId4c6VFmyEbQ9v2LEJP1jc8yO8=";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/freifunk-meshviewer/
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gcli";
|
||||
version = "2.12.0";
|
||||
version = "2.13.0";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~herrhotzenplotz";
|
||||
repo = "gcli";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-k691ocg5rkvGJZDp6X9PRIDaNvVPLcJRoXvwPbyxjLE=";
|
||||
hash = "sha256-Ow899ehIln+2E5j/MNA7XCRSBNCeaJ16ePR/u0qXvos=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,20 +1,15 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
gcc13Stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
libx11,
|
||||
xorgproto,
|
||||
cairo,
|
||||
lv2,
|
||||
pkg-config,
|
||||
}:
|
||||
let
|
||||
# see: https://github.com/brummer10/GxMatchEQ.lv2/issues/8
|
||||
# Use gcc13 on Linux, but default stdenv (clang) elsewhere
|
||||
buildStdenv = if stdenv.hostPlatform.isLinux then gcc13Stdenv else stdenv;
|
||||
in
|
||||
buildStdenv.mkDerivation (finalAttrs: {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "GxMatchEQ.lv2";
|
||||
version = "0.1";
|
||||
|
||||
@@ -25,6 +20,22 @@ buildStdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-4jg6DYkNRuNuQpOnsZfwJAZljBmBRzS6NcJKjv+r7Ss=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# _LV2UI_Descriptor was mistakenly used instead of LV2UI_Descriptor in one
|
||||
# signature.
|
||||
(fetchpatch {
|
||||
name = "use-lv2ui_descriptor-name.patch";
|
||||
url = "https://github.com/brummer10/GxMatchEQ.lv2/commit/4ca70be32220729a5253c0bb46f5aded5ba3d00a.patch";
|
||||
hash = "sha256-EKlv6UptUpP+LOG7S30L21o0/upeDj6WB1PZ44XtNRU=";
|
||||
})
|
||||
];
|
||||
|
||||
# without the Xresource.h header, compilation on gcc versions > 13 fails with
|
||||
# gui/gx_matcheq_x11ui.c:360:27: error: implicit declaration of function 'XrmUniqueQuark' [-Wimplicit-function-declaration]
|
||||
postPatch = ''
|
||||
sed -e '1i #include <X11/Xresource.h>' -i gui/gx_matcheq_x11ui.c
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [
|
||||
libx11
|
||||
|
||||
@@ -33,7 +33,7 @@ appimageTools.wrapType2 {
|
||||
meta = {
|
||||
description = "UI for the Handheld Daemon";
|
||||
homepage = "https://github.com/hhd-dev/hhd-ui";
|
||||
license = lib.licenses.gpl3Only;
|
||||
license = lib.licenses.lgpl21Plus;
|
||||
maintainers = with lib.maintainers; [ toast ];
|
||||
mainProgram = "hhd-ui";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
|
||||
@@ -71,6 +71,16 @@ stdenv.mkDerivation {
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
# Teach `hunk skill path` to find the FHS layout under share/skills/$pname
|
||||
# (https://github.com/NixOS/nixpkgs/issues/547426) instead of $out/skills.
|
||||
postPatch = ''
|
||||
substituteInPlace src/core/paths.ts \
|
||||
--replace-fail \
|
||||
'join("node_modules", "hunkdiff", HUNK_REVIEW_SKILL_RELATIVE_PATH),' \
|
||||
'join("node_modules", "hunkdiff", HUNK_REVIEW_SKILL_RELATIVE_PATH),
|
||||
join("share", "skills", "hunk", "hunk-review", "SKILL.md"),'
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
@@ -100,9 +110,8 @@ stdenv.mkDerivation {
|
||||
runHook preInstall
|
||||
|
||||
install -Dm755 hunk $out/bin/hunk
|
||||
mkdir -p $out/share/hunk
|
||||
cp -R skills $out/share/hunk/skills
|
||||
ln -s share/hunk/skills $out/skills
|
||||
mkdir -p $out/share/skills/hunk/hunk-review
|
||||
cp skills/hunk-review/SKILL.md $out/share/skills/hunk/hunk-review/SKILL.md
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
@@ -8,18 +8,18 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "keepassxc-go";
|
||||
version = "1.6.0";
|
||||
version = "1.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MarkusFreitag";
|
||||
repo = "keepassxc-go";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-Z4SbPxhs+umsUlby7idxofCjP+uLPvp/2oUCpnAS2/A=";
|
||||
hash = "sha256-0VQw12o4XTzKOz+45sHIKSsIjBxDcdxtgYUItFznsO4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
vendorHash = "sha256-+cgf2FxpbLu+Yuhk6T0ZBnDH7We2DVu65xFaruk9I0E=";
|
||||
vendorHash = "sha256-p7Lj2x0+F3kmAMi+2gtBYkg1w8jmgWm3kgYAoIagERs=";
|
||||
|
||||
checkFlags = [
|
||||
# Test tries to monkey-patch the stdlib, fails with permission denied error.
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "keepmenu";
|
||||
version = "1.4.2";
|
||||
version = "1.5.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firecat53";
|
||||
repo = "keepmenu";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-Kzt2RqyYvOWnbkflwTHzlnpUaruVQvdGys57DDpH9o8=";
|
||||
hash = "sha256-MUtwQ9V5PcczR2mISMs8EcFGkDAPmuYSvNW+COC4Bhw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3Packages; [
|
||||
|
||||
@@ -52,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
dontStrip = true;
|
||||
|
||||
passthru = {
|
||||
tests.boot = lib.optional stdenv.isDarwin (
|
||||
tests.boot = lib.optional stdenv.hostPlatform.isDarwin (
|
||||
callPackage ./boot-test.nix { krunkit = finalAttrs.finalPackage; }
|
||||
);
|
||||
updateScript = nix-update-script { };
|
||||
|
||||
@@ -17,7 +17,7 @@ buildNpmPackage (finalAttrs: {
|
||||
src
|
||||
sourceRoot
|
||||
;
|
||||
hash = "sha256-PArNKjdLqKJSEEKe94mguzKiNSwpYk56inenU3GL1mI=";
|
||||
hash = "sha256-ZvdfLM0GlIZPaKbpDK9ymSgARVMsJE+cop8lKq3R7fE=";
|
||||
};
|
||||
npmBuildScript = "build";
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ buildNpmPackage (finalAttrs: {
|
||||
pname = "${finalAttrs.pname}-npm-deps";
|
||||
inherit version src;
|
||||
inherit (finalAttrs) sourceRoot;
|
||||
hash = "sha256-rqtLjMp0nCfo1wDAeB5WxVtmL/TR3Ky3qaMaBohnH1M=";
|
||||
hash = "sha256-Ojk0giCc7tTFAGOIisirMywfe5j7JCKoTnWGk/hR+U8=";
|
||||
};
|
||||
npmBuildScript = "build";
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
python3,
|
||||
}:
|
||||
let
|
||||
version = "1.25.2";
|
||||
version = "1.26.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "suitenumerique";
|
||||
repo = "meet";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-gtChKd6sr2nHEmi0Z/nbuCCNsOD8iVIAFjqonZFgQ/Y=";
|
||||
hash = "sha256-WiyVSqkyKDXYYPvzcA/fHcxQJrUThNGfNu+z/KcHK3g=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "lazygit";
|
||||
version = "0.64.0";
|
||||
version = "0.64.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jesseduffield";
|
||||
repo = "lazygit";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-iN1QEZBS4TxfBMe3+NoYx33wIrgLUSG7I8rNBSTinfc=";
|
||||
hash = "sha256-UYyIrSHk+efKvHvxQs7FsOGA7e0uM9mg+1O1WRJIeEU=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -6,12 +6,15 @@
|
||||
zstd,
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "libertinus";
|
||||
version = "7.051";
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/alerque/libertinus/releases/download/v${version}/Libertinus-${version}.tar.zst";
|
||||
url = "https://github.com/alerque/libertinus/releases/download/v${finalAttrs.version}/Libertinus-${finalAttrs.version}.tar.zst";
|
||||
hash = "sha256-JQZ3ySnTd1owkTZDWUN5ryZKwu8oAQNaody+MLm+I6Y=";
|
||||
};
|
||||
|
||||
@@ -38,4 +41,4 @@ stdenvNoCC.mkDerivation rec {
|
||||
maintainers = with lib.maintainers; [ siddharthist ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -173,7 +173,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
# FIXME x86_64-darwin:
|
||||
# https://github.com/NixOS/nixpkgs/pull/204030#issuecomment-1352768690
|
||||
doCheck = with stdenv; !(hostPlatform.isi686 || isDarwin && isx86_64);
|
||||
doCheck = with stdenv.hostPlatform; !(isi686 || isDarwin && isx86_64);
|
||||
|
||||
disabledTests = lib.optionals stdenv.hostPlatform.isBigEndian [
|
||||
# https://github.com/libjxl/libjxl/issues/3629
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "libretro-shaders-slang";
|
||||
version = "0-unstable-2026-08-03";
|
||||
version = "0-unstable-2026-08-08";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "slang-shaders";
|
||||
rev = "620114039b453ebb2e3de1a5846b0d9b05676bf4";
|
||||
hash = "sha256-ox5Mo9ShWAVQDT6tboA72Mugny3aCQaN1QLpTs4bR6Y=";
|
||||
rev = "a7f04a0698908015c6f9e3a3f446b3d17083269c";
|
||||
hash = "sha256-Zz5EqEyGZwMZcFgowUpW2b3/cRcmOHL5R/Z78sg4dm8=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libtorrent-rakshasa";
|
||||
version = "0.16.19";
|
||||
version = "0.16.20";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "rakshasa";
|
||||
repo = "libtorrent";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-D+RPDp8r2ZKhNpiLKpm269h/5MBN+QhHf/qeXEzM92M=";
|
||||
hash = "sha256-PEldSXGOFCOa1zo/9wT3efUvf3ZZ9gqZLqioXOdFnt0=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
sha256 = "sha256-Wf/rGjUXr+RZmHFL6EGSYKQ2MvfOwI8LAmwezN/1fPw=";
|
||||
};
|
||||
|
||||
buildFlags = with stdenv; [
|
||||
buildFlags = with stdenv.hostPlatform; [
|
||||
(
|
||||
if isDarwin then
|
||||
"osx"
|
||||
|
||||
@@ -6,21 +6,21 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "luwen";
|
||||
version = "0.8.5";
|
||||
version = "0.9.0";
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tenstorrent";
|
||||
repo = "luwen";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-lY7cZ+8C0UEGGYxufl4Vi8g0L4AJFXaGqn7XE2ivTcQ=";
|
||||
hash = "sha256-pc/7G9YxBTg2uYn47ONxI7zsfdK3Ex4zndLASRtDQyk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
protobuf
|
||||
];
|
||||
|
||||
cargoHash = "sha256-QBGXbRiBk4WIQFopq1OccmUHgx5GzR/PKhMH4Ie+fyg=";
|
||||
cargoHash = "sha256-2ibAZnfv++eyCB57F0uD7XFJ3MP9SnAApOn6uelo3Po=";
|
||||
|
||||
meta = {
|
||||
description = "Tenstorrent system interface tools";
|
||||
|
||||
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
|
||||
cmake
|
||||
pkg-config
|
||||
]
|
||||
++ lib.optionals stdenv.isLinux [
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
autoPatchelfHook
|
||||
];
|
||||
|
||||
@@ -64,7 +64,7 @@ stdenv.mkDerivation {
|
||||
xz
|
||||
zlib
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
libiconv
|
||||
];
|
||||
|
||||
@@ -99,7 +99,7 @@ stdenv.mkDerivation {
|
||||
# Transforms 'NAMES libfoo.a libfoo' into 'NAMES foo'
|
||||
sed -i -E 's/NAMES lib([a-zA-Z0-9]+)\.a lib\1/NAMES \1/g' CMakeLists.txt
|
||||
''
|
||||
+ lib.optionalString stdenv.isDarwin ''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
# UUID_LIB is provided by system frameworks
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace-fail "find_library(UUID_LIB NAMES uuid)" "set(UUID_LIB \"\")"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
maven,
|
||||
}:
|
||||
let
|
||||
version = "8.57";
|
||||
version = "8.58";
|
||||
in
|
||||
maven.buildMavenPackage {
|
||||
pname = "megabasterd";
|
||||
@@ -16,7 +16,7 @@ maven.buildMavenPackage {
|
||||
owner = "tonikelope";
|
||||
repo = "megabasterd";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-6PKBzQA3lBa9/7J8bymGmnW3OPsRV4GgZ7dc7H6fOuE=";
|
||||
hash = "sha256-cF0OU/b4BthRmWYUB0ZjE/gRO//T73njgp3iZt+USgA=";
|
||||
};
|
||||
|
||||
mvnHash = "sha256-JZ8INISDHPVhxylKwQc2DybPqxfwcGpkWxDhq8Fpqt8=";
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "metapac";
|
||||
version = "0.10.0";
|
||||
version = "0.10.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ripytide";
|
||||
repo = "metapac";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-zp45oaLRHv6NdBQEpTEtG93gF04V8YayluXO2IV8LkI=";
|
||||
hash = "sha256-6Nw4CUTx0/KcHHguRrUH6Sa+DZhPJqdsTEeVBb0eEqw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-sw9MPnhbQPifkDJoO33RbMBtTsSyRmuiNVyjlteAAcM=";
|
||||
cargoHash = "sha256-hUd9qWXXErOyJV0mjmkMUb8KPuUhp1XI3GNYwpt1Xow=";
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
|
||||
@@ -72,7 +72,7 @@ let
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
maintainers = with lib.maintainers; [
|
||||
piotrkwiecinski
|
||||
poopsicles
|
||||
dibenzepin
|
||||
];
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
};
|
||||
|
||||
@@ -174,7 +174,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
install -D ${tree_h} $dev/include/sys/tree.h
|
||||
'';
|
||||
|
||||
passthru.linuxHeaders = linuxHeaders;
|
||||
passthru = {
|
||||
linuxHeaders = linuxHeaders;
|
||||
|
||||
# musl's threads are POSIX threads. `libgcc` and `libstdc++` have to be
|
||||
# configured for the same threading model as each other, so rather than
|
||||
# have each guess, they take it from the libc they are built against.
|
||||
threadModel = "posix";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Efficient, small, quality libc implementation";
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "namespace-cli";
|
||||
version = "0.0.551";
|
||||
version = "0.0.556";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "namespacelabs";
|
||||
repo = "foundation";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-utBatGjHNLTT+hdYde5NIZmD7c+oS9zFl9dCyrtMx2s=";
|
||||
hash = "sha256-Vq9aOhQKz2nyjy+zXnaUxGbTrPBmyWeR0n26kReRd3I=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-1MjkgJvn2u2zcO6lMAHdEbiGVp24D3Gv98GQZxGk27Y=";
|
||||
vendorHash = "sha256-x4GWkINfOzcLFg7mCHG80Dpz7tkdcEDMj1oPAXM2n8w=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/nsc"
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "nats-server";
|
||||
version = "2.14.4";
|
||||
version = "2.14.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nats-io";
|
||||
repo = "nats-server";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-Jbw+R1na8tjTLyKJC/KDPhA1G1jgNxMhC+xD38IWH2k=";
|
||||
hash = "sha256-rsbvFUJcprWEZx0SPfIr+M0IyyCYbDncBLenOBniumM=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Lmbacb85+hTe4QoeO72aPOytZQiMQCymOelmGwh0/2E=";
|
||||
vendorHash = "sha256-VB4x100hSSsY6fqODuIefanzchOHlfyfJrNSJUea42U=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
meta = {
|
||||
homepage = "https://github.com/BratishkaErik/ncdu";
|
||||
description = "Disk usage analyzer with an ncurses interface";
|
||||
changelog = "https://github.com/BratishkaErik/ncdu/releases";
|
||||
changelog = "https://github.com/BratishkaErik/ncdu/releases/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
pSub
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "nerva";
|
||||
version = "1.64.2";
|
||||
version = "1.64.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "praetorian-inc";
|
||||
repo = "nerva";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-vZ03tcYvo+0s/ix+TCLUm9xAyi22mYXYm/15IYMomtE=";
|
||||
hash = "sha256-LqJrrZg/UyMqDYuESHqHR0jOAe7gmGKJToNUg/ABOcc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Z0MSD+1/1VzrJ+pz5x0JvxrCxtJe59ckaTqHK/+TVN8=";
|
||||
|
||||
@@ -14,7 +14,7 @@ resholve.mkDerivation (finalAttrs: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "nix-community";
|
||||
repo = "nix-direnv";
|
||||
rev = finalAttrs.version;
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-dNJeSRuuqA2avtLpTse7mTTmnYdVnC5BxRsofuLXiqE=";
|
||||
};
|
||||
|
||||
@@ -68,6 +68,7 @@ resholve.mkDerivation (finalAttrs: {
|
||||
meta = {
|
||||
description = "Fast, persistent use_nix implementation for direnv";
|
||||
homepage = "https://github.com/nix-community/nix-direnv";
|
||||
changelog = "https://github.com/nix-community/nix-direnv/releases/${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
lib,
|
||||
tls ? true,
|
||||
gnutls,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
gccStdenv.mkDerivation (finalAttrs: {
|
||||
@@ -42,6 +43,8 @@ gccStdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.tests.nixos = nixosTests.nullmailer;
|
||||
|
||||
meta = {
|
||||
homepage = "http://untroubled.org/nullmailer/";
|
||||
description = ''
|
||||
|
||||
@@ -10,7 +10,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
version = "2.7.0";
|
||||
|
||||
src =
|
||||
with stdenv;
|
||||
with stdenv.hostPlatform;
|
||||
fetchurl (
|
||||
if isx86_64 && isLinux then
|
||||
{
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
pythonSupport ? (stdenv.buildPlatform.canExecute stdenv.hostPlatform),
|
||||
cudaSupport ? config.cudaSupport,
|
||||
ncclSupport ? cudaSupport && cudaPackages.nccl.meta.available,
|
||||
openvinoSupport ? stdenv.isLinux,
|
||||
openvinoSupport ? stdenv.hostPlatform.isLinux,
|
||||
rocmSupport ? config.rocmSupport,
|
||||
coremlSupport ? stdenv.hostPlatform.isDarwin,
|
||||
withFullProtobuf ? false,
|
||||
|
||||
@@ -84,11 +84,6 @@ buildGoModule (finalAttrs: {
|
||||
getGoDirs() {
|
||||
go list ./... | grep -v -e e2e ${lib.optionalString stdenv.hostPlatform.isDarwin "-e wasm"}
|
||||
}
|
||||
''
|
||||
# remove tests that have "too many open files"/"no space left on device" issues on darwin in hydra
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
rm v1/server/server_test.go
|
||||
rm v1/server/server_bench_test.go
|
||||
'';
|
||||
|
||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
|
||||
@@ -20,7 +20,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pnpm = pnpm_11;
|
||||
sourceRoot = "${finalAttrs.src.name}/${finalAttrs.pnpmRoot}";
|
||||
fetcherVersion = 4;
|
||||
hash = "sha256-buDYvRw4NTLxFSdDRZHiuXMVe9fJbe2iu5hr+zh6KLs=";
|
||||
hash = "sha256-rj6KFrzuINVpxrrel2p2iWtJVH8Zg1jrZEIAs8S+8Qs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -28,13 +28,13 @@ let
|
||||
in
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "opencloud";
|
||||
version = "7.3.0";
|
||||
version = "7.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "opencloud-eu";
|
||||
repo = "opencloud";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-2YwDH4qD4PCbfi/nNGPqwtJIpf8MPMGrVRslNWOoDPM=";
|
||||
hash = "sha256-/j3aXAzsIWPHNIRcHLlbi6Y53be5d5GBqrVIZCk0bEw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -10,20 +10,20 @@
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "opencloud-web";
|
||||
version = "7.2.0";
|
||||
version = "7.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "opencloud-eu";
|
||||
repo = "web";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-BiOue8+zQ3+6RLiDbLMnxKEen2aav3bljji4d+0Hr5c=";
|
||||
hash = "sha256-v1VmX3q2YQUd3PvRVVEvDvpsgVcNklflXRXRvtHOuCU=";
|
||||
};
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
pnpm = pnpm_11;
|
||||
fetcherVersion = 4;
|
||||
hash = "sha256-gCsgnOEi9rvtwTZy8J/i63D92Gl2V9ZihxCJ+Y5hLUE=";
|
||||
hash = "sha256-Y/Xz62ZS7pU6WB3dxewfhNI4POW/r/DGodpEy+xw/ww=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
openttd.overrideAttrs (oldAttrs: rec {
|
||||
pname = "openttd-jgrpp";
|
||||
version = "0.73.0";
|
||||
version = "0.73.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "JGRennison";
|
||||
repo = "OpenTTD-patches";
|
||||
rev = "jgrpp-${version}";
|
||||
hash = "sha256-eFUKJSpHLhyGXvKo/uSB01+5nGv5Y7yUTIU3U81Qx5U=";
|
||||
hash = "sha256-L99u4J/yiaQB2TTP63gIX6N4OrVOuM4/1bpLkCzVvXU=";
|
||||
};
|
||||
patches = [ ];
|
||||
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
swiftPackages,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (swiftPackages) stdenv swift;
|
||||
inherit (stdenv.hostPlatform) darwinArch;
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "openwith";
|
||||
version = "unstable-2022-10-28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jdek";
|
||||
repo = "openwith";
|
||||
rev = "a8a99ba0d1cabee7cb470994a1e2507385c30b6e";
|
||||
hash = "sha256-lysleg3qM2MndXeKjNk+Y9Tkk40urXA2ZdxY5KZNANo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ swift ];
|
||||
|
||||
makeFlags = [ "openwith_${darwinArch}" ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install openwith_${darwinArch} -D $out/bin/openwith
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Utility to specify which application bundle should open specific file extensions";
|
||||
homepage = "https://github.com/jdek/openwith";
|
||||
license = lib.licenses.unlicense;
|
||||
maintainers = with lib.maintainers; [ zowoq ];
|
||||
platforms = [
|
||||
"aarch64-darwin"
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
(lib.cmakeBool "PCB2GCODE_COMPILE_WARNING_AS_ERROR" false)
|
||||
];
|
||||
|
||||
preConfigure = lib.optionalString stdenv.isDarwin ''
|
||||
preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
export CXXFLAGS="$CXXFLAGS -fpermissive -Wno-error=c++20-extensions -Wno-error=invalid-constexpr"
|
||||
'';
|
||||
|
||||
|
||||
@@ -12,13 +12,13 @@ let
|
||||
in
|
||||
buildNpmPackage rec {
|
||||
pname = "piped";
|
||||
version = "0-unstable-2026-07-06";
|
||||
version = "0-unstable-2026-08-09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TeamPiped";
|
||||
repo = "piped";
|
||||
rev = "335b10d0c02e407b4ba9113e32912b0d783ad455";
|
||||
hash = "sha256-vcXmsgDZJ3v/1XNXtU3v9GWlDJBatXK9peTPVQe5De0=";
|
||||
rev = "5ef4a0d0072753521cb7584075346623b8282402";
|
||||
hash = "sha256-8vuanaSjspGkminCO2fTrGhecpoGgTcpEtl7YT2ZDYA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pnpm ];
|
||||
@@ -39,7 +39,7 @@ buildNpmPackage rec {
|
||||
pnpm
|
||||
;
|
||||
fetcherVersion = 4;
|
||||
hash = "sha256-55nG7tfXtxnyfZop+8Wg8rSFOHQi0TjRc0QT16erX1E=";
|
||||
hash = "sha256-mBEzm+GzF/V3W/6JPOn81YawAMaSTw8THtOUb3qtmvc=";
|
||||
};
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
|
||||
48
pkgs/by-name/pr/prometheus-snowflake-exporter/package.nix
Normal file
48
pkgs/by-name/pr/prometheus-snowflake-exporter/package.nix
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "prometheus-snowflake-exporter";
|
||||
# No tagged release upstream (only a moving `latest` tag), so pin the commit and
|
||||
# use nixpkgs' unstable versioning. Bump the date + rev on update.
|
||||
version = "0-unstable-2026-07-02";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "grafana";
|
||||
repo = "snowflake-prometheus-exporter";
|
||||
rev = "d9447d3401aa81b26c091775606c502bf8e2d7cd";
|
||||
hash = "sha256-3yaZ2kk2k5ivUNgRNazYjA38zY4dvsTOrkvftQpCW5A=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-HvlZ5g1LqAoXuFuidmHCMTeFfivqUR2ryAh0hQayxnc=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X github.com/prometheus/common/version.Version=${finalAttrs.version}"
|
||||
"-X github.com/prometheus/common/version.Branch=master"
|
||||
"-X github.com/prometheus/common/version.BuildUser=nixbld@nixpkgs"
|
||||
];
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
extraArgs = [ "--version=branch" ];
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Prometheus exporter for Snowflake metrics";
|
||||
homepage = "https://github.com/grafana/snowflake-prometheus-exporter";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ rhousand ];
|
||||
mainProgram = "snowflake-exporter";
|
||||
};
|
||||
})
|
||||
@@ -14,14 +14,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "radicle-ci-broker";
|
||||
version = "0.30.0";
|
||||
version = "0.31.0";
|
||||
|
||||
src = fetchFromRadicle {
|
||||
seed = "seed.radicle.dev";
|
||||
repo = "zwTxygwuz5LDGBq255RA2CbNGrz8";
|
||||
node = "z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-30+s//C9uMpGgA976RRduHmnmF6YEYmmG+V5P/1TYhA=";
|
||||
hash = "sha256-yY2ke4JBAn0ZTaZ7HV8GCPF5Yqj1j+7GvjFXQQVM3ME=";
|
||||
leaveDotGit = true;
|
||||
postFetch = ''
|
||||
git -C $out rev-parse --short HEAD > $out/.git_head
|
||||
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
'';
|
||||
};
|
||||
|
||||
cargoHash = "sha256-9DzdeJcjl8IpmDR+kXdbEHrGi/5e9P26HsZJ9OPZRSA=";
|
||||
cargoHash = "sha256-+XB2+k18gWEO7tpsQK+ua133PcZ0mxV+txle7VutXIk=";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace build.rs \
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
xdg-utils,
|
||||
versionCheckHook,
|
||||
|
||||
version ? "1.10.0",
|
||||
srcHash ? "sha256-msKnRL6T9Z+bSxknRvhKSE6rDlGA0e8aWwM1/PhUzZw=",
|
||||
cargoHash ? "sha256-g23LqCXZt+/JX+1Nb9JCORxI0P/LJL2MZHg3lATKLd8=",
|
||||
version ? "1.10.1",
|
||||
srcHash ? "sha256-F+64o9z/al0iaLFyQHAYk/3jjf5T0FdgqaU3nEWIheg=",
|
||||
cargoHash ? "sha256-TLffetbkVwIbUDoI+96T99+lfYu2SIpGtwC0DbuJXnU=",
|
||||
updateScript ? ./update.sh,
|
||||
}:
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{ radicle-node }:
|
||||
|
||||
radicle-node.override {
|
||||
version = "1.10.0";
|
||||
srcHash = "sha256-msKnRL6T9Z+bSxknRvhKSE6rDlGA0e8aWwM1/PhUzZw=";
|
||||
cargoHash = "sha256-g23LqCXZt+/JX+1Nb9JCORxI0P/LJL2MZHg3lATKLd8=";
|
||||
version = "1.10.1";
|
||||
srcHash = "sha256-F+64o9z/al0iaLFyQHAYk/3jjf5T0FdgqaU3nEWIheg=";
|
||||
cargoHash = "sha256-TLffetbkVwIbUDoI+96T99+lfYu2SIpGtwC0DbuJXnU=";
|
||||
updateScript = ./update-unstable.sh;
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
theStdenv = if stdenv.isDarwin then gcc14Stdenv else stdenv;
|
||||
theStdenv = if stdenv.hostPlatform.isDarwin then gcc14Stdenv else stdenv;
|
||||
in
|
||||
theStdenv.mkDerivation (finalAttrs: {
|
||||
pname = "reprepro";
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "rerun";
|
||||
version = "0.35.0";
|
||||
version = "0.36.0";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -53,7 +53,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
owner = "rerun-io";
|
||||
repo = "rerun";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-PPur5of8zoStXl+3Eq/sgDZ0E9ADUnks6nJ55mzJTuI=";
|
||||
hash = "sha256-t/OvWxMFfkTKrTYvaw7xcmL6oDyNaKoyW0sa/n5yVMs=";
|
||||
};
|
||||
|
||||
# The path in `build.rs` is wrong for some reason, so we patch it to make the passthru tests work
|
||||
@@ -62,7 +62,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
--replace-fail '"rerun_sdk/rerun_cli/rerun"' '"rerun_sdk/rerun"'
|
||||
'';
|
||||
|
||||
cargoHash = "sha256-yapmDUOCCqvxmFFe/nQjeBWytTEnMw2opd/U7aXI4jQ=";
|
||||
cargoHash = "sha256-VXKMEilmgHLHAq6Y7gDvKNJywRIV4fv/XHmNFCMjJws=";
|
||||
|
||||
cargoBuildFlags = [
|
||||
"--package"
|
||||
|
||||
@@ -51,6 +51,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
description = "Console utility and library for computing and verifying hash sums of files";
|
||||
license = lib.licenses.bsd0;
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = [ ];
|
||||
maintainers = with lib.maintainers; [ graysontinker ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "rime-moegirl";
|
||||
version = "20260713";
|
||||
version = "20260812";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/outloudvi/mw2fcitx/releases/download/${finalAttrs.version}/moegirl.dict.yaml";
|
||||
hash = "sha256-Fca5vWdmqaRnP6id4TqVGFsTxnynAoQTMgAWntF5eY0=";
|
||||
hash = "sha256-WDbIdQdBX03NsPxFrs9N166CGDplDN15MOHmY+MuOiQ=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "rizin-sigdb";
|
||||
version = "unstable-2023-08-23";
|
||||
version = "0-unstable-2023-08-23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rizinorg";
|
||||
|
||||
33
pkgs/by-name/rm/rmatrix/package.nix
Normal file
33
pkgs/by-name/rm/rmatrix/package.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
versionCheckHook,
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "rmatrix";
|
||||
version = "0.3.3";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Tripstack-Corp";
|
||||
repo = "rmatrix";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-sViNj7paMY/3x9u6dKHKf+XQRgv+EYsYsooZSTAwrA4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-em16fNb4BZeTsZuaT5Bu/u2cc75iSjOcSDYU0qazefM=";
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
meta = {
|
||||
description = "Digital rain for modern terminals";
|
||||
maintainers = with lib.maintainers; [ yarn ];
|
||||
platforms = lib.platforms.all;
|
||||
license = lib.licenses.mit;
|
||||
homepage = "https://github.com/Tripstack-Corp/rmatrix";
|
||||
mainProgram = "rmatrix";
|
||||
};
|
||||
})
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "rtorrent";
|
||||
version = "0.16.19";
|
||||
version = "0.16.20";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "rakshasa";
|
||||
repo = "rtorrent";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-oMErraDUyCiuRxFZ5CoBvoW9vXHG+eLHnAKzm6kWt2Y=";
|
||||
hash = "sha256-fwMyzRBMO45djYXGAE8RcadM/lMJ5m9yi9DEomzO1Es=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user