Merge 19a053f28c into haskell-updates

This commit is contained in:
nixpkgs-ci[bot] 2026-06-25 00:53:29 +00:00 committed by GitHub
commit 85b5c86354
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
349 changed files with 8491 additions and 6314 deletions

View file

@ -25,27 +25,27 @@
/shell.nix @infinisil @NixOS/Security
# Libraries
/lib @infinisil @hsjobeki
/lib/generators.nix @infinisil @hsjobeki
/lib/cli.nix @infinisil @hsjobeki
/lib/debug.nix @infinisil @hsjobeki
/lib/asserts.nix @infinisil @hsjobeki
/lib/path/* @infinisil @hsjobeki
/lib/fileset @infinisil @hsjobeki
/maintainers/github-teams.json @infinisil
/maintainers/computed-team-list.nix @infinisil
/lib @infinisil @hsjobeki @llakala
/lib/generators.nix @infinisil @hsjobeki @llakala
/lib/cli.nix @infinisil @hsjobeki @llakala
/lib/debug.nix @infinisil @hsjobeki @llakala
/lib/asserts.nix @infinisil @hsjobeki @llakala
/lib/path/* @infinisil @hsjobeki @llakala
/lib/fileset @infinisil @hsjobeki @llakala
/maintainers/github-teams.json @infinisil @llakala
/maintainers/computed-team-list.nix @infinisil @llakala
## Standard environmentrelated libraries
/lib/customisation.nix @alyssais @NixOS/stdenv
/lib/derivations.nix @NixOS/stdenv
/lib/fetchers.nix @alyssais @NixOS/stdenv
/lib/meta.nix @alyssais @NixOS/stdenv
/lib/meta-types.nix @infinisil @adisbladis @NixOS/stdenv
/lib/source-types.nix @alyssais @NixOS/stdenv
/lib/systems @alyssais @NixOS/stdenv
/lib/customisation.nix @alyssais @NixOS/stdenv @llakala
/lib/derivations.nix @NixOS/stdenv @llakala
/lib/fetchers.nix @alyssais @NixOS/stdenv @llakala
/lib/meta.nix @alyssais @NixOS/stdenv @llakala
/lib/meta-types.nix @infinisil @adisbladis @NixOS/stdenv @llakala
/lib/source-types.nix @alyssais @NixOS/stdenv @llakala
/lib/systems @alyssais @NixOS/stdenv @llakala
## Libraries / Module system
/lib/modules.nix @infinisil @roberth @hsjobeki
/lib/types.nix @infinisil @roberth @hsjobeki
/lib/options.nix @infinisil @roberth @hsjobeki
/lib/modules.nix @infinisil @roberth @hsjobeki @llakala
/lib/types.nix @infinisil @roberth @hsjobeki @llakala
/lib/options.nix @infinisil @roberth @hsjobeki @llakala
/lib/tests/modules.sh @infinisil @roberth @hsjobeki
/lib/tests/modules @infinisil @roberth @hsjobeki
@ -63,11 +63,11 @@
/pkgs/top-level/packages-info.nix @jopejoe1
/pkgs/top-level/release-lib.nix @jopejoe1
/pkgs/top-level/release.nix @jopejoe1
/pkgs/stdenv @philiptaron @NixOS/stdenv
/pkgs/stdenv/generic @Ericson2314 @NixOS/stdenv
/pkgs/stdenv/generic/problems.nix @infinisil
/pkgs/stdenv @philiptaron @NixOS/stdenv @llakala
/pkgs/stdenv/generic @Ericson2314 @NixOS/stdenv @llakala
/pkgs/stdenv/generic/problems.nix @infinisil @llakala
/pkgs/test/problems @infinisil
/pkgs/stdenv/generic/check-meta.nix @infinisil @Ericson2314 @adisbladis @NixOS/stdenv
/pkgs/stdenv/generic/check-meta.nix @infinisil @Ericson2314 @adisbladis @NixOS/stdenv @llakala
/pkgs/stdenv/cross @Ericson2314 @NixOS/stdenv
/pkgs/build-support @philiptaron
/pkgs/build-support/cc-wrapper @Ericson2314
@ -82,10 +82,6 @@
# Nixpkgs build-support
/pkgs/build-support/writers @lassulus
# Nixpkgs make-disk-image
/doc/build-helpers/images/makediskimage.section.md @raitobezarius
/nixos/lib/make-disk-image.nix @raitobezarius
# Nix, the package manager
# @raitobezarius is not "code owner", but is listed here to be notified of changes
# pertaining to the Nix package manager.
@ -99,16 +95,16 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @Artturin @Ericson2314 @lo
/maintainers/scripts/doc @jtojnar @ryantm
# Contributor documentation
/CONTRIBUTING.md @infinisil
/.github/PULL_REQUEST_TEMPLATE.md @infinisil
/doc/contributing/ @infinisil
/doc/contributing/contributing-to-documentation.chapter.md @jtojnar @infinisil
/lib/README.md @infinisil
/doc/README.md @infinisil
/nixos/README.md @infinisil
/pkgs/README.md @infinisil
/pkgs/by-name/README.md @infinisil
/maintainers/README.md @infinisil
/CONTRIBUTING.md
/.github/PULL_REQUEST_TEMPLATE.md
/doc/contributing/
/doc/contributing/contributing-to-documentation.chapter.md @jtojnar
/lib/README.md
/doc/README.md
/nixos/README.md
/pkgs/README.md
/pkgs/by-name/README.md
/maintainers/README.md
# User-facing development documentation
/doc/development.md @infinisil
@ -238,9 +234,7 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @Artturin @Ericson2314 @lo
# C compilers
/pkgs/development/compilers/gcc
/pkgs/development/compilers/llvm @NixOS/llvm
/pkgs/development/compilers/emscripten @raitobezarius
/doc/toolchains/llvm.chapter.md @NixOS/llvm
/doc/languages-frameworks/emscripten.section.md @raitobezarius
# Audio
/nixos/modules/services/audio/botamusique.nix @mweinelt
@ -272,7 +266,7 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/pkgs/applications/editors/jetbrains @leona-ya @theCapypara
# Licenses
/lib/licenses @alyssais @emilazy @jopejoe1
/lib/licenses @alyssais @emilazy @jopejoe1 @llakala
# Qt
/pkgs/development/libraries/qt-5 @K900 @NickCao @SuperSandro2000
@ -333,11 +327,6 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/nixos/tests/kea.nix @mweinelt
/nixos/tests/knot.nix @mweinelt
# Web servers
/doc/packages/nginx.section.md @raitobezarius
/pkgs/servers/http/nginx/ @raitobezarius
/nixos/modules/services/web-servers/nginx/ @raitobezarius
# D
/pkgs/build-support/dlang @jtbx @TomaSajt

View file

@ -10,7 +10,6 @@
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- Paths under `/etc/xdg/` from packages in `environment.systemPackages` are no longer linked into the global `/etc/` by default. Modules depending on such directories must declare them explicitly using `environment.pathsToLink`.
- `databricks-cli` has been updated from `0.290.2` to `1.x.x`, the first major release. OAuth tokens for interactive logins (`auth_type = databricks-cli`) are now stored in the OS-native secure store by default (Secret Service on Linux) instead of `~/.databricks/token-cache.json`; cached tokens from older versions are not migrated, so run `databricks auth login` once per profile after upgrading. To keep the previous file-backed storage, set `DATABRICKS_AUTH_STORAGE=plaintext` or add `auth_storage = plaintext` under `[__settings__]` in `~/.databrickscfg`. Additionally, the `vector_search_endpoints` DABs resource renamed `min_qps` to `target_qps` (and the `vector-search-endpoints` command renamed `--min-qps` to `--target-qps`). See the [upstream changelog](https://github.com/databricks/cli/blob/main/CHANGELOG.md) for details.
- `hurl` has been updated to `8.x.x` which has some breaking changes. See [upstream changelog](https://github.com/Orange-OpenSource/hurl/releases/tag/8.0.0) for details.
@ -38,6 +37,8 @@
`lib.systems.{examples,platforms}.{sheevaplug,pogoplug4}` have been unified into `lib.systems.examples.armv5tel-multiplatform`.
Note that there is no official support for ARMv5 and it is not possible to build even a simple NixOS configuration out of the box.
- `pdns` has been updated from `5.0.x` to `5.1.x`. Please be sure to review the [Upgrade Notes](https://doc.powerdns.com/authoritative/upgrading.html#to-5-1-0) before upgrading. Namely LUA record updates are no longer allowed by default, and the embedded webserver no longer includes a `access-control-allow-origin: *` header by default.
- Support for the legacy UBoot image format has been removed from the Linux kernel builders, as it is deprecated upstream and no longer used by any platform in Nixpkgs.
- `rke2` retires ingress-nginx and transitions to Traefik starting in `rke2_1_36`. Because ingress-nginx was retired upstream as of March 2026, Traefik is now the default

View file

@ -6,12 +6,12 @@ let
inherit (lib.strings) toInt;
inherit (lib.trivial)
compare
min
id
min
seq
warn
;
inherit (lib.attrsets) mapAttrs attrNames attrValues;
inherit (lib) max;
in
rec {
@ -276,11 +276,14 @@ rec {
:::
*/
foldl' =
let
inherit (builtins) foldl';
in
op: acc:
# The builtin `foldl'` is a bit lazier than one might expect.
# See https://github.com/NixOS/nix/pull/7158.
# In particular, the initial accumulator value is not forced before the first iteration starts.
builtins.seq acc (builtins.foldl' op acc);
seq acc (foldl' op acc);
/**
Map with index starting from 0
@ -442,7 +445,7 @@ rec {
:::
*/
flatten = x: if isList x then concatMap (y: flatten y) x else [ x ];
flatten = x: if isList x then concatMap flatten x else [ x ];
/**
Remove elements equal to `e` from a list. Useful for `buildInputs`.
@ -1122,9 +1125,10 @@ rec {
reverseList =
xs:
let
l = length xs;
# subtract one to save an __sub call on every element
lastIndex = length xs - 1;
in
genList (n: elemAt xs (l - n - 1)) l;
genList (n: elemAt xs (lastIndex - n)) (lastIndex + 1);
/**
Depth-First Search (DFS) for lists `list != []`.
@ -1181,13 +1185,13 @@ rec {
c = filter (x: before x us) visited;
b = partition (x: before x us) rest;
in
if stopOnCycles && (length c > 0) then
if stopOnCycles && c != [ ] then
{
cycle = us;
loops = c;
inherit visited rest;
}
else if length b.right == 0 then
else if b.right == [ ] then
# nothing is before us
{
minimal = us;
@ -1244,27 +1248,33 @@ rec {
:::
*/
toposort =
before: list:
before:
let
dfsthis = listDfs true before list;
toporest = toposort before (dfsthis.visited ++ dfsthis.rest);
dfs = listDfs true before;
recurse =
list:
let
dfsthis = dfs list;
toporest = recurse (dfsthis.visited ++ dfsthis.rest);
in
if length list < 2 then
# finish
{ result = list; }
else if dfsthis ? cycle then
# there's a cycle, starting from the current vertex, return it
{
cycle = reverseList dfsthis.visited ++ [ dfsthis.cycle ];
inherit (dfsthis) loops;
}
else if toporest ? cycle then
# there's a cycle somewhere else in the graph, return it
toporest
# Slow, but short. Can be made a bit faster with an explicit stack.
else
# there are no cycles
{ result = [ dfsthis.minimal ] ++ toporest.result; };
in
if length list < 2 then
# finish
{ result = list; }
else if dfsthis ? cycle then
# there's a cycle, starting from the current vertex, return it
{
cycle = reverseList ([ dfsthis.cycle ] ++ dfsthis.visited);
inherit (dfsthis) loops;
}
else if toporest ? cycle then
# there's a cycle somewhere else in the graph, return it
toporest
# Slow, but short. Can be made a bit faster with an explicit stack.
else
# there are no cycles
{ result = [ dfsthis.minimal ] ++ toporest.result; };
recurse;
/**
Sort a list based on a comparator function which compares two
@ -1504,7 +1514,12 @@ rec {
:::
*/
take = count: sublist 0 count;
take =
count: list:
let
len = length list;
in
genList (elemAt list) (if count > len then len else count);
/**
Returns the last (at most) N elements of a list.
@ -1538,7 +1553,13 @@ rec {
:::
*/
takeEnd = n: xs: drop (max 0 (length xs - n)) xs;
takeEnd =
count: list:
let
len = length list;
start = if count > len then 0 else len - count;
in
genList (i: elemAt list (start + i)) (if start > len then 0 else len - start);
/**
Remove the first (at most) N elements of a list.
@ -1572,7 +1593,12 @@ rec {
:::
*/
drop = count: list: sublist count (length list) list;
drop =
count: list:
let
len = length list;
in
genList (n: elemAt list (n + count)) (if count > len then 0 else len - count);
/**
Remove the last (at most) N elements of a list.
@ -1606,7 +1632,19 @@ rec {
```
:::
*/
dropEnd = n: xs: take (max 0 (length xs - n)) xs;
dropEnd =
n: list:
let
len = length list;
in
genList (elemAt list) (
if n > len then
0
else if n < 0 then
len
else
len - n
);
/**
Whether the first list is a prefix of the second list.
@ -1844,7 +1882,7 @@ rec {
init =
list:
assert lib.assertMsg (list != [ ]) "lists.init: list must not be empty!";
take (length list - 1) list;
genList (elemAt list) (length list - 1);
/**
Returns the image of the cross product of some lists by a function.

View file

@ -6,8 +6,6 @@ let
inherit (builtins) length;
inherit (lib.trivial) warnIf;
asciiTable = import ./ascii-table.nix;
in
@ -16,6 +14,7 @@ rec {
inherit (builtins)
compareVersions
concatMap
elem
elemAt
filter
@ -564,7 +563,10 @@ rec {
:::
*/
makeSearchPath =
subDir: paths: concatStringsSep ":" (map (path: path + "/" + subDir) (filter (x: x != null) paths));
subDir: paths:
concatStringsSep ":" (
concatMap (path: if path != null then [ (path + "/" + subDir) ] else [ ]) paths
);
/**
Construct a Unix-style search path by appending the given
@ -602,8 +604,14 @@ rec {
:::
*/
makeSearchPathOutput =
output: subDir: pkgs:
makeSearchPath subDir (map (lib.getOutput output) pkgs);
output:
let
getOutput' = lib.getOutput output;
in
subDir: pkgs:
concatStringsSep ":" (
concatMap (path: if path != null then [ (getOutput' path + "/" + subDir) ] else [ ]) pkgs
);
/**
Construct a library search path (such as RPATH) containing the
@ -721,15 +729,17 @@ rec {
:::
*/
normalizePath =
let
startsWithSlash = hasSuffix "/";
in
s:
warnIf (isPath s)
''
if isPath s then
throw ''
lib.strings.normalizePath: The argument (${toString s}) is a path value, but only strings are supported.
Path values are always normalised in Nix, so there's no need to call this function on them.
This function also copies the path to the Nix store and returns the store path, the same as "''${path}" will, which may not be what you want.
This behavior is deprecated and will throw an error in the future.''
(
builtins.foldl' (x: y: if y == "/" && hasSuffix "/" x then x else x + y) "" (stringToCharacters s)
Path values are always normalised in Nix, so there's no need to call this function on them.''
else
builtins.foldl' (x: y: if y == "/" && startsWithSlash x then x else x + y) "" (
stringToCharacters s
);
/**
@ -796,17 +806,18 @@ rec {
:::
*/
hasPrefix =
pref: str:
# Before 23.05, paths would be copied to the store before converting them
# to strings and comparing. This was surprising and confusing.
warnIf (isPath pref)
''
pref:
let
lenPrefix = stringLength pref;
in
if isPath pref then
# Before 23.05, paths would be copied to the store before converting them
# to strings and comparing. This was surprising and confusing.
throw ''
lib.strings.hasPrefix: The first argument (${toString pref}) is a path value, but only strings are supported.
There is almost certainly a bug in the calling code, since this function always returns `false` in such a case.
This function also copies the path to the Nix store, which may not be what you want.
This behavior is deprecated and will throw an error in the future.
You might want to use `lib.path.hasPrefix` instead, which correctly supports paths.''
(substring 0 (stringLength pref) str == pref);
else
str: substring 0 lenPrefix str == pref;
/**
Determine whether a string has given suffix.
@ -839,20 +850,23 @@ rec {
:::
*/
hasSuffix =
suffix: content:
suffix:
let
lenContent = stringLength content;
lenSuffix = stringLength suffix;
in
# Before 23.05, paths would be copied to the store before converting them
# to strings and comparing. This was surprising and confusing.
warnIf (isPath suffix)
''
if isPath suffix then
# Before 23.05, paths would be copied to the store before converting them
# to strings and comparing. This was surprising and confusing.
throw ''
lib.strings.hasSuffix: The first argument (${toString suffix}) is a path value, but only strings are supported.
There is almost certainly a bug in the calling code, since this function always returns `false` in such a case.
This function also copies the path to the Nix store, which may not be what you want.
This behavior is deprecated and will throw an error in the future.''
(lenContent >= lenSuffix && substring (lenContent - lenSuffix) lenContent content == suffix);
There is almost certainly a bug in the calling code, since this function always returns `false` in such a case.
This function also copies the path to the Nix store, which may not be what you want.''
else
content:
let
lenContent = stringLength content;
in
lenContent >= lenSuffix && substring (lenContent - lenSuffix) lenContent content == suffix;
/**
Determine whether a string contains the given infix
@ -889,16 +903,19 @@ rec {
:::
*/
hasInfix =
infix: content:
# Before 23.05, paths would be copied to the store before converting them
# to strings and comparing. This was surprising and confusing.
warnIf (isPath infix)
''
infix:
let
escapedInfix = escapeRegex infix;
in
if isPath infix then
# Before 23.05, paths would be copied to the store before converting them
# to strings and comparing. This was surprising and confusing.
throw ''
lib.strings.hasInfix: The first argument (${toString infix}) is a path value, but only strings are supported.
There is almost certainly a bug in the calling code, since this function always returns `false` in such a case.
This function also copies the path to the Nix store, which may not be what you want.
This behavior is deprecated and will throw an error in the future.''
(builtins.match ".*${escapeRegex infix}.*" "${content}" != null);
This function also copies the path to the Nix store, which may not be what you want.''
else
content: builtins.match ".*${escapedInfix}.*" "${content}" != null;
/**
Convert a string `s` to a list of characters (i.e. singleton strings).
@ -1303,8 +1320,11 @@ rec {
:::
*/
toShellVar =
name: value:
lib.throwIfNot (isValidPosixName name) "toShellVar: ${name} is not a valid shell variable name" (
name:
if (!isValidPosixName name) then
throw "toShellVar: ${name} is not a valid shell variable name"
else
value:
if isAttrs value && !isStringLike value then
"declare -A ${name}=(${
concatStringsSep " " (lib.mapAttrsToList (n: v: "[${escapeShellArg n}]=${escapeShellArg v}") value)
@ -1312,8 +1332,7 @@ rec {
else if isList value then
"declare -a ${name}=(${escapeShellArgs value})"
else
"${name}=${escapeShellArg value}"
);
"${name}=${escapeShellArg value}";
/**
Translate an attribute set `vars` into corresponding shell variable declarations
@ -1575,9 +1594,9 @@ rec {
(
let
firstChar = substring 0 1 str;
rest = substring 1 (stringLength str) str;
rest = substring 1 (-1) str; # -1 takes till the end of the string
in
addContextFrom str (toUpper firstChar + toLower rest)
toUpper firstChar + toLower rest
);
/**
@ -1634,7 +1653,7 @@ rec {
first = if length parts > 0 then toLower (head parts) else "";
rest = if length parts > 1 then map toSentenceCase (tail parts) else [ ];
in
concatStrings (map (addContextFrom str) ([ first ] ++ rest))
concatStrings ([ first ] ++ rest)
);
/**
@ -1721,13 +1740,11 @@ rec {
:::
*/
splitString =
sep: s:
sep:
let
splits = builtins.filter builtins.isString (
builtins.split (escapeRegex (toString sep)) (toString s)
);
escapedSep = escapeRegex (toString sep);
in
map (addContextFrom s) splits;
s: map (addContextFrom s) (filter isString (split escapedSep (toString s)));
/**
Splits a string into substrings based on a predicate that examines adjacent characters.
@ -1794,31 +1811,27 @@ rec {
predicate: keepSplit: str:
let
len = stringLength str;
withContext = addContextFrom str;
# Helper function that processes the string character by character
go =
pos: currentPart: result:
# Base case: reached end of string
if pos == len then
result ++ [ currentPart ]
result ++ [ (withContext currentPart) ]
else
let
currChar = substring pos 1 str;
prevChar = if pos > 0 then substring (pos - 1) 1 str else "";
isSplit = predicate prevChar currChar;
in
if isSplit then
if predicate prevChar currChar then
# Split here - add current part to results and start a new one
let
newResult = result ++ [ currentPart ];
newCurrentPart = if keepSplit then currChar else "";
in
go (pos + 1) newCurrentPart newResult
go (pos + 1) (if keepSplit then currChar else "") (result ++ [ (withContext currentPart) ])
else
# Keep building current part
go (pos + 1) (currentPart + currChar) result;
in
if len == 0 then [ (addContextFrom str "") ] else map (addContextFrom str) (go 0 "" [ ]);
if len == 0 then [ (withContext "") ] else go 0 "" [ ];
/**
Returns a string without the specified prefix, if the prefix matches.
@ -1851,25 +1864,24 @@ rec {
:::
*/
removePrefix =
prefix: str:
# Before 23.05, paths would be copied to the store before converting them
# to strings and comparing. This was surprising and confusing.
warnIf (isPath prefix)
''
prefix:
let
preLen = stringLength prefix;
in
if isPath prefix then
# Before 23.05, paths would be copied to the store before converting them
# to strings and comparing. This was surprising and confusing.
throw ''
lib.strings.removePrefix: The first argument (${toString prefix}) is a path value, but only strings are supported.
There is almost certainly a bug in the calling code, since this function never removes any prefix in such a case.
This function also copies the path to the Nix store, which may not be what you want.
This behavior is deprecated and will throw an error in the future.''
(
let
preLen = stringLength prefix;
in
if substring 0 preLen str == prefix then
# -1 will take the string until the end
substring preLen (-1) str
else
str
);
This function also copies the path to the Nix store, which may not be what you want.''
else
str:
if substring 0 preLen str == prefix then
# -1 will take the string until the end
substring preLen (-1) str
else
str;
/**
Returns a string without the specified suffix, if the suffix matches.
@ -1902,25 +1914,26 @@ rec {
:::
*/
removeSuffix =
suffix: str:
# Before 23.05, paths would be copied to the store before converting them
# to strings and comparing. This was surprising and confusing.
warnIf (isPath suffix)
''
suffix:
let
sufLen = stringLength suffix;
in
if isPath suffix then
# Before 23.05, paths would be copied to the store before converting them
# to strings and comparing. This was surprising and confusing.
throw ''
lib.strings.removeSuffix: The first argument (${toString suffix}) is a path value, but only strings are supported.
There is almost certainly a bug in the calling code, since this function never removes any suffix in such a case.
This function also copies the path to the Nix store, which may not be what you want.
This behavior is deprecated and will throw an error in the future.''
(
let
sufLen = stringLength suffix;
sLen = stringLength str;
in
if sufLen <= sLen && suffix == substring (sLen - sufLen) sufLen str then
substring 0 (sLen - sufLen) str
else
str
);
This function also copies the path to the Nix store, which may not be what you want.''
else
str:
let
sLen = stringLength str;
in
if sufLen <= sLen && suffix == substring (sLen - sufLen) sufLen str then
substring 0 (sLen - sufLen) str
else
str;
/**
Returns true if string `v1` denotes a version older than `v2`.
@ -1986,7 +1999,7 @@ rec {
:::
*/
versionAtLeast = v1: v2: !versionOlder v1 v2;
versionAtLeast = v1: v2: compareVersions v2 v1 != 1;
/**
This function takes an argument `x` that's either a derivation or a
@ -2149,8 +2162,9 @@ rec {
"LIST"
];
in
type: feature: value:
type:
assert (elem (toUpper type) types);
feature: value:
assert (isString feature);
assert (isString value);
"-D${feature}:${toUpper type}=${value}";
@ -2186,9 +2200,8 @@ rec {
*/
cmakeBool =
condition: flag:
assert (lib.isString condition);
assert (lib.isBool flag);
cmakeOptionType "bool" condition (lib.toUpper (lib.boolToString flag));
cmakeOptionType "bool" condition (if flag then "TRUE" else "FALSE");
/**
Create a `"-D<feature>:STRING=<value>"` string that can be passed to typical
@ -2220,11 +2233,7 @@ rec {
:::
*/
cmakeFeature =
feature: value:
assert (lib.isString feature);
assert (lib.isString value);
cmakeOptionType "string" feature value;
cmakeFeature = cmakeOptionType "string";
/**
Create a `"-D<feature>=<value>"` string that can be passed to typical Meson
@ -2294,7 +2303,6 @@ rec {
*/
mesonBool =
condition: flag:
assert (lib.isString condition);
assert (lib.isBool flag);
mesonOption condition (lib.boolToString flag);
@ -2331,7 +2339,6 @@ rec {
*/
mesonEnable =
feature: flag:
assert (lib.isString feature);
assert (lib.isBool flag);
mesonOption feature (if flag then "enabled" else "disabled");

View file

@ -4203,6 +4203,13 @@
githubId = 18356186;
name = "Gabriela Moreira";
};
buggymcbugfix = {
email = "nix@vilem.net";
github = "buggymcbugfix";
matrix = "@buggymcbugfix:matrix.org";
githubId = 17603372;
name = "Vilem Liepelt";
};
bugworm = {
email = "bugworm@zoho.com";
github = "bugworm";
@ -9881,6 +9888,12 @@
githubId = 3217744;
name = "Peter Ferenczy";
};
ghastrum = {
name = "Dennis Malmin";
email = "dennis.malmin@tuta.com";
github = "Ghastrum";
githubId = 276720856;
};
ghostbuster91 = {
name = "Kasper Kondzielski";
email = "kghost0@gmail.com";
@ -24892,6 +24905,13 @@
githubId = 149248;
name = "Christian Rackerseder";
};
Scriptkiddi = {
email = "nixos@scriptkiddi.de";
matrix = "@fritz.otlinghaus:helsinki-systems.de";
github = "Scriptkiddi";
githubId = 3598650;
name = "Fritz Otlinghaus";
};
Scrumplex = {
name = "Sefa Eyeoglu";
email = "contact@scrumplex.net";
@ -26534,6 +26554,11 @@
github = "StephenWithPH";
githubId = 2990492;
};
stephsi = {
name = "Stephan Siegl";
github = "stephsi";
githubId = 3120909;
};
sterfield = {
email = "sterfield@gmail.com";
github = "sterfield";

View file

@ -506,12 +506,11 @@ with lib.maintainers;
matrix = {
members = [
ma27
mguentner
dandellion
nickcao
teutat3s
transcaffeine
];
scope = "Maintain the ecosystem around Matrix, a decentralized messenger.";
scope = "Maintain the foundational packages of the Matrix ecosystem.";
shortName = "Matrix";
};

View file

@ -187,6 +187,7 @@ in
environment.pathsToLink = [
"/bin"
"/etc/xdg"
"/etc/gtk-2.0"
"/etc/gtk-3.0"
"/lib" # FIXME: remove and update debug-info.nix

View file

@ -22,6 +22,8 @@
};
config = {
# FIXME this does not actually work because "/etc/xdg" is linked
# unconditionally in `nixos/modules/config/system-path.nix`
environment.pathsToLink = lib.mkIf config.xdg.autostart.install [
"/etc/xdg/autostart"
];

View file

@ -387,6 +387,7 @@
./programs/zsh/zsh-syntax-highlighting.nix
./programs/zsh/zsh.nix
./rename.nix
./security/account-utils.nix
./security/acme
./security/agnos.nix
./security/apparmor.nix

View file

@ -262,22 +262,17 @@ in
(lib.mkIf cfg.generateCompletions {
etc."fish/generated_completions".source =
let
patchedGenerator = pkgs.stdenv.mkDerivation {
name = "fish_patched-completion-generator";
srcs = [
"${cfg.package}/share/fish/tools/create_manpage_completions.py"
];
unpackCmd = "cp $curSrc $(basename $curSrc)";
sourceRoot = ".";
patches = [ ./fish_completion-generator.patch ]; # to prevent collisions of identical completion files
dontBuild = true;
installPhase = ''
mkdir -p $out
cp * $out/
'';
preferLocalBuild = true;
allowSubstitutes = false;
};
# fish embeds the generator script in the binary, so extract it.
generator =
pkgs.runCommandLocal "fish_completion-generator"
{
nativeBuildInputs = [ cfg.package ];
}
''
mkdir -p $out
fish --no-config -c 'status get-file tools/create_manpage_completions.py' \
> $out/create_manpage_completions.py
'';
generateCompletions =
package:
pkgs.runCommandLocal
@ -298,8 +293,25 @@ in
''
mkdir -p $out
if [ -d $package/share/man ]; then
find -L $package/share/man -type f | xargs ${pkgs.python3.pythonOnBuildForHost.interpreter} ${patchedGenerator}/create_manpage_completions.py --directory $out >/dev/null
find -L $package/share/man -type f \
| xargs ${pkgs.python3.pythonOnBuildForHost.interpreter} \
${generator}/create_manpage_completions.py --directory $out \
>/dev/null
fi
# The generator emits a header comment containing the man page store
# path. Strip it so identical completions from different packages
# don't collide and so we don't retain runtime references to the
# inputs. Fail if generated files lack the expected header so that a
# change in the upstream format gets noticed.
shopt -s nullglob
for f in $out/*.fish; do
if ! grep -q '^# Autogenerated from ' "$f"; then
echo "error: expected '# Autogenerated from' header not found in $f" >&2
exit 1
fi
sed -i '/^# Autogenerated from /d' "$f"
done
'';
packages =
if

View file

@ -1,14 +0,0 @@
--- a/create_manpage_completions.py
+++ b/create_manpage_completions.py
@@ -879,10 +879,6 @@ def parse_manpage_at_path(manpage_path, output_directory):
)
return False
- # Output the magic word Autogenerated so we can tell if we can overwrite this
- built_command_output.insert(
- 0, "# " + CMDNAME + "\n# Autogenerated from man page " + manpage_path
- )
# built_command_output.insert(2, "# using " + parser.__class__.__name__) # XXX MISATTRIBUTES THE CULPABLE PARSER! Was really using Type2 but reporting TypeDeroffManParser
for line in built_command_output:

View file

@ -0,0 +1,65 @@
{
lib,
config,
pkgs,
...
}:
let
cfg = config.security.account-utils;
in
{
options.security.account-utils = {
enable = lib.mkEnableOption "the account-utils implementation of Unix user authentication and management";
package = lib.mkPackageOption pkgs "account-utils" { };
extraArgs = lib.mkOption {
type = lib.types.listOf lib.types.nonEmptyStr;
default = [ ];
example = [
"--debug"
"-v"
];
description = ''
List of arguments to pass to the socket activated service executables.
::: {.note}
This is passed to both pwupdd and pwaccessd, which support identical flags.
:::
'';
};
};
config = lib.mkIf cfg.enable {
# use account-utils reimplementation of pam_unix
security.pam = {
pam_unixModulePath = "${cfg.package}/lib/security/pam_unix_ng.so";
enableLegacySettings = false;
};
systemd = {
packages = [ cfg.package ];
sockets.pwaccessd.wantedBy = [ "sockets.target" ];
sockets.pwupdd.wantedBy = lib.optional config.users.mutableUsers "sockets.target"; # immutable users do not need password updating
sockets.newidmapd.wantedBy = [ "sockets.target" ];
services."pwupdd@".environment.PWUPDD_OPTS = lib.escapeShellArgs cfg.extraArgs;
services."pwaccessd".environment.PWACCESSD_OPTS = lib.escapeShellArgs cfg.extraArgs;
};
environment.systemPackages = [ cfg.package ];
security.pam.services = {
pwupd-passwd = { };
pwupd-chsh = { };
pwupd-chfn = { };
};
# covered by account-utils via socket-activated service
security.wrappers = {
# shadow suid binaries are no longer necessary, but disabling the entire shadow module is too intrusive
newuidmap.enable = false;
newgidmap.enable = false;
chsh.enable = false;
passwd.enable = false;
unix_chkpwd.enable = false; # Not necessary when using pam_unix_ng.so
};
};
}

View file

@ -2,13 +2,11 @@
config,
lib,
pkgs,
options,
...
}:
let
cfg = config.security.acme;
opt = options.security.acme;
user = if cfg.useRoot then "root" else "acme";
# Used to calculate timer accuracy for coalescing
@ -826,8 +824,8 @@ let
type = lib.types.attrsOf (lib.types.path);
inherit (defaultAndText "credentialFiles" { }) default defaultText;
description = ''
Environment variables suffixed by "_FILE" to set for the cert's service
for your selected dnsProvider.
Environment variables suffixed by "_FILE" or "_PATH" to set for the
cert's service for your selected dnsProvider.
To find out what values you need to set, consult the documentation at
<https://go-acme.github.io/lego/dns/> for the corresponding dnsProvider.
This allows to securely pass credential files to lego by leveraging systemd
@ -1186,10 +1184,13 @@ in
}
)
{
assertion = lib.all (lib.hasSuffix "_FILE") (lib.attrNames data.credentialFiles);
assertion = lib.all (n: lib.hasSuffix "_FILE" n || lib.hasSuffix "_PATH" n) (
lib.attrNames data.credentialFiles
);
message = ''
Option `security.acme.certs.${cert}.credentialFiles` can only be
used for variables suffixed by "_FILE".
used for variables suffixed by "_FILE" or "_PATH".
'';
}

View file

@ -1008,7 +1008,7 @@ let
{
name = "unix";
control = "required";
modulePath = "${package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
}
# pam_slurm_adopt must be the last module in the account stack.
{
@ -1217,11 +1217,11 @@ let
name = "unix-early";
enable = cfg.unixAuth;
control = "optional";
modulePath = "${package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
settings = {
nullok = cfg.allowNullPassword;
inherit (cfg) nodelay;
likeauth = true;
likeauth = lib.mkIf config.security.pam.enableLegacySettings true;
};
}
{
@ -1315,11 +1315,11 @@ let
name = "unix";
enable = cfg.unixAuth;
control = "sufficient";
modulePath = "${package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
settings = {
nullok = cfg.allowNullPassword;
inherit (cfg) nodelay;
likeauth = true;
likeauth = lib.mkIf config.security.pam.enableLegacySettings true;
try_first_pass = true;
};
}
@ -1404,10 +1404,10 @@ let
{
name = "unix";
control = "sufficient";
modulePath = "${package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
settings = {
nullok = true;
yescrypt = true;
yescrypt = lib.mkIf config.security.pam.enableLegacySettings true;
};
}
{
@ -1493,7 +1493,7 @@ let
{
name = "unix";
control = "required";
modulePath = "${package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
}
{
name = "loginuid";
@ -1858,8 +1858,27 @@ in
options = {
security.pam.enable = lib.mkOption {
default = true;
type = lib.types.bool;
description = ''
Whether to enable PAM, or entirely disable it.
Unless you're building a container image, you probably don't want to disable PAM.
'';
};
security.pam.package = lib.mkPackageOption pkgs "pam" { };
security.pam.pam_unixModulePath = lib.mkOption {
type = lib.types.pathInStore;
default = "${package}/lib/security/pam_unix.so";
defaultText = "\${config.security.pam.package}/lib/security/pam_unix.so";
description = "The pam_unix module to use in all the default pam services.";
internal = true;
};
security.pam.loginLimits = lib.mkOption {
default = [ ];
type = limitsType;
@ -1904,6 +1923,19 @@ in
'';
};
security.pam.enableLegacySettings = lib.mkOption {
default = true;
type = lib.types.bool;
description = ''
Alternative implementations of pam_unix may not support all legacy arguments.
This option will disable all known legacy settings.
::: {.note}
Setting this option to false will omit arguments, such as `yescrypt`.
Doing so is only safe if the defaults used by pam_unix are sensible.
:::
'';
};
security.pam.makeHomeDir.skelDirectory = lib.mkOption {
type = lib.types.str;
default = "/var/empty";
@ -2479,7 +2511,7 @@ in
###### implementation
config = {
config = lib.mkIf config.security.pam.enable {
assertions = [
{
assertion = config.users.motd == "" || config.users.motdFile == null;

View file

@ -662,11 +662,6 @@ in
) | ${cfg.package}/bin/mysql -u ${superUser} -N
''}
# Secure root@localhost for MySQL/Percona on first initialization
${lib.optionalString (cfg.secureSuperUserByDefault && !isMariaDB) ''
echo "ALTER USER root@localhost IDENTIFIED WITH auth_socket;" | ${cfg.package}/bin/mysql -u ${superUser} -N
''}
${lib.optionalString (cfg.initialScript != null) ''
# Execute initial script
# using toString to avoid copying the file to nix store if given as path instead of string,
@ -674,6 +669,11 @@ in
cat ${toString cfg.initialScript} | ${cfg.package}/bin/mysql -u ${superUser} -N
''}
# Secure root@localhost for MySQL/Percona on first initialization
${lib.optionalString (cfg.secureSuperUserByDefault && !isMariaDB) ''
echo "ALTER USER root@localhost IDENTIFIED WITH auth_socket;" | ${cfg.package}/bin/mysql -u ${superUser} -N
''}
rm ${cfg.dataDir}/mysql_init
fi

View file

@ -124,16 +124,7 @@ in
};
};
systemd = {
packages = [ pkgs.cosmic-session ];
user.targets = {
# TODO: remove when upstream has XDG autostart support
cosmic-session = {
wants = [ "xdg-desktop-autostart.target" ];
before = [ "xdg-desktop-autostart.target" ];
};
};
};
systemd.packages = [ pkgs.cosmic-session ];
fonts.packages = with pkgs; [
fira

View file

@ -341,5 +341,4 @@ in
};
};
};
meta.teams = [ lib.teams.matrix ];
}

View file

@ -25,7 +25,7 @@ let
};
in
{
meta.maintainers = [ lib.maintainers.raitobezarius ];
meta.maintainers = [ ];
options.services.hebbot = {
enable = mkEnableOption "hebbot";
package = lib.mkPackageOption pkgs "hebbot" { };

View file

@ -763,7 +763,6 @@ in
];
};
serviceConfig.Type = "oneshot";
serviceConfig.EnvironmentFile = "-/etc/switch-root.conf";
description = "NixOS Activation";
script = # bash
@ -771,14 +770,6 @@ in
set -uo pipefail
export PATH="/bin:${cfg.package.util-linux}/bin"
# A non-NixOS closure (e.g. init=/bin/sh) has no prepare-root;
# initrd-find-nixos-closure records this as a non-empty NEW_INIT.
# Skip activation and let initrd-switch-root hand over to it directly.
if [ -n "''${NEW_INIT:-}" ]; then
echo "$NEW_INIT is not a NixOS system - not activating"
exit 0
fi
closure="$(realpath /nixos-closure)"
# Initialize the system

View file

@ -28,7 +28,7 @@ in
)
];
meta.maintainers = [ lib.maintainers.raitobezarius ];
meta.maintainers = [ ];
options.services.journald.gateway = {
enable = lib.mkEnableOption "the HTTP gateway to the journal";

View file

@ -16,7 +16,7 @@ let
};
in
{
meta.maintainers = [ lib.maintainers.raitobezarius ];
meta.maintainers = [ ];
options.services.journald.remote = {
enable = lib.mkEnableOption "receiving systemd journals from the network";

View file

@ -10,7 +10,7 @@ let
format = pkgs.formats.systemd { };
in
{
meta.maintainers = [ lib.maintainers.raitobezarius ];
meta.maintainers = [ ];
options.services.journald.upload = {
enable = lib.mkEnableOption "uploading the systemd journal to a remote server";

View file

@ -71,10 +71,6 @@
RequiresMountsFor = [
"/sysroot/nix/store"
];
# find-etc only creates this symlink for a NixOS init. For a
# non-NixOS init= (e.g. init=/bin/sh) it is absent, so skip the
# mount instead of failing the whole initrd.
ConditionPathExists = "/etc-metadata-image";
};
requires = [
config.boot.initrd.systemd.services.initrd-find-etc.name
@ -127,8 +123,6 @@
"/run/nixos-etc-metadata"
];
DefaultDependencies = false;
# Skip for a non-NixOS init=, see the metadata mount above.
ConditionPathExists = "/etc-basedir";
};
}
];
@ -146,8 +140,6 @@
# before the overlay is mounted.
"/run/nixos-etc-metadata"
];
# Skip for a non-NixOS init=, see the metadata mount above.
ConditionPathExists = "/etc-metadata-image";
};
serviceConfig = {
Type = "oneshot";

View file

@ -940,6 +940,7 @@ in
localsend = runTest ./localsend.nix;
locate = runTest ./locate.nix;
login = runTest ./login.nix;
login-nosuid = runTest ./login-nosuid.nix;
logkeys = runTest ./logkeys.nix;
logrotate = runTest ./logrotate.nix;
loki = runTest ./loki.nix;
@ -1645,7 +1646,6 @@ in
"i686-linux"
] ./initrd-network-openvpn { systemdStage1 = true; };
systemd-initrd-networkd-ssh = runTest ./systemd-initrd-networkd-ssh.nix;
systemd-initrd-non-nixos = runTest ./systemd-initrd-non-nixos.nix;
systemd-initrd-shutdown = runTest {
imports = [ ./systemd-shutdown.nix ];
_module.args.systemdStage1 = true;

View file

@ -2,7 +2,7 @@ import ./make-test-python.nix (
{ lib, ... }:
{
name = "listmonk";
meta.maintainers = with lib.maintainers; [ raitobezarius ];
meta.maintainers = [ ];
nodes.machine =
{ pkgs, ... }:

View file

@ -0,0 +1,105 @@
{
name = "login-nosuid";
meta = {
maintainers = [ ];
};
# node.pkgsReadOnly = false; # needed when overriding pam to debug mode
nodes.machine =
{ pkgs, ... }:
{
security.enableWrappers = false;
systemd.settings.Manager.NoNewPrivileges = true;
security.account-utils.enable = true;
users.mutableUsers = true;
security.account-utils.extraArgs = [
"-v"
"--debug"
];
security.loginDefs.chfnRestrict = "f"; # allow allice to change name
environment.systemPackages = [
pkgs.which
pkgs.fish # environment.shells does not actually link fish to /run/current-system/sw/bin, causing chsh to fail unexpectedly
];
environment.shells = [ pkgs.fish ];
# pam debug without giant rebuild
# system.replaceDependencies.replacements = [
# {
# oldDependency = pkgs.linux-pam;
# newDependency = pkgs.linux-pam.override { debugMode = true; };
# }
# ];
};
testScript = ''
machine.start(allow_reboot = True)
machine.wait_for_unit("multi-user.target")
machine.wait_until_succeeds("pgrep -f 'agetty.*tty1'")
machine.screenshot("postboot")
with subtest("account-utils passwd has priority"):
passwd_path = machine.succeed("realpath $(which passwd)")
print(f"passwd path is: {passwd_path}")
assert "account-utils" in passwd_path
with subtest("create user"):
machine.succeed("useradd -m alice")
machine.succeed("(echo foobar; echo foobar) | passwd alice")
with subtest("Check whether switching VTs works"):
machine.fail("pgrep -f 'agetty.*tty2'")
machine.send_key("alt-f2")
machine.wait_until_succeeds("[ $(fgconsole) = 2 ]")
machine.wait_for_unit("getty@tty2.service")
machine.wait_until_succeeds("pgrep -f 'agetty.*tty2'")
with subtest("Log in as alice on a virtual console"):
machine.wait_until_tty_matches("2", "login: ")
machine.send_chars("alice\n")
machine.wait_until_tty_matches("2", "login: alice")
machine.wait_until_succeeds("pgrep login")
machine.wait_until_tty_matches("2", "Password: ")
machine.sleep(1) # something is racy here, so lets just sleep a bit... Not great, but seems to work
machine.send_chars("foobar\n")
machine.wait_until_succeeds("pgrep -u alice bash")
machine.send_chars("touch done\n")
machine.wait_for_file("/home/alice/done")
with subtest("Systemd gives and removes device ownership as needed"):
machine.succeed("getfacl /dev/snd/timer | grep -q alice")
machine.send_key("alt-f1")
machine.wait_until_succeeds("[ $(fgconsole) = 1 ]")
machine.fail("getfacl /dev/snd/timer | grep -q alice")
machine.succeed("chvt 2")
machine.wait_until_succeeds("getfacl /dev/snd/timer | grep -q alice")
with subtest("User can change their login shell"):
machine.send_chars("clear\n") # remove previous password prompts
machine.send_chars("chsh -s /run/current-system/sw/bin/fish\n")
machine.wait_until_tty_matches("2", "Password: ")
machine.send_chars("foobar\n")
machine.wait_until_fails("pgrep pwupdd")
login_shell = machine.succeed("getent passwd alice | cut -d: -f7").strip()
print(f"login shell of user alice: {login_shell}")
assert "/run/current-system/sw/bin/fish" == login_shell
with subtest("User can change their name"):
machine.send_chars("clear\n") # remove previous password prompts
machine.send_chars("chfn -f 'Alice in Wonderland'\n")
machine.wait_until_tty_matches("2", "Password: ")
machine.send_chars("foobar\n")
machine.wait_until_fails("pgrep pwupdd")
full_name = machine.succeed("getent passwd alice | cut -d: -f5").strip()
print(f"full name of user alice: {full_name}")
assert "Alice in Wonderland" == full_name
with subtest("Virtual console logout"):
machine.send_chars("exit\n")
machine.wait_until_fails("pgrep -u alice bash")
machine.screenshot("getty")
'';
}

View file

@ -31,9 +31,6 @@ let
in
{
name = "pantalaimon";
meta = {
maintainers = pkgs.lib.teams.matrix.members;
};
nodes.machine =
{ pkgs, ... }:

View file

@ -6,7 +6,6 @@
meta = with pkgs.lib.maintainers; {
maintainers = [
cransom
raitobezarius
];
};

View file

@ -1,68 +0,0 @@
{ lib, pkgs, ... }:
let
marker = "REACHED NON-NIXOS INIT AS PID 1";
# A non-NixOS init (no prepare-root). We use a store path, not literal
# /bin/sh: a fresh disk has no /bin/sh yet (it is created by the activation a
# non-NixOS init skips), while the store is always mounted; init=/bin/sh works
# the same on a real system. Writes a marker, then stays alive so PID 1 lives.
nonNixosInit = pkgs.writeShellScriptBin "non-nixos" ''
echo "${marker}" > /dev/console
exec ${pkgs.coreutils}/bin/sleep infinity
'';
common = {
boot.initrd.systemd.enable = true;
virtualisation = {
# tmpfs root, like real non-NixOS closure init= microvm consumers.
diskImage = null;
graphics = false;
};
# Speed up wait_for_console.
boot.consoleLogLevel = lib.mkForce 3;
boot.initrd.systemd.managerEnvironment.SYSTEMD_LOG_LEVEL = "warning";
# switch-root needs an os-release on the target root. A real system has one
# on disk; our fresh tmpfs does not, so create it.
boot.initrd.systemd.tmpfiles.settings."10-os-release"."/sysroot/etc/os-release".f = {
mode = "0644";
argument = "ID=test-non-nixos";
};
};
in
{
name = "systemd-initrd-non-nixos";
nodes = {
bashActivation = common;
nixosInit = {
imports = [ common ];
system.nixos-init.enable = true;
system.etc.overlay.enable = true;
services.userborn.enable = true;
};
};
testScript = ''
import os
# The last init= on the cmdline wins; QEMU_KERNEL_PARAMS is appended after
# the default one, so this boots our non-NixOS init.
os.environ["QEMU_KERNEL_PARAMS"] = "init=${lib.getExe nonNixosInit}"
start_all()
# If a code path does not skip the non-NixOS init, switch-root is blocked and
# the machine drops to emergency mode: the marker never appears and the wait
# times out.
with subtest("bash initrd-nixos-activation skips a non-NixOS init"):
bashActivation.wait_for_console_text("${marker}", timeout=300)
with subtest("nixos-init switches to a non-NixOS init directly"):
nixosInit.wait_for_console_text("${marker}", timeout=300)
'';
}

View file

@ -4,7 +4,6 @@
meta = with pkgs.lib.maintainers; {
maintainers = [
minijackson
raitobezarius
];
};

View file

@ -4,7 +4,6 @@
meta = with pkgs.lib.maintainers; {
maintainers = [
minijackson
raitobezarius
];
};

View file

@ -18,7 +18,6 @@ in
meta.maintainers = with lib.maintainers; [
minijackson
raitobezarius
];
node.pkgsReadOnly = false;

View file

@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "deadbeef-vgmstream-plugin";
version = "2026-05-24";
version = "2026-06-22";
src = fetchFromGitHub {
owner = "jchv";
repo = "deadbeef-vgmstream";
rev = finalAttrs.version;
hash = "sha256-wuyqAAcNQZH7HeDve4ZXXK5q28lFfSYracCVuGjxfbw=";
hash = "sha256-pX6uhrLgJ2sWwm2tR45YuYbICrP8fKgOD/TXV79bHn4=";
};
nativeBuildInputs = [ pkg-config ];

View file

@ -0,0 +1,31 @@
{ ark }:
# Jupyter notebook:
# nix shell --impure --expr 'with import ./. {}; [ (jupyter.override { definitions.r = r-ark-kernel.definition; }) ]' -c jupyter-notebook
{
definition = {
displayName = "Ark R Kernel";
argv = [
"${ark}/bin/ark"
"--connection_file"
"{connection_file}"
"--session-mode"
"notebook"
];
language = "R";
# Ark logs at INFO to stderr by default, which includes Jupyter messages.
# The notebook forwards this to the cell output, so quiet it to warnings.
#
# The `ark::console::console_comm=error` directive additionally silences a
# per-cell "UI comm is absent during dispatch" warning: after every execute,
# ark unconditionally tries to push an environment-pane update over the
# Positron-only `positron.ui` comm, which a plain Jupyter frontend never
# opens.
env = {
RUST_LOG = "ark=warn,ark::console::console_comm=error";
};
logo32 = null;
logo64 = null;
};
}

View file

@ -21,26 +21,26 @@ vscode-utils.buildVscodeMarketplaceExtension (finalAttrs: {
sources = {
"x86_64-linux" = {
arch = "linux-x64";
hash = "sha256-TEEv8R6VXuOhcX2OgTKY7A8L2akisJLsx6I6bUdV3a0=";
hash = "sha256-/ns84fHAyTY7sSvhUNzq1XQYq2Xy303zs2BxJY8DBVA=";
};
"aarch64-linux" = {
arch = "linux-arm64";
hash = "sha256-wis4QqTuCiRAVpoGp+Ds83lWPsNUUPmXbZcYiWuY2zg=";
hash = "sha256-U69X5lpeJaeNVL4WWzCUpI6IfbKSJXGpl30AYnx1fBQ=";
};
"x86_64-darwin" = {
arch = "darwin-x64";
hash = "sha256-2njmUMYxFAaKzCdwM//S5D0fqVZhIKG0JzbT1ye4Sr4=";
hash = "sha256-DHE09NtGNOjB0HdBqTKRtDsZXpxb651kiVGhRwO1tBU=";
};
"aarch64-darwin" = {
arch = "darwin-arm64";
hash = "sha256-+cJhcXufpiNrpdL+HH3mW+rrzb7Si/4LGvoce1o0c/w=";
hash = "sha256-5YIZVBMsoF0bWP27sVEVHAaAiqvmoSUgdbc8wsqUCLA=";
};
};
in
{
name = "claude-code";
publisher = "anthropic";
version = "2.1.186";
version = "2.1.187";
}
// sources.${stdenvNoCC.hostPlatform.system}
or (throw "Unsupported system ${stdenvNoCC.hostPlatform.system}");

View file

@ -38,6 +38,10 @@
webkitgtk_4_1,
ripgrep,
which,
libxtst,
libjpeg8,
pipewire,
libei,
# needed to fix "Save as Root"
asar,
@ -257,6 +261,10 @@ stdenv.mkDerivation (
systemdLibs
webkitgtk_4_1
libxkbfile
libxtst
libjpeg8.out
pipewire
libei
];
runtimeDependencies = lib.optionals stdenv.hostPlatform.isLinux [

View file

@ -35,17 +35,17 @@ let
hash =
{
x86_64-linux = "sha256-L0o9+vxfAkmtOHJvmf0G8WIbp3bXjAuuIAtTtFvbwjQ=";
x86_64-darwin = "sha256-WYcRDrFLEjwyQhVdNASz3JUQlLuubDuPjBXa/ROs3h8=";
aarch64-linux = "sha256-3CBrenqZs35gMWmVtI//4w0JGSKP8cbu3cJH14P4aEU=";
aarch64-darwin = "sha256-0JVfgcYxgdaeWfeGFrfG3qxpWHilQte/dLiW33yxm8o=";
armv7l-linux = "sha256-O8nDg1aJ0IbjbRS5kiNoFHzciyHErKK8PP+uujzJOxk=";
x86_64-linux = "sha256-TTulHpCiT2eay2tb7e1ub164rgttBnB36Cc4JVoxf08=";
x86_64-darwin = "sha256-fkJGd9dSX5OZ9peHbLha43mYBeEFsyd7rLprRajc60I=";
aarch64-linux = "sha256-AOHmrVo5Q2iE6V/nHRniQVXfhDcL7bzBKdXfe8oZFP0=";
aarch64-darwin = "sha256-dMSYvcryDd8Wqu8GHwnrp5pyRJwLzpV9BDLnpyWcxG0=";
armv7l-linux = "sha256-L48bXLyX2dzHqcmJ752RLE8XUxrQRBLGhxdZwUO8mjw=";
}
.${system} or throwSystem;
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.124.2";
version = "1.125.0";
# The update server (update.code.visualstudio.com) expects the version path
# segment in X.Y.Z form, so we normalize X.Y to X.Y.0 (e.g. "1.110" → "1.110.0").
@ -53,7 +53,7 @@ let
downloadVersion = lib.versions.pad 3 version;
# This is used for VS Code - Remote SSH test
rev = "6928394f91b684055b873eecb8bc281365131f1c";
rev = "93cfdd489c3b228840d0f86ec77c3636277c93ea";
in
buildVscode {
pname = "vscode" + lib.optionalString isInsiders "-insiders";
@ -86,7 +86,7 @@ buildVscode {
src = fetchurl {
name = "vscode-server-${rev}.tar.gz";
url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
hash = "sha256-S4RcYGjK9vEtPp+vTNFV4SN+7osYzfuCiXmQC39PYhI=";
hash = "sha256-IKTCVqR+SA2nAaIGHwde6dWbcDPgp2mlXKYi9DK5mCE=";
};
stdenv = stdenvNoCC;
};

View file

@ -8,13 +8,13 @@
}:
mkLibretroCore {
core = "flycast";
version = "0-unstable-2026-06-12";
version = "0-unstable-2026-06-23";
src = fetchFromGitHub {
owner = "flyinghead";
repo = "flycast";
rev = "c0f2cf4319d6c77d577599906ca0a90627a3afc8";
hash = "sha256-ie0mP7IcvWsFX/k0UhJ6eMkdyDq69W8aCcjwkAoL5II=";
rev = "59ab660649d933f40cf281656ba949eb4c835d73";
hash = "sha256-Hwav4vHppInUUbiSch3J84P7HIYkQ+DM431fFdq1qEg=";
fetchSubmodules = true;
};

View file

@ -1,10 +1,10 @@
{
"chromium": {
"version": "149.0.7827.155",
"version": "149.0.7827.196",
"chromedriver": {
"version": "149.0.7827.156",
"hash_darwin": "sha256-V7ZBijHsPzyphJPipWlIcU5Mb9l1OWzLc6PzxFKFuR8=",
"hash_darwin_aarch64": "sha256-sUG2Qg+nPIrYQC0iKNK78O1l92qTSDbRnJFfrqJMpts="
"version": "149.0.7827.197",
"hash_darwin": "sha256-tN7s6s/pbfAGRCMcoT3QWYHD8QRq2gcHfFSXoSG9V5Y=",
"hash_darwin_aarch64": "sha256-DZ8CZ4Obp67Zo2m4iyqUnShyhTK8+/75cJ/WmZZqQhE="
},
"deps": {
"depot_tools": {
@ -21,8 +21,8 @@
"DEPS": {
"src": {
"url": "https://chromium.googlesource.com/chromium/src.git",
"rev": "07b52360cc15066f987c910ab34dfbcd4a8778d2",
"hash": "sha256-D9RKH0kzEfaMsCDnFFIGCGLyfhghnGMOLA0XmOa9MtI=",
"rev": "43eb30368c6ca3d14d540487954abb2780aeae3a",
"hash": "sha256-pwSfASgR4SiQTJBERhOVyR8mANYJk67f+u2pmCCW6ko=",
"recompress": true
},
"src/third_party/clang-format/script": {
@ -92,8 +92,8 @@
},
"src/third_party/angle": {
"url": "https://chromium.googlesource.com/angle/angle.git",
"rev": "591ee1999d950f2bc54be89651eb62c8d7925314",
"hash": "sha256-crooDCkJ6voJyDBIUvtjmXnA4xOx7YmGltuf2ulTLIk="
"rev": "355cc61af2aadd8f0494800325b2bf9908138108",
"hash": "sha256-fgaCyO0oaz90aTaWMHH8ocySA0hXDHsPEl6vtMj4BY0="
},
"src/third_party/angle/third_party/glmark2/src": {
"url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2",
@ -132,8 +132,8 @@
},
"src/third_party/dawn": {
"url": "https://dawn.googlesource.com/dawn.git",
"rev": "5f4c5ef509c5ffa65822302341cf9b2ccad471f9",
"hash": "sha256-h+0Gep+RWTTEVoRrXCRDCtHdbYlSYdNK1botahtqUX0="
"rev": "54b4153cfef88e048f365f99b962478f0087dfe8",
"hash": "sha256-Bv30zz/pCNVzUl+mKCpusWc94poytv9ZFelZIcs+2B8="
},
"src/third_party/dawn/third_party/glfw3/src": {
"url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
@ -817,8 +817,8 @@
},
"src/v8": {
"url": "https://chromium.googlesource.com/v8/v8.git",
"rev": "6511f6cfab1f24c360d0fb737d205c27da48a623",
"hash": "sha256-Dpe0Z/zjdPlOlqi85c9QSr7rLs7dww+a/BY68B2MTCw="
"rev": "933ce636c562cd54d68e7f7c93ab5cdffd685fca",
"hash": "sha256-zYArO6QS9nDIVWPINRVaDN1uX8X/wchBDeZHPZnwHYk="
}
}
},

View file

@ -101,11 +101,11 @@
"vendorHash": "sha256-quoFrJbB1vjz+MdV+jnr7FPACHuUe5Gx9POLubD2IaM="
},
"baidubce_baiducloud": {
"hash": "sha256-kA2s+STTaax/PEevdHdbGzhQcFPJFRin6ALu1FkRzsg=",
"hash": "sha256-vSEPf0r7R5anuaTsAJFIx0GPTtrSKbRqqZoQA67Q2C0=",
"homepage": "https://registry.terraform.io/providers/baidubce/baiducloud",
"owner": "baidubce",
"repo": "terraform-provider-baiducloud",
"rev": "v1.23.3",
"rev": "v1.23.5",
"spdx": "MPL-2.0",
"vendorHash": null
},
@ -1157,13 +1157,13 @@
"vendorHash": null
},
"sacloud_sakuracloud": {
"hash": "sha256-qeFN+JMs/TLV/oPFjMjpUmqv6fTiY+qREXQNYHMk8vY=",
"hash": "sha256-mk5tmlx8UZXedRbSKmSg9YqX9MJFWsSrMea1dirL+HI=",
"homepage": "https://registry.terraform.io/providers/sacloud/sakuracloud",
"owner": "sacloud",
"repo": "terraform-provider-sakuracloud",
"rev": "v2.35.1",
"rev": "v2.36.0",
"spdx": "Apache-2.0",
"vendorHash": "sha256-w2NSJv6BY7S5KHeBttxqY2cMR+yPvr2IsC5X4aJAo3A="
"vendorHash": "sha256-vBcPWjugjqyuUdvxNQN1oC8V5D2SeW2WR0/c6OlgaXU="
},
"sap-cloud-infrastructure_sci": {
"hash": "sha256-eQA4mY+Rx5PLbTgGqfefYFc5gZKIvt1w2eag8ipE0PI=",

View file

@ -200,8 +200,8 @@ rec {
mkTerraform = attrs: pluggable (generic attrs);
terraform_1 = mkTerraform {
version = "1.15.6";
hash = "sha256-FH5s0uyRESytv/1xloU3HXuH2ApjBC3FfEqFqIgBgFs=";
version = "1.15.7";
hash = "sha256-FF3LEovWjEDrKp6e6opRfCt8c4wghva3mjN97vCxq3E=";
vendorHash = "sha256-3y9+KCmvskJ24X4F6gSLglmsl4hUlvzBb/ep4kcbS8A=";
patches = [ ./provider-path-0_15.patch ];
passthru = {

View file

@ -64,7 +64,6 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "Lightweight matrix client with legacy and mobile browser support";
homepage = "https://github.com/element-hq/hydrogen-web";
teams = [ lib.teams.matrix ];
license = lib.licenses.asl20;
platforms = lib.platforms.all;
inherit (olm.meta) knownVulnerabilities;

View file

@ -17,13 +17,13 @@ in
buildKodiAddon rec {
pname = "jellycon";
namespace = "plugin.video.jellycon";
version = "1.0.0";
version = "1.0.1";
src = fetchFromGitHub {
owner = "jellyfin";
repo = "jellycon";
rev = "v${version}";
sha256 = "sha256-1o9mkMjlLDIcokpTqDKmFlCOF1XjrVOxlFfy0bpZolc=";
sha256 = "sha256-TLJalH3b1EYoIbnUhnHl8A9EF2Q6dDy0M2hl9je0K54=";
};
nativeBuildInputs = [

View file

@ -10,13 +10,13 @@
buildKodiAddon rec {
pname = "youtube";
namespace = "plugin.video.youtube";
version = "7.4.3";
version = "7.4.4";
src = fetchFromGitHub {
owner = "anxdpanic";
repo = "plugin.video.youtube";
rev = "v${version}";
hash = "sha256-FUfDUyaYHIeu9thCx19huLFnDO7Yl3RKIbfUH2I+SQI=";
hash = "sha256-epDKZhITQAv3bpS7CGN2Rj35/AamyZo5yzhkfu72ipw=";
};
propagatedBuildInputs = [

View file

@ -270,7 +270,6 @@ edk2.mkDerivation projectDscPath (finalAttrs: {
platforms = metaPlatforms;
maintainers = with lib.maintainers; [
adamcstephens
raitobezarius
mjoerg
sigmasquadron
];

View file

@ -0,0 +1,77 @@
{
lib,
stdenv,
fetchFromGitHub,
meson,
ninja,
pkg-config,
linux-pam,
systemdLibs,
libcap,
libxcrypt,
libeconf,
libselinux,
docbook-xsl-ns,
libxslt,
nixosTests,
}:
let
selinuxSupport = lib.meta.availableOn stdenv.hostPlatform libselinux;
in
stdenv.mkDerivation (finalAttrs: {
pname = "account-utils";
version = "1.3.0";
src = fetchFromGitHub {
owner = "thkukuk";
repo = "account-utils";
tag = "v${finalAttrs.version}";
hash = "sha256-9l+y7FLb0IZXXp4RstlhNR6yA7b4b831obFuiVtO9+k=";
};
__structuredAttrs = true;
strictDeps = true;
nativeBuildInputs = [
meson
ninja
pkg-config
libxslt
docbook-xsl-ns
];
buildInputs = [
linux-pam
systemdLibs
libxcrypt
libeconf
libcap
]
++ lib.optional selinuxSupport libselinux;
mesonFlags = [
(lib.mesonEnable "selinux" selinuxSupport)
(lib.mesonOption "c_args" "-ffat-lto-objects")
];
passthru.tests = {
inherit (nixosTests) login-nosuid;
};
meta = {
description = "Services, utilities and PAM modules, which allow authentication and account management on systems with the NoNewPrivs flag set (no setuid/setgid binaries)";
homepage = "https://github.com/thkukuk/account-utils";
changelog = "https://github.com/thkukuk/account-utils/releases/tag/v${finalAttrs.version}";
license =
with lib.licenses;
AND [
gpl2Plus
lgpl21Plus
bsd2
];
maintainers = with lib.maintainers; [ grimmauld ];
platforms = lib.platforms.linux;
# take precedence over shadow
priority = -1;
};
})

View file

@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "adrs";
version = "0.7.6";
version = "0.8.0";
src = fetchFromGitHub {
owner = "joshrotenberg";
repo = "adrs";
tag = "v${finalAttrs.version}";
hash = "sha256-PB/BuZP2pvYJCjaazEPs9d2ik8Fs7nuTnHdLREsu+wQ=";
hash = "sha256-OXym/S88/y4UNp/BqV6RJb3EBV/TeqYCRHYlZJehur4=";
};
cargoHash = "sha256-RzX3moZog5BIppvWtQcU4Yauk4hZQfc8ZuFkvRs5jXA=";
cargoHash = "sha256-gv/A2t0BjDsDySLOkUY8YIRS2tciRU8sbmjXdgSBiwE=";
meta = {
description = "Command-line tool for managing Architectural Decision Records";

View file

@ -26,7 +26,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
];
doInstallCheck = true;
cargoBuildFlags = [ "-p air" ];
cargoBuildFlags = [ "--package=air" ];
passthru = {
updateScript = nix-update-script { };

View file

@ -11,16 +11,16 @@
buildGoModule (finalAttrs: {
pname = "aks-mcp-server";
version = "0.0.18";
version = "0.0.19";
src = fetchFromGitHub {
owner = "Azure";
repo = "aks-mcp";
rev = "v${finalAttrs.version}";
hash = "sha256-h/zLbnc2ffcQkx+KE6vglaSG6QAySZSg8EB4zyqH4sg=";
hash = "sha256-Zu/caWrTuyzS4ejJ5LTOCyLTsmJOFrkX0kUGM0zDfFs=";
};
vendorHash = "sha256-HYIEGnQOVNNVJxzoOiLTXwRFOBvCwikAwqky18VqFSQ=";
vendorHash = "sha256-eipcHVKKHBOey2fUGB4lf2pE/wdwGgsbYvCrvDG1JK8=";
subPackages = [ "cmd/aks-mcp" ];

View file

@ -9,13 +9,13 @@
let
alsa-ucm-conf-asahi = stdenvNoCC.mkDerivation (finalAttrs: {
pname = "alsa-ucm-conf-asahi";
version = "8";
version = "9";
src = fetchFromGitHub {
owner = "AsahiLinux";
repo = "alsa-ucm-conf-asahi";
tag = "v${finalAttrs.version}";
hash = "sha256-FPrAzscc1ICSCQSqULaGLqG4UCq8GZU9XLV7TUSBBRM=";
hash = "sha256-F+NiEP4EKLUVV2oHSVY+fkXlzXcLyywNOolUy9DO8sI=";
};
installPhase = ''

View file

@ -11,6 +11,8 @@ buildGoModule (finalAttrs: {
pname = "andcli";
version = "2.7.0";
__structuredAttrs = true;
subPackages = [ "cmd/andcli" ];
src = fetchFromGitHub {

View file

@ -8,13 +8,13 @@
anki-utils.buildAnkiAddon (finalAttrs: {
pname = "fsrs4anki-helper";
version = "24.06.3-unstable-2026-04-14";
version = "26.06.12-unstable-2026-06-08";
src = fetchFromGitHub {
owner = "open-spaced-repetition";
repo = "fsrs4anki-helper";
rev = "703c99f009fa0465237df248e2c83e43851d95b4";
hash = "sha256-yF0hTPdipFwhV1CcEmRRXezxc4754XCnX0HINrCgScQ=";
rev = "29208f220f21ff994c199712a6aaac47636773bf";
hash = "sha256-qoOV6cxA+oidHaKtBPVJpoc+/hitoihMRp15+IYcRnw=";
};
postFixup = ''

View file

@ -6,7 +6,7 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "apm-cli";
version = "0.18.0";
version = "0.21.0";
pyproject = true;
__structuredAttrs = true;
@ -15,7 +15,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
owner = "microsoft";
repo = "apm";
tag = "v${finalAttrs.version}";
hash = "sha256-mHu5r08y3OUTJjnl5Xvb23yhoJu9DupoZhkhL74K6UE=";
hash = "sha256-Wotyqsg/1nbjttMk+4wpGK76+kaL7j6oMH61NwsTuNc=";
};
postPatch = ''

View file

@ -281,8 +281,8 @@
},
{
"pname": "Markdig.Signed",
"version": "1.1.3",
"hash": "sha256-luLhgpC0d2ZTtvoSvaH/yaIc/IDppyf4P8M7sGbExJw="
"version": "1.2.0",
"hash": "sha256-dC75KeDfJOretrOkaH1Ai/uEYWvxjBosn4NMEhD+LCo="
},
{
"pname": "Microsoft.ApplicationInsights",
@ -291,8 +291,8 @@
},
{
"pname": "Microsoft.AspNetCore.OpenApi",
"version": "10.0.7",
"hash": "sha256-WlAW49otxYzgrmuqHewUoBsjDcAZwhNz5WVbCT4EiIA="
"version": "10.0.8",
"hash": "sha256-v2E7nwc4Nac8Ns5cQ2KmzLash9AEMbfQbMo2bFy7oZM="
},
{
"pname": "Microsoft.CodeAnalysis.ResxSourceGenerator",
@ -431,23 +431,23 @@
},
{
"pname": "Microsoft.Testing.Extensions.Telemetry",
"version": "2.2.2",
"hash": "sha256-4rXpgfroh8MnLWjYxUtYo/VcErYe9gpCaz80np3r1CI="
"version": "2.2.3",
"hash": "sha256-e70IRoXt5Aiwhxwd6nay0SBQD3ESXcAGh0lCucNtCAE="
},
{
"pname": "Microsoft.Testing.Extensions.TrxReport",
"version": "2.2.2",
"hash": "sha256-IOgroCb3Wvwas4z2Xxy4ils5AswZpKT/wvjQM5e95ig="
"version": "2.2.3",
"hash": "sha256-guXkeZ4AcbP9uu87/9IpSuZZdt03mFxShU/z2avv3oY="
},
{
"pname": "Microsoft.Testing.Extensions.TrxReport.Abstractions",
"version": "2.2.2",
"hash": "sha256-aP+mw/Q5U6lfNmMJCzLqVMpZ+TnBMTqXH0VGhR2FvbI="
"version": "2.2.3",
"hash": "sha256-eLb2Sm0lzQkgkdFdcZ76aIGShIf4lRPmpcMauUWN5QE="
},
{
"pname": "Microsoft.Testing.Extensions.VSTestBridge",
"version": "2.2.2",
"hash": "sha256-rtyA0w70swCKfz+ly6ev/BlNXH8WUHurfxsaWoo1LbA="
"version": "2.2.3",
"hash": "sha256-bSNPv1gAWEU7DVtqYS1qjbBN3lu9TTh6+/nDQCcIIHk="
},
{
"pname": "Microsoft.Testing.Platform",
@ -456,13 +456,13 @@
},
{
"pname": "Microsoft.Testing.Platform",
"version": "2.2.2",
"hash": "sha256-azYgL1c9oVE1JDYs0HUWTClaIumw1xvxgmNz4Mx0q30="
"version": "2.2.3",
"hash": "sha256-Mz///qqkbdQsgpIjjAiHf/ptvjeQIsO6S99+tg+F8Fw="
},
{
"pname": "Microsoft.Testing.Platform.MSBuild",
"version": "2.2.2",
"hash": "sha256-uuhiI0aGFpM+I2ASh99rsfsRhKf8b/JUNx4Hcd2Ac6Q="
"version": "2.2.3",
"hash": "sha256-mwt+i2y8UV30JrssGCx9kgjcZ+upWhAxEBs5fCXA/6k="
},
{
"pname": "Microsoft.TestPlatform.ObjectModel",
@ -476,23 +476,23 @@
},
{
"pname": "MSTest",
"version": "4.2.2",
"hash": "sha256-hTD140FHBWOoUxKmCkmL261gvwgJRXnzAwSl37sp6XI="
"version": "4.2.3",
"hash": "sha256-G6agMAoiK8oMPTpq25i7zsUXXCDxGMP/UBU72Wky9t0="
},
{
"pname": "MSTest.Analyzers",
"version": "4.2.2",
"hash": "sha256-m6FRWUdYM9tuNnm7ehY+j1wIr2i12+0LeK5JcpJdp5M="
"version": "4.2.3",
"hash": "sha256-XlSqWrZVG1nC/qDjNuSs51pM90nQ9QlQtwDKJQVsMPg="
},
{
"pname": "MSTest.TestAdapter",
"version": "4.2.2",
"hash": "sha256-QFjHNHVyijmuq29MuhUNMnaWEcJWPWGVp21BQj0Hb7M="
"version": "4.2.3",
"hash": "sha256-ckBpU7gg4LY2ZBPljRWz2yCj33vRf93Qm/JY7uGfeOs="
},
{
"pname": "MSTest.TestFramework",
"version": "4.2.2",
"hash": "sha256-+yrzh3fmkvOMnqk+eYKQTC1267uKeUDcS3TV1+3Gnck="
"version": "4.2.3",
"hash": "sha256-og5IO5g/fXm1y9hSNkqZ+libfD9o0dRm/8I9CF0J2So="
},
{
"pname": "Newtonsoft.Json",
@ -586,8 +586,8 @@
},
{
"pname": "Scalar.AspNetCore",
"version": "2.14.11",
"hash": "sha256-NOH8fyTW+uuvggup1581IwO1Gv1FyvpCQMsPWItBlwA="
"version": "2.14.14",
"hash": "sha256-/9lh1yFvp8/ROxdQcJEhEtFwrpOCdRNwFfz8B53epVk="
},
{
"pname": "SteamKit2",
@ -596,33 +596,33 @@
},
{
"pname": "System.Composition",
"version": "10.0.7",
"hash": "sha256-+D0uPBsF3vIl1IU3DZ1aCWpdQompwSvyFLvxprUErAE="
"version": "10.0.8",
"hash": "sha256-sp1IzwdxzVZwEF3mOCkobc5SYUGm/u3FDZUPkekoxZs="
},
{
"pname": "System.Composition.AttributedModel",
"version": "10.0.7",
"hash": "sha256-PxE1IuviKGncIzrCFNqhqFMNzEdnN5/A9kFHSyvg4P4="
"version": "10.0.8",
"hash": "sha256-6iUFdykgMj6yOG10qR3TOz6mrQnfDGsr4Q8WP65hBFU="
},
{
"pname": "System.Composition.Convention",
"version": "10.0.7",
"hash": "sha256-oPAOsNnNF0tOXHZoxnQt7PC2R4f+iqmzYKg++zPCdaA="
"version": "10.0.8",
"hash": "sha256-MIQePJ3OkWpA07U+xH1PwiV88WtSGBaTxUrA1j4hD6Y="
},
{
"pname": "System.Composition.Hosting",
"version": "10.0.7",
"hash": "sha256-bBoobvUuurRqog2nqchZKTwkIn7Weq7M3auboVgwALA="
"version": "10.0.8",
"hash": "sha256-SOAD0Yz8A/XJ8tEi7Q8DL9H7FzTcgg8HAbnZYKiyZNk="
},
{
"pname": "System.Composition.Runtime",
"version": "10.0.7",
"hash": "sha256-sZTjqpSbbEy4KsRMDoEKvvfjHkl7IL9pcD2N8kFVWro="
"version": "10.0.8",
"hash": "sha256-hRkoJ8S1oD4FKjnaDYwfzX2Pys6QvGiiX6YxrdGgAyA="
},
{
"pname": "System.Composition.TypedParts",
"version": "10.0.7",
"hash": "sha256-gqDp0guxUnnEJaB6I/9PSgxXWDbE5YhyrTa9Yu4s0OM="
"version": "10.0.8",
"hash": "sha256-NYo2dvMJ9WU0BKIGDkuIpFQHkbZE1sGJAtY8fINFpqo="
},
{
"pname": "System.IO.Hashing",
@ -631,8 +631,8 @@
},
{
"pname": "System.Security.Cryptography.ProtectedData",
"version": "10.0.7",
"hash": "sha256-IhiXDRoBQil9KAVV97PiCOhiIQCSTIJuKQOOfBECSz0="
"version": "10.0.8",
"hash": "sha256-GYRQSkRnDWytMIQcoNrAVbJda5nzfbtg1HJuwRZVxH0="
},
{
"pname": "Tmds.DBus.Protocol",

View file

@ -21,13 +21,13 @@ in
buildDotnetModule rec {
pname = "archisteamfarm";
# nixpkgs-update: no auto update
version = "6.3.6.0";
version = "6.3.6.1";
src = fetchFromGitHub {
owner = "JustArchiNET";
repo = "ArchiSteamFarm";
rev = version;
hash = "sha256-S2T741eOO0s8a3pikHz0hy/PBPpw5fmtpzGv0cmRk0I=";
tag = version;
hash = "sha256-C0n3e/t1Bq02vlrF/KyT7vlhtNDIbAsg9zAk9aKZ5/g=";
};
dotnet-runtime = dotnetCorePackages.aspnetcore_10_0;
@ -103,6 +103,7 @@ buildDotnetModule rec {
meta = {
description = "Application with primary purpose of idling Steam cards from multiple accounts simultaneously";
changelog = "https://github.com/JustArchiNET/ArchiSteamFarm/releases/tag/${src.tag}";
homepage = "https://github.com/JustArchiNET/ArchiSteamFarm";
license = lib.licenses.asl20;
mainProgram = "ArchiSteamFarm";

View file

@ -0,0 +1,55 @@
{
lib,
rustPlatform,
fetchFromGitHub,
cmake,
makeBinaryWrapper,
R,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ark";
version = "0.1.252";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "posit-dev";
repo = "ark";
rev = finalAttrs.version;
hash = "sha256-AI8i15UMI+KSmweXkS/UYITZBOEDx/knjpK9SA2M+Ns=";
};
cargoHash = "sha256-z9l0dgmZO6f63I/2pms4VMXMxO/9SAZSq1OFubGHIpw=";
# The amalthea crate bundles libzmq via the zeromq-src crate, which builds it
# with CMake.
nativeBuildInputs = [
cmake
makeBinaryWrapper
];
# Only build the `ark` binary, not the whole workspace's test/dev crates.
cargoBuildFlags = [
"--package"
"ark"
];
# Tests require a running R installation and network access.
doCheck = false;
# Ark loads R dynamically at runtime, locating it via `R_HOME` or by running
# `R RHOME`. Put R on PATH so the kernel works out of the box.
postInstall = ''
wrapProgram $out/bin/ark \
--suffix PATH : ${lib.makeBinPath [ R ]}
'';
meta = {
description = "R kernel for Jupyter applications, powering Positron's R support";
homepage = "https://github.com/posit-dev/ark";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ thomasjm ];
mainProgram = "ark";
platforms = lib.platforms.unix;
};
})

View file

@ -9,13 +9,13 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "asahi-audio";
version = "3.4";
version = "4.0";
src = fetchFromGitHub {
owner = "AsahiLinux";
repo = "asahi-audio";
tag = "v${finalAttrs.version}";
hash = "sha256-7AuPkR/M1a4zB9+dJuOuv9uTp+kIqPlxVOXipsyGGz8=";
hash = "sha256-Tp+yL7SbzowYcCrfI7UU+5GeIJtyBMuE7KhcYmA1+hw=";
};
makeFlags = [

View file

@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "auth0-cli";
version = "1.31.0";
version = "1.32.0";
src = fetchFromGitHub {
owner = "auth0";
repo = "auth0-cli";
tag = "v${finalAttrs.version}";
hash = "sha256-6+AMU77eHYy0AwPsHt/tgtzTQkyPfvZZw1yzvWXQX0s=";
hash = "sha256-tRr0bCzijVG3+2n67jo7SNe4Oxxci0sRXhQct2645cI=";
};
vendorHash = "sha256-MzvoHXO8gDIzNqhQGgDEd8xXWF7971JLTKWt8TCldKI=";
vendorHash = "sha256-ZwGIYjaCQikHMoy3bSnvNEk+REnKO6JdCiiSh8L0SDg=";
ldflags = [
"-s"

View file

@ -18,13 +18,13 @@
buildNpmPackage rec {
pname = "basedpyright";
version = "1.39.7";
version = "1.39.8";
src = fetchFromGitHub {
owner = "detachhead";
repo = "basedpyright";
tag = "v${version}";
hash = "sha256-E4TR5deuPSf2YinrEzpP79Rq8zZHLJQUKiEsfUdMDOE=";
hash = "sha256-8S83CTd/td7USKxfCI0cXd2gPBMivi4QMRQwVgxhs6w=";
};
npmDepsHash = "sha256-humpJB+fv3+PITcPCz3uY2jNANb3P7sXy0lFP8Eg58I=";

View file

@ -11,7 +11,7 @@
stdenv.mkDerivation rec {
pname = "blackfire";
version = "2026.6.0";
version = "2026.6.1";
src =
passthru.sources.${stdenv.hostPlatform.system}
@ -60,23 +60,23 @@ stdenv.mkDerivation rec {
sources = {
"x86_64-linux" = fetchurl {
url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_amd64.deb";
hash = "sha256-JPhh7LNiLZXLN5iycNobZ/uJQjOhKqqYSw9P78+/BKk=";
hash = "sha256-doeqXoS0B7AyzyhkLB9wUC6iuD0c2KIhAIEPeYaDC5E=";
};
"i686-linux" = fetchurl {
url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_i386.deb";
hash = "sha256-uoqUDJ/bexqaRlf5Y692OGm91W1ErlS8Q8/l9MlsHwU=";
hash = "sha256-bQWhiSw9/gGyGoLEyz6BHaRPNLxuqouiobBMfB5ytYk=";
};
"aarch64-linux" = fetchurl {
url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_arm64.deb";
hash = "sha256-kL9s17Bnt8UYj3IiX2b7e3OWSsRLq5TSzdK6OdByD40=";
hash = "sha256-B+rhmnM2sVICVLDcYq2OEp402Wz6kywCRqeS95Vdzlw=";
};
"aarch64-darwin" = fetchurl {
url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_arm64.pkg.tar.gz";
hash = "sha256-p9D87uaDVu25SG4cclmzaq9oKaFDlIy8/XLx3rHuIQ4=";
hash = "sha256-Ofs9raAtx/duS8dXWfvjKGzhJr3j9+gkH8lP/VLfnkE=";
};
"x86_64-darwin" = fetchurl {
url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_amd64.pkg.tar.gz";
hash = "sha256-ppCSvk259NNlujl9olyRlmwRdNbLu/uRs+gq71S79B8=";
hash = "sha256-+rMiD/vFFIA8dR3quUnpr8uDNTdvnXyYjT8brgiOxBI=";
};
};

View file

@ -10,14 +10,14 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "blesh";
version = "0.4.0-devel3-unstable-2026-05-28";
version = "0.4.0-devel3-unstable-2026-06-21";
src = fetchFromGitHub {
owner = "akinomyoga";
repo = "ble.sh";
rev = "f38850cb0add16f110341a517ff7c849adb43e57";
rev = "6cffa910eccce252fa391875c7c03c94fb6f1b09";
fetchSubmodules = true;
hash = "sha256-EtOCZvUkzstXaT7N9qe+oT7+7ExlREsobzY+ylNy/7Y=";
hash = "sha256-CUIHfK1m00p6rBBNp/XqXifeRcG7BKpkdF7kl4+2tZY=";
};
nativeBuildInputs = [

View file

@ -27,13 +27,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "pds";
version = "0.4.5001";
version = "0.4.5006";
src = fetchFromGitHub {
owner = "bluesky-social";
repo = "pds";
tag = "v${finalAttrs.version}";
hash = "sha256-j7XNZYZHHj5HdtEuTAhNU9TD7S7eMILMflZJn0nDVaY=";
hash = "sha256-Jb2qAB6P5KlRu4L99fcK/v0/Fspr8IFaFXuYg+PBxhM=";
};
sourceRoot = "${finalAttrs.src.name}/service";
@ -63,7 +63,7 @@ stdenv.mkDerivation (finalAttrs: {
;
inherit pnpm;
fetcherVersion = 4;
hash = "sha256-3/gjhQIMxI/mwqmKV1wZ6oMiCGHutXuDY2CFSN3QnE4=";
hash = "sha256-YfwoUkTJJ2qANqwtSWKDGfFmahAtIDNyYFwCUE72oB0=";
};
buildPhase = ''

View file

@ -0,0 +1,84 @@
{
cargo,
desktop-file-utils,
fetchFromGitHub,
glib,
gtk4,
lib,
libadwaita,
meson,
ninja,
nix-update-script,
pkg-config,
rustc,
rustPlatform,
sqlite,
stdenv,
wrapGAppsHook4,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "bobby";
version = "50.0.2";
src = fetchFromGitHub {
owner = "hbons";
repo = "bobby";
tag = "v${finalAttrs.version}";
hash = "sha256-/N7CmzPwUdGkHIZujCGW3LvsGM6DdXrcm2kH6XlVGDA=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-TT3ceAy44sfyKZ7wmH3C4nj5TyfiJlu4vBWAaGs+pGg=";
};
buildInputs = [
glib
gtk4
libadwaita
sqlite
];
# favor sqlite from nixpkgs instead of a vendored variant in rusqlite
postPatch = ''
substituteInPlace Cargo.toml \
--replace-fail ', features = ["bundled"]' ""
'';
nativeBuildInputs = [
cargo
desktop-file-utils # for `update-desktop-database`
gtk4 # for `gtk-update-icon-cache`
meson
ninja
pkg-config
rustc
rustPlatform.cargoSetupHook
wrapGAppsHook4 # fix error: GLib-GIO-ERROR **: No GSettings schemas are installed on the system
];
mesonCheckFlags = [
"--print-errorlogs"
];
doCheck = true;
passthru.updateScript = nix-update-script { };
__structuredAttrs = true;
strictDeps = true;
meta = {
changelog = "https://github.com/hbons/Bobby/blob/${finalAttrs.src.tag}/data/studio.planetpeanut.Bobby.metainfo.xml";
description = "Browse SQLite files";
donationPage = "https://planetpeanut.studio/sponsors";
homepage = "https://apps.gnome.org/Bobby/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
aiyion
];
teams = [ lib.teams.gnome-circle ];
mainProgram = "bobby";
};
})

View file

@ -8,12 +8,12 @@
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "bumpver";
version = "2021.1110";
version = "2026.1132";
pyproject = true;
src = fetchPypi {
inherit (finalAttrs) pname version;
sha256 = "b6a0ddb78db7e00ae7ffe895bf8ef97f91e6310dfc1c4721896bdfd044b1cb03";
sha256 = "sha256-gLIjwj/Km8ndVpt6RGgJSdNL7iOnOIYNmps28avjsOA=";
};
prePatch = ''
@ -21,6 +21,8 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
--replace-fail "if any(arg.startswith(\"bdist\") for arg in sys.argv):" ""\
--replace-fail "import lib3to6" ""\
--replace-fail "package_dir = lib3to6.fix(package_dir)" ""
patchShebangs test/fixtures/hooks
'';
build-system = with python3.pkgs; [
@ -28,12 +30,10 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
];
dependencies = with python3.pkgs; [
pathlib2
click
toml
lexid
colorama
setuptools
];
nativeCheckInputs = [
@ -42,11 +42,6 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
mercurial
];
disabledTests = [
# fails due to more aggressive setuptools version specifier validation
"test_parse_default_pattern"
];
meta = {
description = "Bump version numbers in project files";
homepage = "https://pypi.org/project/bumpver/";

View file

@ -10,16 +10,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "c2patool";
version = "0.26.67";
version = "0.26.68";
src = fetchFromGitHub {
owner = "contentauth";
repo = "c2pa-rs";
tag = "c2patool-v${finalAttrs.version}";
hash = "sha256-18gGrIleSpSwHohX+Qn6Zj6kPIzNri53tHIBlED5/LY=";
hash = "sha256-0St3EoHvUQtfPF0LOLkbQ3C6NT/R+F9YhQoE0TpDTOc=";
};
cargoHash = "sha256-YZKQmekJ0RxtyrLkCeiAry+m7j2jhxm0lsQ+Xi29nEw=";
cargoHash = "sha256-lUHRGfI/GW9ZMEor5NPATt/ih6D/AhvGbL4H7FtyzDQ=";
# use the non-vendored openssl
env.OPENSSL_NO_VENDOR = 1;

View file

@ -45,6 +45,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
description = "Turing-complete language for creating provable programs for general computation";
homepage = "https://github.com/starkware-libs/cairo";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ raitobezarius ];
maintainers = [ ];
};
})

View file

@ -11,16 +11,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-codspeed";
version = "4.7.0";
version = "5.0.0";
src = fetchFromGitHub {
owner = "CodSpeedHQ";
repo = "codspeed-rust";
tag = "v${finalAttrs.version}";
hash = "sha256-6XSKAPLcxgnshkMuiSmw13tsE4keJ9h5DpxwidqMLbg=";
hash = "sha256-F4QRTNS9mo8juXyCFAlETNEaZZu56bYYr8i464FYPd4=";
};
cargoHash = "sha256-1AjODDI114CL/L8ZDFWDfPwxxxY9vgT/miSVsMLLSgE=";
cargoHash = "sha256-it/4LSTGajQe5f47LCh9eDAf8ZNyFTGJJ4Z5N6klgNw=";
nativeBuildInputs = [
curl

View file

@ -8,16 +8,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "charasay";
version = "3.3.1";
version = "3.3.3";
src = fetchFromGitHub {
owner = "latipun7";
repo = "charasay";
rev = "v${finalAttrs.version}";
hash = "sha256-VkDOdZt0Z/kuBwFm5utXYsxT59a1uapU9ouzB1ymmXs=";
hash = "sha256-8N3ToXpbDR+g19CT0q1J4QfQstBjS2QfX4IV2D7+ics=";
};
cargoHash = "sha256-6AczT5VvOryOlcOMNFxcHqy8K1sm4tbhb6+LsCNHW14=";
cargoHash = "sha256-yByNgG8JAdT5jVxe3ijLbmjE1c8YybPkiwMHOvpZPTM=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -24,6 +24,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
homepage = "https://github.com/iden3/circom";
changelog = "https://github.com/iden3/circom/blob/${finalAttrs.src.rev}/RELEASES.md";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ raitobezarius ];
maintainers = [ ];
};
})

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "clap";
version = "1.2.8";
version = "1.2.9";
src = fetchFromGitHub {
owner = "free-audio";
repo = "clap";
rev = finalAttrs.version;
hash = "sha256-slvq7p15xCa7l2tvEaGPzDL8w6/8EI0DySC4Zp+c7tQ=";
hash = "sha256-iQRy4+FNT2oun2pkl89A/bPZyv2R0YyF35IhkIwA1B0=";
};
postPatch = ''

View file

@ -1,47 +1,47 @@
{
"version": "2.1.186",
"commit": "6a56aff51d9e9faf62f26f2748501c2e32eec5e8",
"buildDate": "2026-06-22T16:51:01Z",
"version": "2.1.187",
"commit": "6a53320fad5541a68d79e4b6c53677df77b98e33",
"buildDate": "2026-06-23T17:07:42Z",
"platforms": {
"darwin-arm64": {
"binary": "claude",
"checksum": "463a79cc34a9787cff1b3361b4ec9e2dff928c18b077f41f0bb412e4cda78637",
"size": 216811232
"checksum": "a59a16ba4922adab7a145728f215d042184d349f5f7e72cddb7fc114250a4ce3",
"size": 215994048
},
"darwin-x64": {
"binary": "claude",
"checksum": "9e17e23d451cbbc64cf4b9536c1d25efd86808512617c855091fa608f77c9899",
"size": 224349952
"checksum": "7f57b6935b4246d03cb7acee90dc22153083483a267da589c5c920dd04744c36",
"size": 224795776
},
"linux-arm64": {
"binary": "claude",
"checksum": "817e5ff483568b78c49171be317b9b9190cade77248a5776e912789312961cb6",
"size": 231782112
"checksum": "b49be8a5e565bf2d45b50d2de62017b25462131acc9425d2fdb98b8f29c9dce2",
"size": 232240864
},
"linux-x64": {
"binary": "claude",
"checksum": "6a6d5d23486597c93138941c9b68caa0fbcd2dcedbf49e29a9c8d83e3a1cb329",
"size": 234436392
"checksum": "bb02fcb33626f8c599d10d8bee38585d4cf8d4225c3b497869dee7454e7bf361",
"size": 234874664
},
"linux-arm64-musl": {
"binary": "claude",
"checksum": "24906d06ab4cf312eb30a8d656a8d8c7fb22099ea8eb974e38ecfbc25d6631aa",
"size": 225161416
"checksum": "972fc2e0bc8104edb593ce7723d4414c0ed8e4df6d90ad26ae48097b1d910478",
"size": 225620168
},
"linux-x64-musl": {
"binary": "claude",
"checksum": "d0cb255cfb03513f6099af40f045b5852a1d8a1b59d0f405d84d2a01da6c9598",
"size": 229420432
"checksum": "c5a783d13aac71d42324f2e9dcd395c266bd5774951faf0d94855c737024bee3",
"size": 229858704
},
"win32-x64": {
"binary": "claude.exe",
"checksum": "6a286f0795d6dd46187b86e9124f819af35319169901cd883b80a75c47469516",
"size": 225908896
"checksum": "24964d08c5100bac6071352e5837101b333de1c1afefd2b8b0e7a60db6c0ef5c",
"size": 226329760
},
"win32-arm64": {
"binary": "claude.exe",
"checksum": "245869d5e5242aabfde49b091628aa4b3e7546f2cac52e1d6feb221a820910bc",
"size": 220571808
"checksum": "04124c0ba09ece85a856de652e84386094c372f002ff767a94d4a43ecf776f96",
"size": 220992160
}
}
}

View file

@ -26,18 +26,18 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "codex";
version = "0.141.0";
version = "0.142.0";
src = fetchFromGitHub {
owner = "openai";
repo = "codex";
tag = "rust-v${finalAttrs.version}";
hash = "sha256-1ZOaZlwAkH6DJpxlInfbXpaqmsbOIOGrFoj2dYehBMA=";
hash = "sha256-F8wlv0vSuljNFDgIzoeuVxvD0dk90z2FBtpBTMih7AA=";
};
sourceRoot = "${finalAttrs.src.name}/codex-rs";
cargoHash = "sha256-bQPeRKTrNYeGCO20hpu+F37sScFOGr1EPOVf1E0FU+4=";
cargoHash = "sha256-fvEFNE12J6zaLZrN6oQB8X+jXoKPSCWrL17Sl28+7/c=";
__structuredAttrs = true;

View file

@ -15,20 +15,20 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "conventional-changelog-cli";
version = "7.2.0";
version = "7.2.1";
src = fetchFromGitHub {
owner = "conventional-changelog";
repo = "conventional-changelog";
tag = "conventional-changelog-v${finalAttrs.version}";
hash = "sha256-0Fee2sfLwxfE/MRLMUUMACTGVxnJJF1MPsWWzleVA3c=";
hash = "sha256-1unB4/naGc/V1Fjc7Arn4DjnGvyCdicNFOofdgpvRUI=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-O91ypnycBwkfLSruezx9E5CrytguBdtmvgVhKFjUzvM=";
hash = "sha256-khAAFQeWUkALdkEdjW3tvCi5KiF9lN202yhLcj8ey1o=";
};
nativeBuildInputs = [

View file

@ -41,7 +41,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
panicgh
raitobezarius
];
};
})

View file

@ -9,16 +9,16 @@
buildGoModule (finalAttrs: {
pname = "crossplane-cli";
version = "2.3.2";
version = "2.3.3";
src = fetchFromGitHub {
owner = "crossplane";
repo = "cli";
rev = "v${finalAttrs.version}";
hash = "sha256-9BlNhllLz4LHPMy6gkph5flztQZBHI1tIMlNa22YPh4=";
hash = "sha256-X40vTjtai6zlZWvGG/wPt8us4AONcXZ9TxIZn2cPH2E=";
};
vendorHash = "sha256-NHLryreDHxrqjo8VHR9R/MD8tDXYaZYyqgulxPOKUyA=";
vendorHash = "sha256-WAGIhGW7R5BZuQmERbJhN3mFCLVSDsNqtAFYnrNo7XE=";
ldflags = [
"-s"

View file

@ -3,26 +3,37 @@
buildGoModule,
fetchFromGitHub,
installShellFiles,
makeBinaryWrapper,
}:
buildGoModule (finalAttrs: {
pname = "crowdsec";
version = "1.7.7";
version = "1.7.8";
src = fetchFromGitHub {
owner = "crowdsecurity";
repo = "crowdsec";
tag = "v${finalAttrs.version}";
hash = "sha256-TG9YRKzht9OAnlDNxLNP8060v0klee6GY7vJCu6MugM=";
hash = "sha256-2t9nxuqWNDAUOZHtfNkZ4ZFKXvv8k5LuvKrGNjpdGXc=";
};
vendorHash = "sha256-BjkTMBrQPv8uZzme02WFdobuYdbe1RvRkZ8RjHGubo8=";
vendorHash = "sha256-RDkttsV4PNOfjWPr4v+uIwdkmXYH83vkYFQQIO3CYGE=";
nativeBuildInputs = [ installShellFiles ];
nativeBuildInputs = [
installShellFiles
makeBinaryWrapper
];
subPackages = [
"cmd/crowdsec"
"cmd/crowdsec-cli"
"cmd/notification-dummy"
"cmd/notification-email"
"cmd/notification-file"
"cmd/notification-http"
"cmd/notification-sentinel"
"cmd/notification-slack"
"cmd/notification-splunk"
];
ldflags = [
@ -39,13 +50,12 @@ buildGoModule (finalAttrs: {
postBuild = "mv $GOPATH/bin/{crowdsec-cli,cscli}";
postInstall = ''
# so that `bin/crowdsec` is available for `cscli explain` for example
wrapProgram $out/bin/cscli --prefix PATH : $out/bin/
mkdir -p $out/share/crowdsec
cp -r ./config $out/share/crowdsec/
mkdir -p $out/lib/systemd/system
substitute ./config/crowdsec.service $out/lib/systemd/system/crowdsec.service \
--replace-fail /usr/local $out
installShellCompletion --cmd cscli \
--bash <($out/bin/cscli completion bash) \
--fish <($out/bin/cscli completion fish) \
@ -63,6 +73,7 @@ buildGoModule (finalAttrs: {
'';
meta = {
mainProgram = "crowdsec";
homepage = "https://crowdsec.net/";
changelog = "https://github.com/crowdsecurity/crowdsec/releases/tag/v${finalAttrs.version}";
description = "Free, open-source and collaborative IPS";
@ -80,6 +91,7 @@ buildGoModule (finalAttrs: {
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
jk
tornax
];
};
})

View file

@ -115,7 +115,6 @@ stdenv.mkDerivation (finalAttrs: {
mainProgram = "cryptsetup";
maintainers = with lib.maintainers; [
numinit
raitobezarius
];
platforms = with lib.platforms; linux;
identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "cryptsetup_project" finalAttrs.version;

View file

@ -2,10 +2,10 @@
buildDotnetGlobalTool {
pname = "csharpier";
version = "1.2.6";
version = "1.3.0";
executables = "csharpier";
nugetHash = "sha256-SaBHGaaeg/1c4okHN1Pn8caGZgfLJ/KsGRqgUiAqKlQ=";
nugetHash = "sha256-hwieEoQTcATyKZIZ7CQSWANPBv+pEShg6cDXU5EIexU=";
meta = {
description = "Opinionated code formatter for C#";

File diff suppressed because it is too large Load diff

View file

@ -63,7 +63,6 @@ stdenv.mkDerivation (finalAttrs: {
env = {
RAILS_ENV = "production";
NODE_ENV = "production";
REDIS_URL = ""; # build error if not defined
TAILWINDCSS_INSTALL_DIR = "${tailwindcss_3}/bin";
};

View file

@ -1,5 +1,5 @@
{
"version": "1.7.11",
"hash": "sha256-10FPOt/58AgP4ChMlAn5bYg2erJFXDdjXlHr3pA4L3Y=",
"npmHash": "sha256-CwpVV5xLw75ReS0IqFvV3oaVk6EBlqYIKRa2KehVwFQ="
"version": "1.9.1",
"hash": "sha256-ukpX2HOGNh14vbH/2UgjIU13PMBIA8Es2p7sBySAgVQ=",
"npmHash": "sha256-sUDEqvqNrztedUGZRRkD2ythpBQQwpqJz/QleUvqz0Y="
}

View file

@ -22,38 +22,38 @@
let
deltachat-rpc-server' = deltachat-rpc-server.overrideAttrs rec {
version = "2.52.0";
version = "2.53.0";
src = fetchFromGitHub {
owner = "chatmail";
repo = "core";
tag = "v${version}";
hash = "sha256-AQo27qnHPCK6q/3+Umk6ueqkOIVBA8n4q9S5iEZ7TkM=";
hash = "sha256-W2Yh5+6MaJ47GqJioGKge2J3RetGGTcl+0YxPPlSdDo=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
pname = "chatmail-core";
inherit version src;
hash = "sha256-ni8iaVPHXWhxfiBvtVzGRyPcxkbV0HiqcQCHGmAqk7s=";
hash = "sha256-aoPc5XvjwwuA9aOTvIOpTm15wozC9glJGqn3vPqsJF4=";
};
};
electron = electron_41;
in
stdenv.mkDerivation (finalAttrs: {
pname = "deltachat-desktop";
version = "2.52.0";
version = "2.53.1";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "deltachat";
repo = "deltachat-desktop";
tag = "v${finalAttrs.version}";
hash = "sha256-/FdGI6Dr9lz0+g/xSzHXbMdqWHf4TliHDXXiAQKKkOs=";
hash = "sha256-UJ6005PeQBiL9Inj/VRZjgxZtR278Ky2RcD5MywcGD8=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10;
fetcherVersion = 4;
hash = "sha256-0VvyZzWAdVGsuYb8CI36KqkqvjgRsTLJov1L44MxUHQ=";
hash = "sha256-t5OHx1GCaTIgGo9193Z3Kkl+jHCBIgtRypcUaO6By3I=";
};
strictDeps = true;

View file

@ -35,7 +35,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
;
__structuredAttrs = true;
cargoHash = "sha256-euRUA4LTmAdb9466DAMqKgAPX3N4KNXCh1ED9cL42lA=";
cargoHash = "sha256-iGgsG5V0cFzoudVASGqLakpuy2h4oD979LHuBclj+3o=";
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
substituteInPlace $cargoDepsCopy/*/libappindicator-sys-*/src/lib.rs \

View file

@ -359,7 +359,6 @@ python.pkgs.buildPythonApplication rec {
maintainers = with lib.maintainers; [
danielfullmer
mdaniels5757
raitobezarius
];
platforms = lib.platforms.unix;
mainProgram = "diffoscope";

View file

@ -2,20 +2,27 @@
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
openssl,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "diswall";
version = "0.6.1";
version = "0.7.2";
src = fetchFromGitHub {
owner = "dis-works";
repo = "diswall-rs";
rev = "v${finalAttrs.version}";
sha256 = "sha256-t2ZBi3ab6OUWzc0L0Hq/ay+s3KNDMeu6mkYxti48BuE=";
hash = "sha256-5kKVEdzN38gyovGAg3/FE5sbSwCBEiQH1GPsDeQ+rCg=";
};
cargoHash = "sha256-I4jfeOtK+ho2jksGHgQqHE+L6UzS240t+7v3/Eb/xAs=";
cargoHash = "sha256-WXaNLlTbZc2On19azFUbcsx0fA2LpsNNWxO6BzJ469M=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ];
OPENSSL_NO_VENDOR = 1;
doCheck = false;

View file

@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
pkg-config,
spdlog,
@ -26,32 +25,16 @@ let
);
in
stdenv.mkDerivation (finalAttrs: {
version = "0.10.0.post5";
version = "0.11.0.post0";
pname = "dolfinx";
src = fetchFromGitHub {
owner = "fenics";
repo = "dolfinx";
tag = "v${finalAttrs.version}";
hash = "sha256-CK7YEtJtrx/Mto72RHT4Qjg5StO28Et+FeCYxk5T+8s=";
hash = "sha256-brmU6AA7lN4TyHjHcg4mHUIj/OvJ16pfspEN95M4oOE=";
};
patches = [
# Fix wrong span extent in _lift_bc_interior_facets
# https://github.com/FEniCS/dolfinx/pull/4102
(fetchpatch {
url = "https://github.com/FEniCS/dolfinx/commit/6daca34a075a6dcdfdf77feb13d55d5dbd20e4dd.patch";
hash = "sha256-b/C1MqslS2OBCt+kK/+vJjW8pmsJx2FQ36qDtFA1ewI=";
includes = [ "cpp/dolfinx/fem/assemble_vector_impl.h" ];
})
# Fix hdf5 interface for rank 1
# https://github.com/FEniCS/dolfinx/pull/4043
(fetchpatch {
url = "https://github.com/FEniCS/dolfinx/commit/fce7c44f220d4cb94c5149ad28cd1ab00909c319.patch";
hash = "sha256-EVm4Rx5UO/3pKIVvjgYAkN+i5QR+u0Nxwxotlf41t+Q=";
})
];
nativeBuildInputs = [
cmake
pkg-config

View file

@ -16,20 +16,20 @@ let
# Keep this in sync with upstream locked version (likely a stable release, but not always latest)
matrix-js-sdk = stdenv.mkDerivation (finalAttrs: {
pname = "matrix-js-sdk";
version = "41.7.0-rc.3";
version = "41.8.0-rc.0";
src = fetchFromGitHub {
owner = "matrix-org";
repo = "matrix-js-sdk";
tag = "v${finalAttrs.version}";
hash = "sha256-KD+AbMGVAaGEU5h2JB5JyQtwG0SYejdADjJ7TrxqVrY=";
hash = "sha256-1e6nWeHNAhVynxv2R7GY5NRCBN0BriRjA3zLK0D5O9g=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 4;
hash = "sha256-mWtzWAV/lyaCZEIiGmOLUkhwwMouNAWoYJWL7Srr/bM=";
hash = "sha256-Me76t/wl4HtmbQ+FzUNLEpOM6aYbzTl68tuDSEh+Hq4=";
};
nativeBuildInputs = [
@ -58,20 +58,20 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "element-call";
version = "0.20.1";
version = "0.20.2";
src = fetchFromGitHub {
owner = "element-hq";
repo = "element-call";
tag = "v${finalAttrs.version}";
hash = "sha256-g71b0GVpe181iNum5i6z1bTAbCykyoYUy300Ebeds1Q=";
hash = "sha256-paUcZhjcLbJOpQOR8gRpGe0LzSaKtWsTzE1svzQaVZY=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 4;
hash = "sha256-K+ccoUDNYdmeVyVSYLP1UsvdsAgD1aH80HIubZY4Mf8=";
hash = "sha256-JOpKxtElmNKepx3W+1LIolcrYrevsCEq7+Aoh0kwZEw=";
};
inherit matrix-js-sdk;

View file

@ -7,14 +7,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "famly-fetch";
version = "0.5.3";
version = "0.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "jacobbunk";
repo = "famly-fetch";
tag = "v${finalAttrs.version}";
hash = "sha256-KsdypUXHU9drghAcDcur8FUUJvm8nIzq00QFdMqPnpc=";
hash = "sha256-MU9T8eP/LNOLAQFPOC1EEy58+kcn7G+Hh2R8wC92qnQ=";
};
build-system = with python3Packages; [

View file

@ -1,91 +1,95 @@
{
lib,
stdenv,
fetchurl,
libGL,
libjpeg,
libexif,
giflib,
libtiff,
libpng,
libwebp,
libdrm,
fetchFromGitLab,
hexdump,
meson,
ninja,
perl,
pkg-config,
freetype,
fontconfig,
which,
imagemagick,
curl,
sane-backends,
giflib,
libdrm,
libexif,
libiconvReal,
libinput,
libtsm,
libwebp,
libxkbcommon,
libxpm,
libepoxy,
libxt,
motif,
pixman,
poppler,
libgbm,
lirc,
udev,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fbida";
version = "2.14";
version = "2.15-1";
src = fetchurl {
url = "http://dl.bytesex.org/releases/fbida/fbida-${finalAttrs.version}.tar.gz";
sha256 = "0f242mix20rgsqz1llibhsz4r2pbvx6k32rmky0zjvnbaqaw1dwm";
__structuredAttrs = true;
strictDeps = true;
src = fetchFromGitLab {
owner = "kraxel";
repo = "fbida";
tag = "fbida-${finalAttrs.version}";
hash = "sha256-iwJkFynhz3SJ8MRjUsKtQAjPCBvST1ezsxTw2ZCXBag=";
};
patches = [
# Upstream patch to fix build on -fno-common toolchains.
(fetchurl {
name = "no-common.patch";
url = "https://git.kraxel.org/cgit/fbida/patch/?id=1bb8a8aa29845378903f3c690e17c0867c820da2";
sha256 = "0n5vqbp8wd87q60zfwdf22jirggzngypc02ha34gsj1rd6pvwahi";
})
# Prevents using function declaration without explicit parameters.
./function-parameters.patch
];
nativeBuildInputs = [
hexdump
meson
ninja
perl
pkg-config
which
];
buildInputs = [
libGL
libexif
libjpeg
libpng
giflib
freetype
fontconfig
libtiff
libwebp
imagemagick
curl
sane-backends
libdrm
libexif
libiconvReal
libinput
libtsm
libwebp
libxkbcommon
libxpm
libepoxy
libxt
motif
pixman
poppler
lirc
libgbm
udev
];
patchPhase = ''
runHook prePatch
patchShebangs scripts/*.pl
patchShebangs scripts/*.sh
sed -i -E \
-e '/^jpeg_run[[:space:]]*=.*$/d' \
-e "/^jpeg_ver[[:space:]]*=.*$/c\\jpeg_ver = '62'" \
meson.build
runHook postPatch
'';
makeFlags = [
"prefix=$(out)"
"verbose=yes"
"STRIP="
"JPEG_VER=62"
"HOST=nix"
];
postPatch = ''
sed -e 's@ cpp\>@ gcc -E -@' -i GNUmakefile
sed -e 's@$(HAVE_LINUX_FB_H)@yes@' -i GNUmakefile
'';
meta = {
description = "Image viewing and manipulation programs including fbi, fbgs, ida, exiftran and thumbnail.cgi";
homepage = "https://www.kraxel.org/blog/linux/fbida/";
downloadPage = "https://gitlab.com/kraxel/fbida/";
changelog = "https://gitlab.com/kraxel/fbida/-/blob/${finalAttrs.src.tag}/Changes?ref_type=tags";
license = lib.licenses.gpl2;
maintainers = with lib.maintainers; [ pSub ];
platforms = lib.platforms.linux;

View file

@ -80,6 +80,6 @@ stdenv.mkDerivation (finalAttrs: {
license = with lib.licenses; [ mit ];
homepage = "https://febio.org/";
platforms = lib.platforms.unix;
maintainers = [ ];
maintainers = with lib.maintainers; [ Scriptkiddi ];
};
})

View file

@ -53,6 +53,6 @@ stdenv.mkDerivation (finalAttrs: {
license = with lib.licenses; [ mit ];
homepage = "https://febio.org/";
platforms = lib.platforms.unix;
maintainers = [ ];
maintainers = with lib.maintainers; [ Scriptkiddi ];
};
})

View file

@ -0,0 +1,45 @@
{
lib,
stdenv,
fetchFromGitHub,
# linux dependencies
makeWrapper,
fastfetch,
pciutils,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fetch";
version = "2.1.0";
__structuredAttrs = true;
strictDeps = true;
src = fetchFromGitHub {
owner = "areofyl";
repo = "fetch";
tag = "v${finalAttrs.version}";
hash = "sha256-9ixx7XJcY4ktcN/lUfjvFljvHIEO2ktOebeGgL0ulHg=";
};
makeFlags = [ "PREFIX=${placeholder "out"}" ];
nativeBuildInputs = [ makeWrapper ];
postInstall = ''
wrapProgram $out/bin/fetch \
--prefix PATH : ${
lib.makeBinPath [
fastfetch
pciutils
]
}
'';
meta = {
description = "Animated 3D fetch tool that renders your distro logo as a spinning bas-relief";
homepage = "https://github.com/areofyl/fetch";
changelog = "https://github.com/areofyl/fetch/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.isc;
maintainers = with lib.maintainers; [ ghastrum ];
mainProgram = "fetch";
platforms = lib.platforms.linux;
};
})

View file

@ -6,13 +6,13 @@
}:
let
version = "1.3.3-stable";
version = "1.4.0-stable";
src = fetchFromGitHub {
owner = "gtsteffaniak";
repo = "filebrowser";
tag = "v${version}";
hash = "sha256-Q4TtC5x/nAbeZzICH9R9LBqe/8tbQOFR8vAImhQ5sYM=";
hash = "sha256-Ojz1VTtlCFUTodQ66mr0ozLKsx3kUirm79HuFJu33yQ=";
};
frontend = buildNpmPackage {
@ -20,7 +20,7 @@ let
inherit version src;
sourceRoot = "${src.name}/frontend";
npmDepsHash = "sha256-+2CHRhu+cEmA0OvvU8ZKZ7Q5rTUX2KCSXFeVdievoYQ=";
npmDepsHash = "sha256-tisZA7v0WsynNxgbww48eERz9+om4w8MW4IMzQIyh+Y=";
buildPhase = ''
runHook preBuild
@ -47,7 +47,7 @@ buildGoModule {
sourceRoot = "${src.name}/backend";
vendorHash = "sha256-Fq5FqsZ4m5j+UIn1RsElhNUb4guwI9wo48SjQdvESRU=";
vendorHash = "sha256-WvilFCwTGXecsD/afUpLL6TrGzr/cgkQeltCKKDc4AI=";
preBuild = ''
mkdir -p http/embed

View file

@ -1,12 +1,12 @@
diff --git a/share/config.fish b/share/config.fish
index 73148ac25..1964e30be 100644
index b246916a5..05252c35f 100644
--- a/share/config.fish
+++ b/share/config.fish
@@ -175,6 +175,7 @@ and __fish_set_locale
@@ -132,6 +132,7 @@ and __fish_set_locale
# This used to be in etc/config.fish - keep it here to keep the semantics
#
if status --is-login
if command -sq /usr/libexec/path_helper
+ and not set -q __NIX_DARWIN_SET_ENVIRONMENT_DONE
__fish_macos_set_env PATH /etc/paths '/etc/paths.d'
if test -n "$MANPATH"
__fish_macos_set_env MANPATH /etc/manpaths '/etc/manpaths.d'
if status is-login && command -sq /usr/libexec/path_helper
+ and not set -q __NIX_DARWIN_SET_ENVIRONMENT_DONE
__fish_macos_set_env PATH /etc/paths '/etc/paths.d'
if test -n "$MANPATH"
__fish_macos_set_env MANPATH /etc/manpaths '/etc/manpaths.d'

View file

@ -150,13 +150,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "fish";
version = "4.7.1";
version = "4.8.0";
src = fetchFromGitHub {
owner = "fish-shell";
repo = "fish-shell";
tag = finalAttrs.version;
hash = "sha256-u0mBdWkxP4zI6NUhJ0LJrEDrbAAfTDi8IapsWWC9yWc=";
hash = "sha256-ttjLM1uBY8sL+jVcxdHUnHYlRFe5jGjnkgBLy17qGso=";
};
env = {
@ -169,7 +169,7 @@ stdenv.mkDerivation (finalAttrs: {
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src patches;
hash = "sha256-d4YA9fnDQyfyK675nP+tiTqJ1o2jqjwPHU1trXd8MCA=";
hash = "sha256-w8MuabpZ5ronQL3iaXbLErxPlTe1Mg8OsRb5foR59II=";
};
patches = [
@ -404,10 +404,17 @@ stdenv.mkDerivation (finalAttrs: {
fishConfig =
let
fishScript = writeText "test.fish" ''
set -x __fish_bin_dir ${finalAttrs.finalPackage}/bin
echo $__fish_bin_dir
cp -r ${finalAttrs.finalPackage}/share/fish/tools/web_config/* .
chmod -R +w *
# webconfig.py locates fish via $fish_bin_dir, which fish_config
# normally exports from the read-only $__fish_bin_dir.
set -x fish_bin_dir $__fish_bin_dir
echo $fish_bin_dir
# The web_config tool is embedded in the binary, so extract it.
for f in (status list-files tools/web_config)
mkdir -p (path dirname $f)
status get-file $f > $f
end
cd tools/web_config
# if we don't set `delete=False`, the file will get cleaned up
# automatically (leading the test to fail because there's no

View file

@ -18,7 +18,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "fluux-messenger";
version = "0.16.1";
version = "0.16.2";
__structuredAttrs = true;
strictDeps = true;
@ -26,16 +26,16 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "processone";
repo = "fluux-messenger";
rev = "v${finalAttrs.version}";
hash = "sha256-os6zEB1E3D4WSRfru/UCDY0mgZxy0Zu/YcjhMbXt47g=";
hash = "sha256-G5VDcFHp+mIYBXh7Vju/8bGB3CPD1dyZKq8zAOKn3UY=";
};
cargoRoot = "apps/fluux/src-tauri";
cargoHash = "sha256-V6iDPPBpdJQV5PA/isRy+Gz6NdwUUEj3mf9PM/nX10s=";
cargoHash = "sha256-/jaEpC0f6B1zTxN7MHv/DESFnRTSAd3qi9rrnXurcPQ=";
npmDeps = fetchNpmDeps {
name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps";
inherit (finalAttrs) src;
hash = "sha256-iMkb7QZZrKjzmTzvWGbw8reF1nX4Avd1XKzyybz3q00=";
hash = "sha256-XAzE4I13GN4Gfi6g4VX5ZwM2DhVycKz7cGBQroAFvf8=";
};
nativeBuildInputs = [

View file

@ -59,13 +59,13 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "gephgui-wry";
version = "5.7.1";
version = "5.7.2";
src = fetchFromGitHub {
owner = "geph-official";
repo = "gephgui-pkg";
tag = "v${finalAttrs.version}";
hash = "sha256-PpkhIfA1jTqiY+4UwonrUk2wq+wL2Rhltfhp0LSURMg=";
hash = "sha256-uY2m4TXy4+efRC6WzGjB5Vushgj8zkCp0ctnCJAR+FE=";
fetchSubmodules = true;
};

View file

@ -8,13 +8,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ghost-complete";
version = "0.16.0";
version = "0.18.0";
src = fetchFromGitHub {
owner = "StanMarek";
repo = "ghost-complete";
tag = "v${finalAttrs.version}";
hash = "sha256-SL0PRGppuiglP/BStlvc//6dn2lP472lLfhz3Hq7ZVw=";
hash = "sha256-AOhH98qGHISf8AZw3MSMnS5ADL6wQJ5jlo4PXsw7CAo=";
};
__structuredAttrs = true;
@ -27,7 +27,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
--replace-fail '"-C", "link-arg=-fuse-ld=/usr/bin/ld",' ""
'';
cargoHash = "sha256-F568kxHWcbBQuAwUpkT1AwAr/u486/k094wVmB9SiqY=";
cargoHash = "sha256-l1Gp9FVtrGhzobM2Wdq110y1W7V6PNsQsJLBJ3sgOEs=";
cargoBuildFlags = [ "--package=ghost-complete" ];

View file

@ -7,16 +7,16 @@
buildGoModule (finalAttrs: {
pname = "gickup";
version = "0.10.44";
version = "0.10.45";
src = fetchFromGitHub {
owner = "cooperspencer";
repo = "gickup";
tag = "v${finalAttrs.version}";
hash = "sha256-AbeV/0CngNgCaLUIwv/uy8VgpiKiOXWGSjnW+xrd7gk=";
hash = "sha256-oVvL5BZYZZCfkGK9ABcppbddKuzykZv1OtBvKElaStI=";
};
vendorHash = "sha256-lCeUEReVh0Fg1gyyTvWq2CIdQLuGCN20u9TftiokI0I=";
vendorHash = "sha256-2SwjvITyo6z34MZ7gSbSQ1PeW0aO4MRi2DzYgqGcOvk=";
ldflags = [ "-X main.version=${finalAttrs.version}" ];

View file

@ -57,7 +57,10 @@ python3Packages.buildPythonApplication {
longDescription = "Takes in a GIF, short video, or a query to the Tenor GIF API and converts it to animated ASCII art.";
homepage = "https://github.com/google/gif-for-cli";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ ambossmann ];
maintainers = with lib.maintainers; [
ambossmann
Scriptkiddi
];
mainProgram = "gif-for-cli";
};
}

Some files were not shown because too many files have changed in this diff Show more