Merge dde6423243 into haskell-updates

This commit is contained in:
nixpkgs-ci[bot]
2026-07-22 00:34:47 +00:00
committed by GitHub
380 changed files with 6752 additions and 3000 deletions

View File

@@ -41,10 +41,6 @@ jobs:
run:
runs-on: ubuntu-slim
if: github.event_name != 'schedule' || github.repository_owner == 'NixOS'
env:
# TODO: Remove after 2026-03-04, when Node 24 becomes the default.
# https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:

26
doc/channels.chapter.md Normal file
View File

@@ -0,0 +1,26 @@
# How channels work {#how-channels-work}
nixpkgs uses the [channels feature](https://nixos.org/nix/manual/#sec-channels) of nix.
nixpkgs is distributed for users of Nix on non-NixOS distributions through the channel
`nixpkgs-unstable`. Users of NixOS generally use one of the `nixos-*` channels,
e.g. `nixos-22.11`, which includes all packages and modules for the stable NixOS
22.11. Stable NixOS releases are generally only given
security updates. More up to date packages and modules are available via the
`nixos-unstable` channel.
Both `nixos-unstable` and `nixpkgs-unstable` follow the `master` branch of the
nixpkgs repository, although both do lag the `master` branch by generally
[a couple of days](https://status.nixos.org/). Updates to a channel are
distributed as soon as all tests for that channel pass, e.g.
[this table](https://hydra.nixos.org/job/nixpkgs/trunk/unstable#tabs-constituents)
shows the status of tests for the `nixpkgs-unstable` channel.
The tests are conducted by a cluster called [Hydra](https://nixos.org/hydra/),
which also builds binary packages from the Nix expressions in Nixpkgs for
`x86_64-linux`, `aarch64-linux`, `x86_64-darwin` and `aarch64-darwin`.
The binaries are made available via a [binary cache](https://cache.nixos.org).
The current Nix expressions of the channels are available in the
[nixpkgs repository](https://github.com/NixOS/nixpkgs) in branches
that correspond to the channel names (e.g. `nixos-22.11-small`).

View File

@@ -68,7 +68,7 @@ The recommended way of defining a derivation for a Rocq library, is to use the `
* `overrideBuildInputs` (optional) replaces the default list of derivation to which `buildInputs` and `extraBuildInputs` adds extras elements,
* `propagatedBuildInputs` (optional) is passed as is to `mkDerivation`, we recommend to use this for Rocq libraries and Rocq plugin dependencies, as this makes sure the paths of the compiled libraries and plugins will always be added to the build environments of subsequent derivation, which is necessary for Rocq packages to work correctly,
* `mlPlugin` (optional, defaults to `false`). Some extensions (plugins) might require OCaml and sometimes other OCaml packages. Standard dependencies can be added by setting the current option to `true`. For a finer grain control, the `rocq-core.ocamlPackages` attribute can be used in `nativeBuildInputs`, `buildInputs`, and `propagatedBuildInputs` to depend on the same package set Rocq was built against.
* `useDuneifVersion` (optional, default to `(x: false)` uses Dune to build the package if the provided predicate evaluates to true on the version, e.g. `useDuneifVersion = versions.isGe "1.1"` will use dune if the version of the package is greater or equal to `"1.1"`,
* `useDuneifVersion` (optional, default to `(x: false)`) uses Dune to build the package if the provided predicate evaluates to true on the version, e.g. `useDuneifVersion = versions.isGe "1.1"` will use dune if the version of the package is greater or equal to `"1.1"`,
* `useDune` (optional, defaults to `false`) uses Dune to build the package if set to true, the presence of this attribute overrides the behavior of the previous one.
* `opam-name` (optional, defaults to concatenating with a dash separator the components of `namePrefix` and `pname`), name of the Dune package to build.
* `enableParallelBuilding` (optional, defaults to `true`), since it is activated by default, we provide a way to disable it.

View File

@@ -149,6 +149,11 @@ Note: this is not possible anymore for Neovim.
## Adding new plugins to nixpkgs {#adding-new-plugins-to-nixpkgs}
:::{.note}
Before adding a Neovim Lua plugin, check if a release is available on [luarocks](https://luarocks.org/).
If it is, add it as a [LuaRocks based plugin](#neovim-luarocks-based-plugins).
:::
Nix expressions for Vim plugins are stored in [pkgs/applications/editors/vim/plugins](https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/editors/vim/plugins). For the vast majority of plugins, Nix expressions are automatically generated by running [`nix-shell -p vimPluginsUpdater --run vim-plugins-updater`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/utils/updater.nix). This creates a [generated.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/generated.nix) file based on the plugins listed in [vim-plugin-names](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/vim-plugin-names).
When the vim updater detects an nvim-treesitter update, it also runs [`nvim-treesitter/update.py $(nix-build -A vimPlugins.nvim-treesitter)`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/utils/update.py) to update the tree sitter grammars for `nvim-treesitter`.

View File

@@ -1,50 +1,14 @@
# Preface {#preface}
# Overview {#preface}
The Nix Packages collection (Nixpkgs) is a set of thousands of packages for the
[Nix package manager](https://nixos.org/nix/), released under a
[permissive MIT license](https://github.com/NixOS/nixpkgs/blob/master/COPYING).
Packages are available for several platforms, and can be used with the Nix
package manager on most GNU/Linux distributions as well as [NixOS](https://nixos.org/nixos).
Nixpkgs is a set of packages for the [Nix package manager](https://nixos.org/nix/), released under the [MIT license](https://github.com/NixOS/nixpkgs/blob/master/COPYING).
This document is the user [_reference_](https://nix.dev/contributing/documentation/diataxis#reference) manual for Nixpkgs.
It describes the entire public interface of Nixpkgs in a concise and orderly manner, and all relevant behaviors, with examples and cross-references.
Further documentation:
To discover other kinds of documentation:
- [nix.dev](https://nix.dev/): Tutorials and guides for getting things done with Nix
- [NixOS **Option Search**](https://search.nixos.org/options) and reference documentation
- [Nixpkgs **Package Search**](https://search.nixos.org/packages)
- [**NixOS** manual](https://nixos.org/manual/nixos/stable/): Reference documentation for the NixOS Linux distribution
- [`CONTRIBUTING.md`](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md): Contributing to Nixpkgs, including this manual
## Overview of Nixpkgs {#overview-of-nixpkgs}
- [NixOS Search](https://search.nixos.org)
- [Contributing](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md): to Nixpkgs
Nix expressions describe how to build packages from source and are collected in
the [Nixpkgs repository](https://github.com/NixOS/nixpkgs). Also included in the
collection are Nix expressions for
[NixOS modules](https://nixos.org/nixos/manual/index.html#sec-writing-modules).
With these expressions the Nix package manager can build binary packages.
the [nixpkgs repository](https://github.com/NixOS/nixpkgs).
Packages, including the Nix packages collection, are distributed through
[channels](https://nixos.org/nix/manual/#sec-channels). The collection is
distributed for users of Nix on non-NixOS distributions through the channel
`nixpkgs-unstable`. Users of NixOS generally use one of the `nixos-*` channels,
e.g., `nixos-22.11`, which includes all packages and modules for the stable NixOS
22.11. Stable NixOS releases are generally only given
security updates. More up-to-date packages and modules are available via the
`nixos-unstable` channel.
Both `nixos-unstable` and `nixpkgs-unstable` follow the `master` branch of the
Nixpkgs repository, although both do lag the `master` branch by generally
[a couple of days](https://status.nixos.org/). Updates to a channel are
distributed as soon as all tests for that channel pass, e.g.,
[this table](https://hydra.nixos.org/job/nixpkgs/trunk/unstable#tabs-constituents)
shows the status of tests for the `nixpkgs-unstable` channel.
The tests are conducted by a cluster called [Hydra](https://nixos.org/hydra/),
which also builds binary packages from the Nix expressions in Nixpkgs for
`x86_64-linux`, `aarch64-linux`, and `aarch64-darwin`.
The binaries are made available via a [binary cache](https://cache.nixos.org).
The current Nix expressions of the channels are available in the
[Nixpkgs repository](https://github.com/NixOS/nixpkgs) in branches
that correspond to the channel names (e.g., `nixos-22.11-small`).
Packages are distributed through [channels](#how-channels-work).

View File

@@ -152,6 +152,9 @@
"ghc-deprecation-policy": [
"index.html#ghc-deprecation-policy"
],
"how-channels-work": [
"index.html#how-channels-work"
],
"inkscape-plugins": [
"index.html#inkscape-plugins"
],
@@ -395,9 +398,7 @@
"index.html#pnpm-build-hook-honored-variables"
],
"preface": [
"index.html#preface"
],
"overview-of-nixpkgs": [
"index.html#preface",
"index.html#overview-of-nixpkgs"
],
"part-using": [

View File

@@ -1,6 +1,7 @@
# Using Nixpkgs {#part-using}
```{=include=} chapters
channels.chapter.md
using/platform-support.chapter.md
using/configuration.chapter.md
using/overlays.chapter.md

View File

@@ -1598,6 +1598,12 @@
githubId = 153175;
name = "Andrew Marshall";
};
ambiso = {
email = "ambisotopy@gmail.com";
github = "ambiso";
githubId = 3750466;
name = "Robin Leander Schröder";
};
ambossmann = {
email = "timogottszky+git@gmail.com";
github = "Ambossmann";
@@ -5238,6 +5244,12 @@
githubId = 1448923;
name = "Christian Kauhaus";
};
ckgxrg = {
email = "ckgxrg@ckgxrg.io";
github = "ckgxrg-salt";
githubId = 165614491;
name = "ckgxrg";
};
cko = {
email = "christine.koppelt@gmail.com";
github = "cko";
@@ -13260,12 +13272,6 @@
githubId = 879272;
name = "Julio Merino";
};
jn-sena = {
email = "jn-sena@proton.me";
github = "jn-sena";
githubId = 45771313;
name = "Sena";
};
jnsgruk = {
email = "jon@sgrs.uk";
github = "jnsgruk";

View File

@@ -6,13 +6,13 @@ basexx,,,,,,
bcrypt,,,,,,ulysseszhan
binaryheap,,,,,,vcunat
bit32,,,,,5.1,lblasc
busted,,,,,,
busted,,,,,,alerque
busted-htest,,,,,,mrcjkb
canola.nvim,,,,,,saadndm
cassowary,,,,,,alerque
cldr,,,,,,alerque
commons.nvim,,,,,5.1,mrcjkb
compat53,,,,,,vcunat
compat53,,,,,,vcunat alerque
coop.nvim,,,,,,
cosmo,,,,,,
coxpcall,,,,1.17.0-1,,
@@ -38,7 +38,7 @@ inspect,,,,,,
jsregexp,,,,0.0.7-2,,
kulala.nvim,,,,,,
ldbus,,,https://luarocks.org/dev,,,
ldoc,,,,,,
ldoc,,,,,,alerque
lgi,,,,,,
linenoise,https://raw.githubusercontent.com/hoelzro/lua-linenoise/master/linenoise-0.9-1.rockspec,,,,,
ljsyscall,,,,,5.1,lblasc
@@ -62,7 +62,7 @@ lua-cjson,,,,,,
lua-cmsgpack,,,,,,
lua-curl,,,,,,
lua-ffi-zlib,,,,,,
lua-iconv,,,,7.0.0,,
lua-iconv,,,,7.0.0,,alerque
lua-lsp,,,,,,
lua-messagepack,,,,,,
lua-protobuf,,,,,,lockejan
@@ -78,10 +78,10 @@ lua-toml,,,,,,
lua-utils.nvim,,,,,,mrcjkb
lua-yajl,,,,,,pstn
lua-zlib,,,,,,koral
lua_cliargs,,,,,,
lua_cliargs,,,,,,alerque
luabitop,https://raw.githubusercontent.com/teto/luabitop/master/luabitop-1.0.2-3.rockspec,,,,,
luacheck,,,,,,
luacov,,,,,,
luacheck,,,,,,alerque
luacov,,,,,,alerque
luacov-reporter-lcov,,,,,,ulysseszhan
luadbi,,,,,,
luadbi-mysql,,,,,,
@@ -91,7 +91,7 @@ luaepnf,,,,,,
luaevent,,,,,,
luaexpat,,,,,,arobyn flosse
luaffi,,,https://luarocks.org/dev,,,
luafilesystem,,,,,,flosse
luafilesystem,,,,,,flosse alerque
lualdap,,,,,,aanderse
lualine.nvim,,,https://luarocks.org/dev,,,
lualogging,,,,,,
@@ -104,12 +104,12 @@ luarocks-build-rust-mlua,,,,,,mrcjkb
luarocks-build-tree-sitter-cli,,,,,,
luarocks-build-treesitter-parser,,,,,,mrcjkb
luarocks-build-treesitter-parser-cpp,,,,,,mrcjkb
luasec,,,,,,flosse
luasec,,,,,,flosse alerque
luasnip,,,,,,
luasocket,,,,,,
luasocket,,,,,,alerque
luasql-sqlite3,,,,,,
luassert,,,,,,
luasystem,,,,,,
luassert,,,,,,alerque
luasystem,,,,,,alerque
luatext,,,,,,
luaunbound,,,,,,
luaunit,,,,,,lockejan
@@ -159,7 +159,7 @@ rocks-git.nvim,,,,,5.1,mrcjkb
rocks.nvim,,,,,5.1,mrcjkb
rtp.nvim,,,,,5.1,mrcjkb
rustaceanvim,,,,,5.1,mrcjkb
say,,,,,,
say,,,,,,alerque
serpent,,,,,,lockejan
sofa,,,,,,f4z3r
sqlite,,,,,,
1 name rockspec ref server version luaversion maintainers
6 bcrypt ulysseszhan
7 binaryheap vcunat
8 bit32 5.1 lblasc
9 busted alerque
10 busted-htest mrcjkb
11 canola.nvim saadndm
12 cassowary alerque
13 cldr alerque
14 commons.nvim 5.1 mrcjkb
15 compat53 vcunat vcunat alerque
16 coop.nvim
17 cosmo
18 coxpcall 1.17.0-1
38 jsregexp 0.0.7-2
39 kulala.nvim
40 ldbus https://luarocks.org/dev
41 ldoc alerque
42 lgi
43 linenoise https://raw.githubusercontent.com/hoelzro/lua-linenoise/master/linenoise-0.9-1.rockspec
44 ljsyscall 5.1 lblasc
62 lua-cmsgpack
63 lua-curl
64 lua-ffi-zlib
65 lua-iconv 7.0.0 alerque
66 lua-lsp
67 lua-messagepack
68 lua-protobuf lockejan
78 lua-utils.nvim mrcjkb
79 lua-yajl pstn
80 lua-zlib koral
81 lua_cliargs alerque
82 luabitop https://raw.githubusercontent.com/teto/luabitop/master/luabitop-1.0.2-3.rockspec
83 luacheck alerque
84 luacov alerque
85 luacov-reporter-lcov ulysseszhan
86 luadbi
87 luadbi-mysql
91 luaevent
92 luaexpat arobyn flosse
93 luaffi https://luarocks.org/dev
94 luafilesystem flosse flosse alerque
95 lualdap aanderse
96 lualine.nvim https://luarocks.org/dev
97 lualogging
104 luarocks-build-tree-sitter-cli
105 luarocks-build-treesitter-parser mrcjkb
106 luarocks-build-treesitter-parser-cpp mrcjkb
107 luasec flosse flosse alerque
108 luasnip
109 luasocket alerque
110 luasql-sqlite3
111 luassert alerque
112 luasystem alerque
113 luatext
114 luaunbound
115 luaunit lockejan
159 rocks.nvim 5.1 mrcjkb
160 rtp.nvim 5.1 mrcjkb
161 rustaceanvim 5.1 mrcjkb
162 say alerque
163 serpent lockejan
164 sofa f4z3r
165 sqlite

View File

@@ -2306,6 +2306,9 @@
"test-opt-meta.hydraPlatforms": [
"index.html#test-opt-meta.hydraPlatforms"
],
"test-opt-meta.teams": [
"index.html#test-opt-meta.teams"
],
"test-opt-meta.timeout": [
"index.html#test-opt-meta.timeout"
],

View File

@@ -154,3 +154,5 @@
- If [`system.stateVersion`](#opt-system.stateVersion) is >=26.05, `pkgs.nextcloud33` will be installed by default.
- If [`system.stateVersion`](#opt-system.stateVersion) is >=25.11, `pkgs.nextcloud32` will be installed by default.
- Please note that Nextcloud prohibits skipping major versions while upgrading. You can upgrade to specific versions by declaring `services.nextcloud.package = pkgs.nextcloud33;`.
- `trilium-desktop` and `trilium-server` have been updated to 0.104.0. This release includes security hardening fixes that may break functionality. [See upstream release note for details](https://github.com/TriliumNext/Trilium/releases/tag/v0.104.0).

View File

@@ -1,6 +1,20 @@
{ lib, ... }:
{ lib, options, ... }:
let
inherit (lib) types mkOption literalMD;
# Approximate position of meta.teams / meta.maintainers in nixos tests.
# Right now this assumes only one such position and ignores other definitions.
# FIXME allow having multiple `maintainersPosition` et al..
getPosition =
definitionsWithLocations:
if definitionsWithLocations == [ ] then
null
else
{
file = (lib.head definitionsWithLocations).file;
column = 0;
line = 1;
};
in
{
options = {
@@ -12,7 +26,7 @@ in
'';
apply = lib.filterAttrs (k: v: v != null);
type = types.submodule (
{ config, ... }:
{ options, config, ... }:
{
options = {
maintainers = mkOption {
@@ -22,6 +36,25 @@ in
The [list of maintainers](https://nixos.org/manual/nixpkgs/stable/#var-meta-maintainers) for this test.
'';
};
maintainersPosition = mkOption {
internal = true;
readOnly = true;
type = types.nullOr types.attrs;
default = getPosition options.maintainers.definitionsWithLocations;
};
teams = mkOption {
type = types.listOf types.raw;
default = [ ];
description = ''
The [list of maintainer-teams](https://nixos.org/manual/nixpkgs/stable/#var-meta-teams) for this test.
'';
};
teamsPosition = mkOption {
internal = true;
readOnly = true;
type = types.nullOr types.attrs;
default = getPosition options.teams.definitionsWithLocations;
};
timeout = mkOption {
type = types.nullOr types.int;
default = 3600; # 1 hour

View File

@@ -6,6 +6,7 @@
}:
let
cfg = config.security.account-utils;
format = pkgs.formats.ini { };
in
{
options.security.account-utils = {
@@ -25,6 +26,16 @@ in
:::
'';
};
pwaccessd.settings = lib.mkOption {
description = ''
Options for pwaccessd.
See {manpage}`pwaccessd.conf(5)` for available options.
'';
type = lib.types.submodule {
freeformType = format.type;
};
default = { };
};
};
config = lib.mkIf cfg.enable {
@@ -44,6 +55,8 @@ in
};
environment.systemPackages = [ cfg.package ];
environment.etc."account-utils/pwaccessd.conf".source =
format.generate "pwaccessd.conf" cfg.pwaccessd.settings;
security.pam.services = {
pwupd-passwd = { };

View File

@@ -421,7 +421,7 @@ in
{
name = "unix";
control = "sufficient";
modulePath = "${config.security.pam.package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
}
];
@@ -567,7 +567,7 @@ in
{
name = "unix";
control = "sufficient";
modulePath = "${config.security.pam.package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
}
];
@@ -575,7 +575,7 @@ in
{
name = "unix";
control = "requisite";
modulePath = "${config.security.pam.package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
settings.nullok = true;
settings.yescrypt = true;
}

View File

@@ -201,7 +201,7 @@ in
# Setup session
name = "unix";
control = "required";
modulePath = "${config.security.pam.package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
}
{
name = "systemd";

View File

@@ -442,7 +442,7 @@ in
{
name = "unix";
control = "sufficient";
modulePath = "${config.security.pam.package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
}
];

View File

@@ -42,6 +42,15 @@ in
'';
};
useLlamaCppCacheDir = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to use {file}`/var/cache/llama-cpp` as {env}`LLAMA_CACHE` instead
of {file}`/var/cache/llama-swap` to share models and other cache with {option}`services.llama-cpp`.
'';
};
tls = {
enable = lib.mkEnableOption "TLS encryption";
@@ -113,6 +122,10 @@ in
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
environment = {
LLAMA_CACHE = lib.mkDefault "/var/cache/${config.systemd.services.llama-swap.serviceConfig.CacheDirectory}";
};
serviceConfig = {
Type = "exec";
ExecStart = "${lib.getExe cfg.package} ${
@@ -130,6 +143,12 @@ in
Restart = "on-failure";
RestartSec = 3;
CacheDirectory =
if cfg.useLlamaCppCacheDir then
config.systemd.services.llama-cpp.serviceConfig.CacheDirectory
else
"llama-swap";
# for GPU acceleration
PrivateDevices = false;

View File

@@ -5,13 +5,19 @@
...
}:
let
cfg = config.services.tetrd;
in
{
options.services.tetrd.enable = lib.mkEnableOption "tetrd";
options.services.tetrd = {
enable = lib.mkEnableOption "tetrd";
package = lib.mkPackageOption pkgs "tetrd" { };
};
config = lib.mkIf config.services.tetrd.enable {
config = lib.mkIf cfg.enable {
environment = {
systemPackages = [ pkgs.tetrd ];
etc."resolv.conf".source = "/etc/tetrd/resolv.conf";
systemPackages = [ cfg.package ];
# etc."resolv.conf".source = "/etc/tetrd/resolv.conf"; # Disabled overwriting of resolve.conf since otherwise tetrd disables your dns when its not connected to a device.
};
# Our resolv.conf will override resolvconf's version.
@@ -21,11 +27,11 @@
tmpfiles.rules = [ "f /etc/tetrd/resolv.conf - - -" ];
services.tetrd = {
description = pkgs.tetrd.meta.description;
description = cfg.package.meta.description;
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = "${pkgs.tetrd}/opt/Tetrd/bin/tetrd";
ExecStart = "${cfg.package}/opt/Tetrd/bin/tetrd";
Restart = "always";
RuntimeDirectory = "tetrd";
RootDirectory = "/run/tetrd";

View File

@@ -214,7 +214,7 @@ in
{
name = "unix";
control = "required";
modulePath = "${config.security.pam.package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
}
];
session = utils.pam.autoOrderRules [
@@ -230,7 +230,7 @@ in
{
name = "unix";
control = "required";
modulePath = "${config.security.pam.package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
}
{
name = "systemd";

View File

@@ -113,7 +113,7 @@ in
{
name = "unix";
control = "required";
modulePath = "${config.security.pam.package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
settings.nullok = true;
}
];
@@ -121,14 +121,14 @@ in
{
name = "unix";
control = "required";
modulePath = "${config.security.pam.package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
}
];
session = utils.pam.autoOrderRules [
{
name = "unix";
control = "required";
modulePath = "${config.security.pam.package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
}
{
name = "env";

View File

@@ -60,7 +60,7 @@ in
services.nginx = lib.mkIf cfg.nginx.enable {
enable = lib.mkDefault true;
virtualHosts."${cfg.domain}" = lib.mkMerge [
cfg.nginx.virtualHost
(lib.mapAttrsRecursive (_: lib.mkDefault) cfg.nginx.virtualHost)
{
root = lib.mkForce "${cfg.package}";
@@ -82,7 +82,7 @@ in
services.caddy = lib.mkIf cfg.caddy.enable {
enable = lib.mkDefault true;
virtualHosts."${cfg.domain}" = lib.mkMerge [
cfg.caddy.virtualHost
(lib.mapAttrsRecursive (_: lib.mkDefault) cfg.caddy.virtualHost)
{
hostName = lib.mkForce cfg.domain;
extraConfig = ''

View File

@@ -10,16 +10,23 @@ with lib;
let
cfg = config.services.flarum;
# Only placeholders reach the world-readable Nix store; the install
# script substitutes the real secrets at runtime.
flarumInstallConfig = pkgs.writeText "config.json" (
builtins.toJSON {
debug = false;
offline = false;
baseUrl = cfg.baseUrl;
databaseConfiguration = cfg.database;
databaseConfiguration =
cfg.database
// optionalAttrs (cfg.databasePasswordFile != null) {
password = "@databasePassword@";
};
adminUser = {
username = cfg.adminUser;
password = cfg.initialAdminPassword;
password =
if cfg.initialAdminPasswordFile != null then "@adminPassword@" else cfg.initialAdminPassword;
email = cfg.adminEmail;
};
settings = {
@@ -69,7 +76,26 @@ in
initialAdminPassword = mkOption {
type = types.str;
default = "flarum";
description = "Initial password for the adminUser";
description = ''
Initial password for the adminUser.
WARNING: This is stored world-readable in the Nix store.
Use {option}`initialAdminPasswordFile` instead.
'';
};
initialAdminPasswordFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/secrets/flarum-admin-password";
description = ''
File containing the initial password for adminUser.
Must be readable by the flarum user.
Takes precedence over {option}`initialAdminPassword`.
The password must not contain `"` or `\` characters, as it is
substituted into a JSON installation config verbatim.
'';
};
user = mkOption {
@@ -98,7 +124,12 @@ in
bool
int
]);
description = "MySQL database parameters";
description = ''
MySQL database parameters.
WARNING: A `password` set here is stored world-readable in the
Nix store. Use {option}`databasePasswordFile` instead.
'';
default = {
# the database driver; i.e. MySQL; MariaDB...
driver = "mysql";
@@ -118,6 +149,20 @@ in
};
};
databasePasswordFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/secrets/flarum-db-password";
description = ''
File containing the database password.
Must be readable by the flarum user.
Takes precedence over `database.password`.
The password must not contain `"` or `\` characters, as it is
substituted into a JSON installation config verbatim.
'';
};
createDatabaseLocally = mkOption {
type = types.bool;
default = false;
@@ -210,6 +255,8 @@ in
Type = "oneshot";
User = cfg.user;
Group = cfg.group;
# The secret-filled install config is staged in /tmp
PrivateTmp = true;
};
path = [ config.services.phpfpm.phpPackage ];
script = ''
@@ -222,7 +269,18 @@ in
''
+ optionalString (cfg.createDatabaseLocally && cfg.database.driver == "mysql") ''
if [ ! -f config.php ]; then
php flarum install --file=${flarumInstallConfig}
install -m 0600 ${flarumInstallConfig} /tmp/flarum-install.json
${optionalString (cfg.initialAdminPasswordFile != null) ''
${pkgs.replace-secret}/bin/replace-secret '@adminPassword@' \
${escapeShellArg cfg.initialAdminPasswordFile} /tmp/flarum-install.json
''}
${optionalString (cfg.databasePasswordFile != null) ''
${pkgs.replace-secret}/bin/replace-secret '@databasePassword@' \
${escapeShellArg cfg.databasePasswordFile} /tmp/flarum-install.json
''}
php flarum install --file=/tmp/flarum-install.json
# config.php contains the database password; stateDir is world-readable
chmod 600 config.php
fi
''
+ ''

View File

@@ -448,8 +448,8 @@ in
'';
# https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes
boot.kernel.sysctl."net.core.rmem_max" = mkDefault 2500000;
boot.kernel.sysctl."net.core.wmem_max" = mkDefault 2500000;
boot.kernel.sysctl."net.core.rmem_max" = mkDefault 7500000;
boot.kernel.sysctl."net.core.wmem_max" = mkDefault 7500000;
systemd.packages = [ cfg.package ];
systemd.services.caddy = {

View File

@@ -362,7 +362,7 @@ in
{
name = "unix";
control = "sufficient";
modulePath = "${config.security.pam.package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
}
];
@@ -446,7 +446,7 @@ in
{
name = "unix";
control = "sufficient";
modulePath = "${config.security.pam.package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
}
];
@@ -454,7 +454,7 @@ in
{
name = "unix";
control = "requisite";
modulePath = "${config.security.pam.package}/lib/security/pam_unix.so";
modulePath = config.security.pam.pam_unixModulePath;
settings.nullok = true;
settings.yescrypt = true;
}

View File

@@ -10,7 +10,7 @@
};
nodes.machine =
{ ... }:
{ pkgs, ... }:
{
# Flarum installs and migrates the database on first boot and runs a
# MariaDB server alongside PHP-FPM and nginx, so give the VM some headroom.
@@ -28,8 +28,11 @@
adminUser = "admin";
adminEmail = "admin@example.com";
# Flarum rejects admin passwords shorter than 8 characters.
initialAdminPassword = "flarum-admin-password";
# The trailing newline matches how secret managers typically write files.
initialAdminPasswordFile = "${pkgs.writeText "admin-pass" "flarum-admin-password\n"}";
# MariaDB authenticates via unix socket and never checks this password;
# setting it still exercises the substitution path.
databasePasswordFile = "${pkgs.writeText "db-pass" "flarum-db-password\n"}";
};
};
@@ -48,5 +51,23 @@
# The admin API endpoint should respond, confirming the app booted cleanly.
machine.succeed("curl -sf http://localhost/api -o /dev/null")
# Only the placeholders may appear in the install config in the Nix store.
machine.succeed("grep -q '@adminPassword@' /nix/store/*-config.json")
machine.succeed("grep -q '@databasePassword@' /nix/store/*-config.json")
machine.fail("grep -qe 'flarum-admin-password' -e 'flarum-db-password' /nix/store/*-config.json")
# A successful login proves the admin password was substituted intact.
machine.succeed(
"curl -sf http://localhost/api/token "
+ "-H 'Content-Type: application/json' "
+ "-d '{\"identification\": \"admin\", \"password\": \"flarum-admin-password\"}' "
+ "| grep -F token"
)
# The database password must arrive intact in config.php, which must
# not be world-readable.
machine.succeed("grep -q 'flarum-db-password' /var/lib/flarum/config.php")
machine.succeed("[ $(stat -c %a /var/lib/flarum/config.php) = 600 ]")
'';
}

View File

@@ -11,7 +11,12 @@
{
security.enableWrappers = false;
systemd.settings.Manager.NoNewPrivileges = true;
security.account-utils.enable = true;
security.account-utils = {
enable = true;
pwaccessd.settings = {
ExpiredCheck.SpMin = true;
};
};
users.mutableUsers = true;
security.account-utils.extraArgs = [
"-v"
@@ -46,6 +51,9 @@
print(f"passwd path is: {passwd_path}")
assert "account-utils" in passwd_path
with subtest("config file exists"):
machine.succeed("ls /etc/account-utils/pwaccessd.conf")
with subtest("create user"):
machine.succeed("useradd -m alice")
machine.succeed("(echo foobar; echo foobar) | passwd alice")

View File

@@ -13,6 +13,7 @@
makeDesktopItem,
makeWrapper,
p7zip,
gnutar,
writeShellScript,
}:
let
@@ -46,9 +47,17 @@ let
pname = "pianoteq-${name}";
unpackPhase = ''
${p7zip}/bin/7z x $src
'';
unpackPhase =
if lib.hasSuffix ".7z" src then
''
${p7zip}/bin/7z x $src
''
else if lib.hasSuffix ".tar.xz" src then
''
${gnutar}/bin/tar -xf $src
''
else
throw "unexpected file format";
nativeBuildInputs = [
autoPatchelfHook
@@ -243,6 +252,7 @@ let
version6 = "6.7.3";
version7 = "7.5.4";
version8 = "8.4.0";
version9 = "9.1.2";
mkStandard =
version: hash:
@@ -292,8 +302,35 @@ let
inherit hash;
};
};
mkTrial9 =
hash:
mkPianoteq {
name = "trial";
version = version9;
mainProgram = "Pianoteq 9";
startupWMClass = "Pianoteq Trial";
src = fetchPianoteqTrial {
name = "pianoteq_trial_v${versionForFile version9}.tar.xz";
inherit hash;
};
};
mkStage9 =
hash:
mkPianoteq {
name = "stage";
version = version9;
mainProgram = "Pianoteq 9 STAGE";
startupWMClass = "Pianoteq STAGE";
src = fetchPianoteqWithLogin {
name = "pianoteq_setup_v${versionForFile version9}.tar.xz";
inherit hash;
};
};
in
{
trial_9 = mkTrial9 "sha256-1ofPL6F12Gv+k2rZBadOa5Iyukuji6vdww87ufdKjM8=";
stage_9 = mkStage9 "sha256-Jvm/AhBwgj5INW8U48rJjgDB7j/Z1VnYKczvtrpl/AY=";
standard_8 = mkStandard version8 "sha256-ZDGB/SOOz+sWz7P+sNzyaipEH452n8zq5LleO3ztSXc=";
stage_8 = mkStage version8 "";
standard-trial_8 = mkStandardTrial version8 "sha256-K3LbAWxciXt9hVAyRayxSoE/IYJ38Fd03+j0s7ZsMuw=";

View File

@@ -16,9 +16,9 @@ let
inherit tiling_wm;
};
stableVersion = {
version = "2026.1.1.10"; # "Android Studio Quail 1 | 2026.1.1 Patch 2"
sha256Hash = "sha256-+9PxFtEsrtck6o2g0s2ufnkRcPefKqESc+oPLSKiJNw=";
url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2026.1.1.10/android-studio-quail1-patch2-linux.tar.gz";
version = "2026.1.2.10"; # "Android Studio Quail 2 | 2026.1.2"
sha256Hash = "sha256-ZERaVAkucFbG638aia0RbQ/uwu9flluOWU1iq9tYWQ8=";
url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2026.1.2.10/android-studio-quail2-linux.tar.gz";
};
betaVersion = {
version = "2026.1.3.5"; # "Android Studio Quail 3 | 2026.1.3 RC 1"

View File

@@ -446,12 +446,12 @@ final: prev: {
SchemaStore-nvim = buildVimPlugin {
pname = "SchemaStore.nvim";
version = "0-unstable-2026-07-07";
version = "0-unstable-2026-07-20";
src = fetchFromGitHub {
owner = "b0o";
repo = "SchemaStore.nvim";
rev = "e954496f8ef22904e8a84f5078f4a110fdc7a0d3";
hash = "sha256-b8HOclkr3FoCNUDJ6f0ULsfyiQB38+9PNxl0CibVL60=";
rev = "e520902f405da5f5ad392d32babad5b5dd5ffa44";
hash = "sha256-zNXm/0W+Hv562zt6NxHnFuO2nBxjX5dlxS7pRB+KXQY=";
};
meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
meta.license = getLicenseFromSpdxId "Apache-2.0";
@@ -1050,12 +1050,12 @@ final: prev: {
artio-nvim = buildVimPlugin {
pname = "artio.nvim";
version = "0-unstable-2026-06-23";
version = "0-unstable-2026-07-17";
src = fetchFromGitHub {
owner = "comfysage";
repo = "artio.nvim";
rev = "52a074e6a15780df350c03b5c7ab47f706fe6da8";
hash = "sha256-8hbFtJXpkH1L2ZI6Rv9HTQcseog77yf78Wc/9WsvzPA=";
rev = "19d71f8d9c721872e97aa0e5f094041c96f3feca";
hash = "sha256-X1QXSoowhgs+uhO1T9OtaSXhAryzLCzGfHNgCFiO3is=";
};
meta.homepage = "https://github.com/comfysage/artio.nvim/";
meta.license = getLicenseFromSpdxId "EUPL-1.2";
@@ -1414,12 +1414,12 @@ final: prev: {
autoclose-nvim = buildVimPlugin {
pname = "autoclose.nvim";
version = "0-unstable-2026-03-22";
version = "0-unstable-2026-07-20";
src = fetchFromGitHub {
owner = "m4xshen";
repo = "autoclose.nvim";
rev = "bafd0368716216fa6a7bb2a43ecd889b44efdb46";
hash = "sha256-DOKKyaDmfUPRTcXJvqD+0zAr63+93H0auax6Dse0Igo=";
rev = "27063904b2238ce7867e430885b6abcfb08357ea";
hash = "sha256-BjNP8Facn3Cy/EHYioUB9mXb19sBzBeSCY1xTpPOWG8=";
};
meta.homepage = "https://github.com/m4xshen/autoclose.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -1638,12 +1638,12 @@ final: prev: {
base46 = buildVimPlugin {
pname = "base46";
version = "0-unstable-2026-07-11";
version = "0-unstable-2026-07-19";
src = fetchFromGitHub {
owner = "nvchad";
repo = "base46";
rev = "cbb71c6cb56f53b30ab1a95a6d277f7e0524025b";
hash = "sha256-QG9FcdlCKYXzncvDt47RQQGyJ2ARt1N+ec75qtc7gSk=";
rev = "8d059b82367160cd530253afbbcd20dc4b34129f";
hash = "sha256-wW6UidkM6avqQVhPEgRtDXgxHsMdD+IM01A5ABebYT4=";
};
meta.homepage = "https://github.com/nvchad/base46/";
meta.license = unfree;
@@ -1946,12 +1946,12 @@ final: prev: {
blink-cmp-tmux = buildVimPlugin {
pname = "blink-cmp-tmux";
version = "0-unstable-2026-02-11";
version = "0-unstable-2026-07-16";
src = fetchFromGitHub {
owner = "mgalliou";
repo = "blink-cmp-tmux";
rev = "1ef35d8e388475ab8eaeecfc12e196c78bd5de04";
hash = "sha256-enoPsYF8llGShf+sx6rLYYnLLzrd+jdCdZ4gy9A2lKU=";
rev = "112ddbf2e09d9cb4736de70dd01eb9654cf01d70";
hash = "sha256-7Wj7bIg7vAOz0OygISORRphsEV6RcsR6m/S2tRyzEpU=";
};
meta.homepage = "https://github.com/mgalliou/blink-cmp-tmux/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -2254,12 +2254,12 @@ final: prev: {
bullets-vim = buildVimPlugin {
pname = "bullets.vim";
version = "2.0.0-unstable-2026-06-03";
version = "2.0.0-unstable-2026-07-16";
src = fetchFromGitHub {
owner = "bullets-vim";
repo = "bullets.vim";
rev = "3f667eeca58bd4ba411b41edefef51e7fed1a2b1";
hash = "sha256-fq3ATtCeXeq3CR97KbEu8mOEF8CtpEt7z8z3OO5IQQY=";
rev = "81570b98ca44b4100b3ddcf8d9ca74b9a9b0c884";
hash = "sha256-yTxXXnVyk/vbr+tWD9RquJvk2ksa8Okuhg3NnyeBp3o=";
};
meta.homepage = "https://github.com/bullets-vim/bullets.vim/";
meta.license = unfree;
@@ -3568,12 +3568,12 @@ final: prev: {
codecompanion-nvim = buildVimPlugin {
pname = "codecompanion.nvim";
version = "19.19.0";
version = "19.20.0";
src = fetchFromGitHub {
owner = "olimorris";
repo = "codecompanion.nvim";
tag = "v19.19.0";
hash = "sha256-1ypjttA0T6wnVrqBaiqGtcJnqiyhxeg2EXh7O9nPBpE=";
tag = "v19.20.0";
hash = "sha256-vDKbjW9izNruCLiPRQEs+yoOrA+YkuyvmdovFTY4nfw=";
};
meta.homepage = "https://github.com/olimorris/codecompanion.nvim/";
meta.license = getLicenseFromSpdxId "Apache-2.0";
@@ -4185,12 +4185,12 @@ final: prev: {
coq_nvim = buildVimPlugin {
pname = "coq_nvim";
version = "0-unstable-2026-07-12";
version = "0-unstable-2026-07-16";
src = fetchFromGitHub {
owner = "ms-jpq";
repo = "coq_nvim";
rev = "0b2b0db07b0426441ece46988d9ab28088f07cd5";
hash = "sha256-SjAiNoeAxuu2UFHupUnDtjrPtGqAiFdHoq21Qn35OVA=";
rev = "83580b587f6fc50568ec61ae79e18762fcf35c17";
hash = "sha256-OKlZh1FKIk4DhyAtc0rSnEOZoa75NQKRtdFYDjkTZPE=";
};
meta.homepage = "https://github.com/ms-jpq/coq_nvim/";
meta.license = getLicenseFromSpdxId "GPL-3.0-only";
@@ -4605,12 +4605,12 @@ final: prev: {
ddc-source-lsp = buildVimPlugin {
pname = "ddc-source-lsp";
version = "1.2.0-unstable-2026-06-12";
version = "1.2.0-unstable-2026-07-20";
src = fetchFromGitHub {
owner = "Shougo";
repo = "ddc-source-lsp";
rev = "7718b6d9539ebddc18e961f90ff1aca7975ffe5c";
hash = "sha256-2JVCuFXc6mtXUDEB1lVgWC2q38kvwr9tyjKO/Z4iY9k=";
rev = "2f476ae123bea5b3583f9d4ca141f63981e70b06";
hash = "sha256-2rMdU1FUP4HJP2o2MtL93po/FmloMzZ/sqeQWHPP55g=";
};
meta.homepage = "https://github.com/Shougo/ddc-source-lsp/";
meta.license = unfree;
@@ -7171,12 +7171,12 @@ final: prev: {
hardtime-nvim = buildVimPlugin {
pname = "hardtime.nvim";
version = "1.2.0-unstable-2025-09-13";
version = "1.2.0-unstable-2026-07-20";
src = fetchFromGitHub {
owner = "m4xshen";
repo = "hardtime.nvim";
rev = "b4e431934af1fe224a3a801f632c008278cb7628";
hash = "sha256-Jy9ARUHU1ySpSxxoS3hLRjxp5Lqt7juWN5Jnbdo0rg0=";
rev = "244753782b945def87472d8f4e9e6a9d4ec18689";
hash = "sha256-Zers7vdGRGy8n520G9uMuHwMAP3STHqU5d5a2Ln9rDQ=";
};
meta.homepage = "https://github.com/m4xshen/hardtime.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -8375,12 +8375,12 @@ final: prev: {
kitty-scrollback-nvim = buildVimPlugin {
pname = "kitty-scrollback.nvim";
version = "9.2.0";
version = "9.2.1";
src = fetchFromGitHub {
owner = "mikesmithgh";
repo = "kitty-scrollback.nvim";
tag = "v9.2.0";
hash = "sha256-M/sd8lUv7leapzI3uD0VNkMAwaFhPmXsktFnHMPJz0U=";
tag = "v9.2.1";
hash = "sha256-8IkvoJ8nTlP5WCqMpJqUhBsz7OYB/Mlp1lH5TJRpvOE=";
};
meta.homepage = "https://github.com/mikesmithgh/kitty-scrollback.nvim/";
meta.license = getLicenseFromSpdxId "Apache-2.0";
@@ -11034,12 +11034,12 @@ final: prev: {
neoconf-nvim = buildVimPlugin {
pname = "neoconf.nvim";
version = "1.4.0-unstable-2026-07-16";
version = "1.4.0-unstable-2026-07-19";
src = fetchFromGitHub {
owner = "folke";
repo = "neoconf.nvim";
rev = "50bdc4130d9e30d28d0b209544d49ee472f6bf12";
hash = "sha256-hsYouOS+ImmA6HnwqFRq3RMBTsn87oHrnijMqvargU4=";
rev = "1246df7a5d1811d84212f11edb43550cd8380ebd";
hash = "sha256-hlQf+xJ+/9OTqp5VtPsNE7QW6uVjWeUkqQ8r1u6MWkI=";
};
meta.homepage = "https://github.com/folke/neoconf.nvim/";
meta.license = getLicenseFromSpdxId "Apache-2.0";
@@ -11118,12 +11118,12 @@ final: prev: {
neogit = buildVimPlugin {
pname = "neogit";
version = "3.0.0-unstable-2026-07-15";
version = "3.0.0-unstable-2026-07-16";
src = fetchFromGitHub {
owner = "NeogitOrg";
repo = "neogit";
rev = "95295edaa26e8e8db5a9bc4119256e602311c6bc";
hash = "sha256-hAswp9Ba5xfFfBS+NKjLOoSky+SRrLfd8fdFC46Dq2s=";
rev = "f8674ec894315c02449b61c9de9a116c5aafeb90";
hash = "sha256-ETu9zy2In3M8/3fqYUfTRt0mKiocm3paJFjgQ82Yj3I=";
};
meta.homepage = "https://github.com/NeogitOrg/neogit/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -12142,12 +12142,12 @@ final: prev: {
none-ls-extras-nvim = buildVimPlugin {
pname = "none-ls-extras.nvim";
version = "0-unstable-2026-06-06";
version = "0-unstable-2026-07-17";
src = fetchFromGitHub {
owner = "nvimtools";
repo = "none-ls-extras.nvim";
rev = "27681d797a26f1b4d6119296df42f5204c88a2dc";
hash = "sha256-GZLT8X1eLeSkiV5EN1nOkCQg5nwNATURi/KMj90i40I=";
rev = "9a8b8a9aeb43382e5aaf49b00b7cfb5d42d32118";
hash = "sha256-YmDhDUqSJPOllXzkyrVUgnshrI5+Kt5Te8tEmnjOAVQ=";
};
meta.homepage = "https://github.com/nvimtools/none-ls-extras.nvim/";
meta.license = getLicenseFromSpdxId "Unlicense";
@@ -12268,12 +12268,12 @@ final: prev: {
nvchad-ui = buildVimPlugin {
pname = "nvchad-ui";
version = "0-unstable-2026-07-11";
version = "0-unstable-2026-07-19";
src = fetchFromGitHub {
owner = "nvchad";
repo = "ui";
rev = "28019401865beffcedc744bb1506d0201b88f2f9";
hash = "sha256-QKBDxZzEQKGzHOVJmS9D9i9h2/0HubbgUlAvaA7Erh0=";
rev = "222c8cc1ad66076c05b7c9d0695781ebe3799d88";
hash = "sha256-SKSRwXi0KdJtWkmak1LLwXIUukwIhMxKHy9HIMnu0DQ=";
};
meta.homepage = "https://github.com/nvchad/ui/";
meta.license = getLicenseFromSpdxId "GPL-3.0-only";
@@ -13746,12 +13746,12 @@ final: prev: {
nvim-treesitter = buildVimPlugin {
pname = "nvim-treesitter";
version = "0.10.0-unstable-2026-04-03";
version = "0.10.0-unstable-2026-07-19";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter";
rev = "4916d6592ede8c07973490d9322f187e07dfefac";
hash = "sha256-PQR6tFt4lCrAZNQG7BLMD1IiCKja9wDS1S4laGJf/HE=";
rev = "7248feaca45e4d944591497964bc19afa89ad1c6";
hash = "sha256-FQj0+qeaW9rLy3dUbGbUG4UYtnry7UBA1n9SM2qXLdk=";
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
meta.license = getLicenseFromSpdxId "Apache-2.0";
@@ -13858,12 +13858,12 @@ final: prev: {
nvim-treesitter-textobjects = buildVimPlugin {
pname = "nvim-treesitter-textobjects";
version = "0-unstable-2026-04-07";
version = "0-unstable-2026-07-19";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter-textobjects";
rev = "851e865342e5a4cb1ae23d31caf6e991e1c99f1e";
hash = "sha256-fOpRElIwvsFWm4AwETx7fpC3RtdH2BpCfX4YHVitqw0=";
rev = "898ee307df58f854d11cd7edd06472574d48014e";
hash = "sha256-naZ+p5RrC+uUyFRaksmozDfNgJRifff+9TDWx79DCPk=";
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
meta.license = getLicenseFromSpdxId "Apache-2.0";
@@ -14170,8 +14170,8 @@ final: prev: {
src = fetchFromGitHub {
owner = "tarides";
repo = "ocaml.nvim";
rev = "e12ded73f461d392cc2cad579a39733ebe34de61";
hash = "sha256-3NiRM02g7BU+MzCybSfsyZdODcPA+RbuNU9QOmmoCxo=";
rev = "d74934117fb7a513e64601ad1d1b53a34b00b01f";
hash = "sha256-zJJZP8jxa7e9Fn0N8JFzfP3d2TElkASFt8ptaWCOYpM=";
};
meta.homepage = "https://github.com/tarides/ocaml.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -15148,12 +15148,12 @@ final: prev: {
project-nvim = buildVimPlugin {
pname = "project.nvim";
version = "5.1.1-1";
version = "5.2.0-1";
src = fetchFromGitHub {
owner = "DrKJeff16";
repo = "project.nvim";
tag = "v5.1.1-1";
hash = "sha256-NmkKA9AH1uOgHSQT9S8RIFQrkrhkDvpKIfDqHGfzoFI=";
tag = "v5.2.0-1";
hash = "sha256-p/p7VxmuNusgUXtPpiCGa+BSgDDS/yKvtAV93cKmIEg=";
};
meta.homepage = "https://github.com/DrKJeff16/project.nvim/";
meta.license = getLicenseFromSpdxId "Apache-2.0";
@@ -16255,12 +16255,12 @@ final: prev: {
smart-splits-nvim = buildVimPlugin {
pname = "smart-splits.nvim";
version = "2.1.0-unstable-2026-07-10";
version = "2.1.0-unstable-2026-07-18";
src = fetchFromGitHub {
owner = "mrjones2014";
repo = "smart-splits.nvim";
rev = "9493405fb8ee683aa6efd50c529f6296ad8f40ad";
hash = "sha256-cMPRVxFMBVRpIcy7kCQyoXzgsIFJJ1cDgAcvOm9FNnI=";
rev = "de39b4d75695e2377401c7d05f896657637d244b";
hash = "sha256-Xqnre4RfIID/m8hXUpcMrsLssjfp/cbSpG24cory2BI=";
};
meta.homepage = "https://github.com/mrjones2014/smart-splits.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -16269,12 +16269,12 @@ final: prev: {
smartcolumn-nvim = buildVimPlugin {
pname = "smartcolumn.nvim";
version = "1.1.1-unstable-2025-07-21";
version = "1.1.1-unstable-2026-07-20";
src = fetchFromGitHub {
owner = "m4xshen";
repo = "smartcolumn.nvim";
rev = "b9cdbdf42f7ac5a659204cd5926017c7ff724a19";
hash = "sha256-QAb0O/ZwTVogRyTK8+Y4ORaN6nVaeYepKgfSCF/fIPU=";
rev = "5351ae24e992a397d2abac48b7774dc8ef0acf40";
hash = "sha256-+ICVS16n0CFWbTqBzGkvxQohyYiAvr6gIxZqura3PUw=";
};
meta.homepage = "https://github.com/m4xshen/smartcolumn.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -21136,12 +21136,12 @@ final: prev: {
vim-go = buildVimPlugin {
pname = "vim-go";
version = "1.29-unstable-2026-07-08";
version = "1.29-unstable-2026-07-18";
src = fetchFromGitHub {
owner = "fatih";
repo = "vim-go";
rev = "551d423ba27915d96721c8709702edd23bc2bb48";
hash = "sha256-ps2QQ6xyQpvfCZ+tTUTzBt3kxu7+VtDcvLnH2HS8pRY=";
rev = "d69962d20a2a60e4bdc92a2281e5f0aaaa109635";
hash = "sha256-tXA45Hhnr9Vv4p6MyNAxj2SOC+P8eGkIEVE8PDnyFx4=";
};
meta.homepage = "https://github.com/fatih/vim-go/";
meta.license = unfree;
@@ -21922,12 +21922,12 @@ final: prev: {
vim-just = buildVimPlugin {
pname = "vim-just";
version = "0-unstable-2026-07-11";
version = "0-unstable-2026-07-19";
src = fetchFromGitHub {
owner = "NoahTheDuke";
repo = "vim-just";
rev = "b3301b091c730061a6da1f9fab670eece6af187c";
hash = "sha256-ZcrnrD8ZHb76U1SrjEGlDLSr54WbtAyqjeooj8y0tug=";
rev = "d9aa6784fe3a870e78ba82b5d176c0c5745e23f7";
hash = "sha256-/QrVhax5PTidfSi6WAxJNX4mbBhUGFZLlG3WsqoT2Ro=";
};
meta.homepage = "https://github.com/NoahTheDuke/vim-just/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -22230,12 +22230,12 @@ final: prev: {
vim-lsp-settings = buildVimPlugin {
pname = "vim-lsp-settings";
version = "0.0.1-unstable-2026-07-11";
version = "0.0.1-unstable-2026-07-16";
src = fetchFromGitHub {
owner = "mattn";
repo = "vim-lsp-settings";
rev = "1b1803c4ae35ef8fecaaea1e6580ee700278804f";
hash = "sha256-kGQZWrg6tf5j/iHfTIKiQC/JZJRoKbKxMYzfhERvN+8=";
rev = "22d06c9e4b620d5c2f055aec590dec6d383e5316";
hash = "sha256-LiWvL9QpZFPUH+Uek19ce6/e8B6uATmje/emUvyLWJk=";
};
meta.homepage = "https://github.com/mattn/vim-lsp-settings/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -25267,12 +25267,12 @@ final: prev: {
vimtex = buildVimPlugin {
pname = "vimtex";
version = "2.17-unstable-2026-07-05";
version = "2.17-unstable-2026-07-18";
src = fetchFromGitHub {
owner = "lervag";
repo = "vimtex";
rev = "a5949d2800c1866c878956d49c51fc8d003c6b99";
hash = "sha256-P7zDZBNy2WivNbwCURpS3zTNd5nXenYu2PZEbyWnbCY=";
rev = "6368e31fdaf766ff908a2c06e9ee14fc66dec409";
hash = "sha256-/0DoAJ3Iv8eJlRqNodumYqllY+4c3zv+oY1EpbvC8ak=";
};
meta.homepage = "https://github.com/lervag/vimtex/";
meta.license = getLicenseFromSpdxId "MIT";
@@ -26025,12 +26025,12 @@ final: prev: {
zen-nvim = buildVimPlugin {
pname = "zen.nvim";
version = "0-unstable-2026-04-17";
version = "0-unstable-2026-07-18";
src = fetchFromGitHub {
owner = "sand4rt";
repo = "zen.nvim";
rev = "8d77a06063d74393ace9a984f32c4c158dcef6ba";
hash = "sha256-1zLxgs1EqAoGrjIr26awTFZ+NS06Ph/SDQHczBNCsaA=";
rev = "cc7306e9ea479b19e8ef4c5fba35b4efd4b66692";
hash = "sha256-ZFuhNDVmUU7A02w/rzDn8uze7ivHVu2GI3+6PyIxAgE=";
};
meta.homepage = "https://github.com/sand4rt/zen.nvim/";
meta.license = getLicenseFromSpdxId "MIT";

View File

@@ -3602,7 +3602,6 @@ assertNoAdditions {
snacks-nvim
telescope-nvim
];
dependencies = [ self.plenary-nvim ];
nvimSkipModules = [
# Issue reproduction file
"minimal"

View File

@@ -21,22 +21,22 @@ vscode-utils.buildVscodeMarketplaceExtension (finalAttrs: {
sources = {
"x86_64-linux" = {
arch = "linux-x64";
hash = "sha256-JYg1P0t3YadTxmqeRSky8X9emLnP2cO3BYO9R7PgQfM=";
hash = "sha256-vx8fRGGW9fJYKC1Q1627NrjxqqO/zRkH83aLyc4Rxn0=";
};
"aarch64-linux" = {
arch = "linux-arm64";
hash = "sha256-miK4K8THmT+ebjcAl/3Cp9vtVWfMlpIWWIqyAm5+YeQ=";
hash = "sha256-ZWwau/aSMsamcVBrtuSWI2HiKeZHfMqBLj9WQO8IA20=";
};
"aarch64-darwin" = {
arch = "darwin-arm64";
hash = "sha256-ao9yGH9xIBmNrp/sHpwpxKZnR8LjXl1Cegfgw7Nq+2M=";
hash = "sha256-a4yKVABQ0nVzlqS071ae5DYEqv8jgjSwLjxkEAroZvE=";
};
};
in
{
name = "claude-code";
publisher = "anthropic";
version = "2.1.215";
version = "2.1.216";
}
// sources.${stdenvNoCC.hostPlatform.system}
or (throw "Unsupported system ${stdenvNoCC.hostPlatform.system}");

View File

@@ -68,11 +68,11 @@ vscode-utils.buildVscodeMarketplaceExtension {
nativeBuildInputs = [
autoPatchelfHook
jq
makeWrapper
];
buildInputs = [
jq
libkrb5
zlib
(lib.getLib stdenv.cc.cc)

View File

@@ -6,8 +6,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "material-icon-theme";
publisher = "PKief";
version = "5.36.1";
hash = "sha256-1yxTjIsyj8o97VlvDlWqPCNIxd6XgbjpqF5qNbVtEwg=";
version = "5.37.0";
hash = "sha256-remt7+OQnOqSrtUoUN3QCXXR3Bti/lWIMfb7i4j3w84=";
};
meta = {
description = "Material Design Icons for Visual Studio Code";

View File

@@ -73,6 +73,9 @@ let
# This cannot be removed, it is used by some extensions.
installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}";
strictDeps = true;
__structuredAttrs = true;
nativeBuildInputs = [ unpackVsixSetupHook ] ++ nativeBuildInputs;
installPhase =

View File

@@ -181,7 +181,6 @@ stdenv.mkDerivation (
buildFHSEnv customizedArgs;
in
{
inherit
pname
version
@@ -199,8 +198,16 @@ stdenv.mkDerivation (
updateScript
vscodeVersion
;
fhs = fhs { };
fhsWithPackages = f: fhs { additionalPkgs = f; };
fhs = (fhs { }).overrideAttrs (old: {
strictDeps = true;
__structuredAttrs = true;
});
fhsWithPackages =
f:
(fhs { additionalPkgs = f; }).overrideAttrs (old: {
strictDeps = true;
__structuredAttrs = true;
});
}
// lib.optionalAttrs (vscodeServer != null) {
inherit rev vscodeServer;
@@ -419,7 +426,11 @@ stdenv.mkDerivation (
let
nodeModulesPath =
if stdenv.hostPlatform.isDarwin then
if lib.versionAtLeast vscodeVersion "1.94.0" then
# 1.129 moved node_modules back into app.asar, shipping native
# binaries in the asar.unpacked directory like before 1.94
if lib.versionAtLeast vscodeVersion "1.129.0" then
"Contents/Resources/app/node_modules.asar.unpacked"
else if lib.versionAtLeast vscodeVersion "1.94.0" then
"Contents/Resources/app/node_modules"
else
"Contents/Resources/app/node_modules.asar.unpacked"

View File

@@ -435,7 +435,7 @@ let
;;
*)
# Copy if the symlink resolves to a Mach-O dylib
otool -l "$file" 2>/dev/null | grep -q 'LC_ID_DYLIB' || continue
otool -l "$file" 2>/dev/null | grep -F 'LC_ID_DYLIB' >/dev/null || continue
;;
esac

View File

@@ -1,7 +1,7 @@
{
lib,
buildGoModule,
buildGo125Module,
buildGo126Module,
fetchFromGitHub,
nixosTests,
installShellFiles,
@@ -82,6 +82,19 @@ rec {
nomad = nomad_1_11;
nomad_2_0 = generic {
buildGoModule = buildGo126Module;
version = "2.0.0";
hash = "sha256-5rCAcOXWQ6g2iK1d5wy/a/DZQC2xwwdpI1SscDX98C8=";
vendorHash = "sha256-3/H7QgVOHtaUs6BOF7ATVgrA0cfNBbm940Axrvq2bKU=";
license = lib.licenses.bsl11;
passthru.tests.nomad = nixosTests.nomad;
preCheck = ''
export PATH="$PATH:$NIX_BUILD_TOP/go/bin"
'';
__structuredAttrs = true;
};
nomad_1_11 = generic {
buildGoModule = buildGo125Module;
version = "1.11.3";

View File

@@ -119,13 +119,13 @@
"vendorHash": "sha256-kvHI8cd/rl9kVKKzSwjrC0+Qikz3w2P9jgLvYa+T2DE="
},
"brightbox_brightbox": {
"hash": "sha256-pwFbCP+qDL/4IUfbPRCkddkbsEEeAu7Wp12/mDL0ABA=",
"hash": "sha256-bvwdtiwzXElhsXLmftXZQ567ExcC0E0L/5OeqIdp1SQ=",
"homepage": "https://registry.terraform.io/providers/brightbox/brightbox",
"owner": "brightbox",
"repo": "terraform-provider-brightbox",
"rev": "v3.4.3",
"rev": "v3.4.4",
"spdx": "MPL-2.0",
"vendorHash": "sha256-/dOiXO2aPkuZaFiwv/6AXJdIADgx8T7eOwvJfBBoqg8="
"vendorHash": "sha256-TLNHhSyMw0rKFtd9EChg7zSGoxe57rh36nAPqu1j8w8="
},
"buildkite_buildkite": {
"hash": "sha256-egeZCTQFyhKG0giyjNK9C/W+OGMOGv2l+65Vg3iTi2A=",
@@ -589,13 +589,13 @@
"vendorHash": "sha256-moP2fqZnj8J6IFAhb0n6pikVYVg2Is22xd/xuuJ+zIQ="
},
"hashicorp_google-beta": {
"hash": "sha256-pEdNv1MViCsCb3wFoDghCeQ5q2FErtGrQL9noL5B11g=",
"hash": "sha256-wf+pFYuDMqlFYvaTKTpgaeSSBoLgQlUAarobUAotLMo=",
"homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
"owner": "hashicorp",
"repo": "terraform-provider-google-beta",
"rev": "v7.39.0",
"rev": "v7.40.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-u4zldvOO/TtNHC8B+c63DWMbk7iEix+S+y/RLExchI8="
"vendorHash": "sha256-7f0HZQXVsIq7m8CUApTnHIroOjKwT1GaP+GjCf4C6n0="
},
"hashicorp_helm": {
"hash": "sha256-Dw6khnp0pronRKbBv2gx8ygtVvRV9uQIHCXj2BblZ6k=",
@@ -842,13 +842,13 @@
"vendorHash": "sha256-EAv8EeNn0PJ3BElmg6sKkd/LXNe0lFjEIjHuZRG3CoQ="
},
"launchdarkly_launchdarkly": {
"hash": "sha256-PgAK0BUTSyW4CXssQkENohnhtd2O5GPuFVvSDcHWjQ8=",
"hash": "sha256-xQhWB5gUO10v7KXXHci3gvXlI/hg7JXsn9bYxHVGJwc=",
"homepage": "https://registry.terraform.io/providers/launchdarkly/launchdarkly",
"owner": "launchdarkly",
"repo": "terraform-provider-launchdarkly",
"rev": "v2.30.0",
"rev": "v2.30.1",
"spdx": "MPL-2.0",
"vendorHash": "sha256-OgKOjLwDQxJiv+VWdOzjMcUDPu9LOuhyTRyLyM39vLM="
"vendorHash": "sha256-9RisIZUblqqylMW6Bz6ehpwRUXyvTdicuhEGI+n5G3Y="
},
"linode_linode": {
"hash": "sha256-N/SVZ1ajNRT53zxdYBT6Hd/wwAuKhEre0QSZUYbkwGA=",
@@ -1274,11 +1274,11 @@
"vendorHash": "sha256-9M1DsE/FPQK8TG7xCJWbU3HAJCK3p/7lxdzjO1oAfWs="
},
"sumologic_sumologic": {
"hash": "sha256-MraUjj18ooGYfOnsEJ0oCPIFQITagNRGMeAqZqEQWU4=",
"hash": "sha256-h4ipmgcEK8Cv9/gQwdOtQqbhfXO/QXJsrHHV6O1HtL8=",
"homepage": "https://registry.terraform.io/providers/SumoLogic/sumologic",
"owner": "SumoLogic",
"repo": "terraform-provider-sumologic",
"rev": "v3.2.9",
"rev": "v3.2.10",
"spdx": "MPL-2.0",
"vendorHash": "sha256-nbiLH+J051XxTx+z8xGrp/DPYB7g9S4clFSWcZUKnAg="
},

View File

@@ -105,11 +105,11 @@ assert lib.all (p: p.enabled -> !(builtins.elem null p.buildInputs)) plugins;
stdenv.mkDerivation rec {
pname = "weechat";
version = "4.9.3";
version = "4.9.4";
src = fetchurl {
url = "https://weechat.org/files/src/weechat-${version}.tar.xz";
hash = "sha256-XH2VOfqGyZ6nalUaiJqSusIeq3uyeQ29NGRS0AsQw3w=";
hash = "sha256-P8UDWfOjsljJ8DFIsC87nFkZRTXRtGXEgfuFp2wu0AU=";
};
# Why is this needed? https://github.com/weechat/weechat/issues/2031

View File

@@ -13,13 +13,13 @@ let
mkHyprlandPlugin,
}:
let
version = "0.55.0";
version = "0.56.0";
hyprland-plugins-src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprland-plugins";
tag = "v${version}";
hash = "sha256-WMUJ7tyw/9QbKUyRzLndEQSqX05fQLmFlRdMAmPD7tI=";
hash = "sha256-piRpwar7VZI3YviYo0a/UMFz9+rLesfv3nRLGKxjVGg=";
};
in
mkHyprlandPlugin {

View File

@@ -20,13 +20,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "account-utils";
version = "1.3.0";
version = "1.4.0";
src = fetchFromGitHub {
owner = "thkukuk";
repo = "account-utils";
tag = "v${finalAttrs.version}";
hash = "sha256-9l+y7FLb0IZXXp4RstlhNR6yA7b4b831obFuiVtO9+k=";
hash = "sha256-F0jM7qEpUjDjf0FTMfTNbD3WDoBShE0SyhDKzgI2K0k=";
};
__structuredAttrs = true;
@@ -54,6 +54,8 @@ stdenv.mkDerivation (finalAttrs: {
(lib.mesonOption "c_args" "-ffat-lto-objects")
];
doCheck = true;
passthru.tests = {
inherit (nixosTests) login-nosuid;
};

View File

@@ -0,0 +1,44 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nix-update-script,
}:
buildGoModule rec {
pname = "addchain";
version = "0.4.0";
src = fetchFromGitHub {
owner = "mmcloughlin";
repo = "addchain";
tag = "v${version}";
fetchSubmodules = false;
hash = "sha256-msuZgNYqN1QldrbXJJ4BFXYhUsllAPt8W0KRrr8p6TM=";
};
vendorHash = "sha256-qxlVGkbm95WFmH0+48XRXwrF7HRUWFxYHFzmFOaj4GA=";
ldflags = [
"-s"
"-w"
"-X github.com/mmcloughlin/addchain/meta.buildversion=${version}"
];
passthru = {
updateScript = nix-update-script { };
};
subPackages = [ "cmd/addchain" ];
__structuredAttrs = true;
meta = {
description = "addchain generates short addition chains for exponents of cryptographic interest with results rivaling the best hand-optimized chains";
homepage = "https://github.com/mmcloughlin/addchain";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
ambiso
];
mainProgram = "addchain";
};
}

View File

@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchurl,
}:
let
version = "0.3.2";
archMap = {
"x86_64-linux" = "x86_64";
"aarch64-linux" = "aarch64";
};
sysArch =
archMap.${stdenv.hostPlatform.system}
or (throw "Unsupported architecture: ${stdenv.hostPlatform.system}");
shimHashes = {
"x86_64" = "sha256-8WvuQgWTJNe4UpmS6uSYDYm46sIqxJbwVZ/J3CRz0OI=";
"aarch64" = "sha256-4RvFbxJGwM70huziY2ELoCouTrtMasgoqFUncBeBFvU=";
};
in
stdenv.mkDerivation {
pname = "aerion-creds";
inherit version;
strictDeps = true;
__structuredAttrs = true;
src = fetchurl {
url = "https://github.com/hkdb/aerion/releases/download/v${version}/flathub-build-env-v${version}-linux-${sysArch}";
hash = shimHashes.${sysArch};
};
dontUnpack = true;
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp $src $out/bin/aerion-creds
chmod +x $out/bin/aerion-creds
runHook postInstall
'';
meta = {
description = "OAuth credentials shim for Aerion";
homepage = "https://github.com/hkdb/aerion";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ curious ];
platforms = [
"x86_64-linux"
"aarch64-linux"
];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
}

View File

@@ -0,0 +1,103 @@
{
lib,
stdenv,
buildGoModule,
buildNpmPackage,
fetchFromGitHub,
pkg-config,
wrapGAppsHook3,
gtk3,
webkitgtk_4_1,
glib,
aerion-creds,
withOAuth ? false,
}:
let
version = "0.3.2";
src = fetchFromGitHub {
owner = "hkdb";
repo = "aerion";
rev = "v${version}";
hash = "sha256-elmk4huz4mvc7t+5/ZM5AK2R4pSKrLsZM0HxWFmQldE=";
};
frontend = buildNpmPackage {
pname = "aerion-frontend";
inherit version src;
sourceRoot = "${src.name}/frontend";
npmDepsHash = "sha256-dC+xGwSqdzItIfDipAVIVnbUJHiFkmzanjV/5xFsbkc=";
buildPhase = ''
npm run build
'';
installPhase = ''
mkdir -p $out
cp -r dist/* $out/
'';
};
in
buildGoModule {
pname = "aerion";
inherit version src;
__structuredAttrs = true;
vendorHash = "sha256-ptsrOpJo3i+yRSCGuHynbzi+C+GD/mBmPuHqWSVV/+4=";
nativeBuildInputs = [
pkg-config
]
++ lib.optionals stdenv.hostPlatform.isLinux [
wrapGAppsHook3
];
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
gtk3
webkitgtk_4_1
glib
];
tags = [
"production"
]
++ lib.optionals stdenv.hostPlatform.isLinux [
"desktop"
"webkit2_41"
];
preBuild = ''
mkdir -p frontend/dist
cp -r ${frontend}/* frontend/dist/
'';
postInstall = lib.optionalString stdenv.hostPlatform.isLinux (
''
install -Dm644 build/linux/aerion.png $out/share/pixmaps/io.github.hkdb.Aerion.png
install -Dm644 build/linux/aerion.desktop $out/share/applications/io.github.hkdb.Aerion.desktop
''
+ lib.optionalString withOAuth ''
rm -f $out/bin/aerion-creds
ln -s ${aerion-creds}/bin/aerion-creds $out/bin/aerion-creds
''
);
passthru = {
inherit frontend;
updateScript = ./update.sh;
};
meta = {
description = "An Open Source Lightweight E-Mail Client";
homepage = "https://github.com/hkdb/aerion";
license = lib.licenses.asl20;
mainProgram = "aerion";
maintainers = with lib.maintainers; [ curious ];
};
}

View File

@@ -0,0 +1,33 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix nix-update nix-prefetch-scripts common-updater-scripts
set -euo pipefail
nixpkgs="$(git rev-parse --show-toplevel)"
aerion_creds_file="$nixpkgs/pkgs/by-name/ae/aerion-creds/package.nix"
version=$(list-git-tags --url=https://github.com/hkdb/aerion \
| grep -oP '^v\d+\.\d+\.\d+$' \
| sed 's/^v//' \
| sort -V \
| tail -1)
echo "Updating aerion and aerion-creds to v$version"
# Update version in creds file
sed -i "s/version = \".*\";/version = \"$version\";/" "$aerion_creds_file"
# Update creds binary hashes
for arch in x86_64 aarch64; do
url="https://github.com/hkdb/aerion/releases/download/v$version/flathub-build-env-v$version-linux-$arch"
echo " Fetching creds hash for $arch..."
hash=$(nix-prefetch-url --type sha256 "$url")
sri_hash=$(nix-hash --to-sri --type sha256 "$hash")
sed -i "s|\"$arch\" = \"sha256-[^\"]*\";|\"$arch\" = \"$sri_hash\";|" "$aerion_creds_file"
done
# Update main package (handles version, source hash, npmDepsHash, vendorHash)
cd "$nixpkgs"
nix-update --version="$version" --subpackage frontend aerion
echo "Done!"

View File

@@ -9,12 +9,12 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "afew";
version = "4.0.1";
version = "4.0.2";
pyproject = true;
src = fetchPypi {
inherit (finalAttrs) pname version;
hash = "sha256-LPKSD4aMAREtf5Y4A9oa6Sh5lv/uuLpamcP35SBgA/M=";
hash = "sha256-gsfqyoVD6CXXd14MiyA5nq0e7wE6yymW9Ssmxpu6+E4=";
};
build-system = [

View File

@@ -105,7 +105,6 @@ buildGoModule (finalAttrs: {
changelog = "https://github.com/Aylur/ags/releases/tag/v${finalAttrs.version}";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
PerchunPak
johnrtitor
];
mainProgram = "ags";

View File

@@ -8,17 +8,17 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "air-formatter";
version = "0.10.0";
version = "0.11.0";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "posit-dev";
repo = "air";
tag = finalAttrs.version;
hash = "sha256-u0icSo6aW6tLgY57RPAoVte5Awn16FLIvZEeeYNr5fk=";
hash = "sha256-BWtQLgNFf/kULGvet33k3T1k2oL1hbDn2VPCj0JxrX4=";
};
cargoHash = "sha256-51xkTVs6j7n0os5wHWxpFC/uLHm3tz+SiWUHsd+bNRw=";
cargoHash = "sha256-xcNVioDbejCLrWMaUA06r9GK5KEIPq6w0W7G7290kOU=";
useNextest = true;

View File

@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "anda";
version = "0.7.3";
version = "0.7.8";
src = fetchFromGitHub {
owner = "FyraLabs";
repo = "anda";
tag = finalAttrs.version;
hash = "sha256-2I+4n/RWC8hqztjiKjqJadaajTaiwFrqGDL7166Gvso=";
hash = "sha256-/1N3ivvnlSBK9qYOAiH96tE/k+S3+EBfsycN2QV8o70=";
};
cargoHash = "sha256-v0HnWbLq8zwJZr0uNVj/1c5fg6b//X1szm6eel/8Ls8=";
cargoHash = "sha256-keS3z1Kyx6TKObAneQ/+qCp/1ueYQOdepdnAPiJs9qI=";
__structuredAttrs = true;

View File

@@ -8,13 +8,13 @@
stdenvNoCC.mkDerivation {
pname = "android-studio-tools";
version = "14742923";
version = "15859902";
src = fetchzip {
# The only difference between the Linux and Mac versions is a single comment at the top of all the scripts
# Therefore, we will use the Linux version and just patch the comment
url = "https://dl.google.com/android/repository/commandlinetools-linux-14742923_latest.zip";
hash = "sha256-oimC4ToDFIa8Rlv+5RB+swl8M5PHdX4omlrMZMQEx8M=";
url = "https://dl.google.com/android/repository/commandlinetools-linux-15859902_latest.zip";
hash = "sha256-tCbccw7qa7ncHGyWPWjwQOpaisN3QMRYXRpK7WtyjWY=";
};
postPatch = ''

View File

@@ -0,0 +1,18 @@
{
"version": "2.1.1",
"vscodeVersion": "1.107.0",
"sources": {
"x86_64-linux": {
"url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/2.1.1-6123990880747520/linux-x64/Antigravity%20IDE.tar.gz",
"sha256": "5b2cebf7d33a68d003fd8f1fa988d1600905ace22504a085e5384214290878bd"
},
"aarch64-linux": {
"url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/2.1.1-6123990880747520/linux-arm/Antigravity%20IDE.tar.gz",
"sha256": "c6b6fef97cfc078ae7f92d02f9483a12437b6602c7d322a7d445668c2f0c16a6"
},
"aarch64-darwin": {
"url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/2.1.1-6123990880747520/darwin-arm/Antigravity%20IDE.zip",
"sha256": "3491f5bc9faad111e5be6d9126bf5d566a0c591bd159a61ef0dcdd30c58672aa"
}
}
}

View File

@@ -14,22 +14,22 @@ let
information = (lib.importJSON ./information.json);
source =
information.sources."${hostPlatform.system}"
or (throw "antigravity: unsupported system ${hostPlatform.system}");
or (throw "antigravity-ide: unsupported system ${hostPlatform.system}");
in
buildVscode {
inherit commandLineArgs useVSCodeRipgrep;
inherit (information) version vscodeVersion;
pname = "antigravity";
pname = "antigravity-ide";
executableName = "antigravity";
longName = "Antigravity";
shortName = "Antigravity";
libraryName = "antigravity";
iconName = "antigravity";
executableName = "antigravity-ide";
longName = "Antigravity IDE";
shortName = "Antigravity IDE";
libraryName = "antigravity-ide";
iconName = "antigravity-ide";
src = fetchurl { inherit (source) url sha256; };
sourceRoot = if hostPlatform.isDarwin then "Antigravity.app" else "Antigravity";
sourceRoot = if hostPlatform.isDarwin then "Antigravity IDE.app" else "Antigravity IDE";
tests = { };
updateScript = ./update.js;
@@ -44,7 +44,7 @@ buildVscode {
extraBuildCommands = (args.extraBuildCommands or "") + ''
mkdir -p "$out/opt/google/chrome"
'';
runScript = writeShellScript "antigravity-wrapper" ''
runScript = writeShellScript "antigravity-ide-wrapper" ''
for candidate in google-chrome-stable google-chrome chromium-browser chromium; do
if target=$(command -v "$candidate"); then
${coreutils}/bin/ln -sf "$target" /opt/google/chrome/chrome
@@ -56,10 +56,10 @@ buildVscode {
};
meta = {
mainProgram = "antigravity";
mainProgram = "antigravity-ide";
description = "Agentic development platform, evolving the IDE into the agent-first era";
homepage = "https://antigravity.google";
downloadPage = "https://antigravity.google/download";
homepage = "https://antigravity.google/product/antigravity-ide";
downloadPage = "https://antigravity.google/download#antigravity-ide";
changelog = "https://antigravity.google/changelog";
license = lib.licenses.unfree;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
@@ -71,6 +71,7 @@ buildVscode {
maintainers = with lib.maintainers; [
xiaoxiangmoe
Zaczero
schembriaiden
];
};
}

View File

@@ -20,14 +20,15 @@ let version = "";
let vscodeVersion = "";
async function getLatestInformation(/** @type {"linux-x64" | "linux-arm64" | "darwin-arm64"} */ targetSystem) {
/** @type {UpdateInfo} */
const latestInfo = await (await fetch(`https://antigravity-auto-updater-974169037036.us-central1.run.app/api/update/${targetSystem}/stable/latest`)).json();
const latestInfo = await (await fetch(`https://antigravity-ide-auto-updater-974169037036.us-central1.run.app/api/update/${targetSystem}/stable/latest`)).json();
const newVersion = /\/antigravity\/stable\/([\d.]+)-[\d]+/.exec(latestInfo.url)?.[1] ?? ""; // Current API lack version field now, we need to parse it from the URL temporarily.
assert(newVersion !== "", `Could not parse Antigravity IDE version from ${latestInfo.url}`);
assert(version === '' || version === newVersion, `Version mismatch: ${version}(linux-x64) != ${newVersion}(${targetSystem})`);
version = newVersion;
assert(vscodeVersion === '' || vscodeVersion === latestInfo.productVersion, `VSCode version mismatch: ${vscodeVersion}(linux-x64) != ${latestInfo.productVersion}(${targetSystem})`);
vscodeVersion = latestInfo.productVersion;
return {
url: latestInfo.url,
url: latestInfo.url.replaceAll(" ", "%20"),
sha256: latestInfo.sha256hash,
};
}
@@ -40,4 +41,4 @@ const sources = {
/** @type {Information} */
const information = { version, vscodeVersion, sources };
fs.writeFileSync(path.join(import.meta.dirname, "./information.json"), JSON.stringify(information, null, 2) + "\n", "utf-8");
console.log(`[update] Updating Antigravity complete, version: ${version}, vscodeVersion: ${vscodeVersion}`);
console.log(`[update] Updating Antigravity IDE complete, version: ${version}, vscodeVersion: ${vscodeVersion}`);

View File

@@ -1,18 +0,0 @@
{
"version": "1.23.2",
"vscodeVersion": "1.107.0",
"sources": {
"x86_64-linux": {
"url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.23.2-4781536860569600/linux-x64/Antigravity.tar.gz",
"sha256": "5232a4048ff4fa15685d9a981ba4fba573e297f3efc9b76f638e794baf775725"
},
"aarch64-linux": {
"url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.23.2-4781536860569600/linux-arm/Antigravity.tar.gz",
"sha256": "64d11085f17edc691adbe8952d59887f257d58448705dc2a19dfa23890d36df1"
},
"aarch64-darwin": {
"url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.23.2-4781536860569600/darwin-arm/Antigravity.zip",
"sha256": "4a8a90feed7078dae30d1dbcb268a0497c103ba76df7012a4467587aa7cffdf8"
}
}
}

View File

@@ -143,6 +143,11 @@ stdenvNoCC.mkDerivation (finalAttrs: {
substituteInPlace scripts/generate-protos.sh \
--replace-fail "/usr/bin/env" "${coreutils}/bin/env"
substituteInPlace package.json \
--replace-fail \
'"build:nmh": "go build -o dist/nativeMessagingHost ./go/nativeMessagingHost.go"' \
'"build:nmh": "go build -trimpath -ldflags=-buildid= -o dist/nativeMessagingHost ./go/nativeMessagingHost.go"'
cp -r ${anytype-heart}/lib dist/
cp -r ${anytype-heart}/bin/anytypeHelper dist/
@@ -168,7 +173,9 @@ stdenvNoCC.mkDerivation (finalAttrs: {
# remove unnecessary files
preInstall = ''
chmod u+w -R dist node_modules
find -type f \( -name "*.ts" -o -name "*.map" \) -exec rm -rf {} +
find dist node_modules -type f \( -name '*.ts' -o -name '*.map' \) -delete
rm -f node_modules/keytar/build/{Makefile,binding.Makefile,config.gypi,keytar.target.mk}
rm -rf node_modules/keytar/build/Release/{.deps,obj.target}
'';
installPhase = ''

View File

@@ -1,6 +1,6 @@
{
lib,
gcc15Stdenv,
gcc16Stdenv,
cmake,
fetchFromGitHub,
hwdata,
@@ -21,7 +21,7 @@
wayland-protocols,
wayland-scanner,
}:
gcc15Stdenv.mkDerivation (finalAttrs: {
gcc16Stdenv.mkDerivation (finalAttrs: {
pname = "aquamarine";
version = "0.13.0";

View File

@@ -14,13 +14,13 @@
stdenv.mkDerivation {
pname = "arftracksat";
version = "1.0-unstable-2025-09-15";
version = "1.0-unstable-2026-02-19";
src = fetchFromGitHub {
owner = "arf20";
repo = "arftracksat";
rev = "5c9b3866b6fcd95382ff56c68cdd38f3d08c1372";
hash = "sha256-inCgsxrJkBNGmdGPd28XnOJYCiatL35TxDcfvZjA2cY=";
rev = "a9b86878e2ee6f332dc1df07685b7d20970c2f7e";
hash = "sha256-guDgy4H0pnQCihYwG7HoKApOlEcDtcaRaj6fRuVdLlc=";
};
nativeBuildInputs = [
@@ -35,11 +35,13 @@ stdenv.mkDerivation {
buildInputs = [
curl
nlohmann_json
curlpp
glm
]
++ lib.optionals stdenv.hostPlatform.isLinux [
freeglut
libGL
libGLU
curlpp
glm
];
meta = {

View File

@@ -32,17 +32,16 @@ stdenv.mkDerivation (finalAttrs: {
postPatch = ''
# Remove chown commands and setuid bit
substituteInPlace Makefile.in \
--replace ' -o root ' ' ' \
--replace ' -g root ' ' ' \
--replace ' -o $(DAEMON_USERNAME) ' ' ' \
--replace ' -o $(DAEMON_GROUPNAME) ' ' ' \
--replace ' -g $(DAEMON_GROUPNAME) ' ' ' \
--replace '$(DESTDIR)$(etcdir)' "$out/etc" \
--replace '$(DESTDIR)$(ATJOB_DIR)' "$out/var/spool/atjobs" \
--replace '$(DESTDIR)$(ATSPOOL_DIR)' "$out/var/spool/atspool" \
--replace '$(DESTDIR)$(LFILE)' "$out/var/spool/atjobs/.SEQ" \
--replace 'chown' '# skip chown' \
--replace '6755' '0755'
--replace-fail ' -o root ' ' ' \
--replace-fail ' -g root ' ' ' \
--replace-fail ' -o $(DAEMON_USERNAME) ' ' ' \
--replace-fail ' -g $(DAEMON_GROUPNAME) ' ' ' \
--replace-fail '$(DESTDIR)$(etcdir)' "$out/etc" \
--replace-fail '$(DESTDIR)$(ATJOB_DIR)' "$out/var/spool/atjobs" \
--replace-fail '$(DESTDIR)$(ATSPOOL_DIR)' "$out/var/spool/atspool" \
--replace-fail '$(DESTDIR)$(LFILE)' "$out/var/spool/atjobs/.SEQ" \
--replace-fail 'chown' '# skip chown' \
--replace-fail '6755' '0755'
'';
nativeBuildInputs = [
@@ -57,7 +56,7 @@ stdenv.mkDerivation (finalAttrs: {
export SENDMAIL=${sendmailPath}
# Purity: force atd.pid to be placed in /var/run regardless of
# whether it exists now.
substituteInPlace ./configure --replace "test -d /var/run" "true"
substituteInPlace ./configure --replace-fail "test -d /var/run" "true"
'';
configureFlags = [

View File

@@ -10,17 +10,17 @@
}:
buildGoModule (finalAttrs: {
pname = "aws-vault";
version = "7.12.4";
version = "7.13.0";
src = fetchFromGitHub {
owner = "ByteNess";
repo = "aws-vault";
rev = "v${finalAttrs.version}";
hash = "sha256-0jPtqViGD0Xfn0yn2Buh4LwVAiSn7YvDMpNZYirHUmk=";
hash = "sha256-afmApbIydrouoXmu3inLE9EvwFqOJxVkNcVSDjZUcXY=";
};
proxyVendor = true;
vendorHash = "sha256-pqD3j1I0zENctgM2lBaYiU3DRCqeq9XIX3jWB2p139I=";
vendorHash = "sha256-I+yKJO+MOCd+wZn4uQt+Xg18b/PWYPm6qxzGEOsCACo=";
nativeBuildInputs = [
installShellFiles

View File

@@ -1,5 +1,6 @@
{
lib,
stdenv,
runCommand,
fetchurl,
appimageTools,
@@ -12,10 +13,22 @@
let
pname = "beeper";
version = "4.2.985";
src = fetchurl {
url = "https://beeper-desktop.download.beeper.com/builds/Beeper-${version}-x86_64.AppImage";
hash = "sha256-oWJdpZL+Q8/jaI/WJfgXUisPASuvHkxU6rOeJkedHSM=";
inherit (stdenv.hostPlatform) system;
sources = {
x86_64-linux = fetchurl {
url = "https://beeper-desktop.download.beeper.com/builds/Beeper-${version}-x86_64.AppImage";
hash = "sha256-oWJdpZL+Q8/jaI/WJfgXUisPASuvHkxU6rOeJkedHSM=";
};
aarch64-linux = fetchurl {
url = "https://beeper-desktop.download.beeper.com/builds/Beeper-${version}-arm64.AppImage";
hash = "sha256-rY302fiRG2c6dwZ+a8e43DjDUklfR0j78XTixhPkvwY=";
};
};
src = sources.${system} or (throw "beeper is not supported on ${system}");
# Beeper 4.2.985+ ships AppImages without the type-2 magic bytes
# (ASCII "AI" + 0x02 at ELF offset 8) that appimageTools.extract requires.
linuxSrc = runCommand "Beeper-${version}-appimage" { inherit src; } ''
@@ -23,6 +36,7 @@ let
chmod +w $out
printf 'AI\x02' | dd of=$out bs=1 seek=8 conv=notrunc status=none
'';
appimageContents = appimageTools.extract {
inherit pname version;
src = linuxSrc;
@@ -67,6 +81,7 @@ appimageTools.wrapAppImage {
'';
passthru = {
inherit sources;
updateScript = lib.getExe (writeShellApplication {
name = "update-beeper";
runtimeInputs = [
@@ -77,12 +92,11 @@ appimageTools.wrapAppImage {
set -o errexit
latestLinux="$(curl --silent --output /dev/null --write-out "%{redirect_url}\n" https://api.beeper.com/desktop/download/linux/x64/stable/com.automattic.beeper.desktop)"
version="$(echo "$latestLinux" | grep --only-matching --extended-regexp '[0-9]+\.[0-9]+\.[0-9]+')"
update-source-version beeper "$version"
for platform in ${lib.escapeShellArgs (lib.attrNames sources)}; do
update-source-version beeper "$version" --ignore-same-version --source-key="passthru.sources.$platform"
done
'';
});
# needed for nix-update
inherit src;
};
meta = {
@@ -99,6 +113,8 @@ appimageTools.wrapAppImage {
zh4ngx
aspauldingcode
];
platforms = [ "x86_64-linux" ];
platforms = lib.attrNames sources;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
mainProgram = "beeper";
};
}

View File

@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-seek";
version = "0.1.0";
version = "0.2.0";
src = fetchFromGitHub {
owner = "tareqimbasher";
repo = "cargo-seek";
tag = "v${finalAttrs.version}";
hash = "sha256-SDVAi4h+/ebGX+8M66Oyd0LfQn+J7/QhDW97ZBdoN14=";
hash = "sha256-WL1S2oU3/T9pEI4rgzT2dJ/ZTiwS/BgraW1MmZ5MQl0=";
};
cargoHash = "sha256-DyXRbtvCJte7mCQKusipeikr981vMHPEVYcGSwVI5Kg=";
cargoHash = "sha256-cXZvuMcNGNWU61ll2dAFxPKWujJNzXpC8aP5vxDONkY=";
nativeBuildInputs = [ pkg-config ];
@@ -40,7 +40,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
homepage = "https://github.com/tareqimbasher/cargo-seek";
changelog = "https://github.com/tareqimbasher/cargo-seek/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = [ ];
maintainers = with lib.maintainers; [ yvnth ];
mainProgram = "cargo-seek";
};
})

View File

@@ -16,16 +16,16 @@ let
in
buildGoModule (finalAttrs: {
pname = "centrifugo";
version = "6.6.2";
version = "6.9.1";
src = fetchFromGitHub {
owner = "centrifugal";
repo = "centrifugo";
rev = "v${finalAttrs.version}";
hash = "sha256-V67riIkwBKz4YvCo6PJS3jrVl3Q6DE9ewEzzHPi7YFE=";
hash = "sha256-j5ezw4LOwNK61fk71XFfUtqyXwUyX5QwHPvbH4sOtjE=";
};
vendorHash = "sha256-K/90YrXkwiDt9Zm6h5nVo34WjtQQKBCNigJguwAdW5E=";
vendorHash = "sha256-hmAZ5fo9Hko2w+xwessHGTXlifHDGGAHmtehP1CVdkE=";
ldflags = [
"-s"

View File

@@ -0,0 +1,38 @@
{
lib,
php,
fetchFromGitHub,
}:
php.buildComposerProject2 (finalAttrs: {
pname = "civicrm-core";
version = "6.15.3";
__structuredAttrs = true;
strictDeps = true;
dontUnpack = false;
src = fetchFromGitHub {
owner = "civicrm";
repo = "civicrm-core";
tag = finalAttrs.version;
hash = "sha256-BKiV2dZSFo5asnTwtnNsJrZKjFd9Ar3a3kaIlpuGDp8=";
};
vendorHash = "sha256-z4DyAupfGNxhEuGShZQA8bl6041od0Kx0/BAoz9uc5I=";
installPhase = ''
runHook preInstall
mkdir -p $out/
cp -R . $out/
cp $out/bin/setup.conf.txt $out/bin/setup.conf
runHook postInstall
'';
meta = {
homepage = "https://civicrm.org/";
changelog = "https://download.civicrm.org/release/${finalAttrs.version}";
description = "Standalone version of CiviCRM, a CRM software for non-profit organizations";
license = lib.licenses.agpl3Plus;
maintainers = [ lib.maintainers.sorooris ];
mainProgram = "civicrm";
};
})

View File

@@ -13,17 +13,17 @@
let
pname = "clash-verge-rev";
# Please keep service version in sync
version = "2.5.1";
version = "2.5.2";
src = fetchFromGitHub {
owner = "clash-verge-rev";
repo = "clash-verge-rev";
tag = "v${version}";
hash = "sha256-2X2QlWo12qM7RT0wjf1Xlmh3We2wZR/kJnSxIxVst9Y=";
hash = "sha256-5Txjuzq91D+FfBHaXenES4eprIdIKHUFMOKtrHSdbw4=";
};
pnpm-hash = "sha256-Z0ToQUPyttebDOjpdisAtjIKM026x9ZtIVPOeq4163A=";
vendor-hash = "sha256-nF9d1OWpn3rf4EPhD4vqQbKEp/J5pc7J7XJDgAjd0DA=";
pnpm-hash = "sha256-AS07hD3QqPJDLLUvNgArtXpH54ek14PmEjevP1WxTHs=";
vendor-hash = "sha256-GPqgzOLFPAb8SNgE3vI5Ypx+zJvk+5TgkttRVktxttU=";
service = callPackage ./service.nix {
inherit

View File

@@ -1,26 +1,65 @@
diff --git a/src/core/server.rs b/src/core/server.rs
index 45570ea..d459b3e 100644
index 0098b20..db189e2 100644
--- a/src/core/server.rs
+++ b/src/core/server.rs
@@ -123,7 +123,7 @@ async fn make_ipc_dir() -> Result<()> {
// on macOS or the primary group on Linux) to manage the socket's lifecycle. This prevents
// permission denied errors when the GUI process, running with non-root privileges,
// attempts to recreate the socket during service initialization or sidecar fallbacks.
- fs::set_permissions(dir_path, Permissions::from_mode(0o2770)).await?;
+ fs::set_permissions(dir_path, Permissions::from_mode(0o770)).await?;
@@ -73,7 +73,7 @@ pub async fn run_ipc_server() -> Result<JoinHandle<Result<()>>> {
tokio::time::sleep(std::time::Duration::from_millis(25)).await;
}
if socket_ready {
- fs::set_permissions(paths.ipc_path(), Permissions::from_mode(0o777)).await?;
+ fs::set_permissions(paths.ipc_path(), Permissions::from_mode(0o660)).await?;
} else {
warn!(
"IPC socket {:?} did not appear before permission update timeout",
@@ -298,19 +298,9 @@ fn ensure_ipc_dir(dir: &std::path::Path) -> std::io::Result<()> {
return Err(std::io::Error::last_os_error());
}
#[cfg(windows)]
{
- let gid = resolve_ipc_dir_gid();
- // 以 root 运行(生产/launchd)时强制属主为 root:若攻击者预置 `/tmp/verge` 为其拥有的
- // 真实目录,必须夺回属主,否则其以 owner 身份保留对目录(及内部 socket)的管理权。
- // 非 root(测试/开发)既无权设 root 属主也无攻击面,跳过 chown,仅设权限位。
- // chown/chmod 失败即 fatal;`&&`/`||` 短路使 `last_os_error()` 为失败 syscall 的 errno。
- let chown_ok =
- unsafe { platform_lib::geteuid() } != 0 || unsafe { platform_lib::fchown(fd, 0, gid) } == 0;
- let ok = chown_ok && unsafe { platform_lib::fchmod(fd, 0o2770 as platform_lib::mode_t) } == 0;
- let result = if ok {
- Ok(())
- } else {
- Err(std::io::Error::last_os_error())
- };
+ // The NixOS module's RuntimeDirectory owns the directory access policy.
+ // Opening it with O_NOFOLLOW above still validates that it is not a symlink.
+ let result: std::io::Result<()> = Ok(());
unsafe {
platform_lib::close(fd);
}
@@ -414,14 +404,9 @@ pub fn spawn_socket_dir_watchdog() {
continue;
}
- // 目录已存在:组属可能过期(开机落 staff、之后控制台用户主组不同),或被替换为
- // symlink/文件。用 lstat(no-follow)判断,必要时经 ensure_ipc_dir 安全收敛
- // (issue #7333 开机竞态尾部 + /tmp symlink 防护)。一致则跳过,避免抖动。
- use std::os::unix::fs::MetadataExt;
- let needs_fix = match std::fs::symlink_metadata(dir) {
- Ok(meta) if meta.file_type().is_dir() => meta.gid() != resolve_ipc_dir_gid(),
- _ => true,
- };
+ // RuntimeDirectory owns group and mode; only reject a replaced path.
+ let needs_fix =
+ !matches!(std::fs::symlink_metadata(dir), Ok(meta) if meta.file_type().is_dir());
if needs_fix && let Err(e) = ensure_ipc_dir(dir) {
warn!("Failed to re-apply ownership on {:?}: {}", dir, e);
}
diff --git a/src/lib.rs b/src/lib.rs
index a21f89b..81175fc 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -12,7 +12,7 @@ pub use core::{run_ipc_server, stop_ipc_server};
pub use client::*;
@@ -24,6 +24,6 @@ pub use client::*;
#[cfg(all(unix, not(feature = "test")))]
-pub static IPC_PATH: &str = "/tmp/verge/clash-verge-service.sock";
+pub static IPC_PATH: &str = "/run/clash-verge-rev/service.sock";
#[cfg(all(windows, not(feature = "test")))]
pub static IPC_PATH: &str = r"\\.\pipe\clash-verge-service";

View File

@@ -7,25 +7,23 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "clash-verge-service-ipc";
version = "2.3.0";
version = "2.3.3";
src = fetchFromGitHub {
owner = "clash-verge-rev";
repo = "clash-verge-service-ipc";
# upstream uses branch
rev = "21e661fa141e5ad3c705ee4cdb86efff8df6f769";
hash = "sha256-XavlZWxuZKCTyIYpuXRvXpXCdakWhbLhOMmOrGBgDRo=";
tag = "v${finalAttrs.version}";
hash = "sha256-/kr0C+4bhal7DqKudtZvhPYUyn6xbxQw57g6ieJV64w=";
};
patches = [
# 1. Don't SetGID because the path is managed by systemd in NixOS, and we
# use different IPC path for sidecar mode. We can keep RestrictSUIDSGID
# in systemd serviceConfig.
# 2. Set IPC socket path
# Let the NixOS module's RuntimeDirectory/Group own socket access policy.
# Upstream defaults target installer-managed /tmp paths and broad fallback
# permissions, which do not fit the hardened systemd service.
./patch-service-directory.patch
];
cargoHash = "sha256-WhH2o5wN5vYW8jZl+hWbnk1xqHu61ibAr4+/CI3YKHg=";
cargoHash = "sha256-2/lFfhP2414iiH+zG2TvNy6uaCzDldoo7sIfhKrQaFg=";
buildFeatures = [
"standalone"

View File

@@ -13,7 +13,7 @@
moreutils,
nodejs,
pkg-config,
pnpm_10,
pnpm_11,
fetchPnpmDeps,
pnpmConfigHook,
@@ -37,7 +37,7 @@ rustPlatform.buildRustPackage {
version
src
;
pnpm = pnpm_10;
pnpm = pnpm_11;
fetcherVersion = 4;
hash = pnpm-hash;
};
@@ -87,7 +87,7 @@ rustPlatform.buildRustPackage {
nodejs
pkg-config
pnpmConfigHook
pnpm_10
pnpm_11
];
buildInputs = [

View File

@@ -1,47 +1,47 @@
{
"version": "2.1.215",
"commit": "316ce99628e89900bf0b1328fed3b8fec0c0c92d",
"buildDate": "2026-07-19T00:11:19Z",
"version": "2.1.216",
"commit": "7fead72f57c595d5a353a2e477bd2608d27ddcc6",
"buildDate": "2026-07-20T18:40:59Z",
"platforms": {
"darwin-arm64": {
"binary": "claude",
"checksum": "90608b5c5ab504e96e77365cea6203d046e291d59b2bb42cf28dcb2ccdf9dd58",
"size": 247124336
"checksum": "d01b49210d72ecbe277a2665d104bacccddf2d22185be99446d2929e0edfc48d",
"size": 249225584
},
"darwin-x64": {
"binary": "claude",
"checksum": "1ef5f5e56ede9f7765a9bef654ece6045dba58f48b7f5b699765375953d52b6b",
"size": 256540048
"checksum": "e17cdc51437bd7a80ce0244d25045f568d67b212eea4ff81b83ee90f8666e42f",
"size": 258670096
},
"linux-arm64": {
"binary": "claude",
"checksum": "2b43a3d5b0787217e5d7381fad42c7314292546fe9db9eb8b9b379de90509b30",
"size": 262060960
"checksum": "9e3a6aecc5164f607e1183aea2092c7d7705d146e504a6207df291776996a8ea",
"size": 264158112
},
"linux-x64": {
"binary": "claude",
"checksum": "c1efffaaf370aa187cb6a09dd93d4e511c646899b0078476f83791b664bde7fe",
"size": 265239536
"checksum": "74deca45220b8080ec75ab099bd5a5980e41a2b5879846a008fb115d436de085",
"size": 267353072
},
"linux-arm64-musl": {
"binary": "claude",
"checksum": "95f1bb89dd94ae099c7b5e53832f99624fdf82da8e0f11d81e1632b26e61973e",
"size": 255309160
"checksum": "70b5dcf81bd13212ab26ec9427fa87527cd44ceb3a2a21ac04308d0f1a418a52",
"size": 257406312
},
"linux-x64-musl": {
"binary": "claude",
"checksum": "3a14b862d102d0b6b88650a00b8489b1dfec7f84b367f8192ee62c8bdaeb9220",
"size": 259863120
"checksum": "54ac63736128b3aa9a73e2d9ba1f35177eb69d7b97d975f63a36d33fe0666652",
"size": 261976656
},
"win32-x64": {
"binary": "claude.exe",
"checksum": "f14452d1e199273795f2920c00fd7a7f818178ddf1f3efb4d005a7e3d4ec4eff",
"size": 256247968
"checksum": "902215367918866f3c36564e115bd5636d60178acf28181713d449275b833540",
"size": 258288288
},
"win32-arm64": {
"binary": "claude.exe",
"checksum": "0e976441467cb09e35b52c83e661ce8e148c5a8766e0899a4255d95c4b8110f6",
"size": 250623648
"checksum": "850ba4969ca49964b418863648131f65f76107be36d6719ff0aaaf3dfc9a422e",
"size": 252663968
}
},
"sdkCompat": {
@@ -66,7 +66,8 @@
"0.3.205",
"0.3.207",
"0.3.208",
"0.3.209"
"0.3.209",
"0.3.215"
],
"harnessSchema": 1
}

View File

@@ -165,8 +165,17 @@ llvmStdenv.mkDerivation (finalAttrs: {
gitHash = rev;
in
''
cat <<'EOF' > cmake/autogenerated_versions.txt
SET(VERSION_REVISION 0)
# Preserve VERSION_REVISION from the source tree, like ClickHouse CI
# does. It identifies the server release line to clients (exposed via
# the revision() SQL function)
versionRevision=$(sed -n 's/^SET(VERSION_REVISION \([0-9]\{1,\}\))$/\1/p' cmake/autogenerated_versions.txt)
if [[ -z "$versionRevision" ]]; then
echo "Could not extract VERSION_REVISION from cmake/autogenerated_versions.txt" >&2
exit 1
fi
cat <<EOF > cmake/autogenerated_versions.txt
SET(VERSION_REVISION $versionRevision)
SET(VERSION_MAJOR ${major})
SET(VERSION_MINOR ${minor})
SET(VERSION_PATCH ${patch})

View File

@@ -1,6 +1,6 @@
import ./generic.nix {
version = "26.3.17.4-lts";
rev = "00f5ad7bc29d8bb65e1f7eb24208da15db3cf642";
hash = "sha256-RJSqcsn3ZOL145RTUs4QujPm6DHjDSYiL9jI1C1YCVE=";
version = "26.3.17.56-lts";
rev = "c57540de480d8a501b601163471d3843674378cf";
hash = "sha256-fcRxZbcp7t28bC9vlmgVAV9gB63cQwFWsc0gyKxGhvQ=";
lts = true;
}

View File

@@ -46,14 +46,14 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "cockpit-zfs";
version = "1.2.30";
version = "1.2.33";
src = fetchFromGitHub {
owner = "45Drives";
repo = "cockpit-zfs";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-G24xNoKoBnlXxxyo9IJIoQW3PrktQxsx37/cX6QYfyE=";
hash = "sha256-3KoCp4gcWYuama+7t1oQhif3/Ii/zSlhyeNTH3mvbNg=";
};
missingHashes = ./missing-hashes.json;

View File

@@ -0,0 +1,111 @@
--- a/scripts/codegen.dart
+++ b/scripts/codegen.dart
@@ -2,38 +2,7 @@
import 'dart:io';
-Future<ProcessResult> getDependencies() async {
- var process = Process.runSync(
- "flutter",
- [
- "pub",
- "get",
- ],
- runInShell: true,
- );
-
- print(process.stdout);
- print(process.stderr);
- return process;
-}
-
-Future<ProcessResult> intlUtilsGenerate() async {
- var process = await Process.run(
- "flutter",
- [
- "pub",
- "run",
- "intl_utils:generate",
- ],
- runInShell: true,
- );
-
- print(process.stdout);
- print(process.stderr);
- return process;
-}
-
-Future<List<File>> generateFileLists() async {
+void main() async {
var dir = Directory("lib/generated/l10n");
if (!dir.existsSync()) {
dir.create(recursive: true);
@@ -82,68 +51,4 @@
await arbFile.create(recursive: true);
arbFile.writeAsStringSync(fileList);
-
- return [sourcesFile, arbFile];
-}
-
-Future<ProcessResult> generateFromArb(List<File> files) async {
- var process = await Process.run(
- "flutter",
- [
- "pub",
- "run",
- "intl_translation:generate_from_arb",
- "--sources-list-file",
- files[0].absolute.path,
- "--translations-list-file",
- files[1].absolute.path,
- "--output-dir=lib/generated/l10n"
- ],
- runInShell: true,
- );
-
- print(process.stdout);
- print(process.stderr);
- return process;
-}
-
-Future<ProcessResult> buildRunner() async {
- var process = await Process.run(
- "flutter",
- [
- "pub",
- "run",
- "build_runner",
- "build",
- "--delete-conflicting-outputs",
- ],
- runInShell: true,
- );
-
- print(process.stdout);
- print(process.stderr);
- return process;
-}
-
-void main() async {
- var result = await getDependencies();
- if (result.exitCode != 0) {
- exit(result.exitCode);
- }
-
- result = await intlUtilsGenerate();
- if (result.exitCode != 0) {
- exit(result.exitCode);
- }
-
- var files = await generateFileLists();
- result = await generateFromArb(files);
- if (result.exitCode != 0) {
- exit(result.exitCode);
- }
-
- result = await buildRunner();
- if (result.exitCode != 0) {
- exit(result.exitCode);
- }
}

View File

@@ -0,0 +1,164 @@
{
lib,
flutter341,
stdenv,
fetchFromGitHub,
fetchzip,
webkitgtk_4_1,
mimalloc,
keybinder3,
mpv-unwrapped,
libdovi,
libdvdcss,
libunwind,
libgbm,
libdrm,
}:
let
libwebrtcRpath = lib.makeLibraryPath [
libgbm
libdrm
];
libwebrtc = fetchzip {
url = "https://github.com/flutter-webrtc/flutter-webrtc/releases/download/v1.2.0/libwebrtc.zip";
hash = "sha256-i4LRG44f//SDIOl072yZavkYoTZdiydPZndeOm6/fBM=";
};
in
flutter341.buildFlutterApplication (finalAttrs: {
pname = "commet-chat";
version = "0.4.2+hotfix.2";
src = fetchFromGitHub {
owner = "commetchat";
repo = "commet";
tag = "v${finalAttrs.version}";
hash = "sha256-Pf+JeVuTPxpufcx/whn8RVcYp1e69CJBFzyZaQ8I5RQ=";
fetchSubmodules = true;
leaveDotGit = true;
# For the git hash property in about page
postFetch = ''
cd $out
git rev-parse HEAD | head -c 7 > $out/GIT_HASH
find $out -name .git -print0 | xargs -0 rm -rf
'';
};
strictDeps = true;
sourceRoot = "${finalAttrs.src.name}/commet";
pubspecLockFilePath = "../pubspec.lock";
pubspecLock = lib.importJSON ./pubspec.lock.json;
gitHashes = {
calendar_view = "sha256-tGAMK89VsgqfKQy+t8x5zl6dbQEf5h4HxSUR8crB1oM=";
desktop_webview_window = "sha256-EOh5QoOuAxiYn0IcdxY7taN2Twu8GshY9zAoGCztPnA=";
dynamic_color = "sha256-4zSTiXplkBjtPtzssj3VaHTVo9YlYKNTMLgBIM5MMe4=";
flutter_highlighter = "sha256-Y84Besir3gu1RnQt9YoE0GyIJLLZ6H0Kki/Wf6z6QMg=";
flutter_html = "sha256-576KYoYB4sZeavcAS8V5rjDG9hezYlN2Q4zlyvBOouw=";
flutter_local_notifications = "sha256-AgvvFoJgos/gsTwcLGX/CxbHauWiH3OHksqtF0Dauuw=";
flutter_local_notifications_linux = "sha256-AgvvFoJgos/gsTwcLGX/CxbHauWiH3OHksqtF0Dauuw=";
markdown = "sha256-2rEMNJM9Vy7LrFLt30/Z3pyqERTYJei9D3mgOAAvVPg=";
matrix = "sha256-PB7xjulxmV2jE0WGVG116T50BrT3G5LsdLreR1cJTPI=";
matrix_dart_sdk_drift_db = "sha256-2sSN2TcPAPVdEm3NXpZyWlPvArNn2CWnPph5Vz48KQ8=";
receive_intent = "sha256-wGIOZRH4O3a44I8zG5Q1hCwn4SMuTWB7i9wtGSLZWeQ=";
signal_sticker_api = "sha256-VdEE3Bt8gpfUpxxYSz5319YEL49Eh+loO+ZipI1DoyA=";
starfield = "sha256-ebVRyVkyLfHCC6EBmx5evXL1U71S3tgCMo1yLWlIcw4=";
launcher_entry = "sha256-T/zQRvY6jOKroMrhVwBtsoSm2xCFjOd5jsJC0PA4cpc=";
};
buildInputs = [
webkitgtk_4_1
mimalloc
keybinder3
mpv-unwrapped
libdovi
libdvdcss
libunwind
]
++ mpv-unwrapped.buildInputs;
env.NIX_LDFLAGS = "-rpath-link ${libwebrtcRpath}";
env.COMMET_PROD = 1;
targetFlutterPlatform = "linux";
customSourceBuilders = {
flutter_webrtc =
{ version, src, ... }:
stdenv.mkDerivation {
pname = "flutter_webrtc";
inherit version src;
inherit (src) passthru;
postPatch = ''
substituteInPlace third_party/CMakeLists.txt \
--replace-fail "\''${CMAKE_CURRENT_LIST_DIR}/downloads/libwebrtc.zip" ${libwebrtc}
ln -s ${libwebrtc} third_party/libwebrtc
'';
installPhase = ''
runHook preInstall
mkdir $out
cp -r ./* $out/
runHook postInstall
'';
};
};
# The original codegen.dart hardcodes flutter calls inside, so the patch basically rewrites the codegen script forcing nix.
patches = [
./fix-hardcoded-flutter-cmd.patch
];
flutterBuildFlags = [
"--dart-define=BUILD_MODE=release"
"--dart-define=PLATFORM=linux"
"--dart-define=VERSION_TAG=v${finalAttrs.version}"
"--dart-define=BUILD_DETAIL=${stdenv.hostPlatform.system}"
];
preBuild = ''
export flutterBuildFlags="$flutterBuildFlags --dart-define=GIT_HASH=$(cat ../GIT_HASH)"
packageRun intl_utils -e generate
dart run --packages=.dart_tool/package_config.json scripts/codegen.dart
packageRun intl_translation -e generate_from_arb \
--sources-list-file /build/source/commet/lib/generated/l10n/sources_list_file.txt \
--translations-list-file /build/source/commet/lib/generated/l10n/arb_list_file.txt \
--output-dir=lib/generated/l10n
packageRun build_runner build --delete-conflicting-outputs
'';
extraWrapProgramArgs = "--suffix LD_LIBRARY_PATH : $out/app/commet-chat/lib";
postInstall = ''
mkdir -p $out/share/applications
install -Dm644 \
linux/debian/usr/share/applications/chat.commet.commetapp.desktop \
$out/share/applications/
substituteInPlace $out/share/applications/chat.commet.commetapp.desktop \
--replace-fail "/usr/lib/chat.commet.commetapp/commet" "commet"
mkdir -p $out/share/icons
cp -r linux/debian/usr/share/icons/hicolor $out/share/icons/hicolor
patchelf --add-rpath ${libwebrtcRpath} $out/app/commet-chat/lib/libwebrtc.so
'';
__structuredAttrs = true;
meta = {
homepage = "https://commet.chat";
description = "Client for Matrix focused on providing a feature rich experience while maintaining a simple interface";
platforms = lib.platforms.linux;
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ ckgxrg ];
mainProgram = "commet";
};
})

File diff suppressed because it is too large Load Diff

View File

@@ -7,8 +7,6 @@
opus,
lib,
stdenv,
# TODO: Clean up on `staging`
lld,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
@@ -33,21 +31,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
nativeBuildInputs = [
pkg-config
cmake
]
# TODO: Clean up on `staging`
++ lib.optionals stdenv.hostPlatform.isDarwin [
lld
];
__darwinAllowLocalNetworking = true;
__structuredAttrs = true;
# TODO: Clean up on `staging`
env = lib.optionalAttrs stdenv.hostPlatform.isDarwin {
NIX_CFLAGS_LINK = "-fuse-ld=${lib.getExe' lld "ld64.lld"}";
};
passthru.updateScript = nix-update-script { };
meta = {

View File

@@ -12,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ctypes.sh";
version = "1.2";
version = "1.3";
src = fetchFromGitHub {
owner = "taviso";
repo = "ctypes.sh";
rev = "v${finalAttrs.version}";
sha256 = "1wafyfhwd7nf7xdici0djpwgykizaz7jlarn0r1b4spnpjx1zbx4";
sha256 = "sha256-ZYsjySJaxyLAiyGaNwngA7ef6vA+fUTCh9hi5g55v+g=";
};
nativeBuildInputs = [

View File

@@ -0,0 +1,35 @@
{
lib,
php,
fetchFromGitHub,
}:
php.buildComposerProject2 (finalAttrs: {
pname = "cv";
version = "0.3.71";
__structuredAttrs = true;
strictDeps = true;
dontUnpack = false;
src = fetchFromGitHub {
owner = "civicrm";
repo = "cv";
rev = "v${finalAttrs.version}";
hash = "sha256-1InNm8ayshrACLUJ4MXb6DTnD9vxRVtwnK9oFAxMMho=";
};
vendorHash = "sha256-7+roKbgbSx00CrHDOwp7yxcSTdq9YDNgTLIdjLT05oM=";
installPhase = ''
runHook preInstall
cp -ra $src $out
runHook postInstall
'';
meta = {
homepage = "https://civicrm.org/";
changelog = "https://github.com/civicrm/cv/releases/tag/v${finalAttrs.version}";
description = "CiviCRM CLI Utility";
license = lib.licenses.agpl3Plus;
maintainers = [ lib.maintainers.sorooris ];
};
})

View File

@@ -16,84 +16,59 @@
},
{
"pname": "CycloneDX.Core",
"version": "11.0.0",
"hash": "sha256-i1H/+oH4yljhvXg0PnM87F9qu2RtvPco7adZ2uxzOpY="
"version": "12.1.1",
"hash": "sha256-iqWYbdfxr1wphhEAtj0ucYCs2+7tzC0HaxCosS+X1nk="
},
{
"pname": "CycloneDX.Spdx",
"version": "11.0.0",
"hash": "sha256-JOY+PjDApeXdJlCXhcr91lUiC6DOQEcjoYuQbBaaiog="
"version": "12.1.1",
"hash": "sha256-BtFGUSrSVPaq0iPXqsOhgiq7Dpw5hnt9EfPqvA5oVwk="
},
{
"pname": "CycloneDX.Spdx.Interop",
"version": "11.0.0",
"hash": "sha256-N682Lern6x18EJlRuJDR+T7/n5+2DWXp4Kz1MNuGqEM="
"version": "12.1.1",
"hash": "sha256-m8RhgvjPcLSlBzVUQbm1s1+gZ8/RKVwxX8y6h9W12t8="
},
{
"pname": "CycloneDX.Utils",
"version": "11.0.0",
"hash": "sha256-3rBD3lAzQiv0TghEbfxCVUQoWNOX8tzFew7V0s4NRpE="
"version": "12.1.1",
"hash": "sha256-TmpfTkh0INlWIH7/HH6S9JgEyFNRvpzzYVuUhNFLVtA="
},
{
"pname": "JetBrains.Annotations",
"version": "2021.2.0",
"hash": "sha256-NtTiowrMQgoTiQQheioseb/eGGLH+qR/NXDFAsWrO08="
"pname": "Humanizer.Core",
"version": "3.0.1",
"hash": "sha256-Wxqf1FRXtsQulLFtbfsfYu4oZmrCuOZAikMcY2i6Dww="
},
{
"pname": "Json.More.Net",
"version": "1.9.0",
"hash": "sha256-ySIEHWZJLk6LeWYdAA9Ci3coKXkRgpu4N79MD4pRXdk="
"version": "3.0.0",
"hash": "sha256-zlJb9Wi9ErFqN8FYphzog9paPxI3DBVnoTL0c12Bfks="
},
{
"pname": "JsonPointer.Net",
"version": "3.0.3",
"hash": "sha256-fWR1aCDWyc6flBLFaGSJmXg9vg2qMlAIN5wnj2RYqLY="
"version": "7.0.0",
"hash": "sha256-/1GemlLhmYnz/HDQTpEEaGxaofoFkFUMNNPInKhAvM4="
},
{
"pname": "JsonSchema.Net",
"version": "5.3.1",
"hash": "sha256-Cs1sh2mPN/pRO5m+5rnrBRoNhdxNoi6p0e9RmeJNQx4="
"version": "9.1.1",
"hash": "sha256-NiVzn+SF3oe/ucKetzKC527ec5I9rq2BdBg0J0fbZPo="
},
{
"pname": "Microsoft.CodeCoverage",
"version": "17.3.2",
"hash": "sha256-APxmbKMNQKWuFQMJjkVr2zIqv/bLUTMm5NRGVLegBbg="
},
{
"pname": "Microsoft.CSharp",
"version": "4.0.1",
"hash": "sha256-0huoqR2CJ3Z9Q2peaKD09TV3E6saYSqDGZ290K8CrH8="
},
{
"pname": "Microsoft.NET.Test.Sdk",
"version": "17.3.2",
"hash": "sha256-1fZ/rrSbuyYUfvwyA3otFQdL0Y/H48goAVyhiLs1oF4="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "1.0.1",
"hash": "sha256-mZotlGZqtrqDSoBrZhsxFe6fuOv5/BIo0w2Z2x0zVAU="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "1.1.0",
"hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "5.0.0",
"hash": "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="
},
{
"pname": "Microsoft.NETCore.Targets",
"version": "1.0.1",
"hash": "sha256-lxxw/Gy32xHi0fLgFWNj4YTFBSBkjx5l6ucmbTyf7V4="
},
{
"pname": "Microsoft.NETCore.Targets",
"version": "1.1.0",
"hash": "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="
},
{
"pname": "Microsoft.TestPlatform.ObjectModel",
"version": "17.3.2",
@@ -104,11 +79,6 @@
"version": "17.3.2",
"hash": "sha256-ySBqawHGZ/Dwoj2UnAzk1Ezxt4qR1AuEY73U/buqNiE="
},
{
"pname": "Microsoft.Win32.Primitives",
"version": "4.3.0",
"hash": "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg="
},
{
"pname": "NETStandard.Library",
"version": "1.6.1",
@@ -116,13 +86,8 @@
},
{
"pname": "Newtonsoft.Json",
"version": "12.0.3",
"hash": "sha256-PSHK+Qn52ytdEySdZyjCUGxV5y4hI/vir2WgVsCgv50="
},
{
"pname": "Newtonsoft.Json",
"version": "9.0.1",
"hash": "sha256-mYCBrgUhIJFzRuLLV9SIiIFHovzfR8Uuqfg6e08EnlU="
"version": "13.0.3",
"hash": "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="
},
{
"pname": "NuGet.Frameworks",
@@ -131,218 +96,13 @@
},
{
"pname": "protobuf-net",
"version": "3.2.45",
"hash": "sha256-rWitxe3uP3SOyoG1fwM5n00RpR5IL1V6u1zXMI0p0JA="
"version": "3.2.56",
"hash": "sha256-KjwRHyGwflQDjVaudT+NjRnfGhHb4CpCfn9hHVixI+E="
},
{
"pname": "protobuf-net.Core",
"version": "3.2.45",
"hash": "sha256-bsMGUmd0yno8g0H0637jJboKJwyyHLHoHg45+bt9pLQ="
},
{
"pname": "runtime.any.System.Collections",
"version": "4.3.0",
"hash": "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="
},
{
"pname": "runtime.any.System.Diagnostics.Tools",
"version": "4.3.0",
"hash": "sha256-8yLKFt2wQxkEf7fNfzB+cPUCjYn2qbqNgQ1+EeY2h/I="
},
{
"pname": "runtime.any.System.Diagnostics.Tracing",
"version": "4.3.0",
"hash": "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI="
},
{
"pname": "runtime.any.System.Globalization",
"version": "4.3.0",
"hash": "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="
},
{
"pname": "runtime.any.System.Globalization.Calendars",
"version": "4.3.0",
"hash": "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4="
},
{
"pname": "runtime.any.System.IO",
"version": "4.3.0",
"hash": "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="
},
{
"pname": "runtime.any.System.Reflection",
"version": "4.3.0",
"hash": "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="
},
{
"pname": "runtime.any.System.Reflection.Extensions",
"version": "4.3.0",
"hash": "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="
},
{
"pname": "runtime.any.System.Reflection.Primitives",
"version": "4.3.0",
"hash": "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="
},
{
"pname": "runtime.any.System.Resources.ResourceManager",
"version": "4.3.0",
"hash": "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="
},
{
"pname": "runtime.any.System.Runtime",
"version": "4.3.0",
"hash": "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="
},
{
"pname": "runtime.any.System.Runtime.Handles",
"version": "4.3.0",
"hash": "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="
},
{
"pname": "runtime.any.System.Runtime.InteropServices",
"version": "4.3.0",
"hash": "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="
},
{
"pname": "runtime.any.System.Text.Encoding",
"version": "4.3.0",
"hash": "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="
},
{
"pname": "runtime.any.System.Text.Encoding.Extensions",
"version": "4.3.0",
"hash": "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM="
},
{
"pname": "runtime.any.System.Threading.Tasks",
"version": "4.3.0",
"hash": "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="
},
{
"pname": "runtime.any.System.Threading.Timer",
"version": "4.3.0",
"hash": "sha256-BgHxXCIbicVZtpgMimSXixhFC3V+p5ODqeljDjO8hCs="
},
{
"pname": "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.0",
"hash": "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="
},
{
"pname": "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.0",
"hash": "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="
},
{
"pname": "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.0",
"hash": "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="
},
{
"pname": "runtime.native.System",
"version": "4.3.0",
"hash": "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="
},
{
"pname": "runtime.native.System.IO.Compression",
"version": "4.3.0",
"hash": "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8="
},
{
"pname": "runtime.native.System.Net.Http",
"version": "4.3.0",
"hash": "sha256-c556PyheRwpYhweBjSfIwEyZHnAUB8jWioyKEcp/2dg="
},
{
"pname": "runtime.native.System.Security.Cryptography.Apple",
"version": "4.3.0",
"hash": "sha256-2IhBv0i6pTcOyr8FFIyfPEaaCHUmJZ8DYwLUwJ+5waw="
},
{
"pname": "runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.0",
"hash": "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="
},
{
"pname": "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.0",
"hash": "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="
},
{
"pname": "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.0",
"hash": "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="
},
{
"pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple",
"version": "4.3.0",
"hash": "sha256-serkd4A7F6eciPiPJtUyJyxzdAtupEcWIZQ9nptEzIM="
},
{
"pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.0",
"hash": "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="
},
{
"pname": "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.0",
"hash": "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="
},
{
"pname": "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.0",
"hash": "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="
},
{
"pname": "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.0",
"hash": "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="
},
{
"pname": "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.0",
"hash": "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="
},
{
"pname": "runtime.unix.Microsoft.Win32.Primitives",
"version": "4.3.0",
"hash": "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg="
},
{
"pname": "runtime.unix.System.Console",
"version": "4.3.0",
"hash": "sha256-AHkdKShTRHttqfMjmi+lPpTuCrM5vd/WRy6Kbtie190="
},
{
"pname": "runtime.unix.System.Diagnostics.Debug",
"version": "4.3.0",
"hash": "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="
},
{
"pname": "runtime.unix.System.IO.FileSystem",
"version": "4.3.0",
"hash": "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I="
},
{
"pname": "runtime.unix.System.Net.Primitives",
"version": "4.3.0",
"hash": "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0="
},
{
"pname": "runtime.unix.System.Net.Sockets",
"version": "4.3.0",
"hash": "sha256-IvgOeA2JuBjKl5yAVGjPYMPDzs9phb3KANs95H9v1w4="
},
{
"pname": "runtime.unix.System.Private.Uri",
"version": "4.3.0",
"hash": "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="
},
{
"pname": "runtime.unix.System.Runtime.Extensions",
"version": "4.3.0",
"hash": "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="
"version": "3.2.56",
"hash": "sha256-NVvLreCvvvnS/s0syL5/L3mRpXeswP7E71C6WP9f2Dc="
},
{
"pname": "Snapshooter",
@@ -354,36 +114,6 @@
"version": "0.7.1",
"hash": "sha256-fWVTjDrYHOQj2a1F0gynlKgGPhmjj3RWkvI4Za0xG/w="
},
{
"pname": "System.AppContext",
"version": "4.3.0",
"hash": "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg="
},
{
"pname": "System.Buffers",
"version": "4.3.0",
"hash": "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk="
},
{
"pname": "System.Collections",
"version": "4.0.11",
"hash": "sha256-puoFMkx4Z55C1XPxNw3np8nzNGjH+G24j43yTIsDRL0="
},
{
"pname": "System.Collections",
"version": "4.3.0",
"hash": "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="
},
{
"pname": "System.Collections.Concurrent",
"version": "4.3.0",
"hash": "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="
},
{
"pname": "System.Collections.Immutable",
"version": "7.0.0",
"hash": "sha256-9an2wbxue2qrtugYES9awshQg+KfJqajhnhs45kQIdk="
},
{
"pname": "System.CommandLine",
"version": "2.0.0-beta4.22272.1",
@@ -394,485 +124,25 @@
"version": "2.0.0-beta4.22272.1",
"hash": "sha256-Ffzs51XiFraSX1efQRO1IyiNraIgi8aOdkRRzCT6DB4="
},
{
"pname": "System.Console",
"version": "4.3.0",
"hash": "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo="
},
{
"pname": "System.Diagnostics.Debug",
"version": "4.0.11",
"hash": "sha256-P+rSQJVoN6M56jQbs76kZ9G3mAWFdtF27P/RijN8sj4="
},
{
"pname": "System.Diagnostics.Debug",
"version": "4.3.0",
"hash": "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="
},
{
"pname": "System.Diagnostics.DiagnosticSource",
"version": "4.3.0",
"hash": "sha256-OFJRb0ygep0Z3yDBLwAgM/Tkfs4JCDtsNhwDH9cd1Xw="
},
{
"pname": "System.Diagnostics.Tools",
"version": "4.0.1",
"hash": "sha256-vSBqTbmWXylvRa37aWyktym+gOpsvH43mwr6A962k6U="
},
{
"pname": "System.Diagnostics.Tools",
"version": "4.3.0",
"hash": "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y="
},
{
"pname": "System.Diagnostics.Tracing",
"version": "4.3.0",
"hash": "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="
},
{
"pname": "System.Dynamic.Runtime",
"version": "4.0.11",
"hash": "sha256-qWqFVxuXioesVftv2RVJZOnmojUvRjb7cS3Oh3oTit4="
},
{
"pname": "System.Formats.Asn1",
"version": "6.0.0",
"hash": "sha256-KaMHgIRBF7Nf3VwOo+gJS1DcD+41cJDPWFh+TDQ8ee8="
},
{
"pname": "System.Globalization",
"version": "4.0.11",
"hash": "sha256-rbSgc2PIEc2c2rN6LK3qCREAX3DqA2Nq1WcLrZYsDBw="
},
{
"pname": "System.Globalization",
"version": "4.3.0",
"hash": "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="
},
{
"pname": "System.Globalization.Calendars",
"version": "4.3.0",
"hash": "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc="
},
{
"pname": "System.Globalization.Extensions",
"version": "4.3.0",
"hash": "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk="
},
{
"pname": "System.IO",
"version": "4.1.0",
"hash": "sha256-V6oyQFwWb8NvGxAwvzWnhPxy9dKOfj/XBM3tEC5aHrw="
},
{
"pname": "System.IO",
"version": "4.3.0",
"hash": "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="
},
{
"pname": "System.IO.Abstractions",
"version": "13.2.47",
"hash": "sha256-pOzzQDwdHzoTSqycKTTmCh2kR3X6YDFUiszMlDob7mg="
},
{
"pname": "System.IO.Compression",
"version": "4.3.0",
"hash": "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="
},
{
"pname": "System.IO.Compression.ZipFile",
"version": "4.3.0",
"hash": "sha256-WQl+JgWs+GaRMeiahTFUbrhlXIHapzcpTFXbRvAtvvs="
},
{
"pname": "System.IO.FileSystem",
"version": "4.0.1",
"hash": "sha256-4VKXFgcGYCTWVXjAlniAVq0dO3o5s8KHylg2wg2/7k0="
},
{
"pname": "System.IO.FileSystem",
"version": "4.3.0",
"hash": "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="
},
{
"pname": "System.IO.FileSystem.AccessControl",
"version": "5.0.0",
"hash": "sha256-c9MlDKJfj63YRvl7brRBNs59olrmbL+G1A6oTS8ytEc="
},
{
"pname": "System.IO.FileSystem.Primitives",
"version": "4.0.1",
"hash": "sha256-IpigKMomqb6pmYWkrlf0ZdpILtRluX2cX5sOKVW0Feg="
},
{
"pname": "System.IO.FileSystem.Primitives",
"version": "4.3.0",
"hash": "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="
},
{
"pname": "System.Linq",
"version": "4.1.0",
"hash": "sha256-ZQpFtYw5N1F1aX0jUK3Tw+XvM5tnlnshkTCNtfVA794="
},
{
"pname": "System.Linq",
"version": "4.3.0",
"hash": "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="
},
{
"pname": "System.Linq.Expressions",
"version": "4.1.0",
"hash": "sha256-7zqB+FXgkvhtlBzpcZyd81xczWP0D3uWssyAGw3t7b4="
},
{
"pname": "System.Linq.Expressions",
"version": "4.3.0",
"hash": "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="
},
{
"pname": "System.Net.Http",
"version": "4.3.0",
"hash": "sha256-UoBB7WPDp2Bne/fwxKF0nE8grJ6FzTMXdT/jfsphj8Q="
},
{
"pname": "System.Net.NameResolution",
"version": "4.3.0",
"hash": "sha256-eGZwCBExWsnirWBHyp2sSSSXp6g7I6v53qNmwPgtJ5c="
},
{
"pname": "System.Net.Primitives",
"version": "4.3.0",
"hash": "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE="
},
{
"pname": "System.Net.Sockets",
"version": "4.3.0",
"hash": "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus="
},
{
"pname": "System.ObjectModel",
"version": "4.0.12",
"hash": "sha256-MudZ/KYcvYsn2cST3EE049mLikrNkmE7QoUoYKKby+s="
},
{
"pname": "System.ObjectModel",
"version": "4.3.0",
"hash": "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="
},
{
"pname": "System.Private.Uri",
"version": "4.3.0",
"hash": "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="
},
{
"pname": "System.Reflection",
"version": "4.1.0",
"hash": "sha256-idZHGH2Yl/hha1CM4VzLhsaR8Ljo/rV7TYe7mwRJSMs="
},
{
"pname": "System.Reflection",
"version": "4.3.0",
"hash": "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="
},
{
"pname": "System.Reflection.Emit",
"version": "4.0.1",
"hash": "sha256-F1MvYoQWHCY89/O4JBwswogitqVvKuVfILFqA7dmuHk="
},
{
"pname": "System.Reflection.Emit",
"version": "4.3.0",
"hash": "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="
},
{
"pname": "System.Reflection.Emit.ILGeneration",
"version": "4.0.1",
"hash": "sha256-YG+eJBG5P+5adsHiw/lhJwvREnvdHw6CJyS8ZV4Ujd0="
},
{
"pname": "System.Reflection.Emit.ILGeneration",
"version": "4.3.0",
"hash": "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="
},
{
"pname": "System.Reflection.Emit.Lightweight",
"version": "4.0.1",
"hash": "sha256-uVvNOnL64CPqsgZP2OLqNmxdkZl6Q0fTmKmv9gcBi+g="
},
{
"pname": "System.Reflection.Emit.Lightweight",
"version": "4.3.0",
"hash": "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="
},
{
"pname": "System.Reflection.Extensions",
"version": "4.0.1",
"hash": "sha256-NsfmzM9G/sN3H8X2cdnheTGRsh7zbRzvegnjDzDH/FQ="
},
{
"pname": "System.Reflection.Extensions",
"version": "4.3.0",
"hash": "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="
},
{
"pname": "System.Reflection.Metadata",
"version": "1.6.0",
"hash": "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E="
},
{
"pname": "System.Reflection.Primitives",
"version": "4.0.1",
"hash": "sha256-SFSfpWEyCBMAOerrMCOiKnpT+UAWTvRcmoRquJR6Vq0="
},
{
"pname": "System.Reflection.Primitives",
"version": "4.3.0",
"hash": "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="
},
{
"pname": "System.Reflection.TypeExtensions",
"version": "4.1.0",
"hash": "sha256-R0YZowmFda+xzKNR4kKg7neFoE30KfZwp/IwfRSKVK4="
},
{
"pname": "System.Reflection.TypeExtensions",
"version": "4.3.0",
"hash": "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng="
},
{
"pname": "System.Resources.ResourceManager",
"version": "4.0.1",
"hash": "sha256-cZ2/3/fczLjEpn6j3xkgQV9ouOVjy4Kisgw5xWw9kSw="
},
{
"pname": "System.Resources.ResourceManager",
"version": "4.3.0",
"hash": "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="
},
{
"pname": "System.Runtime",
"version": "4.1.0",
"hash": "sha256-FViNGM/4oWtlP6w0JC0vJU+k9efLKZ+yaXrnEeabDQo="
},
{
"pname": "System.Runtime",
"version": "4.3.0",
"hash": "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="
},
{
"pname": "System.Runtime.Extensions",
"version": "4.1.0",
"hash": "sha256-X7DZ5CbPY7jHs20YZ7bmcXs9B5Mxptu/HnBUvUnNhGc="
},
{
"pname": "System.Runtime.Extensions",
"version": "4.3.0",
"hash": "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="
},
{
"pname": "System.Runtime.Handles",
"version": "4.0.1",
"hash": "sha256-j2QgVO9ZOjv7D1het98CoFpjoYgxjupuIhuBUmLLH7w="
},
{
"pname": "System.Runtime.Handles",
"version": "4.3.0",
"hash": "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="
},
{
"pname": "System.Runtime.InteropServices",
"version": "4.1.0",
"hash": "sha256-QceAYlJvkPRJc/+5jR+wQpNNI3aqGySWWSO30e/FfQY="
},
{
"pname": "System.Runtime.InteropServices",
"version": "4.3.0",
"hash": "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="
},
{
"pname": "System.Runtime.InteropServices.RuntimeInformation",
"version": "4.3.0",
"hash": "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA="
},
{
"pname": "System.Runtime.Numerics",
"version": "4.3.0",
"hash": "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc="
},
{
"pname": "System.Runtime.Serialization.Primitives",
"version": "4.1.1",
"hash": "sha256-80B05oxJbPLGq2pGOSl6NlZvintX9A1CNpna2aN0WRA="
},
{
"pname": "System.Security.AccessControl",
"version": "5.0.0",
"hash": "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="
},
{
"pname": "System.Security.AccessControl",
"version": "6.0.0",
"hash": "sha256-qOyWEBbNr3EjyS+etFG8/zMbuPjA+O+di717JP9Cxyg="
},
{
"pname": "System.Security.Claims",
"version": "4.3.0",
"hash": "sha256-Fua/rDwAqq4UByRVomAxMPmDBGd5eImRqHVQIeSxbks="
},
{
"pname": "System.Security.Cryptography.Algorithms",
"version": "4.3.0",
"hash": "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8="
},
{
"pname": "System.Security.Cryptography.Cng",
"version": "4.3.0",
"hash": "sha256-u17vy6wNhqok91SrVLno2M1EzLHZm6VMca85xbVChsw="
},
{
"pname": "System.Security.Cryptography.Csp",
"version": "4.3.0",
"hash": "sha256-oefdTU/Z2PWU9nlat8uiRDGq/PGZoSPRgkML11pmvPQ="
},
{
"pname": "System.Security.Cryptography.Encoding",
"version": "4.3.0",
"hash": "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss="
},
{
"pname": "System.Security.Cryptography.OpenSsl",
"version": "4.3.0",
"hash": "sha256-DL+D2sc2JrQiB4oAcUggTFyD8w3aLEjJfod5JPe+Oz4="
},
{
"pname": "System.Security.Cryptography.Pkcs",
"version": "6.0.1",
"hash": "sha256-OJ4NJ8E/8l86aR+Hsw+k/7II63Y/zPS+MgC+UfeCXHM="
},
{
"pname": "System.Security.Cryptography.Primitives",
"version": "4.3.0",
"hash": "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318="
},
{
"pname": "System.Security.Cryptography.X509Certificates",
"version": "4.3.0",
"hash": "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0="
"version": "10.0.6",
"hash": "sha256-7T34t/DoxxMWUGRPSnLV1l5ScAxcDnK9iYKstRvLJuA="
},
{
"pname": "System.Security.Cryptography.Xml",
"version": "6.0.1",
"hash": "sha256-spXV8cWZu0V3liek1936REtdpvS4fQwc98JvacO1oJU="
},
{
"pname": "System.Security.Principal",
"version": "4.3.0",
"hash": "sha256-rjudVUHdo8pNJg2EVEn0XxxwNo5h2EaYo+QboPkXlYk="
},
{
"pname": "System.Security.Principal.Windows",
"version": "4.3.0",
"hash": "sha256-mbdLVUcEwe78p3ZnB6jYsizNEqxMaCAWI3tEQNhRQAE="
},
{
"pname": "System.Security.Principal.Windows",
"version": "5.0.0",
"hash": "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="
},
{
"pname": "System.Text.Encoding",
"version": "4.0.11",
"hash": "sha256-PEailOvG05CVgPTyKLtpAgRydlSHmtd5K0Y8GSHY2Lc="
},
{
"pname": "System.Text.Encoding",
"version": "4.3.0",
"hash": "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="
},
{
"pname": "System.Text.Encoding.Extensions",
"version": "4.0.11",
"hash": "sha256-+kf7J3dEhgCbnCM5vHYlsTm5/R/Ud0Jr6elpHm922iI="
},
{
"pname": "System.Text.Encoding.Extensions",
"version": "4.3.0",
"hash": "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="
},
{
"pname": "System.Text.Json",
"version": "8.0.5",
"hash": "sha256-yKxo54w5odWT6nPruUVsaX53oPRe+gKzGvLnnxtwP68="
},
{
"pname": "System.Text.RegularExpressions",
"version": "4.1.0",
"hash": "sha256-x6OQN6MCN7S0fJ6EFTfv4rczdUWjwuWE9QQ0P6fbh9c="
},
{
"pname": "System.Text.RegularExpressions",
"version": "4.3.0",
"hash": "sha256-VLCk1D1kcN2wbAe3d0YQM/PqCsPHOuqlBY1yd2Yo+K0="
},
{
"pname": "System.Threading",
"version": "4.0.11",
"hash": "sha256-mob1Zv3qLQhQ1/xOLXZmYqpniNUMCfn02n8ZkaAhqac="
},
{
"pname": "System.Threading",
"version": "4.3.0",
"hash": "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="
},
{
"pname": "System.Threading.Tasks",
"version": "4.0.11",
"hash": "sha256-5SLxzFg1df6bTm2t09xeI01wa5qQglqUwwJNlQPJIVs="
},
{
"pname": "System.Threading.Tasks",
"version": "4.3.0",
"hash": "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="
},
{
"pname": "System.Threading.Tasks.Extensions",
"version": "4.0.0",
"hash": "sha256-+YdcPkMhZhRbMZHnfsDwpNbUkr31X7pQFGxXYcAPZbE="
},
{
"pname": "System.Threading.Tasks.Extensions",
"version": "4.3.0",
"hash": "sha256-X2hQ5j+fxcmnm88Le/kSavjiGOmkcumBGTZKBLvorPc="
},
{
"pname": "System.Threading.ThreadPool",
"version": "4.3.0",
"hash": "sha256-wW0QdvssRoaOfQLazTGSnwYTurE4R8FxDx70pYkL+gg="
},
{
"pname": "System.Threading.Timer",
"version": "4.3.0",
"hash": "sha256-pmhslmhQhP32TWbBzoITLZ4BoORBqYk25OWbru04p9s="
},
{
"pname": "System.Xml.ReaderWriter",
"version": "4.0.11",
"hash": "sha256-haZAFFQ9Sl2DhfvEbdx2YRqKEoxNMU5STaqpMmXw0zA="
},
{
"pname": "System.Xml.ReaderWriter",
"version": "4.3.0",
"hash": "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA="
},
{
"pname": "System.Xml.XDocument",
"version": "4.0.11",
"hash": "sha256-KPz1kxe0RUBM+aoktJ/f9p51GudMERU8Pmwm//HdlFg="
},
{
"pname": "System.Xml.XDocument",
"version": "4.3.0",
"hash": "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="
"version": "10.0.6",
"hash": "sha256-QwcfiHtrRNK5j2vPudws4S0g7I8XYHFstKAI1bOlIFM="
},
{
"pname": "xunit",

View File

@@ -7,16 +7,16 @@
buildDotnetModule rec {
pname = "cyclonedx-cli";
version = "0.30.0";
version = "0.32.0";
src = fetchFromGitHub {
owner = "CycloneDX";
repo = "cyclonedx-cli";
tag = "v${version}";
hash = "sha256-a9jUJqj/h2u2SrIQkQV8aFSzys+RVEI2yNlHTJpll+M=";
hash = "sha256-XP6Zz9JITIw6xUefOkLLjoHUDsnhsOKdtY5S5xbkejU=";
};
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-sdk = dotnetCorePackages.sdk_10_0;
nugetDeps = ./deps.json;
preFixup = ''

View File

@@ -23,13 +23,13 @@ let
in
buildDartApplication rec {
pname = "dart-sass";
version = "1.101.0";
version = "1.101.2";
src = fetchFromGitHub {
owner = "sass";
repo = "dart-sass";
tag = version;
hash = "sha256-hs028qXBzRGrh9xZAQGaFw7iXtkQm9fixMuBohupjrI=";
hash = "sha256-7q42Dv1HUWxeXa4j306ssKJrBsPKAFezqntx4mZXgw0=";
};
pubspecLock = lib.importJSON ./pubspec.lock.json;

View File

@@ -4,21 +4,21 @@
"dependency": "transitive",
"description": {
"name": "_fe_analyzer_shared",
"sha256": "3b19a47f6ea7c2632760777c78174f47f6aec1e05f0cd611380d4593b8af1dbc",
"sha256": "1b0e6a07425a3e460666e88bf1c949ccc7bb0116ad562ce94a1eca60fe820725",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "96.0.0"
"version": "103.0.0"
},
"analyzer": {
"dependency": "direct dev",
"description": {
"name": "analyzer",
"sha256": "0c516bc4ad36a1a75759e54d5047cb9d15cded4459df01aa35a0b5ec7db2c2a0",
"sha256": "61c04d0c1bfed555c681ea079519933f071a5a026578ff73c4ff0df2d3462e5e",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "10.2.0"
"version": "13.3.0"
},
"archive": {
"dependency": "direct dev",
@@ -94,11 +94,11 @@
"dependency": "direct main",
"description": {
"name": "cli_pkg",
"sha256": "8343ec3b11f163ab105687d6bad5432ef49b95d15137ec44a28c8cef918b5150",
"sha256": "1b3915a8924e8a495ec24b8ee076c182211d0bd563699a2c8ed9af33bf296af8",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.15.1"
"version": "2.15.2"
},
"cli_repl": {
"dependency": "direct main",
@@ -114,11 +114,11 @@
"dependency": "direct dev",
"description": {
"name": "cli_util",
"sha256": "ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c",
"sha256": "5909d2c6b66817222779e1eedc19e0e28b76d1df7bd9856a4792ccb9881df358",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.4.2"
"version": "0.5.1"
},
"collection": {
"dependency": "direct main",
@@ -184,21 +184,21 @@
"dependency": "transitive",
"description": {
"name": "dart_style",
"sha256": "29f7ecc274a86d32920b1d9cfc7502fa87220da41ec60b55f329559d5732e2b2",
"sha256": "3f88fc9c96c568d631356507355a2d1e983ee000c9ac008bdcb39b5bf53ce777",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.1.7"
"version": "3.1.12"
},
"dartdoc": {
"dependency": "direct dev",
"description": {
"name": "dartdoc",
"sha256": "c60c01dc5aeb095a3b7b875150fe0e50b46330aec5d3417e7bae235ccd8a00ab",
"sha256": "deb9e1d80cd0fd66139c5690315a5004150fd5c85a16d97459360531aa9e3702",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "9.0.4"
"version": "9.0.8"
},
"ffi": {
"dependency": "transitive",
@@ -254,11 +254,11 @@
"dependency": "direct dev",
"description": {
"name": "grinder",
"sha256": "e1996e485d2b56bb164a8585679758d488fbf567273f51c432c8733fee1f6188",
"sha256": "8c65fc6c0c0748c2d9080c1fb603d7a9640bf5a5eda29f35099bd351cc45093f",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.9.5"
"version": "0.10.0"
},
"html": {
"dependency": "transitive",
@@ -374,11 +374,11 @@
"dependency": "direct main",
"description": {
"name": "meta",
"sha256": "c82594181e3312f3d0695fc95aaaf7758d75b8d4ae2bbecf223b9fd5109a059d",
"sha256": "307249ce4ff29d58a18e97f6345f539382eb9c9c29ecda628900f31de0443dd9",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.18.3"
"version": "1.19.0"
},
"mime": {
"dependency": "transitive",
@@ -674,31 +674,31 @@
"dependency": "direct dev",
"description": {
"name": "test",
"sha256": "ca578dc12bb8b2f40b67b7d3bd2fac4f31c01a6ff7130a14e2597b919934507f",
"sha256": "0d5ba5602ec3baa28c8ce365e1efc5575969c765f45c554a3e167dc7945b9c30",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.31.1"
"version": "1.31.2"
},
"test_api": {
"dependency": "transitive",
"description": {
"name": "test_api",
"sha256": "2a122cbe059f8b610d3a5415f42e255b6c17b1f21eee1d960f31080237fb4f11",
"sha256": "475610b2aa23c19687cce2961e44b0cc57cafe220f67c2b80201231b2a07fbe7",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.7.12"
"version": "0.7.13"
},
"test_core": {
"dependency": "transitive",
"description": {
"name": "test_core",
"sha256": "d2e98ec12998368dc59ddd47ab709f2cd55acd6b66dc7db764455a44082f4bc5",
"sha256": "a39c204a4fc7a7ccb04a2b985e359fda3cc37e45e0b8ac61c3fb1a05aa832132",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.6.18"
"version": "0.6.19"
},
"test_descriptor": {
"dependency": "direct dev",
@@ -804,11 +804,11 @@
"dependency": "transitive",
"description": {
"name": "xml",
"sha256": "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025",
"sha256": "67f0aff7be013d107995e9b75bf4e7f2c3ef2dfdb2c8e68024bba0a7fd5756a4",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.6.1"
"version": "7.0.1"
},
"yaml": {
"dependency": "direct dev",
@@ -822,6 +822,6 @@
}
},
"sdks": {
"dart": ">=3.10.0 <4.0.0"
"dart": ">=3.11.0 <4.0.0"
}
}

View File

@@ -12,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "diff-so-fancy";
version = "1.4.10";
version = "1.4.12";
src = fetchFromGitHub {
owner = "so-fancy";
repo = "diff-so-fancy";
rev = "v${finalAttrs.version}";
sha256 = "sha256-mEVRwkfVK/qmOeU37hSxmO2t0z0TY4MWOjkt6hICQQ4=";
sha256 = "sha256-5laSG8UWsCXAK+Woiz1Opy3VViboCI7J2AsqoDiuq7k=";
};
nativeBuildInputs = [

View File

@@ -9,16 +9,16 @@
buildGoModule (finalAttrs: {
pname = "dnscontrol";
version = "4.42.0";
version = "4.43.0";
src = fetchFromGitHub {
owner = "DNSControl";
repo = "dnscontrol";
tag = "v${finalAttrs.version}";
hash = "sha256-iB2PFPvcASRwpBkFJQ3Vi2r89H3a9BBbC1moAymWDOI=";
hash = "sha256-7t/j6vLeoYHTf7wMIZ1hns1Uo0udEqTu/0K/96C5aPQ=";
};
vendorHash = "sha256-8rL5v/0Vb+gxmbDaEB57UsQEnKCJtbZh0lFUyKYMZgs=";
vendorHash = "sha256-NEFfYDLo/UiITlUd7XptBmWesJQexvaXH95gyMpgNqA=";
nativeBuildInputs = [ installShellFiles ];

View File

@@ -1,28 +0,0 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule {
pname = "drone-runner-exec";
version = "unstable-2020-04-19";
src = fetchFromGitHub {
owner = "drone-runners";
repo = "drone-runner-exec";
rev = "c0a612ef2bdfdc6d261dfbbbb005c887a0c3668d";
sha256 = "sha256-0UIJwpC5Y2TQqyZf6C6neICYBZdLQBWAZ8/K1l6KVRs=";
};
vendorHash = "sha256-ypYuQKxRhRQGX1HtaWt6F6BD9vBpD8AJwx/4esLrJsw=";
meta = {
description = "Drone pipeline runner that executes builds directly on the host machine";
homepage = "https://github.com/drone-runners/drone-runner-exec";
# https://polyformproject.org/licenses/small-business/1.0.0/
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ mic92 ];
mainProgram = "drone-runner-exec";
};
}

View File

@@ -6,7 +6,7 @@
buildGoModule {
pname = "drone-runner-ssh";
version = "unstable-2022-12-22";
version = "1.0.1-unstable-2022-12-22";
src = fetchFromGitHub {
owner = "drone-runners";

View File

@@ -18,13 +18,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "dropbear";
version = "2026.92";
version = "2026.93";
src = fetchFromGitHub {
owner = "mkj";
repo = "dropbear";
tag = "DROPBEAR_${finalAttrs.version}";
hash = "sha256-xXjKWj6tMW/Qlq4DttxKAqOwsER2QEeb1Qw3Gllu2QQ=";
hash = "sha256-Xs5LTVaNdfRKx0cFTQknaHXka6QhxBS2JNTQ8RoHG80=";
};
patches = [

View File

@@ -1,29 +1,26 @@
{
lib,
stdenv,
fetchurl,
fetchpatch2,
fetchFromGitHub,
}:
stdenv.mkDerivation (finalAttrs: {
stdenv.mkDerivation {
pname = "dtach";
version = "0.9";
version = "0.9-unstable-2025-06-20";
src = fetchurl {
url = "mirror://sourceforge/project/dtach/dtach/${finalAttrs.version}/dtach-${finalAttrs.version}.tar.gz";
sha256 = "1wwj2hlngi8qn2pisvhyfxxs8gyqjlgrrv5lz91w8ly54dlzvs9j";
src = fetchFromGitHub {
owner = "crigler";
repo = "dtach";
rev = "b027c27b2439081064d07a86883c8e0b20a183c9";
hash = "sha256-ilxBbrqwGe+jpFbQ93nfyp3HuDY0D7NgIXkIkw9YXkI=";
};
patches = [
(fetchpatch2 {
url = "https://github.com/crigler/dtach/commit/6d80909a8c0fd19717010a3c76fec560f988ca48.patch?full_index=1";
hash = "sha256-v3vToJdSwihiPCSjXjEJghiaynHPTEql3F7URXRjCbM=";
})
];
installPhase = ''
mkdir -p $out/bin
cp dtach $out/bin/dtach
runHook preInstall
install -D dtach $out/bin/dtach
runHook postInstall
'';
meta = {
@@ -40,9 +37,8 @@ stdenv.mkDerivation (finalAttrs: {
'';
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
maintainers = [ ];
maintainers = [ lib.maintainers.jmbaur ];
mainProgram = "dtach";
};
})
}

View File

@@ -14,16 +14,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "dump_syms";
version = "2.3.7";
version = "2.3.8";
src = fetchFromGitHub {
owner = "mozilla";
repo = "dump_syms";
rev = "v${finalAttrs.version}";
hash = "sha256-fCplZFp+yONBd2HDDlX/6XcmnQFbsnVmiS5b8fqGOAE=";
hash = "sha256-b+uZC+ss1utfQQOO+P9Nb1KomNcyxwSUcNAzaPh2Bik=";
};
cargoHash = "sha256-guJgkcldcKvi3XWolAqyB5bFzlSMNQQMzri6axGJpLo=";
cargoHash = "sha256-1M5IqcyDrQGhOALTyqSu6ZxZS8YBkxm+K++nOQhOEKI=";
nativeBuildInputs = [
pkg-config

View File

@@ -71,7 +71,7 @@ stdenvNoCC.mkDerivation {
description = "Everforest colour palette for GTK";
homepage = "https://github.com/Fausto-Korpsvart/Everforest-GTK-Theme";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ jn-sena ];
maintainers = [ ];
platforms = lib.platforms.unix;
};
}

View File

@@ -6,11 +6,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "fcitx5-pinyin-moegirl";
version = "20260712";
version = "20260713";
src = fetchurl {
url = "https://github.com/outloudvi/mw2fcitx/releases/download/${finalAttrs.version}/moegirl.dict";
hash = "sha256-fCzh9pn+HWL60IvpPieaaZ+JjQZ1bbfYIyLEHDITK4U=";
hash = "sha256-ZmpTcolKTjJBino+zkVK6hBv/+yllAiBiR6Jy4SBdVs=";
};
dontUnpack = true;

View File

@@ -18,7 +18,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "fluux-messenger";
version = "0.17.1";
version = "0.17.2";
__structuredAttrs = true;
strictDeps = true;
@@ -27,16 +27,16 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "processone";
repo = "fluux-messenger";
tag = "v${finalAttrs.version}";
hash = "sha256-aT7X11BOmksEcCLk5hkokfLx7Q8Jk2zTWskoN8aZha0=";
hash = "sha256-APdzwVnDOGnngZJ3LjQMk2Y6KRbGqXaaFEb+NzhfkIo=";
};
cargoRoot = "apps/fluux/src-tauri";
cargoHash = "sha256-fEHe7enJzdEauou1xWfM94WHL1uAP1sfY2JN1ZmZmEE=";
cargoHash = "sha256-pjx4tP89aRx1/m5eYjI2DPhTtSuMnFudongEFhiaigE=";
npmDeps = fetchNpmDeps {
name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps";
inherit (finalAttrs) src;
hash = "sha256-4Op4jykCtc9oFBIn8vOUqxGr7/OloIhPD1JT+q4dX7Y=";
hash = "sha256-rV5Q8WKcSmL1JSubFefsytOd3qiB5OandcwfZw9DJgE=";
};
nativeBuildInputs = [

View File

@@ -1,8 +1,8 @@
import ./generic.nix {
version = "16.0.0";
hash = "sha256-BZawFbrtcxftX4/Yk32aoVRQ6Kg+k1FhN9IoH6dxvVY=";
version = "16.0.1";
hash = "sha256-fMAOmYh21nMyd9b8e6cXlh7ArJtIys3N6sbTJNV1oyw=";
npmDepsHash = "sha256-UhivpUqNJvc3zHxdRVAWT9x68jG1KnQa8yS4KkL2W5g=";
vendorHash = "sha256-cb6f7ZX3pG95EEZotGXn6+YUJN59SFNVHFTejFJ6y28=";
vendorHash = "sha256-elbuQxUtbuDTJV686ZqiFgxWlIYrWDZ4fUet2QY/sJ8=";
lts = false;
nixUpdateExtraArgs = [
"--override-filename"

View File

@@ -82,13 +82,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "frr";
version = "10.6.1";
version = "10.7.0";
src = fetchFromGitHub {
owner = "FRRouting";
repo = "frr";
rev = "frr-${finalAttrs.version}";
hash = "sha256-sSvw9tfVNUyQjEOELoUAIQkEvXg765MsWvVKM0gsYUc=";
hash = "sha256-A98uyOiFH/DvJPMmUvXQ1bG//OCdvuclpHD6xe5BqFU=";
};
# Without the std explicitly set, we may run into abseil-cpp

View File

@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "fuc";
version = "3.1.7";
version = "3.2.0";
src = fetchFromGitHub {
owner = "SUPERCILEX";
repo = "fuc";
tag = finalAttrs.version;
hash = "sha256-LtS2+iqu4+z6K/PZeggLdo4S/F+5AtV5j9Q6hDAcEiQ=";
hash = "sha256-EzT8Rq0vqcHiW6W0yLSzlWNEZzaKXvOL3o9WUj648gU=";
};
cargoHash = "sha256-SSJg/Ns64+NgqrB4mJ5/xa40tZfGZ2VGdvNP7SSKv0E=";
cargoHash = "sha256-sZGAQ+9u/2PpHkp5BcrrTU+48s6PT42+eEs/Cn0RsKk=";
env.RUSTC_BOOTSTRAP = 1;

View File

@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "fzf-make";
version = "0.69.0";
version = "0.70.0";
src = fetchFromGitHub {
owner = "kyu08";
repo = "fzf-make";
tag = "v${finalAttrs.version}";
hash = "sha256-ezE7plWdPqfENprOWhl5YQnoXk9khXsDtsYf6Lifk3w=";
hash = "sha256-LRLwHCHsXW0SZ8X+7719vaCBQDx9fjiMvF2oma8u41w=";
};
cargoHash = "sha256-uF+oV0ZvGsRy20DkNrVowyb+RoYVtYN4R/gOZ6WzHQw=";
cargoHash = "sha256-bNp4P/Hag4br28rrfeNIUFQqKNKa/Gin79gQR6sg8W8=";
nativeBuildInputs = [ makeBinaryWrapper ];

View File

@@ -7,17 +7,17 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
version = "0.37.0";
version = "0.37.1";
pname = "geckodriver";
src = fetchFromGitHub {
owner = "mozilla";
repo = "geckodriver";
tag = "v${finalAttrs.version}";
sha256 = "sha256-fXaOGdwpBbukphNvu9sONTXPAW+zMLv3roJ6j0iLdHQ=";
sha256 = "sha256-LnfJmiV4SJpFBXDAJmwbHKv6RvO40e7/3Lm6Jc6YA40=";
};
cargoHash = "sha256-AZsNtdUbtly1AN4dbBHRdlJCHkfcYjjKw5EzVqHMeYs=";
cargoHash = "sha256-zNwlQ2CsDHQnFog59jKFAxVaNK0/8hUts6NRkFVKCGk=";
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
libiconv

View File

@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "git-gamble";
version = "2.14.4";
version = "2.14.6";
src = fetchFromGitLab {
owner = "pinage404";
repo = "git-gamble";
rev = "v${finalAttrs.version}";
hash = "sha256-DjwdoM9/W1UeD/XqVMXTyzjdcJLfHiAqRA3r//rkn1U=";
hash = "sha256-+YjAXELI4AnHTZ7PvBWhvu3BQP7kys5VV2EllyABYKo=";
};
cargoHash = "sha256-X3kJT0pscCH9sQxV3NkX0hL2sccTJHgMj0UeIpJOWJ4=";
cargoHash = "sha256-UHj/rhL9/r/UUtlgqTgMr9jFNRwwFDrfltyB5PyZanM=";
nativeCheckInputs = [ gitMinimal ];
preCheck = ''

View File

@@ -13,16 +13,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "git-statuses";
version = "0.8.1";
version = "0.8.2";
src = fetchFromGitHub {
owner = "bircni";
repo = "git-statuses";
tag = finalAttrs.version;
hash = "sha256-p200nv8H/tuO48ZBsTQvM0JBGN4Yu58kXLhYl8AJxfc=";
hash = "sha256-hZ0/lC7Xjv+CDi2uucRa009nTCrKIrBFj3BbZsciJ2o=";
};
cargoHash = "sha256-MJekW/AzVe1dCr5La4+FKBeyGFAjN0fCBUiGnMoAtdI=";
cargoHash = "sha256-RMRATVe6NILxNiNVkcdv5x5BYVL5UUphtrrGRWN18KU=";
# Needed to get openssl-sys to use pkg-config.
env.OPENSSL_NO_VENDOR = 1;

View File

@@ -15,7 +15,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "github-copilot-cli";
version = "1.0.26";
version = "1.0.61";
# GitHub provide platform-specific SEA binaries as well as a "universal"
# package. Use the universal package as it gives us a bit more flexibility
@@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
# about how paths should be set up which don't reliably hold when using Nix.
src = fetchurl {
url = "https://github.com/github/copilot-cli/releases/download/v${finalAttrs.version}/github-copilot-${finalAttrs.version}.tgz";
hash = "sha256-zNO0clQRfgw6CX9K8NaJXsoOhhNjBfK7KAr0AoL7Oqo=";
hash = "sha256-8Lks8lHa5XF9ZrC+fU/9VlzD1W32MbRZ7PZtL5YWLTA=";
};
nativeBuildInputs = [
@@ -58,6 +58,10 @@ stdenv.mkDerivation (finalAttrs: {
'';
postInstall = ''
# Upstream bundles linuxmusl prebuilds in the universal tarball; they are
# not needed on glibc systems and make autoPatchelf fail on musl libc deps.
find "$out"/lib/github-copilot-cli -depth -path '*/linuxmusl-*' -exec rm -rf '{}' +
makeWrapper ${nodejs}/bin/node "$out"/bin/copilot \
--add-flag "$out"/lib/github-copilot-cli/index.js \
--add-flag --no-auto-update \
@@ -82,6 +86,11 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/github/copilot-cli";
changelog = "https://github.com/github/copilot-cli/releases/tag/v${finalAttrs.version}";
license = lib.licenses.unfree;
sourceProvenance = with lib.sourceTypes; [
binaryNativeCode # including contents of the prebuild directory
binaryBytecode # including WASM files
obfuscatedCode # including minified JavaScript
];
maintainers = with lib.maintainers; [
me-and
];

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