Merge 7296c7ff9a into haskell-updates

This commit is contained in:
nixpkgs-ci[bot]
2025-03-19 00:18:57 +00:00
committed by GitHub
336 changed files with 9496 additions and 13053 deletions
+3
View File
@@ -238,3 +238,6 @@ e0fe216f4912dd88a021d12a44155fd2cfeb31c8
# nixos/movim: format with nixfmt-rfc-style
43c1654cae47cbf987cb63758c06245fa95c1e3b
# nixos/iso-image.nix: nixfmt
da9a092c34cef6947d7aee2b134f61df45171631
+3
View File
@@ -10,6 +10,9 @@ on:
# the release notes and some css and js files from there.
# See nixos/doc/manual/default.nix
- "doc/**"
# Build when something in lib changes
# Since the lib functions are used to 'massage' the options before producing the manual
- "lib/**"
permissions: {}
+152
View File
@@ -0,0 +1,152 @@
# COSMIC {#sec-language-cosmic}
## Packaging COSMIC applications {#ssec-cosmic-packaging}
COSMIC (Computer Operating System Main Interface Components) is a desktop environment developed by
System76, primarily for the Pop!_OS Linux distribution. Applications in the COSMIC ecosystem are
written in Rust and use libcosmic, which builds on the Iced GUI framework. This section explains
how to properly package and integrate COSMIC applications within Nix.
### libcosmicAppHook {#ssec-cosmic-libcosmic-app-hook}
The `libcosmicAppHook` is a setup hook that helps with this by automatically configuring
and wrapping applications based on libcosmic. It handles many common requirements like:
- Setting up proper linking for libraries that may be dlopen'd by libcosmic/iced apps
- Configuring XDG paths for settings schemas, icons, and other resources
- Managing Vergen environment variables for build-time information
- Setting up Rust linker flags for specific libraries
To use the hook, simply add it to your package's `nativeBuildInputs`:
```nix
{
lib,
rustPlatform,
libcosmicAppHook,
}:
rustPlatform.buildRustPackage {
# ...
nativeBuildInputs = [ libcosmicAppHook ];
# ...
}
```
### Settings fallback {#ssec-cosmic-settings-fallback}
COSMIC applications use libcosmic's UI components, which may need access to theme settings. The
`cosmic-settings` package provides default theme settings as a fallback in its `share` directory.
By default, `libcosmicAppHook` includes this fallback path in `XDG_DATA_DIRS`, ensuring that COSMIC
applications will have access to theme settings even if they aren't available elsewhere in the
system.
This fallback behavior can be disabled by setting `includeSettings = false` when including the hook:
```nix
{
lib,
rustPlatform,
libcosmicAppHook,
}:
let
# Get build-time version of libcosmicAppHook
libcosmicAppHook' = (libcosmicAppHook.__spliced.buildHost or libcosmicAppHook).override {
includeSettings = false;
};
in
rustPlatform.buildRustPackage {
# ...
nativeBuildInputs = [ libcosmicAppHook' ];
# ...
}
```
Note that `cosmic-settings` is a separate application and not a part of the libcosmic settings
system itself. It's included by default in `libcosmicAppHook` only to provide these fallback theme
settings.
### Icons {#ssec-cosmic-icons}
COSMIC applications can use icons from the COSMIC icon theme. While COSMIC applications can build
and run without these icons, they would be missing visual elements. The `libcosmicAppHook`
automatically includes `cosmic-icons` in the wrapped application's `XDG_DATA_DIRS` as a fallback,
ensuring that the application has access to its required icons even if the system doesn't have the
COSMIC icon theme installed globally.
Unlike the `cosmic-settings` fallback, the `cosmic-icons` fallback cannot be removed or disabled, as
it is essential for COSMIC applications to have access to these icons for proper visual rendering.
### Runtime Libraries {#ssec-cosmic-runtime-libraries}
COSMIC applications built on libcosmic and Iced require several runtime libraries that are dlopen'd
rather than linked directly. The `libcosmicAppHook` ensures that these libraries are correctly
linked by setting appropriate Rust linker flags. The libraries handled include:
- Graphics libraries (EGL, Vulkan)
- Input libraries (xkbcommon)
- Display server protocols (Wayland, X11)
This ensures that the applications will work correctly at runtime, even though they use dynamic
loading for these dependencies.
### Adding custom wrapper arguments {#ssec-cosmic-custom-wrapper-args}
You can pass additional arguments to the wrapper using `libcosmicAppWrapperArgs` in the `preFixup` hook:
```nix
{
lib,
rustPlatform,
libcosmicAppHook,
}:
rustPlatform.buildRustPackage {
# ...
preFixup = ''
libcosmicAppWrapperArgs+=(--set-default ENVIRONMENT_VARIABLE VALUE)
'';
# ...
}
```
## Frequently encountered issues {#ssec-cosmic-common-issues}
### Setting up Vergen environment variables {#ssec-cosmic-common-issues-vergen}
Many COSMIC applications use the Vergen Rust crate for build-time information. The `libcosmicAppHook`
automatically sets up the `VERGEN_GIT_COMMIT_DATE` environment variable based on `SOURCE_DATE_EPOCH`
to ensure reproducible builds.
However, some applications may explicitly require additional Vergen environment variables.
Without these properly set, you may encounter build failures with errors like:
```
> cargo:rerun-if-env-changed=VERGEN_GIT_COMMIT_DATE
> cargo:rerun-if-env-changed=VERGEN_GIT_SHA
>
> --- stderr
> Error: no suitable 'git' command found!
> warning: build failed, waiting for other jobs to finish...
```
While `libcosmicAppHook` handles `VERGEN_GIT_COMMIT_DATE`, you may need to explicitly set other
variables. For applications that require these variables, you should set them directly in the
package definition:
```nix
{
lib,
rustPlatform,
libcosmicAppHook,
}:
rustPlatform.buildRustPackage {
# ...
env = {
VERGEN_GIT_COMMIT_DATE = "2025-01-01";
VERGEN_GIT_SHA = "0000000000000000000000000000000000000000"; # SHA-1 hash of the commit
};
# ...
}
```
Not all COSMIC applications require these variables, but for those that do, setting them explicitly
will prevent build failures.
+1
View File
@@ -58,6 +58,7 @@ beam.section.md
bower.section.md
chicken.section.md
coq.section.md
cosmic.section.md
crystal.section.md
cuda.section.md
cuelang.section.md
+27
View File
@@ -62,6 +62,9 @@
"sec-build-helper-extendMkDerivation": [
"index.html#sec-build-helper-extendMkDerivation"
],
"sec-language-cosmic": [
"index.html#sec-language-cosmic"
],
"sec-modify-via-packageOverrides": [
"index.html#sec-modify-via-packageOverrides"
],
@@ -317,6 +320,30 @@
"sec-tools-of-stdenv": [
"index.html#sec-tools-of-stdenv"
],
"ssec-cosmic-common-issues": [
"index.html#ssec-cosmic-common-issues"
],
"ssec-cosmic-common-issues-vergen": [
"index.html#ssec-cosmic-common-issues-vergen"
],
"ssec-cosmic-custom-wrapper-args": [
"index.html#ssec-cosmic-custom-wrapper-args"
],
"ssec-cosmic-icons": [
"index.html#ssec-cosmic-icons"
],
"ssec-cosmic-libcosmic-app-hook": [
"index.html#ssec-cosmic-libcosmic-app-hook"
],
"ssec-cosmic-packaging": [
"index.html#ssec-cosmic-packaging"
],
"ssec-cosmic-runtime-libraries": [
"index.html#ssec-cosmic-runtime-libraries"
],
"ssec-cosmic-settings-fallback": [
"index.html#ssec-cosmic-settings-fallback"
],
"ssec-stdenv-dependencies": [
"index.html#ssec-stdenv-dependencies"
],
+1 -1
View File
@@ -48,7 +48,7 @@
### NexusMods.App upgraded {#sec-nixpkgs-release-25.05-incompatibilities-nexusmods-app-upgraded}
- `nexusmods-app` has been upgraded from version 0.6.3 to 0.7.3.
- `nexusmods-app` has been upgraded from version 0.6.3 to 0.8.2.
- Before upgrading, you **must reset all app state** (mods, games, settings, etc). NexusMods.App will crash if any state from a version older than 0.7.0 is still present.
+18
View File
@@ -4129,6 +4129,12 @@
name = "ChaosAttractor";
keys = [ { fingerprint = "A137 4415 DB7C 6439 10EA 5BF1 0FEE 4E47 5940 E125"; } ];
};
charain = {
email = "charain_li@outlook.com";
github = "chai-yuan";
githubId = 42235952;
name = "charain";
};
charB66 = {
email = "nix.disparate221@passinbox.com";
github = "charB66";
@@ -4383,6 +4389,12 @@
github = "ciferkey";
githubId = 101422;
};
ciflire = {
name = "Léo Vesse";
email = "leovesse@gmail.com";
github = "Ciflire";
githubId = 39668077;
};
cig0 = {
name = "Martín Cigorraga";
email = "cig0.github@gmail.com";
@@ -11326,6 +11338,12 @@
{ fingerprint = "816D 23F5 E672 EC58 7674 4A73 197F 9A63 2D13 9E30"; }
];
};
j-mendez = {
email = "jeff@a11ywatch.com";
github = "j-mendez";
githubId = 8095978;
name = "j-mendez";
};
jmendyk = {
email = "jakub@ndyk.me";
github = "JMendyk";
@@ -5,13 +5,12 @@ configuration of your machine. Whenever you've [changed
something](#ch-configuration) in that file, you should do
```ShellSession
$ nixos-rebuild switch --use-remote-sudo
# nixos-rebuild switch
```
to build the new configuration as your current user, and as the root user,
make it the default configuration for booting. `switch` will also try to
realise the configuration in the running system (e.g., by restarting system
services).
to build the new configuration, make it the default configuration for
booting, and try to realise the configuration in the running system
(e.g., by restarting system services).
::: {.warning}
This command doesn't start/stop [user services](#opt-systemd.user.services)
@@ -20,23 +19,14 @@ user services.
:::
::: {.warning}
Applying a configuration is an action that must be done by the root user, so the
`switch`, `boot` and `test` commands should be ran with the `--use-remote-sudo`
flag. Despite its odd name, this flag runs the activation script with elevated
permissions, regardless of whether or not the target system is remote, without
affecting the other stages of the `nixos-rebuild` call. This allows unprivileged
users to rebuild the system and only elevate their permissions when necessary.
Alternatively, one can run the whole command as root while preserving user
environment variables by prefixing the command with `sudo -E`. However, this
method may create root-owned files in `$HOME/.cache` if Nix decides to use the
cache during evaluation.
These commands must be executed as root, so you should either run them
from a root shell or by prefixing them with `sudo -i`.
:::
You can also do
```ShellSession
$ nixos-rebuild test --use-remote-sudo
# nixos-rebuild test
```
to build the configuration and switch the running system to it, but
@@ -47,7 +37,7 @@ configuration.
There is also
```ShellSession
$ nixos-rebuild boot --use-remote-sudo
# nixos-rebuild boot
```
to build the configuration and make it the boot default, but not switch
@@ -57,7 +47,7 @@ You can make your configuration show up in a different submenu of the
GRUB 2 boot screen by giving it a different *profile name*, e.g.
```ShellSession
$ nixos-rebuild switch -p test --use-remote-sudo
# nixos-rebuild switch -p test
```
which causes the new configuration (and previous ones created using
@@ -68,7 +58,7 @@ configurations.
A repl, or read-eval-print loop, is also available. You can inspect your configuration and use the Nix language with
```ShellSession
$ nixos-rebuild repl
# nixos-rebuild repl
```
Your configuration is loaded into the `config` variable. Use tab for autocompletion, use the `:r` command to reload the configuration files. See `:?` or [`nix repl` in the Nix manual](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-repl.html) to learn more.
@@ -201,6 +201,8 @@
- [Orthanc](https://orthanc.uclouvain.be/) a lightweight, RESTful DICOM server for healthcare and medical research. Available as [services.orthanc](#opt-services.orthanc.enable).
- [Pareto Security](https://paretosecurity.com/) is an alternative to corporate compliance solutions for companies that care about security but know it doesn't have to be invasive. Available as [services.paretosecurity](#opt-services.paretosecurity.enable)
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
## Backward Incompatibilities {#sec-release-25.05-incompatibilities}
@@ -393,6 +395,10 @@
[v1.8.0](https://github.com/jtroo/kanata/releases/tag/v1.8.0)
for more information.
- `authelia` version 4.39.0 has made changes on the default claims for ID Tokens, to mirror the standard claims from the specification.
This change may affect some clients in unexpected ways, so manual intervention may be required.
Read the [release notes](https://www.authelia.com/blog/4.39-release-notes/), along with [the guide](https://www.authelia.com/integration/openid-connect/openid-connect-1.0-claims/#restore-functionality-prior-to-claims-parameter) to work around issues that may be encountered.
- `ags` was updated to v2, which is just a CLI for Astal now. Components are available as a different package set `astal.*`.
If you want to use v1, it is available as `ags_1` package.
@@ -640,6 +646,10 @@
[is removed](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c01f664e4ca210823b7594b50669bbd9b0a3c3b0)
in Linux 6.13.
- `authelia` version 4.39.0 has made some changes which deprecate older configurations.
They are still expected to be working until future version 5.0.0, but will generate warnings in logs.
Read the [release notes](https://www.authelia.com/blog/4.39-release-notes/) for human readable summaries of the changes.
- `programs.fzf.keybindings` now supports the fish shell.
- `gerbera` now has wavpack support.
@@ -1,11 +1,11 @@
# This module defines a NixOS installation CD that contains GNOME.
{ pkgs, ... }:
{ lib, pkgs, ... }:
{
imports = [ ./installation-cd-graphical-calamares.nix ];
isoImage.edition = "gnome";
isoImage.edition = lib.mkDefault "gnome";
services.xserver.desktopManager.gnome = {
# Add Firefox and other tools useful for installation to the launcher
@@ -1,12 +1,12 @@
# This module defines a NixOS installation CD that contains X11 and
# Plasma 5.
{ pkgs, ... }:
{ lib, pkgs, ... }:
{
imports = [ ./installation-cd-graphical-calamares.nix ];
isoImage.edition = "plasma5";
isoImage.edition = lib.mkDefault "plasma5";
services.xserver.desktopManager.plasma5 = {
enable = true;
@@ -1,11 +1,11 @@
# This module defines a NixOS installation CD that contains Plasma 6.
{ pkgs, ... }:
{ lib, pkgs, ... }:
{
imports = [ ./installation-cd-graphical-calamares.nix ];
isoImage.edition = "plasma6";
isoImage.edition = lib.mkDefault "plasma6";
services.desktopManager.plasma6.enable = true;
@@ -0,0 +1,52 @@
# This configuration uses a specialisation for each desired boot
# configuration, and a common parent configuration for all of them
# that's hidden. This allows users to import this module alongside
# their own and get the full array of specialisations inheriting the
# users' settings.
{ lib, ... }:
{
imports = [ ./installation-cd-base.nix ];
isoImage.edition = "graphical";
isoImage.showConfiguration = lib.mkDefault false;
specialisation = {
gnome.configuration =
{ config, ... }:
{
imports = [ ./installation-cd-graphical-calamares-gnome.nix ];
isoImage.showConfiguration = true;
isoImage.configurationName = "GNOME (Linux LTS)";
};
gnome_latest_kernel.configuration =
{ config, ... }:
{
imports = [
./installation-cd-graphical-calamares-gnome.nix
./latest-kernel.nix
];
isoImage.showConfiguration = true;
isoImage.configurationName = "GNOME (Linux ${config.boot.kernelPackages.kernel.version})";
};
plasma.configuration =
{ config, ... }:
{
imports = [ ./installation-cd-graphical-calamares-plasma6.nix ];
isoImage.showConfiguration = true;
isoImage.configurationName = "Plasma (Linux LTS)";
};
plasma_latest_kernel.configuration =
{ config, ... }:
{
imports = [
./installation-cd-graphical-calamares-plasma6.nix
./latest-kernel.nix
];
isoImage.showConfiguration = true;
isoImage.configurationName = "Plasma (Linux ${config.boot.kernelPackages.kernel.version})";
};
};
}
@@ -1,11 +1,11 @@
# This module defines a NixOS installation CD that contains GNOME.
{ ... }:
{ lib, ... }:
{
imports = [ ./installation-cd-graphical-base.nix ];
isoImage.edition = "gnome";
isoImage.edition = lib.mkDefault "gnome";
services.xserver.desktopManager.gnome = {
# Add Firefox and other tools useful for installation to the launcher
@@ -1,12 +1,12 @@
# This module defines a NixOS installation CD that contains X11 and
# Plasma 5.
{ pkgs, ... }:
{ lib, pkgs, ... }:
{
imports = [ ./installation-cd-graphical-base.nix ];
isoImage.edition = "plasma5";
isoImage.edition = lib.mkDefault "plasma5";
services.xserver.desktopManager.plasma5 = {
enable = true;
@@ -0,0 +1,14 @@
{ lib, ... }:
{
imports = [ ./installation-cd-minimal.nix ];
isoImage.configurationName = lib.mkDefault "(Linux LTS)";
specialisation.latest_kernel.configuration =
{ config, ... }:
{
imports = [ ./latest-kernel.nix ];
isoImage.configurationName = "(Linux ${config.boot.kernelPackages.kernel.version})";
};
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,9 @@
{ lib, pkgs, ... }:
{
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.supportedFilesystems.zfs = false;
environment.etc."nixos-generate-config.conf".text = ''
[Defaults]
Kernel=latest
'';
}
@@ -13,6 +13,7 @@
.Op Fl -root Ar root
.Op Fl -dir Ar dir
.Op Fl -flake
.Op Fl -kernel Ar <lts|latest>
.
.
.
@@ -66,6 +67,9 @@ instead of
.Pa /etc/nixos Ns
\&.
.
.It Fl -kernel Ar <lts|latest>
Set the kernel in the generated configuration file.
.
.It Fl -force
Overwrite
.Pa /etc/nixos/configuration.nix
@@ -7,6 +7,7 @@ use File::Path;
use File::Basename;
use File::Slurp;
use File::stat;
use Config::IniFiles;
umask(0022);
@@ -37,6 +38,18 @@ my $force = 0;
my $noFilesystems = 0;
my $flake = 0;
my $showHardwareConfig = 0;
my $kernel = "lts";
if (-e "/etc/nixos-generate-config.conf") {
my $cfg = new Config::IniFiles -file => "/etc/nixos-generate-config.conf";
$outDir = $cfg->val("Defaults", "Directory") // $outDir;
if (defined $cfg->val("Defaults", "RootDirectory")) {
$rootDir = $cfg->val("Defaults", "RootDirectory");
$rootDir =~ s/\/*$//; # remove trailing slashes
$rootDir = File::Spec->rel2abs($rootDir); # resolve absolute path
}
$kernel = $cfg->val("Defaults", "Kernel") // $kernel;
}
for (my $n = 0; $n < scalar @ARGV; $n++) {
my $arg = $ARGV[$n];
@@ -68,11 +81,17 @@ for (my $n = 0; $n < scalar @ARGV; $n++) {
elsif ($arg eq "--flake") {
$flake = 1;
}
elsif ($arg eq "--kernel") {
$n++;
$kernel = $ARGV[$n];
die "$0: --kernel requires an argument\n" unless defined $kernel;
}
else {
die "$0: unrecognized argument $arg\n";
}
}
die "$0: invalid kernel: '$kernel'" unless $kernel eq "lts" || $kernel eq "latest";
my @attrs = ();
my @kernelModules = ();
@@ -709,6 +728,14 @@ EOF
EOF
}
if ($kernel eq "latest") {
$bootLoaderConfig .= <<EOF;
# Use latest kernel.
boot.kernelPackages = pkgs.linuxPackages_latest;
EOF
}
my $networkingDhcpConfig = generateNetworkingDhcpConfig();
my $xserverConfig = generateXserverConfig();
+79 -42
View File
@@ -1,25 +1,41 @@
# This module generates nixos-install, nixos-rebuild,
# nixos-generate-config, etc.
{ config, lib, pkgs, options, ... }:
{
config,
lib,
pkgs,
options,
...
}:
let
makeProg = args: pkgs.replaceVarsWith (args // {
dir = "bin";
isExecutable = true;
nativeBuildInputs = [
pkgs.installShellFiles
];
postInstall = ''
installManPage ${args.manPage}
'';
});
makeProg =
args:
pkgs.replaceVarsWith (
args
// {
dir = "bin";
isExecutable = true;
nativeBuildInputs = [
pkgs.installShellFiles
];
postInstall = ''
installManPage ${args.manPage}
'';
}
);
nixos-generate-config = makeProg {
name = "nixos-generate-config";
src = ./nixos-generate-config.pl;
replacements = {
perl = "${pkgs.perl.withPackages (p: [ p.FileSlurp ])}/bin/perl";
perl = "${
pkgs.perl.withPackages (p: [
p.FileSlurp
p.ConfigIniFiles
])
}/bin/perl";
hostPlatformSystem = pkgs.stdenv.hostPlatform.system;
detectvirt = "${config.systemd.package}/bin/systemd-detect-virt";
btrfs = "${pkgs.btrfs-progs}/bin/btrfs";
@@ -36,13 +52,17 @@ let
inherit (pkgs) runtimeShell;
inherit (config.system.nixos) version codeName revision;
inherit (config.system) configurationRevision;
json = builtins.toJSON ({
nixosVersion = config.system.nixos.version;
} // lib.optionalAttrs (config.system.nixos.revision != null) {
nixpkgsRevision = config.system.nixos.revision;
} // lib.optionalAttrs (config.system.configurationRevision != null) {
configurationRevision = config.system.configurationRevision;
});
json = builtins.toJSON (
{
nixosVersion = config.system.nixos.version;
}
// lib.optionalAttrs (config.system.nixos.revision != null) {
nixpkgsRevision = config.system.nixos.revision;
}
// lib.optionalAttrs (config.system.configurationRevision != null) {
configurationRevision = config.system.configurationRevision;
}
);
};
manPage = ./manpages/nixos-version.8;
};
@@ -266,26 +286,46 @@ in
'';
};
imports = let
mkToolModule = { name, package ? pkgs.${name} }: { config, ... }: {
options.system.tools.${name}.enable = lib.mkEnableOption "${name} script" // {
default = config.nix.enable && ! config.system.disableInstallerTools;
defaultText = "config.nix.enable && !config.system.disableInstallerTools";
};
imports =
let
mkToolModule =
{
name,
package ? pkgs.${name},
}:
{ config, ... }:
{
options.system.tools.${name}.enable = lib.mkEnableOption "${name} script" // {
default = config.nix.enable && !config.system.disableInstallerTools;
defaultText = "config.nix.enable && !config.system.disableInstallerTools";
};
config = lib.mkIf config.system.tools.${name}.enable {
environment.systemPackages = [ package ];
};
};
in [
(mkToolModule { name = "nixos-build-vms"; })
(mkToolModule { name = "nixos-enter"; })
(mkToolModule { name = "nixos-generate-config"; package = config.system.build.nixos-generate-config; })
(mkToolModule { name = "nixos-install"; package = config.system.build.nixos-install; })
(mkToolModule { name = "nixos-option"; })
(mkToolModule { name = "nixos-rebuild"; package = config.system.build.nixos-rebuild; })
(mkToolModule { name = "nixos-version"; package = nixos-version; })
];
config = lib.mkIf config.system.tools.${name}.enable {
environment.systemPackages = [ package ];
};
};
in
[
(mkToolModule { name = "nixos-build-vms"; })
(mkToolModule { name = "nixos-enter"; })
(mkToolModule {
name = "nixos-generate-config";
package = config.system.build.nixos-generate-config;
})
(mkToolModule {
name = "nixos-install";
package = config.system.build.nixos-install;
})
(mkToolModule { name = "nixos-option"; })
(mkToolModule {
name = "nixos-rebuild";
package = config.system.build.nixos-rebuild;
})
(mkToolModule {
name = "nixos-version";
package = nixos-version;
})
];
config = {
documentation.man.man-db.skipPackages = [ nixos-version ];
@@ -293,10 +333,7 @@ in
# These may be used in auxiliary scripts (ie not part of toplevel), so they are defined unconditionally.
system.build = {
inherit nixos-generate-config nixos-install;
nixos-rebuild =
if config.system.rebuild.enableNg
then nixos-rebuild-ng
else nixos-rebuild;
nixos-rebuild = if config.system.rebuild.enableNg then nixos-rebuild-ng else nixos-rebuild;
nixos-option = lib.warn "Accessing nixos-option through `config.system.build` is deprecated, use `pkgs.nixos-option` instead." pkgs.nixos-option;
nixos-enter = lib.warn "Accessing nixos-enter through `config.system.build` is deprecated, use `pkgs.nixos-enter` instead." pkgs.nixos-enter;
};
+1
View File
@@ -1401,6 +1401,7 @@
./services/security/oauth2-proxy.nix
./services/security/oauth2-proxy-nginx.nix
./services/security/opensnitch.nix
./services/security/paretosecurity.nix
./services/security/pass-secret-service.nix
./services/security/physlock.nix
./services/security/shibboleth-sp.nix
+19 -4
View File
@@ -1,7 +1,12 @@
# This module defines the software packages included in the "minimal"
# installation CD. It might be useful elsewhere.
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
{
# Include some utilities that are useful for installing or repairing
@@ -43,9 +48,19 @@
];
# Include support for various filesystems and tools to create / manipulate them.
boot.supportedFilesystems =
[ "btrfs" "cifs" "f2fs" "ntfs" "vfat" "xfs" ] ++
lib.optional (lib.meta.availableOn pkgs.stdenv.hostPlatform config.boot.zfs.package) "zfs";
boot.supportedFilesystems = lib.mkMerge [
[
"btrfs"
"cifs"
"f2fs"
"ntfs"
"vfat"
"xfs"
]
(lib.mkIf (lib.meta.availableOn pkgs.stdenv.hostPlatform config.boot.zfs.package) {
zfs = lib.mkDefault true;
})
];
# Configure host id for ZFS to work
networking.hostId = lib.mkDefault "8425e349";
@@ -6,7 +6,7 @@ export PATH=@coreutils@/bin
if test "$1" = "start"; then
if ! @procps@/bin/pgrep ircd; then
if @ipv6Enabled@; then
while ! @iproute@/sbin/ip addr |
while ! @iproute2@/sbin/ip addr |
@gnugrep@/bin/grep inet6 |
@gnugrep@/bin/grep global; do
sleep 1;
@@ -62,7 +62,7 @@ let
>"$RUNTIME_DIRECTORY/api_key"
do sleep 1; done
(printf "X-API-Key: "; cat "$RUNTIME_DIRECTORY/api_key") >"$RUNTIME_DIRECTORY/headers"
${pkgs.curl}/bin/curl -sSLk -H "@$RUNTIME_DIRECTORY/headers" \
${pkgs.curl}/bin/curl --fail -sSLk -H "@$RUNTIME_DIRECTORY/headers" \
--retry 1000 --retry-delay 1 --retry-all-errors \
"$@"
}
@@ -121,6 +121,7 @@ let
'[.[].${s.GET_IdAttrName}] - $new_ids | .[]'
)"
for id in ''${stale_${conf_type}_ids}; do
>&2 echo "Deleting stale device: $id"
curl -X DELETE ${s.baseAddress}/$id
done
''
@@ -0,0 +1,43 @@
{
config,
lib,
pkgs,
...
}:
{
options.services.paretosecurity = {
enable = lib.mkEnableOption "[ParetoSecurity](https://paretosecurity.com) [agent](https://github.com/ParetoSecurity/agent) and its root helper";
package = lib.mkPackageOption pkgs "paretosecurity" { };
};
config = lib.mkIf config.services.paretosecurity.enable {
environment.systemPackages = [ config.services.paretosecurity.package ];
systemd.sockets."paretosecurity" = {
wantedBy = [ "sockets.target" ];
socketConfig = {
ListenStream = "/var/run/paretosecurity.sock";
SocketMode = "0666";
};
};
systemd.services."paretosecurity" = {
serviceConfig = {
ExecStart = "${config.services.paretosecurity.package}/bin/paretosecurity helper";
User = "root";
Group = "root";
StandardInput = "socket";
Type = "oneshot";
RemainAfterExit = "no";
StartLimitInterval = "1s";
StartLimitBurst = 100;
ProtectSystem = "full";
ProtectHome = true;
StandardOutput = "journal";
StandardError = "journal";
};
};
};
}
+29 -8
View File
@@ -734,8 +734,9 @@ in
wantedBy = [ "multi-user.target" ];
requiredBy = [ "${phpExecutionUnit}.service" ];
before = [ "${phpExecutionUnit}.service" ];
after = lib.optional cfg.database.createLocally dbService;
wants = [ "local-fs.target" ];
requires = lib.optional cfg.database.createLocally dbService;
after = lib.optional cfg.database.createLocally dbService;
serviceConfig =
{
@@ -785,11 +786,36 @@ in
);
};
services.${phpExecutionUnit} = {
wantedBy = lib.optional (cfg.nginx != null) "nginx.service";
requiredBy = [ "movim.service" ];
before = [ "movim.service" ] ++ lib.optional (cfg.nginx != null) "nginx.service";
wants = [ "network.target" ];
requires = [ "movim-data-setup.service" ] ++ lib.optional cfg.database.createLocally dbService;
after = [ "movim-data-setup.service" ] ++ lib.optional cfg.database.createLocally dbService;
};
services.movim = {
description = "Movim daemon";
wantedBy = [ "multi-user.target" ];
after = [ "movim-data-setup.service" ];
requires = [ "movim-data-setup.service" ] ++ lib.optional cfg.database.createLocally dbService;
wants = [
"network.target"
"local-fs.target"
];
requires =
[
"movim-data-setup.service"
"${phpExecutionUnit}.service"
]
++ lib.optional cfg.database.createLocally dbService
++ lib.optional (cfg.nginx != null) "nginx.service";
after =
[
"movim-data-setup.service"
"${phpExecutionUnit}.service"
]
++ lib.optional cfg.database.createLocally dbService
++ lib.optional (cfg.nginx != null) "nginx.service";
environment = {
PUBLIC_URL = "//${cfg.domain}";
WS_PORT = builtins.toString cfg.port;
@@ -803,11 +829,6 @@ in
};
};
services.${phpExecutionUnit} = {
after = [ "movim-data-setup.service" ];
requires = [ "movim-data-setup.service" ] ++ lib.optional cfg.database.createLocally dbService;
};
tmpfiles.settings."10-movim" = with cfg; {
"${dataDir}".d = {
inherit user group;
+1 -2
View File
@@ -71,8 +71,7 @@ rec {
(onFullSupported "nixos.dummy")
(onAllSupported "nixos.iso_minimal")
(onSystems [ "x86_64-linux" "aarch64-linux" ] "nixos.amazonImage")
(onFullSupported "nixos.iso_plasma6")
(onFullSupported "nixos.iso_gnome")
(onFullSupported "nixos.iso_graphical")
(onFullSupported "nixos.manual")
(onSystems [ "aarch64-linux" ] "nixos.sd_image")
(onFullSupported "nixos.tests.acme.http01-builtin")
+4 -32
View File
@@ -164,42 +164,14 @@ in rec {
});
iso_minimal = forAllSystems (system: makeIso {
module = ./modules/installer/cd-dvd/installation-cd-minimal.nix;
module = ./modules/installer/cd-dvd/installation-cd-minimal-combined.nix;
type = "minimal";
inherit system;
});
iso_plasma5 = forMatchingSystems supportedSystems (system: makeIso {
module = ./modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix;
type = "plasma5";
inherit system;
});
iso_plasma6 = forMatchingSystems supportedSystems (system: makeIso {
module = ./modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix;
type = "plasma6";
inherit system;
});
iso_gnome = forMatchingSystems supportedSystems (system: makeIso {
module = ./modules/installer/cd-dvd/installation-cd-graphical-calamares-gnome.nix;
type = "gnome";
inherit system;
});
# A variant with a more recent (but possibly less stable) kernel that might support more hardware.
# This variant keeps zfs support enabled, hoping it will build and work.
iso_minimal_new_kernel = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system: makeIso {
module = ./modules/installer/cd-dvd/installation-cd-minimal-new-kernel.nix;
type = "minimal-new-kernel";
inherit system;
});
# A variant with a more recent (but possibly less stable) kernel that might support more hardware.
# ZFS support disabled since it is unlikely to support the latest kernel.
iso_minimal_new_kernel_no_zfs = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system: makeIso {
module = ./modules/installer/cd-dvd/installation-cd-minimal-new-kernel-no-zfs.nix;
type = "minimal-new-kernel-no-zfs";
iso_graphical = forAllSystems (system: makeIso {
module = ./modules/installer/cd-dvd/installation-cd-graphical-combined.nix;
type = "graphical";
inherit system;
});
+1
View File
@@ -895,6 +895,7 @@ in {
pam-u2f = handleTest ./pam/pam-u2f.nix {};
pam-ussh = handleTest ./pam/pam-ussh.nix {};
pam-zfs-key = handleTest ./pam/zfs-key.nix {};
paretosecurity = runTest ./paretosecurity.nix;
pass-secret-service = handleTest ./pass-secret-service.nix {};
patroni = handleTestOn ["x86_64-linux"] ./patroni.nix {};
pantalaimon = handleTest ./matrix/pantalaimon.nix {};
+16
View File
@@ -0,0 +1,16 @@
{ lib, ... }:
{
name = "paretosecurity";
meta.maintainers = [ lib.maintainers.zupo ];
nodes.machine =
{ config, pkgs, ... }:
{
services.paretosecurity.enable = true;
};
# very basic test for now, need to add output asserts
testScript = ''
machine.wait_until_succeeds("paretosecurity check")
'';
}
@@ -7969,10 +7969,10 @@
elpaBuild {
pname = "shell-quasiquote";
ename = "shell-quasiquote";
version = "0.0.20221221.82030";
version = "0.0.20250316.162215";
src = fetchurl {
url = "https://elpa.gnu.org/devel/shell-quasiquote-0.0.20221221.82030.tar";
sha256 = "0g2yq64yyim35lvxify65kq3y49qrvgri7jyl9rgz8999gb3h8dj";
url = "https://elpa.gnu.org/devel/shell-quasiquote-0.0.20250316.162215.tar";
sha256 = "1f19k60y30vnp3dw62fn2wi94bkgdfx6nl8i50yx5nnw0cjp9f7l";
};
packageRequires = [ ];
meta = {
@@ -2,19 +2,18 @@
lib,
rustPlatform,
fetchFromGitHub,
fetchpatch,
stdenv,
vimUtils,
nix-update-script,
git,
}:
let
version = "0.13.1";
version = "0.14.0";
src = fetchFromGitHub {
owner = "Saghen";
repo = "blink.cmp";
tag = "v${version}";
hash = "sha256-eOlTkWMzQTZPPKPKUxg8Q2PwkOhfaQdrMZkg9Ew8t/g=";
hash = "sha256-aY+bBP3DOdr+yA0HKKUBR/87g096NXH9h4EUrIJY92Y=";
};
blink-fuzzy-lib = rustPlatform.buildRustPackage {
inherit version src;
@@ -41,18 +40,8 @@ vimUtils.buildVimPlugin {
''
mkdir -p target/release
ln -s ${blink-fuzzy-lib}/lib/libblink_cmp_fuzzy${ext} target/release/libblink_cmp_fuzzy${ext}
echo -n "nix" > target/release/version
'';
# TODO: Remove this patch when updating to next version
patches = [
(fetchpatch {
name = "blink-add-bypass-for-nix.patch";
url = "https://github.com/Saghen/blink.cmp/commit/6c83ef1ae34abd7ef9a32bfcd9595ac77b61037c.diff?full_index=1";
hash = "sha256-304F1gDDKVI1nXRvvQ0T1xBN+kHr3jdmwMMp8CNl+GU=";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "vimPlugins.blink-cmp.blink-fuzzy-lib";
@@ -0,0 +1,61 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
vimUtils,
stdenv,
nix-update-script,
}:
let
version = "0.2.0";
src = fetchFromGitHub {
owner = "Saghen";
repo = "blink.pairs";
tag = "v${version}";
hash = "sha256-fOOo+UnrbQJFWyqjpiFwhytlPoPRnUlGswQdZb3/ws0=";
};
blink-pairs-lib = rustPlatform.buildRustPackage {
pname = "blink-pairs";
inherit version src;
useFetchCargoVendor = true;
cargoHash = "sha256-vkybRuym1yibaw943Gs9luYLdYEp4tgvA8e4maATiTY=";
nativeBuildInputs = [
pkg-config
];
};
in
vimUtils.buildVimPlugin {
pname = "blink.pairs";
inherit version src;
preInstall =
let
ext = stdenv.hostPlatform.extensions.sharedLibrary;
in
''
mkdir -p target/release
ln -s ${blink-pairs-lib}/lib/libblink_pairs${ext} target/release/
'';
passthru = {
updateScript = nix-update-script {
attrPath = "vimPlugins.blink-pairs.blink-pairs-lib";
};
# needed for the update script
inherit blink-pairs-lib;
};
meta = {
description = "Rainbow highlighting and intelligent auto-pairs for Neovim";
homepage = "https://github.com/Saghen/blink.pairs";
changelog = "https://github.com/Saghen/blink.pairs/blob/${src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ isabelroses ];
};
}
@@ -308,6 +308,8 @@ in
dependencies = [ self.plenary-nvim ];
};
blink-pairs = callPackage ./non-generated/blink-pairs { };
bluloco-nvim = super.bluloco-nvim.overrideAttrs {
dependencies = [ self.lush-nvim ];
};
@@ -4178,6 +4178,8 @@ let
};
};
rooveterinaryinc.roo-cline = callPackage ./rooveterinaryinc.roo-cline { };
RoweWilsonFrederiskHolme.wikitext = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "wikitext";
@@ -0,0 +1,21 @@
{
lib,
vscode-utils,
}:
vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "RooVeterinaryInc";
name = "roo-cline";
version = "3.8.6";
hash = "sha256-t3QUqe0qYizrJQcsEmYYmNYS/cpYiHQXJHtzHk9MGS8=";
};
meta = {
description = "AI-powered autonomous coding agent that lives in your editor";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=RooVeterinaryInc.roo-cline";
homepage = "https://github.com/RooVetGit/Roo-Code";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ emaryn ];
};
}
@@ -13,19 +13,19 @@ let
{
x86_64-linux = {
arch = "linux-x64";
hash = "sha256-NdVSQQ5OeBPGSLbynUArNbfm+a2HCc/gwJMKfEDgzDM=";
hash = "sha256-M3m3fFsz/LPSmghyKVuLVcMgxtUf3iNvHDLjOptfs6I=";
};
aarch64-linux = {
arch = "linux-arm64";
hash = "sha256-4FjA3mUz+DVBiMUJAlGkUbpDtZuDYuUHPWA4QUiqd5w=";
hash = "sha256-S3mMOtXYdVp5P8aKlzWyehVKCz7EjcNjYJqgSsNIS3g=";
};
x86_64-darwin = {
arch = "darwin-x64";
hash = "sha256-aexe9hrUxb3ZnrgJrvEXu2PZPmxOGdkk9exrfDaXA7s=";
hash = "sha256-lIUM5W+lKL7OgcJVWJTJYsZNqpZ3MhSk7YnKsfWDX4U=";
};
aarch64-darwin = {
arch = "darwin-arm64";
hash = "sha256-ijmKU+eU3R3mxeFxFr5AtVwGYVBuYWecD8W+0gHzP5w=";
hash = "sha256-Lc2W1SNdn1rcxeKgv1YzKRr+DPN39C1J6O1KZBeELWc=";
};
}
.${system} or (throw "Unsupported system: ${system}");
@@ -37,7 +37,7 @@ vscode-utils.buildVscodeMarketplaceExtension {
# Please update the corresponding binary (typos-lsp)
# when updating this extension.
# See pkgs/by-name/ty/typos-lsp/package.nix
version = "0.1.26";
version = "0.1.35";
inherit (extInfo) hash arch;
};
@@ -9,38 +9,36 @@
jq,
}:
let
buildVscodeExtension =
a@{
pname ? null, # Only optional for backward compatibility.
src,
# Same as "Unique Identifier" on the extension's web page.
# For the moment, only serve as unique extension dir.
vscodeExtPublisher,
vscodeExtName,
vscodeExtUniqueId,
configurePhase ? ''
runHook preConfigure
runHook postConfigure
'',
buildPhase ? ''
runHook preBuild
runHook postBuild
'',
dontPatchELF ? true,
dontStrip ? true,
nativeBuildInputs ? [ ],
passthru ? { },
...
}:
stdenv.mkDerivation (
(removeAttrs a [
"vscodeExtUniqueId"
"pname"
])
// (lib.optionalAttrs (pname != null) {
buildVscodeExtension = lib.extendMkDerivation {
constructDrv = stdenv.mkDerivation;
excludeDrvArgNames = [
"vscodeExtUniqueId"
];
extendDrvArgs =
finalAttrs:
{
pname ? null, # Only optional for backward compatibility.
# Same as "Unique Identifier" on the extension's web page.
# For the moment, only serve as unique extension dir.
vscodeExtPublisher,
vscodeExtName,
vscodeExtUniqueId,
configurePhase ? ''
runHook preConfigure
runHook postConfigure
'',
buildPhase ? ''
runHook preBuild
runHook postBuild
'',
dontPatchELF ? true,
dontStrip ? true,
nativeBuildInputs ? [ ],
passthru ? { },
...
}:
{
pname = "vscode-extension-${pname}";
})
// {
passthru = passthru // {
inherit vscodeExtPublisher vscodeExtName vscodeExtUniqueId;
@@ -57,12 +55,12 @@ let
# If other directories are present but `sourceRoot` is unset, the unpacker phase fails.
sourceRoot = "extension";
# This cannot be removed, it is used by some extensions.
installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}";
nativeBuildInputs = [ unzip ] ++ nativeBuildInputs;
installPhase = ''
runHook preInstall
mkdir -p "$out/$installPrefix"
@@ -70,36 +68,38 @@ let
runHook postInstall
'';
}
);
};
};
fetchVsixFromVscodeMarketplace =
mktplcExtRef: fetchurl (import ./mktplcExtRefToFetchArgs.nix mktplcExtRef);
buildVscodeMarketplaceExtension =
a@{
name ? "",
src ? null,
vsix ? null,
mktplcRef,
...
}:
assert "" == name;
assert null == src;
buildVscodeExtension (
(removeAttrs a [
"mktplcRef"
"vsix"
])
// {
buildVscodeMarketplaceExtension = lib.extendMkDerivation {
constructDrv = buildVscodeExtension;
excludeDrvArgNames = [
"mktplcRef"
"vsix"
];
extendDrvArgs =
finalAttrs:
{
name ? "",
src ? null,
vsix ? null,
mktplcRef,
...
}:
assert "" == name;
assert null == src;
{
inherit (mktplcRef) version;
pname = "${mktplcRef.publisher}-${mktplcRef.name}";
version = mktplcRef.version;
src = if (vsix != null) then vsix else fetchVsixFromVscodeMarketplace mktplcRef;
vscodeExtPublisher = mktplcRef.publisher;
vscodeExtName = mktplcRef.name;
vscodeExtUniqueId = "${mktplcRef.publisher}.${mktplcRef.name}";
}
);
};
};
mktplcRefAttrList = [
"name"
@@ -26,11 +26,11 @@ let
hash =
{
x86_64-linux = "sha256-+RHzGJ5Y6j93ojnqg9hSe+Zs0sewcSSfWu8qlxJEoWQ=";
x86_64-darwin = "sha256-Yaxb7cB/JADJ4i2PScYb9ovTKiClwd7TdQXbzg9ViSs=";
aarch64-linux = "sha256-CK4geEBeLc1M5z4wuRS3rrqsL9nG1ra5+e3PGEOrYHA=";
aarch64-darwin = "sha256-S1XYikl1FzHvGBcudSD2xyuOH4gfsrYyEfwzL/csfSE=";
armv7l-linux = "sha256-aAgCL6clX/lXWdBmCSin/60krW5Sbn2KZZovmS16CfI=";
x86_64-linux = "sha256-vzLyLOC/4SDlIrsbVKDXu42nx7QLgK7TWkzKC1/tSQo=";
x86_64-darwin = "sha256-dLCepFyTht6hzdm1jZbhFKt6yNIbCZWlpxAkSfE9Fww=";
aarch64-linux = "sha256-Hiqrw6f7SWzdPQCV0s1d+cWwQ2u4PVDY8saL1Q+mZQg=";
aarch64-darwin = "sha256-zy+oI6MEHpxF8vOnE9EdjVm3LBAfgMas593hAJsWNz4=";
armv7l-linux = "sha256-Z0qnKm+axJTAHq8E69wYWpZOF9FuFRkdJmap4rFhbTY=";
}
.${system} or throwSystem;
@@ -41,7 +41,7 @@ callPackage ./generic.nix rec {
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.98.1.25070";
version = "1.98.2.25072";
pname = "vscodium";
executableName = "codium";
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -9,10 +9,10 @@
buildMozillaMach rec {
pname = "firefox";
version = "136.0.1";
version = "136.0.2";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "e5833ccf97796c15b5156357427621d1f2d1d7ee55b53262f3935eadb98229c74a355bbe2f72a4168ec4e29dd3f83f4eaca99c5215d61bd087475331d3522abd";
sha512 = "50dfbedb6bd513a3c6cf90558d7c6993cc78558cccc69fcc882f8e54eb8e8bec9779dce6fb7211c1a0234ac4a189438c5fa55ee9d0d06fcbae5cf44778af2ef1";
};
meta = {
@@ -24,7 +24,7 @@ let
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
in stdenv.mkDerivation rec {
pname = "vivaldi";
version = "7.1.3570.58";
version = "7.1.3570.60";
suffix = {
aarch64-linux = "arm64";
@@ -34,8 +34,8 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_${suffix}.deb";
hash = {
aarch64-linux = "sha256-t5dC6FZVU3mCoEwMMYAuTJ8VksCfjxYnxCVXdxDSqbI=";
x86_64-linux = "sha256-5qr9K57fFxnsDD7uy7qUIFWxH+UevGpLN2Z2td4h9RA=";
aarch64-linux = "sha256-x7CjbOrEb0+/1eqRoYTxA1RDxQeLJFmziuFcBapYaOU=";
x86_64-linux = "sha256-G0y49vUsFJTzxKRw1ZsXQvep7/MtGaO0FAF2nAinysw=";
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
@@ -207,13 +207,13 @@
"vendorHash": "sha256-qFOfE4yWJfdPtGiGbk+oWzA06QvW0WCd6iUqEMTxBBk="
},
"buildkite": {
"hash": "sha256-ihP2q0sCKd4myqANLhKrBfIX+macLvJkQ+/3hMzVM3A=",
"hash": "sha256-Zlc82lncNf+jeYBck8QBJKuX4pmQmkkb4vYR+T8DoXU=",
"homepage": "https://registry.terraform.io/providers/buildkite/buildkite",
"owner": "buildkite",
"repo": "terraform-provider-buildkite",
"rev": "v1.16.2",
"rev": "v1.16.3",
"spdx": "MIT",
"vendorHash": "sha256-zl9RRAqDmNigtJIYMti2PgRSSg7KRys0H5BVAm6RW1k="
"vendorHash": "sha256-/d1oml8nUOBx6sOe1k43EhbAyfbObJJuoJCEaHQuIZs="
},
"ccloud": {
"hash": "sha256-Dpx0eugcHCJV8GNPqjxx4P9ohgJgB10DTnHr+CeN/iQ=",
@@ -426,11 +426,11 @@
"vendorHash": "sha256-aTQreRL0UTMYWLs25qsdwdN+PaJcOHwLRA8CjIAsYi0="
},
"exoscale": {
"hash": "sha256-r5wQQVbonGqZrzsr/gdbhrrbXC8ej/sMGvB1xk3pvUA=",
"hash": "sha256-fD2PQ/WNmifAlY27V0y47wDWEfhCXql0b1y8J5uSkNk=",
"homepage": "https://registry.terraform.io/providers/exoscale/exoscale",
"owner": "exoscale",
"repo": "terraform-provider-exoscale",
"rev": "v0.62.3",
"rev": "v0.63.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
@@ -507,13 +507,13 @@
"vendorHash": "sha256-VPJ0ekrGEzhIZ6ExrU5sLb2meFHT9cak53BO7z6BCC4="
},
"google": {
"hash": "sha256-qpqpb1uXREMMtd/3TyXIdn3e2TjLSTSP5if+g/e4XhU=",
"hash": "sha256-9xieQT5yY1h52/tksEmX9iYXtDjYxkSL/pvC2XPXN/4=",
"homepage": "https://registry.terraform.io/providers/hashicorp/google",
"owner": "hashicorp",
"repo": "terraform-provider-google",
"rev": "v6.24.0",
"rev": "v6.25.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-UzoyVVBSrpxQnTfTJvGHIGR0wSFx8cSVVuTpo9tio2A="
"vendorHash": "sha256-kzugr8EaPROHy/3IVOsGkitpTixuiOw8R6kYedIrIuw="
},
"google-beta": {
"hash": "sha256-1lrov28rU1K4QEiTuRqzaTLMzL+sZVsOLfgj3KNNJsw=",
@@ -642,11 +642,11 @@
"vendorHash": null
},
"ibm": {
"hash": "sha256-VMiTOItbL8GV3gUlUu68WCzWgGLTh6Lk6S/fUkuMI68=",
"hash": "sha256-enisQ1DOrA4HBi0Sr+6ZNIKnbUoH3LCXBN11J03hPhc=",
"homepage": "https://registry.terraform.io/providers/IBM-Cloud/ibm",
"owner": "IBM-Cloud",
"repo": "terraform-provider-ibm",
"rev": "v1.76.0",
"rev": "v1.76.1",
"spdx": "MPL-2.0",
"vendorHash": "sha256-YUCyq1GiFnXSmx9VvhYc3MGnrMXdnOuAVx9BKp1R2N8="
},
@@ -913,11 +913,11 @@
"vendorHash": null
},
"okta": {
"hash": "sha256-QvJ7yQmyOxhBltfckFC5Nkv7DXdpH79JRVF4BRAx+zs=",
"hash": "sha256-Yfs+yd5AgHL8Wl9/Zq922WJwJUOjoTshOa9RyI/AGZc=",
"homepage": "https://registry.terraform.io/providers/okta/okta",
"owner": "okta",
"repo": "terraform-provider-okta",
"rev": "v4.14.1",
"rev": "v4.15.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-pykDVH44iZoOihiRr9rA9rEsCc9N6TD+UMbHelab6Nw="
},
@@ -1120,13 +1120,13 @@
"vendorHash": "sha256-Ry791h5AuYP03nex9nM8X5Mk6PeL7hNDbFyVRvVPJNE="
},
"scaleway": {
"hash": "sha256-ZMY69sfWN0281l+QEN6jUpVevYN7Z1CRDey+AqVDq8o=",
"hash": "sha256-5sLi0W5SKgaY8y85aFcVE/TE87SxpkGfhwYRF9fPf94=",
"homepage": "https://registry.terraform.io/providers/scaleway/scaleway",
"owner": "scaleway",
"repo": "terraform-provider-scaleway",
"rev": "v2.50.0",
"rev": "v2.51.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-TbA6GlRSdyzkc64SU9Tn6o+DAvAN9RqR5M6DH83Tjng="
"vendorHash": "sha256-qIBSCRvKSfSjxM+PtcS815g0WOKHZzSK9yikXbYUWaw="
},
"secret": {
"hash": "sha256-MmAnA/4SAPqLY/gYcJSTnEttQTsDd2kEdkQjQj6Bb+A=",
@@ -1373,13 +1373,13 @@
"vendorHash": null
},
"utils": {
"hash": "sha256-rCTY06SEsppImhBZmx5AX58sOsI2NPJ5oK3+o64MIy8=",
"hash": "sha256-BnC5ihbOnua4ddTzM8mvWbKz5L13R2NT9c68teVLWo0=",
"homepage": "https://registry.terraform.io/providers/cloudposse/utils",
"owner": "cloudposse",
"repo": "terraform-provider-utils",
"rev": "v1.28.0",
"rev": "v1.29.0",
"spdx": "Apache-2.0",
"vendorHash": "sha256-Dxd/2TjxPoa+JcHlmmcoPx2wegZJzhbI1abNmF4wDik="
"vendorHash": "sha256-rHJabyfgu3wU79h3DHHYQauFmcR/SDuikauBF+CybZA="
},
"vault": {
"hash": "sha256-GlRaV9CYm8IuIzeN/KRJWLCHIhc7Fdb5DL4fTA/dzV0=",
@@ -40,11 +40,11 @@
python3.pkgs.buildPythonApplication rec {
pname = "gajim";
version = "2.0.2";
version = "2.0.3";
src = fetchurl {
url = "https://gajim.org/downloads/${lib.versions.majorMinor version}/gajim-${version}.tar.gz";
hash = "sha256-Qml1ggqjsTXGnGHntApwoa0ySlxUIi2S0IOY+lfxHeU=";
hash = "sha256-DbM80fyJ+jwB9Yc9vfoiDqW7Sx7MDR0OEkHdOC6nRG4=";
};
format = "pyproject";
@@ -8,13 +8,13 @@
let
pname = "mendeley";
version = "2.130.2";
version = "2.131.0";
executableName = "${pname}-reference-manager";
src = fetchurl {
url = "https://static.mendeley.com/bin/desktop/mendeley-reference-manager-${version}-x86_64.AppImage";
hash = "sha256-HLUUoW+j0W9iEGu0Irbd/y7Vgj2rCGT7tDGMzmMh3qI=";
hash = "sha256-pVykRTs0yI9UArgxuE3RUKI8onv27hjyG1Dy4PXztuQ=";
};
appimageContents = appimageTools.extractType2 {
@@ -25,14 +25,14 @@ let
};
in
stdenv.mkDerivation rec {
version = "16.3.9";
version = "16.3.11";
pname = "jmol";
src = let
baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
in fetchurl {
url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
hash = "sha256-+Eh5484tW/U/YJb7sMf6W/QrsBz5j/aTrW4vnJobwiY=";
hash = "sha256-sa2wYzLtk3rSghNxk/kJfaOIDPEJLfwKRRIXMRNBEuI=";
};
patchPhase = ''
@@ -8,6 +8,20 @@
let
versions = [
{
version = "14.2.0";
lang = "en";
language = "English";
sha256 = "sha256-wIuyWufKuchPl7phCxVM9vIIkjUHfRxIECfDyGJliqs=";
installer = "Wolfram_14.2.0_LIN.sh";
}
{
version = "14.2.0";
lang = "en";
language = "English";
sha256 = "sha256-wY6acGoUc7y22enSi7RrcRFLvvPGaeYTta4yWExlXho=";
installer = "Wolfram_14.2.0_LIN_Bndl.sh";
}
{
version = "14.1.0";
lang = "en";
@@ -17,13 +17,13 @@
buildGoModule rec {
pname = "cri-o";
version = "1.32.0";
version = "1.32.2";
src = fetchFromGitHub {
owner = "cri-o";
repo = "cri-o";
rev = "v${version}";
hash = "sha256-bjZjmgIYFroyUdBeUbrRz7dD0yQOqc9TDsGxvle1PnE=";
hash = "sha256-oB3X59+v4VosY5Db0BUfKt/WTMCWhhJX+mWwp/6ifVI=";
};
vendorHash = null;
+33 -6
View File
@@ -1,15 +1,42 @@
# This derivation builds two files containing information about the
# closure of 'rootPaths': $out/store-paths contains the paths in the
# closure, and $out/registration contains a file suitable for use with
# "nix-store --load-db" and "nix-store --register-validity
# --hash-given".
{
stdenvNoCC,
coreutils,
jq,
}:
/**
Produces metadata about the closure of the given root paths.
1. Total NAR size in `$out/total-nar-size`.
2. Registration, suitable for `nix-store --load-db`, in `$out/registration`.
Can also be used with `nix-store --register-validity --hash-given`.
3. All store paths for the closure in `$out/store-paths`.
# Inputs
`rootPaths` ([Path])
: List of root paths to include in the closure information.
# Type
```
closureInfo :: { rootPaths :: [Path]; } -> Derivation
```
# Examples
:::{.example}
## `pkgs.closureInfo` usage example
```
pkgs.closureInfo {
rootPaths = [ pkgs.hello pkgs.bc pkgs.dwarf2json ];
}
=>
«derivation /nix/store/...-closure-info.drv»
```
:::
*/
{ rootPaths }:
assert builtins.langVersion >= 5;
+3 -4
View File
@@ -2,21 +2,20 @@
lib,
stdenv,
fetchFromGitLab,
dune_3,
ocamlPackages,
}:
stdenv.mkDerivation {
pname = "acgtk";
version = "2.0.0";
version = "2.1.0";
src = fetchFromGitLab {
domain = "gitlab.inria.fr";
owner = "acg";
repo = "dev/acgtk";
rev = "release-2.0.0-20231009";
hash = "sha256-ZymSQkBMBePPw7pJkfLkmqbIkQyIqB+7Pyrih2WAO50=";
tag = "release-2.1.0";
hash = "sha256-XuPcubt1lvnQio+km6MhmDu41NXNVXKKpzGd/Y1XzLo=";
};
strictDeps = true;
+1 -1
View File
@@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec {
owner = "joshrotenberg";
repo = "adrs";
rev = "v${version}";
hash = "sha256-BnbI5QsrnyEQFpTWqOPrbZnVa7J3vaByO9fnKd5t64o=";
hash = "sha256-C9Kg7xY3Q0xsd2DlUcc3OM+/hyzmwz55oi6Ul3K7zkM=";
};
useFetchCargoVendor = true;
+3 -3
View File
@@ -8,17 +8,17 @@
buildGoModule rec {
pname = "aliyun-cli";
version = "3.0.256";
version = "3.0.259";
src = fetchFromGitHub {
owner = "aliyun";
repo = "aliyun-cli";
tag = "v${version}";
hash = "sha256-yB6y7A9MuZMBUqKfeJW8n8G9x7fIK8m9kcN2lV3Lknc=";
hash = "sha256-HF8vGEIIHIlHET4buHPTijPeomv0YNwX0bOSQrnyITw=";
fetchSubmodules = true;
};
vendorHash = "sha256-xPy9rVqityLWgVv9e/NbsWLoX2T20vMuqhoHLRYEkRk=";
vendorHash = "sha256-XpsMnt3AYHMn/js1E88RBxegKrTeaZYpRhHEuq4HDjM=";
subPackages = [ "main" ];
+3 -3
View File
@@ -16,17 +16,17 @@
rustPlatform.buildRustPackage rec {
pname = "amdgpu_top";
version = "0.10.3";
version = "0.10.4";
src = fetchFromGitHub {
owner = "Umio-Yasuno";
repo = "amdgpu_top";
rev = "v${version}";
hash = "sha256-9PHMPyL2yg36vG+wax0Lb/LFT7CQWnBnZ+t38hr01PE=";
hash = "sha256-OvxrcVjngIW/fVIPX1XhbGImAeDifoLzlaZpXUYS9FA=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-W20jtH3w8LVqKwdf2ifwXKO2xgF3e/DuZ8vWqHOAGy0=";
cargoHash = "sha256-na6pghbJ7Ek+rdbX4qJt2kv7C3AAqpgU/nYHaT9CQdo=";
buildInputs = [
libdrm
@@ -11,6 +11,7 @@
common-updater-scripts,
jq,
unzip,
typescript,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
@@ -31,9 +32,12 @@ stdenvNoCC.mkDerivation (finalAttrs: {
installPhase = ''
runHook preInstall
install -Dm755 server/bin/ngserver $out/lib/bin/ngserver
install -Dm755 server/index.js $out/lib/index.js
cp -r node_modules $out/lib/node_modules
install -Dm555 server/bin/ngserver $out/lib/bin/ngserver
install -Dm444 server/index.js $out/lib/index.js
mkdir -p $out/lib/node_modules
cp -r node_modules/* $out/lib/node_modules
# do not use vendored typescript
rm -rf $out/lib/node_modules/typescript
runHook postInstall
'';
@@ -41,7 +45,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
patchShebangs $out/lib/bin/ngserver $out/lib/index.js $out/lib/node_modules
makeWrapper $out/lib/bin/ngserver $out/bin/ngserver \
--prefix PATH : ${lib.makeBinPath [ nodejs ]} \
--add-flags "--tsProbeLocations $out/lib/node_modules --ngProbeLocations $out/lib/node_modules"
--add-flags "--tsProbeLocations ${typescript}/lib/node_modules/typescript --ngProbeLocations $out/lib/node_modules"
'';
passthru = {
+2 -2
View File
@@ -9,14 +9,14 @@
stdenv.mkDerivation rec {
pname = "apktool";
version = "2.11.0";
version = "2.11.1";
src = fetchurl {
urls = [
"https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_${version}.jar"
"https://github.com/iBotPeaches/Apktool/releases/download/v${version}/apktool_${version}.jar"
];
hash = "sha256-j9wXxv4ubYDXG4cY6ypdA3nxzHE5rnd/akmc45eyb1Q=";
hash = "sha256-VtWcUk/HZCY7qNNFdU2Nr1WxiHgYsVzTtZT1VdJJ4ts=";
};
dontUnpack = true;
+3 -3
View File
@@ -12,13 +12,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ast-grep";
version = "0.35.0";
version = "0.36.1";
src = fetchFromGitHub {
owner = "ast-grep";
repo = "ast-grep";
tag = finalAttrs.version;
hash = "sha256-uiQYqVcSSQT32Vu8iE5ATIHFGDiyuxaQvg8hkBtB4DU=";
hash = "sha256-u2eRdOreThaTAe3Uo4C6K3u3qtfW+sow9w+Q3uqtPGs=";
};
# error: linker `aarch64-linux-gnu-gcc` not found
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
'';
useFetchCargoVendor = true;
cargoHash = "sha256-B/egtLMBrlLobB1m04L1NlNmZ6+DdQIV9Ae0LVPmO2Y=";
cargoHash = "sha256-Nmmka1AxWhY3InOSmxiL9gg6sznrP8yQuC0EgAywATA=";
nativeBuildInputs = [ installShellFiles ];
+5 -5
View File
@@ -1,9 +1,9 @@
{
"owner": "advplyr",
"repo": "audiobookshelf",
"rev": "c7d8021a16012a5493ae53a1310d2000887204a5",
"hash": "sha256-z0AUl2BbS1Ts6M1rz3V9ZZ7SLmfyJ1KEdmE4/bWRYFk=",
"version": "2.19.5",
"depsHash": "sha256-YAxq277klfCw+tW/vcUFdwV9ucleg7WCBsDYHh5pjMo=",
"clientDepsHash": "sha256-6+IxIHZdI/Fm/yqxpB+qX5jI4/Ne3EgRArIRfSG/sR8="
"rev": "38f05a857ff3cec50bafb594b5d0ab49d6c585ae",
"hash": "sha256-FFZPhQRqmL6pp5aS6qg1Dhf80PAFE2O9oDJB5kSHL50=",
"version": "2.20.0",
"depsHash": "sha256-mB57omyxV338K4LpNMfIThLc2Mz71NqEyFTjWrfAo10=",
"clientDepsHash": "sha256-Wnmue1aGWN9rwP3xYp5q+POP85tHY5gbYBQMKXu9H3Q="
}
+2 -2
View File
@@ -64,14 +64,14 @@ let
in
py.pkgs.buildPythonApplication rec {
pname = "awscli2";
version = "2.24.22"; # N.B: if you change this, check if overrides are still up-to-date
version = "2.24.24"; # N.B: if you change this, check if overrides are still up-to-date
pyproject = true;
src = fetchFromGitHub {
owner = "aws";
repo = "aws-cli";
tag = version;
hash = "sha256-cqDBUwc9E9TPN5E4CaCxc5sAZgCXalgl2ejGftyzV1k=";
hash = "sha256-v2SdbWE+pxDFEtbwDd3sdVvLWGyeNm+9pKlTzqbgJFU=";
};
postPatch = ''
+2 -2
View File
@@ -13,13 +13,13 @@ telegram-desktop.override {
unwrapped = telegram-desktop.unwrapped.overrideAttrs (
finalAttrs: previousAttrs: {
pname = "ayugram-desktop-unwrapped";
version = "5.11.1";
version = "5.12.3";
src = fetchFromGitHub {
owner = "AyuGram";
repo = "AyuGramDesktop";
tag = "v${finalAttrs.version}";
hash = "sha256-AiMPbcEvbyhGd1V9mg95Q+mLrBH0DqTEFpC3D9ziCy8=";
hash = "sha256-Zjik+9J0YtabVW1VEkJr/Bl3SIakVQ8EiTLYm28rEIk=";
fetchSubmodules = true;
};
@@ -0,0 +1,94 @@
{
autoPatchelfHook,
copyDesktopItems,
dbus,
fetchurl,
fontconfig,
freetype,
lib,
libGLU,
libxkbcommon,
makeDesktopItem,
stdenv,
unzip,
wayland,
xcbutilimage,
xcbutilkeysyms,
xcbutilrenderutil,
xcbutilwm,
}:
stdenv.mkDerivation rec {
pname = "binaryninja-free";
version = "4.2.6455";
src = fetchurl {
url = "https://web.archive.org/web/20241209150225/https://cdn.binary.ninja/installers/binaryninja_free_linux.zip";
hash = "sha256-NOVuLmko8iYcJ/0fr0DNw7xPEC8EhT/SzcFWtNmjlYI=";
};
icon = fetchurl {
url = "https://raw.githubusercontent.com/Vector35/binaryninja-api/448f40be71dffa86a6581c3696627ccc1bdf74f2/docs/img/logo.png";
hash = "sha256-TzGAAefTknnOBj70IHe64D6VwRKqIDpL4+o9kTw0Mn4=";
};
desktopItems = [
(makeDesktopItem {
name = "com.vector35.binaryninja";
desktopName = "Binary Ninja Free";
comment = "A Reverse Engineering Platform";
exec = "binaryninja";
icon = "binaryninja";
mimeTypes = [
"application/x-binaryninja"
"x-scheme-handler/binaryninja"
];
categories = [ "Utility" ];
})
];
nativeBuildInputs = [
unzip
autoPatchelfHook
copyDesktopItems
];
buildInputs = [
dbus
fontconfig
freetype
libGLU
libxkbcommon
stdenv.cc.cc.lib
wayland
xcbutilimage
xcbutilkeysyms
xcbutilrenderutil
xcbutilwm
];
installPhase = ''
runHook preInstall
mkdir -p $out/
cp -R . $out/
mkdir $out/bin
ln -s $out/binaryninja $out/bin/binaryninja
install -Dm644 ${icon} $out/share/icons/hicolor/256x256/apps/binaryninja.png
runHook postInstall
'';
meta = {
description = "Interactive decompiler, disassembler, debugger";
homepage = "https://binary.ninja/";
license = {
fullName = "Binary Ninja Free Software License";
url = "https://docs.binary.ninja/about/license.html#free-license";
free = false;
};
mainProgram = "binaryninja";
maintainers = with lib.maintainers; [ scoder12 ];
platforms = [ "x86_64-linux" ];
};
}
+2 -2
View File
@@ -6,13 +6,13 @@
}:
buildGoModule rec {
pname = "bitrise";
version = "2.30.4";
version = "2.30.5";
src = fetchFromGitHub {
owner = "bitrise-io";
repo = "bitrise";
rev = "v${version}";
hash = "sha256-wQIoNekr4zXjhAp9XnyJ92hJ4usuWBBT1koUguGIIiU=";
hash = "sha256-j7Gbr+j/5RnM7S6eRZZkmlXgY+vBgfTJ5ZaLz8o7pww=";
};
# many tests rely on writable $HOME/.bitrise and require network access
+3 -3
View File
@@ -15,15 +15,15 @@
stdenv.mkDerivation (finalAttrs: {
pname = "buffybox";
version = "3.2.0-unstable-2025-02-27";
version = "3.2.0-unstable-2025-03-12";
src = fetchFromGitLab {
domain = "gitlab.postmarketos.org";
owner = "postmarketOS";
repo = "buffybox";
fetchSubmodules = true; # to use its vendored lvgl
rev = "6bf7a8406f3a3fa79831d2d151e519b703b9e135";
hash = "sha256-q3TNYRv5Cim+WklXw2ZTW6Ico1h8Xxs9MhTFhHZUMW0=";
rev = "3196e47d519c78b56a8d4b75ad7a280c92c91d23";
hash = "sha256-Zl/QmOJbY/lxoCYD6SpUHiiTTDOStUSn3+6xOuiGGBo=";
};
depsBuildBuild = [
+2 -14
View File
@@ -6,6 +6,7 @@
testers,
bundler,
versionCheckHook,
nix-update-script,
}:
buildRubyGem rec {
@@ -28,20 +29,7 @@ buildRubyGem rec {
doInstallCheck = true;
passthru = {
updateScript = writeScript "gem-update-script" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl common-updater-scripts jq
set -eu -o pipefail
latest_version=$(curl -s https://rubygems.org/api/v1/gems/${gemName}.json | jq --raw-output .version)
update-source-version ${gemName} "$latest_version"
'';
tests.version = testers.testVersion {
package = bundler;
command = "bundler -v";
version = version;
};
updateScript = nix-update-script { };
};
meta = {
+2 -2
View File
@@ -20,7 +20,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ccache";
version = "4.11";
version = "4.11.1";
src = fetchFromGitHub {
owner = "ccache";
@@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
exit 1
fi
'';
hash = "sha256-hMQ+4/5kk+QRHtMEbIk4TIWaSyYXVdXrOMKCkglNe6g=";
hash = "sha256-oYuvcM1BkOh+fj6FmZ8GiiyMyNCAHNp+zQdYvoAb/lU=";
};
outputs = [
+3 -3
View File
@@ -5,15 +5,15 @@
}:
rustPlatform.buildRustPackage rec {
pname = "cfonts";
version = "1.1.3";
version = "1.2.0";
src = fetchCrate {
inherit pname version;
hash = "sha256-ixxDlHjx5Bi6Wl/kzJ/R7d+jgTDCAti25TV1RlXRPus=";
hash = "sha256-W5hN+b4R50tNfYb3WrM0z5Etm6ixa11pZWnzGC9bjSs=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-eJM3CS3I++p6Pk/K8vkD/H/RAmD+eQJ+//It/Jn5dX4=";
cargoHash = "sha256-MXUUvk7R1JdjNlZ7h3ymUAPOT/A0I8TOW3saBB4C94o=";
meta = with lib; {
homepage = "https://github.com/dominikwilkowski/cfonts";
+3 -3
View File
@@ -11,14 +11,14 @@
python3Packages.buildPythonApplication {
pname = "chirp";
version = "0.4.0-unstable-2025-03-07";
version = "0.4.0-unstable-2025-03-17";
pyproject = true;
src = fetchFromGitHub {
owner = "kk7ds";
repo = "chirp";
rev = "7ba82c4faca496cf1370554a3485c1573b6a38a0";
hash = "sha256-UhQF6yfykraz5DblyW8cSP/XY+j/uxJtUVDpgdWlHZU=";
rev = "7d0a609a24efa7861a9cedd0abe057a250857d97";
hash = "sha256-BL5+z3CFInCEXgwyx4sHaHbUXLWwe/JWevD1ZDxQStQ=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -6,17 +6,17 @@
rustPlatform.buildRustPackage rec {
pname = "circom";
version = "2.2.1";
version = "2.2.2";
src = fetchFromGitHub {
owner = "iden3";
repo = "circom";
rev = "v${version}";
hash = "sha256-Vwu2DAWIqzqgo6oXcQxvhn7ssGojQkRRw9sKk7qjREk=";
hash = "sha256-BSInX4owuamRWnlKL1yJJOyzRIiE55TIzCk2TdX7aOQ=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-64mKd3M5EpqWASTPz7cqNbDyh4be7xR4fudjcx029u8=";
cargoHash = "sha256-dkgLp6BKuublS97iRXYzbT4ztbWBD5IDMz9rDY9XgcA=";
doCheck = false;
meta = with lib; {
+4 -4
View File
@@ -5,13 +5,13 @@
"packages": {
"": {
"dependencies": {
"@anthropic-ai/claude-code": "^0.2.41"
"@anthropic-ai/claude-code": "^0.2.48"
}
},
"node_modules/@anthropic-ai/claude-code": {
"version": "0.2.41",
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-0.2.41.tgz",
"integrity": "sha512-tbzmDPsD+WQ/KnA92kKpxb3/PEYk1FDbpIMvbzXFuXDONXW66o4seTl4JcpBVtb9zk5wv6srTlB7M9Nn7Tel1A==",
"version": "0.2.48",
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-0.2.48.tgz",
"integrity": "sha512-Av9EC7oBGSgNzJ8IFyYQnzCURtzmUZb1fRL+4vKJunCF33nCkTW82DEOKsfcj+Z268/Pf8WhXuI/vLbwpMdymw==",
"hasInstallScript": true,
"license": "SEE LICENSE IN README.md",
"bin": {
+3 -3
View File
@@ -6,14 +6,14 @@
buildNpmPackage rec {
pname = "claude-code";
version = "0.2.41";
version = "0.2.48";
src = fetchzip {
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${version}.tgz";
hash = "sha256-HxPdULdggaFeNkRnrqIU2Y7HC6F8UdqRLTl8QiLV8wg=";
hash = "sha256-zocgUMHWAPhA9ebqfeVCMHuJ1QBX3q8Y/dDjsxKhPv4=";
};
npmDepsHash = "sha256-VcB39pBEVF0PFOPDZVS6FH2UpSrIATjGueoZAxb33DA=";
npmDepsHash = "sha256-kwq08sKDZDH0eM5gAj+HllQkadDqgyNxMd2xmiTZvq8=";
postPatch = ''
cp ${./package-lock.json} package-lock.json
+3 -3
View File
@@ -7,17 +7,17 @@
buildGoModule rec {
pname = "codeberg-pages";
version = "6.2";
version = "6.2.1";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "Codeberg";
repo = "pages-server";
rev = "v${version}";
hash = "sha256-VZIrg6Hzn9yP9zdOPGx6HOK64XHeX5xc52hZXwmuMKA=";
hash = "sha256-kWEwKdm/GAUtsc4ZyCn7VJm9vVWDBOHJRer2FP1L/g0=";
};
vendorHash = "sha256-pBCVkuCuyUxla6+uZM3SWXApBpMv0rFORP4tffXkuF4=";
vendorHash = "sha256-qGjcMZhwflYdwOrGS9EApkwVLLSolQBBIeU8AU/fT/I=";
postPatch = ''
# disable httptest
+65
View File
@@ -0,0 +1,65 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
openmpi,
# passthru
conduit,
nix-update-script,
mpiSupport ? false,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "conduit";
version = "0.9.3";
src = fetchFromGitHub {
owner = "LLNL";
repo = "conduit";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-R7DiMwaMG9VfqDJiO3kFPb76j6P2GZl/6qLxDfVex8A=";
};
nativeBuildInputs = [
cmake
];
cmakeDir = "../src";
buildInputs = lib.optionals mpiSupport [
openmpi
];
cmakeFlags = [
(lib.cmakeBool "ENABLE_MPI" mpiSupport)
];
installCheckPhase = ''
runHook preInstallCheck
make test
runHook postInstallCheck
'';
doInstallCheck = true;
passthru = {
tests = {
withMpi = conduit.override { mpiSupport = true; };
};
updateScript = nix-update-script { };
};
meta = {
description = "Simplified Data Exchange for HPC Simulations";
homepage = "https://github.com/LLNL/conduit";
changelog = "https://github.com/LLNL/conduit/blob/v${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.bsd3Lbnl;
maintainers = with lib.maintainers; [ GaetanLepage ];
platforms = lib.platforms.all;
};
})
+86 -60
View File
@@ -1,82 +1,108 @@
{
lib,
stdenv,
stdenvAdapters,
fetchFromGitHub,
rustPlatform,
cmake,
makeBinaryWrapper,
cosmic-icons,
cosmic-randr,
just,
libcosmicAppHook,
pkg-config,
libxkbcommon,
expat,
libinput,
fontconfig,
freetype,
wayland,
expat,
pipewire,
pulseaudio,
udev,
util-linux,
cosmic-randr,
xkeyboard_config,
nix-update-script,
withMoldLinker ? stdenv.targetPlatform.isLinux,
}:
rustPlatform.buildRustPackage rec {
pname = "cosmic-settings";
version = "1.0.0-alpha.1";
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-settings";
rev = "epoch-${version}";
hash = "sha256-gTzZvhj7oBuL23dtedqfxUCT413eMoDc0rlNeqCeZ6E=";
let
libcosmicAppHook' = (libcosmicAppHook.__spliced.buildHost or libcosmicAppHook).override {
includeSettings = false;
};
in
rustPlatform.buildRustPackage.override
{ stdenv = if withMoldLinker then stdenvAdapters.useMoldLinker stdenv else stdenv; }
(finalAttrs: {
pname = "cosmic-settings";
version = "1.0.0-alpha.6";
useFetchCargoVendor = true;
cargoHash = "sha256-zMHJc6ytbOoi9E47Zsg6zhbQKObsaOtVHuPnLAu36I4=";
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-settings";
tag = "epoch-${finalAttrs.version}";
hash = "sha256-UKg3TIpyaqtynk6wLFFPpv69F74hmqfMVPra2+iFbvE=";
};
postPatch = ''
substituteInPlace justfile --replace '#!/usr/bin/env' "#!$(command -v env)"
'';
useFetchCargoVendor = true;
cargoHash = "sha256-mf/Cw3/RLrCYgsk7JKCU2+oPn1VPbD+4JzkUmbd47m8=";
nativeBuildInputs = [
cmake
just
pkg-config
makeBinaryWrapper
];
buildInputs = [
libxkbcommon
libinput
fontconfig
freetype
wayland
expat
udev
util-linux
];
nativeBuildInputs = [
cmake
just
libcosmicAppHook'
pkg-config
rustPlatform.bindgenHook
util-linux
];
dontUseJustBuild = true;
buildInputs = [
expat
fontconfig
freetype
libinput
pipewire
pulseaudio
udev
];
justFlags = [
"--set"
"prefix"
(placeholder "out")
"--set"
"bin-src"
"target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-settings"
];
dontUseJustBuild = true;
dontUseJustCheck = true;
postInstall = ''
wrapProgram "$out/bin/cosmic-settings" \
--prefix PATH : ${lib.makeBinPath [ cosmic-randr ]} \
--suffix XDG_DATA_DIRS : "$out/share:${cosmic-icons}/share"
'';
justFlags = [
"--set"
"prefix"
(placeholder "out")
"--set"
"bin-src"
"target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-settings"
];
meta = with lib; {
homepage = "https://github.com/pop-os/cosmic-settings";
description = "Settings for the COSMIC Desktop Environment";
license = licenses.gpl3Only;
maintainers = with maintainers; [ nyabinary ];
platforms = platforms.linux;
mainProgram = "cosmic-settings";
};
}
env."CARGO_TARGET_${stdenv.hostPlatform.rust.cargoEnvVarTarget}_RUSTFLAGS" =
lib.optionalString withMoldLinker "-C link-arg=-fuse-ld=mold";
preFixup = ''
libcosmicAppWrapperArgs+=(
--prefix PATH : ${lib.makeBinPath [ cosmic-randr ]}
--set-default X11_BASE_RULES_XML ${xkeyboard_config}/share/X11/xkb/rules/base.xml
--set-default X11_BASE_EXTRA_RULES_XML ${xkeyboard_config}/share/X11/xkb/rules/extra.xml
)
'';
passthru.updateScript = nix-update-script {
extraArgs = [
"--version"
"unstable"
"--version-regex"
"epoch-(.*)"
];
};
meta = {
description = "Settings for the COSMIC Desktop Environment";
homepage = "https://github.com/pop-os/cosmic-settings";
license = lib.licenses.gpl3Only;
mainProgram = "cosmic-settings";
maintainers = with lib.maintainers; [
nyabinary
HeitorAugustoLN
];
platforms = lib.platforms.linux;
};
})
+2 -2
View File
@@ -22,13 +22,13 @@
stdenv.mkDerivation rec {
pname = "createrepo_c";
version = "1.2.0";
version = "1.2.1";
src = fetchFromGitHub {
owner = "rpm-software-management";
repo = "createrepo_c";
tag = version;
hash = "sha256-IWn1in1AMN4brekerj+zu1OjTl+PE7fthU5+gcBzVU0=";
hash = "sha256-2mvU2F9rvG4FtDgq+M9VXWg+c+AsW/+tDPaEj7zVmQ0=";
};
postPatch = ''
+7 -4
View File
@@ -83,11 +83,14 @@ stdenv.mkDerivation rec {
pkg-config
];
meta = with lib; {
meta = {
description = "Music notation and composition software used with lilypond";
homepage = "http://denemo.org";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ maintainers.olynch ];
license = lib.licenses.gpl3;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.olynch ];
# sffile.c:38:10: error: implicit declaration of function 'isprint' [-Wimplicit-function-declaration]
# sffile.c:54:10: error: type defaults to 'int' in declaration of 'initialized' [-Wimplicit-int]
broken = true;
};
}
+3 -3
View File
@@ -8,7 +8,7 @@
let
themeName = "Dracula";
version = "4.0.0-unstable-2025-03-04";
version = "4.0.0-unstable-2025-03-13";
in
stdenvNoCC.mkDerivation {
pname = "dracula-theme";
@@ -17,8 +17,8 @@ stdenvNoCC.mkDerivation {
src = fetchFromGitHub {
owner = "dracula";
repo = "gtk";
rev = "285ff8f10084b5fdae045a8e8d09352be9af4452";
hash = "sha256-DGUEHKlQqJ3yt6Anm+LIhSgaUjE+CvdIQZyrrPGV8HQ=";
rev = "fc59294cf67110f6487f5fd06d3c845ffffdf1a9";
hash = "sha256-hFiYb1KqYvH66OIhmIUP3DfkSkuYgE78ihjkEaAY7LM=";
};
propagatedUserEnvPkgs = [
+10 -5
View File
@@ -22,13 +22,13 @@
let
self = python3.pkgs.buildPythonApplication rec {
pname = "duplicity";
version = "3.0.3.2";
version = "3.0.4";
src = fetchFromGitLab {
owner = "duplicity";
repo = "duplicity";
rev = "rel.${version}";
hash = "sha256-aP2+MIV9EgwGb9detibHzW2AJdbnP+9ur9Y/Irw26qM=";
hash = "sha256-FoaKuB0mo2RFksMHnIUx984+h/U0tdvk+bvsuYt3r5g=";
};
patches = [
@@ -51,9 +51,11 @@ let
--replace-fail /usr/bin /dev
'';
disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
# uses /tmp/
"testing/unit/test_cli_main.py::CommandlineTest::test_intermixed_args"
disabledTests = [
# fails on some unsupported backends, e.g.
# ************* Module duplicity.backends.swiftbackend
# duplicity/backends/swiftbackend.py:176: [E0401(import-error), SwiftBackend._put] Unable to import 'swiftclient.service'
"test_pylint"
];
nativeBuildInputs = [
@@ -62,6 +64,9 @@ let
python3.pkgs.wrapPython
wrapGAppsNoGuiHook
python3.pkgs.setuptools-scm
python3.pkgs.pycodestyle
python3.pkgs.black
python3.pkgs.pylint
];
buildInputs = [
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "dyff";
version = "1.10.0";
version = "1.10.1";
src = fetchFromGitHub {
owner = "homeport";
repo = "dyff";
rev = "v${version}";
sha256 = "sha256-MVqj/RgUwN7andCPMo7Tp4zBhEaSNM0loWnQ/E5U1S8=";
sha256 = "sha256-dioahL3dWK+rNAcThv2vYyoGaIIFhcd5li9gtwjtGzM=";
};
vendorHash = "sha256-PH3huLNc0jFBvo3/Z/BNCeL0HxTUc5OaNysa54wKthY=";
vendorHash = "sha256-5uAe6bnYhncr2A+Y/HEjv9agvKp+1D2JH66zIDIeDro=";
subPackages = [
"cmd/dyff"
+3 -3
View File
@@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "eigenmath";
version = "337-unstable-2025-03-05";
version = "337-unstable-2025-03-16";
src = fetchFromGitHub {
owner = "georgeweigt";
repo = pname;
rev = "8fc8573000f40a8322f7fc140f384cf79e8c4a7f";
hash = "sha256-MQnQmxafJhwxVJ+iAwAm48nFCE9QVel56xWgX8egmOk=";
rev = "622740aa22d11d08016d0ac962aa920f5e38f223";
hash = "sha256-sFiCYvp+SC8CnkMfoUXpAPFySd5nxiqLRVGiWsZ4FcY=";
};
checkPhase =
@@ -1,15 +1,21 @@
{ lib, stdenv, fetchFromGitHub, python3Packages, wrapQtAppsHook
, secp256k1, qtwayland }:
{
lib,
stdenv,
fetchFromGitHub,
python3Packages,
qt5,
secp256k1,
}:
python3Packages.buildPythonApplication rec {
pname = "electron-cash";
version = "4.3.1";
version = "4.4.2";
src = fetchFromGitHub {
owner = "Electron-Cash";
repo = "Electron-Cash";
tag = version;
sha256 = "sha256-xOyj5XerOwgfvI0qj7+7oshDvd18h5IeZvcJTis8nWo=";
sha256 = "sha256-hqaPxetS6JONvlRMjNonXUGFpdmnuadD00gcPzY07x0=";
};
build-system = with python3Packages; [
@@ -38,6 +44,7 @@ python3Packages.buildPythonApplication rec {
psutil
pycryptodomex
cryptography
zxing-cpp
# requirements-hw
trezor
@@ -49,36 +56,42 @@ python3Packages.buildPythonApplication rec {
pysatochip
];
nativeBuildInputs = [ wrapQtAppsHook ];
nativeBuildInputs = [ qt5.wrapQtAppsHook ];
buildInputs = [ ] ++ lib.optional stdenv.hostPlatform.isLinux qtwayland;
postPatch = ''
substituteInPlace contrib/requirements/requirements.txt \
--replace "qdarkstyle==2.6.8" "qdarkstyle<3"
substituteInPlace setup.py \
--replace "(share_dir" "(\"share\""
'';
buildInputs = [ ] ++ lib.optional stdenv.hostPlatform.isLinux qt5.qtwayland;
# If secp256k1 wasn't added to the library path, the following warning is given:
#
# Electron Cash was unable to find the secp256k1 library on this system.
# Elliptic curve cryptography operations will be performed in slow
# Python-only mode.
#
# Upstream hardcoded `libsecp256k1.so.0` where we provides
# `libsecp256k1.so.5`. The only breaking change is the removal of two
# functions which seem not used by electron-cash.
# See: <https://github.com/Electron-Cash/Electron-Cash/issues/3009>
postPatch = ''
substituteInPlace setup.py \
--replace-fail "(share_dir" '("share"'
substituteInPlace electroncash/secp256k1.py \
--replace-fail "libsecp256k1.so.0" "${secp256k1}/lib/libsecp256k1.so.5"
'';
preFixup = ''
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
makeWrapperArgs+=(
"--prefix" "LD_LIBRARY_PATH" ":" "${secp256k1}/lib"
)
'';
doInstallCheck = true;
installCheckPhase = ''
$out/bin/electron-cash help >/dev/null
output="$($out/bin/electron-cash help 2>&1)"
if [[ "$output" == *"failed to load"* ]]; then
echo "$output"
echo "Forbidden text detected: failed to load"
exit 1
fi
'';
meta = with lib; {
meta = {
description = "Bitcoin Cash SPV Wallet";
mainProgram = "electron-cash";
longDescription = ''
@@ -88,8 +101,12 @@ python3Packages.buildPythonApplication rec {
of the blockchain.
'';
homepage = "https://www.electroncash.org/";
platforms = platforms.unix;
maintainers = with maintainers; [ lassulus nyanloutre oxalica ];
license = licenses.mit;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [
lassulus
nyanloutre
oxalica
];
license = lib.licenses.mit;
};
}
+3 -3
View File
@@ -6,17 +6,17 @@
rustPlatform.buildRustPackage rec {
pname = "evtx";
version = "0.8.5";
version = "0.9.0";
src = fetchFromGitHub {
owner = "omerbenamram";
repo = "evtx";
tag = "v${version}";
hash = "sha256-qDJc8QL1nlbV9iIXZYh38N1giz6uEZtt/hjaZWE6JbE=";
hash = "sha256-fgOuhNE77zVjL16oiUifnKZ+X4CQnZuD8tY+h0JTOYU=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-aHc4u2sW2TIK2P/P9MdR0lgTKbY1ruevCRxghW/dii0=";
cargoHash = "sha256-E9BoqpnKhVNwOiEvZROF3xj9Ge8r2CNaBiwHdkdV5aw=";
postPatch = ''
# CLI tests will fail in the sandbox
+10 -2
View File
@@ -49,13 +49,21 @@ let
};
expressvpndFHS = buildFHSEnv {
inherit pname version;
inherit version;
pname = "expressvpnd";
# When connected, it directly creates/deletes resolv.conf to change the DNS entries.
# Since it's running in an FHS environment, it has no effect on actual resolv.conf.
# Hence, place a watcher that updates host resolv.conf when FHS resolv.conf changes.
# Mount the host's resolv.conf to the container's /etc/resolv.conf
runScript = writeScript "${pname}-wrapper" ''
cp /host/etc/resolv.conf /etc/resolv.conf;
mkdir -p /host/etc
[ -e /host/etc/resolv.conf ] || touch /host/etc/resolv.conf
mount --bind /etc/resolv.conf /host/etc/resolv.conf
mount -o remount,rw /host/etc/resolv.conf
trap "umount /host/etc/resolv.conf" EXIT
while inotifywait /etc 2>/dev/null;
do
cp /etc/resolv.conf /host/etc/resolv.conf;
+2 -2
View File
@@ -11,13 +11,13 @@
}:
let
pname = "feishin";
version = "0.12.2";
version = "0.12.3";
src = fetchFromGitHub {
owner = "jeffvli";
repo = "feishin";
rev = "v${version}";
hash = "sha256-2kWeUlOTAd1Usw/cLOARyLqxEzZRk27RuHjLwupnq80=";
hash = "sha256-Tjh68b+41YrMNB14AZ3jXqBXDOmaaOYQKXJOyTUF474=";
};
electron = electron_33;
+3 -3
View File
@@ -11,17 +11,17 @@
rustPlatform.buildRustPackage rec {
pname = "findomain";
version = "9.0.3";
version = "9.0.4";
src = fetchFromGitHub {
owner = "findomain";
repo = "findomain";
tag = version;
hash = "sha256-M6i62JI4HjaM0C2rSK8P5O19JeugFP5xIy1E6vE8KP4=";
hash = "sha256-5jbKDMULig6j3D5KEQQrHWtsc59x0Tj6n/7kwK/8IME=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-2CB7xmZFqej+vOx90kOPcI4FNpj1z4wnW90n7yEFpNA=";
cargoHash = "sha256-4+nRQ8HL4dQMCgeSOrgkaRj0E4HPAC3Nm82AEr1KWJo=";
nativeBuildInputs = [
installShellFiles
+6
View File
@@ -21,6 +21,11 @@ stdenv.mkDerivation {
sha256 = "0xv364a00zwxhd9kg1z9sch5y0cxnrhk546asspyb9bh58sdzfy7";
};
postPatch = ''
substituteInPlace Makefile \
--replace-fail 'pkg-config' '${stdenv.cc.targetPrefix}pkg-config'
'';
# Workaround build failure on -fno-common toolchains:
# ld: postscript.o:postscript.h:29: multiple definition of
# `postscript_params'; fped.o:postscript.h:29: first defined here
@@ -43,6 +48,7 @@ stdenv.mkDerivation {
];
buildInputs = [
flex
gtk2
];
@@ -7,16 +7,19 @@
python3Packages.buildPythonApplication rec {
pname = "git-delete-merged-branches";
version = "7.4.2";
version = "7.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "hartwork";
repo = pname;
tag = version;
sha256 = "sha256-l+R4gINZJ8bJdhcK+U9jOuIoAm2/bd5P+w9AbwPZMrk=";
sha256 = "sha256-2MSdUpToOiurtiL0Ws2dLEWqd6wj4nQ2RsEepBytgAk=";
};
propagatedBuildInputs = with python3Packages; [
build-system = with python3Packages; [ setuptools ];
dependencies = with python3Packages; [
colorama
prompt-toolkit
];
@@ -25,7 +28,7 @@ python3Packages.buildPythonApplication rec {
meta = with lib; {
description = "Command-line tool to delete merged Git branches";
homepage = "https://pypi.org/project/git-delete-merged-branches/";
homepage = "https://github.com/hartwork/git-delete-merged-branches/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ SuperSandro2000 ];
};
+3 -3
View File
@@ -9,16 +9,16 @@
buildNpmPackage rec {
pname = "gitlab-ci-local";
version = "4.57.0";
version = "4.58.0";
src = fetchFromGitHub {
owner = "firecow";
repo = "gitlab-ci-local";
rev = version;
hash = "sha256-xr8loGmua8NiXA+YMzuVPUupnjqNsOxcWdyhxTZ7GhE=";
hash = "sha256-4Hn/I0PJ5w+Wb3tI8szy4I/vHso85GTFyT2Ek+WbYxs=";
};
npmDepsHash = "sha256-M/kRs8yaOypbSr3MhUr2UJ5G+lz5OMdBCIs4yyrLX6I=";
npmDepsHash = "sha256-fndSJd15sZ/sIFvh+MzNw25kuP9D9+Qc0mDqgnvjnPo=";
postPatch = ''
# remove cleanup which runs git commands
@@ -6,6 +6,7 @@
bubblewrap,
cairo,
cargo,
gettext,
git,
gnome,
gtk4,
@@ -40,6 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
cargo
gettext # for msgfmt
git
meson
ninja
@@ -64,6 +66,8 @@ stdenv.mkDerivation (finalAttrs: {
"-Dvapi=false"
];
strictDeps = true;
passthru = {
updateScript = gnome.updateScript {
attrPath = "glycin-loaders";
-1
View File
@@ -41,7 +41,6 @@ stdenv.mkDerivation (finalAttrs: {
passthru.tests = {
inherit
fwupd-efi
ipxe
syslinux
;
};
+56 -36
View File
@@ -1,69 +1,89 @@
{ lib, buildGoModule, fetchFromGitHub, go-mockery, runCommand, go }:
{
lib,
buildGoModule, # sync with go below, update to latest release
fetchFromGitHub,
# passthru test
go-mockery,
runCommand,
go,
}:
buildGoModule rec {
pname = "go-mockery";
version = "2.52.1";
version = "2.53.2";
src = fetchFromGitHub {
owner = "vektra";
repo = "mockery";
rev = "v${version}";
sha256 = "sha256-algCErKmB43r/t7wo8BJSM0MHRxvxVWZ2u0n1xuLLdw=";
sha256 = "sha256-8J9sx9rPBZXZQKmuDSAuuktONyNM2U32W8CM9jts4Hw=";
};
preCheck = ''
substituteInPlace ./pkg/generator_test.go --replace-fail 0.0.0-dev ${version}
substituteInPlace ./pkg/logging/logging_test.go --replace-fail v0.0 v${lib.versions.majorMinor version}
'';
ldflags = [
"-s" "-w"
"-X" "github.com/vektra/mockery/v2/pkg/logging.SemVer=v${version}"
"-s"
"-w"
"-X"
"github.com/vektra/mockery/v${lib.versions.major version}/pkg/logging.SemVer=v${version}"
];
env.CGO_ENABLED = false;
proxyVendor = true;
vendorHash = "sha256-nL6dDGifhtmDHfz1ae+wnmVPPQDLrRgI7v8c5cQzo8Q=";
vendorHash = "sha256-4dZnffxyxTex5wvdWP4rRslW+I8/XC1RhhrljgI630I=";
subPackages = [ "." ];
preCheck = ''
# check all paths
unset subPackages
substituteInPlace ./pkg/generator_test.go --replace-fail 0.0.0-dev ${version}
substituteInPlace ./pkg/logging/logging_test.go --replace-fail v0.0 v${lib.versions.majorMinor version}
'';
passthru.tests = {
generateMock = runCommand "${pname}-test" {
nativeBuildInputs = [ go-mockery ];
buildInputs = [ go ];
} ''
if [[ $(mockery --version) != *"${version}"* ]]; then
echo "Error: program version does not match package version"
exit 1
fi
generateMock =
runCommand "${pname}-test"
{
nativeBuildInputs = [ go-mockery ];
buildInputs = [ go ];
}
''
if [[ $(${meta.mainProgram} --version) != *"${version}"* ]]; then
echo "Error: program version does not match package version"
exit 1
fi
export HOME=$TMPDIR
export HOME=$TMPDIR
cat <<EOF > foo.go
package main
cat <<EOF > foo.go
package main
type Foo interface {
Bark() string
}
EOF
type Foo interface {
Bark() string
}
EOF
mockery --name Foo --dir .
${meta.mainProgram} --name Foo --dir .
if [[ ! -f "mocks/Foo.go" ]]; then
echo "Error: mocks/Foo.go was not generated by ${pname}"
exit 1
fi
if [[ ! -f "mocks/Foo.go" ]]; then
echo "Error: mocks/Foo.go was not generated by ${pname}"
exit 1
fi
touch $out
'';
touch $out
'';
};
meta = with lib; {
meta = {
homepage = "https://github.com/vektra/mockery";
description = "Mock code autogenerator for Golang";
maintainers = with maintainers; [ fbrs ];
maintainers = with lib.maintainers; [
fbrs
jk
];
mainProgram = "mockery";
license = licenses.bsd3;
license = lib.licenses.bsd3;
};
}
+42
View File
@@ -0,0 +1,42 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
guile,
pkg-config,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "guile-redis";
version = "2.2.0";
src = fetchFromGitHub {
owner = "aconchillo";
repo = "guile-redis";
tag = finalAttrs.version;
hash = "sha256-0lObXRBn4yZi2S+MeesT1Z/vJWb907BHknA4hOQOYzE=";
};
strictDeps = true;
nativeBuildInputs = [
autoreconfHook
guile
pkg-config
];
buildInputs = [ guile ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Redis module for Guile";
homepage = "https://github.com/aconchillo/guile-redis";
changelog = "https://github.com/aconchillo/guile-redis/releases/tag/${finalAttrs.version}";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ ethancedwards8 ];
platforms = guile.meta.platforms;
};
})
+96
View File
@@ -0,0 +1,96 @@
{
fetchFromGitHub,
lib,
makeWrapper,
ruby,
stdenv,
versionCheckHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "haiti";
version = "3.0.0";
src = fetchFromGitHub {
owner = "noraj";
repo = "haiti";
tag = "v${finalAttrs.version}";
hash = "sha256-1PGGlnbw8zg2sNEc85Un7no7elS5aPSfjzfmqovmiHk=";
};
nativeBuildInputs = [
makeWrapper
ruby
];
paintSrc = fetchFromGitHub {
owner = "janlelis";
repo = "paint";
rev = "7076784c5d57f178690d19e4f8644441ff73f518";
hash = "sha256-uITUfcZjOACeCGsozpUxAYd98Y9oFTgyXems2Q3aYRU=";
};
docoptSrc = fetchFromGitHub {
owner = "docopt";
repo = "docopt.rb";
rev = "794c47d7cb62ca71d65086623a55881449bc2f9e";
hash = "sha256-9DbKTPsZRRAqDkN2wMzBtbbtyKDcVSGmVDcekf4WBnw=";
};
buildPhase = ''
runHook preBuild
paintBuild=$(mktemp -d)
cp -r ${finalAttrs.paintSrc}/* $paintBuild
pushd $paintBuild
sed -i '/.github/d' paint.gemspec
sed -i '/.rspec/d' paint.gemspec
gem build -V paint.gemspec
popd
paintGem=$paintBuild/paint-2.3.0.gem
docoptBuild=$(mktemp -d)
cp -r ${finalAttrs.docoptSrc}/* $docoptBuild
pushd $docoptBuild
gem build -V docopt.gemspec
popd
docoptGem=$docoptBuild/docopt-0.6.1.gem
gem build -V haiti.gemspec
runHook postBuild
'';
installPhase = ''
runHook preInstall
gem install -V $paintGem $docoptGem haiti-hash-${finalAttrs.version}.gem \
--install-dir=$out/lib \
--ignore-dependencies
for i in $out/lib/bin/*;
do
filename=$(basename $i)
makeWrapper ${lib.getExe ruby} $out/bin/$filename \
--set GEM_PATH $out/lib \
--add-flags $out/lib/bin/$filename
done
rm -rf $out/lib/{build_info,cache,doc,extensions,plugins}
runHook postInstall
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
meta = {
changelog = "https://github.com/noraj/haiti/releases/tag/v${finalAttrs.version}";
description = "CLI tool to identify hash types";
homepage = "https://github.com/noraj/haiti";
license = lib.licenses.mit;
mainProgram = "haiti";
maintainers = with lib.maintainers; [ KSJ2000 ];
platforms = lib.platforms.unix;
};
})
+41
View File
@@ -0,0 +1,41 @@
{
lib,
stdenvNoCC,
pname,
version,
meta,
fetchurl,
_7zz,
undmg,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
inherit pname version;
src =
if stdenvNoCC.hostPlatform.isAarch64 then
(fetchurl {
url = "https://hamrs-releases.s3.us-east-2.amazonaws.com/${finalAttrs.version}/HAMRS-${finalAttrs.version}.dmg";
hash = "sha256-IQ7r2OLwJW4auiNDddzZ99jXxrtPw3uYoGIUEHU1gtc=";
})
else
(fetchurl {
url = "https://hamrs-releases.s3.us-east-2.amazonaws.com/${finalAttrs.version}/HAMRS-${finalAttrs.version}-intel.dmg";
hash = "sha256-bgWeIARE3gO5FA9MqidfXo1Wdn5wDUa/RNzZBxSKloM=";
});
nativeBuildInputs = if stdenvNoCC.hostPlatform.isAarch64 then [ _7zz ] else [ undmg ];
sourceRoot = ".";
installPhase = ''
runHook preInstall
mkdir -p $out/Applications
cp -r *.app $out/Applications
runHook postInstall
'';
inherit meta;
})
+48
View File
@@ -0,0 +1,48 @@
{
lib,
stdenvNoCC,
appimageTools,
fetchurl,
pname,
version,
meta,
}:
let
suffix =
{
aarch64-linux = "linux-armv7l";
x86_64-linux = "linux-x86_64";
i686-linux = "linux-i386";
}
.${stdenvNoCC.hostPlatform.system}
or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}");
in
appimageTools.wrapType2 rec {
inherit pname version;
src = fetchurl {
url = "https://hamrs-releases.s3.us-east-2.amazonaws.com/${version}/hamrs-${version}-${suffix}.AppImage";
hash =
{
aarch64-linux = "sha256-nBW8q7LVWQz93LkTc+c36H+2ymLLwLKfxePUwEm3D2E=";
x86_64-linux = "sha256-tplp7TADvbxkk5qBb4c4zm4mrzrVtW/WVUjiolBBJHc=";
i686-linux = "sha256-PllxLMBsPCedKU7OUN0nqi4qtQ57l2Z+huLfkfaBfT4=";
}
.${stdenvNoCC.hostPlatform.system}
or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}");
};
extraInstallCommands =
let
contents = appimageTools.extract { inherit pname version src; };
in
''
install -m 444 -D ${contents}/${pname}.desktop -t $out/share/applications
substituteInPlace $out/share/applications/${pname}.desktop \
--replace-fail 'Exec=AppRun' 'Exec=${pname}'
cp -r ${contents}/usr/share/icons $out/share
'';
inherit meta;
}
+17 -40
View File
@@ -1,56 +1,33 @@
{
appimageTools,
lib,
fetchurl,
stdenv,
stdenvNoCC,
callPackage,
}:
let
suffix =
{
aarch64-linux = "linux-armv7l";
x86_64-linux = "linux-x86_64";
i686-linux = "linux-i386";
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
in
appimageTools.wrapType2 rec {
pname = "hamrs";
version = "1.0.7";
src = fetchurl {
url = "https://hamrs-releases.s3.us-east-2.amazonaws.com/${version}/hamrs-${version}-${suffix}.AppImage";
hash =
{
aarch64-linux = "sha256-nBW8q7LVWQz93LkTc+c36H+2ymLLwLKfxePUwEm3D2E=";
x86_64-linux = "sha256-tplp7TADvbxkk5qBb4c4zm4mrzrVtW/WVUjiolBBJHc=";
i686-linux = "sha256-PllxLMBsPCedKU7OUN0nqi4qtQ57l2Z+huLfkfaBfT4=";
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
extraInstallCommands =
let
contents = appimageTools.extract { inherit pname version src; };
in
''
install -m 444 -D ${contents}/${pname}.desktop -t $out/share/applications
substituteInPlace $out/share/applications/${pname}.desktop \
--replace-fail 'Exec=AppRun' 'Exec=${pname}'
cp -r ${contents}/usr/share/icons $out/share
'';
meta = with lib; {
description = "A simple, portable logger tailored for activities like Parks on the Air, Field Day, and more.";
meta = {
description = "Simple, portable logger tailored for activities like Parks on the Air, Field Day, and more.";
homepage = "https://hamrs.app/";
license = licenses.unfree;
maintainers = [ maintainers.jhollowe ];
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [
ethancedwards8
jhollowe
];
platforms = [
"aarch64-linux"
"x86_64-linux"
"i686-linux"
"aarch64-darwin"
"x86_64-darwin"
];
mainProgram = "hamrs";
sourceProvenance = [ sourceTypes.binaryNativeCode ];
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
};
}
in
if stdenvNoCC.hostPlatform.isDarwin then
callPackage ./darwin.nix { inherit pname version meta; }
else
callPackage ./linux.nix { inherit pname version meta; }
+5 -2
View File
@@ -1,18 +1,19 @@
{
lib,
fetchFromGitHub,
nix-update-script,
python3,
}:
python3.pkgs.buildPythonApplication rec {
pname = "heisenbridge";
version = "1.15.0";
version = "1.15.2";
src = fetchFromGitHub {
owner = "hifi";
repo = pname;
tag = "v${version}";
sha256 = "sha256-4K6Sffu/yKHkcoNENbgpci2dbJVAH3vVkogcw/IYpnw=";
sha256 = "sha256-7zOpjIRYm+F8my+Gk/SXFIpzXMublPuzo93GpD8SxvU=";
};
postPatch = ''
@@ -30,6 +31,8 @@ python3.pkgs.buildPythonApplication rec {
pytestCheckHook
];
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Bouncer-style Matrix-IRC bridge";
homepage = "https://github.com/hifi/heisenbridge";
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "hermit";
version = "0.44.1";
version = "0.44.3";
src = fetchFromGitHub {
rev = "v${version}";
owner = "cashapp";
repo = "hermit";
hash = "sha256-u5NklyTtrTfqC+p3UnUv7LJ2Dm7GuQnuAAyplm1M7rE=";
hash = "sha256-7u1xPpM3y8+hm732ssdA/XJtmSGyiRpMHBmzOCDSTRM=";
};
vendorHash = "sha256-GPIJ3IvTM2da962M1FLHKn8OitHDPZ9zp8nSLaeRq10=";
vendorHash = "sha256-Nmvgsso9WU4Tuc0vFUutcApgX6KXRZMl3CiWO5FaROU=";
subPackages = [ "cmd/hermit" ];
+2 -2
View File
@@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "httplib";
version = "0.18.5";
version = "0.19.0";
src = fetchFromGitHub {
owner = "yhirose";
repo = "cpp-httplib";
rev = "v${finalAttrs.version}";
hash = "sha256-d5b6WsqR9oTiWq9wED+7Ts0kjURutxAJVXbm1okNg8k=";
hash = "sha256-OLwD7mpwqG7BUugUca+CJpPMaabJzUMC0zYzJK9PBCg=";
};
nativeBuildInputs = [ cmake ];
+3 -3
View File
@@ -9,16 +9,16 @@
buildGoModule rec {
pname = "ignite-cli";
version = "28.8.1";
version = "28.8.2";
src = fetchFromGitHub {
repo = "cli";
owner = "ignite";
rev = "v${version}";
hash = "sha256-tecoeYQ+rWH36AwkcvO5W7mqVxc9fGHcUiQ+dZvUQP0=";
hash = "sha256-d7+T0VlmKQgmAJ8eyDg8JDL9HHJbU+nOTvJP0GTuIRY=";
};
vendorHash = "sha256-4Ab3xgP1fK2QA+qL3DyNESkOl6MeQlhhjpaWO6oRFlg=";
vendorHash = "sha256-EaOs3m5AN0EYMO8j3mkKPOQwapi0WRaTIUJKTjDpmCo=";
nativeBuildInputs = [ makeWrapper ];

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