Merge 0f1ed4ec26 into haskell-updates

This commit is contained in:
nixpkgs-ci[bot]
2026-04-14 00:38:04 +00:00
committed by GitHub
365 changed files with 4492 additions and 1952 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "nixpkgs",
"image": "mcr.microsoft.com/devcontainers/universal:2-linux",
"image": "mcr.microsoft.com/devcontainers/universal:5-linux",
"features": {
"ghcr.io/devcontainers/features/nix:1": {
// fails in the devcontainer sandbox, enable sandbox via config instead
+6
View File
@@ -270,8 +270,14 @@
- any:
- changed-files:
- any-glob-to-any-file:
- doc/packages/linux.section.md
- lib/kernel.nix
- nixos/doc/manual/configuration/linux-kernel.chapter.md
- nixos/modules/system/boot/kernel.nix
- nixos/tests/kernel-generic/**/*
- pkgs/build-support/kernel/**/*
- pkgs/os-specific/linux/kernel/**/*
- pkgs/top-level/linux-kernels.nix
"6.topic: lib":
- any:
+15 -1
View File
@@ -312,6 +312,12 @@ jobs:
script: |
const { readFile } = require('node:fs/promises')
const changed = JSON.parse(await readFile('comparison/changed-paths.json', 'utf-8'))
const removedByKernel = Object.fromEntries(
Object.entries(changed.attrdiffByKernel ?? {}).map(([kernel, diff]) => [
kernel,
diff.removed.length,
]),
)
const description =
'Package: ' + [
`added ${changed.attrdiff.added.length}`,
@@ -321,7 +327,15 @@ jobs:
' — Rebuild: ' + [
`linux ${changed.rebuildCountByKernel.linux}`,
`darwin ${changed.rebuildCountByKernel.darwin}`
].join(', ')
].join(', ') +
(
Object.values(removedByKernel).some((count) => count > 0)
? ' — Removed: ' + [
`linux ${removedByKernel.linux ?? 0}`,
`darwin ${removedByKernel.darwin ?? 0}`
].join(', ')
: ''
)
const { serverUrl, repo, runId, payload } = context
const target_url =
+7 -1
View File
@@ -303,8 +303,14 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/pkgs/by-name/es/esphome @mweinelt
# Linux kernel
/pkgs/top-level/linux-kernels.nix @NixOS/linux-kernel
/doc/packages/linux.section.md @NixOS/linux-kernel
/lib/kernel.nix @NixOS/linux-kernel
/nixos/doc/manual/configuration/linux-kernel.chapter.md @NixOS/linux-kernel
/nixos/modules/system/boot/kernel.nix @NixOS/linux-kernel
/nixos/tests/kernel-generic/ @NixOS/linux-kernel
/pkgs/build-support/kernel/ @NixOS/linux-kernel
/pkgs/os-specific/linux/kernel/ @NixOS/linux-kernel
/pkgs/top-level/linux-kernels.nix @NixOS/linux-kernel
# Network Time Daemons
/pkgs/by-name/ch/chrony @thoughtpolice
+42 -2
View File
@@ -74,9 +74,38 @@ let
{
attrdiff: {
added: ["package1"],
changed: ["package2", "package3"],
changed: ["package2", "package3", "package4"],
removed: ["package4"],
},
attrdiffByKernel: {
darwin: {
added: [],
changed: ["package2", "package4"],
removed: ["package4"],
},
linux: {
added: ["package1"],
changed: ["package3", "package4"],
removed: [],
},
},
attrdiffByPlatform: {
aarch64-darwin: {
added: [],
changed: ["package2"],
removed: ["package4"],
},
aarch64-linux: {
added: ["package1"],
changed: ["package3"],
removed: [],
},
x86_64-linux: {
added: [],
changed: ["package4"],
removed: [],
},
},
labels: {
"10.rebuild-darwin: 1-10": true,
"10.rebuild-linux: 1-10": true
@@ -113,6 +142,8 @@ let
inherit (import ./utils.nix { inherit lib; })
groupByKernel
convertToPackagePlatformAttrs
groupAttrdiffByKernel
groupAttrdiffByPlatform
groupByPlatform
extractPackageNames
getLabels
@@ -127,6 +158,15 @@ let
changed-paths =
let
attrdiff = lib.mapAttrs (_: extractPackageNames) {
inherit (diffAttrs) added changed removed;
};
attrdiffByPlatform = groupAttrdiffByPlatform {
inherit (diffAttrs) added changed removed;
};
attrdiffByKernel = groupAttrdiffByKernel {
inherit (diffAttrs) added changed removed;
};
rebuildsByPlatform = groupByPlatform rebuildsPackagePlatformAttrs;
rebuildsByKernel = groupByKernel rebuildsPackagePlatformAttrs;
rebuildCountByKernel = lib.mapAttrs (
@@ -135,7 +175,7 @@ let
in
writeText "changed-paths.json" (
builtins.toJSON {
attrdiff = lib.mapAttrs (_: extractPackageNames) { inherit (diffAttrs) added changed removed; };
inherit attrdiff attrdiffByKernel attrdiffByPlatform;
inherit
rebuildsByPlatform
rebuildsByKernel
+78
View File
@@ -7,6 +7,7 @@
}:
let
fun = import ./maintainers.nix { inherit lib; };
utils = import ./utils.nix { inherit lib; };
mockPkgs =
{
@@ -226,6 +227,83 @@ let
];
};
};
testGroupAttrdiffByPlatform = {
expr = utils.groupAttrdiffByPlatform {
added = [
"new-tool.aarch64-linux"
"new-tool.x86_64-darwin"
];
changed = [
"updated-tool.x86_64-darwin"
"shared-tool.x86_64-darwin"
];
removed = [
"removed-tool.aarch64-darwin"
"shared-tool.aarch64-darwin"
];
};
expected = {
aarch64-darwin = {
added = [ ];
changed = [ ];
removed = [
"removed-tool"
"shared-tool"
];
};
aarch64-linux = {
added = [ "new-tool" ];
changed = [ ];
removed = [ ];
};
x86_64-darwin = {
added = [ "new-tool" ];
changed = [
"shared-tool"
"updated-tool"
];
removed = [ ];
};
};
};
testGroupAttrdiffByKernel = {
expr =
let
grouped = utils.groupAttrdiffByKernel {
added = [
"new-tool.aarch64-linux"
"new-tool.x86_64-darwin"
];
changed = [
"updated-tool.x86_64-darwin"
"shared-tool.x86_64-darwin"
];
removed = [
"removed-tool.aarch64-darwin"
"shared-tool.aarch64-darwin"
];
};
in
lib.mapAttrs (_: diff: lib.mapAttrs (_: lib.sort lib.lessThan) diff) grouped;
expected = {
darwin = {
added = [ "new-tool" ];
changed = [
"shared-tool"
"updated-tool"
];
removed = [
"removed-tool"
"shared-tool"
];
};
linux = {
added = [ "new-tool" ];
changed = [ ];
removed = [ ];
};
};
};
};
in
{
+44
View File
@@ -150,6 +150,50 @@ rec {
in
lib.genAttrs [ "linux" "darwin" ] filterKernel;
/*
Group an attrdiff-style mapping by a derived key such as platform or kernel.
Turns
{
added = [ "new-tool.aarch64-linux" "new-tool.x86_64-darwin" ];
changed = [ "updated-tool.x86_64-darwin" "shared-tool.x86_64-darwin" ];
removed = [ "removed-tool.aarch64-darwin" "shared-tool.aarch64-darwin" ];
}
into
{
aarch64-darwin = {
added = [ ];
changed = [ ];
removed = [ "removed-tool" "shared-tool" ];
};
aarch64-linux = {
added = [ "new-tool" ];
changed = [ ];
removed = [ ];
};
x86_64-darwin = {
added = [ "new-tool" ];
changed = [ "shared-tool" "updated-tool" ];
removed = [ ];
};
}
when used with `groupByPlatform`.
*/
groupAttrdiffBy =
grouper: attrdiff:
let
groupedByKind = lib.mapAttrs (
_: packagePlatformPaths:
grouper (convertToPackagePlatformAttrs (uniqueStrings packagePlatformPaths))
) attrdiff;
groups = uniqueStrings (lib.flatten (map builtins.attrNames (lib.attrValues groupedByKind)));
in
lib.genAttrs groups (group: lib.mapAttrs (_: byGroup: byGroup.${group} or [ ]) groupedByKind);
groupAttrdiffByPlatform = groupAttrdiffBy groupByPlatform;
groupAttrdiffByKernel = groupAttrdiffBy groupByKernel;
/*
Maps an attrs of `kernel - rebuild counts` mappings to an attrs of labels
+10
View File
@@ -25,6 +25,16 @@ async function checkTargetBranch({ github, context, core, dry }) {
* changed: string[],
* removed: string[],
* },
* attrdiffByKernel: Record<string, {
* added: string[],
* changed: string[],
* removed: string[],
* }>,
* attrdiffByPlatform: Record<string, {
* added: string[],
* changed: string[],
* removed: string[],
* }>,
* labels: Record<string, boolean>,
* rebuildCountByKernel: Record<string, number>,
* rebuildsByKernel: Record<string, string[]>,
+7
View File
@@ -138,6 +138,13 @@
github = "0xd61";
githubId = 8351869;
};
_0xErwin1 = {
email = "ignacio@feuer.me";
name = "Ignacio Perez";
github = "0xErwin1";
githubId = 67933444;
keys = [ { fingerprint = "B39E B98E 8860 DAFB 0567 0073 A614 B7D2 5134 987A"; } ];
};
_0xMillyByte = {
email = "emilia.daelman@gmail.com";
name = "Emilia Daelman";
@@ -342,6 +342,8 @@ See <https://github.com/NixOS/nixpkgs/issues/481673>.
- `services.openssh` now supports generating host SSH keys by setting `services.openssh.generateHostKeys = true` while leaving `services.openssh.enable` disabled. This is particularly useful for systems that have no need of an SSH daemon but want SSH host keys for other purposes such as using agenix or sops-nix.
- `services.openssh.enableRecommendedAlgorithms` has been added to allow users to opt out of NixOS's curated set of recommended algorithms. This set to true by default, and thus is not a breaking change. Users may want to set this to false if they prefer upstream's default algorithms. See <https://github.com/NixOS/nixpkgs/pull/471330>.
- IPVLAN interfaces can now be configured through the `networking.ipvlans` option in the networking module.
- `services.caddy` now supports setting `httpPort` and `httpsPort` and opening them in the firewall via `openFirewall`.
+2 -2
View File
@@ -45,13 +45,13 @@ in
owner = mkOption {
type = str;
default = "root";
example = "nobody";
example = "alice";
description = "Owner ${set}";
};
group = mkOption {
type = str;
default = defaultGroup;
example = "nobody";
example = "users";
description = "Group ${set}";
};
mode = mkOption {
+1
View File
@@ -257,6 +257,7 @@
./programs/lazygit.nix
./programs/less.nix
./programs/liboping.nix
./programs/librepods.nix
./programs/lix.nix
./programs/localsend.nix
./programs/mdevctl.nix
+42
View File
@@ -0,0 +1,42 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.programs.librepods;
in
{
options = {
programs.librepods = {
enable = lib.mkOption {
default = false;
type = lib.types.bool;
description = ''
Whether to configure system to enable librepods.
To grant access to a user, it must be part of librepods group:
`users.users.alice.extraGroups = ["librepods"];`
'';
};
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [ librepods ];
users.groups.librepods = { };
security.wrappers.librepods = {
source = lib.getExe pkgs.librepods;
capabilities = "cap_net_admin+ep";
owner = "root";
group = "librepods";
permissions = "u+rx,g+x";
};
};
meta.maintainers = with lib.maintainers; [
thefossguy
Cameo007
];
}
+29 -4
View File
@@ -148,8 +148,8 @@ let
doveConf =
let
configVersion = cfg.settings.dovecot_config_version or null;
storageVersion = cfg.settings.dovecot_storage_version or null;
configVersion = cfg.settings.dovecot_config_version;
storageVersion = cfg.settings.dovecot_storage_version;
remainingSettings = builtins.removeAttrs cfg.settings [
"dovecot_config_version"
"dovecot_storage_version"
@@ -163,6 +163,11 @@ let
);
isPre24 = versionOlder cfg.package.version "2.4";
# HACK: We can not auto-add the default for sieve_script_bin_path unless we have the pigeonhole plugin loaded. Solve this in a better way in the future
hasPigeonhole = builtins.any (
pkg: pkg.pname or null == "dovecot-pigeonhole"
) config.environment.systemPackages;
in
{
imports = [
@@ -578,10 +583,30 @@ in
# 2.4-only options
dovecot_config_version = mkOption {
default = null;
description = ''
Dovecot configuration version. It uses the same versioning as Dovecot in general, e.g. 3.0.5. It specifies the configuration syntax, the used setting names and the expected default values.
See <https://doc.dovecot.org/latest/core/summaries/settings.html#dovecot_config_version>.
'';
type = nullOr str;
};
dovecot_storage_version = mkOption {
default = null;
description = ''
Dovecot storage file format version. It uses the same versioning as Dovecot in general, e.g. 3.0.5. It specifies the oldest Dovecot version that must be able to read files written by this Dovecot instance.
See <https://doc.dovecot.org/latest/core/summaries/settings.html#dovecot_storage_version>.
'';
type = nullOr str;
};
sieve_script_bin_path = mkOption {
default = if isPre24 then null else "/tmp/dovecot-%{user|username|lower}";
default = if isPre24 || !hasPigeonhole then null else "/tmp/dovecot-%{user|username|lower}";
defaultText = literalExpression ''
if isPre24
if isPre24 || !hasPigeonhole
then null
else "/tmp/dovecot-%{user|username|lower}"
'';
@@ -27,10 +27,10 @@ in
};
group = mkOption {
type = types.str;
default = "frrtty";
default = "frrvty";
description = ''
Group under which the frr exporter shall be run.
The exporter talks to frr using a unix socket, which is owned by frrtty group.
The exporter talks to frr using a unix socket, which is owned by frrvty group.
'';
};
enabledCollectors = mkOption {
@@ -111,7 +111,8 @@ in
type = lib.types.lines;
default = "";
example = lib.literalExpression ''
sed 's/skgid meadow/skgid nogroup/g' -i ruleset.conf
# replace users/groups that don't exist in the test
sed 's/skgid meadow/skgid root/g' -i ruleset.conf
'';
description = ''
This script gets run before the ruleset is checked. It can be used to
+2 -2
View File
@@ -34,8 +34,8 @@ in
auth = "plain[passwd=./sample.passwd]"
tcp-port = 443
udp-port = 443
run-as-user = nobody
run-as-group = nogroup
run-as-user = ocserv
run-as-group = ocserv
socket-file = /run/ocserv-socket
server-cert = certs/server-cert.pem
server-key = certs/server-key.pem
+85 -33
View File
@@ -412,6 +412,16 @@ in
'';
};
enableRecommendedAlgorithms = lib.mkOption {
type = lib.types.bool;
default = true;
description = ''
Use algorithms curated and recommended by NixOS.
Set to false to use upstream's default algorithms.
'';
};
authorizedKeysFiles = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
@@ -571,37 +581,64 @@ in
};
KexAlgorithms = lib.mkOption {
type = lib.types.nullOr (lib.types.listOf lib.types.str);
default = [
"mlkem768x25519-sha256"
"sntrup761x25519-sha512"
"sntrup761x25519-sha512@openssh.com"
"curve25519-sha256"
"curve25519-sha256@libssh.org"
"diffie-hellman-group-exchange-sha256"
];
default =
if config.services.openssh.enableRecommendedAlgorithms then
[
"mlkem768x25519-sha256"
"sntrup761x25519-sha512"
"sntrup761x25519-sha512@openssh.com"
"curve25519-sha256"
"curve25519-sha256@libssh.org"
"diffie-hellman-group-exchange-sha256"
]
else
null;
defaultText = ''
if config.services.openssh.enableRecommendedAlgorithms then
[
"mlkem768x25519-sha256"
"sntrup761x25519-sha512"
"sntrup761x25519-sha512@openssh.com"
"curve25519-sha256"
"curve25519-sha256@libssh.org"
"diffie-hellman-group-exchange-sha256"
]
else
null;
'';
description = ''
Allowed key exchange algorithms
Uses the lower bound recommended in both
<https://stribika.github.io/2015/01/04/secure-secure-shell.html>
and
<https://infosec.mozilla.org/guidelines/openssh#modern-openssh-67>
Defaults to a curated set of algorithms.
Set enableRecommendedAlgorithms to false to use upstream's defaults.
'';
};
Macs = lib.mkOption {
type = lib.types.nullOr (lib.types.listOf lib.types.str);
default = [
"hmac-sha2-512-etm@openssh.com"
"hmac-sha2-256-etm@openssh.com"
"umac-128-etm@openssh.com"
];
default =
if config.services.openssh.enableRecommendedAlgorithms then
[
"hmac-sha2-512-etm@openssh.com"
"hmac-sha2-256-etm@openssh.com"
"umac-128-etm@openssh.com"
]
else
null;
defaultText = ''
if config.services.openssh.enableRecommendedAlgorithms then
[
"hmac-sha2-512-etm@openssh.com"
"hmac-sha2-256-etm@openssh.com"
"umac-128-etm@openssh.com"
]
else
null;
'';
description = ''
Allowed MACs
Defaults to recommended settings from both
<https://stribika.github.io/2015/01/04/secure-secure-shell.html>
and
<https://infosec.mozilla.org/guidelines/openssh#modern-openssh-67>
Defaults to a curated set of algorithms.
Set enableRecommendedAlgorithms to false to use upstream's defaults.
'';
};
StrictModes = lib.mkOption {
@@ -613,21 +650,36 @@ in
};
Ciphers = lib.mkOption {
type = lib.types.nullOr (lib.types.listOf lib.types.str);
default = [
"chacha20-poly1305@openssh.com"
"aes256-gcm@openssh.com"
"aes128-gcm@openssh.com"
"aes256-ctr"
"aes192-ctr"
"aes128-ctr"
];
default =
if config.services.openssh.enableRecommendedAlgorithms then
[
"chacha20-poly1305@openssh.com"
"aes256-gcm@openssh.com"
"aes128-gcm@openssh.com"
"aes256-ctr"
"aes192-ctr"
"aes128-ctr"
]
else
null;
defaultText = ''
if config.services.openssh.enableRecommendedAlgorithms then
[
"chacha20-poly1305@openssh.com"
"aes256-gcm@openssh.com"
"aes128-gcm@openssh.com"
"aes256-ctr"
"aes192-ctr"
"aes128-ctr"
]
else
null;
'';
description = ''
Allowed ciphers
Defaults to recommended settings from both
<https://stribika.github.io/2015/01/04/secure-secure-shell.html>
and
<https://infosec.mozilla.org/guidelines/openssh#modern-openssh-67>
Defaults to a curated set of algorithms.
Set enableRecommendedAlgorithms to false to use upstream's defaults.
'';
};
AllowUsers = lib.mkOption {
@@ -16,7 +16,7 @@ let
settingsFormat = pkgs.formats.json { };
cleanedConfig = converge (filterAttrsRecursive (_: v: v != null && v != { })) cfg.settings;
isUnixGui = (builtins.substring 0 1 cfg.guiAddress) == "/";
isUnixGui = lib.strings.hasPrefix "unix://" cfg.guiAddress;
# Syncthing supports serving the GUI over Unix sockets. If that happens, the
# API is served over the Unix socket as well. This function returns the correct
@@ -30,7 +30,7 @@ let
# note that the dot in front of `${path}` is the hostname, which is
# required.
then
"--unix-socket ${cfg.guiAddress} http://.${path}"
"--unix-socket ${lib.strings.removePrefix "unix://" cfg.guiAddress} http://.${path}"
# no adjustments are needed if cfg.guiAddress is a network address
else
"${cfg.guiAddress}${path}";
@@ -290,7 +290,7 @@ let
)"
for id in ''${stale_${conf_type}_ids}; do
>&2 echo "Deleting stale device: $id"
curl -X DELETE "${s.baseAddress}/$id"
curl -X DELETE ${s.baseAddress}/$id
done
''
))
@@ -774,6 +774,7 @@ in
guiAddress = mkOption {
type = types.str;
default = "127.0.0.1:8384";
apply = x: if lib.strings.hasPrefix "/" x then "unix://${x}" else x;
description = ''
The address to serve the web interface at.
'';
@@ -1000,7 +1001,7 @@ in
args = lib.escapeShellArgs (
(lib.cli.toCommandLineGNU { } {
"no-browser" = true;
"gui-address" = (if isUnixGui then "unix://" else "") + cfg.guiAddress;
"gui-address" = cfg.guiAddress;
"config" = cfg.configDir;
"data" = cfg.databaseDir;
})
@@ -1008,6 +1009,7 @@ in
);
in
"${lib.getExe cfg.package} ${args}";
RuntimeDirectory = "syncthing";
MemoryDenyWriteExecute = true;
NoNewPrivileges = true;
PrivateDevices = true;
@@ -350,7 +350,7 @@ in
after = [ "peering-manager.service" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkg}/bin/peering-manager grab_prefixes";
ExecStart = "${pkg}/bin/peering-manager get_irr_data";
};
};
@@ -24,10 +24,8 @@ in
# IP address or "*"
Host: *
Debug_Mode: Yes # Yes or No
# If available, "nobody" is much more secure for User:.
User: root
# If available, "nobody" is much more secure for Group:.
Group: root
User: mighttpd2
Group: mighttpd2
Pid_File: /run/mighty.pid
Logging: Yes # Yes or No
Log_File: /var/log/mighty # The directory must be writable by User:
+14 -11
View File
@@ -265,10 +265,12 @@ in
};
root = lib.mkOption {
type = lib.types.enum [
"fstab"
"gpt-auto"
];
type = lib.types.nullOr (
lib.types.enum [
"fstab"
"gpt-auto"
]
);
default = "fstab";
example = "gpt-auto";
description = ''
@@ -277,6 +279,7 @@ in
allow specifying the root file system itself this
way. Instead, the `fstab` value is used in order to interpret
the root file system specified with the `fileSystems` option.
If root shall be omitted, set this option to `null`.
'';
};
@@ -489,13 +492,13 @@ in
]
++ lib.optional cfg.package.withEfi "efivarfs";
boot.kernelParams = [
"root=${config.boot.initrd.systemd.root}"
]
++ lib.optional (config.boot.resumeDevice != "") "resume=${config.boot.resumeDevice}"
# `systemd` mounts root in initrd as read-only unless "rw" is on the kernel command line.
# For NixOS activation to succeed, we need to have root writable in initrd.
++ lib.optional (config.boot.initrd.systemd.root == "gpt-auto") "rw";
boot.kernelParams =
lib.optional (config.boot.initrd.systemd.root != null) "root=${config.boot.initrd.systemd.root}"
++ lib.optional (config.boot.resumeDevice != "") "resume=${config.boot.resumeDevice}"
# `systemd` mounts root in initrd as read-only unless "rw" is on the kernel command line.
# For NixOS activation to succeed, we need to have root writable in initrd.
++ lib.optional (config.boot.initrd.systemd.root == "gpt-auto") "rw";
boot.initrd.systemd = {
initrdBin = [
@@ -197,7 +197,7 @@ let
Override the username or UID (and optionally groupname or GID) used
in the container.
'';
example = "nobody:nogroup";
example = "alice:users";
};
volumes = mkOption {
+9 -2
View File
@@ -35,7 +35,7 @@ in
nodes = {
gitlab =
{ ... }:
{ config, ... }:
{
imports = [ ../common/user-account.nix ];
@@ -75,7 +75,14 @@ in
services.dovecot2 = {
enable = true;
enableImap = true;
enablePAM = true;
settings = {
dovecot_config_version = "2.4.3";
dovecot_storage_version = config.services.dovecot2.package.version;
protocols.imap = true;
mail_driver = "maildir";
mail_path = "~/mail";
};
};
systemd.services.gitlab-backup.environment.BACKUP = "dump";
+53 -9
View File
@@ -90,9 +90,11 @@ in
];
};
server-lazy-socket = {
# IP addresses are allocated according to the alphabetical order of the machine name, and since tests rely on the IP address of this machine, let's name it so it's order (and thus address) is predictable.
aaa-server-lazy-socket = {
virtualisation.vlans = [
1
# Allocate another VLAN so we can exercise listening on a non-standard address.
2
];
services.openssh = {
@@ -191,12 +193,32 @@ in
path = "/etc/ssh/ssh_host_ed25519_key";
}
];
# The NixOS-curated algorithms require OpenSSL, and so since this test is against an OpenSSH-without-OpenSSL, we have to use the default algorithms, which adapt to not having OpenSSL.
enableRecommendedAlgorithms = false;
};
users.users.root.openssh.authorizedKeys.keys = [
snakeOilEd25519PublicKey
];
};
server-default-algorithms =
{ ... }:
{
services.openssh = {
enable = true;
enableRecommendedAlgorithms = false;
};
users.users.root.openssh.authorizedKeys.keys = [
snakeOilEd25519PublicKey
];
};
server-null-algorithms =
{ ... }:
{
services.openssh = {
enable = true;
settings = {
# Since this test is against an OpenSSH-without-OpenSSL,
# we have to override NixOS's defaults ciphers (which require OpenSSL)
# and instead set these to null, which will mean OpenSSH uses its defaults.
# Expectedly, OpenSSH's defaults don't require OpenSSL when it's compiled
# without OpenSSL.
Ciphers = null;
KexAlgorithms = null;
Macs = null;
@@ -292,17 +314,19 @@ in
server.wait_for_unit("sshd", timeout=60)
server_allowed_users.wait_for_unit("sshd", timeout=60)
server_default_algorithms.wait_for_unit("sshd", timeout=60)
server_localhost_only.wait_for_unit("sshd", timeout=60)
server_match_rule.wait_for_unit("sshd", timeout=60)
server_no_openssl.wait_for_unit("sshd", timeout=60)
server_no_pam.wait_for_unit("sshd", timeout=60)
server_null_algorithms.wait_for_unit("sshd", timeout=60)
server_null_pam.wait_for_unit("sshd", timeout=60)
server_null_pam.fail("journalctl -u sshd.service | grep 'Unsupported option UsePAM'")
server_sftp.wait_for_unit("sshd", timeout=60)
server_lazy.wait_for_unit("sshd.socket", timeout=60)
server_localhost_only_lazy.wait_for_unit("sshd.socket", timeout=60)
server_lazy_socket.wait_for_unit("sshd.socket", timeout=60)
aaa_server_lazy_socket.wait_for_unit("sshd.socket", timeout=60)
# sshd-keygen is a oneshot unit, so just wait for multi-user.target, which
# pulls it in.
@@ -340,14 +364,14 @@ in
timeout=30
)
with subtest("socket activation on a non-standard port"):
with subtest("socket activation on a non-standard address and port"):
client.succeed(
"cat ${snakeOilPrivateKey} > privkey.snakeoil"
)
client.succeed("chmod 600 privkey.snakeoil")
# The final segment in this IP is allocated according to the alphabetical order of machines in this test.
client.succeed(
"ssh -p 2222 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil root@192.168.2.5 true",
"ssh -p 2222 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil root@192.168.2.1 true",
timeout=30
)
@@ -400,6 +424,26 @@ in
timeout=30
)
with subtest("null-algorithms"):
client.succeed(
"cat ${snakeOilEd25519PrivateKey} > privkey.snakeoil"
)
client.succeed("chmod 600 privkey.snakeoil")
client.succeed(
"ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server-null-algorithms true",
timeout=30
)
with subtest("no-openssl"):
client.succeed(
"cat ${snakeOilEd25519PrivateKey} > privkey.snakeoil"
)
client.succeed("chmod 600 privkey.snakeoil")
client.succeed(
"ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server-default-algorithms true",
timeout=30
)
with subtest("no-pam"):
client.succeed(
"cat ${snakeOilPrivateKey} > privkey.snakeoil"
+1 -1
View File
@@ -20,7 +20,7 @@
machine.wait_for_x()
with subtest("Wait until Servo has finished loading the Valgrind docs page"):
machine.execute("xterm -e 'servo file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' >&2 &");
machine.execute("xterm -e '${lib.getExe pkgs.servo} file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' >&2 &");
machine.wait_for_window("Valgrind")
machine.wait_for_text("Quick Start Guide")
'';
+1
View File
@@ -26,6 +26,7 @@ in
openDefaultPorts = true;
cert = "${idA}/cert.pem";
key = "${idA}/key.pem";
guiAddress = "unix:///run/syncthing/syncthing.sock";
settings = {
devices.b.id = lib.fileContents "${idB}/id";
devices.c.id = lib.fileContents "${idC}/id";
+144 -31
View File
@@ -1,21 +1,15 @@
{ pkgs, ... }:
{ pkgs, lib, ... }:
let
evalConfig =
module:
(import ../lib/eval-config.nix {
system = null;
modules = [ module ];
}).config.system.build.toplevel;
container =
common =
{ config, ... }:
{
# We re-use the NixOS container option ...
boot.isNspawnContainer = true;
# ... and revert unwanted defaults
networking.useHostResolvConf = false;
# use networkd to obtain systemd network setup
networking.useNetworkd = true;
networking.useDHCP = false;
# systemd-nspawn expects /sbin/init
boot.loader.initScript.enable = true;
imports = [ ../modules/profiles/minimal.nix ];
system.stateVersion = config.system.nixos.release;
@@ -23,11 +17,87 @@ let
nixpkgs.pkgs = pkgs;
};
containerSystem =
(import ../lib/eval-config.nix {
system = null;
modules = [ container ];
}).config.system.build.toplevel;
profile-host-nspawn = {
# use networkd to obtain systemd network setup
networking.useNetworkd = true;
networking.firewall.extraCommands = ''
# open DHCP for nspawn interfaces
${pkgs.iptables}/bin/iptables -A nixos-fw -i ve-+ -p udp -m udp --dport 67 -j nixos-fw-accept
'';
};
# improvement: move following profile to ../modules/profiles/nspawn-guest.nix
profile-guest-nspawn = {
# We re-use the NixOS container option ...
boot.isNspawnContainer = true;
# ... and revert unwanted defaults
networking.useHostResolvConf = false;
# systemd-nspawn expects /sbin/init
boot.loader.initScript.enable = true;
# use networkd to obtain systemd network setup
networking.useNetworkd = true;
};
profile-host-vmspawn =
{ config, pkgs, ... }:
{
# use networkd to obtain systemd network setup
networking.useNetworkd = true;
networking.firewall.extraCommands = ''
# open DHCP for vmspawn interfaces
${pkgs.iptables}/bin/iptables -A nixos-fw -i vt-+ -p udp -m udp --dport 67 -j nixos-fw-accept
'';
environment.systemPackages =
let
# improvement: following wrapper should be moved to pkgs
vmspawn-wrapped =
pkgs.runCommand "systemd-vmspawn-wrapped" { nativeBuildInputs = [ pkgs.makeWrapper ]; }
''
makeWrapper ${config.systemd.package}/bin/systemd-vmspawn $out/bin/systemd-vmspawn-wrapped \
--prefix PATH : ${
lib.makeBinPath [
pkgs.qemu
pkgs.virtiofsd
pkgs.openssh # ssh-keygen
]
} \
--prefix XDG_CONFIG_HOME : ${pkgs.qemu}/share
'';
in
[ vmspawn-wrapped ];
};
# improvement: move following profile to ../modules/profiles/vmspawn-guest.nix
profile-guest-vmspawn = {
imports = [ ../modules/profiles/qemu-guest.nix ];
# improvement: move following configuration to qemu-guest.nix
boot.initrd.availableKernelModules = [
"virtiofs"
];
boot.initrd.systemd.enable = true;
# root is defined by systemd-vmspawn
boot.initrd.systemd.root = null;
boot.loader.grub.enable = false;
# use networkd to obtain systemd network setup
networking.useNetworkd = true;
};
container = {
imports = [
common
profile-guest-nspawn
];
};
containerSystem = evalConfig container;
containerName = "container";
containerRoot = "/var/lib/machines/${containerName}";
@@ -51,16 +121,42 @@ let
}
];
};
vm = {
imports = [
common
profile-guest-vmspawn
];
services.openssh.enable = true;
};
vmSystem = evalConfig vm;
vmShared = {
imports = [ vm ];
fileSystems."/nix/store" = {
device = "mnt0";
fsType = "virtiofs";
neededForBoot = true;
};
};
vmSharedSystem = evalConfig vmShared;
in
{
name = "systemd-machinectl";
meta.maintainers = with lib.maintainers; [ ck3d ];
nodes.machine =
{ lib, ... }:
{
# use networkd to obtain systemd network setup
networking.useNetworkd = true;
networking.useDHCP = false;
lib,
...
}:
{
imports = [
profile-host-nspawn
profile-host-vmspawn
];
# do not try to access cache.nixos.org
nix.settings.substituters = lib.mkForce [ ];
@@ -71,8 +167,12 @@ in
virtualisation.additionalPaths = [
containerSystem
containerTarball
vmSystem
vmSharedSystem
];
virtualisation.diskSize = 2048;
systemd.tmpfiles.rules = [
"d /var/lib/machines/shared-decl 0755 root root - -"
];
@@ -101,23 +201,37 @@ in
];
overrideStrategy = "asDropin";
};
# open DHCP for container
networking.firewall.extraCommands = ''
${pkgs.iptables}/bin/iptables -A nixos-fw -i ve-+ -p udp -m udp --dport 67 -j nixos-fw-accept
'';
};
testScript = ''
start_all()
machine.wait_for_unit("default.target");
# Workaround for nixos-install
machine.succeed("chmod o+rx /var/lib/machines");
with subtest("vm-shared"):
machine.succeed("mkdir -p /var/lib/machines/vm-shared");
# Start vm-shared
machine.succeed("systemd-run systemd-vmspawn-wrapped --directory=/var/lib/machines/vm-shared --bind-ro=/nix/store --linux=${vmSharedSystem}/kernel --initrd=${vmSharedSystem}/initrd ${vmSharedSystem}/kernel-params init=${vmSharedSystem}/init")
machine.wait_until_succeeds("machinectl status vm-shared");
machine.wait_until_succeeds("eval $(machinectl show vm-shared --property=SSHPrivateKeyPath --property=SSHAddress) && ssh -i $SSHPrivateKeyPath $SSHAddress true")
machine.succeed("machinectl stop vm-shared");
with subtest("vm"):
machine.succeed("mkdir -p /var/lib/machines/vm");
# Install vm
machine.succeed("nixos-install --root /var/lib/machines/vm --system ${vmSystem} --no-channel-copy --no-root-passwd");
# Start vm
machine.succeed("systemd-run systemd-vmspawn-wrapped --directory=/var/lib/machines/vm --linux=${vmSystem}/kernel --initrd=${vmSystem}/initrd ${vmSystem}/kernel-params init=${vmSystem}/init")
machine.wait_until_succeeds("machinectl status vm");
machine.wait_until_succeeds("eval $(machinectl show vm --property=SSHPrivateKeyPath --property=SSHAddress) && ssh -i $SSHPrivateKeyPath $SSHAddress true")
machine.succeed("machinectl stop vm");
# Test machinectl start stop of shared-decl
machine.succeed("machinectl start shared-decl");
machine.wait_until_succeeds("systemctl -M shared-decl is-active default.target");
machine.succeed("machinectl stop shared-decl");
# create containers root
machine.succeed("mkdir -p ${containerRoot}");
# start container with shared nix store by using same arguments as for systemd-nspawn@.service
@@ -128,8 +242,6 @@ in
machine.succeed("machinectl stop ${containerName}");
# Install container
# Workaround for nixos-install
machine.succeed("chmod o+rx /var/lib/machines");
machine.succeed("nixos-install --root ${containerRoot} --system ${containerSystem} --no-channel-copy --no-root-passwd");
# Allow systemd-nspawn to apply user namespace on immutable files
@@ -183,6 +295,7 @@ in
# Test auto-start
machine.succeed("machinectl show ${containerName}")
machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target");
# Test machinectl stop
machine.succeed("machinectl stop ${containerName}");
+6 -1
View File
@@ -273,6 +273,11 @@ in
# add a virtual wlan interface
boot.kernelModules = [ "mac80211_hwsim" ];
users.users.alice = {
isNormalUser = true;
group = "users";
};
# wireless client
networking.wireless = {
enable = lib.mkOverride 0 true;
@@ -283,7 +288,7 @@ in
};
testScript = ''
wpa_cli = "sudo -u nobody -g wpa_supplicant wpa_cli"
wpa_cli = "sudo -u alice -g wpa_supplicant wpa_cli"
with subtest("Daemon is running and accepting connections"):
machine.wait_for_unit("wpa_supplicant-wlan1.service")
@@ -26,13 +26,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = if withGui then "elements" else "elementsd";
version = "23.3.2";
version = "23.3.3";
src = fetchFromGitHub {
owner = "ElementsProject";
repo = "elements";
rev = "elements-${finalAttrs.version}";
sha256 = "sha256-NLLM+stYOXcnAjEfXRerjvgMXM8jFSOyZhu/A0ZTnRw=";
sha256 = "sha256-u0/IVOr6ivN7SrM44NPNqs0yPBDqElD79pKcn+384B4=";
};
nativeBuildInputs = [
@@ -26,9 +26,9 @@ let
url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2025.3.3.5/android-studio-panda3-rc1-linux.tar.gz";
};
latestVersion = {
version = "2025.3.4.3"; # "Android Studio Panda 4 | 2025.3.4 Canary 3"
sha256Hash = "sha256-8fqHdU6IPuRmcJeCZQOqUPgfild9k98sLnN77dl2Hs8=";
url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2025.3.4.3/android-studio-panda4-canary3-linux.tar.gz";
version = "2025.3.4.4"; # "Android Studio Panda 4 | 2025.3.4 Canary 4"
sha256Hash = "sha256-sPGJuOm5T7EZV5hhOJsZc7P8CTXyv9A6k82hM1GZGpY=";
url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2025.3.4.4/android-studio-panda4-canary4-linux.tar.gz";
};
in
{
@@ -4093,8 +4093,8 @@ let
mktplcRef = {
name = "sas-lsp";
publisher = "SAS";
version = "1.18.0";
hash = "sha256-OP0UUANqoQoxr+10/NkwveEULKWFrDn/dmEg0CHMZp0=";
version = "1.19.1";
hash = "sha256-aVtMiSbPLs6zIdcD0TopIAVKvJksSdTy9ND+jGw/G0A=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/SAS.sas-lsp/changelog";
@@ -4634,8 +4634,8 @@ let
mktplcRef = {
name = "ayu";
publisher = "teabyii";
version = "1.1.11";
sha256 = "sha256-0gfevhXxrZC2rpWIaZM7aNfZrh/KIjoDWkZreeVU+EI=";
version = "1.1.12";
sha256 = "sha256-pwLvik3GRMLyr6GeTmZh1MrkgH1MgbyoembNmQxg4I0=";
};
meta = {
description = "Simple theme with bright colors and comes in three versions dark, light and mirage for all day long comfortable work";
@@ -5222,8 +5222,8 @@ let
mktplcRef = {
name = "csharp-ls";
publisher = "vytautassurvila";
version = "0.0.30";
hash = "sha256-BVSazrQxVm4yYBVdtFP3Aojl06xI2msFXIGw64LeePY=";
version = "0.0.31";
hash = "sha256-d2vHhM+/hzT/JdFzu2WtJiWY2BHGk8SicleHxwm8ciY=";
};
meta = {
changelog = "https://github.com/vytautassurvila/vscode-csharp-ls/blob/master/CHANGELOG.md";
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "latex-workshop";
publisher = "James-Yu";
version = "10.13.1";
hash = "sha256-UyujvtuS0dok5xC4w1lGCwDxOSr58t1/YQ5Mpe6yNPM=";
version = "10.14.1";
hash = "sha256-lsbiKzZTlkq/9K7ptLg0kHAd4i5OyNh2pLGGYUOJS9A=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/James-Yu.latex-workshop/changelog";
@@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vsliveshare";
publisher = "ms-vsliveshare";
version = "1.1.119";
hash = "sha256-s7GCJvlMCcZ+OOwdSh82moU7BlQLz1hVPMwZ9MYtahM=";
version = "1.1.122";
hash = "sha256-XD8iLG8HA9u5Y4CKQKLnmeAN4IFf1LGDvhTKuroxkHg=";
};
postPatch = ''
+17 -12
View File
@@ -3,9 +3,9 @@
lib,
coreutils,
gawk,
getconf,
gnugrep,
gnused,
glibc,
jq,
copyDesktopItems,
makeDesktopItem,
@@ -354,18 +354,23 @@ stdenv.mkDerivation (
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libdbusmenu ]}"
}
--prefix PATH : ${
lib.makeBinPath [
# for moving files to trash
glib
lib.makeBinPath (
[
# for moving files to trash
glib
# for launcher and bundled helper scripts
gawk
glibc.bin
gnugrep
gnused
coreutils
which
]
# for launcher and bundled helper scripts
gawk
gnugrep
gnused
coreutils
which
]
# provides `getconf` for ps-fallback script that only runs on Linux
# https://github.com/microsoft/vscode/blob/97c807618b413805fde466739ba14f77a1f12307/src/vs/base/node/ps.sh#L2
# https://github.com/microsoft/vscode/blob/97c807618b413805fde466739ba14f77a1f12307/src/vs/base/node/ps.ts#L203-L217
++ lib.optional stdenv.hostPlatform.isLinux getconf
)
}
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true --wayland-text-input-version=3}}"
--add-flags ${lib.escapeShellArg commandLineArgs}
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "mednafen-pce";
version = "0-unstable-2025-06-22";
version = "0-unstable-2026-04-11";
src = fetchFromGitHub {
owner = "libretro";
repo = "beetle-pce-libretro";
rev = "9a301c0773c53702a882bbaa42ee9cbc6d523787";
hash = "sha256-RS5omi6LthQy8fFfouSEpYtaeD7QDlRENm0YuqHzUc0=";
rev = "ae99235c2139c176c1a8d0fde2957bf701d3cab0";
hash = "sha256-3bxKLWivTpCmAPYqu5r7AuwvREXRCndq6JQ4hgd18YU=";
};
makefile = "Makefile";
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "mame2003-plus";
version = "0-unstable-2026-04-04";
version = "0-unstable-2026-04-08";
src = fetchFromGitHub {
owner = "libretro";
repo = "mame2003-plus-libretro";
rev = "3da943f4bcf264c7af83a07b78617e98ce3822cd";
hash = "sha256-3hJj8BLePPdEEsQriHSWhIMhamr7pvpKswP5/RxtjcM=";
rev = "7d7fc6d9d6a5855118e6580a7b5554e08796a878";
hash = "sha256-J2VU9BqVLpre2nnpweYpzR3j7jYVbfcNvjQn3SFk4oI=";
};
makefile = "Makefile";
@@ -6,13 +6,13 @@
}:
mkLibretroCore {
core = "opera";
version = "0-unstable-2026-03-31";
version = "0-unstable-2026-04-10";
src = fetchFromGitHub {
owner = "libretro";
repo = "opera-libretro";
rev = "889e52a07cd93074577bf1b2ea260a2beae7ff7b";
hash = "sha256-bsSrkYzkUgUxDz0798aB5etJ0er+RtlcdoJY12gB+WY=";
rev = "4c4ca6bf741c40715723a8b8dae4b6187ff6ac30";
hash = "sha256-AcuqEuK3bz+WJ0r723+w6Y9WGuNs04zUOWlQ3aMXk/U=";
};
makefile = "Makefile";
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "2048";
version = "0-unstable-2026-03-31";
version = "0-unstable-2026-04-10";
src = fetchFromGitHub {
owner = "libretro";
repo = "libretro-2048";
rev = "1892de39d80ec37e1fac79729cd91917b21f1349";
hash = "sha256-lNcDdkiWiXhvwwpzMnceTDY+mJl1JTZfGCY+WIOvrP8=";
rev = "c90437d3c3913999624deca3fb55ecfa632b72c4";
hash = "sha256-dE3PanK+rpf01R4aoD3KMwVhEVvmmVS2klVPQUGTUC0=";
};
meta = {
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "vbam";
version = "0-unstable-2024-10-21";
version = "0-unstable-2026-04-10";
src = fetchFromGitHub {
owner = "libretro";
repo = "vbam-libretro";
rev = "60b48a3a4a46562f29120c1868a54778b40b60a2";
hash = "sha256-UbXSHdKfa91MpcYityo+aILbI0DfkLqZh8YfGcRx/BI=";
rev = "e8b2875d6cad10fc3c7c9f57bb5f1acc324d7c10";
hash = "sha256-tq2MxjPwVPkZotaZAKxmiz7Zjws22E8tK+FPcS+uujk=";
};
makefile = "Makefile";
@@ -6,13 +6,13 @@
}:
mkLibretroCore {
core = "yabause";
version = "0-unstable-2025-12-20";
version = "0-unstable-2026-04-10";
src = fetchFromGitHub {
owner = "libretro";
repo = "yabause";
rev = "65af22e96beb6d9b0b9a50a81a39c86a6d604c1c";
hash = "sha256-LafC48f1m6pRWhXmfN+D+5r9qCNm1v9uLJVq5Wa5naE=";
rev = "76faf7c601359bafc41785325d686644000a7ba9";
hash = "sha256-UHmUsqAK+As6qfvhto2aOsW9A/lZMypfn2NxFui2x8c=";
};
makefile = "Makefile";
+3 -3
View File
@@ -151,9 +151,9 @@ rec {
unstable = fetchurl rec {
# NOTE: Don't forget to change the hash for staging as well.
version = "11.5";
version = "11.6";
url = "https://dl.winehq.org/wine/source/11.x/wine-${version}.tar.xz";
hash = "sha256-ETcLV+pdVIpU2Syc1l0LpjX08cPq2s4J7RxBn3BeGdE=";
hash = "sha256-1J0WaXVHj2Ceapzb2goHxlo7eV4GH8RU0/EDTIKNGeA=";
patches = [
# Also look for root certificates at $NIX_SSL_CERT_FILE
@@ -163,7 +163,7 @@ rec {
# see https://gitlab.winehq.org/wine/wine-staging
staging = fetchFromGitLab {
inherit version;
hash = "sha256-tkx1LB/iZoFvarMvc9QofuQLrZwZyaoL0FUh3nsvYjs=";
hash = "sha256-vI6GnnAqkyQSff9jrGYCTFR6fSIg2i9FT4mvbOlU1M4=";
domain = "gitlab.winehq.org";
owner = "wine";
repo = "wine-staging";
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "helm-diff";
version = "3.15.4";
version = "3.15.5";
src = fetchFromGitHub {
owner = "databus23";
repo = "helm-diff";
rev = "v${version}";
hash = "sha256-FZd1QW2/SHMrOS1/Ecin9SDuPjLKJ3C2kF7s8zB1zqw=";
hash = "sha256-ti247vkYPW6PH0DNkgdH99MyUy2uc2n+zHgpNET/cgU=";
};
vendorHash = "sha256-P4fxAl3C2CzbIH7U38vHDxcuhSe3GLs1nck3t6IIw48=";
vendorHash = "sha256-b479InQ1ZoOtRgY1cyKeDDoGrOIg0aPqNfDrrY1E4tQ=";
ldflags = [
"-s"
@@ -472,13 +472,13 @@
"vendorHash": "sha256-yOM4JcQxAvYAFPyAFfjJn4FK8pEXF3I55ddMTkijn9c="
},
"grafana_grafana": {
"hash": "sha256-eYVNiyD3hFxE9dqlyfsOZBaX6xVec0uPAuquOdxg78A=",
"hash": "sha256-szkdeprCEbrtZkoNzS6/FlICPsZpB+fgvAovNk8LXLM=",
"homepage": "https://registry.terraform.io/providers/grafana/grafana",
"owner": "grafana",
"repo": "terraform-provider-grafana",
"rev": "v4.29.0",
"rev": "v4.31.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-9fBGjh/kstnMHi9aWQoq0tqJfDWoKHESlQwBoRA+8oA="
"vendorHash": "sha256-xcKcXakpjBQCy5JqWsXnDDQeR+53tyRxWeoLkxsStcs="
},
"gridscale_gridscale": {
"hash": "sha256-FAKvQ/MEod5Ck0PG4ffQ+gQp6zZ0JDRXPOrOiDpWMls=",
@@ -508,13 +508,13 @@
"vendorHash": "sha256-picwxtQOtsBX8SkA64+ekFNDC7zIpg0CG66kelO2THk="
},
"hashicorp_awscc": {
"hash": "sha256-tcDnXPoiwGcy4tW3r/YMM+eivGur90TeAZO5gWhT7DA=",
"hash": "sha256-/mQ8GrCbOudqpQ3+xyJccVCVVUkGsnozNHa4Ll/66RI=",
"homepage": "https://registry.terraform.io/providers/hashicorp/awscc",
"owner": "hashicorp",
"repo": "terraform-provider-awscc",
"rev": "v1.78.0",
"rev": "v1.79.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-z2KPnztWBOlKTIwloRGdT1GMjBewQ1FlJgZkoGFK7XY="
"vendorHash": "sha256-ZhN2ap9U5xp2HNeAE7HmLGce19jVH4Y7GpuqrUtYf40="
},
"hashicorp_azuread": {
"hash": "sha256-BkQwLkGu8Xmb4laoXOLDbSPyya5v8HBBNIya5hUBlV8=",
@@ -923,13 +923,13 @@
"vendorHash": "sha256-5cqj1O57snU+NoVqmWc/KIGnowQNMww+rJxYfIPvHWU="
},
"mongodb_mongodbatlas": {
"hash": "sha256-8TcFJv8e9CJOzF+Fy0QvB2juTvyGAxUvgSKCL3fGYDM=",
"hash": "sha256-3zypsyMu7ZlEKtmA2brnc3Gidlkd96v1DG3C4HQLByw=",
"homepage": "https://registry.terraform.io/providers/mongodb/mongodbatlas",
"owner": "mongodb",
"repo": "terraform-provider-mongodbatlas",
"rev": "v2.9.0",
"rev": "v2.10.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-mgGmFrP/LhjHiYvxKtGBe2S/ZBHn2qT7eX5eBvNjxk8="
"vendorHash": "sha256-cvnxSUCiu6S5lkT9VAyn9K6lmridRb0WZyrrvMv+B48="
},
"namecheap_namecheap": {
"hash": "sha256-fHH9sHI1mqQ9q9nX9DHJ0qfEfmDB4/2uzyVvUuIAF18=",
@@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "urxvt-tabbedex";
version = "22.32";
version = "26.16.1";
src = fetchFromGitHub {
owner = "mina86";
repo = "urxvt-tabbedex";
rev = "v${version}";
sha256 = "sha256-4+4iPFoy1j5xjXRM5kBauhff44Y7/ik/+ZLZ1prc+Xo=";
sha256 = "sha256-e/t7AnP7nXkkazK6Oe6mw2Adf5wxR31/nFKeSaCpy/4";
};
nativeBuildInputs = [ perl ];
+4
View File
@@ -50,4 +50,8 @@ buildEnv {
}"
done
'';
meta = {
inherit (kodi.meta) mainProgram;
};
}
-1
View File
@@ -121,7 +121,6 @@ rec {
inherit
buildImage
buildLayeredImage
fakeNss
pullImage
shadowSetup
buildImageWithNixDb
+48 -47
View File
@@ -11,7 +11,6 @@
pkgs,
buildImage,
buildLayeredImage,
fakeNss,
pullImage,
shadowSetup,
buildImageWithNixDb,
@@ -27,11 +26,37 @@ let
};
evalMinimalConfig = module: nixosLib.evalModules { modules = [ module ]; };
nonRootShadowSetup =
{
user,
uid,
gid ? uid,
}:
with pkgs;
[
(writeTextDir "etc/shadow" ''
root:!x:::::::
${user}:!:::::::
'')
(writeTextDir "etc/passwd" ''
root:x:0:0::/root:${runtimeShell}
${user}:x:${toString uid}:${toString gid}::/home/${user}:
'')
(writeTextDir "etc/group" ''
root:x:0:
${user}:x:${toString gid}:
'')
(writeTextDir "etc/gshadow" ''
root:x::
${user}:x::
'')
];
nginxArguments =
let
nginxPort = "80";
nginxConf = pkgs.writeText "nginx.conf" ''
user nobody nobody;
user nginx nginx;
daemon off;
error_log /dev/stdout info;
pid /dev/null;
@@ -55,9 +80,12 @@ let
name = "nginx-container";
tag = "latest";
contents = [
fakeNss
pkgs.nginx
];
]
++ nonRootShadowSetup {
uid = 999;
user = "nginx";
};
extraCommands = ''
mkdir -p tmp/nginx_client_body
@@ -596,46 +624,18 @@ rec {
};
# buildLayeredImage with non-root user
bashLayeredWithUser =
let
nonRootShadowSetup =
{
user,
uid,
gid ? uid,
}:
with pkgs;
[
(writeTextDir "etc/shadow" ''
root:!x:::::::
${user}:!:::::::
'')
(writeTextDir "etc/passwd" ''
root:x:0:0::/root:${runtimeShell}
${user}:x:${toString uid}:${toString gid}::/home/${user}:
'')
(writeTextDir "etc/group" ''
root:x:0:
${user}:x:${toString gid}:
'')
(writeTextDir "etc/gshadow" ''
root:x::
${user}:x::
'')
];
in
pkgs.dockerTools.buildLayeredImage {
name = "bash-layered-with-user";
tag = "latest";
contents = [
pkgs.bash
pkgs.coreutils
]
++ nonRootShadowSetup {
uid = 999;
user = "somebody";
};
bashLayeredWithUser = pkgs.dockerTools.buildLayeredImage {
name = "bash-layered-with-user";
tag = "latest";
contents = [
pkgs.bash
pkgs.coreutils
]
++ nonRootShadowSetup {
uid = 999;
user = "somebody";
};
};
# basic example, with cross compilation
cross =
@@ -803,6 +803,10 @@ rec {
}
)
);
etcCmd = pkgs.writeScript "etc-cmd" ''
#!${pkgs.busybox}/bin/sh
${pkgs.busybox}/bin/cat /etc/some-config-file
'';
in
pkgs.dockerTools.streamLayeredImage {
name = "etc";
@@ -812,10 +816,7 @@ rec {
mkdir -p /etc
${nixosCore.config.system.build.etcActivationCommands}
'';
config.Cmd = pkgs.writeScript "etc-cmd" ''
#!${pkgs.busybox}/bin/sh
${pkgs.busybox}/bin/cat /etc/some-config-file
'';
config.Cmd = [ etcCmd ];
};
# Example export of the bash image
+1 -1
View File
@@ -6,7 +6,7 @@ echo "Cloning Fossil $url [$rev] into $out"
export HOME=$(pwd)
# We must explicitly set the admin user for the clone to something reasonable.
fossil clone -A nobody "$url" fossil-clone.fossil
fossil clone -A $(whoami) "$url" fossil-clone.fossil
mkdir fossil-clone
WORKDIR=$(pwd)
@@ -77,7 +77,7 @@ export HOME="$tmpPath"
echo "Fetching Fossil repository $url at revision $rev..." >&2
# Clone the repository
fossil clone -A nobody "$url" "$tmpPath/fossil-clone.fossil" >&2
fossil clone -A $(whoami) "$url" "$tmpPath/fossil-clone.fossil" >&2
# Create directory for checkout
checkoutDir="$tmpPath/checkout"
+2 -2
View File
@@ -6,13 +6,13 @@
buildGoModule (finalAttrs: {
pname = "air";
version = "1.65.0";
version = "1.65.1";
src = fetchFromGitHub {
owner = "air-verse";
repo = "air";
tag = "v${finalAttrs.version}";
hash = "sha256-pqvnX/PiipZM8jLBN6zN/yVnuCCk+aTII5AH0N4nHEM=";
hash = "sha256-omyWDW5bE+HfXQ2EQZKthB9t+jBEFcPSVtPss5qeoMI=";
};
vendorHash = "sha256-03xZ3P/7xjznYdM9rv+8ZYftQlnjJ6ZTq0HdSvGpaWw=";
+2 -2
View File
@@ -8,11 +8,11 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "alt-tab-macos";
version = "10.4.0";
version = "10.11.0";
src = fetchurl {
url = "https://github.com/lwouis/alt-tab-macos/releases/download/v${finalAttrs.version}/AltTab-${finalAttrs.version}.zip";
hash = "sha256-CbeQi50EbGP+GoXLN/M8iLJ65RI6awXjDoPzEB8Pb38=";
hash = "sha256-LLEmcZEC0DaMdp9a5e1wF74oahGvHQpzpKDnbkPqNto=";
};
sourceRoot = ".";
@@ -8,13 +8,13 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "ansible-navigator";
version = "26.1.3";
version = "26.4.0";
pyproject = true;
src = fetchPypi {
inherit (finalAttrs) version;
pname = "ansible_navigator";
hash = "sha256-WWbx4/BARcmDnCZDt7v2uCCyZUNlS8Ur8HYiCf5A/vE=";
hash = "sha256-FpDFWyNnlt28wAG6OgJjwvK+UMCEDyH4P9fQ+t5J8FQ=";
};
build-system = with python3Packages; [
+2 -2
View File
@@ -7,11 +7,11 @@
let
pname = "apidog";
version = "2.8.23";
version = "2.8.24";
src = fetchurl {
url = "https://file-assets.apidog.com/download/${version}/Apidog-${version}.AppImage";
hash = "sha256-N3ULCrYJilcc3R102ndXjKH3g/km7WcEMdi+NL8nmqA=";
hash = "sha256-gGhA++wfgURhibGF2tXAmH0orX2VSUiJsAo3wAu6t1g=";
};
appimageContents = appimageTools.extract {
+2 -2
View File
@@ -8,13 +8,13 @@
buildGoModule (finalAttrs: {
pname = "arkade";
version = "0.11.92";
version = "0.11.93";
src = fetchFromGitHub {
owner = "alexellis";
repo = "arkade";
tag = finalAttrs.version;
hash = "sha256-7xBtmpi4Mm9C9HSGsuluu7N4IglZisw3fWSgK9DFizo=";
hash = "sha256-VWdWlUBSyRqHtApX2n/eBVBMw34zt+I2hi0Nmvx901o=";
};
env.CGO_ENABLED = 0;
@@ -1,7 +1,11 @@
{
armagetronad,
}:
...
}@args:
armagetronad.override {
dedicatedServer = true;
}
armagetronad.override (
{
dedicatedServer = true;
}
// args
)
+5 -4
View File
@@ -30,6 +30,7 @@
gnugrep,
nixosTests,
dedicatedServer ? false,
...
}:
let
@@ -71,8 +72,8 @@ let
# https://gitlab.com/armagetronad/armagetronad/-/commits/trunk/?ref_type=heads
${unstableVersionMajor} =
let
rev = "3675f21cd5be4932a7a168b321576e0b09e64aaf";
hash = "sha256-d2vPFAyx6LhEIxtEUdhrlqqYeCY0NnETlq7TVvX5vVo=";
rev = "ec0dbb09ce081be2879acf67bebcd2a2987fd0a4";
hash = "sha256-8fH0Q0N2bKCO0t+lOs8EamThpiial2CfEcVP3cZbHX0=";
in
dedicatedServer: {
version = "${unstableVersionMajor}-${lib.substring 0 8 rev}";
@@ -104,8 +105,8 @@ let
# https://gitlab.com/armagetronad/armagetronad/-/commits/hack-0.2.8-sty+ct+ap/?ref_type=heads
"${latestVersionMajor}-sty+ct+ap" =
let
rev = "22fdbee08ca301c09ae4dee7210ccef02536670d";
hash = "sha256-F+nnQxI2TTTa+gJYWjQPFjd8tQLCh/dEu/oTV0ie8BI=";
rev = "b74df624eae13e919b4b04f9b18043bce9d04431";
hash = "sha256-tjEcgyYxaGgHiIH8y9xYM7HEpgZa7DEWIVqK8r0dmaY=";
in
dedicatedServer: {
version = "${latestVersionMajor}-sty+ct+ap-${lib.substring 0 8 rev}";
+5
View File
@@ -0,0 +1,5 @@
source 'https://rubygems.org'
gem 'asmrepl'
# Extra dependencies
gem 'racc', '~> 1.8'
gem 'rbs', '~> 3.9'
+23
View File
@@ -0,0 +1,23 @@
GEM
remote: https://rubygems.org/
specs:
asmrepl (1.2.0)
fisk (~> 2.3.1)
fisk (2.3.2)
logger (1.7.0)
racc (1.8.1)
rbs (3.10.3)
logger
tsort
tsort (0.2.0)
PLATFORMS
ruby
DEPENDENCIES
asmrepl
racc (~> 1.8)
rbs (~> 3.9)
BUNDLED WITH
2.7.2
+67
View File
@@ -0,0 +1,67 @@
{
asmrepl = {
dependencies = [ "fisk" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0qvkqn34ldlip2yz3kdckqmvniyydswcclwdcalcpdwnahg25xjw";
type = "gem";
};
version = "1.2.0";
};
fisk = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0zypl29fpqd5pqkp8j67xnq9b2dwhl8kn01fyw1kxy9l2676dlmh";
type = "gem";
};
version = "2.3.2";
};
logger = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "00q2zznygpbls8asz5knjvvj2brr3ghmqxgr83xnrdj4rk3xwvhr";
type = "gem";
};
version = "1.7.0";
};
racc = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa";
type = "gem";
};
version = "1.8.1";
};
rbs = {
dependencies = [
"logger"
"tsort"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "19nsjb0wkb1zk274q0zy41hfzqraanar3jg6akak8q8134wpyqkh";
type = "gem";
};
version = "3.10.3";
};
tsort = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "17q8h020dw73wjmql50lqw5ddsngg67jfw8ncjv476l5ys9sfl4n";
type = "gem";
};
version = "0.2.0";
};
}
@@ -44,6 +44,6 @@ stdenv.mkDerivation {
platforms
;
broken = !(lib.versionAtLeast kernel.version "6.16" && lib.versionOlder kernel.version "6.20");
broken = !(lib.versionAtLeast kernel.version "6.16" && lib.versionOlder kernel.version "7.1");
};
}
+3 -3
View File
@@ -1,6 +1,6 @@
# Generated by ./update.sh - do not update manually!
{
version = "1.17.5-2";
arm64-hash = "sha256-4I/Kb+kfO73doOw10+knRqNpwlKWAzOWBrh1akggALk=";
x86_64-hash = "sha256-ZqxqCsSpU71nS5+o+S1nscEFC+7wLgLzdpa6qLUUPYI=";
version = "1.17.6-1";
arm64-hash = "sha256-QAqxs8Jyu4kA8Zmox0GJ8KoPS/L5z3TTtP6JDk62zjk=";
x86_64-hash = "sha256-Lit/eIudO0V1USoP0VWHbR5QHCT+7RyX9omYM4PoCeQ=";
}
+3 -3
View File
@@ -12,14 +12,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "bird";
version = "2.18";
version = "2.18.1";
src = fetchFromGitLab {
domain = "gitlab.nic.cz";
owner = "labs";
repo = "bird";
rev = "v${finalAttrs.version}";
hash = "sha256-Kta8zzM/EYC3Mz3mLptaJ+pFgs1Hi7MBsWjwkR4hwL8=";
tag = "v${finalAttrs.version}";
hash = "sha256-tYICTipTzugtb7kv/zwsChM8v+zJ2TVsotEkJDcZCto=";
};
nativeBuildInputs = [
+1 -1
View File
@@ -18,7 +18,7 @@ stdenv.mkDerivation (finalAttrs: {
domain = "gitlab.nic.cz";
owner = "labs";
repo = "bird";
rev = "v${finalAttrs.version}";
tag = "v${finalAttrs.version}";
hash = "sha256-FkrVrjT4Q9zLeauP2GOX38a7a4q7h2aQbEe/kmfKB3A=";
};
@@ -1,24 +1,24 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
python3,
xmlbird,
autoPatchelfHook,
cairo,
fetchFromGitHub,
gdk-pixbuf,
libgee,
glib,
gtk3,
webkitgtk_4_1,
libnotify,
sqlite,
vala,
gobject-introspection,
gsettings-desktop-schemas,
wrapGAppsHook3,
autoPatchelfHook,
gtk3,
lib,
libgee,
libnotify,
nix-update-script,
pkg-config,
python3,
sqlite,
stdenv,
vala,
webkitgtk_4_1,
wrapGAppsHook3,
xmlbird,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -29,37 +29,40 @@ stdenv.mkDerivation (finalAttrs: {
owner = "johanmattssonm";
repo = "birdfont";
tag = "v${finalAttrs.version}";
sha256 = "sha256-7xVjY/yH7pMlUBpQc5Gb4t4My24Mx5KkARVp2KSr+Iw=";
hash = "sha256-7xVjY/yH7pMlUBpQc5Gb4t4My24Mx5KkARVp2KSr+Iw=";
};
nativeBuildInputs = [
python3
pkg-config
vala
gobject-introspection
wrapGAppsHook3
autoPatchelfHook
gobject-introspection
pkg-config
python3
vala
wrapGAppsHook3
];
buildInputs = [
xmlbird
libgee
cairo
gdk-pixbuf
glib
gsettings-desktop-schemas
gtk3
webkitgtk_4_1
libgee
libnotify
sqlite
gsettings-desktop-schemas
webkitgtk_4_1
xmlbird
];
postPatch = ''
substituteInPlace install.py \
--replace 'platform.version()' '"Nix"'
--replace-fail 'platform.version()' '"Nix"'
patchShebangs .
'';
# workaround gcc >= 14 incompatibilities
env.NIX_CFLAGS_COMPILE = "-std=gnu17 -Wno-error=incompatible-pointer-types";
buildPhase = "./build.py";
installPhase = "./install.py";
@@ -69,7 +72,8 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "Font editor which can generate fonts in TTF, EOT, SVG and BIRDFONT format";
homepage = "https://birdfont.org";
license = lib.licenses.gpl3;
maintainers = [ ];
license = lib.licenses.gpl3Plus;
mainProgram = "birdfont";
maintainers = with lib.maintainers; [ drawbu ];
};
})
@@ -14,7 +14,7 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "blackmagic-desktop-video";
version = "15.3.1";
version = "16.0";
buildInputs = [
autoPatchelfHook
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
{
outputHashMode = "recursive";
outputHashAlgo = "sha256";
outputHash = "sha256-4Y7bmN08fZ9hRsyFKP4cfGb4fggLY9bdm32+UTIGiTs=";
outputHash = "sha256-AdJiPG0kJBk3SH633kwLbS36LjFeFAwzYTrfEjkvup4=";
impureEnvVars = lib.fetchers.proxyImpureEnvVars;
+3 -3
View File
@@ -12,13 +12,13 @@
buildNpmPackage rec {
pname = "blockbench";
version = "5.1.2";
version = "5.1.3";
src = fetchFromGitHub {
owner = "JannisX11";
repo = "blockbench";
tag = "v${version}";
hash = "sha256-fU38Exv83cKaPFA26zmwYZlkscCbAEz/7Gch5j/qHjk=";
hash = "sha256-aGGvYIYQ3fw1fk5NUwJsMkq2YSugQD94xfy52LvHOKc=";
};
patches = [
@@ -36,7 +36,7 @@ buildNpmPackage rec {
copyDesktopItems
];
npmDepsHash = "sha256-0FdPTyoVNrsx0LJYcpfZPKZwUKzyJaU6XNnm2bY9F/s=";
npmDepsHash = "sha256-RmUUdHSVrZYc4F1Qtkbvn/2oKspM/3SnCuT3McKlMn0=";
makeCacheWritable = true;
env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
+2 -2
View File
@@ -10,11 +10,11 @@
stdenvNoCC.mkDerivation rec {
pname = "camunda-modeler";
version = "5.45.0";
version = "5.46.0";
src = fetchurl {
url = "https://github.com/camunda/camunda-modeler/releases/download/v${version}/camunda-modeler-${version}-linux-x64.tar.gz";
hash = "sha256-5hYMRFdMXlnhHzwbj8Hy48WJBf7L5UUhZUfKSlr06Z0=";
hash = "sha256-uDZYy+Lkvc5YdIdn84l8QbNPcU5EQzOqTTdTezgCudw=";
};
sourceRoot = "camunda-modeler-${version}-linux-x64";
+2 -2
View File
@@ -12,14 +12,14 @@ let
in
python.pkgs.buildPythonApplication rec {
pname = "canaille";
version = "0.2.3";
version = "0.2.4";
pyproject = true;
src = fetchFromGitLab {
owner = "yaal";
repo = "canaille";
tag = version;
hash = "sha256-kBbkqoXyGO238EArwYyjO46Kk5SkfP31Dc51qglLmqQ=";
hash = "sha256-iCiQvB+wYpm/Cns63kjo2wVGnSbcQHWo3UJvi0xJf50=";
};
build-system = with python.pkgs; [
+3 -3
View File
@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-binstall";
version = "1.17.9";
version = "1.18.0";
src = fetchFromGitHub {
owner = "cargo-bins";
repo = "cargo-binstall";
tag = "v${finalAttrs.version}";
hash = "sha256-GTyMnbPHB7+E8IEdUd7bHBmCTcMI6UqYBysGqzDs8MA=";
hash = "sha256-005RXO9Ah8JA36n27CehwgOOij2d3S3BfmRaaYYqpeg=";
};
cargoHash = "sha256-38KqQcpOtSkV0eYQsXRdte8Pzabv2nU0ipxqzQFHgtg=";
cargoHash = "sha256-bulcxmiQAt0WugUlXLFDjLlZi9q2/jFhZ/AuGbXF2K0=";
nativeBuildInputs = [
pkg-config
+3 -3
View File
@@ -13,16 +13,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-crev";
version = "0.26.5";
version = "0.27.1";
src = fetchFromGitHub {
owner = "crev-dev";
repo = "cargo-crev";
rev = "v${finalAttrs.version}";
sha256 = "sha256-P6i2RvosI36rrg52kUcdrb5y4Fg0ms/mH5hcOWNgSik=";
sha256 = "sha256-ezMpxYrJJ2zqEwCaDu2DFMwd6d/nfPVO6z2Lm4elIYE=";
};
cargoHash = "sha256-ZlcKnSVpMxQqstbr/VkR/iT1B0wR5qnh5VLpNpYsTRw=";
cargoHash = "sha256-CYvvwgDZ+yAr7kLGEVZLVx7+sZUc5vu85AT5xLJBSbQ=";
preCheck = ''
export HOME=$(mktemp -d)
+3 -3
View File
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-wizard";
version = "0.2.2";
version = "0.2.3";
src = fetchFromGitHub {
owner = "kobzol";
repo = "cargo-wizard";
rev = "v${finalAttrs.version}";
hash = "sha256-oFPSgjXZ+Kq59tV/7s6WPF6FHXENoZv8D245yyT0E9E=";
hash = "sha256-WLGE2ZuytjSridZwfUTtNQF5woeBbx5ZoHfB9eyvedI=";
};
cargoHash = "sha256-ClulQP+1/RLvOWWB3uKTCn2Sx3+TO25qRs456DWHKu0=";
cargoHash = "sha256-vRakgwZRyYkk3xFfZzl197tgRmx+/g2b8eaDunwrCzM=";
preCheck = ''
export PATH=$PATH:$PWD/target/${stdenv.hostPlatform.rust.rustcTarget}/$cargoBuildType
+3 -3
View File
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-xwin";
version = "0.21.4";
version = "0.21.5";
src = fetchFromGitHub {
owner = "rust-cross";
repo = "cargo-xwin";
rev = "v${finalAttrs.version}";
hash = "sha256-mgFMjNxjB4S9/nou6S8NN8ZpXX7K49lLArt/cXcSPIE=";
hash = "sha256-RgR0YBjgpk10IS62+/CdIbZ+7oSnkOC5npIqRrib6eU=";
};
cargoHash = "sha256-Md2pk8kYqUDPzRQedbne4Crg5UbGHHE5OTRz4LXLs3E=";
cargoHash = "sha256-dJkfEPRyXFpMwqExvyimLMc+iOAby5yeEUpHt0MoQ6M=";
meta = {
description = "Cross compile Cargo project to Windows MSVC target with ease";
+1
View File
@@ -85,6 +85,7 @@ stdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [
aleksana
amerino
_0xErwin1
];
platforms = lib.platforms.linux;
};
+4 -4
View File
@@ -12,13 +12,13 @@
libepoxy,
wayland,
wayland-scanner,
wlroots_0_19,
wlroots_0_20,
libxkbcommon,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "casilda";
version = "1.2.0";
version = "1.2.2";
outputs = [
"out"
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "jpu";
repo = "casilda";
tag = finalAttrs.version;
hash = "sha256-JaWHKKNYeeW7QKB6DpGrXowvufeBZUnc9pP0ZAAo3gU=";
hash = "sha256-JMDS+fx0vUZnfNz5bzmTy8/4BkgMypWBp+qjorTVmK4=";
};
depsBuildBuild = [ pkg-config ];
@@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
wayland-protocols
wayland # for wayland-server
libxkbcommon
wlroots_0_19
wlroots_0_20
];
propagatedBuildInputs = [ gtk4 ];
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule (finalAttrs: {
pname = "certigo";
version = "1.17.1";
version = "1.18.0";
src = fetchFromGitHub {
owner = "square";
repo = "certigo";
rev = "v${finalAttrs.version}";
sha256 = "sha256-dn2GqEiSzlcqNPoAZhPESRsl3LOUBlaPs59rUjf2c5k=";
sha256 = "sha256-U+VbtY34lxLBHWI1BjkPxzSS6q41R9DQkGvDvSDX9WY=";
};
vendorHash = "sha256-hBuR6a0gBhuYICbuiHxJdbDr4hLF4mQvIcMr5FHfOu8=";
vendorHash = "sha256-5DpgOb0YxZ/os23y+siCB73dUwutxXIW5RlCZqdbxao=";
meta = {
description = "Utility to examine and validate certificates in a variety of formats";
+2 -2
View File
@@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cgif";
version = "0.5.2";
version = "0.5.3";
src = fetchFromGitHub {
owner = "dloebl";
repo = "cgif";
tag = "v${finalAttrs.version}";
hash = "sha256-Eoq2QPDz5YYw22Ux1H9CYFN1x+/1YTYqi/rmdwf+Hk4=";
hash = "sha256-sZan1SLY4HGoifgGOb+uo4/q4dtxZuWAYhMbvdl/Ap8=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -6,11 +6,11 @@
}:
let
pname = "chatbox";
version = "1.19.1";
version = "1.20.0";
src = fetchurl {
url = "https://download.chatboxai.app/releases/Chatbox-${version}-x86_64.AppImage";
hash = "sha256-xR653w7jiJlSHvbDcJG5pFjbgf/jZzbyx8C+pa0cPp4=";
hash = "sha256-VzrAXWacrX6ldHdSw12RmElMdWmHiCsE3qPEPoJqFA0=";
};
appimageContents = appimageTools.extract { inherit pname version src; };
@@ -1,2 +1,4 @@
source 'https://rubygems.org'
gem "chef-cli"
gem "syslog", "~> 0.4.0"
@@ -1,59 +1,56 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (7.0.8.7)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
addressable (2.8.8)
public_suffix (>= 2.0.2, < 8.0)
ast (2.4.3)
aws-eventstream (1.4.0)
aws-partitions (1.1110.0)
aws-sdk-core (3.225.0)
aws-partitions (1.1213.0)
aws-sdk-core (3.242.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
base64
bigdecimal
jmespath (~> 1, >= 1.6.1)
logger
aws-sdk-kms (1.102.0)
aws-sdk-core (~> 3, >= 3.225.0)
aws-sdk-kms (1.121.0)
aws-sdk-core (~> 3, >= 3.241.4)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.189.0)
aws-sdk-core (~> 3, >= 3.225.0)
aws-sdk-s3 (1.213.0)
aws-sdk-core (~> 3, >= 3.241.4)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
aws-sdk-secretsmanager (1.116.0)
aws-sdk-core (~> 3, >= 3.225.0)
aws-sdk-secretsmanager (1.128.0)
aws-sdk-core (~> 3, >= 3.241.4)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.12.0)
aws-sigv4 (1.12.1)
aws-eventstream (~> 1, >= 1.0.2)
base64 (0.3.0)
bigdecimal (3.2.1)
benchmark (0.5.0)
bigdecimal (4.0.1)
builder (3.3.0)
chef (18.7.10)
chef (18.3.0)
addressable
aws-sdk-s3 (~> 1.91)
aws-sdk-secretsmanager (~> 1.46)
chef-config (= 18.7.10)
chef-utils (= 18.7.10)
chef-config (= 18.3.0)
chef-utils (= 18.3.0)
chef-vault
chef-zero (>= 15.0.17)
chef-zero (>= 14.0.11)
corefoundation (~> 0.3.4)
diff-lcs (>= 1.2.4, < 1.6.0, != 1.4.0)
erubis (~> 2.7)
ffi (>= 1.15.5, <= 1.16.3)
ffi (>= 1.15.5)
ffi-libarchive (~> 1.0, >= 1.0.3)
ffi-yajl (~> 2.2)
iniparse (~> 1.4)
inspec-core (>= 5, < 6)
inspec-core (>= 5)
license-acceptance (>= 1.0.5, < 3)
mixlib-archive (>= 0.4, < 2.0)
mixlib-authentication (>= 2.1, < 4)
mixlib-cli (>= 2.1.1, < 3.0)
mixlib-log (>= 2.0.3, < 3.2)
mixlib-log (>= 2.0.3, < 4.0)
mixlib-shellout (>= 3.1.1, < 4.0)
net-ftp
net-sftp (>= 2.1.2, < 5.0)
@@ -61,13 +58,13 @@ GEM
plist (~> 3.2)
proxifier2 (~> 1.1)
syslog-logger (~> 1.6)
train-core (~> 3.10, <= 3.12.13)
train-core (~> 3.10)
train-rest (>= 0.4.1)
train-winrm (~> 0.2.17)
unf_ext (~> 0.0.8.2)
train-winrm (>= 0.2.5)
unf_ext (>= 0.0.8.2)
uuidtools (>= 2.1.5, < 3.0)
vault (~> 0.18.2)
chef-cli (5.6.21)
vault (~> 0.16)
chef-cli (5.6.23)
addressable (>= 2.3.5, < 2.9)
chef (~> 18.0)
cookbook-omnifetch (~> 0.5)
@@ -79,116 +76,136 @@ GEM
mixlib-shellout (>= 2.0, < 4.0)
pastel (~> 0.7)
solve (> 2.0, < 5.0)
chef-config (18.7.10)
chef-config (18.3.0)
addressable
chef-utils (= 18.7.10)
chef-utils (= 18.3.0)
fuzzyurl
mixlib-config (>= 2.2.12, < 4.0)
mixlib-shellout (>= 2.0, < 4.0)
tomlrb (~> 1.2)
chef-gyoku (1.4.5)
chef-gyoku (1.5.0)
builder (>= 2.1.2)
rexml (~> 3.4)
chef-licensing (1.4.0)
chef-config (>= 15)
faraday (>= 1, < 3)
faraday-http-cache
mixlib-log (~> 3.0)
ostruct (~> 0.6.0)
pstore (~> 0.1.1)
tty-prompt (~> 0.23)
tty-spinner (~> 0.9.3)
chef-telemetry (1.1.1)
chef-config
concurrent-ruby (~> 1.0)
chef-utils (18.7.10)
chef-utils (18.3.0)
concurrent-ruby
chef-vault (4.1.23)
chef-winrm (2.3.12)
chef-vault (4.2.5)
syslog (~> 0.3)
chef-winrm (2.5.0)
builder (>= 2.1.2)
chef-gyoku (~> 1.4.0, <= 1.4.5)
chef-gyoku (~> 1.5)
erubi (~> 1.8)
ffi (>= 1.15.5, < 1.17.0)
gssapi (~> 1.2)
httpclient (~> 2.2, >= 2.2.0.2)
logging (>= 1.6.1, < 3.0)
nori (= 2.7.0)
rexml (~> 3.3)
nori (~> 2.7)
rexml (>= 3.4.2, < 4.0)
rubyntlm (~> 0.6.0, >= 0.6.3)
chef-winrm-elevated (1.2.5)
chef-winrm (>= 2.3.11)
chef-winrm-fs (>= 1.3.7)
erubi (~> 1.8)
chef-winrm-fs (1.3.7)
chef-winrm (>= 2.3.11)
chef-winrm-fs (1.4.2)
benchmark (~> 0.5.0)
chef-winrm (~> 2.4)
csv (~> 3.3)
erubi (>= 1.7)
logging (>= 1.6.1, < 3.0)
rubyzip (~> 2.0)
chef-zero (15.0.17)
activesupport (~> 7.0, < 7.1)
ffi-yajl (~> 2.2)
hashie (>= 2.0, < 5.0)
chef-zero (15.1.0)
ffi-yajl (>= 2.2, < 4.0)
hashie (>= 2.0, < 6.0)
mixlib-log (>= 2.0, < 4.0)
rack (~> 3.1, >= 3.1.10)
rack (~> 3.1, >= 3.1.16)
rackup (~> 2.2, >= 2.2.1)
unf_ext (~> 0.0.8)
uuidtools (~> 2.1)
webrick
coderay (1.1.3)
concurrent-ruby (1.3.5)
concurrent-ruby (1.3.6)
connection_pool (2.5.5)
cookbook-omnifetch (0.12.2)
mixlib-archive (>= 0.4, < 2.0)
cookstyle (8.1.4)
rubocop (= 1.75.8)
cookstyle (8.5.3)
rubocop (= 1.81.7)
corefoundation (0.3.13)
ffi (>= 1.15.0)
date (3.4.1)
csv (3.3.5)
date (3.5.1)
diff-lcs (1.5.1)
domain_name (0.6.20240107)
erubi (1.13.1)
erubis (2.7.0)
faraday (2.13.1)
faraday (2.14.1)
faraday-net_http (>= 2.0, < 3.5)
json
logger
faraday-follow_redirects (0.3.0)
faraday-follow_redirects (0.5.0)
faraday (>= 1, < 3)
faraday-net_http (3.4.0)
net-http (>= 0.5.0)
ffi (1.16.3)
faraday-http-cache (2.6.1)
faraday (>= 0.8)
faraday-net_http (3.4.2)
net-http (~> 0.5)
ffi (1.17.3)
ffi-libarchive (1.1.14)
ffi (~> 1.0)
ffi-yajl (2.6.0)
libyajl2 (>= 1.2)
ffi-yajl (2.7.7)
libyajl2 (>= 2.1)
yajl
fuzzyurl (0.9.0)
gssapi (1.3.1)
ffi (>= 1.0.1)
hashie (4.1.0)
hashie (5.1.0)
logger
http-accept (1.7.0)
http-cookie (1.0.8)
http-cookie (1.1.0)
domain_name (~> 0.5)
httpclient (2.9.0)
mutex_m
i18n (1.14.7)
concurrent-ruby (~> 1.0)
iniparse (1.5.0)
inspec-core (5.22.80)
inspec-core (7.0.95)
addressable (~> 2.4)
chef-licensing (>= 1.2.0)
chef-telemetry (~> 1.0, >= 1.0.8)
cookstyle
csv (~> 3.0)
faraday (>= 1, < 3)
faraday-follow_redirects (~> 0.3)
hashie (>= 3.4, < 6.0)
license-acceptance (>= 0.2.13, < 3.0)
method_source (>= 0.8, < 2.0)
mixlib-log (~> 3.0, < 3.2)
mixlib-log (~> 3.0)
multipart-post (~> 2.0)
ostruct (>= 0.1, < 0.7)
parallel (~> 1.9)
parslet (>= 1.5, < 3.0)
pry (~> 0.13)
rspec (>= 3.9, <= 3.12)
rspec-its (~> 1.2)
rubyzip (>= 1.2.2, < 3.0)
rspec (>= 3.9, <= 3.14)
rspec-its (>= 1.2, < 3.0)
rubyzip (>= 1.2.2, < 4.0)
semverse (~> 3.0)
sslshake (~> 1.2)
thor (>= 0.20, < 1.3.0)
tomlrb (>= 1.2, < 2.1)
train-core (~> 3.12.13)
syslog (~> 0.1)
thor (>= 0.20, < 1.5.0)
tomlrb (>= 1.3, < 2.1)
train-core (~> 3.13, >= 3.13.4)
tty-prompt (~> 0.17)
tty-table (~> 0.10)
io-console (0.8.2)
ipaddress (0.8.3)
jmespath (1.6.2)
json (2.12.2)
json (2.18.1)
language_server-protocol (3.17.0.5)
libyajl2 (2.1.0)
license-acceptance (2.1.13)
@@ -206,28 +223,29 @@ GEM
mime-types (3.7.0)
logger
mime-types-data (~> 3.2025, >= 3.2025.0507)
mime-types-data (3.2025.0527)
minitar (1.0.2)
minitest (5.25.5)
mixlib-archive (1.1.7)
mime-types-data (3.2026.0203)
minitar (1.1.0)
mixlib-archive (1.3.3)
mixlib-log
mixlib-authentication (3.0.10)
mixlib-cli (2.1.8)
mixlib-config (3.0.27)
tomlrb
mixlib-log (3.1.2.1)
ffi (< 1.17.0)
mixlib-shellout (3.3.9)
mixlib-log (3.2.3)
ffi (>= 1.15.5)
mixlib-shellout (3.4.10)
chef-utils
molinillo (0.8.0)
multi_json (1.15.0)
multi_json (1.19.1)
multipart-post (2.4.1)
mutex_m (0.3.0)
net-ftp (0.3.8)
net-ftp (0.3.9)
net-protocol
time
net-http (0.6.0)
uri
net-http (0.9.1)
uri (>= 0.11.1)
net-http-persistent (4.0.8)
connection_pool (>= 2.2.4, < 4)
net-protocol (0.2.2)
timeout
net-scp (4.1.0)
@@ -236,12 +254,12 @@ GEM
net-ssh (>= 5.0.0, < 8.0.0)
net-ssh (7.3.0)
netrc (0.11.0)
nori (2.7.0)
nori (2.7.1)
bigdecimal
ohai (18.2.6)
ohai (18.1.18)
chef-config (>= 14.12, < 19)
chef-utils (>= 16.0, < 19)
ffi (~> 1.9, <= 1.17.0)
ffi (~> 1.9)
ffi-yajl (~> 2.2)
ipaddress
mixlib-cli (>= 1.7.0)
@@ -251,49 +269,54 @@ GEM
plist (~> 3.1)
train-core
wmi-lite (~> 1.0)
ostruct (0.6.3)
parallel (1.27.0)
parser (3.3.8.0)
parser (3.3.10.1)
ast (~> 2.4.1)
racc
parslet (2.0.0)
pastel (0.8.0)
tty-color (~> 0.5)
plist (3.7.2)
prism (1.4.0)
prism (1.9.0)
proxifier2 (1.1.0)
pry (0.15.2)
pry (0.16.0)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (6.0.2)
reline (>= 0.6.0)
pstore (0.1.4)
public_suffix (7.0.2)
racc (1.8.1)
rack (3.1.15)
rackup (2.2.1)
rack (3.2.4)
rackup (2.3.1)
rack (>= 3)
rainbow (3.1.1)
regexp_parser (2.10.0)
regexp_parser (2.11.3)
reline (0.6.3)
io-console (~> 0.5)
rest-client (2.1.0)
http-accept (>= 1.7.0, < 2.0)
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
rexml (3.4.1)
rspec (3.12.0)
rspec-core (~> 3.12.0)
rspec-expectations (~> 3.12.0)
rspec-mocks (~> 3.12.0)
rspec-core (3.12.3)
rspec-support (~> 3.12.0)
rspec-expectations (3.12.4)
rexml (3.4.4)
rspec (3.13.2)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-core (3.13.6)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.5)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-its (1.3.1)
rspec-core (>= 3.0.0)
rspec-expectations (>= 3.0.0)
rspec-mocks (3.12.7)
rspec-support (~> 3.13.0)
rspec-its (2.0.0)
rspec-core (>= 3.13.0)
rspec-expectations (>= 3.13.0)
rspec-mocks (3.13.7)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-support (3.12.2)
rubocop (1.75.8)
rspec-support (~> 3.13.0)
rspec-support (3.13.7)
rubocop (1.81.7)
json (~> 2.3)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
@@ -301,17 +324,18 @@ GEM
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 2.9.3, < 3.0)
rubocop-ast (>= 1.44.0, < 2.0)
rubocop-ast (>= 1.47.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.45.0)
rubocop-ast (1.49.0)
parser (>= 3.3.7.2)
prism (~> 1.4)
prism (~> 1.7)
ruby-progressbar (1.13.0)
rubyntlm (0.6.5)
base64
rubyzip (2.4.1)
semverse (3.0.2)
socksify (1.8.1)
solve (4.0.4)
molinillo (~> 0.6)
semverse (>= 1.1, < 4.0)
@@ -321,15 +345,17 @@ GEM
unicode-display_width (>= 1.5, < 3.0)
unicode_utils (~> 1.4)
strings-ansi (0.2.0)
syslog (0.4.0)
logger
syslog-logger (1.6.8)
thor (1.2.2)
time (0.4.1)
thor (1.4.0)
time (0.4.2)
date
timeout (0.4.3)
timeout (0.6.0)
tomlrb (1.3.0)
train-core (3.12.13)
train-core (3.16.1)
addressable (~> 2.5)
ffi (!= 1.13.0)
ffi (>= 1.16.0, < 1.18)
json (>= 1.8, < 3.0)
mixlib-shellout (>= 2.0, < 4.0)
net-scp (>= 1.2, < 5.0)
@@ -338,10 +364,11 @@ GEM
aws-sigv4 (~> 1.5)
rest-client (~> 2.1)
train-core (~> 3.0)
train-winrm (0.2.19)
chef-winrm (~> 2.3.12)
chef-winrm-elevated (~> 1.2.5)
chef-winrm-fs (~> 1.3.7)
train-winrm (0.4.3)
chef-winrm (>= 2.4.4, < 3.0)
chef-winrm-elevated (>= 1.2.5, < 2.0)
chef-winrm-fs (>= 1.4.1, < 2.0)
socksify (~> 1.8)
tty-box (0.7.0)
pastel (~> 0.8)
strings (~> 0.2.0)
@@ -356,28 +383,33 @@ GEM
tty-screen (~> 0.8)
wisper (~> 2.0)
tty-screen (0.8.2)
tty-spinner (0.9.3)
tty-cursor (~> 0.7)
tty-table (0.12.0)
pastel (~> 0.8)
strings (~> 0.2.0)
tty-screen (~> 0.8)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unf_ext (0.0.8.2)
unf_ext (0.0.9.1)
unicode-display_width (2.6.0)
unicode_utils (1.4.0)
uri (1.0.3)
uri (1.1.1)
uuidtools (2.2.0)
vault (0.18.2)
vault (0.20.0)
aws-sigv4
webrick (1.9.1)
base64
connection_pool (~> 2.4)
net-http-persistent (~> 4.0, >= 4.0.2)
webrick (1.9.2)
wisper (2.0.1)
wmi-lite (1.0.7)
yajl (0.3.4)
PLATFORMS
ruby
DEPENDENCIES
chef-cli
syslog (~> 0.4.0)
BUNDLED WITH
2.6.6
2.7.2
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -31,13 +31,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "cherry-studio";
version = "1.8.4";
version = "1.9.1";
src = fetchFromGitHub {
owner = "CherryHQ";
repo = "cherry-studio";
tag = "v${finalAttrs.version}";
hash = "sha256-TLV4N9WYuTD24UY+2lYmxRLO2jtdvuXyIOeH5mXb1V0=";
hash = "sha256-gk/sTkBr7PKBGS96bYVUXGpZuoaech4/0npB+NSstTA=";
};
postPatch = ''
@@ -54,7 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-qryToH1tytLSwPORkLBCCn3m/Xsl+vift9WF3Pn8oGg=";
hash = "sha256-DidMffZQEdYSERZZgDpQ8DqV773iBju89Pa0Z1Gz3I8=";
};
nativeBuildInputs = [
+12 -4
View File
@@ -88,10 +88,18 @@ rustPlatform.buildRustPackage (finalAttrs: {
pnpm build
'';
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir -p $out/bin
makeWrapper "$out/Applications/Chiri.app/Contents/MacOS/chiri" "$out/bin/chiri"
'';
postInstall =
if stdenv.hostPlatform.isDarwin then
''
mkdir -p $out/bin
makeWrapper "$out/Applications/Chiri.app/Contents/MacOS/chiri" "$out/bin/chiri"
''
else
''
mv $out/bin/Chiri $out/bin/chiri
substituteInPlace $out/share/applications/Chiri.desktop \
--replace-fail "Exec=Chiri" "Exec=chiri"
'';
doCheck = false;
+3 -3
View File
@@ -16,16 +16,16 @@
buildGoModule (finalAttrs: {
pname = "cliamp";
version = "1.34.0";
version = "1.35.0";
src = fetchFromGitHub {
owner = "bjarneo";
repo = "cliamp";
tag = "v${finalAttrs.version}";
hash = "sha256-0WT3DRII4o58KFK+7UW0QgrJwrJwmPkKmTQeVXmtoZ0=";
hash = "sha256-8Att+SEJd2MdAgQ8SM49S4c4fM7t0/f/kHl6a+DbO2U=";
};
vendorHash = "sha256-+uh+4ZYvnlKmRSIvZFlnfBPqU0CFFe/Op1Gr9hjIr4U=";
vendorHash = "sha256-sS0tjZoZ81Jwn/KJnJD01fTA4z0HxEYYM89Ta398MP0=";
nativeBuildInputs = [
pkg-config
+3 -3
View File
@@ -6,18 +6,18 @@
buildGoModule (finalAttrs: {
pname = "cnspec";
version = "13.3.3";
version = "13.4.1";
src = fetchFromGitHub {
owner = "mondoohq";
repo = "cnspec";
tag = "v${finalAttrs.version}";
hash = "sha256-yCxry1f5CEF51WSgrYN1m9F8YpVjtt+UNZG978nPXbY=";
hash = "sha256-3Uo2x30K7b7NA5OGP8YYlcoEJmFhlkL7t7ohvzUlmYI=";
};
proxyVendor = true;
vendorHash = "sha256-wgebRTa1ox+LUzxlYLb3pqcLEF/uUushZ1Oq2mvRGCk=";
vendorHash = "sha256-7XwLkvG0LYL0pIbjMs78wMSqbXR5SScPAgjRxYsPwlA=";
subPackages = [ "apps/cnspec" ];
@@ -7,16 +7,16 @@
buildNpmPackage {
pname = "coc-rust-analyzer";
version = "0-unstable-2026-04-01";
version = "0-unstable-2026-04-09";
src = fetchFromGitHub {
owner = "fannheyward";
repo = "coc-rust-analyzer";
rev = "569c6c56e815ae29ad7873b472ebb750c19d0d38";
hash = "sha256-4IZhCQl+iKChGaT0ghn5MnB+h6U5DJSa7YgPDoObiBg=";
rev = "561aea31f1e263c8386ab7e09b7ffa95e64cd351";
hash = "sha256-Ee/5nkPdQBXwt5jQOMN+2/nHRwk33HigeY/L0NpTLAY=";
};
npmDepsHash = "sha256-B/EBAhwEEqLgGshK3Fw7nG7Mv9kk0v4ClLglLhooYBM=";
npmDepsHash = "sha256-+3eXdiM0Nll7V6EnDXq88rBjRkPN6GLFASdJ3fMXbq4=";
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
+3 -3
View File
@@ -8,17 +8,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "codebook";
version = "0.3.36";
version = "0.3.37";
src = fetchFromGitHub {
owner = "blopker";
repo = "codebook";
tag = "v${finalAttrs.version}";
hash = "sha256-nME4B9z66Xvnll37jkNBMmswFk3oYGA9rSLTJufOo1s=";
hash = "sha256-1eZ9HzGK/Zyjb0ffGZc08DKqwMtUh6Ei04vAtgCOQoc=";
};
buildAndTestSubdir = "crates/codebook-lsp";
cargoHash = "sha256-mHGuhTGMWWgaLJe71GxgWBwmRcEZGZAQgvJb4TQOKrw=";
cargoHash = "sha256-lWl2E5I/1Qj5TvQfxBfNsMYIIpL+yGlrA7YVokKwtqQ=";
env = {
CARGO_PROFILE_RELEASE_LTO = "fat";
+3 -3
View File
@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cotp";
version = "1.9.7";
version = "1.9.9";
src = fetchFromGitHub {
owner = "replydev";
repo = "cotp";
rev = "v${finalAttrs.version}";
hash = "sha256-N3UPeEc3xPIRHt1lOwd8c7e61jZk3PPo3sC/7BQBosY=";
hash = "sha256-P7QeT3q//nmv11i0pELfTCC/wi9jHqbYClqSvvkvqwA=";
};
cargoHash = "sha256-3IJV7X3G12+ca723sDhOn4SN9CeqKPzGs59IQBYS5QY=";
cargoHash = "sha256-PhUHFLl0yr/eWy2A+zp+gTNlW+zbruCqQLkHA6Ivf04=";
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libxcb ];
+3 -3
View File
@@ -24,13 +24,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cubeb";
version = "0-unstable-2026-03-25";
version = "0-unstable-2026-04-06";
src = fetchFromGitHub {
owner = "mozilla";
repo = "cubeb";
rev = "774182f2c1b6d5e0d8ce975f2ed9f58fab7f1da2";
hash = "sha256-Wh/yKAritCLg0FGbM4i+iorgOZvmFysLlDxpuZH7NjI=";
rev = "626d7d9f906e9f3cfb70be9e58af0f5a5f399a74";
hash = "sha256-qo3gVlYGxKef7RVGngFDKuSODoVbSCaFZwoKY4RDaAk=";
};
outputs = [
@@ -1,11 +1,10 @@
{
lib,
buildPythonApplication,
python3Packages,
fetchFromGitHub,
ply,
}:
buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
pname = "cxxtest";
version = "4.4";
format = "setuptools";
@@ -19,7 +18,7 @@ buildPythonApplication rec {
sourceRoot = "${src.name}/python";
nativeCheckInputs = [ ply ];
nativeCheckInputs = [ python3Packages.ply ];
preCheck = ''
cd ../
@@ -41,8 +40,6 @@ buildPythonApplication rec {
cp -r ../../cxxtest "$out/include"
'';
dontWrapPythonPrograms = true;
meta = {
homepage = "https://github.com/CxxTest/cxxtest";
description = "Unit testing framework for C++";
@@ -1,18 +1,19 @@
{
lib,
buildPythonApplication,
python3Packages,
fetchPypi,
setuptools,
}:
buildPythonApplication rec {
python3Packages.buildPythonApplication (finalAttrs: {
pname = "dazel";
version = "0.0.43";
pyproject = true;
build-system = [ setuptools ];
build-system = [
python3Packages.setuptools
];
src = fetchPypi {
inherit pname version;
inherit (finalAttrs) pname version;
hash = "sha256-2enQRKg4CAPGHte02io+EfiW9AmuP3Qi41vNQeChg+8=";
};
@@ -24,4 +25,4 @@ buildPythonApplication rec {
malt3
];
};
}
})
+6 -2
View File
@@ -7,14 +7,18 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "dcnnt";
version = "0.10.0";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit (finalAttrs) pname version;
hash = "sha256-73ZLgb5YcXlAOjbKLVv8oqgS6pstBdJxa7LFUgIHpUE=";
};
propagatedBuildInputs = with python3Packages; [
build-system = [
python3Packages.setuptools
];
dependencies = with python3Packages; [
pycryptodome
];
+3 -3
View File
@@ -6,16 +6,16 @@
}:
buildNpmPackage rec {
pname = "decktape";
version = "3.15.0";
version = "3.16.0";
src = fetchFromGitHub {
owner = "astefanutti";
repo = "decktape";
rev = "v${version}";
hash = "sha256-SsdjqkMEVD0pVgIZ9Upmrz/1KOWcb1KUy/v/xTCVGc0=";
hash = "sha256-hriWwH7/YKCwdDhXwqoOmjOJX3Dk4aKMnCBJKepUTzg=";
};
npmDepsHash = "sha256-Z5fLGMvxVhM8nW81PQ5ZFPHK6m2uoYUv0A4XsTa3Z2Y=";
npmDepsHash = "sha256-wnT6kRiYanwi8G9ZtBmqxAFctJEyyi0XlwaOXTjvlA8=";
npmPackFlags = [ "--ignore-scripts" ];
dontNpmBuild = true;
+2 -2
View File
@@ -28,13 +28,13 @@ buildGoModule (
in
{
pname = "dms-shell";
version = "1.4.4";
version = "1.4.4.1";
src = fetchFromGitHub {
owner = "AvengeMedia";
repo = "DankMaterialShell";
tag = "v${finalAttrs.version}";
hash = "sha256-rfWvWbPVrpujmBp/q9My/70fWgRLaELdrnZB3CZKlWg=";
hash = "sha256-iYBdSBvcW7bJtc84G6k5TFJEbPHQrif9KzZyE9Lbq8M=";
};
sourceRoot = "${finalAttrs.src.name}/core";
+15 -15
View File
@@ -1,19 +1,19 @@
{
"@rolldown/binding-android-arm64@npm:1.0.0-rc.9": "1777af709a7dee1cf188aa8248f915b9a8e33ebf08e542dad502bbc71d2b4da454cdb27099177606e8b180df406273abcd45d52774ce4e27cf2a439b84d52683",
"@rolldown/binding-darwin-arm64@npm:1.0.0-rc.9": "7c5a281f86d91ba3d18d079e8b67b4bb6cc9f0d414b13be2f0c4e9d4b821e8a16045c1324244841be48b94bb5312cb61295f9bf97808553614c6d5eddeb7a64a",
"@rolldown/binding-darwin-x64@npm:1.0.0-rc.9": "eec443021e7fc115a8378f3d664df84db7cd6e97b1741d663efdd7c68340d7e61558241031ea5434ef9ca1dfa66c1a4a480177e194cfd38925de876c157efb85",
"@rolldown/binding-freebsd-x64@npm:1.0.0-rc.9": "51c5863b592936299620c9200e704880ebd38b6f1ce4c4ba944558162913a8d7891c24982e85a484838fa80b025737dbd4042f94e2a25a2d927379ad572c1631",
"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.9": "d5b5391a590a9d3f0a792d78be5eaef4595c6bc25704caf28c7cc2b01853322d807bae922deabb1f2c2a197ac48dbf97b9ef4aef0212e8830a1f3c1d70af3608",
"@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.9": "504c4d38e115f77fb44aa9ac56948e8d870021a5f4153af5b91fc5823b468f0268a9d451b11f7dea9aab47bc5fa07a014eecf34ad0baeb12eec46282aa8b4a22",
"@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.9": "e3ebfeb46b68eca14fd36177d8e40edd5a3e8634f2b00a55531a88fa467ddc46a9a9d650e3b085b85b7a8377ad5223ebdf5b226507f3ac150528758eab70ed29",
"@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.9": "e240025464e6bf73aaff02e9412937948b6b944eee24a26ed578956e0ab7c6b00da5300e35650c1fbd5c37dee3cc8ad66c9ac3c1e036e17ea33b3cbca58f1356",
"@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.9": "50e631b2efcdc93573311bc8ce8d1319bee3212c1872929d2b3752bf0be0896100f271aae829d3aafa9413b24ef47edf4a0fea48ee8dfa8386edbb23381dcd93",
"@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.9": "8d59328c46ac1250c7666f2d723ec30be3119553c60e22656d08391c2a217c938f906906b6662da1984666643ba00ad7d43899041380fe6a7f5072f5e1cc4b97",
"@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.9": "cd27570608123a824d4c779cca3cee1e93ac3a8318e030a881bb72d80a6ff3b9a22add1f550c13fd7472407aea02cda2cfbd04016975f88474826848bf463b0e",
"@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.9": "0bb2f5ab0e2a461ac0f05e1efafaf4145702479792afc7b5229c92da18d0544fd63189fd15f6bca71a511d07131b231665933470ceceec7db67c628e2c43a152",
"@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.9": "7208c5618e61b484d1272650c68d8908ac0a1b35ce365ef78f0b4290afa171055b24a15585c2a62d95abf1e6298e4aa3d08b71db6656415b8e7d2fdf37fd8b24",
"@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.9": "f2605a92b218d088c20b0a2e71a8f47a5d5b5b04ed2edcafc59d692974cf62984228350eee176e94ea605b4326363c0962a8e97e2de34c926447c38ed6a73636",
"@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.9": "091a4d27b9675b61dd598aa6ee827c5a2959b532ae52a0ac73aafd167567328a53fb38f2c0d556f8f78625c275f86d54491134fceefa9e43cb796c6af982fb75",
"@rolldown/binding-android-arm64@npm:1.0.0-rc.15": "0c78d6321d2dedc0c6ed4b5541328f6c04e8530a3c294b477cd9741e2af7c8377a51474f0171c85ecf63bff5c8bb31ee586f40f13fa265a869247ec3d6293204",
"@rolldown/binding-darwin-arm64@npm:1.0.0-rc.15": "598b8cb87d8ba8df4e880e0d6903f7f4f32b3e7b2804429cb3ccc47a69b8e7b852b2e3115a8c3a882d14979909f9464e8da55c2c52a52cb18a81df7e8a1aa654",
"@rolldown/binding-darwin-x64@npm:1.0.0-rc.15": "92fdfa58a8d9edaec4c1766c38c34f657715d2c8faec141590812d11ba6a6ce52530e55a6a2515fcd2ec6287e50187a458f06ca3c6813130cb9869a99c9f6f29",
"@rolldown/binding-freebsd-x64@npm:1.0.0-rc.15": "04e8288accf007c82e8bbe75af62d4ed570bddd7b25a178506fcf97daa0907cf6f85ea095be5826095242ac1a4923196059f53a9e8fdd0e3c34d9ed1c00d64ae",
"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.15": "4cd7452e4fe4433b730585bcbaf210efc50621bca5906204179ffe80748bea187398d4091dae64079f0c7ebfea1987f0b1c045ff60209ab0f60be9e04eccbef7",
"@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.15": "fbddea791134b45a94aa5aea640a177d6feacd81a44f9ee3615da3daa824dc2a193ced6e8f2a0bb0676fca7b224525513b451cd8f78b379d7b1983fe6a0360ff",
"@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.15": "b325fa98753bf41100c5d95145f30ce92b5f69f6989973306344b1644fb21633454aa216f28355c74d0e7bd5885bb6d2c80d0f96dcc2b869ca7e63d8b22dbe91",
"@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.15": "0bff0d2724912079dcedfbc0a86dbad8e3e376d2d619cf36917964701b9ae5a39afa5ff49d3cb5b2c3e17437c559314cf8e17433ad3bfb4b64229d9c8bf1ebca",
"@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.15": "6718fd91ead389f3bdefe22fd0344b490d3f9350697e4aa35a0fb55957aa1b127d26aaecf9bc2d49f1dfde62d9d4717cf5dfb7d93ce3b871372ef9c6cb7a1b1a",
"@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.15": "cb7628e1a7398ab5fd07dc79a38c73a27524d45adc989b5d906ea37e23b7692123d607d07fb9fda35485d6caba545ae41c561b9632aefa0bff76997208f83eae",
"@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.15": "f59fb354b8cac55d123f6f3fe7bf8210402f97ed4be3f3a883c6c544ce1b825e36154f479d45f6e9f23c1fcd8861e9f3873dc24278631db871d263db3bea5580",
"@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.15": "b6c220a48ace9c381d238dce2caaa8453da1d3fe9312bab7babf127a500bdec2bbe30bd381f9945af79c30fe9ca0185108b86ef311fc83ecb83ef24f7a587902",
"@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.15": "9cd39e02ad5f43fc45901d074df10c0e3532d9077a6e334e431de60f90555c15e5445d1b5156c10df49d28839f9f15d5d808666bc8e70ab065bb9af3b8567e7a",
"@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.15": "cfc32a72e8a3900f356b0b359520df3f18ac79379a273a4c53b00b1555123dcfd8204cf9976762664898b0c6c949c0edd4be850ae254d2e84a40fcb8352858eb",
"@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.15": "f0bd2876247f0834f135c1ae150b7d5626d54ff399b4a6193626dc46a0eca22374a43c64afdf3eff8e8e9cf1f20df826bcd9fd4219df3fece03972b8ae080e20",
"lightningcss-android-arm64@npm:1.32.0": "1cb326ad39dcb02cf9f45025c167b6900e3a04b08f5149d3c5ee26054b00d08db3736fb69183a6c3ed1cb32dddd148608c784b6631b4777623f7dd0c032c392d",
"lightningcss-darwin-arm64@npm:1.32.0": "da954d0c215d0e95f15a92c8717f871017586e1332b98fd40e96196571d2fd3d51a727dc530768afee9f6a04da210510740574dd0c8dbf2ecced79e5996f1a06",
"lightningcss-darwin-x64@npm:1.32.0": "b1d298c9173f839e8447d1917ed8bc5ab098ed0fc4e4b419d36ac5afe8b27bf21cb47d00a35c3d2edadcac598086e9b4f26c992a809d79f9681d6865a230d79e",
+4 -4
View File
@@ -16,19 +16,19 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "dokieli";
version = "0-unstable-2026-03-25";
version = "0-unstable-2026-04-13";
src = fetchFromGitHub {
owner = "dokieli";
repo = "dokieli";
rev = "d684e852325b2247b831b179efed5d96c211f864";
hash = "sha256-Af8KsH1tqPDuOUEaHRN3ULJwGWgZc5JgFT99sGKkkec=";
rev = "6f574408bc914347c3ba27869e61225fabbe6272";
hash = "sha256-PSDsV5Gg+JT9qwMBiRkyv/ZiZY9qvqhRuKjEiPMuQDU=";
};
missingHashes = ./missing-hashes.json;
offlineCache = yarn-berry.fetchYarnBerryDeps {
inherit (finalAttrs) src missingHashes;
hash = "sha256-bUXAYeTJqz11Rl7vaNPNRBTqjLdSr0FrEQBAFLd9oEs=";
hash = "sha256-bO3yEh+P8al/oXXjqNOMOpXc0ggc17Wc00WtahniilE=";
};
buildPhase = ''

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