+21
-12
ci/eval/compare/maintainers.nix
+21
-12
ci/eval/compare/maintainers.nix
···
22
22
23
23
anyMatchingFiles = files: builtins.any anyMatchingFile files;
24
24
25
-
attrsWithMaintainers = builtins.map (
26
-
name:
27
-
let
28
-
package = lib.getAttrFromPath (lib.splitString "." name) pkgs;
29
-
in
30
-
{
31
-
inherit name package;
32
-
# TODO: Refactor this so we can ping entire teams instead of the individual members.
33
-
# Note that this will require keeping track of GH team IDs in "maintainers/teams.nix".
34
-
maintainers = package.meta.maintainers or [ ];
35
-
}
36
-
) (changedattrs ++ removedattrs);
25
+
attrsWithMaintainers = lib.pipe (changedattrs ++ removedattrs) [
26
+
(builtins.map (
27
+
name:
28
+
let
29
+
# Some packages might be reported as changed on a different platform, but
30
+
# not even have an attribute on the platform the maintainers are requested on.
31
+
# Fallback to `null` for these to filter them out below.
32
+
package = lib.attrByPath (lib.splitString "." name) null pkgs;
33
+
in
34
+
{
35
+
inherit name package;
36
+
# TODO: Refactor this so we can ping entire teams instead of the individual members.
37
+
# Note that this will require keeping track of GH team IDs in "maintainers/teams.nix".
38
+
maintainers = package.meta.maintainers or [ ];
39
+
}
40
+
))
41
+
# No need to match up packages without maintainers with their files.
42
+
# This also filters out attributes where `packge = null`, which is the
43
+
# case for libintl, for example.
44
+
(builtins.filter (pkg: pkg.maintainers != [ ]))
45
+
];
37
46
38
47
relevantFilenames =
39
48
drv:
+7
-2
doc/languages-frameworks/vim.section.md
+7
-2
doc/languages-frameworks/vim.section.md
···
186
186
nix-shell -p vimPluginsUpdater --run 'vim-plugins-updater --proc 1'
187
187
```
188
188
189
-
If you want to update only certain plugins, you can specify them after the `update` command. Note that you must use the same plugin names as the `pkgs/applications/editors/vim/plugins/vim-plugin-names` file.
189
+
To update only specific plugins, list them after the `update` command:
190
190
191
191
```sh
192
-
nix-shell -p vimPluginsUpdater --run 'vim-plugins-updater update "nvim-treesitter" "LazyVim"'
192
+
nix-shell -p vimPluginsUpdater --run 'vim-plugins-updater update "nvim-treesitter" "mini.nvim" "mini-nvim"'
193
193
```
194
+
195
+
The updater script accepts plugin arguments in different formats:
196
+
197
+
- `"mini.nvim"` := The GitHub repository name, the raw plugin name, or the alias defined in `vim-plugin-names`.
198
+
- `"mini-nvim"` := The normalized plugin name, which matches the attribute name generated in `generated.nix`
194
199
195
200
## How to maintain an out-of-tree overlay of vim plugins? {#vim-out-of-tree-overlays}
196
201
+4
nixos/doc/manual/release-notes/rl-2511.section.md
+4
nixos/doc/manual/release-notes/rl-2511.section.md
···
68
68
69
69
- [Newt](https://github.com/fosrl/newt), a fully user space WireGuard tunnel client and TCP/UDP proxy, designed to securely expose private resources controlled by Pangolin. Available as [services.newt](options.html#opt-services.newt.enable).
70
70
71
+
- [IfState](https://ifstate.net), manage host interface settings in a declarative manner. Available as [networking.ifstate](options.html#opt-networking.ifstate.enable) and [boot.initrd.network.ifstate](options.html#opt-boot.initrd.network.ifstate.enable).
72
+
71
73
- [qBittorrent](https://www.qbittorrent.org/), is a bittorrent client programmed in C++ / Qt that uses libtorrent by Arvid Norberg. Available as [services.qbittorrent](#opt-services.qbittorrent.enable).
72
74
73
75
- [Speedify](https://speedify.com/), a proprietary VPN which allows combining multiple internet connections (Wi-Fi, 4G, 5G, Ethernet, Starlink, Satellite, and more) to improve the stability, speed, and security of online experiences. Available as [services.speedify](#opt-services.speedify.enable).
···
81
83
- [SuiteNumérique Docs](https://github.com/suitenumerique/docs), a collaborative note taking, wiki and documentation web platform and alternative to Notion or Outline. Available as [services.lasuite-docs](#opt-services.lasuite-docs.enable).
82
84
83
85
- [dwl](https://codeberg.org/dwl/dwl), a compact, hackable compositor for Wayland based on wlroots. Available as [programs.dwl](#opt-programs.dwl.enable).
86
+
87
+
- [angrr](https://github.com/linyinfeng/angrr), a service that automatically cleans up old auto GC roots. Available as [services.angrr](#opt-services.angrr.enable).
84
88
85
89
- [Sharkey](https://joinsharkey.org), a Sharkish microblogging platform. Available as [services.sharkey](#opt-services.sharkey.enable).
86
90
+2
nixos/modules/module-list.nix
+2
nixos/modules/module-list.nix
···
788
788
./services/misc/airsonic.nix
789
789
./services/misc/amazon-ssm-agent.nix
790
790
./services/misc/ananicy.nix
791
+
./services/misc/angrr.nix
791
792
./services/misc/anki-sync-server.nix
792
793
./services/misc/apache-kafka.nix
793
794
./services/misc/atuin.nix
···
1185
1186
./services/networking/i2pd.nix
1186
1187
./services/networking/icecream/daemon.nix
1187
1188
./services/networking/icecream/scheduler.nix
1189
+
./services/networking/ifstate.nix
1188
1190
./services/networking/imaginary.nix
1189
1191
./services/networking/inadyn.nix
1190
1192
./services/networking/inspircd.nix
+15
-5
nixos/modules/services/home-automation/home-assistant.nix
+15
-5
nixos/modules/services/home-automation/home-assistant.nix
···
868
868
"amshan"
869
869
"benqprojector"
870
870
];
871
+
componentsUsingInputDevices = [
872
+
# Components that require access to input devices (/dev/input/*)
873
+
"keyboard_remote"
874
+
];
871
875
in
872
876
{
873
877
ExecStart = escapeSystemdExecArgs (
···
898
902
# Hardening
899
903
AmbientCapabilities = capabilities;
900
904
CapabilityBoundingSet = capabilities;
901
-
DeviceAllow = (
905
+
DeviceAllow =
902
906
optionals (any useComponent componentsUsingSerialDevices) [
903
907
"char-ttyACM rw"
904
908
"char-ttyAMA rw"
905
909
"char-ttyUSB rw"
906
910
]
907
-
);
911
+
++ optionals (any useComponent componentsUsingInputDevices) [
912
+
"char-input rw"
913
+
];
908
914
DevicePolicy = "closed";
909
915
LockPersonality = true;
910
916
MemoryDenyWriteExecute = true;
···
946
952
RestrictNamespaces = true;
947
953
RestrictRealtime = true;
948
954
RestrictSUIDSGID = true;
949
-
SupplementaryGroups = optionals (any useComponent componentsUsingSerialDevices) [
950
-
"dialout"
951
-
];
955
+
SupplementaryGroups =
956
+
optionals (any useComponent componentsUsingSerialDevices) [
957
+
"dialout"
958
+
]
959
+
++ optionals (any useComponent componentsUsingInputDevices) [
960
+
"input"
961
+
];
952
962
SystemCallArchitectures = "native";
953
963
SystemCallFilter = [
954
964
"@system-service"
+128
nixos/modules/services/misc/angrr.nix
+128
nixos/modules/services/misc/angrr.nix
···
1
+
{
2
+
config,
3
+
lib,
4
+
pkgs,
5
+
...
6
+
}:
7
+
8
+
let
9
+
cfg = config.services.angrr;
10
+
in
11
+
{
12
+
meta.maintainers = pkgs.angrr.meta.maintainers;
13
+
options = {
14
+
services.angrr = {
15
+
enable = lib.mkEnableOption "angrr";
16
+
package = lib.mkPackageOption pkgs "angrr" { };
17
+
period = lib.mkOption {
18
+
type = lib.types.str;
19
+
default = "7d";
20
+
example = "2weeks";
21
+
description = ''
22
+
The retention period of auto GC roots.
23
+
'';
24
+
};
25
+
removeRoot = lib.mkOption {
26
+
type = lib.types.bool;
27
+
default = false;
28
+
description = ''
29
+
Whether to pass the `--remove-root` option to angrr.
30
+
'';
31
+
};
32
+
ownedOnly = lib.mkOption {
33
+
type = lib.types.bool;
34
+
default = false;
35
+
description = ''
36
+
Control the `--remove-root=<true|false>` option of angrr.
37
+
'';
38
+
apply = b: if b then "true" else "false";
39
+
};
40
+
logLevel = lib.mkOption {
41
+
type =
42
+
with lib.types;
43
+
enum [
44
+
"off"
45
+
"error"
46
+
"warn"
47
+
"info"
48
+
"debug"
49
+
"trace"
50
+
];
51
+
default = "info";
52
+
description = ''
53
+
Set the log level of angrr.
54
+
'';
55
+
};
56
+
extraArgs = lib.mkOption {
57
+
type = with lib.types; listOf str;
58
+
default = [ ];
59
+
description = ''
60
+
Extra command-line arguments pass to angrr.
61
+
'';
62
+
};
63
+
enableNixGcIntegration = lib.mkOption {
64
+
type = lib.types.bool;
65
+
description = ''
66
+
Whether to enable nix-gc.service integration
67
+
'';
68
+
};
69
+
timer = {
70
+
enable = lib.mkEnableOption "angrr timer";
71
+
dates = lib.mkOption {
72
+
type = lib.types.str;
73
+
default = "03:00";
74
+
description = ''
75
+
How often or when the retention policy is performed.
76
+
'';
77
+
};
78
+
};
79
+
};
80
+
};
81
+
82
+
config = lib.mkIf cfg.enable (
83
+
lib.mkMerge [
84
+
{
85
+
assertions = [
86
+
{
87
+
assertion = cfg.enableNixGcIntegration -> config.nix.gc.automatic;
88
+
message = "angrr nix-gc.service integration requires `nix.gc.automatic = true`";
89
+
}
90
+
];
91
+
services.angrr.enableNixGcIntegration = lib.mkDefault config.nix.gc.automatic;
92
+
}
93
+
94
+
{
95
+
systemd.services.angrr = {
96
+
description = "Auto Nix GC Roots Retention";
97
+
script = ''
98
+
${lib.getExe cfg.package} run \
99
+
--log-level "${cfg.logLevel}" \
100
+
--period "${cfg.period}" \
101
+
${lib.optionalString cfg.removeRoot "--remove-root"} \
102
+
--owned-only="${cfg.ownedOnly}" \
103
+
--no-prompt ${lib.escapeShellArgs cfg.extraArgs}
104
+
'';
105
+
serviceConfig = {
106
+
Type = "oneshot";
107
+
};
108
+
};
109
+
}
110
+
111
+
(lib.mkIf cfg.timer.enable {
112
+
systemd.timers.angrr = {
113
+
timerConfig = {
114
+
OnCalendar = cfg.timer.dates;
115
+
};
116
+
wantedBy = [ "timers.target" ];
117
+
};
118
+
})
119
+
120
+
(lib.mkIf cfg.enableNixGcIntegration {
121
+
systemd.services.angrr = {
122
+
wantedBy = [ "nix-gc.service" ];
123
+
before = [ "nix-gc.service" ];
124
+
};
125
+
})
126
+
]
127
+
);
128
+
}
+24
-1
nixos/modules/services/misc/radicle.nix
+24
-1
nixos/modules/services/misc/radicle.nix
···
227
227
default = 8080;
228
228
description = "The port on which `radicle-httpd` listens.";
229
229
};
230
+
aliases = lib.mkOption {
231
+
type = lib.types.attrsOf lib.types.str;
232
+
description = "Alias and RID pairs to shorten git clone commands for repositories.";
233
+
default = { };
234
+
example = lib.literalExpression ''
235
+
{
236
+
heartwood = "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5";
237
+
}
238
+
'';
239
+
};
230
240
nginx = lib.mkOption {
231
241
# Type of a single virtual host, or null.
232
242
type = lib.types.nullOr (
···
342
352
description = "Radicle HTTP gateway to radicle-node";
343
353
documentation = [ "man:radicle-httpd(1)" ];
344
354
serviceConfig = {
345
-
ExecStart = "${lib.getExe' cfg.httpd.package "radicle-httpd"} --listen ${cfg.httpd.listenAddress}:${toString cfg.httpd.listenPort} ${lib.escapeShellArgs cfg.httpd.extraArgs}";
355
+
ExecStart = lib.escapeShellArgs (
356
+
[
357
+
(lib.getExe' cfg.httpd.package "radicle-httpd")
358
+
"--listen=${cfg.httpd.listenAddress}:${toString cfg.httpd.listenPort}"
359
+
]
360
+
++ lib.flatten (
361
+
lib.mapAttrsToList (alias: rid: [
362
+
"--alias"
363
+
alias
364
+
rid
365
+
]) cfg.httpd.aliases
366
+
)
367
+
++ cfg.httpd.extraArgs
368
+
);
346
369
Restart = lib.mkDefault "on-failure";
347
370
RestartSec = "10";
348
371
SocketBindAllow = [ "tcp:${toString cfg.httpd.listenPort}" ];
+311
nixos/modules/services/networking/ifstate.nix
+311
nixos/modules/services/networking/ifstate.nix
···
1
+
{
2
+
lib,
3
+
config,
4
+
pkgs,
5
+
...
6
+
}:
7
+
8
+
let
9
+
cfg = config.networking.ifstate;
10
+
initrdCfg = config.boot.initrd.network.ifstate;
11
+
settingsFormat = {
12
+
# override generator in order to:
13
+
# - use yq and not remarshal because it matches yaml datatype handling with IfState
14
+
# - validate json schema
15
+
generate =
16
+
name: value: package:
17
+
pkgs.runCommand name
18
+
{
19
+
nativeBuildInputs = with pkgs; [
20
+
yq
21
+
check-jsonschema
22
+
];
23
+
value = builtins.toJSON value;
24
+
passAsFile = [ "value" ];
25
+
}
26
+
''
27
+
yq --yaml-output . $valuePath > $out
28
+
check-jsonschema --schemafile "${cfg.package.passthru.jsonschema}" "$out"
29
+
sed -i $'s|\'!include |!include \'|' $out
30
+
'';
31
+
32
+
inherit (pkgs.formats.yaml { }) type;
33
+
};
34
+
initrdInterfaceTypes = builtins.map (interface: interface.link.kind) (
35
+
builtins.attrValues initrdCfg.settings.interfaces
36
+
);
37
+
# IfState interface kind to kernel modules mapping
38
+
interfaceKernelModules = {
39
+
"ifb" = [ "ifb" ];
40
+
"ip6tnl" = [ "ip6tnl" ];
41
+
"ipoib" = [ "ib_ipoib" ];
42
+
"ipvlan" = [ "ipvlan" ];
43
+
"macvlan" = [ "macvlan" ];
44
+
"macvtap" = [ "macvtap" ];
45
+
"team" = [ "team" ];
46
+
"tun" = [ "tun" ];
47
+
"vrf" = [ "vrf" ];
48
+
"vti" = [ "ip_vti" ];
49
+
"vti6" = [ "ip6_vti" ];
50
+
"bond" = [ "bonding" ];
51
+
"bridge" = [ "bridge" ];
52
+
# "physical" = ...;
53
+
"dsa" = [ "dsa_core" ];
54
+
"dummy" = [ "dummy" ];
55
+
"veth" = [ "veth" ];
56
+
"vxcan" = [ "vxcan" ];
57
+
"vlan" = [ "8021q" ];
58
+
"vxlan" = [ "vxlan" ];
59
+
"ipip" = [ "ipip" ];
60
+
"sit" = [ "sit" ];
61
+
"gre" = [ "ip_gre" ];
62
+
"gretap" = [ "ip_gre" ];
63
+
"ip6gre" = [ "ip6_gre" ];
64
+
"ip6gretap" = [ "ip6_gre" ];
65
+
"geneve" = [ "geneve" ];
66
+
"wireguard" = [ "wireguard" ];
67
+
"xfrm" = [ "xfrm_interface" ];
68
+
};
69
+
in
70
+
{
71
+
meta.maintainers = with lib.maintainers; [ marcel ];
72
+
73
+
options = {
74
+
networking.ifstate = {
75
+
enable = lib.mkEnableOption "networking using IfState";
76
+
77
+
package = lib.mkPackageOption pkgs "ifstate" { };
78
+
79
+
settings = lib.mkOption {
80
+
inherit (settingsFormat) type;
81
+
default = { };
82
+
description = "Content of IfState's configuration file. See <https://ifstate.net/2.0/schema/> for details.";
83
+
};
84
+
};
85
+
86
+
boot.initrd.network.ifstate = {
87
+
enable = lib.mkEnableOption "initrd networking using IfState";
88
+
89
+
allowIfstateToDrasticlyIncreaseInitrdSize = lib.mkOption {
90
+
type = lib.types.bool;
91
+
default = false;
92
+
description = "IfState in initrd drastically increases the size of initrd, your boot partition may be too small and/or you may have significantly fewer generations. By setting this option, you acknowledge this fact and keep it in mind when reporting issues.";
93
+
};
94
+
95
+
package = lib.mkOption {
96
+
type = lib.types.package;
97
+
default = cfg.package.override {
98
+
withConfigValidation = false;
99
+
withWireguard = false;
100
+
};
101
+
defaultText = lib.literalExpression "pkgs.ifstate.override { withConfigValidation = false; withWireguard = false; }";
102
+
description = "The initrd IfState package to use.";
103
+
};
104
+
105
+
settings = lib.mkOption {
106
+
inherit (settingsFormat) type;
107
+
default = { };
108
+
description = "Content of IfState's initrd configuration file. See <https://ifstate.net/2.0/schema/> for details.";
109
+
};
110
+
111
+
cleanupSettings = lib.mkOption {
112
+
inherit (settingsFormat) type;
113
+
default = {
114
+
# required by json schema
115
+
interfaces = { };
116
+
# https://codeberg.org/liske/ifstate/issues/118
117
+
namespaces = { };
118
+
};
119
+
description = "Content of IfState's initrd cleanup configuration file. See <https://ifstate.net/2.0/schema/> for details. This configuration gets applied before systemd switches to stage two. The goas is to deconfigurate the whole network in order to prevent access to services, before the firewall is configured. The stage two IfState configuration will start after the firewall is configured.";
120
+
};
121
+
};
122
+
};
123
+
124
+
config = lib.mkMerge [
125
+
(lib.mkIf cfg.enable {
126
+
assertions = [
127
+
{
128
+
assertion = !config.networking.networkmanager.enable;
129
+
message = "IfState and NetworkManager cannot be used at the same time, as both configure the network in a conflicting manner.";
130
+
}
131
+
{
132
+
assertion = !config.networking.useDHCP;
133
+
message = "IfState and networking.useDHCP cannot be used at the same time, as both configure the network. Please look into IfState hooks to integrate DHCP: https://codeberg.org/liske/ifstate/issues/111";
134
+
}
135
+
];
136
+
137
+
networking.useDHCP = lib.mkDefault false;
138
+
139
+
# sane defaults to not let IfState work against the kernel
140
+
boot.extraModprobeConfig = ''
141
+
options bonding max_bonds=0
142
+
options dummy numdummies=0
143
+
options ifb numifbs=0
144
+
'';
145
+
146
+
environment = {
147
+
# ifstatecli command should be available to use user, there are other useful subcommands like check or show
148
+
systemPackages = [ cfg.package ];
149
+
# match the default value of the --config flag of IfState
150
+
etc."ifstate/ifstate.yaml".source = settingsFormat.generate "ifstate.yaml" cfg.settings cfg.package;
151
+
};
152
+
153
+
systemd.services.ifstate = {
154
+
description = "IfState";
155
+
156
+
wantedBy = [
157
+
"multi-user.target"
158
+
];
159
+
after = [
160
+
"systemd-udevd.service"
161
+
"network-pre.target"
162
+
"systemd-sysusers.service"
163
+
"systemd-sysctl.service"
164
+
];
165
+
before = [
166
+
"network.target"
167
+
"multi-user.target"
168
+
"shutdown.target"
169
+
"initrd-switch-root.target"
170
+
];
171
+
conflicts = [
172
+
"shutdown.target"
173
+
"initrd-switch-root.target"
174
+
];
175
+
wants = [
176
+
"network.target"
177
+
];
178
+
179
+
# mount is always available on nixos, avoid adding additional store paths to the closure
180
+
path = [ "/run/wrappers" ];
181
+
182
+
serviceConfig = {
183
+
Type = "oneshot";
184
+
ExecStart = "${lib.getExe cfg.package} --config ${
185
+
config.environment.etc."ifstate/ifstate.yaml".source
186
+
} apply";
187
+
# because oneshot services do not have a timeout by default
188
+
TimeoutStartSec = "2min";
189
+
};
190
+
};
191
+
})
192
+
(lib.mkIf initrdCfg.enable {
193
+
assertions = [
194
+
{
195
+
assertion =
196
+
initrdCfg.package.passthru.features.withWireguard
197
+
|| !(builtins.any (kind: kind == "wireguard") initrdInterfaceTypes);
198
+
message = "IfState initrd package is configured without the `wireguard` feature, but wireguard interfaces are configured. Please see the `boot.initrd.network.ifstate.package` option.";
199
+
}
200
+
{
201
+
assertion = initrdCfg.allowIfstateToDrasticlyIncreaseInitrdSize;
202
+
message = "IfState in initrd drastically increases the size of initrd, your boot partition may be too small and/or you may have significantly fewer generations. By setting boot.initrd.network.initrd.allowIfstateToDrasticlyIncreaseInitrdSize to true, you acknowledge this fact and keep it in mind when reporting issues.";
203
+
}
204
+
{
205
+
assertion = cfg.enable;
206
+
message = "If IfState is used in initrd, it should also be used for the stage 2 system (networking.ifstate), as initrd IfState does not clean up the network stack like it was before after execution.";
207
+
}
208
+
{
209
+
assertion = config.boot.initrd.systemd.enable;
210
+
message = "IfState only supports systemd stage one. See `boot.initrd.systemd.enable` option.";
211
+
}
212
+
];
213
+
214
+
environment.etc = {
215
+
"ifstate/ifstate.initrd.yaml".source =
216
+
settingsFormat.generate "ifstate.initrd.yaml" initrdCfg.settings
217
+
initrdCfg.package;
218
+
"ifstate/ifstate.initrd-cleanup.yaml".source =
219
+
settingsFormat.generate "ifstate.initrd-cleanup.yaml" initrdCfg.cleanupSettings
220
+
initrdCfg.package;
221
+
};
222
+
223
+
boot.initrd = {
224
+
network.udhcpc.enable = lib.mkDefault false;
225
+
226
+
# automatic configuration of kernel modules of virtual interface types
227
+
availableKernelModules =
228
+
let
229
+
enableModule =
230
+
type:
231
+
if builtins.hasAttr type interfaceKernelModules then interfaceKernelModules."${type}" else [ ];
232
+
in
233
+
lib.flatten (builtins.map enableModule initrdInterfaceTypes);
234
+
235
+
systemd = {
236
+
storePaths = [
237
+
(pkgs.runCommand "ifstate-closure"
238
+
{
239
+
info = pkgs.closureInfo {
240
+
rootPaths = [
241
+
initrdCfg.package
242
+
# copy whole config closure, because it can reference other files using !include
243
+
config.environment.etc."ifstate/ifstate.initrd.yaml".source
244
+
config.environment.etc."ifstate/ifstate.initrd-cleanup.yaml".source
245
+
];
246
+
};
247
+
}
248
+
''
249
+
mkdir $out
250
+
cat "$info"/store-paths | while read path; do
251
+
ln -s "$path" "$out/$(basename "$path")"
252
+
done
253
+
''
254
+
)
255
+
];
256
+
257
+
services.ifstate-initrd = {
258
+
description = "IfState initrd";
259
+
260
+
wantedBy = [
261
+
"initrd.target"
262
+
];
263
+
after = [
264
+
"systemd-udevd.service"
265
+
"network-pre.target"
266
+
"systemd-sysusers.service"
267
+
"systemd-sysctl.service"
268
+
];
269
+
before = [
270
+
"network.target"
271
+
"multi-user.target"
272
+
"shutdown.target"
273
+
"initrd-switch-root.target"
274
+
];
275
+
conflicts = [
276
+
"shutdown.target"
277
+
"initrd-switch-root.target"
278
+
];
279
+
wants = [
280
+
"network.target"
281
+
];
282
+
283
+
# mount is always available on nixos, avoid adding additional store paths to the closure
284
+
# https://github.com/NixOS/nixpkgs/blob/2b8e2457ebe576ebf41ddfa8452b5b07a8d493ad/nixos/modules/system/boot/systemd/initrd.nix#L550-L551
285
+
path = [
286
+
config.boot.initrd.systemd.package.util-linux
287
+
];
288
+
289
+
serviceConfig = {
290
+
Type = "oneshot";
291
+
# Otherwise systemd starts ifstate again, after the encryption password was entered by the user
292
+
# and we are able to implement the cleanup using ExecStop rather than a separate unit.
293
+
RemainAfterExit = true;
294
+
# When using network namespaces pyroute2 expects this directory to exists.
295
+
# @liske is currently investigating whether this should be considered a bug in pyroute2.
296
+
ExecStartPre = "${lib.getExe' pkgs.coreutils "mkdir"} /var/run";
297
+
ExecStart = "${lib.getExe initrdCfg.package} --config ${
298
+
config.environment.etc."ifstate/ifstate.initrd.yaml".source
299
+
} apply";
300
+
ExecStop = "${lib.getExe initrdCfg.package} --config ${
301
+
config.environment.etc."ifstate/ifstate.initrd-cleanup.yaml".source
302
+
} apply";
303
+
# because oneshot services do not have a timeout by default
304
+
TimeoutStartSec = "2min";
305
+
};
306
+
};
307
+
};
308
+
};
309
+
})
310
+
];
311
+
}
+10
-1
nixos/modules/services/web-apps/glitchtip.nix
+10
-1
nixos/modules/services/web-apps/glitchtip.nix
···
58
58
default = 8000;
59
59
};
60
60
61
+
stateDir = lib.mkOption {
62
+
type = lib.types.path;
63
+
description = "State directory of glitchtip.";
64
+
default = "/var/lib/glitchtip";
65
+
};
66
+
61
67
settings = lib.mkOption {
62
68
description = ''
63
69
Configuration of GlitchTip. See <https://glitchtip.com/documentation/install#configuration> for more information.
···
189
195
StateDirectory = "glitchtip";
190
196
EnvironmentFile = cfg.environmentFiles;
191
197
WorkingDirectory = "${pkg}/lib/glitchtip";
198
+
BindPaths = [ "${cfg.stateDir}/uploads:${pkg}/lib/glitchtip/uploads" ];
192
199
193
200
# hardening
194
201
AmbientCapabilities = "";
···
220
227
"@system-service"
221
228
"~@privileged"
222
229
"~@resources"
230
+
"@chown"
223
231
];
224
232
UMask = "0077";
225
233
};
···
271
279
272
280
users.users = lib.mkIf (cfg.user == "glitchtip") {
273
281
glitchtip = {
274
-
home = "/var/lib/glitchtip";
275
282
group = cfg.group;
276
283
extraGroups = lib.optionals cfg.redis.createLocally [ "redis-glitchtip" ];
277
284
isSystemUser = true;
···
279
286
};
280
287
281
288
users.groups = lib.mkIf (cfg.group == "glitchtip") { glitchtip = { }; };
289
+
290
+
systemd.tmpfiles.settings.glitchtip."${cfg.stateDir}/uploads".d = { inherit (cfg) user group; };
282
291
283
292
environment.systemPackages =
284
293
let
+6
-1
nixos/tests/all-tests.nix
+6
-1
nixos/tests/all-tests.nix
···
210
210
amd-sev = runTest ./amd-sev.nix;
211
211
android-translation-layer = runTest ./android-translation-layer.nix;
212
212
angie-api = runTest ./angie-api.nix;
213
+
angrr = runTest ./angrr.nix;
213
214
anki-sync-server = runTest ./anki-sync-server.nix;
214
215
anubis = runTest ./anubis.nix;
215
216
anuko-time-tracker = runTest ./anuko-time-tracker.nix;
···
735
736
i3wm = runTest ./i3wm.nix;
736
737
icingaweb2 = runTest ./icingaweb2.nix;
737
738
ifm = runTest ./ifm.nix;
739
+
ifstate = import ./ifstate { inherit runTest; };
738
740
iftop = runTest ./iftop.nix;
739
741
immich = runTest ./web-apps/immich.nix;
740
742
immich-vectorchord-migration = runTest ./web-apps/immich-vectorchord-migration.nix;
···
1035
1037
nix-config = runTest ./nix-config.nix;
1036
1038
nix-ld = runTest ./nix-ld.nix;
1037
1039
nix-misc = handleTest ./nix/misc.nix { };
1038
-
nix-upgrade = handleTest ./nix/upgrade.nix { inherit (pkgs) nixVersions; };
1040
+
nix-upgrade = handleTest ./nix/upgrade.nix {
1041
+
inherit (pkgs) nixVersions;
1042
+
inherit system;
1043
+
};
1039
1044
nix-required-mounts = runTest ./nix-required-mounts;
1040
1045
nix-serve = runTest ./nix-serve.nix;
1041
1046
nix-serve-ssh = runTest ./nix-serve-ssh.nix;
+63
nixos/tests/angrr.nix
+63
nixos/tests/angrr.nix
···
1
+
{ ... }:
2
+
{
3
+
name = "angrr";
4
+
nodes = {
5
+
machine = {
6
+
services.angrr = {
7
+
enable = true;
8
+
period = "7d";
9
+
};
10
+
# `angrr.service` integrates to `nix-gc.service` by default
11
+
nix.gc.automatic = true;
12
+
13
+
# Create a normal nix user for test
14
+
users.users.normal.isNormalUser = true;
15
+
# For `nix build /run/current-system --out-link`,
16
+
# `nix-build` does not support this use case.
17
+
nix.settings.experimental-features = [ "nix-command" ];
18
+
};
19
+
};
20
+
21
+
testScript = ''
22
+
start_all()
23
+
24
+
machine.wait_for_unit("default.target")
25
+
26
+
machine.systemctl("stop nix-gc.timer")
27
+
28
+
# Creates some auto gc roots
29
+
# Use /run/current-system so that we do not need to build anything new
30
+
machine.succeed("nix build /run/current-system --out-link /tmp/root-auto-gc-root-1")
31
+
machine.succeed("nix build /run/current-system --out-link /tmp/root-auto-gc-root-2")
32
+
machine.succeed("su normal --command 'nix build /run/current-system --out-link /tmp/user-auto-gc-root-1'")
33
+
machine.succeed("su normal --command 'nix build /run/current-system --out-link /tmp/user-auto-gc-root-2'")
34
+
35
+
machine.systemctl("start nix-gc.service")
36
+
# Not auto gc root will be removed
37
+
machine.succeed("readlink /tmp/root-auto-gc-root-1")
38
+
machine.succeed("readlink /tmp/root-auto-gc-root-2")
39
+
machine.succeed("readlink /tmp/user-auto-gc-root-1")
40
+
machine.succeed("readlink /tmp/user-auto-gc-root-2")
41
+
42
+
# Change time to 8 days after (greater than 7d)
43
+
machine.succeed("date -s '8 days'")
44
+
45
+
# Touch GC roots `-2`
46
+
machine.succeed("touch /tmp/root-auto-gc-root-2 --no-dereference")
47
+
machine.succeed("touch /tmp/user-auto-gc-root-2 --no-dereference")
48
+
49
+
machine.systemctl("start nix-gc.service")
50
+
# Only GC roots `-1` are removed
51
+
machine.succeed("test ! -f /tmp/root-auto-gc-root-1")
52
+
machine.succeed("readlink /tmp/root-auto-gc-root-2")
53
+
machine.succeed("test ! -f /tmp/user-auto-gc-root-1")
54
+
machine.succeed("readlink /tmp/user-auto-gc-root-2")
55
+
56
+
# Change time again
57
+
machine.succeed("date -s '8 days'")
58
+
machine.systemctl("start nix-gc.service")
59
+
# All auto GC roots are removed
60
+
machine.succeed("test ! -f /tmp/root-auto-gc-root-2")
61
+
machine.succeed("test ! -f /tmp/user-auto-gc-root-2")
62
+
'';
63
+
}
+57
-46
nixos/tests/glitchtip.nix
+57
-46
nixos/tests/glitchtip.nix
···
42
42
];
43
43
};
44
44
45
-
testScript = ''
46
-
import json
47
-
import re
48
-
import time
45
+
testScript =
46
+
{ nodes, ... }: # python
47
+
''
48
+
import json
49
+
import re
50
+
import time
49
51
50
-
machine.wait_for_unit("glitchtip.service")
51
-
machine.wait_for_unit("glitchtip-worker.service")
52
-
machine.wait_for_open_port(8000)
52
+
machine.wait_for_unit("glitchtip.service")
53
+
machine.wait_for_unit("glitchtip-worker.service")
54
+
machine.wait_for_open_port(8000)
53
55
54
-
origin_url = "${domain}"
55
-
cookie_jar_path = "/tmp/cookies.txt"
56
-
curl = f"curl -b {cookie_jar_path} -c {cookie_jar_path} -fS -H 'Origin: {origin_url}'"
56
+
origin_url = "${domain}"
57
+
cookie_jar_path = "/tmp/cookies.txt"
58
+
curl = f"curl -b {cookie_jar_path} -c {cookie_jar_path} -fS -H 'Origin: {origin_url}'"
57
59
58
-
# create superuser account
59
-
machine.succeed("DJANGO_SUPERUSER_PASSWORD=password glitchtip-manage createsuperuser --no-input --email=admin@example.com")
60
+
# create superuser account
61
+
machine.succeed("DJANGO_SUPERUSER_PASSWORD=password glitchtip-manage createsuperuser --no-input --email=admin@example.com")
60
62
61
-
# login
62
-
machine.fail(f"{curl} -s {origin_url}/_allauth/browser/v1/auth/session") # get the csrf token, returns a 401
63
-
csrf_token = machine.succeed(f"grep csrftoken {cookie_jar_path} | cut -f7").rstrip()
64
-
machine.succeed(f"{curl} {origin_url}/_allauth/browser/v1/auth/login -s -H 'X-Csrftoken: {csrf_token}' -H 'Content-Type: application/json' -d '{{\"email\": \"admin@example.com\", \"password\": \"password\"}}'")
63
+
# login
64
+
machine.fail(f"{curl} -s {origin_url}/_allauth/browser/v1/auth/session") # get the csrf token, returns a 401
65
+
csrf_token = machine.succeed(f"grep csrftoken {cookie_jar_path} | cut -f7").rstrip()
66
+
machine.succeed(f"{curl} {origin_url}/_allauth/browser/v1/auth/login -s -H 'X-Csrftoken: {csrf_token}' -H 'Content-Type: application/json' -d '{{\"email\": \"admin@example.com\", \"password\": \"password\"}}'")
65
67
66
-
resp = json.loads(machine.succeed(f"{curl} {origin_url}/api/0/users/me/"))
67
-
assert resp["email"] == "admin@example.com"
68
-
assert resp["isSuperuser"] is True
68
+
resp = json.loads(machine.succeed(f"{curl} {origin_url}/api/0/users/me/"))
69
+
assert resp["email"] == "admin@example.com"
70
+
assert resp["isSuperuser"] is True
69
71
70
-
# create organization
71
-
csrf_token = machine.succeed(f"grep csrftoken {cookie_jar_path} | cut -f7").rstrip()
72
-
machine.succeed(f"{curl} {origin_url}/api/0/organizations/ -s -H 'X-Csrftoken: {csrf_token}' -H 'Content-Type: application/json' -d '{{\"name\": \"main\"}}'")
72
+
# create organization
73
+
csrf_token = machine.succeed(f"grep csrftoken {cookie_jar_path} | cut -f7").rstrip()
74
+
machine.succeed(f"{curl} {origin_url}/api/0/organizations/ -s -H 'X-Csrftoken: {csrf_token}' -H 'Content-Type: application/json' -d '{{\"name\": \"main\"}}'")
75
+
76
+
resp = json.loads(machine.succeed(f"{curl} {origin_url}/api/0/organizations/"))
77
+
assert len(resp) == 1
78
+
assert resp[0]["name"] == "main"
79
+
assert resp[0]["slug"] == "main"
80
+
81
+
# create team
82
+
csrf_token = machine.succeed(f"grep csrftoken {cookie_jar_path} | cut -f7").rstrip()
83
+
machine.succeed(f"{curl} {origin_url}/api/0/organizations/main/teams/ -s -H 'X-Csrftoken: {csrf_token}' -H 'Content-Type: application/json' -d '{{\"slug\": \"test\"}}'")
73
84
74
-
resp = json.loads(machine.succeed(f"{curl} {origin_url}/api/0/organizations/"))
75
-
assert len(resp) == 1
76
-
assert resp[0]["name"] == "main"
77
-
assert resp[0]["slug"] == "main"
85
+
# create project
86
+
csrf_token = machine.succeed(f"grep csrftoken {cookie_jar_path} | cut -f7").rstrip()
87
+
machine.succeed(f"{curl} {origin_url}/api/0/teams/main/test/projects/ -s -H 'X-Csrftoken: {csrf_token}' -H 'Content-Type: application/json' -d '{{\"name\": \"test\"}}'")
78
88
79
-
# create team
80
-
csrf_token = machine.succeed(f"grep csrftoken {cookie_jar_path} | cut -f7").rstrip()
81
-
machine.succeed(f"{curl} {origin_url}/api/0/organizations/main/teams/ -s -H 'X-Csrftoken: {csrf_token}' -H 'Content-Type: application/json' -d '{{\"slug\": \"test\"}}'")
89
+
# fetch dsn
90
+
resp = json.loads(machine.succeed(f"{curl} {origin_url}/api/0/projects/main/test/keys/"))
91
+
assert len(resp) == 1
92
+
assert re.match(r"^http://[\da-f]+@glitchtip\.local:8000/\d+$", dsn := resp[0]["dsn"]["public"])
82
93
83
-
# create project
84
-
csrf_token = machine.succeed(f"grep csrftoken {cookie_jar_path} | cut -f7").rstrip()
85
-
machine.succeed(f"{curl} {origin_url}/api/0/teams/main/test/projects/ -s -H 'X-Csrftoken: {csrf_token}' -H 'Content-Type: application/json' -d '{{\"name\": \"test\"}}'")
94
+
# send event
95
+
machine.succeed(f"SENTRY_DSN={dsn} sentry-cli send-event -m 'hello world'")
86
96
87
-
# fetch dsn
88
-
resp = json.loads(machine.succeed(f"{curl} {origin_url}/api/0/projects/main/test/keys/"))
89
-
assert len(resp) == 1
90
-
assert re.match(r"^http://[\da-f]+@glitchtip\.local:8000/\d+$", dsn := resp[0]["dsn"]["public"])
97
+
for _ in range(20):
98
+
resp = json.loads(machine.succeed(f"{curl} {origin_url}/api/0/organizations/main/issues/?query=is:unresolved"))
99
+
if len(resp) != 0: break
100
+
time.sleep(1)
101
+
assert len(resp) == 1
102
+
assert resp[0]["title"] == "hello world"
103
+
assert int(resp[0]["count"]) == 1
91
104
92
-
# send event
93
-
machine.succeed(f"SENTRY_DSN={dsn} sentry-cli send-event -m 'hello world'")
105
+
# create api token
106
+
csrf_token = machine.succeed(f"grep csrftoken {cookie_jar_path} | cut -f7").rstrip()
107
+
resp = json.loads(machine.succeed(f"{curl} {origin_url}/api/0/api-tokens/ -s -H 'X-Csrftoken: {csrf_token}' -H 'Content-Type: application/json' -d '{{\"label\":\"token\",\"scopes\":[\"project:write\"]}}'"))
108
+
token = resp["token"]
94
109
95
-
for _ in range(20):
96
-
resp = json.loads(machine.succeed(f"{curl} {origin_url}/api/0/organizations/main/issues/?query=is:unresolved"))
97
-
if len(resp) != 0: break
98
-
time.sleep(1)
99
-
assert len(resp) == 1
100
-
assert resp[0]["title"] == "hello world"
101
-
assert int(resp[0]["count"]) == 1
102
-
'';
110
+
# upload sourcemaps
111
+
machine.succeed(f"sentry-cli --url {origin_url} --auth-token {token} sourcemaps upload --org main --project test ${nodes.machine.services.glitchtip.package.frontend}/*.map")
112
+
assert machine.succeed("ls /var/lib/glitchtip/uploads/file_blobs/").strip()
113
+
'';
103
114
}
+10
nixos/tests/ifstate/default.nix
+10
nixos/tests/ifstate/default.nix
···
1
+
{ runTest }:
2
+
3
+
{
4
+
initrd = runTest ./initrd.nix;
5
+
initrd-partial-broken-config = runTest ./initrd-partial-broken-config.nix;
6
+
initrd-wireguard = runTest ./initrd-wireguard.nix;
7
+
partial-broken-config = runTest ./partial-broken-config.nix;
8
+
ping = runTest ./ping.nix;
9
+
wireguard = runTest ./wireguard.nix;
10
+
}
+79
nixos/tests/ifstate/initrd-partial-broken-config.nix
+79
nixos/tests/ifstate/initrd-partial-broken-config.nix
···
1
+
let
2
+
mkIfStateConfig = id: {
3
+
enable = true;
4
+
settings.interfaces.eth1 = {
5
+
addresses = [ "2001:0db8::${builtins.toString id}/64" ];
6
+
link = {
7
+
state = "up";
8
+
kind = "physical";
9
+
};
10
+
};
11
+
};
12
+
in
13
+
{
14
+
name = "ifstate-initrd-partial-broken-config";
15
+
16
+
nodes = {
17
+
server =
18
+
{ lib, ... }:
19
+
{
20
+
imports = [ ../../modules/profiles/minimal.nix ];
21
+
22
+
virtualisation.interfaces.eth1.vlan = 1;
23
+
24
+
# Initrd IfState enforces stage 2 ifstate using assertion.
25
+
networking.ifstate = {
26
+
enable = true;
27
+
settings.interfaces = { };
28
+
};
29
+
30
+
boot.initrd = {
31
+
network = {
32
+
enable = true;
33
+
ifstate = lib.mkMerge [
34
+
(mkIfStateConfig 1)
35
+
{
36
+
allowIfstateToDrasticlyIncreaseInitrdSize = true;
37
+
38
+
# non-existent interface; ifstate should apply eth1 and do not distrupt the boot process
39
+
settings.interfaces.eth2 = {
40
+
addresses = [ "2001:0db8:b::dead:beef/64" ];
41
+
link = {
42
+
state = "up";
43
+
kind = "physical";
44
+
};
45
+
};
46
+
}
47
+
];
48
+
};
49
+
systemd = {
50
+
enable = true;
51
+
network.enable = false;
52
+
services.boot-blocker = {
53
+
before = [ "initrd.target" ];
54
+
wantedBy = [ "initrd.target" ];
55
+
script = "sleep infinity";
56
+
serviceConfig.Type = "oneshot";
57
+
};
58
+
};
59
+
};
60
+
};
61
+
62
+
client = {
63
+
imports = [ ../../modules/profiles/minimal.nix ];
64
+
65
+
virtualisation.interfaces.eth1.vlan = 1;
66
+
67
+
networking.ifstate = mkIfStateConfig 2;
68
+
};
69
+
};
70
+
71
+
testScript = # python
72
+
''
73
+
start_all()
74
+
client.wait_for_unit("network.target")
75
+
76
+
# try to ping the server from the client
77
+
client.wait_until_succeeds("ping -c 1 2001:0db8::1")
78
+
'';
79
+
}
+121
nixos/tests/ifstate/initrd-wireguard.nix
+121
nixos/tests/ifstate/initrd-wireguard.nix
···
1
+
let
2
+
mkNodeIfStateConfig =
3
+
{
4
+
pkgs,
5
+
id,
6
+
wgPriv,
7
+
wgPeerPubKey,
8
+
wgPeerId,
9
+
}:
10
+
{
11
+
enable = true;
12
+
settings = {
13
+
namespaces.outside.interfaces.eth1 = {
14
+
addresses = [ "2001:0db8:a::${builtins.toString id}/64" ];
15
+
link = {
16
+
state = "up";
17
+
kind = "physical";
18
+
};
19
+
};
20
+
interfaces = {
21
+
wg0 = {
22
+
addresses = [ "2001:0db8:b::${builtins.toString id}/64" ];
23
+
link = {
24
+
state = "up";
25
+
kind = "wireguard";
26
+
bind_netns = "outside";
27
+
};
28
+
wireguard = {
29
+
private_key = "!include ${pkgs.writeText "wg_priv.key" wgPriv}";
30
+
listen_port = 51820;
31
+
peers."${wgPeerPubKey}" = {
32
+
endpoint = "[2001:0db8:a::${builtins.toString wgPeerId}]:51820";
33
+
allowedips = [ "::/0" ];
34
+
};
35
+
};
36
+
};
37
+
};
38
+
routing.routes = [
39
+
{
40
+
to = "2001:0db8:b::/64";
41
+
dev = "wg0";
42
+
}
43
+
];
44
+
};
45
+
};
46
+
in
47
+
{
48
+
name = "ifstate-initrd-wireguard";
49
+
50
+
nodes = {
51
+
foo =
52
+
{ pkgs, ... }:
53
+
{
54
+
imports = [ ../../modules/profiles/minimal.nix ];
55
+
56
+
virtualisation.interfaces.eth1.vlan = 1;
57
+
58
+
# Initrd IfState enforces stage 2 ifstate using assertion.
59
+
networking.ifstate = {
60
+
enable = true;
61
+
settings.interfaces = { };
62
+
};
63
+
64
+
boot.initrd = {
65
+
network = {
66
+
enable = true;
67
+
ifstate =
68
+
mkNodeIfStateConfig {
69
+
inherit pkgs;
70
+
id = 1;
71
+
wgPriv = "6KmLyTyrN9OZIOCkdpiAwoVoeSiwvyI+mtn1wooKSEU=";
72
+
wgPeerPubKey = "olFuE7u5pVwSeWLFtrXSvD8+aCDBiKNKCLjLb/dgXiA=";
73
+
wgPeerId = 2;
74
+
}
75
+
// {
76
+
package = pkgs.ifstate.override {
77
+
withConfigValidation = false;
78
+
};
79
+
allowIfstateToDrasticlyIncreaseInitrdSize = true;
80
+
};
81
+
};
82
+
systemd = {
83
+
enable = true;
84
+
network.enable = false;
85
+
services.boot-blocker = {
86
+
before = [ "initrd.target" ];
87
+
wantedBy = [ "initrd.target" ];
88
+
script = "sleep infinity";
89
+
serviceConfig.Type = "oneshot";
90
+
};
91
+
};
92
+
};
93
+
};
94
+
95
+
bar =
96
+
{ pkgs, ... }:
97
+
{
98
+
imports = [ ../../modules/profiles/minimal.nix ];
99
+
100
+
virtualisation.interfaces.eth1.vlan = 1;
101
+
102
+
networking = {
103
+
ifstate = mkNodeIfStateConfig {
104
+
inherit pkgs;
105
+
id = 2;
106
+
wgPriv = "QN89cvFD0C8z1MSpUaJa1YBXt2MaIQegVkEYROi71Fg=";
107
+
wgPeerPubKey = "5qeKbAGc7wh9Xg0MoMXqXCSmp9TawmtI1bVk/vp3Cn4=";
108
+
wgPeerId = 1;
109
+
};
110
+
};
111
+
};
112
+
};
113
+
testScript = # python
114
+
''
115
+
start_all()
116
+
117
+
bar.wait_for_unit("default.target")
118
+
119
+
bar.wait_until_succeeds("ping -c 1 2001:0db8:b::1")
120
+
'';
121
+
}
+65
nixos/tests/ifstate/initrd.nix
+65
nixos/tests/ifstate/initrd.nix
···
1
+
let
2
+
mkIfStateConfig = id: {
3
+
enable = true;
4
+
settings.interfaces.eth1 = {
5
+
addresses = [ "2001:0db8::${builtins.toString id}/64" ];
6
+
link = {
7
+
state = "up";
8
+
kind = "physical";
9
+
};
10
+
};
11
+
};
12
+
in
13
+
{
14
+
name = "ifstate-initrd";
15
+
16
+
nodes = {
17
+
server = {
18
+
imports = [ ../../modules/profiles/minimal.nix ];
19
+
20
+
virtualisation.interfaces.eth1.vlan = 1;
21
+
22
+
# Initrd IfState enforces stage 2 ifstate using assertion.
23
+
networking.ifstate = {
24
+
enable = true;
25
+
settings.interfaces = { };
26
+
};
27
+
28
+
boot.initrd = {
29
+
network = {
30
+
enable = true;
31
+
ifstate = mkIfStateConfig 1 // {
32
+
allowIfstateToDrasticlyIncreaseInitrdSize = true;
33
+
};
34
+
};
35
+
systemd = {
36
+
enable = true;
37
+
network.enable = false;
38
+
services.boot-blocker = {
39
+
before = [ "initrd.target" ];
40
+
wantedBy = [ "initrd.target" ];
41
+
script = "sleep infinity";
42
+
serviceConfig.Type = "oneshot";
43
+
};
44
+
};
45
+
};
46
+
};
47
+
48
+
client = {
49
+
imports = [ ../../modules/profiles/minimal.nix ];
50
+
51
+
virtualisation.interfaces.eth1.vlan = 1;
52
+
53
+
networking.ifstate = mkIfStateConfig 2;
54
+
};
55
+
};
56
+
57
+
testScript = # python
58
+
''
59
+
start_all()
60
+
client.wait_for_unit("network.target")
61
+
62
+
# try to ping the server from the client
63
+
client.wait_until_succeeds("ping -c 1 2001:0db8::1")
64
+
'';
65
+
}
+39
nixos/tests/ifstate/partial-broken-config.nix
+39
nixos/tests/ifstate/partial-broken-config.nix
···
1
+
{
2
+
name = "ifstate-partial-broken-config";
3
+
4
+
nodes.machine = {
5
+
imports = [ ../../modules/profiles/minimal.nix ];
6
+
7
+
virtualisation.interfaces.eth1.vlan = 1;
8
+
9
+
networking.ifstate = {
10
+
enable = true;
11
+
settings.interfaces = {
12
+
eth1 = {
13
+
addresses = [ "2001:0db8:a::1/64" ];
14
+
link = {
15
+
state = "up";
16
+
kind = "physical";
17
+
};
18
+
};
19
+
# non-existent interface; ifstate should apply eth1 and do not distrupt the boot process
20
+
eth2 = {
21
+
addresses = [ "2001:0db8:b::1/64" ];
22
+
link = {
23
+
state = "up";
24
+
kind = "physical";
25
+
};
26
+
};
27
+
};
28
+
};
29
+
};
30
+
31
+
testScript = # python
32
+
''
33
+
start_all()
34
+
35
+
machine.wait_for_unit("default.target")
36
+
37
+
machine.wait_until_succeeds("ping -c 1 2001:0db8:a::1")
38
+
'';
39
+
}
+38
nixos/tests/ifstate/ping.nix
+38
nixos/tests/ifstate/ping.nix
···
1
+
let
2
+
mkNode = id: {
3
+
imports = [ ../../modules/profiles/minimal.nix ];
4
+
5
+
virtualisation.interfaces.eth1.vlan = 1;
6
+
7
+
networking.ifstate = {
8
+
enable = true;
9
+
settings.interfaces.eth1 = {
10
+
addresses = [ "2001:0db8::${builtins.toString id}/64" ];
11
+
link = {
12
+
state = "up";
13
+
kind = "physical";
14
+
};
15
+
};
16
+
};
17
+
};
18
+
in
19
+
20
+
{
21
+
name = "ifstate-ping";
22
+
23
+
nodes = {
24
+
foo = mkNode 1;
25
+
bar = mkNode 2;
26
+
};
27
+
28
+
testScript = # python
29
+
''
30
+
start_all()
31
+
32
+
foo.wait_for_unit("default.target")
33
+
bar.wait_for_unit("default.target")
34
+
35
+
foo.wait_until_succeeds("ping -c 1 2001:0db8::2")
36
+
bar.wait_until_succeeds("ping -c 1 2001:0db8::1")
37
+
'';
38
+
}
+88
nixos/tests/ifstate/wireguard.nix
+88
nixos/tests/ifstate/wireguard.nix
···
1
+
let
2
+
mkNode =
3
+
{
4
+
id,
5
+
wgPriv,
6
+
wgPeerPubKey,
7
+
wgPeerId,
8
+
}:
9
+
(
10
+
{ pkgs, ... }:
11
+
{
12
+
imports = [ ../../modules/profiles/minimal.nix ];
13
+
14
+
virtualisation.interfaces.eth1.vlan = 1;
15
+
16
+
networking = {
17
+
firewall.interfaces.eth1.allowedUDPPorts = [ 51820 ];
18
+
19
+
ifstate = {
20
+
enable = true;
21
+
settings = {
22
+
namespaces.outside.interfaces.eth1 = {
23
+
addresses = [ "2001:0db8:a::${builtins.toString id}/64" ];
24
+
link = {
25
+
state = "up";
26
+
kind = "physical";
27
+
};
28
+
};
29
+
interfaces = {
30
+
wg0 = {
31
+
addresses = [ "2001:0db8:b::${builtins.toString id}/64" ];
32
+
link = {
33
+
state = "up";
34
+
kind = "wireguard";
35
+
bind_netns = "outside";
36
+
};
37
+
wireguard = {
38
+
private_key = "!include ${pkgs.writeText "wg_priv.key" wgPriv}";
39
+
listen_port = 51820;
40
+
peers."${wgPeerPubKey}" = {
41
+
endpoint = "[2001:0db8:a::${builtins.toString wgPeerId}]:51820";
42
+
allowedips = [ "::/0" ];
43
+
};
44
+
};
45
+
};
46
+
};
47
+
routing.routes = [
48
+
{
49
+
to = "2001:0db8:b::/64";
50
+
dev = "wg0";
51
+
}
52
+
];
53
+
};
54
+
};
55
+
};
56
+
}
57
+
);
58
+
in
59
+
60
+
{
61
+
name = "ifstate-wireguard";
62
+
63
+
nodes = {
64
+
foo = mkNode {
65
+
id = 1;
66
+
wgPriv = "6KmLyTyrN9OZIOCkdpiAwoVoeSiwvyI+mtn1wooKSEU=";
67
+
wgPeerPubKey = "olFuE7u5pVwSeWLFtrXSvD8+aCDBiKNKCLjLb/dgXiA=";
68
+
wgPeerId = 2;
69
+
};
70
+
bar = mkNode {
71
+
id = 2;
72
+
wgPriv = "QN89cvFD0C8z1MSpUaJa1YBXt2MaIQegVkEYROi71Fg=";
73
+
wgPeerPubKey = "5qeKbAGc7wh9Xg0MoMXqXCSmp9TawmtI1bVk/vp3Cn4=";
74
+
wgPeerId = 1;
75
+
};
76
+
};
77
+
78
+
testScript = # python
79
+
''
80
+
start_all()
81
+
82
+
foo.wait_for_unit("default.target")
83
+
bar.wait_for_unit("default.target")
84
+
85
+
foo.wait_until_succeeds("ping -c 1 2001:0db8:b::2")
86
+
bar.wait_until_succeeds("ping -c 1 2001:0db8:b::1")
87
+
'';
88
+
}
+9
-4
nixos/tests/nix/upgrade.nix
+9
-4
nixos/tests/nix/upgrade.nix
···
1
-
{ pkgs, nixVersions, ... }:
1
+
{
2
+
pkgs,
3
+
nixVersions,
4
+
system,
5
+
...
6
+
}:
2
7
let
3
8
lib = pkgs.lib;
4
9
5
10
fallback-paths-external = pkgs.writeTextDir "fallback-paths.nix" ''
6
11
{
7
-
${pkgs.system} = "${nixVersions.latest}";
12
+
${system} = "${nixVersions.latest}";
8
13
}'';
9
14
10
15
nixos-module = builtins.toFile "nixos-module.nix" ''
···
71
76
if not match: raise Exception("Couldn't find new version in output: " + result)
72
77
73
78
with subtest("nix-build-with-mismatch-daemon"):
74
-
machine.succeed("runuser -u alice -- nix build --expr 'derivation {name =\"test\"; system = \"${pkgs.system}\";builder = \"/bin/sh\"; args = [\"-c\" \"echo test > $out\"];}' --print-out-paths")
79
+
machine.succeed("runuser -u alice -- nix build --expr 'derivation {name =\"test\"; system = \"${system}\";builder = \"/bin/sh\"; args = [\"-c\" \"echo test > $out\"];}' --print-out-paths")
75
80
76
81
77
82
with subtest("remove-new-nix"):
···
94
99
if not match: raise Exception("Couldn't find new version in output: " + result)
95
100
96
101
with subtest("nix-build-with-new-daemon"):
97
-
machine.succeed("runuser -u alice -- nix build --expr 'derivation {name =\"test-new\"; system = \"${pkgs.system}\";builder = \"/bin/sh\"; args = [\"-c\" \"echo test > $out\"];}' --print-out-paths")
102
+
machine.succeed("runuser -u alice -- nix build --expr 'derivation {name =\"test-new\"; system = \"${system}\";builder = \"/bin/sh\"; args = [\"-c\" \"echo test > $out\"];}' --print-out-paths")
98
103
99
104
with subtest("nix-collect-garbage-with-old-nix"):
100
105
machine.succeed("${nixVersions.stable}/bin/nix-collect-garbage")
+3
pkgs/applications/editors/vim/plugins/overrides.nix
+3
pkgs/applications/editors/vim/plugins/overrides.nix
···
638
638
# Requires setup call
639
639
"codecompanion.actions.static"
640
640
"codecompanion.actions.init"
641
+
# Address in use error from fzf-lua on darwin
642
+
# https://github.com/NixOS/nixpkgs/issues/431458
643
+
"codecompanion.providers.actions.fzf_lua"
641
644
# Test
642
645
"minimal"
643
646
];
+2
-2
pkgs/applications/editors/vscode/extensions/default.nix
+2
-2
pkgs/applications/editors/vscode/extensions/default.nix
···
318
318
mktplcRef = {
319
319
name = "vscode-apollo";
320
320
publisher = "apollographql";
321
-
version = "2.6.2";
322
-
hash = "sha256-jS+YPE+D0Q3bw8BCMFseL4xdiW5f6LV7JosgMG3Huo8=";
321
+
version = "2.6.3";
322
+
hash = "sha256-1F0iy5GhpuCqTrP/atoOyD0SWNOwa1sKXH14kN4FXNE=";
323
323
};
324
324
meta = {
325
325
changelog = "https://marketplace.visualstudio.com/items/apollographql.vscode-apollo/changelog";
+2
-2
pkgs/applications/editors/vscode/extensions/ndonfris.fish-lsp/default.nix
+2
-2
pkgs/applications/editors/vscode/extensions/ndonfris.fish-lsp/default.nix
+2
-2
pkgs/applications/networking/cluster/terraform-providers/providers.json
+2
-2
pkgs/applications/networking/cluster/terraform-providers/providers.json
···
153
153
"vendorHash": null
154
154
},
155
155
"azurerm": {
156
-
"hash": "sha256-gwodjIFYg6BTIz3ORzWD6tUn2QXwXMN1KC5mMvxyjdE=",
156
+
"hash": "sha256-rCWT9QmQnobfyqHtb1r/2XIgZEd4eA71eg6ffFQQZOU=",
157
157
"homepage": "https://registry.terraform.io/providers/hashicorp/azurerm",
158
158
"owner": "hashicorp",
159
159
"repo": "terraform-provider-azurerm",
160
-
"rev": "v4.40.0",
160
+
"rev": "v4.42.0",
161
161
"spdx": "MPL-2.0",
162
162
"vendorHash": null
163
163
},
+2
-2
pkgs/applications/virtualization/virt-manager/default.nix
+2
-2
pkgs/applications/virtualization/virt-manager/default.nix
···
34
34
in
35
35
stdenv.mkDerivation rec {
36
36
pname = "virt-manager";
37
-
version = "5.0.0";
37
+
version = "5.1.0";
38
38
39
39
src = fetchFromGitHub {
40
40
owner = pname;
41
41
repo = pname;
42
42
rev = "v${version}";
43
-
hash = "sha256-KtB2VspkA/vFu7I8y6M8WfAoZglxmCeb4Z3OzdsGuvk=";
43
+
hash = "sha256-nMWLDo2pfWcqsVuEk0JbzLZ1a0lViTohsZ8gEXGhBuI=";
44
44
};
45
45
46
46
strictDeps = true;
+2
-2
pkgs/by-name/ac/act/package.nix
+2
-2
pkgs/by-name/ac/act/package.nix
···
8
8
}:
9
9
10
10
let
11
-
version = "0.2.80";
11
+
version = "0.2.81";
12
12
in
13
13
buildGoModule {
14
14
pname = "act";
···
18
18
owner = "nektos";
19
19
repo = "act";
20
20
tag = "v${version}";
21
-
hash = "sha256-DGhZb83q1uC+5xvRTzWUXXKZjnaCP9y/CEu2EaL47I0=";
21
+
hash = "sha256-5HTdvJiX8F6SA2mzlcmzBlx8oiJ72j9Nfg64b6Ob8NQ=";
22
22
};
23
23
24
24
vendorHash = "sha256-v17TglIf+N3GfzHhutNX+nZeqVFheh/cXcCN1VgffT0=";
+50
pkgs/by-name/an/angrr/package.nix
+50
pkgs/by-name/an/angrr/package.nix
···
1
+
{
2
+
lib,
3
+
rustPlatform,
4
+
fetchFromGitHub,
5
+
installShellFiles,
6
+
nixosTests,
7
+
testers,
8
+
nix-update-script,
9
+
}:
10
+
11
+
rustPlatform.buildRustPackage (finalAttrs: {
12
+
pname = "angrr";
13
+
version = "0.1.1";
14
+
15
+
src = fetchFromGitHub {
16
+
owner = "linyinfeng";
17
+
repo = "angrr";
18
+
tag = "v${finalAttrs.version}";
19
+
hash = "sha256-SL4UBDoD0pvpCKokQvKLAcS9cQJaFiA+IjswFARswdM=";
20
+
};
21
+
22
+
cargoHash = "sha256-lo9JpsHkvyrEqFnIiGlU2o4rREeQeqWpe9WMwisvw+4=";
23
+
24
+
nativeBuildInputs = [ installShellFiles ];
25
+
postInstall = ''
26
+
installShellCompletion --cmd angrr \
27
+
--bash <($out/bin/angrr completion bash) \
28
+
--fish <($out/bin/angrr completion fish) \
29
+
--zsh <($out/bin/angrr completion zsh)
30
+
'';
31
+
32
+
passthru = {
33
+
tests = {
34
+
module = nixosTests.angrr;
35
+
version = testers.testVersion {
36
+
package = finalAttrs.finalPackage;
37
+
};
38
+
};
39
+
updateScript = nix-update-script { };
40
+
};
41
+
42
+
meta = {
43
+
description = "Tool for auto Nix GC roots retention";
44
+
homepage = "https://github.com/linyinfeng/angrr";
45
+
license = [ lib.licenses.mit ];
46
+
maintainers = with lib.maintainers; [ yinfeng ];
47
+
platforms = with lib.platforms; linux ++ darwin;
48
+
mainProgram = "angrr";
49
+
};
50
+
})
+3
-3
pkgs/by-name/ba/bakelite/package.nix
+3
-3
pkgs/by-name/ba/bakelite/package.nix
···
7
7
8
8
stdenv.mkDerivation {
9
9
pname = "bakelite";
10
-
version = "0.4.2-unstable-2023-05-30";
10
+
version = "0.4.2-unstable-2024-08-02";
11
11
12
12
src = fetchFromGitHub {
13
13
owner = "richfelker";
14
14
repo = "bakelite";
15
-
rev = "65d69e88e0972d1493ebbd9bf9d1bfde36272636";
16
-
hash = "sha256-OjBw9aYD2h7BWYgQzZp03hGCyQcRgmm2AjrcT/QrQAo=";
15
+
rev = "bc79a16b4414702c579143154d94a86666e99b78";
16
+
hash = "sha256-rRJrtCcgfbqC/4qQiTVeUUcPqoJlNfitYRqIO58AmpA=";
17
17
};
18
18
19
19
hardeningEnable = [ "pie" ];
+2
-2
pkgs/by-name/ba/bant/package.nix
+2
-2
pkgs/by-name/ba/bant/package.nix
···
20
20
in
21
21
buildBazelPackage rec {
22
22
pname = "bant";
23
-
version = "0.2.1";
23
+
version = "0.2.2";
24
24
25
25
src = fetchFromGitHub {
26
26
owner = "hzeller";
27
27
repo = "bant";
28
28
rev = "v${version}";
29
-
hash = "sha256-xiTi4GrCeoI8hIEgYMAdzUPvJzYvXrvbo6MBq9my5Cw=";
29
+
hash = "sha256-wrzOszkqWDEylMDZYgtAqB837uWevWCwkhBhv9LGj4Y=";
30
30
};
31
31
32
32
bazelFlags = [
+12
-6
pkgs/by-name/bm/bmake/package.nix
+12
-6
pkgs/by-name/bm/bmake/package.nix
···
57
57
# * opt-keep-going-indirect: not yet known
58
58
# * varmod-localtime: musl doesn't support TZDIR and this test relies on
59
59
# impure, implicit paths
60
-
env.BROKEN_TESTS = builtins.concatStringsSep " " [
61
-
"directive-export"
62
-
"directive-export-gmake"
63
-
"opt-keep-going-indirect"
64
-
"varmod-localtime"
65
-
];
60
+
# * interrupt-compat (fails on x86_64-linux building for i686-linux)
61
+
env.BROKEN_TESTS = lib.concatStringsSep " " (
62
+
[
63
+
"directive-export"
64
+
"directive-export-gmake"
65
+
"opt-keep-going-indirect"
66
+
"varmod-localtime"
67
+
]
68
+
++ lib.optionals stdenv.targetPlatform.is32bit [
69
+
"interrupt-compat"
70
+
]
71
+
);
66
72
67
73
strictDeps = true;
68
74
+4
-9
pkgs/by-name/bs/bs-manager/package.nix
+4
-9
pkgs/by-name/bs/bs-manager/package.nix
···
19
19
20
20
buildNpmPackage (finalAttrs: {
21
21
pname = "bs-manager";
22
-
version = "1.5.3";
22
+
version = "1.5.4";
23
23
24
24
src = fetchFromGitHub {
25
25
owner = "Zagrios";
26
26
repo = "bs-manager";
27
27
tag = "v${finalAttrs.version}";
28
-
hash = "sha256-thqz6sFmov5py7mUBYUC6ANBgjnNFC1hfLEsaxJVYu8=";
28
+
hash = "sha256-YitQjhnadQrpdBOV2CUedRNm/RW7/rpXtS9PJTa9kUU=";
29
29
};
30
30
31
-
patches = [
32
-
# https://github.com/Zagrios/bs-manager/pull/870
33
-
./use-steam-run-for-wine.patch
34
-
];
35
-
36
31
postPatch = ''
37
32
# don't search for resources in electron's resource directory, but our own
38
33
substituteInPlace src/main/services/utils.service.ts \
···
43
38
ln -s ${finalAttrs.passthru.depotdownloader}/bin/DepotDownloader assets/scripts/DepotDownloader
44
39
'';
45
40
46
-
npmDepsHash = "sha256-VsCbz7ImDnJ0tonVhA4lOPA0w//tqF4hLhrReLUqYI8=";
41
+
npmDepsHash = "sha256-3NMqYD7S4wYjwYuGJOmq2/C82qtG1mImsR4crjFLe30=";
47
42
48
43
extraNpmDeps = fetchNpmDeps {
49
44
name = "bs-manager-${finalAttrs.version}-extra-npm-deps";
50
45
inherit (finalAttrs) src;
51
46
sourceRoot = "${finalAttrs.src.name}/release/app";
52
-
hash = "sha256-JqDsv9kvYnbJdNwXN1EbppSrFVqr2cSnVhV2+8uw54g=";
47
+
hash = "sha256-UWsxty1kfxMr5fybtykrN2G+yiQ9dw/bbMwfcVLJgp4=";
53
48
};
54
49
55
50
makeCacheWritable = true;
-40
pkgs/by-name/bs/bs-manager/use-steam-run-for-wine.patch
-40
pkgs/by-name/bs/bs-manager/use-steam-run-for-wine.patch
···
1
-
diff --git a/src/main/services/linux.service.ts b/src/main/services/linux.service.ts
2
-
index 7f92bed..5f12896 100644
3
-
--- a/src/main/services/linux.service.ts
4
-
+++ b/src/main/services/linux.service.ts
5
-
@@ -129,12 +129,7 @@ export class LinuxService {
6
-
return fs.pathExistsSync(protonPath) && fs.pathExistsSync(winePath);
7
-
}
8
-
9
-
- public async getWinePath(): Promise<string> {
10
-
- if (await this.isNixOS()) {
11
-
- // Use system wine for nixos
12
-
- return "wine";
13
-
- }
14
-
-
15
-
+ public getWinePath(): string {
16
-
if (!this.staticConfig.has("proton-folder")) {
17
-
throw new Error("proton-folder variable not set");
18
-
}
19
-
diff --git a/src/main/services/mods/bs-mods-manager.service.ts b/src/main/services/mods/bs-mods-manager.service.ts
20
-
index c842fda..60cc190 100644
21
-
--- a/src/main/services/mods/bs-mods-manager.service.ts
22
-
+++ b/src/main/services/mods/bs-mods-manager.service.ts
23
-
@@ -162,12 +162,15 @@ export class BsModsManagerService {
24
-
let winePath: string = "";
25
-
if (process.platform === "linux") {
26
-
const { error: winePathError, result: winePathResult } =
27
-
- await tryit(async () => this.linuxService.getWinePath());
28
-
+ tryit(() => this.linuxService.getWinePath());
29
-
if (winePathError) {
30
-
log.error(winePathError);
31
-
return false;
32
-
}
33
-
- winePath = `"${winePathResult}"`;
34
-
+
35
-
+ winePath = await this.linuxService.isNixOS()
36
-
+ ? `steam-run "${winePathResult}"`
37
-
+ : `"${winePathResult}"`;
38
-
39
-
const winePrefix = this.linuxService.getWinePrefixPath();
40
-
if (!winePrefix) {
+3
-3
pkgs/by-name/ca/cargo-deb/package.nix
+3
-3
pkgs/by-name/ca/cargo-deb/package.nix
···
8
8
9
9
rustPlatform.buildRustPackage rec {
10
10
pname = "cargo-deb";
11
-
version = "3.5.1";
11
+
version = "3.6.1";
12
12
13
13
src = fetchFromGitHub {
14
14
owner = "kornelski";
15
15
repo = "cargo-deb";
16
16
rev = "v${version}";
17
-
hash = "sha256-lTxMaYb7+cLQB+L8OJ8Q6HwD37Bw3kzRVLtovAJxpe0=";
17
+
hash = "sha256-/mPsmg2UUwjLKg0GjEGvg6qMswyBgwjP+HpldF3Wm/k=";
18
18
};
19
19
20
-
cargoHash = "sha256-QidnhKXGcR4I+FULRrt+jTQNp+DE9SVW8wlH5Ypknqg=";
20
+
cargoHash = "sha256-HWA/CCDQNMKt2lHcPTByeg2z4TisafeN7Zgo/A+NOrE=";
21
21
22
22
nativeBuildInputs = [
23
23
makeWrapper
+3
-3
pkgs/by-name/ca/cargo-geiger/package.nix
+3
-3
pkgs/by-name/ca/cargo-geiger/package.nix
···
15
15
16
16
rustPlatform.buildRustPackage rec {
17
17
pname = "cargo-geiger";
18
-
version = "0.12.0";
18
+
version = "0.13.0";
19
19
20
20
src = fetchFromGitHub {
21
21
owner = "geiger-rs";
22
22
repo = "cargo-geiger";
23
23
tag = "cargo-geiger-${version}";
24
-
hash = "sha256-OW/LOZUCGOIl7jeWnzt4SXTo3gplJx/wbC21S1TdZx0=";
24
+
hash = "sha256-dZ71WbTKsR6g5UhWuJNfNAAqNNxbTgwL5fsgkm50BaM=";
25
25
};
26
26
27
-
cargoHash = "sha256-aDgpEfX0QRkQD6c4ant6uSN18WLHVnZISRr7lyu9IzA=";
27
+
cargoHash = "sha256-GgCmUNOwvyTB82Y/ddgJIAb1SpO4mRPjECqCagJ8GmE=";
28
28
29
29
buildInputs = [
30
30
openssl
+3
-3
pkgs/by-name/ca/cargo-sort/package.nix
+3
-3
pkgs/by-name/ca/cargo-sort/package.nix
···
6
6
7
7
rustPlatform.buildRustPackage rec {
8
8
pname = "cargo-sort";
9
-
version = "2.0.1";
9
+
version = "2.0.2";
10
10
11
11
src = fetchFromGitHub {
12
12
owner = "devinr528";
13
13
repo = "cargo-sort";
14
14
rev = "v${version}";
15
-
sha256 = "sha256-OFDEM/qYIaWsjHKZhf/kmJo7drY+649gpe4VSE18sXc=";
15
+
sha256 = "sha256-mdvaRTcs2zVXKX8LrqHFrWTdnFZpAfQuWjYmeWgdGVI=";
16
16
};
17
17
18
-
cargoHash = "sha256-nQ1g0rBWx7yHQO9U/J0/XI76quEAvpCyhZDcTJKYYXo=";
18
+
cargoHash = "sha256-FoFzBf24mNDTRBfFyTEr9Q7sJjUhs0X/XWRGEoierQ4=";
19
19
20
20
meta = {
21
21
description = "Tool to check that your Cargo.toml dependencies are sorted alphabetically";
+2
-2
pkgs/by-name/cn/cnquery/package.nix
+2
-2
pkgs/by-name/cn/cnquery/package.nix
···
6
6
7
7
buildGoModule rec {
8
8
pname = "cnquery";
9
-
version = "11.68.0";
9
+
version = "11.69.1";
10
10
11
11
src = fetchFromGitHub {
12
12
owner = "mondoohq";
13
13
repo = "cnquery";
14
14
tag = "v${version}";
15
-
hash = "sha256-CmFWfXyMQJ6/wLjSQiwh3Yu1RPlopNesEbp8moj5wG8=";
15
+
hash = "sha256-Iq44LRKPQq5TWfkoXbqOxUquMdImNU8Jz4ojvmCI310=";
16
16
};
17
17
18
18
subPackages = [ "apps/cnquery" ];
+2
-2
pkgs/by-name/co/codecrafters-cli/package.nix
+2
-2
pkgs/by-name/co/codecrafters-cli/package.nix
···
7
7
8
8
buildGoModule rec {
9
9
pname = "codecrafters-cli";
10
-
version = "36";
10
+
version = "37";
11
11
12
12
src = fetchFromGitHub {
13
13
owner = "codecrafters-io";
14
14
repo = "cli";
15
15
tag = "v${version}";
16
-
hash = "sha256-YgQPDc5BUIoEd44NLpRluxCKooW99qvcSTrFPm6qJKM=";
16
+
hash = "sha256-MxeWShst5QZPXImXnCEGYSVzqB4HNygewrQxpwmfafk=";
17
17
# A shortened git commit hash is part of the version output, and is
18
18
# needed at build time. Use the `.git` directory to retrieve the
19
19
# commit SHA, and remove the directory afterwards since it is not needed
+2
-2
pkgs/by-name/cp/cpp-jwt/package.nix
+2
-2
pkgs/by-name/cp/cpp-jwt/package.nix
···
10
10
11
11
stdenv.mkDerivation rec {
12
12
pname = "cpp-jwt";
13
-
version = "1.5";
13
+
version = "1.5.1";
14
14
15
15
src = fetchFromGitHub {
16
16
owner = "arun11299";
17
17
repo = "cpp-jwt";
18
18
rev = "v${version}";
19
-
sha256 = "sha256-l1FevNhGX7vouKmGh/ypCcmZQLMpHJ4JFUp5dnNMEwg=";
19
+
sha256 = "sha256-TyLYTk7vlpNmYJxaH9zhGwFvv1BEcShTDr7JYfgu6f0=";
20
20
};
21
21
22
22
cmakeFlags = [
+2
-2
pkgs/by-name/gh/gh-f/package.nix
+2
-2
pkgs/by-name/gh/gh-f/package.nix
···
15
15
16
16
stdenvNoCC.mkDerivation (finalAttrs: {
17
17
pname = "gh-f";
18
-
version = "1.6.0";
18
+
version = "1.7.0";
19
19
20
20
src = fetchFromGitHub {
21
21
owner = "gennaro-tedesco";
22
22
repo = "gh-f";
23
23
tag = "v${finalAttrs.version}";
24
-
hash = "sha256-kldhK5ChwHRv7joD9uyCAk1Gdc8+2IyubAB04j8/LPA=";
24
+
hash = "sha256-rMGyiXniW3M4JnsWufXcsU8mL8KlrIRGGgbQT6utnuc=";
25
25
};
26
26
27
27
nativeBuildInputs = [ makeBinaryWrapper ];
+2
-2
pkgs/by-name/gh/gh-s/package.nix
+2
-2
pkgs/by-name/gh/gh-s/package.nix
···
6
6
7
7
buildGoModule rec {
8
8
pname = "gh-s";
9
-
version = "0.0.11";
9
+
version = "0.0.12";
10
10
11
11
src = fetchFromGitHub {
12
12
owner = "gennaro-tedesco";
13
13
repo = "gh-s";
14
14
rev = "v${version}";
15
-
hash = "sha256-I1r3FW+qWKRFukeXot009CbH/JbYeCjvoRKrvsyjDJE=";
15
+
hash = "sha256-+jAJicvk6N2PfOTBR5H9nP3xTiBq4oYfNLvxN4sKvh4=";
16
16
};
17
17
18
18
vendorHash = "sha256-5UJAgsPND6WrOZZ5PUZNdwd7/0NPdhD1SaZJzZ+2VvM=";
+3
-3
pkgs/by-name/gl/glooctl/package.nix
+3
-3
pkgs/by-name/gl/glooctl/package.nix
···
7
7
8
8
buildGoModule rec {
9
9
pname = "glooctl";
10
-
version = "1.19.4";
10
+
version = "1.19.6";
11
11
12
12
src = fetchFromGitHub {
13
13
owner = "solo-io";
14
14
repo = "gloo";
15
15
rev = "v${version}";
16
-
hash = "sha256-6esnWLO0+6Tst8eplemgs1Z2Ibk+D3ipFHxcBWF3/6w=";
16
+
hash = "sha256-jH/QnRGeuYv7e7QNGLvVhLwvX5kHtqArOUPYdXcKURw=";
17
17
};
18
18
19
-
vendorHash = "sha256-n42H8c4KqgEannLpEdpKSz7J4UZ+lpVhDAE7ZuBKdCU=";
19
+
vendorHash = "sha256-OJeWijGwxuBd0Qsscy7wjTkzglUZg+jHuPX1s1ayZVI=";
20
20
21
21
subPackages = [ "projects/gloo/cli/cmd" ];
22
22
+8
-17
pkgs/by-name/go/goose-cli/package.nix
+8
-17
pkgs/by-name/go/goose-cli/package.nix
···
27
27
in
28
28
rustPlatform.buildRustPackage (finalAttrs: {
29
29
pname = "goose-cli";
30
-
version = "1.4.0";
30
+
version = "1.6.0";
31
31
32
32
src = fetchFromGitHub {
33
33
owner = "block";
34
34
repo = "goose";
35
35
tag = "v${finalAttrs.version}";
36
-
hash = "sha256-xXQFhGwI5aZfRzJ17WXcpOHnaE1MW2S6uje8qSC3NU4=";
36
+
hash = "sha256-ZfS0U7PpGWWuqGKd7IjRaavqZSySx93F9S1d7r2wMkE=";
37
37
};
38
38
39
-
cargoHash = "sha256-b8u226CSW/85HoVuDYGc0cbCA61ZOsrngenZKMgY4us=";
39
+
cargoHash = "sha256-uYgYzP75QkN1VksYL3KeNMNy7wb0TgCP8HPN1QrfZoo=";
40
40
41
41
nativeBuildInputs = [
42
42
pkg-config
···
58
58
__darwinAllowLocalNetworking = true;
59
59
60
60
checkFlags = [
61
-
# need dbus-daemon
61
+
# need dbus-daemon for keychain access
62
62
"--skip=config::base::tests::test_multiple_secrets"
63
63
"--skip=config::base::tests::test_secret_management"
64
64
"--skip=config::base::tests::test_concurrent_extension_writes"
65
+
"--skip=config::signup_tetrate::tests::test_configure_tetrate"
65
66
# Observer should be Some with both init project keys set
66
67
"--skip=tracing::langfuse_layer::tests::test_create_langfuse_observer"
67
68
"--skip=providers::gcpauth::tests::test_token_refresh_race_condition"
68
-
# Lazy instance has previously been poisoned
69
-
"--skip=jetbrains::tests::test_capabilities"
70
-
"--skip=jetbrains::tests::test_router_creation"
71
-
"--skip=logging::tests::test_log_file_name::with_session_name_and_error_capture"
72
-
"--skip=logging::tests::test_log_file_name::with_session_name_without_error_capture"
73
-
"--skip=logging::tests::test_log_file_name::without_session_name"
74
-
"--skip=developer::tests::test_text_editor_str_replace"
75
69
# need API keys
76
70
"--skip=providers::factory::tests::test_create_lead_worker_provider"
77
71
"--skip=providers::factory::tests::test_create_regular_provider_without_lead_config"
···
87
81
"--skip=transport::streamable_http::tests::test_handle_outgoing_message_session_id_handling"
88
82
"--skip=transport::streamable_http::tests::test_handle_outgoing_message_session_not_found"
89
83
"--skip=transport::streamable_http::tests::test_handle_outgoing_message_successful_request"
84
+
]
85
+
++ lib.optionals stdenv.hostPlatform.isLinux [
90
86
"--skip=context_mgmt::auto_compact::tests::test_auto_compact_respects_config"
91
87
]
92
88
++ lib.optionals stdenv.hostPlatform.isDarwin [
93
-
"--skip=providers::gcpauth::tests::test_load_from_metadata_server"
94
-
"--skip=providers::oauth::tests::test_get_workspace_endpoints"
95
-
"--skip=tracing::langfuse_layer::tests::test_batch_manager_spawn_sender"
96
-
"--skip=tracing::langfuse_layer::tests::test_batch_send_partial_failure"
97
-
"--skip=tracing::langfuse_layer::tests::test_batch_send_success"
98
-
"--skip=logging::tests::test_log_file_name_session_without_error_capture"
89
+
"--skip=logging::tests::test_log_file_name_no_session"
99
90
"--skip=recipes::extract_from_cli::tests::test_extract_recipe_info_from_cli_basic"
100
91
"--skip=recipes::extract_from_cli::tests::test_extract_recipe_info_from_cli_with_additional_sub_recipes"
101
92
"--skip=recipes::recipe::tests::load_recipe::test_load_recipe_success"
+2
-2
pkgs/by-name/hm/hmcl/package.nix
+2
-2
pkgs/by-name/hm/hmcl/package.nix
···
31
31
32
32
stdenv.mkDerivation (finalAttrs: {
33
33
pname = "hmcl";
34
-
version = "3.6.15";
34
+
version = "3.6.16";
35
35
36
36
src = fetchurl {
37
37
# HMCL has built-in keys, such as the Microsoft OAuth secret and the CurseForge API key.
38
38
# See https://github.com/HMCL-dev/HMCL/blob/refs/tags/release-3.6.12/.github/workflows/gradle.yml#L26-L28
39
39
url = "https://github.com/HMCL-dev/HMCL/releases/download/release-${finalAttrs.version}/HMCL-${finalAttrs.version}.jar";
40
-
hash = "sha256-F+QixbA6zEA1qW3yb8MhJNurU8/2jZAEbfQU9cJ7zT4=";
40
+
hash = "sha256-C3a8pjMllkmTpChucFBunW8uixnnvqrXg06BhLAg6Y8=";
41
41
};
42
42
43
43
icon = fetchurl {
+87
pkgs/by-name/if/ifstate/package.nix
+87
pkgs/by-name/if/ifstate/package.nix
···
1
+
{
2
+
lib,
3
+
python3Packages,
4
+
fetchFromGitea,
5
+
iproute2,
6
+
libbpf,
7
+
nixosTests,
8
+
withBpf ? false,
9
+
withConfigValidation ? true,
10
+
withShellColor ? false,
11
+
withWireguard ? true,
12
+
}:
13
+
14
+
let
15
+
self = python3Packages.buildPythonApplication rec {
16
+
pname = "ifstate";
17
+
version = "2.0.0";
18
+
pyproject = true;
19
+
20
+
src = fetchFromGitea {
21
+
domain = "codeberg.org";
22
+
owner = "liske";
23
+
repo = "ifstate";
24
+
tag = version;
25
+
hash = "sha256-YxLyiTVLN4nxc2ppqGGnYCGudbdPLSLV8EwDURtpO0U=";
26
+
};
27
+
28
+
postPatch = ''
29
+
substituteInPlace libifstate/routing/__init__.py \
30
+
--replace-fail '/usr/share/iproute2' '${iproute2}/share/iproute2'
31
+
''
32
+
+ lib.optionalString withBpf ''
33
+
substituteInPlace libifstate/bpf/ctypes.py \
34
+
--replace-fail 'libbpf.so.1' '${libbpf}/lib/libbpf.so.1'
35
+
'';
36
+
37
+
build-system = with python3Packages; [
38
+
setuptools
39
+
];
40
+
41
+
dependencies =
42
+
with python3Packages;
43
+
[
44
+
pyroute2
45
+
pyyaml
46
+
setproctitle
47
+
]
48
+
++ lib.optional withConfigValidation jsonschema
49
+
++ lib.optional withShellColor pygments
50
+
++ lib.optional withWireguard wgnlpy;
51
+
52
+
pythonRemoveDeps = lib.optional (!withConfigValidation) "jsonschema";
53
+
54
+
# has no unit tests
55
+
doCheck = false;
56
+
57
+
pythonImportsCheck = [
58
+
"libifstate"
59
+
"ifstate"
60
+
];
61
+
62
+
passthru = {
63
+
tests = nixosTests.ifstate;
64
+
features = {
65
+
inherit
66
+
withBpf
67
+
withConfigValidation
68
+
withShellColor
69
+
withWireguard
70
+
;
71
+
};
72
+
# needed for access in schema validaten in module
73
+
jsonschema = "${self}/${python3Packages.python.sitePackages}/libifstate/schema/2/ifstate.conf.schema.json";
74
+
};
75
+
76
+
meta = {
77
+
description = "Manage host interface settings in a declarative manner";
78
+
homepage = "https://ifstate.net";
79
+
changelog = "https://codeberg.org/liske/ifstate/src/tag/${src.tag}/CHANGELOG.md";
80
+
platforms = lib.platforms.linux;
81
+
license = lib.licenses.gpl3Plus;
82
+
maintainers = with lib.maintainers; [ marcel ];
83
+
mainProgram = "ifstatecli";
84
+
};
85
+
};
86
+
in
87
+
self
+3
-3
pkgs/by-name/io/iosevka/package.nix
+3
-3
pkgs/by-name/io/iosevka/package.nix
···
56
56
57
57
buildNpmPackage rec {
58
58
pname = "Iosevka${toString set}";
59
-
version = "33.2.8";
59
+
version = "33.2.9";
60
60
61
61
src = fetchFromGitHub {
62
62
owner = "be5invis";
63
63
repo = "iosevka";
64
64
rev = "v${version}";
65
-
hash = "sha256-rHkIvfS20A0cvFBcLfFLAvcVVF5BgbtMdDxMvwH0B+I=";
65
+
hash = "sha256-EC3daY7R2AhqrE62dp6sT5BspyZkLccuC5PnBibeRaI=";
66
66
};
67
67
68
-
npmDepsHash = "sha256-PYzNg5gduwtwc99GyatXnmHCh9mpAulz43Ehdle0rAM=";
68
+
npmDepsHash = "sha256-ekODYQ1GjGytlcX4VGIfyl5kPEWW/9VL/He0BBtWeK0=";
69
69
70
70
nativeBuildInputs = [
71
71
remarshal
+4
-4
pkgs/by-name/jo/josm/package.nix
+4
-4
pkgs/by-name/jo/josm/package.nix
···
11
11
}:
12
12
let
13
13
pname = "josm";
14
-
version = "19423";
14
+
version = "19439";
15
15
srcs = {
16
16
jar = fetchurl {
17
17
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
18
-
hash = "sha256-s8aMV31NsDFE5XLP523PH3RNvq78eTAa+UvmjyY5a+E=";
18
+
hash = "sha256-EuboKKNpApYlh9b78oB5AbtOM38oMe3NEa4fovA78Uk=";
19
19
};
20
20
macosx = fetchurl {
21
21
url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java21.zip";
22
-
hash = "sha256-8eps1eTUn9FHHYwECH/742PV7wnnRO08dlZmaxd1aZU=";
22
+
hash = "sha256-b38Xd0qx0ceNtJ5UIWDJkGOvaHSB/46onPbd6LJ6siY=";
23
23
};
24
24
pkg = fetchsvn {
25
25
url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
26
26
rev = version;
27
-
hash = "sha256-4mK+IdVRDhINJqzOovw7YPNiJmFxTCIfYVNMXKSdBv0=";
27
+
hash = "sha256-9YTSX4chUxijtJ7a1pLE2kYo9hdOB/8vnnfFqMeXKbE=";
28
28
};
29
29
};
30
30
+1
-1
pkgs/by-name/jo/josm/update.sh
+1
-1
pkgs/by-name/jo/josm/update.sh
···
11
11
sort -n |
12
12
tail -n1)"
13
13
14
-
pkgHash="$(nurl -H https://github.com/JOSM/josm "$version-tested")"
14
+
pkgHash="$(nurl -f fetchsvn -H https://josm.openstreetmap.de/svn/trunk/native/linux/tested "$version")"
15
15
16
16
update-source-version josm "$version" --source-key=srcs.jar
17
17
update-source-version josm "$version" --ignore-same-version --source-key=srcs.macosx
+2
-2
pkgs/by-name/jr/jreleaser-cli/package.nix
+2
-2
pkgs/by-name/jr/jreleaser-cli/package.nix
···
7
7
}:
8
8
stdenv.mkDerivation rec {
9
9
pname = "jreleaser-cli";
10
-
version = "1.19.0";
10
+
version = "1.20.0";
11
11
12
12
src = fetchurl {
13
13
url = "https://github.com/jreleaser/jreleaser/releases/download/v${version}/jreleaser-tool-provider-${version}.jar";
14
-
hash = "sha256-tUliZBRHAXgv+FR5z298IAG3egTTqwhRYt8r96gdtdM=";
14
+
hash = "sha256-47MpBFUEHx2yVk05Gd9CyVrHYHRK7NtcGosBJJbdhD0=";
15
15
};
16
16
17
17
nativeBuildInputs = [ makeWrapper ];
+3
-3
pkgs/by-name/ka/katana/package.nix
+3
-3
pkgs/by-name/ka/katana/package.nix
···
6
6
7
7
buildGoModule rec {
8
8
pname = "katana";
9
-
version = "1.2.1";
9
+
version = "1.2.2";
10
10
11
11
src = fetchFromGitHub {
12
12
owner = "projectdiscovery";
13
13
repo = "katana";
14
14
tag = "v${version}";
15
-
hash = "sha256-ldTK8Y6//goFhalF4BaLtbMkwoKJd1NDzUR9pLDRBD8=";
15
+
hash = "sha256-q7uOtfxSS6cLZKjnObLAzn+JpC2myEkoTd2TINBhYcU=";
16
16
};
17
17
18
-
vendorHash = "sha256-st7gj4hynuY1dDUEhA4xbiOnxH3jV5T2RK+PhB46Lpk=";
18
+
vendorHash = "sha256-9RoL6gpAJXO2/0UCmpRnh8roZw/txNgb/H0kVTKVxWs=";
19
19
20
20
subPackages = [ "cmd/katana" ];
21
21
+3
-3
pkgs/by-name/ki/kind/package.nix
+3
-3
pkgs/by-name/ki/kind/package.nix
···
10
10
11
11
buildGoModule rec {
12
12
pname = "kind";
13
-
version = "0.29.0";
13
+
version = "0.30.0";
14
14
15
15
src = fetchFromGitHub {
16
16
rev = "v${version}";
17
17
owner = "kubernetes-sigs";
18
18
repo = "kind";
19
-
hash = "sha256-Dv4I50LQcr8fOaCCdaKkz+pHIG05UBQAdDs7gGngm4Y=";
19
+
hash = "sha256-TssyKO5v3xqSDjS3DYIlO7iOx/zzS3E9O88V9R7S5Ac=";
20
20
};
21
21
22
22
patches = [
···
24
24
./kernel-module-path.patch
25
25
];
26
26
27
-
vendorHash = "sha256-QFDQkl1QuIc0fUK0raVxmPT7AF6fsKlQ4F0dzOM9fcw=";
27
+
vendorHash = "sha256-tRpylYpEGF6XqtBl7ESYlXKEEAt+Jws4x4VlUVW8SNI=";
28
28
29
29
nativeBuildInputs = [ installShellFiles ];
30
30
+3
-3
pkgs/by-name/kr/krelay/package.nix
+3
-3
pkgs/by-name/kr/krelay/package.nix
···
6
6
7
7
buildGoModule rec {
8
8
pname = "krelay";
9
-
version = "0.1.2";
9
+
version = "0.1.3";
10
10
11
11
src = fetchFromGitHub {
12
12
owner = "knight42";
13
13
repo = "krelay";
14
14
rev = "v${version}";
15
-
hash = "sha256-TonkGh4j+xLGgSpspCedg6c2NpIZIzp5pv8VtWFssPk=";
15
+
hash = "sha256-v7yX5wDf3d07TiWe+9iTkGhc8LqfU1hUkxuf5ZBVcYE=";
16
16
};
17
17
18
-
vendorHash = "sha256-Qz3q/503A5QmsgEaDqChxS2tcUEJGmeT6YE6R3LBbcY=";
18
+
vendorHash = "sha256-9bOU9Zqqb4tdQCIB3UkTdAcD4cn6+7C35gOCywv1/Os=";
19
19
20
20
subPackages = [ "cmd/client" ];
21
21
+2
-2
pkgs/by-name/ku/kubedb-cli/package.nix
+2
-2
pkgs/by-name/ku/kubedb-cli/package.nix
···
6
6
7
7
buildGoModule rec {
8
8
pname = "kubedb-cli";
9
-
version = "0.57.0";
9
+
version = "0.58.0";
10
10
11
11
src = fetchFromGitHub {
12
12
owner = "kubedb";
13
13
repo = "cli";
14
14
tag = "v${version}";
15
-
hash = "sha256-U2VdWer9jOW+GmzndyXt9nD7HlUIvljROeS/gL3ZJAc=";
15
+
hash = "sha256-DfvYWA2D+TuIz5nQnzFHatR9yl8nos7byMz7uK+q7w0=";
16
16
};
17
17
18
18
vendorHash = null;
+2
-2
pkgs/by-name/ku/kubernetes-polaris/package.nix
+2
-2
pkgs/by-name/ku/kubernetes-polaris/package.nix
···
7
7
8
8
buildGoModule rec {
9
9
pname = "kubernetes-polaris";
10
-
version = "10.1.0";
10
+
version = "10.1.1";
11
11
12
12
src = fetchFromGitHub {
13
13
owner = "FairwindsOps";
14
14
repo = "polaris";
15
15
rev = version;
16
-
sha256 = "sha256-/YK9Xz/zYksFCde9uoTXrVbaOQ3V7EoSaoWnrSR9Oq8=";
16
+
sha256 = "sha256-1viEKPU+V+VqFDnrtjSTvNLtgE3TB1ijKv1YOz6AAUo=";
17
17
};
18
18
19
19
vendorHash = "sha256-4eznwhNf3anhs+GlZGrHJWAproej0dO2NbzfhJeReNY=";
+2
-2
pkgs/by-name/la/lavacli/package.nix
+2
-2
pkgs/by-name/la/lavacli/package.nix
···
6
6
7
7
python3.pkgs.buildPythonApplication rec {
8
8
pname = "lavacli";
9
-
version = "2.2.0";
9
+
version = "2.4";
10
10
pyproject = true;
11
11
12
12
src = fetchFromGitLab {
13
13
owner = "lava";
14
14
repo = "lavacli";
15
15
tag = "v${version}";
16
-
hash = "sha256-Pfsf2a5y3rpoTGY3PmNdq9ojSjBVBfawz/LTQmIQ2vU=";
16
+
hash = "sha256-KNq+UNOC3N+p0HOed2Mdh9EIXLQccH+aepdfJ59Z2oM=";
17
17
};
18
18
19
19
build-system = with python3.pkgs; [
+3
-3
pkgs/by-name/li/libvgm/package.nix
+3
-3
pkgs/by-name/li/libvgm/package.nix
···
38
38
39
39
stdenv.mkDerivation (finalAttrs: {
40
40
pname = "libvgm";
41
-
version = "0-unstable-2025-07-14";
41
+
version = "0-unstable-2025-08-31";
42
42
43
43
src = fetchFromGitHub {
44
44
owner = "ValleyBell";
45
45
repo = "libvgm";
46
-
rev = "7cad78367fa35c3f7b3ae16a296d31063cd3a7e4";
47
-
hash = "sha256-8Hnr9VeVkrvRe1mwCUBGhSwYYYXxbby+aQU+KBrSyRM=";
46
+
rev = "e9f2b023e8918b56be0d2e634b3f5aab2a589ffe";
47
+
hash = "sha256-jnjIWB+1IndV7XljG4lUJ93zP9Emlxlx+EWH4xdtLGE=";
48
48
};
49
49
50
50
outputs = [
+9
-9
pkgs/by-name/li/limine/package.nix
+9
-9
pkgs/by-name/li/limine/package.nix
···
42
42
# as bootloader for various platforms and corresponding binary and helper files.
43
43
stdenv.mkDerivation (finalAttrs: {
44
44
pname = "limine";
45
-
version = "9.6.1";
45
+
version = "9.6.5";
46
46
47
47
# We don't use the Git source but the release tarball, as the source has a
48
48
# `./bootstrap` script performing network access to download resources.
49
49
# Packaging that in Nix is very cumbersome.
50
50
src = fetchurl {
51
-
url = "https://github.com/limine-bootloader/limine/releases/download/v${finalAttrs.version}/limine-${finalAttrs.version}.tar.gz";
52
-
hash = "sha256-/GAeZx2ShtC+VoqNO/SB8H4kLLgdLAc/RAGVxF6Imbc=";
51
+
url = "https://codeberg.org/Limine/Limine/releases/download/v${finalAttrs.version}/limine-${finalAttrs.version}.tar.gz";
52
+
hash = "sha256-d3teFW6eSKG+VIWbuOs5a9f0cxv2Fssepkcjfle7Ems=";
53
53
};
54
54
55
55
enableParallelBuilding = true;
···
84
84
85
85
meta = {
86
86
homepage = "https://limine-bootloader.org/";
87
-
changelog = "https://raw.githubusercontent.com/limine-bootloader/limine/refs/tags/v${finalAttrs.version}/ChangeLog";
87
+
changelog = "https://codeberg.org/Limine/Limine/raw/tag/v${finalAttrs.version}/ChangeLog";
88
88
description = "Limine Bootloader";
89
89
mainProgram = "limine";
90
90
# The platforms on that the Limine binary and helper tools can run, not
···
95
95
license = with lib.licenses; [
96
96
asl20 # cc-runtime
97
97
bsd0 # freestanding-headers, freestanding-toolchain
98
-
bsd2 # limine, flanterm, libfdt, nyu-efi
99
-
bsd2Patent # nyu-efi
100
-
bsd3 # nyu-efi
101
-
bsdAxisNoDisclaimerUnmodified # nyu-efi
102
-
mit # nyu-efi, stb_image
98
+
bsd2 # limine, flanterm, libfdt, PicoEFI
99
+
bsd2Patent # PicoEFI
100
+
bsd3 # PicoEFI
101
+
bsdAxisNoDisclaimerUnmodified # PicoEFI
102
+
mit # PicoEFI, stb_image
103
103
zlib # tinf
104
104
];
105
105
maintainers = with lib.maintainers; [
+6
pkgs/by-name/ma/mailpit/source.nix
+6
pkgs/by-name/ma/mailpit/source.nix
+8
pkgs/by-name/me/memray/package.nix
+8
pkgs/by-name/me/memray/package.nix
···
20
20
hash = "sha256-bShFMuDJlvBA3rQJRwXlsgRk4q+gdFQjOpDzOrp4/8k=";
21
21
};
22
22
23
+
# AttributeError: 'Label' object has no attribute 'renderable'.
24
+
# In textual==0.6.0, the `renderable` property was renamed to `content`
25
+
# https://github.com/Textualize/textual/pull/6041
26
+
postPatch = ''
27
+
substituteInPlace tests/unit/test_tui_reporter.py \
28
+
--replace-fail ".renderable" ".content"
29
+
'';
30
+
23
31
build-system = with python3Packages; [
24
32
distutils
25
33
setuptools
+2
-2
pkgs/by-name/mi/microsoft-edge/package.nix
+2
-2
pkgs/by-name/mi/microsoft-edge/package.nix
···
162
162
in
163
163
stdenvNoCC.mkDerivation (finalAttrs: {
164
164
pname = "microsoft-edge";
165
-
version = "139.0.3405.111";
165
+
version = "139.0.3405.125";
166
166
167
167
src = fetchurl {
168
168
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb";
169
-
hash = "sha256-1hsvzvaVCDSWGEpqMjsrz7V9Ra+PtoZ//lSXSlmS3FI=";
169
+
hash = "sha256-MqJPlFoPiTIReXRhLJGR+nbOVwWcpiHTMr5s+M6KXqE=";
170
170
};
171
171
172
172
# With strictDeps on, some shebangs were not being patched correctly
+2
-2
pkgs/by-name/ne/neovim-unwrapped/package.nix
+2
-2
pkgs/by-name/ne/neovim-unwrapped/package.nix
···
95
95
in
96
96
{
97
97
pname = "neovim-unwrapped";
98
-
version = "0.11.3";
98
+
version = "0.11.4";
99
99
100
100
__structuredAttrs = true;
101
101
···
103
103
owner = "neovim";
104
104
repo = "neovim";
105
105
tag = "v${finalAttrs.version}";
106
-
hash = "sha256-B/An+SiRWC3Ea0T/sEk8aNBS1Ab9OENx/l4Z3nn8xE4=";
106
+
hash = "sha256-IpMHxIDpldg4FXiXPEY2E51DfO/Z5XieKdtesLna9Xw=";
107
107
};
108
108
109
109
patches = [
+12
-12
pkgs/by-name/ne/neovim-unwrapped/treesitter-parsers.nix
+12
-12
pkgs/by-name/ne/neovim-unwrapped/treesitter-parsers.nix
···
2
2
3
3
{
4
4
c.src = fetchurl {
5
-
url = "https://github.com/tree-sitter/tree-sitter-c/archive/v0.23.4.tar.gz";
6
-
hash = "sha256:b66c5043e26d84e5f17a059af71b157bcf202221069ed220aa1696d7d1d28a7a";
5
+
url = "https://github.com/tree-sitter/tree-sitter-c/archive/v0.24.1.tar.gz";
6
+
hash = "sha256:25dd4bb3dec770769a407e0fc803f424ce02c494a56ce95fedc525316dcf9b48";
7
7
};
8
8
lua.src = fetchurl {
9
-
url = "https://github.com/tree-sitter-grammars/tree-sitter-lua/archive/v0.3.0.tar.gz";
10
-
hash = "sha256:a34cc70abfd8d2d4b0fabf01403ea05f848e1a4bc37d8a4bfea7164657b35d31";
9
+
url = "https://github.com/tree-sitter-grammars/tree-sitter-lua/archive/v0.4.0.tar.gz";
10
+
hash = "sha256:b0977aced4a63bb75f26725787e047b8f5f4a092712c840ea7070765d4049559";
11
11
};
12
12
vim.src = fetchurl {
13
-
url = "https://github.com/tree-sitter-grammars/tree-sitter-vim/archive/v0.5.0.tar.gz";
14
-
hash = "sha256:90019d12d2da0751c027124f27f5335babf069a050457adaed53693b5e9cf10a";
13
+
url = "https://github.com/tree-sitter-grammars/tree-sitter-vim/archive/v0.7.0.tar.gz";
14
+
hash = "sha256:44eabc31127c4feacda19f2a05a5788272128ff561ce01093a8b7a53aadcc7b2";
15
15
};
16
16
vimdoc.src = fetchurl {
17
-
url = "https://github.com/neovim/tree-sitter-vimdoc/archive/v3.0.1.tar.gz";
18
-
hash = "sha256:76b65e5bee9ff78eb21256619b1995aac4d80f252c19e1c710a4839481ded09e";
17
+
url = "https://github.com/neovim/tree-sitter-vimdoc/archive/v4.0.0.tar.gz";
18
+
hash = "sha256:8096794c0f090b2d74b7bff94548ac1be3285b929ec74f839bd9b3ff4f4c6a0b";
19
19
};
20
20
query.src = fetchurl {
21
-
url = "https://github.com/tree-sitter-grammars/tree-sitter-query/archive/v0.5.1.tar.gz";
22
-
hash = "sha256:fe8c712880a529d454347cd4c58336ac2db22243bae5055bdb5844fb3ea56192";
21
+
url = "https://github.com/tree-sitter-grammars/tree-sitter-query/archive/v0.6.2.tar.gz";
22
+
hash = "sha256:90682e128d048fbf2a2a17edca947db71e326fa0b3dba4136e041e096538b4eb";
23
23
};
24
24
markdown.src = fetchurl {
25
-
url = "https://github.com/tree-sitter-grammars/tree-sitter-markdown/archive/v0.4.1.tar.gz";
26
-
hash = "sha256:e0fdb2dca1eb3063940122e1475c9c2b069062a638c95939e374c5427eddee9f";
25
+
url = "https://github.com/tree-sitter-grammars/tree-sitter-markdown/archive/v0.5.0.tar.gz";
26
+
hash = "sha256:14c2c948ccf0e9b606eec39b09286c59dddf28307849f71b7ce2b1d1ef06937e";
27
27
};
28
28
}
+1
pkgs/by-name/no/novelwriter/package.nix
+1
pkgs/by-name/no/novelwriter/package.nix
+2
-2
pkgs/by-name/nv/nvidia-mig-parted/package.nix
+2
-2
pkgs/by-name/nv/nvidia-mig-parted/package.nix
···
6
6
7
7
buildGoModule (finalAttrs: {
8
8
pname = "nvidia-mig-parted";
9
-
version = "0.12.1";
9
+
version = "0.12.3";
10
10
11
11
src = fetchFromGitHub {
12
12
owner = "NVIDIA";
13
13
repo = "mig-parted";
14
14
tag = "v${finalAttrs.version}";
15
-
hash = "sha256-mNzwD8DaWJ0L1y2q/3UhKf0zjKRp3+XwhtFF+Stl/A0=";
15
+
hash = "sha256-B4vSNG3+qbUqCvEmBz+VUgrnvhNvCR74uvo4uo+bD/Q=";
16
16
};
17
17
18
18
vendorHash = null;
+3
-3
pkgs/by-name/om/omnissa-horizon-client/package.nix
+3
-3
pkgs/by-name/om/omnissa-horizon-client/package.nix
···
12
12
configText ? "",
13
13
}:
14
14
let
15
-
version = "2503";
15
+
version = "2506";
16
16
17
17
sysArch =
18
18
if stdenv.hostPlatform.system == "x86_64-linux" then
···
39
39
pname = "omnissa-horizon-files";
40
40
inherit version;
41
41
src = fetchurl {
42
-
url = "https://download3.omnissa.com/software/CART26FQ1_LIN_2503_TARBALL/Omnissa-Horizon-Client-Linux-2503-8.15.0-14256322247.tar.gz";
43
-
sha256 = "c7df084d717dc70ce53eadfbe5a9d0daa06931b640702a8355705fbd93e16bb4";
42
+
url = "https://download3.omnissa.com/software/CART26FQ2_LIN_2506_TARBALL/Omnissa-Horizon-Client-Linux-2506-8.16.0-16536624989.tar.gz";
43
+
sha256 = "5515e79188e2605ced5a95c3a3829865b567be5d7a8de00a57455f7b5b2ae392";
44
44
};
45
45
nativeBuildInputs = [ makeWrapper ];
46
46
installPhase = ''
+5
pkgs/by-name/op/openvpn3/package.nix
+5
pkgs/by-name/op/openvpn3/package.nix
···
40
40
fetchSubmodules = true;
41
41
};
42
42
43
+
patches = [
44
+
# Should be fixed in v26: https://codeberg.org/OpenVPN/openvpn3-linux/issues/70
45
+
./v25-latest-linux-fix.patch
46
+
];
47
+
43
48
postPatch = ''
44
49
echo '#define OPENVPN_VERSION "3.git:unknown:unknown"
45
50
#define PACKAGE_GUIVERSION "v${builtins.replaceStrings [ "_" ] [ ":" ] version}"
+27
pkgs/by-name/op/openvpn3/v25-latest-linux-fix.patch
+27
pkgs/by-name/op/openvpn3/v25-latest-linux-fix.patch
···
1
+
diff --git a/openvpn3-core/openvpn/dco/ovpn_dco_linux.h b/openvpn3-core/openvpn/dco/ovpn_dco_linux.h
2
+
index 238f71f7a..5b7fe8d8c 100644
3
+
--- a/openvpn3-core/openvpn/dco/ovpn_dco_linux.h
4
+
+++ b/openvpn3-core/openvpn/dco/ovpn_dco_linux.h
5
+
@@ -239,22 +239,6 @@ enum ovpn_netlink_packet_attrs {
6
+
OVPN_PACKET_ATTR_MAX = __OVPN_PACKET_ATTR_AFTER_LAST - 1,
7
+
};
8
+
9
+
-enum ovpn_ifla_attrs {
10
+
- IFLA_OVPN_UNSPEC = 0,
11
+
- IFLA_OVPN_MODE,
12
+
-
13
+
- __IFLA_OVPN_AFTER_LAST,
14
+
- IFLA_OVPN_MAX = __IFLA_OVPN_AFTER_LAST - 1,
15
+
-};
16
+
-
17
+
-enum ovpn_mode {
18
+
- __OVPN_MODE_FIRST = 0,
19
+
- OVPN_MODE_P2P = __OVPN_MODE_FIRST,
20
+
- OVPN_MODE_MP,
21
+
-
22
+
- __OVPN_MODE_AFTER_LAST,
23
+
-};
24
+
-
25
+
/// \endcond
26
+
27
+
#endif /* _UAPI_LINUX_OVPN_DCO_H_ */
+2
-2
pkgs/by-name/pr/protolint/package.nix
+2
-2
pkgs/by-name/pr/protolint/package.nix
···
5
5
}:
6
6
buildGoModule rec {
7
7
pname = "protolint";
8
-
version = "0.56.1";
8
+
version = "0.56.4";
9
9
10
10
src = fetchFromGitHub {
11
11
owner = "yoheimuta";
12
12
repo = "protolint";
13
13
rev = "v${version}";
14
-
hash = "sha256-fz7hypg07okEg0Z4XiA5NGh6I8oLFO4coJscTvxLWFw=";
14
+
hash = "sha256-2R+TW8z3XgjavK19PGy9hMpN8WOSeWbb/vcSWbbBmJc=";
15
15
};
16
16
17
17
vendorHash = "sha256-RS0t7n6pLYVKHluQtXsMjYL1SvN7IZFdKmkxOI8wFoE=";
+2
-2
pkgs/by-name/py/pyenv/package.nix
+2
-2
pkgs/by-name/py/pyenv/package.nix
···
7
7
8
8
stdenv.mkDerivation rec {
9
9
pname = "pyenv";
10
-
version = "2.6.6";
10
+
version = "2.6.7";
11
11
12
12
src = fetchFromGitHub {
13
13
owner = "pyenv";
14
14
repo = "pyenv";
15
15
tag = "v${version}";
16
-
hash = "sha256-wJZB3pchbH0kxbMRqGAq7moOT5yMB/dzCa+pEFC82BE=";
16
+
hash = "sha256-Rm4czJoUu36frPvBPvjWo0x0NKEkAHCL07iffsC741o=";
17
17
};
18
18
19
19
nativeBuildInputs = [
+1
-1
pkgs/by-name/qq/qq/package.nix
+1
-1
pkgs/by-name/qq/qq/package.nix
···
138
138
libuuid
139
139
]
140
140
}" \
141
-
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
141
+
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true --wayland-text-input-version=3}}" \
142
142
--add-flags ${lib.escapeShellArg commandLineArgs} \
143
143
"''${gappsWrapperArgs[@]}"
144
144
+2
-2
pkgs/by-name/re/rectangle/package.nix
+2
-2
pkgs/by-name/re/rectangle/package.nix
···
8
8
9
9
stdenvNoCC.mkDerivation (finalAttrs: {
10
10
pname = "rectangle";
11
-
version = "0.89";
11
+
version = "0.90";
12
12
13
13
src = fetchurl {
14
14
url = "https://github.com/rxhanson/Rectangle/releases/download/v${finalAttrs.version}/Rectangle${finalAttrs.version}.dmg";
15
-
hash = "sha256-eI3C+nDJhxKwbCLRKepoGmbyWKGCxEuMSK3D0sZbDU0=";
15
+
hash = "sha256-SC479DxtFkonvWqYSB47b4Mjb7VSnWoNTHcfThYNxt4=";
16
16
};
17
17
18
18
sourceRoot = ".";
+8
pkgs/by-name/re/rexi/package.nix
+8
pkgs/by-name/re/rexi/package.nix
···
16
16
hash = "sha256-tag2/QTM6tDCU3qr4e1GqRYAZgpvEgtA+FtR4P7WdiU=";
17
17
};
18
18
19
+
# AttributeError: 'Static' object has no attribute 'renderable'.
20
+
# In textual==0.6.0, the `renderable` property was renamed to `content`
21
+
# https://github.com/Textualize/textual/pull/6041
22
+
postPatch = ''
23
+
substituteInPlace tests/test_ui.py \
24
+
--replace-fail ".renderable" ".content"
25
+
'';
26
+
19
27
build-system = with python3Packages; [
20
28
poetry-core
21
29
];
+61
-26
pkgs/by-name/si/sieve-editor-gui/package.nix
+61
-26
pkgs/by-name/si/sieve-editor-gui/package.nix
···
1
1
{
2
2
lib,
3
+
stdenv,
3
4
buildNpmPackage,
4
5
fetchFromGitHub,
5
6
electron,
6
-
nodejs_20,
7
-
nodePackages,
8
7
makeDesktopItem,
9
8
copyDesktopItems,
9
+
runCommand,
10
+
zip,
10
11
}:
12
+
13
+
let
14
+
electronArch = if stdenv.hostPlatform.isAarch64 then "arm64" else "x64";
15
+
electronZip =
16
+
runCommand "electronZip"
17
+
{
18
+
nativeBuildInputs = [ zip ];
19
+
}
20
+
''
21
+
mkdir $out
22
+
23
+
cp -r ${electron.dist} electron-dist
24
+
chmod -R u+w electron-dist
25
+
26
+
cd electron-dist
27
+
zip -0Xqr $out/electron-v${electron.version}-darwin-${electronArch}.zip .
28
+
'';
29
+
in
30
+
11
31
buildNpmPackage {
12
32
pname = "sieve-editor-gui";
13
-
version = "0.6.1-unstable-2024-01-06";
14
-
nodejs = nodejs_20;
33
+
version = "0.6.1-unstable-2025-03-12";
15
34
16
35
src = fetchFromGitHub {
17
36
owner = "thsmi";
18
37
repo = "sieve";
19
-
rev = "5879679ed8d16a34af760ee56bfec16a1a322b4e";
20
-
hash = "sha256-wl6dwKoGan+DrpXk2p1fD/QN/C2qT4h/g3N73gF8sOI=";
38
+
rev = "4bcefba15314177521a45a833e53969b50f4351e";
39
+
hash = "sha256-jR3+YaVQ+Yd2Xm40SzQNvwWMPe0mJ6bhT96hlUz3/qU=";
21
40
};
22
41
23
-
npmDepsHash = "sha256-a2I9csxFZJekG1uCOHqdRaLLi5v/BLTz4SU+uBd855A=";
42
+
npmDepsHash = "sha256-w2i7XsTx3hlsh/JbvShaxvDyFGcBpL66lMy7KL2tnzM=";
24
43
25
-
nativeBuildInputs = [
26
-
electron
27
-
copyDesktopItems
28
-
nodePackages.gulp
29
-
];
44
+
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ copyDesktopItems ];
30
45
31
-
dontNpmBuild = true;
32
-
33
-
buildPhase = ''
34
-
gulp -LLLL app:package
35
-
'';
46
+
npmBuildScript = "gulp";
47
+
npmBuildFlags = [ "app:package" ];
36
48
37
49
installPhase = ''
38
50
runHook preInstall
51
+
''
52
+
+ lib.optionalString stdenv.hostPlatform.isLinux ''
39
53
mv build/ $out
54
+
55
+
install -D $out/electron/resources/libs/icons/linux.png $out/share/icons/hicolor/64x64/apps/sieve.png
56
+
57
+
makeWrapper ${lib.getExe electron} $out/bin/sieve-editor-gui \
58
+
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
59
+
--add-flags $out/electron/resources/main_esm.js
60
+
''
61
+
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
62
+
npx electron-packager ./build/electron/resources \
63
+
--electron-zip-dir ${electronZip} \
64
+
--electron-version ${electron.version} \
65
+
--icon src/common/icons/mac.icns
66
+
67
+
mkdir -p $out/Applications
68
+
cp -r sieve-darwin-*/sieve.app $out/Applications/
69
+
70
+
makeWrapper $out/Applications/sieve.app/Contents/MacOS/Sieve $out/bin/sieve-editor-gui
71
+
''
72
+
+ ''
40
73
runHook postInstall
41
74
'';
42
75
···
49
82
name = "sieve-editor-gui";
50
83
exec = "sieve-editor-gui";
51
84
desktopName = "Sieve Editor";
52
-
icon = "sieve-editor-gui";
53
-
categories = [ "Utility" ];
85
+
icon = "sieve";
86
+
categories = [
87
+
"Utility"
88
+
"Email"
89
+
];
90
+
comment = "Tool to Manage Sieve Message Filters";
54
91
})
55
92
];
56
93
57
-
postInstall = ''
58
-
makeWrapper ${lib.getExe electron} $out/bin/sieve-editor-gui \
59
-
--add-flags $out/electron/resources/main_esm.js
60
-
'';
61
-
62
94
meta = {
63
95
description = "Activate, edit, delete and add Sieve scripts with a convenient interface";
64
96
homepage = "https://github.com/thsmi/sieve";
65
97
license = lib.licenses.agpl3Only;
66
-
maintainers = with lib.maintainers; [ Silver-Golden ];
67
-
platforms = lib.platforms.linux;
98
+
maintainers = with lib.maintainers; [
99
+
Silver-Golden
100
+
fugi
101
+
];
68
102
mainProgram = "sieve-editor-gui";
103
+
inherit (electron.meta) platforms;
69
104
};
70
105
}
+3
-3
pkgs/by-name/sp/spacer/package.nix
+3
-3
pkgs/by-name/sp/spacer/package.nix
···
6
6
7
7
rustPlatform.buildRustPackage rec {
8
8
pname = "spacer";
9
-
version = "0.4.5";
9
+
version = "0.5.0";
10
10
11
11
src = fetchFromGitHub {
12
12
owner = "samwho";
13
13
repo = "spacer";
14
14
rev = "v${version}";
15
-
hash = "sha256-GG9v6N7bJN7kYEQRqRIDgPPT0gGJ6LSSr8NWBDKsajo=";
15
+
hash = "sha256-OryVQmecb8BgnEKeSvAQha+uiv+aZd2Q41T9tZTcWaI=";
16
16
};
17
17
18
-
cargoHash = "sha256-sWE0nFFVAUcCgW6R3BWBdSqn1QMRI8tKnuxX4gpRdvA=";
18
+
cargoHash = "sha256-sFsERAvR99BZm7SmaL/5cmCrwVZIKGRiFYcBtSryFaw=";
19
19
20
20
meta = with lib; {
21
21
description = "CLI tool to insert spacers when command output stops";
+3
-4
pkgs/by-name/su/surelog/package.nix
+3
-4
pkgs/by-name/su/surelog/package.nix
···
17
17
18
18
stdenv.mkDerivation (finalAttrs: {
19
19
pname = "surelog";
20
-
version = "1.84-unstable-2024-12-06";
20
+
version = "1.86";
21
21
22
22
src = fetchFromGitHub {
23
23
owner = "chipsalliance";
24
24
repo = "surelog";
25
-
# Once we're back on a stable tag, use "v$(finalAttrs.version}" below.
26
-
rev = "298a9cddc672cce7f25ec352f9f8f36f5b23aa4e";
27
-
hash = "sha256-Qv4dosj2dwakNCcvu483ZMuw+LlYs4fhZTULszERLSI=";
25
+
tag = "v${finalAttrs.version}";
26
+
hash = "sha256-EEhaYimyzOgQB7dxbbTfsa7APC6SlFkz9ah9BLcKDq4=";
28
27
fetchSubmodules = false; # we use all dependencies from nix
29
28
};
30
29
+13
-7
pkgs/by-name/uh/uhdm/package.nix
+13
-7
pkgs/by-name/uh/uhdm/package.nix
···
9
9
}:
10
10
11
11
stdenv.mkDerivation (finalAttrs: {
12
-
pname = "UHDM";
13
-
# When updating this package, also consider updating science/logic/surelog
14
-
version = "1.84-unstable-2024-11-12";
12
+
pname = "uhdm";
13
+
# When updating this package, also consider updating surelog
14
+
version = "1.86";
15
15
16
16
src = fetchFromGitHub {
17
17
owner = "chipsalliance";
18
18
repo = "UHDM";
19
-
# After we're back on a stable tag, use v${finalAttrs.version}
20
-
rev = "7d90dd0e68759775d0c86885d991925096b5b496";
21
-
hash = "sha256-msdtBAlOXwYJd0HhWmVo8oMJ6h8OUmy0ILxV1MV52PE=";
19
+
tag = "v${finalAttrs.version}";
20
+
hash = "sha256-f7QJJEP/jL69DdMJOL5WQdDZU+kBnnLi2eX37AoaXls=";
22
21
fetchSubmodules = false; # we use all dependencies from nix
23
22
};
24
23
···
38
37
];
39
38
40
39
doCheck = true;
41
-
checkPhase = "make test";
40
+
41
+
checkPhase = ''
42
+
runHook preCheck
43
+
44
+
make test
45
+
46
+
runHook postCheck
47
+
'';
42
48
43
49
meta = {
44
50
description = "Universal Hardware Data Model";
+2
-2
pkgs/by-name/uu/uuu/package.nix
+2
-2
pkgs/by-name/uu/uuu/package.nix
···
18
18
19
19
stdenv.mkDerivation (finalAttrs: {
20
20
pname = "uuu";
21
-
version = "1.5.222";
21
+
version = "1.5.233";
22
22
23
23
src = fetchFromGitHub {
24
24
owner = "nxp-imx";
25
25
repo = "mfgtools";
26
26
rev = "uuu_${finalAttrs.version}";
27
-
hash = "sha256-n5CgsArkj67vR6WaUaTUYno1pFffXRxjlC7kU8N/oEM=";
27
+
hash = "sha256-x3C9bEE99XOIpnPjVV7Je5mfdhwN0nTkiuBxrwWZ7CI=";
28
28
};
29
29
30
30
passthru.updateScript = nix-update-script {
+8
-8
pkgs/by-name/va/vale-ls/package.nix
+8
-8
pkgs/by-name/va/vale-ls/package.nix
···
9
9
vale,
10
10
}:
11
11
12
-
rustPlatform.buildRustPackage rec {
12
+
rustPlatform.buildRustPackage (finalAttrs: {
13
13
pname = "vale-ls";
14
-
version = "0.3.8";
14
+
version = "0.4.0";
15
15
16
16
src = fetchFromGitHub {
17
17
owner = "errata-ai";
18
18
repo = "vale-ls";
19
-
tag = "v${version}";
20
-
hash = "sha256-+2peLqj3/ny0hDwJVKEp2XS68VO50IvpCB2fvZoEdJo=";
19
+
tag = "v${finalAttrs.version}";
20
+
hash = "sha256-lRRKRQTxgXF4E+XghJ5AOp+mtWtiCT13EcsPVydn4Uo=";
21
21
};
22
22
23
23
nativeBuildInputs = [
···
49
49
--suffix PATH : ${lib.makeBinPath [ vale ]}
50
50
'';
51
51
52
-
meta = with lib; {
52
+
meta = {
53
53
description = "LSP implementation for the Vale command-line tool";
54
54
homepage = "https://github.com/errata-ai/vale-ls";
55
-
license = licenses.mit;
55
+
license = lib.licenses.mit;
56
56
mainProgram = "vale-ls";
57
-
maintainers = with maintainers; [
57
+
maintainers = with lib.maintainers; [
58
58
foo-dogsquared
59
59
jansol
60
60
];
61
61
};
62
-
}
62
+
})
+6
-6
pkgs/by-name/va/vault-bin/package.nix
+6
-6
pkgs/by-name/va/vault-bin/package.nix
···
6
6
7
7
stdenv.mkDerivation rec {
8
8
pname = "vault-bin";
9
-
version = "1.20.2";
9
+
version = "1.20.3";
10
10
11
11
src =
12
12
let
···
20
20
aarch64-darwin = "darwin_arm64";
21
21
};
22
22
hash = selectSystem {
23
-
x86_64-linux = "sha256-Ea+GaukEEd02SzZYe+bzu8EWNPc5XxUVs3qZkF2ry6s=";
24
-
aarch64-linux = "sha256-Q1n57tUIaPdg++fr2NREv0hsApJdRqyfs/qEHiyst7Y=";
25
-
i686-linux = "sha256-8V/2Dm6F799fBhuPyUrdu6e7KDmr6SYxU74wRXCRobs=";
26
-
x86_64-darwin = "sha256-Yuaon05IXauU61xOqAh97DtlKhIQ05qt+Str5JXleHE=";
27
-
aarch64-darwin = "sha256-wTTEIeoKDNDenhMzwXtldjsz13jvrDY4eOuPFjSyE4Q=";
23
+
x86_64-linux = "sha256-3IE0WJ3JmzeUwC6OcorebHOD858SKiBR2Rv6KhKewXU=";
24
+
aarch64-linux = "sha256-DsqOf3yeOz3SI+CCvS2KcCJ6k18o4H+LI1Z39i9ezb0=";
25
+
i686-linux = "sha256-ONrB+Gwm0dMAK8lvCg5ljC2KApkugA8zX9HcmV0QzFM=";
26
+
x86_64-darwin = "sha256-cbxdyuLhc8+Ux2ZOX1zncsP2KGqWruuno/Yzct/cyII=";
27
+
aarch64-darwin = "sha256-zWuI+KFNyqoxnEKI25N4igXnXjoz+AXMU1WgGDKyfog=";
28
28
};
29
29
in
30
30
fetchzip {
+3
-3
pkgs/by-name/va/vault/package.nix
+3
-3
pkgs/by-name/va/vault/package.nix
···
12
12
13
13
buildGoModule rec {
14
14
pname = "vault";
15
-
version = "1.20.2";
15
+
version = "1.20.3";
16
16
17
17
src = fetchFromGitHub {
18
18
owner = "hashicorp";
19
19
repo = "vault";
20
20
rev = "v${version}";
21
-
hash = "sha256-QkBSHkXP67khJa/Ju7yx97ibOU3BcBt6tOHnS0rYvZM=";
21
+
hash = "sha256-q7Uz8gq092JU1v6sEQvraV6wxgBEGGnZFCBEw2f9GMw=";
22
22
};
23
23
24
-
vendorHash = "sha256-O7T7DO3RCQVBBDvFSLAgoD8tJRMJpb4/3ch7OYk4bIk=";
24
+
vendorHash = "sha256-504WH4KaL1ecsuwXlELKhpbHHK67IcaI+I4DvEQerwA=";
25
25
26
26
proxyVendor = true;
27
27
+3
-3
pkgs/by-name/wa/wasmi/package.nix
+3
-3
pkgs/by-name/wa/wasmi/package.nix
···
7
7
8
8
rustPlatform.buildRustPackage rec {
9
9
pname = "wasmi";
10
-
version = "0.51.0";
10
+
version = "0.51.1";
11
11
12
12
src = fetchFromGitHub {
13
13
owner = "paritytech";
14
14
repo = "wasmi";
15
15
tag = "v${version}";
16
-
hash = "sha256-mPArNkPrTW3RikLlQNkAjIUEfRot2nRaqceNopGmZDo=";
16
+
hash = "sha256-Y9wHrx5UcUzJOJoMq9oPgblrpRjLe9nX79FZxL2cIgY=";
17
17
fetchSubmodules = true;
18
18
};
19
19
20
-
cargoHash = "sha256-7L2XQ4E+1wyNMu2IEgqvKuY84k7kQ07m/dXbyDYN/VU=";
20
+
cargoHash = "sha256-tlvk+UAUMGToWaRbpsvI8eqsYrnoV/pvn+pWvbOv/18=";
21
21
passthru.updateScript = nix-update-script { };
22
22
23
23
meta = with lib; {
+21
-28
pkgs/by-name/wi/wipefreespace/package.nix
+21
-28
pkgs/by-name/wi/wipefreespace/package.nix
···
1
1
{
2
+
lib,
2
3
stdenv,
3
-
lib,
4
-
fetchurl,
4
+
fetchFromGitHub,
5
+
gettext,
6
+
texinfo,
7
+
xfsprogs,
5
8
e2fsprogs,
9
+
libcap,
6
10
ntfs3g,
7
-
xfsprogs,
8
-
reiser4progs,
9
-
libaal,
10
-
jfsutils,
11
-
libuuid,
12
-
texinfo,
13
11
}:
14
12
15
-
stdenv.mkDerivation rec {
13
+
stdenv.mkDerivation (finalAttrs: {
16
14
pname = "wipefreespace";
17
-
version = "2.6";
15
+
version = "3.0";
18
16
19
-
src = fetchurl {
20
-
url = "mirror://sourceforge/project/wipefreespace/wipefreespace/${version}/wipefreespace-${version}.tar.gz";
21
-
hash = "sha256-Pt6MDQ9wSJbL4tW/qckTpFsvE9FdXIkp/QmnYSlWR/M=";
17
+
src = fetchFromGitHub {
18
+
owner = "bogdro";
19
+
repo = "wipefreespace";
20
+
tag = finalAttrs.version;
21
+
hash = "sha256-zWjMCWQNPPly8xJ7jQraGHi4OLuNrnpNVQC2CRyHUlw=";
22
22
};
23
23
24
24
nativeBuildInputs = [
25
+
gettext
25
26
texinfo
27
+
xfsprogs
26
28
];
27
29
28
30
# missed: Reiser3 FAT12/16/32 MinixFS HFS+ OCFS
29
31
buildInputs = [
30
32
e2fsprogs
33
+
libcap
31
34
ntfs3g
32
35
xfsprogs
33
-
reiser4progs
34
-
libaal
35
-
jfsutils
36
-
libuuid
37
36
];
38
37
39
38
strictDeps = true;
40
39
41
-
preConfigure = ''
42
-
export PATH=$PATH:${xfsprogs}/bin
43
-
export CFLAGS=-I${jfsutils}/include
44
-
export LDFLAGS="-L${jfsutils}/lib -L${reiser4progs}/lib"
45
-
'';
46
-
47
-
meta = with lib; {
40
+
meta = {
48
41
description = "Program which will securely wipe the free space";
49
42
homepage = "https://wipefreespace.sourceforge.io";
50
-
license = licenses.gpl2Plus;
51
-
platforms = platforms.linux;
52
-
maintainers = with maintainers; [ catap ];
43
+
license = lib.licenses.gpl2Plus;
44
+
platforms = lib.platforms.linux;
45
+
maintainers = with lib.maintainers; [ kyehn ];
53
46
mainProgram = "wipefreespace";
54
47
};
55
-
}
48
+
})
-46
pkgs/by-name/zg/zgrab2/fix-go-version-error.patch
-46
pkgs/by-name/zg/zgrab2/fix-go-version-error.patch
···
1
-
diff --git a/go.mod b/go.mod
2
-
index 888f10e..5463ef5 100644
3
-
--- a/go.mod
4
-
+++ b/go.mod
5
-
@@ -1,25 +1,33 @@
6
-
module github.com/zmap/zgrab2
7
-
8
-
-go 1.12
9
-
+go 1.17
10
-
11
-
require (
12
-
- github.com/cespare/xxhash/v2 v2.2.0 // indirect
13
-
- github.com/go-kit/kit v0.10.0 // indirect
14
-
- github.com/golang/protobuf v1.5.3 // indirect
15
-
github.com/hdm/jarm-go v0.0.7
16
-
github.com/prometheus/client_golang v1.14.0
17
-
- github.com/prometheus/common v0.42.0 // indirect
18
-
- github.com/prometheus/procfs v0.9.0 // indirect
19
-
github.com/sirupsen/logrus v1.9.0
20
-
- github.com/zmap/rc2 v0.0.0-20190804163417-abaa70531248 // indirect
21
-
github.com/zmap/zcrypto v0.0.0-20230310154051-c8b263fd8300
22
-
github.com/zmap/zflags v1.4.0-beta.1.0.20200204220219-9d95409821b6
23
-
golang.org/x/crypto v0.7.0
24
-
golang.org/x/net v0.8.0
25
-
golang.org/x/sys v0.6.0
26
-
golang.org/x/text v0.8.0
27
-
- google.golang.org/protobuf v1.30.0 // indirect
28
-
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c
29
-
gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22
30
-
gopkg.in/yaml.v2 v2.4.0
31
-
)
32
-
+
33
-
+require (
34
-
+ github.com/beorn7/perks v1.0.1 // indirect
35
-
+ github.com/cespare/xxhash/v2 v2.2.0 // indirect
36
-
+ github.com/golang/protobuf v1.5.3 // indirect
37
-
+ github.com/kr/pretty v0.2.1 // indirect
38
-
+ github.com/kr/text v0.1.0 // indirect
39
-
+ github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
40
-
+ github.com/prometheus/client_model v0.3.0 // indirect
41
-
+ github.com/prometheus/common v0.42.0 // indirect
42
-
+ github.com/prometheus/procfs v0.9.0 // indirect
43
-
+ github.com/weppos/publicsuffix-go v0.30.0 // indirect
44
-
+ github.com/zmap/rc2 v0.0.0-20190804163417-abaa70531248 // indirect
45
-
+ google.golang.org/protobuf v1.30.0 // indirect
46
-
+)
+10
-17
pkgs/by-name/zg/zgrab2/package.nix
+10
-17
pkgs/by-name/zg/zgrab2/package.nix
···
4
4
fetchFromGitHub,
5
5
}:
6
6
7
-
buildGoModule {
7
+
buildGoModule (finalAttrs: {
8
8
pname = "zgrab2";
9
-
version = "unstable-2023-03-23";
9
+
version = "0.2.0";
10
10
11
11
src = fetchFromGitHub {
12
12
owner = "zmap";
13
13
repo = "zgrab2";
14
-
rev = "911c86f13080ceae98f8d63d1ae0e85c4a8f7f61";
15
-
hash = "sha256-VOWkBM/SziY3jiIaYYWq+LRzG4vKitiscqdIDfRUkYY=";
14
+
tag = "v${finalAttrs.version}";
15
+
hash = "sha256-9YDrWtSFFzFMN/pp0Kaknie4NMduOb/ZNrP+7MIMT+0=";
16
16
};
17
17
18
-
vendorHash = "sha256-Q3FCqvh4vn64QXqcePhVWTyIHJarI6I4YonH3X/7RhI=";
19
-
20
-
patches = [
21
-
# Without this, we get error messages like:
22
-
# vendor/golang.org/x/sys/unix/syscall.go:83:16: unsafe.Slice requires go1.17 or later (-lang was set to go1.16; check go.mod)
23
-
# The patch was generated by changing "go 1.12" to "go 1.17" and executing `go mod tidy -compat=1.17`.
24
-
./fix-go-version-error.patch
25
-
];
18
+
vendorHash = "sha256-8oidWUtSMMm/QMzrTkH07eyyBhCeZ9SUOO1+h1evbac=";
26
19
27
20
subPackages = [
28
21
"cmd/zgrab2"
29
22
];
30
23
31
-
meta = with lib; {
32
-
description = "Web application scanner";
24
+
meta = {
25
+
description = "Fast Application Layer Scanner";
33
26
mainProgram = "zgrab2";
34
27
homepage = "https://github.com/zmap/zgrab2";
35
-
license = with licenses; [
28
+
license = with lib.licenses; [
36
29
asl20
37
30
isc
38
31
];
39
-
maintainers = with maintainers; [
32
+
maintainers = with lib.maintainers; [
40
33
fab
41
34
juliusrickert
42
35
];
43
36
};
44
-
}
37
+
})
-3
pkgs/development/compilers/dart/package-source-builders/default.nix
-3
pkgs/development/compilers/dart/package-source-builders/default.nix
···
1
1
{ callPackage }:
2
2
3
3
{
4
-
audiotags = callPackage ./audiotags { };
5
4
file_picker = callPackage ./file_picker { };
6
5
flutter_discord_rpc = callPackage ./flutter_discord_rpc { };
7
6
flutter_secure_storage_linux = callPackage ./flutter-secure-storage-linux { };
8
7
flutter_vodozemac = callPackage ./flutter_vodozemac { };
9
8
flutter_volume_controller = callPackage ./flutter_volume_controller { };
10
-
fvp = callPackage ./fvp { };
11
9
handy_window = callPackage ./handy-window { };
12
10
matrix = callPackage ./matrix { };
13
11
media_kit_libs_linux = callPackage ./media_kit_libs_linux { };
14
-
metadata_god = callPackage ./metadata_god { };
15
12
olm = callPackage ./olm { };
16
13
objectbox_flutter_libs = callPackage ./objectbox_flutter_libs { };
17
14
pdfrx = callPackage ./pdfrx { };
-26
pkgs/development/compilers/dart/package-source-builders/fvp/default.nix
-26
pkgs/development/compilers/dart/package-source-builders/fvp/default.nix
···
1
-
{
2
-
stdenv,
3
-
mdk-sdk,
4
-
}:
5
-
6
-
{ version, src, ... }:
7
-
8
-
stdenv.mkDerivation rec {
9
-
pname = "fvp";
10
-
inherit version src;
11
-
inherit (src) passthru;
12
-
13
-
postPatch = ''
14
-
sed -i 's|.*libc++.so.1.*|${mdk-sdk}/lib/libc++.so.1|' ./linux/CMakeLists.txt
15
-
substituteInPlace ./linux/CMakeLists.txt \
16
-
--replace-fail "fvp_setup_deps()" "include(${mdk-sdk}/lib/cmake/FindMDK.cmake)"
17
-
'';
18
-
19
-
installPhase = ''
20
-
runHook preInstall
21
-
22
-
cp -r . $out
23
-
24
-
runHook postInstall
25
-
'';
26
-
}
-44
pkgs/development/compilers/dart/package-source-builders/metadata_god/default.nix
-44
pkgs/development/compilers/dart/package-source-builders/metadata_god/default.nix
···
1
-
{
2
-
lib,
3
-
stdenv,
4
-
fetchzip,
5
-
replaceVars,
6
-
}:
7
-
8
-
{ version, src, ... }:
9
-
10
-
let
11
-
inherit (stdenv.hostPlatform) system;
12
-
selectSystem =
13
-
attrs: attrs.${system} or (throw "metadata_god: ${stdenv.hostPlatform.system} is not supported");
14
-
suffix = selectSystem {
15
-
x86_64-linux = "linux-x64";
16
-
aarch64-linux = "linux-arm64";
17
-
};
18
-
metadata_god = fetchzip {
19
-
url = "https://github.com/KRTirtho/frb_plugins/releases/download/metadata_god-v0.5.3/linux.tar.gz";
20
-
hash = "sha256-ZR/q1dF8w4Yab6dRRiS5ZCChVnoecFUrtGiHXGlll9A=";
21
-
stripRoot = false;
22
-
};
23
-
in
24
-
stdenv.mkDerivation {
25
-
pname = "metadata_god";
26
-
inherit version src;
27
-
inherit (src) passthru;
28
-
29
-
patches = [
30
-
(replaceVars ./metadata_god.patch {
31
-
output_lib = "${metadata_god}/${suffix}/libmetadata_god.so";
32
-
})
33
-
];
34
-
35
-
installPhase = ''
36
-
runHook preInstall
37
-
38
-
cp -r . $out
39
-
40
-
runHook postInstall
41
-
'';
42
-
43
-
meta.sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
44
-
}
-33
pkgs/development/compilers/dart/package-source-builders/metadata_god/metadata_god.patch
-33
pkgs/development/compilers/dart/package-source-builders/metadata_god/metadata_god.patch
···
1
-
--- old/linux/CMakeLists.txt 2024-11-30 12:48:42.346266052 +0000
2
-
+++ new/linux/CMakeLists.txt 2024-11-30 12:50:45.495928529 +0000
3
-
@@ -9,29 +9,10 @@
4
-
set(PROJECT_NAME "metadata_god")
5
-
project(${PROJECT_NAME} LANGUAGES CXX)
6
-
7
-
-# Download the binaries if they are not already present.
8
-
-set(LibRoot "${CMAKE_CURRENT_SOURCE_DIR}/${LibraryVersion}")
9
-
-set(ArchivePath "${LibRoot}.tar.gz")
10
-
-if(NOT EXISTS ${ArchivePath})
11
-
- file(DOWNLOAD
12
-
- "https://github.com/KRTirtho/metadata_god/releases/download/${LibraryVersion}/other.tar.gz"
13
-
- ${ArchivePath}
14
-
- TLS_VERIFY ON
15
-
- )
16
-
-endif()
17
-
-
18
-
-# Extract the binaries, overriding any already present.
19
-
-file(REMOVE_RECURSE ${LibRoot})
20
-
-file(MAKE_DIRECTORY ${LibRoot})
21
-
-execute_process(
22
-
- COMMAND ${CMAKE_COMMAND} -E tar xzf ${ArchivePath}
23
-
- WORKING_DIRECTORY ${LibRoot}
24
-
-)
25
-
-
26
-
# List of absolute paths to libraries that should be bundled with the plugin.
27
-
# This list could contain prebuilt libraries, or libraries created by an
28
-
# external build triggered from this build file.
29
-
set(metadata_god_bundled_libraries
30
-
- "${LibRoot}/${FLUTTER_TARGET_PLATFORM}/libmetadata_god.so"
31
-
+ @output_lib@
32
-
PARENT_SCOPE
33
-
)
+3
-3
pkgs/development/compilers/llvm/default.nix
+3
-3
pkgs/development/compilers/llvm/default.nix
···
33
33
"20.1.8".officialRelease.sha256 = "sha256-ysyB/EYxi2qE9fD5x/F2zI4vjn8UDoo1Z9ukiIrjFGw=";
34
34
"21.1.0-rc3".officialRelease.sha256 = "sha256-quZuqDIm8OrkDJqu7vJKUP8MF1xCuQNFwW9SnKMFoS8=";
35
35
"22.0.0-git".gitRelease = {
36
-
rev = "b121cdfe197f7d684723b432c766820ab172a7a8";
37
-
rev-version = "22.0.0-unstable-2025-08-24";
38
-
sha256 = "sha256-SHR+xoaGlGMp1eqwDyDxdQjjjgbG3UNsDq+wrp2y1Y8=";
36
+
rev = "0b42e117c829c6e127ef4b1bd82807ba01853128";
37
+
rev-version = "22.0.0-unstable-2025-08-31";
38
+
sha256 = "sha256-rClCPbTYqw0ZO9dJqJn3bqtuu9yxwcEfJs3vAW2xjAc=";
39
39
};
40
40
}
41
41
// llvmVersions;
+2
-2
pkgs/development/libraries/qtpbfimageplugin/default.nix
+2
-2
pkgs/development/libraries/qtpbfimageplugin/default.nix
···
8
8
9
9
stdenv.mkDerivation rec {
10
10
pname = "qtpbfimageplugin";
11
-
version = "4.5";
11
+
version = "4.7";
12
12
13
13
src = fetchFromGitHub {
14
14
owner = "tumic0";
15
15
repo = "QtPBFImagePlugin";
16
16
tag = version;
17
-
hash = "sha256-uhlm2ELRsWwm2V87ANKT9LdhUdlbfu1I8K98npryq2I=";
17
+
hash = "sha256-XcHfzBMLCP5ScGz1COpl+kYXzEZATYqvhDfKVS7ona4=";
18
18
};
19
19
20
20
nativeBuildInputs = [
+5
-6
pkgs/development/python-modules/ase/default.nix
+5
-6
pkgs/development/python-modules/ase/default.nix
···
3
3
stdenv,
4
4
fetchFromGitLab,
5
5
buildPythonPackage,
6
-
isPy27,
7
-
fetchPypi,
8
6
pythonAtLeast,
9
7
10
8
# build-system
···
29
27
30
28
buildPythonPackage rec {
31
29
pname = "ase";
32
-
version = "3.25.0-unstable-2025-06-24";
30
+
version = "3.26.0";
33
31
pyproject = true;
34
32
35
33
src = fetchFromGitLab {
36
34
owner = "ase";
37
35
repo = "ase";
38
-
rev = "4e22dabfbe7ae2329e50260ca1b6f08a83527ac3";
39
-
hash = "sha256-ehMyVtPxfTxT8T418VyLGnUEyYip4LPTTaGL0va7qgM=";
36
+
tag = version;
37
+
hash = "sha256-1738NQPgOqSr2PZu1T2b9bL0V+ZzGk2jcWBhLF21VQs=";
40
38
};
41
39
42
40
build-system = [ setuptools ];
···
79
77
80
78
meta = {
81
79
description = "Atomic Simulation Environment";
82
-
homepage = "https://wiki.fysik.dtu.dk/ase/";
80
+
homepage = "https://ase-lib.org/";
81
+
changelog = "https://ase-lib.org/releasenotes.html";
83
82
license = lib.licenses.lgpl21Plus;
84
83
maintainers = [ ];
85
84
};
+2
-2
pkgs/development/python-modules/atproto/default.nix
+2
-2
pkgs/development/python-modules/atproto/default.nix
···
27
27
28
28
buildPythonPackage rec {
29
29
pname = "atproto";
30
-
version = "0.0.61";
30
+
version = "0.0.62";
31
31
format = "pyproject";
32
32
disabled = pythonOlder "3.8";
33
33
···
36
36
owner = "MarshalX";
37
37
repo = "atproto";
38
38
tag = "v${version}";
39
-
hash = "sha256-90u/ew5j6kRU8Mow/dXTUXpv2FbEFpKRPGoaWQ7gvSA=";
39
+
hash = "sha256-T1Jdg62fSV+5qC486Agsuk6qrDhGSNHq75uvOyvOwpA=";
40
40
};
41
41
42
42
POETRY_DYNAMIC_VERSIONING_BYPASS = version;
+2
-2
pkgs/development/python-modules/boto3-stubs/default.nix
+2
-2
pkgs/development/python-modules/boto3-stubs/default.nix
···
359
359
360
360
buildPythonPackage rec {
361
361
pname = "boto3-stubs";
362
-
version = "1.40.20";
362
+
version = "1.40.21";
363
363
pyproject = true;
364
364
365
365
disabled = pythonOlder "3.7";
···
367
367
src = fetchPypi {
368
368
pname = "boto3_stubs";
369
369
inherit version;
370
-
hash = "sha256-Wv2WCM7csPgJOcL+i8J3vAi8V0OlrtdiaMozyc7G9X0=";
370
+
hash = "sha256-7zb2XH/ob/vJPBQY+okEgDzjvP/DyTLD0a4zqdAvoc0=";
371
371
};
372
372
373
373
build-system = [ setuptools ];
+2
-2
pkgs/development/python-modules/botocore-stubs/default.nix
+2
-2
pkgs/development/python-modules/botocore-stubs/default.nix
···
10
10
11
11
buildPythonPackage rec {
12
12
pname = "botocore-stubs";
13
-
version = "1.38.46";
13
+
version = "1.40.21";
14
14
pyproject = true;
15
15
16
16
disabled = pythonOlder "3.7";
···
18
18
src = fetchPypi {
19
19
pname = "botocore_stubs";
20
20
inherit version;
21
-
hash = "sha256-oE5pdmq4uuM4kRwYl0kviNBc1InNdfBubrTxNfnajHs=";
21
+
hash = "sha256-Gld35OTwM17X0xhbDypVwfxeoeYP4mTN6lGhccOwsBE=";
22
22
};
23
23
24
24
nativeBuildInputs = [ setuptools ];
+2
-2
pkgs/development/python-modules/braintree/default.nix
+2
-2
pkgs/development/python-modules/braintree/default.nix
···
9
9
10
10
buildPythonPackage rec {
11
11
pname = "braintree";
12
-
version = "4.29.0";
12
+
version = "4.38.0";
13
13
pyproject = true;
14
14
15
15
src = fetchFromGitHub {
16
16
owner = "braintree";
17
17
repo = "braintree_python";
18
18
rev = version;
19
-
hash = "sha256-5MF8W2zUVvNiOnmszgJkMDmeYLZ6ppFHqmH6dmlCzQY=";
19
+
hash = "sha256-cAzqHMkEWaLXHbPUnkyFF5UD43rPk6txRSB2n9NJLTE=";
20
20
};
21
21
22
22
build-system = [ setuptools ];
+2
-2
pkgs/development/python-modules/chirpstack-api/default.nix
+2
-2
pkgs/development/python-modules/chirpstack-api/default.nix
···
9
9
10
10
buildPythonPackage rec {
11
11
pname = "chirpstack-api";
12
-
version = "3.12.4";
12
+
version = "3.12.5";
13
13
format = "setuptools";
14
14
15
15
disabled = pythonOlder "3.7";
···
18
18
owner = "brocaar";
19
19
repo = "chirpstack-api";
20
20
rev = "v${version}";
21
-
hash = "sha256-69encHMk0eXE2Av87ysKvxoiXog5o68qCUlOx/lgHFU=";
21
+
hash = "sha256-TDwvUNnGAbt10lLg6U7q+JMg7uu8TLySYqNyt/uk8UY=";
22
22
};
23
23
24
24
sourceRoot = "${src.name}/python/src";
+2
-2
pkgs/development/python-modules/django-currentuser/default.nix
+2
-2
pkgs/development/python-modules/django-currentuser/default.nix
···
13
13
14
14
buildPythonPackage rec {
15
15
pname = "django-currentuser";
16
-
version = "0.8.0";
16
+
version = "0.9.0";
17
17
pyproject = true;
18
18
19
19
disabled = pythonOlder "3.8";
···
22
22
owner = "zsoldosp";
23
23
repo = "django-currentuser";
24
24
tag = "v${version}";
25
-
hash = "sha256-buWYVl/nGxzoaDgA6Ds2R/AhGTYpi9JxxO0ER8Vuly4=";
25
+
hash = "sha256-pfgsVsWM/aehZZAQzjL1fdsqWlfnquOniu76UoLPREI=";
26
26
};
27
27
28
28
build-system = [
+2
-2
pkgs/development/python-modules/django-otp/default.nix
+2
-2
pkgs/development/python-modules/django-otp/default.nix
···
12
12
13
13
buildPythonPackage rec {
14
14
pname = "django-otp";
15
-
version = "1.6.0";
15
+
version = "1.6.1";
16
16
pyproject = true;
17
17
18
18
src = fetchFromGitHub {
19
19
owner = "django-otp";
20
20
repo = "django-otp";
21
21
tag = "v${version}";
22
-
hash = "sha256-kK7aU2W89557vrzJF6XtmItIZlOsxibciyMlbRDT93c=";
22
+
hash = "sha256-//i2KSsrkofcNE2JUlIG9zPCe/cIzBo/zmueC4I5g7I=";
23
23
};
24
24
25
25
build-system = [ hatchling ];
+11
pkgs/development/python-modules/dscribe/default.nix
+11
pkgs/development/python-modules/dscribe/default.nix
···
79
79
"test_examples"
80
80
];
81
81
82
+
# Broken due to use of missing _get_constraints attr in ase >= 3.26.0
83
+
# https://github.com/SINGROUP/dscribe/issues/160
84
+
disabledTestPaths = [
85
+
"tests/test_examples.py::test_examples"
86
+
"tests/test_general.py::test_atoms_to_system"
87
+
"tests/test_lmbtr.py"
88
+
"tests/test_mbtr.py"
89
+
"tests/test_sinematrix.py"
90
+
"tests/test_valle_oganov.py"
91
+
];
92
+
82
93
meta = {
83
94
description = "Machine learning descriptors for atomistic systems";
84
95
homepage = "https://github.com/SINGROUP/dscribe";
+2
-2
pkgs/development/python-modules/jianpu-ly/default.nix
+2
-2
pkgs/development/python-modules/jianpu-ly/default.nix
···
8
8
9
9
buildPythonPackage rec {
10
10
pname = "jianpu-ly";
11
-
version = "1.860";
11
+
version = "1.862";
12
12
pyproject = true;
13
13
14
14
src = fetchPypi {
15
15
inherit version;
16
16
pname = "jianpu_ly";
17
-
hash = "sha256-lUsQMNYQVuZ0Ob007hrSigGLWuyFehLEdm112V3PLXI=";
17
+
hash = "sha256-lrJVepMtdeHti+zmHiTP578aVedWj9N+s74xif1U9UM=";
18
18
};
19
19
20
20
dependencies = [ lilypond ];
+2
-2
pkgs/development/python-modules/lm-format-enforcer/default.nix
+2
-2
pkgs/development/python-modules/lm-format-enforcer/default.nix
···
10
10
11
11
buildPythonPackage rec {
12
12
pname = "lm-format-enforcer";
13
-
version = "0.10.12";
13
+
version = "0.11.3";
14
14
pyproject = true;
15
15
16
16
src = fetchFromGitHub {
17
17
owner = "noamgat";
18
18
repo = "lm-format-enforcer";
19
19
tag = "v${version}";
20
-
hash = "sha256-7QNJtuRIuHHSXmiyO+6TDxswsbLET2ucXjhz0j7xTvQ=";
20
+
hash = "sha256-aUZo7Nlk5A9SRyQFFGhy3LAJO29ygRFwNC4WbRuXvYE=";
21
21
};
22
22
23
23
build-system = [ poetry-core ];
+2
-2
pkgs/development/python-modules/mkdocs-mermaid2-plugin/default.nix
+2
-2
pkgs/development/python-modules/mkdocs-mermaid2-plugin/default.nix
···
14
14
15
15
buildPythonPackage rec {
16
16
pname = "mkdocs-mermaid2-plugin";
17
-
version = "1.2.1";
17
+
version = "1.2.2";
18
18
format = "setuptools";
19
19
20
20
disabled = pythonOlder "3.7";
···
23
23
owner = "fralau";
24
24
repo = "mkdocs-mermaid2-plugin";
25
25
tag = "v${version}";
26
-
hash = "sha256-LKPjhCPozz/+UV2658qWOIjpMt6w+UDBXsg1fqyg48M=";
26
+
hash = "sha256-4WuE9fO4o0uN48W2Rwd4gKa6pK9bqyrcGjFLEkfJ0E4=";
27
27
};
28
28
29
29
propagatedBuildInputs = [
+4
-4
pkgs/development/python-modules/mypy-boto3/default.nix
+4
-4
pkgs/development/python-modules/mypy-boto3/default.nix
···
446
446
"sha256-jtkx0kbI7SB74U5uWyGdVhKMlsy/T82lz3P89k8LMPA=";
447
447
448
448
mypy-boto3-ec2 =
449
-
buildMypyBoto3Package "ec2" "1.40.20"
450
-
"sha256-6TBiPxpWzoFP8cKp/p/EpJCpi5gr3aIwJ29S7WkPwio=";
449
+
buildMypyBoto3Package "ec2" "1.40.21"
450
+
"sha256-Qyut3NPzxS/3A0ntPzzTmPQyldtKetrBdV0Rx6KJGjY=";
451
451
452
452
mypy-boto3-ec2-instance-connect =
453
453
buildMypyBoto3Package "ec2-instance-connect" "1.40.20"
···
1433
1433
"sha256-1Nm+3yAqMg/qtpdxae2etPehfszBq454U/U/1ClPeGg=";
1434
1434
1435
1435
mypy-boto3-xray =
1436
-
buildMypyBoto3Package "xray" "1.40.20"
1437
-
"sha256-aVMF1bPs5T/MWpb3ZVhDvrdVmAQIoOr7T+EIs980m+c=";
1436
+
buildMypyBoto3Package "xray" "1.40.21"
1437
+
"sha256-vYgKyQDj823W9FAZST7H3hxCAdqeUM2TRSaDTLMObqs=";
1438
1438
}
+2
-2
pkgs/development/python-modules/pbxproj/default.nix
+2
-2
pkgs/development/python-modules/pbxproj/default.nix
···
10
10
11
11
buildPythonPackage rec {
12
12
pname = "pbxproj";
13
-
version = "4.2.1";
13
+
version = "4.3.0";
14
14
pyproject = true;
15
15
16
16
src = fetchFromGitHub {
17
17
owner = "kronenthaler";
18
18
repo = "mod-pbxproj";
19
19
tag = version;
20
-
hash = "sha256-srtS6ggVnpffEa57LL2OzfC2mVd9uLxUL6LzxqPVLdo=";
20
+
hash = "sha256-A7kYjlMr0PDZHdZLhs7Mn2Ihx0XKQUbVaRgWcMoWM7E=";
21
21
};
22
22
23
23
build-system = [ setuptools ];
+2
-2
pkgs/development/python-modules/plexapi/default.nix
+2
-2
pkgs/development/python-modules/plexapi/default.nix
···
11
11
12
12
buildPythonPackage rec {
13
13
pname = "plexapi";
14
-
version = "4.17.0";
14
+
version = "4.17.1";
15
15
pyproject = true;
16
16
17
17
disabled = pythonOlder "3.8";
···
20
20
owner = "pkkid";
21
21
repo = "python-plexapi";
22
22
tag = version;
23
-
hash = "sha256-/CYWoEHmev5e5ZmlaBms1zclRwzvugAuG2JXzK9MeZA=";
23
+
hash = "sha256-INnZ8aklr6mvawEy2XgI8mA9UD+S2KpQTsbHAZuYii0=";
24
24
};
25
25
26
26
build-system = [ setuptools ];
+2
-2
pkgs/development/python-modules/pykdtree/default.nix
+2
-2
pkgs/development/python-modules/pykdtree/default.nix
···
17
17
18
18
buildPythonPackage rec {
19
19
pname = "pykdtree";
20
-
version = "1.4.2";
20
+
version = "1.4.3";
21
21
pyproject = true;
22
22
23
23
src = fetchPypi {
24
24
inherit pname version;
25
-
hash = "sha256-vSuWehalUQ76hz7lLZWdDYITicx0m7UWc65oMW7rZfU=";
25
+
hash = "sha256-2Rh5MP+4yCLFJZW2SUi0c0ZpTuKknicCQgtY90PXhvU=";
26
26
};
27
27
28
28
nativeBuildInputs = [
+2
-2
pkgs/development/python-modules/python-youtube/default.nix
+2
-2
pkgs/development/python-modules/python-youtube/default.nix
···
14
14
15
15
buildPythonPackage rec {
16
16
pname = "python-youtube";
17
-
version = "0.9.7";
17
+
version = "0.9.8";
18
18
pyproject = true;
19
19
20
20
src = fetchFromGitHub {
21
21
owner = "sns-sdks";
22
22
repo = "python-youtube";
23
23
tag = "v${version}";
24
-
hash = "sha256-dK0le/7/hpavrHbk4DaXoIxPHUUJuWuxHIWMZKC4eSM=";
24
+
hash = "sha256-8Ozfga6gPLzPG770hluAgxIYI2TEX5uAe6BeMzIp+z4=";
25
25
};
26
26
27
27
pythonRelaxDeps = [
+2
-2
pkgs/development/python-modules/pywikibot/default.nix
+2
-2
pkgs/development/python-modules/pywikibot/default.nix
···
10
10
11
11
buildPythonPackage rec {
12
12
pname = "pywikibot";
13
-
version = "10.3.0";
13
+
version = "10.3.2";
14
14
format = "setuptools";
15
15
16
16
disabled = pythonOlder "3.8";
17
17
18
18
src = fetchPypi {
19
19
inherit pname version;
20
-
hash = "sha256-QXgv++Vr2HYzoAAwk2eVg/EnKqX9EFUJo6OBHvlYbjQ=";
20
+
hash = "sha256-3mBcGhUeKggdOdhYUa4bwthIpHBdCRi10T+onHhavtk=";
21
21
};
22
22
23
23
propagatedBuildInputs = [
+1
-1
pkgs/development/python-modules/qreactor/default.nix
+1
-1
pkgs/development/python-modules/qreactor/default.nix
+2
-2
pkgs/development/python-modules/rfc3161-client/default.nix
+2
-2
pkgs/development/python-modules/rfc3161-client/default.nix
···
11
11
12
12
buildPythonPackage rec {
13
13
pname = "rfc3161-client";
14
-
version = "1.0.3";
14
+
version = "1.0.4";
15
15
pyproject = true;
16
16
17
17
src = fetchFromGitHub {
18
18
owner = "trailofbits";
19
19
repo = "rfc3161-client";
20
20
tag = "v${version}";
21
-
hash = "sha256-1TdJGaiDS+ktmry0c294likWj8bbwaNkcUM7Q2f1YPU=";
21
+
hash = "sha256-/+vKpd7wLFa7BgczzI27fLykxq5q4q1PC3QpoAO2E7M=";
22
22
};
23
23
24
24
cargoDeps = rustPlatform.fetchCargoVendor {
-121
pkgs/development/python-modules/sparsezoo/default.nix
-121
pkgs/development/python-modules/sparsezoo/default.nix
···
1
-
{
2
-
lib,
3
-
buildPythonPackage,
4
-
fetchFromGitHub,
5
-
6
-
# build-system
7
-
setuptools,
8
-
9
-
# dependencies
10
-
click,
11
-
geocoder,
12
-
numpy,
13
-
onnx,
14
-
pandas,
15
-
protobuf,
16
-
py-machineid,
17
-
pydantic,
18
-
pyyaml,
19
-
requests,
20
-
tqdm,
21
-
22
-
# checks
23
-
matplotlib,
24
-
pytestCheckHook,
25
-
}:
26
-
27
-
buildPythonPackage rec {
28
-
pname = "sparsezoo";
29
-
version = "1.9.0";
30
-
pyproject = true;
31
-
32
-
src = fetchFromGitHub {
33
-
owner = "neuralmagic";
34
-
repo = "sparsezoo";
35
-
tag = "v${version}";
36
-
hash = "sha256-eMP/whm06QX5x/RBoYsYwuKxFnpFmqlgh2uDsI3Vaog=";
37
-
};
38
-
39
-
build-system = [ setuptools ];
40
-
41
-
pythonRelaxDeps = [
42
-
"numpy"
43
-
"onnx"
44
-
];
45
-
46
-
dependencies = [
47
-
click
48
-
geocoder
49
-
numpy
50
-
onnx
51
-
pandas
52
-
protobuf
53
-
py-machineid
54
-
pydantic
55
-
pyyaml
56
-
requests
57
-
tqdm
58
-
];
59
-
60
-
pythonImportsCheck = [ "sparsezoo" ];
61
-
62
-
nativeCheckInputs = [
63
-
matplotlib
64
-
pytestCheckHook
65
-
];
66
-
67
-
disabledTests = [
68
-
# Require network access
69
-
"test_analysis"
70
-
"test_custom_default"
71
-
"test_draw_operation_chart"
72
-
"test_draw_parameter_chart"
73
-
"test_draw_parameter_operation_combined_chart"
74
-
"test_draw_sparsity_by_layer_chart"
75
-
"test_extract_node_id"
76
-
"test_fail_default_on_empty"
77
-
"test_folder_structure"
78
-
"test_from_model_analysis"
79
-
"test_generate_outputs"
80
-
"test_get_layer_and_op_counts"
81
-
"test_get_node_bias"
82
-
"test_get_node_bias_name"
83
-
"test_get_node_four_block_sparsity"
84
-
"test_get_node_num_four_block_zeros_and_size"
85
-
"test_get_node_num_zeros_and_size"
86
-
"test_get_node_sparsity"
87
-
"test_get_node_weight_and_shape"
88
-
"test_get_node_weight_name"
89
-
"test_get_ops_dict"
90
-
"test_get_zero_point"
91
-
"test_graphql_api_response"
92
-
"test_is_four_block_sparse_layer"
93
-
"test_is_parameterized_prunable_layer"
94
-
"test_is_quantized_layer"
95
-
"test_is_sparse_layer"
96
-
"test_latency_extractor"
97
-
"test_load_files_from_stub"
98
-
"test_model_from_stub"
99
-
"test_model_gz_extraction_from_local_files"
100
-
"test_model_gz_extraction_from_stub"
101
-
"test_recipe_getters"
102
-
"test_search_models"
103
-
"test_setup_model_from_objects"
104
-
"test_setup_model_from_paths"
105
-
"test_validate"
106
-
];
107
-
108
-
disabledTestPaths = [
109
-
# Require network access
110
-
"tests/sparsezoo/analyze/test_model_analysis_creation.py"
111
-
"tests/sparsezoo/deployment_package/utils/test_utils.py"
112
-
];
113
-
114
-
meta = {
115
-
description = "Neural network model repository for highly sparse and sparse-quantized models with matching sparsification recipes";
116
-
homepage = "https://github.com/neuralmagic/sparsezoo";
117
-
changelog = "https://github.com/neuralmagic/sparsezoo/releases/tag/${src.tag}";
118
-
license = lib.licenses.asl20;
119
-
maintainers = with lib.maintainers; [ GaetanLepage ];
120
-
};
121
-
}
+2
-2
pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
+2
-2
pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
···
9
9
10
10
buildPythonPackage rec {
11
11
pname = "tencentcloud-sdk-python";
12
-
version = "3.0.1452";
12
+
version = "3.0.1453";
13
13
pyproject = true;
14
14
15
15
src = fetchFromGitHub {
16
16
owner = "TencentCloud";
17
17
repo = "tencentcloud-sdk-python";
18
18
tag = version;
19
-
hash = "sha256-MNzrMy6j1lPtLGx9PIc1I4xPn1s9Nx9WnFC5UYg2/Ds=";
19
+
hash = "sha256-KjnRpoRiZ1+BrBW4JANcRWTdMzl0Vds5p4x1hJBWh7s=";
20
20
};
21
21
22
22
build-system = [ setuptools ];
+2
-2
pkgs/development/python-modules/textual/default.nix
+2
-2
pkgs/development/python-modules/textual/default.nix
···
29
29
30
30
buildPythonPackage rec {
31
31
pname = "textual";
32
-
version = "5.3.0";
32
+
version = "6.0.0";
33
33
pyproject = true;
34
34
35
35
src = fetchFromGitHub {
36
36
owner = "Textualize";
37
37
repo = "textual";
38
38
tag = "v${version}";
39
-
hash = "sha256-J7Sb4nv9wOl1JnR6Ky4XS9HZHABKtNKPB3uYfC/UGO4=";
39
+
hash = "sha256-VpZeK0/SATL+XFDkPQgWwUIsJ4Kgqg0PQ4VzNYp4nPU=";
40
40
};
41
41
42
42
build-system = [ poetry-core ];
+11
pkgs/development/python-modules/wgnlpy/default.nix
+11
pkgs/development/python-modules/wgnlpy/default.nix
···
2
2
lib,
3
3
buildPythonPackage,
4
4
fetchFromGitHub,
5
+
fetchpatch,
5
6
setuptools,
6
7
cryptography,
7
8
pyroute2,
···
18
19
rev = "v${version}";
19
20
hash = "sha256-5XAfBiKx4SqouA57PxmaCb0ea7mT2VeUI1tgnQE/ZwQ=";
20
21
};
22
+
23
+
patches = [
24
+
# see https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/83019
25
+
# Required for ifstate
26
+
# Upstream Issue/PR: https://github.com/ArgosyLabs/wgnlpy/pull/5
27
+
(fetchpatch {
28
+
url = "https://gitlab.alpinelinux.org/alpine/aports/-/raw/1f78a31dc3e8d7ffd4ff4b8c32fabc3ad0265ae2/community/py3-wgnlpy/0001-fix-exception-when-WGPEER_A_LAST_HANDSHAKE_TIME-is-N.patch";
29
+
hash = "sha256-MO5MMDXnaCPdakMlxCkiCBCDCiTFdG3V66l+AKb95X4=";
30
+
})
31
+
];
21
32
22
33
build-system = [ setuptools ];
23
34
+3
-2
pkgs/os-specific/linux/drbd/driver.nix
+3
-2
pkgs/os-specific/linux/drbd/driver.nix
···
12
12
13
13
stdenv.mkDerivation (finalAttrs: {
14
14
pname = "drbd";
15
-
version = "9.2.12";
15
+
version = "9.2.14";
16
16
17
17
src = fetchurl {
18
18
url = "https://pkg.linbit.com//downloads/drbd/9/drbd-${finalAttrs.version}.tar.gz";
19
-
hash = "sha256-amdcyPTynGTaaZh558Q3KnGuGyyLJKnsY+NBCO26Jq0=";
19
+
hash = "sha256-x8onWPTyBnKt17xofivVlU+42nq1XtCo9i14kSOSd98=";
20
20
};
21
21
22
22
hardeningDisable = [ "pic" ];
···
57
57
DRBD is a software-based, shared-nothing, replicated storage solution
58
58
mirroring the content of block devices (hard disks, partitions, logical volumes, and so on) between hosts.
59
59
'';
60
+
broken = kernel.kernelAtLeast "6.16"; # several build errors with 6.16.x kernel versions
60
61
};
61
62
})
+2
-2
pkgs/servers/home-assistant/custom-components/frigate/package.nix
+2
-2
pkgs/servers/home-assistant/custom-components/frigate/package.nix
···
18
18
buildHomeAssistantComponent rec {
19
19
owner = "blakeblackshear";
20
20
domain = "frigate";
21
-
version = "5.9.3";
21
+
version = "5.9.4";
22
22
23
23
src = fetchFromGitHub {
24
24
owner = "blakeblackshear";
25
25
repo = "frigate-hass-integration";
26
26
tag = "v${version}";
27
-
hash = "sha256-kbhDZbyNVct0GDhIr7mKyeVIkyV+Gc/gzbKnnv1FcQg=";
27
+
hash = "sha256-LzrIvHJMB6mFAEfKoMIs0wL+xbEjoBIx48pSEcCHmg4=";
28
28
};
29
29
30
30
dependencies = [ hass-web-proxy-lib ];
+5
-2
pkgs/servers/mail/mailpit/default.nix
pkgs/by-name/ma/mailpit/package.nix
+5
-2
pkgs/servers/mail/mailpit/default.nix
pkgs/by-name/ma/mailpit/package.nix
···
5
5
nodejs,
6
6
python3,
7
7
libtool,
8
+
cctools,
8
9
npmHooks,
9
10
fetchFromGitHub,
10
11
fetchNpmDeps,
···
28
29
hash = source.hash;
29
30
};
30
31
32
+
libtool' = if stdenv.hostPlatform.isDarwin then cctools else libtool;
33
+
31
34
# Separate derivation, because if we mix this in buildGoModule, the separate
32
35
# go-modules build inherits specific attributes and fails. Getting that to
33
36
# work is hackier than just splitting the build.
···
43
46
nativeBuildInputs = [
44
47
nodejs
45
48
python3
46
-
libtool
49
+
libtool'
47
50
npmHooks.npmConfigHook
48
51
];
49
52
···
78
81
inherit (nixosTests) mailpit;
79
82
version = testers.testVersion {
80
83
package = mailpit;
81
-
command = "mailpit version";
84
+
command = "mailpit version --no-release-check";
82
85
};
83
86
};
84
87
-6
pkgs/servers/mail/mailpit/source.nix
-6
pkgs/servers/mail/mailpit/source.nix
pkgs/servers/mail/mailpit/update.sh
pkgs/by-name/ma/mailpit/update.sh
pkgs/servers/mail/mailpit/update.sh
pkgs/by-name/ma/mailpit/update.sh
+27
pkgs/servers/sql/postgresql/ext/pg_csv.nix
+27
pkgs/servers/sql/postgresql/ext/pg_csv.nix
···
1
+
{
2
+
fetchFromGitHub,
3
+
lib,
4
+
postgresql,
5
+
postgresqlBuildExtension,
6
+
}:
7
+
8
+
postgresqlBuildExtension (finalAttrs: {
9
+
pname = "pg_csv";
10
+
version = "1.0";
11
+
12
+
src = fetchFromGitHub {
13
+
owner = "PostgREST";
14
+
repo = "pg_csv";
15
+
tag = "v${finalAttrs.version}";
16
+
hash = "sha256-Sw9eMpzz+suotJQ2KHgT0dQAF8OGFojJIhOC8tZ750o=";
17
+
};
18
+
19
+
meta = {
20
+
description = "Flexible CSV processing for Postgres";
21
+
homepage = "https://github.com/PostgREST/pg_csv";
22
+
changelog = "https://github.com/PostgREST/pg_csv/releases/tag/v${finalAttrs.version}";
23
+
maintainers = with lib.maintainers; [ steve-chavez ];
24
+
platforms = postgresql.meta.platforms;
25
+
license = lib.licenses.mit;
26
+
};
27
+
})
+14
pkgs/tools/package-management/nix/default.nix
+14
pkgs/tools/package-management/nix/default.nix
···
164
164
165
165
nix_2_30 = addTests "nix_2_30" self.nixComponents_2_30.nix-everything;
166
166
167
+
nixComponents_2_31 = nixDependencies.callPackage ./modular/packages.nix rec {
168
+
version = "2.31.0";
169
+
inherit (self.nix_2_30.meta) maintainers teams;
170
+
otherSplices = generateSplicesForNixComponents "nixComponents_2_31";
171
+
src = fetchFromGitHub {
172
+
owner = "NixOS";
173
+
repo = "nix";
174
+
tag = version;
175
+
hash = "sha256-5JYyijH2q/uQCDIZCCyQEBsZ0VPNP2SS1wgZ4+qeIWM=";
176
+
};
177
+
};
178
+
179
+
nix_2_31 = addTests "nix_2_31" self.nixComponents_2_31.nix-everything;
180
+
167
181
nixComponents_git = nixDependencies.callPackage ./modular/packages.nix rec {
168
182
version = "2.31pre20250712_${lib.substring 0 8 src.rev}";
169
183
inherit maintainers teams;
+14
-1
pkgs/tools/package-management/nix/dependencies.nix
+14
-1
pkgs/tools/package-management/nix/dependencies.nix
···
8
8
9
9
{
10
10
scopeFunction = scope: {
11
-
boehmgc = regular.boehmgc.override { enableLargeConfig = true; };
11
+
boehmgc =
12
+
(regular.boehmgc.override {
13
+
enableLargeConfig = true;
14
+
}).overrideAttrs
15
+
(attrs: {
16
+
# Increase the initial mark stack size to avoid stack
17
+
# overflows, since these inhibit parallel marking (see
18
+
# GC_mark_some()). To check whether the mark stack is too
19
+
# small, run Nix with GC_PRINT_STATS=1 and look for messages
20
+
# such as `Mark stack overflow`, `No room to copy back mark
21
+
# stack`, and `Grew mark stack to ... frames`.
22
+
NIX_CFLAGS_COMPILE = "-DINITIAL_MARK_STACK_SIZE=1048576";
23
+
});
24
+
12
25
aws-sdk-cpp =
13
26
(regular.aws-sdk-cpp.override {
14
27
apis = [
+7
-11
pkgs/tools/package-management/nix/modular/src/libfetchers-tests/package.nix
+7
-11
pkgs/tools/package-management/nix/modular/src/libfetchers-tests/package.nix
···
3
3
buildPackages,
4
4
stdenv,
5
5
mkMesonExecutable,
6
+
writableTmpDirAsHomeHook,
6
7
7
8
nix-fetchers,
8
9
nix-fetchers-c,
···
47
48
runCommand "${finalAttrs.pname}-run"
48
49
{
49
50
meta.broken = !stdenv.hostPlatform.emulatorAvailable buildPackages;
51
+
buildInputs = [ writableTmpDirAsHomeHook ];
50
52
}
51
-
(
52
-
lib.optionalString stdenv.hostPlatform.isWindows ''
53
-
export HOME="$PWD/home-dir"
54
-
mkdir -p "$HOME"
55
-
''
56
-
+ ''
57
-
export _NIX_TEST_UNIT_DATA=${resolvePath ./data}
58
-
${stdenv.hostPlatform.emulator buildPackages} ${lib.getExe finalAttrs.finalPackage}
59
-
touch $out
60
-
''
61
-
);
53
+
''
54
+
export _NIX_TEST_UNIT_DATA=${resolvePath ./data}
55
+
${stdenv.hostPlatform.emulator buildPackages} ${lib.getExe finalAttrs.finalPackage}
56
+
touch $out
57
+
'';
62
58
};
63
59
};
64
60
+8
-12
pkgs/tools/package-management/nix/modular/src/libflake-tests/package.nix
+8
-12
pkgs/tools/package-management/nix/modular/src/libflake-tests/package.nix
···
3
3
buildPackages,
4
4
stdenv,
5
5
mkMesonExecutable,
6
+
writableTmpDirAsHomeHook,
6
7
7
8
nix-flake,
8
9
nix-flake-c,
···
41
42
runCommand "${finalAttrs.pname}-run"
42
43
{
43
44
meta.broken = !stdenv.hostPlatform.emulatorAvailable buildPackages;
45
+
buildInputs = [ writableTmpDirAsHomeHook ];
44
46
}
45
-
(
46
-
lib.optionalString stdenv.hostPlatform.isWindows ''
47
-
export HOME="$PWD/home-dir"
48
-
mkdir -p "$HOME"
49
-
''
50
-
+ ''
51
-
export _NIX_TEST_UNIT_DATA=${resolvePath ./data}
52
-
export NIX_CONFIG="extra-experimental-features = flakes"
53
-
${stdenv.hostPlatform.emulator buildPackages} ${lib.getExe finalAttrs.finalPackage}
54
-
touch $out
55
-
''
56
-
);
47
+
(''
48
+
export _NIX_TEST_UNIT_DATA=${resolvePath ./data}
49
+
export NIX_CONFIG="extra-experimental-features = flakes"
50
+
${stdenv.hostPlatform.emulator buildPackages} ${lib.getExe finalAttrs.finalPackage}
51
+
touch $out
52
+
'');
57
53
};
58
54
};
59
55
+13
-11
pkgs/tools/package-management/nix/modular/src/libstore-tests/package.nix
+13
-11
pkgs/tools/package-management/nix/modular/src/libstore-tests/package.nix
···
3
3
buildPackages,
4
4
stdenv,
5
5
mkMesonExecutable,
6
+
writableTmpDirAsHomeHook,
6
7
7
8
nix-store,
8
9
nix-store-c,
···
41
42
mesonFlags = [
42
43
];
43
44
45
+
excludedTestPatterns = lib.optionals (lib.versionOlder finalAttrs.version "2.31") [
46
+
"nix_api_util_context.nix_store_real_path_binary_cache"
47
+
];
48
+
44
49
passthru = {
45
50
tests = {
46
51
run =
···
58
63
runCommand "${finalAttrs.pname}-run"
59
64
{
60
65
meta.broken = !stdenv.hostPlatform.emulatorAvailable buildPackages;
66
+
buildInputs = [ writableTmpDirAsHomeHook ];
61
67
}
62
-
(
63
-
lib.optionalString stdenv.hostPlatform.isWindows ''
64
-
export HOME="$PWD/home-dir"
65
-
mkdir -p "$HOME"
66
-
''
67
-
+ ''
68
-
export _NIX_TEST_UNIT_DATA=${data + "/src/libstore-tests/data"}
69
-
${stdenv.hostPlatform.emulator buildPackages} ${lib.getExe finalAttrs.finalPackage}
70
-
touch $out
71
-
''
72
-
);
68
+
(''
69
+
export _NIX_TEST_UNIT_DATA=${data + "/src/libstore-tests/data"}
70
+
export NIX_REMOTE=$HOME/store
71
+
${stdenv.hostPlatform.emulator buildPackages} ${lib.getExe finalAttrs.finalPackage} \
72
+
--gtest_filter=-${lib.concatStringsSep ":" finalAttrs.excludedTestPatterns}
73
+
touch $out
74
+
'');
73
75
};
74
76
};
75
77
+2
-2
pkgs/tools/security/ghidra/extensions/findcrypt/default.nix
+2
-2
pkgs/tools/security/ghidra/extensions/findcrypt/default.nix
···
5
5
}:
6
6
buildGhidraExtension (finalAttrs: {
7
7
pname = "findcrypt";
8
-
version = "3.1.1";
8
+
version = "3.1.2";
9
9
10
10
src = fetchFromGitHub {
11
11
owner = "antoniovazquezblanco";
12
12
repo = "GhidraFindcrypt";
13
13
rev = "v${finalAttrs.version}";
14
-
hash = "sha256-3QLIXxUSDGhO4lrH5ib0iWnqXB2dbOqduUMbM1gFW14=";
14
+
hash = "sha256-KP6Wx2U8O/37yEAcV3abKg/uWraHJJOIfb7kvcfejHA=";
15
15
};
16
16
17
17
meta = {
-3
pkgs/top-level/all-packages.nix
-3
pkgs/top-level/all-packages.nix
···
3574
3574
};
3575
3575
};
3576
3576
mailnagWithPlugins = mailnag.withPlugins (builtins.attrValues mailnag.availablePlugins);
3577
-
mailpit = callPackage ../servers/mail/mailpit {
3578
-
libtool = if stdenv.hostPlatform.isDarwin then cctools else libtool;
3579
-
};
3580
3577
3581
3578
man = man-db;
3582
3579
+1
pkgs/top-level/python-aliases.nix
+1
pkgs/top-level/python-aliases.nix
···
768
768
spacy_models = spacy-models; # added 2024-04-21
769
769
SPARQLWrapper = sparqlwrapper;
770
770
spark_parser = spark-parser; # added 2024-01-07
771
+
sparsezoo = throw "sparsezoo has been removed since it is abandonned"; # added 2025-09-01
771
772
sphinx-jquery = sphinxcontrib-jquery; # added 2023-02-24
772
773
sphinx_pypi_upload = throw "sphinx_pypi_upload has been removed since it is abandoned."; # added 2023-10-11
773
774
sphinx_rtd_theme = sphinx-rtd-theme; # added 2022-08-03
-2
pkgs/top-level/python-packages.nix
-2
pkgs/top-level/python-packages.nix
···
17062
17062
17063
17063
sparse = callPackage ../development/python-modules/sparse { };
17064
17064
17065
-
sparsezoo = callPackage ../development/python-modules/sparsezoo { };
17066
-
17067
17065
spatial-image = callPackage ../development/python-modules/spatial-image { };
17068
17066
17069
17067
spatialmath-python = callPackage ../development/python-modules/spatialmath-python { };