mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-04-14 13:37:45 +00:00
Merge master into haskell-updates
This commit is contained in:
commit
520e744a7d
7
.github/CODEOWNERS
vendored
7
.github/CODEOWNERS
vendored
@ -369,16 +369,13 @@ nixos/modules/services/web-apps/pretalx.nix @mweinelt
|
||||
nixos/tests/web-apps/pretix.nix @mweinelt
|
||||
nixos/tests/web-apps/pretalx.nix @mweinelt
|
||||
|
||||
# incus/lxc/lxd
|
||||
nixos/maintainers/scripts/lxd/ @adamcstephens
|
||||
# incus/lxc
|
||||
nixos/maintainers/scripts/incus/ @adamcstephens
|
||||
nixos/modules/virtualisation/incus.nix @adamcstephens
|
||||
nixos/modules/virtualisation/lxc* @adamcstephens
|
||||
nixos/modules/virtualisation/lxd* @adamcstephens
|
||||
nixos/tests/incus/ @adamcstephens
|
||||
nixos/tests/lxd/ @adamcstephens
|
||||
pkgs/by-name/in/incus/ @adamcstephens
|
||||
pkgs/by-name/lx/lxc* @adamcstephens
|
||||
pkgs/by-name/lx/lxd* @adamcstephens
|
||||
|
||||
# ExpidusOS, Flutter
|
||||
/pkgs/development/compilers/flutter @RossComputerGuy
|
||||
|
@ -104,24 +104,27 @@ directory and executed as follows:
|
||||
```bash
|
||||
nix-shell generate-shell.nix
|
||||
|
||||
Rscript generate-r-packages.R cran > cran-packages.nix.new
|
||||
mv cran-packages.nix.new cran-packages.nix
|
||||
Rscript generate-r-packages.R cran > cran-packages.json.new
|
||||
mv cran-packages.json.new cran-packages.json
|
||||
|
||||
Rscript generate-r-packages.R bioc > bioc-packages.nix.new
|
||||
mv bioc-packages.nix.new bioc-packages.nix
|
||||
Rscript generate-r-packages.R bioc > bioc-packages.json.new
|
||||
mv bioc-packages.json.new bioc-packages.json
|
||||
|
||||
Rscript generate-r-packages.R bioc-annotation > bioc-annotation-packages.nix.new
|
||||
mv bioc-annotation-packages.nix.new bioc-annotation-packages.nix
|
||||
Rscript generate-r-packages.R bioc-annotation > bioc-annotation-packages.json.new
|
||||
mv bioc-annotation-packages.json.new bioc-annotation-packages.json
|
||||
|
||||
Rscript generate-r-packages.R bioc-experiment > bioc-experiment-packages.nix.new
|
||||
mv bioc-experiment-packages.nix.new bioc-experiment-packages.nix
|
||||
Rscript generate-r-packages.R bioc-experiment > bioc-experiment-packages.json.new
|
||||
mv bioc-experiment-packages.json.new bioc-experiment-packages.json
|
||||
```
|
||||
|
||||
`generate-r-packages.R <repo>` reads `<repo>-packages.nix`, therefore
|
||||
`generate-r-packages.R <repo>` reads `<repo>-packages.json`, therefore
|
||||
the renaming.
|
||||
|
||||
The contents of a generated `*-packages.json` file will be used to
|
||||
create a package derivation for each R package listed in the file.
|
||||
|
||||
Some packages require overrides to specify external dependencies or other
|
||||
patches and special requirements. These overrides are specified in the
|
||||
`pkgs/development/r-modules/default.nix` file. As the `*-packages.nix`
|
||||
`pkgs/development/r-modules/default.nix` file. As the `*-packages.json`
|
||||
contents are automatically generated it should not be edited and broken
|
||||
builds should be addressed using overrides.
|
||||
|
@ -4441,6 +4441,12 @@
|
||||
githubId = 8081722;
|
||||
name = "Daniel Barter";
|
||||
};
|
||||
danielbritten = {
|
||||
email = "nixpkgs@danielb.space";
|
||||
github = "Coda-Coda";
|
||||
githubId = 5212453;
|
||||
name = "Daniel Britten";
|
||||
};
|
||||
danieldk = {
|
||||
email = "me@danieldk.eu";
|
||||
github = "danieldk";
|
||||
@ -14163,6 +14169,12 @@
|
||||
githubId = 9636071;
|
||||
name = "Myrl Hex";
|
||||
};
|
||||
mzacho = {
|
||||
email = "nixpkgs@martinzacho.net";
|
||||
github = "mzacho";
|
||||
githubId = 16916972;
|
||||
name = "Martin Zacho";
|
||||
};
|
||||
n00b0ss = {
|
||||
email = "nixpkgs@n00b0ss.de";
|
||||
github = "n00b0ss";
|
||||
|
@ -81,6 +81,8 @@
|
||||
|
||||
- [Rathole](https://github.com/rapiz1/rathole), a lightweight and high-performance reverse proxy for NAT traversal. Available as [services.rathole](#opt-services.rathole.enable).
|
||||
|
||||
- [Proton Mail bridge](https://proton.me/mail/bridge), a desktop application that runs in the background, encrypting and decrypting messages as they enter and leave your computer. It lets you add your Proton Mail account to your favorite email client via IMAP/SMTP by creating a local email server on your computer.
|
||||
|
||||
## Backward Incompatibilities {#sec-release-24.11-incompatibilities}
|
||||
|
||||
- `transmission` package has been aliased with a `trace` warning to `transmission_3`. Since [Transmission 4 has been released last year](https://github.com/transmission/transmission/releases/tag/4.0.0), and Transmission 3 will eventually go away, it was decided perform this warning alias to make people aware of the new version. The `services.transmission.package` defaults to `transmission_3` as well because the upgrade can cause data loss in certain specific usage patterns (examples: [#5153](https://github.com/transmission/transmission/issues/5153), [#6796](https://github.com/transmission/transmission/issues/6796)). Please make sure to back up to your data directory per your usage:
|
||||
|
@ -0,0 +1,34 @@
|
||||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
# Include the default incus configuration.
|
||||
"${modulesPath}/virtualisation/lxc-container.nix"
|
||||
# Include the container-specific autogenerated configuration.
|
||||
./incus.nix
|
||||
];
|
||||
|
||||
networking = {
|
||||
dhcpcd.enable = false;
|
||||
useDHCP = false;
|
||||
useHostResolvConf = false;
|
||||
};
|
||||
|
||||
systemd.network = {
|
||||
enable = true;
|
||||
networks."50-eth0" = {
|
||||
matchConfig.Name = "eth0";
|
||||
networkConfig = {
|
||||
DHCP = "ipv4";
|
||||
IPv6AcceptRA = true;
|
||||
};
|
||||
linkConfig.RequiredForOnline = "routable";
|
||||
};
|
||||
};
|
||||
|
||||
system.stateVersion = "@stateVersion@"; # Did you read the comment?
|
||||
}
|
47
nixos/maintainers/scripts/incus/incus-container-image.nix
Normal file
47
nixos/maintainers/scripts/incus/incus-container-image.nix
Normal file
@ -0,0 +1,47 @@
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [ ../../../modules/virtualisation/lxc-container.nix ];
|
||||
|
||||
virtualisation.lxc.templates.nix = {
|
||||
enable = true;
|
||||
target = "/etc/nixos/incus.nix";
|
||||
template = ./nix.tpl;
|
||||
when = [
|
||||
"create"
|
||||
"copy"
|
||||
];
|
||||
};
|
||||
|
||||
# copy the config for nixos-rebuild
|
||||
system.activationScripts.config =
|
||||
let
|
||||
config = pkgs.substituteAll {
|
||||
src = ./incus-container-image-inner.nix;
|
||||
stateVersion = lib.trivial.release;
|
||||
};
|
||||
in
|
||||
''
|
||||
if [ ! -e /etc/nixos/configuration.nix ]; then
|
||||
install -m 0644 -D ${config} /etc/nixos/configuration.nix
|
||||
fi
|
||||
'';
|
||||
|
||||
networking = {
|
||||
dhcpcd.enable = false;
|
||||
useDHCP = false;
|
||||
useHostResolvConf = false;
|
||||
};
|
||||
|
||||
systemd.network = {
|
||||
enable = true;
|
||||
networks."50-eth0" = {
|
||||
matchConfig.Name = "eth0";
|
||||
networkConfig = {
|
||||
DHCP = "ipv4";
|
||||
IPv6AcceptRA = true;
|
||||
};
|
||||
linkConfig.RequiredForOnline = "routable";
|
||||
};
|
||||
};
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
# Include the default incus configuration.
|
||||
"${modulesPath}/virtualisation/incus-virtual-machine.nix"
|
||||
# Include the container-specific autogenerated configuration.
|
||||
./incus.nix
|
||||
];
|
||||
|
||||
networking = {
|
||||
dhcpcd.enable = false;
|
||||
useDHCP = false;
|
||||
useHostResolvConf = false;
|
||||
};
|
||||
|
||||
systemd.network = {
|
||||
enable = true;
|
||||
networks."50-enp5s0" = {
|
||||
matchConfig.Name = "enp5s0";
|
||||
networkConfig = {
|
||||
DHCP = "ipv4";
|
||||
IPv6AcceptRA = true;
|
||||
};
|
||||
linkConfig.RequiredForOnline = "routable";
|
||||
};
|
||||
};
|
||||
|
||||
system.stateVersion = "@stateVersion@"; # Did you read the comment?
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [ ../../../modules/virtualisation/incus-virtual-machine.nix ];
|
||||
|
||||
virtualisation.lxc.templates.nix = {
|
||||
enable = true;
|
||||
target = "/etc/nixos/incus.nix";
|
||||
template = ./nix.tpl;
|
||||
when = [
|
||||
"create"
|
||||
"copy"
|
||||
];
|
||||
};
|
||||
|
||||
# copy the config for nixos-rebuild
|
||||
system.activationScripts.config =
|
||||
let
|
||||
config = pkgs.substituteAll {
|
||||
src = ./incus-virtual-machine-image-inner.nix;
|
||||
stateVersion = lib.trivial.release;
|
||||
};
|
||||
in
|
||||
''
|
||||
if [ ! -e /etc/nixos/configuration.nix ]; then
|
||||
install -m 0644 -D ${config} /etc/nixos/configuration.nix
|
||||
fi
|
||||
'';
|
||||
|
||||
# Network
|
||||
networking = {
|
||||
dhcpcd.enable = false;
|
||||
useDHCP = false;
|
||||
useHostResolvConf = false;
|
||||
};
|
||||
|
||||
systemd.network = {
|
||||
enable = true;
|
||||
networks."50-enp5s0" = {
|
||||
matchConfig.Name = "enp5s0";
|
||||
networkConfig = {
|
||||
DHCP = "ipv4";
|
||||
IPv6AcceptRA = true;
|
||||
};
|
||||
linkConfig.RequiredForOnline = "routable";
|
||||
};
|
||||
};
|
||||
}
|
12
nixos/maintainers/scripts/incus/nix.tpl
Normal file
12
nixos/maintainers/scripts/incus/nix.tpl
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
# WARNING: THIS CONFIGURATION IS AUTOGENERATED AND WILL BE OVERWRITTEN AUTOMATICALLY
|
||||
|
||||
{
|
||||
networking.hostName = "{{ container.name }}";
|
||||
}
|
@ -272,7 +272,8 @@ in
|
||||
truncate --size 0 "$DEVICE"
|
||||
chattr +C "$DEVICE" 2>/dev/null || true
|
||||
|
||||
dd if=/dev/zero of="$DEVICE" bs=1M count=${toString sw.size}
|
||||
echo "Creating swap file using dd and mkswap."
|
||||
dd if=/dev/zero of="$DEVICE" bs=1M count=${toString sw.size} status=progress
|
||||
${lib.optionalString (!sw.randomEncryption.enable) "mkswap ${sw.realDevice}"}
|
||||
fi
|
||||
''}
|
||||
|
@ -572,11 +572,16 @@ in
|
||||
boot = {
|
||||
extraModulePackages = if cfg.open then [ nvidia_x11.open ] else [ nvidia_x11.bin ];
|
||||
# nvidia-uvm is required by CUDA applications.
|
||||
kernelModules = lib.optionals config.services.xserver.enable [
|
||||
"nvidia"
|
||||
"nvidia_modeset"
|
||||
"nvidia_drm"
|
||||
];
|
||||
kernelModules =
|
||||
lib.optionals config.services.xserver.enable [
|
||||
"nvidia"
|
||||
"nvidia_modeset"
|
||||
"nvidia_drm"
|
||||
]
|
||||
# With the open driver, nvidia-uvm does not automatically load as
|
||||
# a softdep of the nvidia module, so we explicitly load it for now.
|
||||
# See https://github.com/NixOS/nixpkgs/issues/334180
|
||||
++ lib.optionals (config.services.xserver.enable && cfg.open) [ "nvidia_uvm" ];
|
||||
|
||||
# If requested enable modesetting via kernel parameters.
|
||||
kernelParams =
|
||||
|
@ -674,6 +674,7 @@
|
||||
./services/mail/postfixadmin.nix
|
||||
./services/mail/postgrey.nix
|
||||
./services/mail/postsrsd.nix
|
||||
./services/mail/protonmail-bridge.nix
|
||||
./services/mail/public-inbox.nix
|
||||
./services/mail/roundcube.nix
|
||||
./services/mail/rspamd.nix
|
||||
@ -1484,6 +1485,7 @@
|
||||
./services/web-apps/trilium.nix
|
||||
./services/web-apps/tt-rss.nix
|
||||
./services/web-apps/vikunja.nix
|
||||
./services/web-apps/weblate.nix
|
||||
./services/web-apps/whitebophir.nix
|
||||
./services/web-apps/wiki-js.nix
|
||||
./services/web-apps/windmill.nix
|
||||
@ -1679,6 +1681,7 @@
|
||||
./virtualisation/ecs-agent.nix
|
||||
./virtualisation/hyperv-guest.nix
|
||||
./virtualisation/incus.nix
|
||||
./virtualisation/incus-agent.nix
|
||||
./virtualisation/kvmgt.nix
|
||||
./virtualisation/libvirtd.nix
|
||||
./virtualisation/lxc.nix
|
||||
|
@ -21,6 +21,7 @@ let
|
||||
manifestDir = "/var/lib/rancher/k3s/server/manifests";
|
||||
chartDir = "/var/lib/rancher/k3s/server/static/charts";
|
||||
imageDir = "/var/lib/rancher/k3s/agent/images";
|
||||
containerdConfigTemplateFile = "/var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl";
|
||||
|
||||
manifestModule =
|
||||
let
|
||||
@ -119,6 +120,11 @@ let
|
||||
${builtins.concatStringsSep "\n" (map linkManifestEntry enabledManifests)}
|
||||
${builtins.concatStringsSep "\n" (lib.mapAttrsToList linkChartEntry cfg.charts)}
|
||||
${builtins.concatStringsSep "\n" (map linkImageEntry cfg.images)}
|
||||
|
||||
${lib.optionalString (cfg.containerdConfigTemplate != null) ''
|
||||
mkdir -p $(dirname ${containerdConfigTemplateFile})
|
||||
${pkgs.coreutils-full}/bin/ln -sfn ${pkgs.writeText "config.toml.tmpl" cfg.containerdConfigTemplate} ${containerdConfigTemplateFile}
|
||||
''}
|
||||
'';
|
||||
in
|
||||
{
|
||||
@ -340,6 +346,26 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
containerdConfigTemplate = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = lib.literalExpression ''
|
||||
# Base K3s config
|
||||
{{ template "base" . }}
|
||||
|
||||
# Add a custom runtime
|
||||
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes."custom"]
|
||||
runtime_type = "io.containerd.runc.v2"
|
||||
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes."custom".options]
|
||||
BinaryName = "/path/to/custom-container-runtime"
|
||||
'';
|
||||
description = ''
|
||||
Config template for containerd, to be placed at
|
||||
`/var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl`.
|
||||
See the K3s docs on [configuring containerd](https://docs.k3s.io/advanced#configuring-containerd).
|
||||
'';
|
||||
};
|
||||
|
||||
images = mkOption {
|
||||
type = with types; listOf package;
|
||||
default = [ ];
|
||||
|
@ -1,4 +1,5 @@
|
||||
{
|
||||
deviceNameStrategy,
|
||||
glibc,
|
||||
jq,
|
||||
lib,
|
||||
@ -25,6 +26,7 @@ writeScriptBin "nvidia-cdi-generator"
|
||||
function cdiGenerate {
|
||||
${lib.getExe' nvidia-container-toolkit "nvidia-ctk"} cdi generate \
|
||||
--format json \
|
||||
--device-name-strategy ${deviceNameStrategy} \
|
||||
--ldconfig-path ${lib.getExe' glibc "ldconfig"} \
|
||||
--library-search-path ${lib.getLib nvidia-driver}/lib \
|
||||
--nvidia-ctk-path ${lib.getExe' nvidia-container-toolkit "nvidia-ctk"}
|
||||
|
@ -52,6 +52,17 @@
|
||||
'';
|
||||
};
|
||||
|
||||
device-name-strategy = lib.mkOption {
|
||||
default = "index";
|
||||
type = lib.types.enum [ "index" "uuid" "type-index" ];
|
||||
description = ''
|
||||
Specify the strategy for generating device names,
|
||||
passed to `nvidia-ctk cdi generate`. This will affect how
|
||||
you reference the device using `nvidia.com/gpu=` in
|
||||
the container runtime.
|
||||
'';
|
||||
};
|
||||
|
||||
mount-nvidia-docker-1-directories = lib.mkOption {
|
||||
default = true;
|
||||
type = lib.types.bool;
|
||||
@ -119,6 +130,7 @@
|
||||
script = pkgs.callPackage ./cdi-generate.nix {
|
||||
inherit (config.hardware.nvidia-container-toolkit) mounts;
|
||||
nvidia-driver = config.hardware.nvidia.package;
|
||||
deviceNameStrategy = config.hardware.nvidia-container-toolkit.device-name-strategy;
|
||||
};
|
||||
in
|
||||
lib.getExe script;
|
||||
|
60
nixos/modules/services/mail/protonmail-bridge.nix
Normal file
60
nixos/modules/services/mail/protonmail-bridge.nix
Normal file
@ -0,0 +1,60 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.services.protonmail-bridge;
|
||||
in
|
||||
{
|
||||
options.services.protonmail-bridge = {
|
||||
enable = lib.mkEnableOption "protonmail bridge";
|
||||
|
||||
package = lib.mkPackageOption pkgs "protonmail-bridge" { };
|
||||
|
||||
path = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.path;
|
||||
default = [ ];
|
||||
example = lib.literalExpression "with pkgs; [ pass gnome-keyring ]";
|
||||
description = "List of derivations to put in protonmail-bride's path.";
|
||||
};
|
||||
|
||||
logLevel = lib.mkOption {
|
||||
type = lib.types.nullOr (
|
||||
lib.types.enum [
|
||||
"panic"
|
||||
"fatal"
|
||||
"error"
|
||||
"warn"
|
||||
"info"
|
||||
"debug"
|
||||
]
|
||||
);
|
||||
default = null;
|
||||
description = "Log level of the Proton Mail Bridge service. If set to null then the service uses it's default log level.";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
systemd.user.services.protonmail-bridge = {
|
||||
description = "protonmail bridge";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
after = [ "graphical-session.target" ];
|
||||
|
||||
serviceConfig =
|
||||
let
|
||||
logLevel = lib.optionalString (cfg.logLevel != null) "--log-level ${cfg.logLevel}";
|
||||
in
|
||||
{
|
||||
ExecStart = "${lib.getExe cfg.package} --noninteractive ${logLevel}";
|
||||
Restart = "always";
|
||||
};
|
||||
|
||||
path = cfg.path;
|
||||
};
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
};
|
||||
meta.maintainers = with lib.maintainers; [ mzacho ];
|
||||
}
|
388
nixos/modules/services/web-apps/weblate.nix
Normal file
388
nixos/modules/services/web-apps/weblate.nix
Normal file
@ -0,0 +1,388 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.services.weblate;
|
||||
|
||||
dataDir = "/var/lib/weblate";
|
||||
settingsDir = "${dataDir}/settings";
|
||||
|
||||
finalPackage = cfg.package.overridePythonAttrs (old: {
|
||||
# We only support the PostgreSQL backend in this module
|
||||
dependencies = old.dependencies ++ cfg.package.optional-dependencies.postgres;
|
||||
# Use a settings module in dataDir, to avoid having to rebuild the package
|
||||
# when user changes settings.
|
||||
makeWrapperArgs = (old.makeWrapperArgs or [ ]) ++ [
|
||||
"--set PYTHONPATH \"${settingsDir}\""
|
||||
"--set DJANGO_SETTINGS_MODULE \"settings\""
|
||||
];
|
||||
});
|
||||
inherit (finalPackage) python;
|
||||
|
||||
pythonEnv = python.buildEnv.override {
|
||||
extraLibs = with python.pkgs; [
|
||||
(toPythonModule finalPackage)
|
||||
celery
|
||||
];
|
||||
};
|
||||
|
||||
# This extends and overrides the weblate/settings_example.py code found in upstream.
|
||||
weblateConfig =
|
||||
''
|
||||
# This was autogenerated by the NixOS module.
|
||||
|
||||
SITE_TITLE = "Weblate"
|
||||
SITE_DOMAIN = "${cfg.localDomain}"
|
||||
# TLS terminates at the reverse proxy, but this setting controls how links to weblate are generated.
|
||||
ENABLE_HTTPS = True
|
||||
SESSION_COOKIE_SECURE = ENABLE_HTTPS
|
||||
DATA_DIR = "${dataDir}"
|
||||
CACHE_DIR = f"{DATA_DIR}/cache"
|
||||
STATIC_ROOT = "${finalPackage.static}/static"
|
||||
MEDIA_ROOT = "/var/lib/weblate/media"
|
||||
COMPRESS_ROOT = "${finalPackage.static}/compressor-cache"
|
||||
DEBUG = False
|
||||
|
||||
DATABASES = {
|
||||
"default": {
|
||||
"ENGINE": "django.db.backends.postgresql",
|
||||
"HOST": "/run/postgresql",
|
||||
"NAME": "weblate",
|
||||
"USER": "weblate",
|
||||
}
|
||||
}
|
||||
|
||||
with open("${cfg.djangoSecretKeyFile}") as f:
|
||||
SECRET_KEY = f.read().rstrip("\n")
|
||||
|
||||
CACHES = {
|
||||
"default": {
|
||||
"BACKEND": "django_redis.cache.RedisCache",
|
||||
"LOCATION": "unix://${config.services.redis.servers.weblate.unixSocket}",
|
||||
"OPTIONS": {
|
||||
"CLIENT_CLASS": "django_redis.client.DefaultClient",
|
||||
"PASSWORD": None,
|
||||
"CONNECTION_POOL_KWARGS": {},
|
||||
},
|
||||
"KEY_PREFIX": "weblate",
|
||||
"TIMEOUT": 3600,
|
||||
},
|
||||
"avatar": {
|
||||
"BACKEND": "django.core.cache.backends.filebased.FileBasedCache",
|
||||
"LOCATION": "/var/lib/weblate/avatar-cache",
|
||||
"TIMEOUT": 86400,
|
||||
"OPTIONS": {"MAX_ENTRIES": 1000},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
CELERY_TASK_ALWAYS_EAGER = False
|
||||
CELERY_BROKER_URL = "redis+socket://${config.services.redis.servers.weblate.unixSocket}"
|
||||
CELERY_RESULT_BACKEND = CELERY_BROKER_URL
|
||||
|
||||
VCS_BACKENDS = ("weblate.vcs.git.GitRepository",)
|
||||
|
||||
''
|
||||
+ lib.optionalString cfg.smtp.enable ''
|
||||
ADMINS = (("Weblate Admin", "${cfg.smtp.user}"),)
|
||||
|
||||
EMAIL_HOST = "${cfg.smtp.host}"
|
||||
EMAIL_USE_TLS = True
|
||||
EMAIL_HOST_USER = "${cfg.smtp.user}"
|
||||
SERVER_EMAIL = "${cfg.smtp.user}"
|
||||
DEFAULT_FROM_EMAIL = "${cfg.smtp.user}"
|
||||
EMAIL_PORT = 587
|
||||
with open("${cfg.smtp.passwordFile}") as f:
|
||||
EMAIL_HOST_PASSWORD = f.read().rstrip("\n")
|
||||
|
||||
''
|
||||
+ cfg.extraConfig;
|
||||
settings_py =
|
||||
pkgs.runCommand "weblate_settings.py"
|
||||
{
|
||||
inherit weblateConfig;
|
||||
passAsFile = [ "weblateConfig" ];
|
||||
}
|
||||
''
|
||||
mkdir -p $out
|
||||
cat \
|
||||
${finalPackage}/${python.sitePackages}/weblate/settings_example.py \
|
||||
$weblateConfigPath \
|
||||
> $out/settings.py
|
||||
'';
|
||||
|
||||
environment = {
|
||||
PYTHONPATH = "${settingsDir}:${pythonEnv}/${python.sitePackages}/";
|
||||
DJANGO_SETTINGS_MODULE = "settings";
|
||||
# We run Weblate through gunicorn, so we can't utilise the env var set in the wrapper.
|
||||
inherit (finalPackage) GI_TYPELIB_PATH;
|
||||
};
|
||||
|
||||
weblatePath = with pkgs; [
|
||||
gitSVN
|
||||
|
||||
#optional
|
||||
git-review
|
||||
tesseract
|
||||
licensee
|
||||
mercurial
|
||||
];
|
||||
in
|
||||
{
|
||||
|
||||
options = {
|
||||
services.weblate = {
|
||||
enable = lib.mkEnableOption "Weblate service";
|
||||
|
||||
package = lib.mkPackageOption pkgs "weblate" { };
|
||||
|
||||
localDomain = lib.mkOption {
|
||||
description = "The domain name serving your Weblate instance.";
|
||||
example = "weblate.example.org";
|
||||
type = lib.types.str;
|
||||
};
|
||||
|
||||
djangoSecretKeyFile = lib.mkOption {
|
||||
description = ''
|
||||
Location of the Django secret key.
|
||||
|
||||
This should be a path pointing to a file with secure permissions (not /nix/store).
|
||||
|
||||
Can be generated with `weblate-generate-secret-key` which is available as the `weblate` user.
|
||||
'';
|
||||
type = lib.types.path;
|
||||
};
|
||||
|
||||
extraConfig = lib.mkOption {
|
||||
type = lib.types.lines;
|
||||
default = "";
|
||||
description = ''
|
||||
Text to append to `settings.py` Weblate configuration file.
|
||||
'';
|
||||
};
|
||||
|
||||
smtp = {
|
||||
enable = lib.mkEnableOption "Weblate SMTP support";
|
||||
user = lib.mkOption {
|
||||
description = "SMTP login name.";
|
||||
example = "weblate@example.org";
|
||||
type = lib.types.str;
|
||||
};
|
||||
|
||||
host = lib.mkOption {
|
||||
description = "SMTP host used when sending emails to users.";
|
||||
type = lib.types.str;
|
||||
example = "127.0.0.1";
|
||||
};
|
||||
|
||||
passwordFile = lib.mkOption {
|
||||
description = ''
|
||||
Location of a file containing the SMTP password.
|
||||
|
||||
This should be a path pointing to a file with secure permissions (not /nix/store).
|
||||
'';
|
||||
type = lib.types.path;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
systemd.tmpfiles.rules = [ "L+ ${settingsDir} - - - - ${settings_py}" ];
|
||||
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
virtualHosts."${cfg.localDomain}" = {
|
||||
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
|
||||
locations = {
|
||||
"= /favicon.ico".alias = "${finalPackage}/${python.sitePackages}/weblate/static/favicon.ico";
|
||||
"/static/".alias = "${finalPackage.static}/static/";
|
||||
"/static/CACHE/".alias = "${finalPackage.static}/compressor-cache/CACHE/";
|
||||
"/media/".alias = "/var/lib/weblate/media/";
|
||||
"/".proxyPass = "http://unix:///run/weblate.socket";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.weblate-postgresql-setup = {
|
||||
description = "Weblate PostgreSQL setup";
|
||||
after = [ "postgresql.service" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
User = "postgres";
|
||||
Group = "postgres";
|
||||
ExecStart = ''
|
||||
${config.services.postgresql.package}/bin/psql weblate -c "CREATE EXTENSION IF NOT EXISTS pg_trgm"
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.weblate-migrate = {
|
||||
description = "Weblate migration";
|
||||
after = [ "weblate-postgresql-setup.service" ];
|
||||
requires = [ "weblate-postgresql-setup.service" ];
|
||||
# We want this to be active on boot, not just on socket activation
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
inherit environment;
|
||||
path = weblatePath;
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
StateDirectory = "weblate";
|
||||
User = "weblate";
|
||||
Group = "weblate";
|
||||
ExecStart = "${finalPackage}/bin/weblate migrate --noinput";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.weblate-celery = {
|
||||
description = "Weblate Celery";
|
||||
after = [
|
||||
"network.target"
|
||||
"redis.service"
|
||||
"postgresql.service"
|
||||
];
|
||||
# We want this to be active on boot, not just on socket activation
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment = environment // {
|
||||
CELERY_WORKER_RUNNING = "1";
|
||||
};
|
||||
path = weblatePath;
|
||||
# Recommendations from:
|
||||
# https://github.com/WeblateOrg/weblate/blob/main/weblate/examples/celery-weblate.service
|
||||
serviceConfig =
|
||||
let
|
||||
# We have to push %n through systemd's replacement, therefore %%n.
|
||||
pidFile = "/run/celery/weblate-%%n.pid";
|
||||
nodes = "celery notify memory backup translate";
|
||||
cmd = verb: ''
|
||||
${pythonEnv}/bin/celery multi ${verb} \
|
||||
${nodes} \
|
||||
-A "weblate.utils" \
|
||||
--pidfile=${pidFile} \
|
||||
--logfile=/var/log/celery/weblate-%%n%%I.log \
|
||||
--loglevel=DEBUG \
|
||||
--beat:celery \
|
||||
--queues:celery=celery \
|
||||
--prefetch-multiplier:celery=4 \
|
||||
--queues:notify=notify \
|
||||
--prefetch-multiplier:notify=10 \
|
||||
--queues:memory=memory \
|
||||
--prefetch-multiplier:memory=10 \
|
||||
--queues:translate=translate \
|
||||
--prefetch-multiplier:translate=4 \
|
||||
--concurrency:backup=1 \
|
||||
--queues:backup=backup \
|
||||
--prefetch-multiplier:backup=2
|
||||
'';
|
||||
in
|
||||
{
|
||||
Type = "forking";
|
||||
User = "weblate";
|
||||
Group = "weblate";
|
||||
WorkingDirectory = "${finalPackage}/${python.sitePackages}/weblate/";
|
||||
RuntimeDirectory = "celery";
|
||||
RuntimeDirectoryPreserve = "restart";
|
||||
LogsDirectory = "celery";
|
||||
ExecStart = cmd "start";
|
||||
ExecReload = cmd "restart";
|
||||
ExecStop = ''
|
||||
${pythonEnv}/bin/celery multi stopwait \
|
||||
${nodes} \
|
||||
--pidfile=${pidFile}
|
||||
'';
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.weblate = {
|
||||
description = "Weblate Gunicorn app";
|
||||
after = [
|
||||
"network.target"
|
||||
"weblate-migrate.service"
|
||||
"weblate-celery.service"
|
||||
];
|
||||
requires = [
|
||||
"weblate-migrate.service"
|
||||
"weblate-celery.service"
|
||||
"weblate.socket"
|
||||
];
|
||||
inherit environment;
|
||||
path = weblatePath;
|
||||
serviceConfig = {
|
||||
Type = "notify";
|
||||
NotifyAccess = "all";
|
||||
ExecStart =
|
||||
let
|
||||
gunicorn = python.pkgs.gunicorn.overridePythonAttrs (old: {
|
||||
# Allows Gunicorn to set a meaningful process name
|
||||
dependencies = (old.dependencies or [ ]) ++ old.optional-dependencies.setproctitle;
|
||||
});
|
||||
in
|
||||
''
|
||||
${gunicorn}/bin/gunicorn \
|
||||
--name=weblate \
|
||||
--bind='unix:///run/weblate.socket' \
|
||||
weblate.wsgi
|
||||
'';
|
||||
ExecReload = "kill -s HUP $MAINPID";
|
||||
KillMode = "mixed";
|
||||
PrivateTmp = true;
|
||||
WorkingDirectory = dataDir;
|
||||
StateDirectory = "weblate";
|
||||
RuntimeDirectory = "weblate";
|
||||
User = "weblate";
|
||||
Group = "weblate";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.sockets.weblate = {
|
||||
before = [ "nginx.service" ];
|
||||
wantedBy = [ "sockets.target" ];
|
||||
socketConfig = {
|
||||
ListenStream = "/run/weblate.socket";
|
||||
SocketUser = "weblate";
|
||||
SocketGroup = "weblate";
|
||||
SocketMode = "770";
|
||||
};
|
||||
};
|
||||
|
||||
services.redis.servers.weblate = {
|
||||
enable = true;
|
||||
user = "weblate";
|
||||
unixSocket = "/run/redis-weblate/redis.sock";
|
||||
unixSocketPerm = 770;
|
||||
};
|
||||
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
ensureUsers = [
|
||||
{
|
||||
name = "weblate";
|
||||
ensureDBOwnership = true;
|
||||
}
|
||||
];
|
||||
ensureDatabases = [ "weblate" ];
|
||||
};
|
||||
|
||||
users.users.weblate = {
|
||||
isSystemUser = true;
|
||||
group = "weblate";
|
||||
packages = [ finalPackage ] ++ weblatePath;
|
||||
};
|
||||
|
||||
users.groups.weblate.members = [ config.services.nginx.user ];
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ erictapen ];
|
||||
|
||||
}
|
41
nixos/modules/virtualisation/incus-agent.nix
Normal file
41
nixos/modules/virtualisation/incus-agent.nix
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.virtualisation.incus.agent;
|
||||
in
|
||||
{
|
||||
meta = {
|
||||
maintainers = lib.teams.lxc.members;
|
||||
};
|
||||
|
||||
options = {
|
||||
virtualisation.incus.agent.enable = lib.mkEnableOption "Incus agent";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.udev.packages = [ config.virtualisation.incus.package.agent_loader ];
|
||||
systemd.packages = [ config.virtualisation.incus.package.agent_loader ];
|
||||
|
||||
systemd.services.incus-agent = {
|
||||
enable = true;
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
path = [
|
||||
pkgs.kmod
|
||||
pkgs.util-linux
|
||||
|
||||
# allow `incus exec` to find system binaries
|
||||
"/run/current-system/sw"
|
||||
];
|
||||
|
||||
# avoid killing nixos-rebuild switch when executed through incus exec
|
||||
restartIfChanged = false;
|
||||
stopIfChanged = false;
|
||||
};
|
||||
};
|
||||
}
|
61
nixos/modules/virtualisation/incus-virtual-machine.nix
Normal file
61
nixos/modules/virtualisation/incus-virtual-machine.nix
Normal file
@ -0,0 +1,61 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
serialDevice = if pkgs.stdenv.hostPlatform.isx86 then "ttyS0" else "ttyAMA0";
|
||||
in
|
||||
{
|
||||
meta = {
|
||||
maintainers = lib.teams.lxc.members;
|
||||
};
|
||||
|
||||
imports = [
|
||||
./lxc-instance-common.nix
|
||||
|
||||
../profiles/qemu-guest.nix
|
||||
];
|
||||
|
||||
config = {
|
||||
system.build.qemuImage = import ../../lib/make-disk-image.nix {
|
||||
inherit pkgs lib config;
|
||||
|
||||
partitionTableType = "efi";
|
||||
format = "qcow2-compressed";
|
||||
copyChannel = true;
|
||||
};
|
||||
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-label/nixos";
|
||||
autoResize = true;
|
||||
fsType = "ext4";
|
||||
};
|
||||
"/boot" = {
|
||||
device = "/dev/disk/by-label/ESP";
|
||||
fsType = "vfat";
|
||||
};
|
||||
};
|
||||
|
||||
boot.growPartition = true;
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
|
||||
# image building needs to know what device to install bootloader on
|
||||
boot.loader.grub.device = "/dev/vda";
|
||||
|
||||
boot.kernelParams = [
|
||||
"console=tty1"
|
||||
"console=${serialDevice}"
|
||||
];
|
||||
|
||||
# CPU hotplug
|
||||
services.udev.extraRules = ''
|
||||
SUBSYSTEM=="cpu", CONST{arch}=="x86-64", TEST=="online", ATTR{online}=="0", ATTR{online}="1"
|
||||
'';
|
||||
|
||||
virtualisation.incus.agent.enable = lib.mkDefault true;
|
||||
};
|
||||
}
|
@ -74,7 +74,7 @@
|
||||
];
|
||||
};
|
||||
|
||||
system.build.installBootLoader = pkgs.writeScript "install-lxd-sbin-init.sh" ''
|
||||
system.build.installBootLoader = pkgs.writeScript "install-lxc-sbin-init.sh" ''
|
||||
#!${pkgs.runtimeShell}
|
||||
${pkgs.coreutils}/bin/ln -fs "$1/${initScript}" /sbin/init
|
||||
'';
|
||||
|
@ -46,6 +46,10 @@ let
|
||||
else { files = []; properties = {}; };
|
||||
|
||||
in {
|
||||
meta = {
|
||||
maintainers = lib.teams.lxc.members;
|
||||
};
|
||||
|
||||
options = {
|
||||
virtualisation.lxc = {
|
||||
templates = lib.mkOption {
|
||||
|
@ -1,6 +1,10 @@
|
||||
{lib, ...}:
|
||||
|
||||
{
|
||||
meta = {
|
||||
maintainers = lib.teams.lxc.members;
|
||||
};
|
||||
|
||||
imports = [
|
||||
./lxc-image-metadata.nix
|
||||
|
||||
|
@ -45,10 +45,6 @@ let
|
||||
chown -R root:root "$PREFIX"
|
||||
'';
|
||||
in {
|
||||
meta = {
|
||||
maintainers = lib.teams.lxc.members;
|
||||
};
|
||||
|
||||
options = {
|
||||
virtualisation.lxd.agent.enable = lib.mkEnableOption "LXD agent";
|
||||
};
|
||||
|
@ -6,10 +6,6 @@ let
|
||||
then "ttyS0"
|
||||
else "ttyAMA0"; # aarch64
|
||||
in {
|
||||
meta = {
|
||||
maintainers = lib.teams.lxc.members;
|
||||
};
|
||||
|
||||
imports = [
|
||||
./lxc-instance-common.nix
|
||||
|
||||
|
@ -6,10 +6,6 @@ let
|
||||
cfg = config.virtualisation.lxd;
|
||||
preseedFormat = pkgs.formats.yaml {};
|
||||
in {
|
||||
meta = {
|
||||
maintainers = lib.teams.lxc.members;
|
||||
};
|
||||
|
||||
imports = [
|
||||
(lib.mkRemovedOptionModule [ "virtualisation" "lxd" "zfsPackage" ] "Override zfs in an overlay instead to override it globally")
|
||||
];
|
||||
|
@ -119,7 +119,7 @@ let
|
||||
For more details and a full list of logging drivers, refer to respective backends documentation.
|
||||
|
||||
For Docker:
|
||||
[Docker engine documentation](https://docs.docker.com/engine/reference/run/#logging-drivers---log-driver)
|
||||
[Docker engine documentation](https://docs.docker.com/engine/logging/configure/)
|
||||
|
||||
For Podman:
|
||||
Refer to the docker-run(1) man page.
|
||||
@ -154,7 +154,7 @@ let
|
||||
Example: `127.0.0.1:1234:1234`
|
||||
|
||||
Refer to the
|
||||
[Docker engine documentation](https://docs.docker.com/engine/reference/run/#expose-incoming-ports) for full details.
|
||||
[Docker engine documentation](https://docs.docker.com/engine/network/#published-ports) for full details.
|
||||
'';
|
||||
example = literalExpression ''
|
||||
[
|
||||
@ -184,7 +184,7 @@ let
|
||||
would be difficult with an attribute set. There are
|
||||
also a variety of mount options available as a third
|
||||
field; please refer to the
|
||||
[docker engine documentation](https://docs.docker.com/engine/reference/run/#volume-shared-filesystems) for details.
|
||||
[docker engine documentation](https://docs.docker.com/engine/storage/volumes/) for details.
|
||||
'';
|
||||
example = literalExpression ''
|
||||
[
|
||||
|
@ -318,6 +318,101 @@ in rec {
|
||||
|
||||
);
|
||||
|
||||
# An image that can be imported into incus and used for container creation
|
||||
incusContainerImage =
|
||||
forMatchingSystems
|
||||
[
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
]
|
||||
(
|
||||
system:
|
||||
with import ./.. { inherit system; };
|
||||
|
||||
hydraJob (
|
||||
(import lib/eval-config.nix {
|
||||
inherit system;
|
||||
modules = [
|
||||
configuration
|
||||
versionModule
|
||||
./maintainers/scripts/incus/incus-container-image.nix
|
||||
];
|
||||
}).config.system.build.squashfs
|
||||
)
|
||||
);
|
||||
|
||||
# Metadata for the incus image
|
||||
incusContainerMeta =
|
||||
forMatchingSystems
|
||||
[
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
]
|
||||
(
|
||||
system:
|
||||
|
||||
with import ./.. { inherit system; };
|
||||
|
||||
hydraJob (
|
||||
(import lib/eval-config.nix {
|
||||
inherit system;
|
||||
modules = [
|
||||
configuration
|
||||
versionModule
|
||||
./maintainers/scripts/incus/incus-container-image.nix
|
||||
];
|
||||
}).config.system.build.metadata
|
||||
)
|
||||
);
|
||||
|
||||
# An image that can be imported into incus and used for container creation
|
||||
incusVirtualMachineImage =
|
||||
forMatchingSystems
|
||||
[
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
]
|
||||
(
|
||||
system:
|
||||
|
||||
with import ./.. { inherit system; };
|
||||
|
||||
hydraJob (
|
||||
(import lib/eval-config.nix {
|
||||
inherit system;
|
||||
modules = [
|
||||
configuration
|
||||
versionModule
|
||||
./maintainers/scripts/incus/incus-virtual-machine-image.nix
|
||||
];
|
||||
}).config.system.build.qemuImage
|
||||
)
|
||||
);
|
||||
|
||||
# Metadata for the incus image
|
||||
incusVirtualMachineImageMeta =
|
||||
forMatchingSystems
|
||||
[
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
]
|
||||
(
|
||||
system:
|
||||
|
||||
with import ./.. { inherit system; };
|
||||
|
||||
hydraJob (
|
||||
(import lib/eval-config.nix {
|
||||
inherit system;
|
||||
modules = [
|
||||
configuration
|
||||
versionModule
|
||||
./maintainers/scripts/incus/incus-virtual-machine-image.nix
|
||||
];
|
||||
}).config.system.build.metadata
|
||||
)
|
||||
);
|
||||
|
||||
# An image that can be imported into lxd and used for container creation
|
||||
lxdContainerImage = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
|
||||
|
||||
|
@ -1073,6 +1073,7 @@ in {
|
||||
wastebin = handleTest ./wastebin.nix {};
|
||||
watchdogd = handleTest ./watchdogd.nix {};
|
||||
webhook = runTest ./webhook.nix;
|
||||
weblate = handleTest ./web-apps/weblate.nix {};
|
||||
wiki-js = handleTest ./wiki-js.nix {};
|
||||
wine = handleTest ./wine.nix {};
|
||||
wireguard = handleTest ./wireguard {};
|
||||
|
@ -11,8 +11,8 @@ let
|
||||
extra;
|
||||
};
|
||||
|
||||
container-image-metadata = releases.lxdContainerMeta.${pkgs.stdenv.hostPlatform.system};
|
||||
container-image-rootfs = releases.lxdContainerImage.${pkgs.stdenv.hostPlatform.system};
|
||||
container-image-metadata = releases.incusContainerMeta.${pkgs.stdenv.hostPlatform.system};
|
||||
container-image-rootfs = releases.incusContainerImage.${pkgs.stdenv.hostPlatform.system};
|
||||
in
|
||||
{
|
||||
inherit name;
|
||||
@ -61,7 +61,7 @@ in
|
||||
machine.succeed("incus admin init --minimal")
|
||||
|
||||
with subtest("Container image can be imported"):
|
||||
machine.succeed("incus image import ${container-image-metadata}/*/*.tar.xz ${container-image-rootfs}/*/*.tar.xz --alias nixos")
|
||||
machine.succeed("incus image import ${container-image-metadata}/*/*.tar.xz ${container-image-rootfs} --alias nixos")
|
||||
|
||||
with subtest("Container can be launched and managed"):
|
||||
machine.succeed("incus launch nixos container")
|
||||
|
@ -16,8 +16,8 @@ import ../make-test-python.nix (
|
||||
};
|
||||
};
|
||||
|
||||
container-image-metadata = releases.lxdContainerMeta.${pkgs.stdenv.hostPlatform.system};
|
||||
container-image-rootfs = releases.lxdContainerImage.${pkgs.stdenv.hostPlatform.system};
|
||||
container-image-metadata = releases.incusContainerMeta.${pkgs.stdenv.hostPlatform.system};
|
||||
container-image-rootfs = releases.incusContainerImage.${pkgs.stdenv.hostPlatform.system};
|
||||
in
|
||||
{
|
||||
name = "incusd-options";
|
||||
@ -87,7 +87,7 @@ import ../make-test-python.nix (
|
||||
machine.wait_for_unit("incus-preseed.service")
|
||||
|
||||
with subtest("Container image can be imported"):
|
||||
machine.succeed("incus image import ${container-image-metadata}/*/*.tar.xz ${container-image-rootfs}/*/*.tar.xz --alias nixos")
|
||||
machine.succeed("incus image import ${container-image-metadata}/*/*.tar.xz ${container-image-rootfs} --alias nixos")
|
||||
|
||||
with subtest("Container can be launched and managed"):
|
||||
machine.succeed("incus launch nixos container")
|
||||
|
@ -11,8 +11,8 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
vm-image-metadata = releases.lxdVirtualMachineImageMeta.${pkgs.stdenv.hostPlatform.system};
|
||||
vm-image-disk = releases.lxdVirtualMachineImage.${pkgs.stdenv.hostPlatform.system};
|
||||
vm-image-metadata = releases.incusVirtualMachineImageMeta.${pkgs.stdenv.hostPlatform.system};
|
||||
vm-image-disk = releases.incusVirtualMachineImage.${pkgs.stdenv.hostPlatform.system};
|
||||
|
||||
instance-name = "instance1";
|
||||
in
|
||||
@ -64,10 +64,10 @@ in
|
||||
with machine.nested("Waiting for instance to start and be usable"):
|
||||
retry(instance_is_up)
|
||||
|
||||
with subtest("lxd-agent is started"):
|
||||
machine.succeed("incus exec ${instance-name} systemctl is-active lxd-agent")
|
||||
with subtest("incus-agent is started"):
|
||||
machine.succeed("incus exec ${instance-name} systemctl is-active incus-agent")
|
||||
|
||||
with subtest("lxd-agent has a valid path"):
|
||||
with subtest("incus-agent has a valid path"):
|
||||
machine.succeed("incus exec ${instance-name} -- bash -c 'true'")
|
||||
|
||||
with subtest("guest supports cpu hotplug"):
|
||||
|
52
nixos/tests/k3s/containerd-config.nix
Normal file
52
nixos/tests/k3s/containerd-config.nix
Normal file
@ -0,0 +1,52 @@
|
||||
# A test that containerdConfigTemplate settings get written to containerd/config.toml
|
||||
import ../make-test-python.nix (
|
||||
{ lib, k3s, ... }:
|
||||
let
|
||||
nodeName = "test";
|
||||
in
|
||||
{
|
||||
name = "${k3s.name}-containerd-config";
|
||||
nodes.machine =
|
||||
{ ... }:
|
||||
{
|
||||
# k3s uses enough resources the default vm fails.
|
||||
virtualisation.memorySize = 1536;
|
||||
virtualisation.diskSize = 4096;
|
||||
|
||||
services.k3s = {
|
||||
enable = true;
|
||||
package = k3s;
|
||||
# Slightly reduce resource usage
|
||||
extraFlags = [
|
||||
"--disable coredns"
|
||||
"--disable local-storage"
|
||||
"--disable metrics-server"
|
||||
"--disable servicelb"
|
||||
"--disable traefik"
|
||||
"--node-name ${nodeName}"
|
||||
];
|
||||
containerdConfigTemplate = ''
|
||||
# Base K3s config
|
||||
{{ template "base" . }}
|
||||
|
||||
# MAGIC COMMENT
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
machine.wait_for_unit("k3s")
|
||||
# wait until the node is ready
|
||||
machine.wait_until_succeeds(r"""kubectl wait --for='jsonpath={.status.conditions[?(@.type=="Ready")].status}=True' nodes/${nodeName}""")
|
||||
# test whether the config template file contains the magic comment
|
||||
out=machine.succeed("cat /var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl")
|
||||
assert "MAGIC COMMENT" in out, "the containerd config template does not contain the magic comment"
|
||||
# test whether the config file contains the magic comment
|
||||
out=machine.succeed("cat /var/lib/rancher/k3s/agent/etc/containerd/config.toml")
|
||||
assert "MAGIC COMMENT" in out, "the containerd config does not contain the magic comment"
|
||||
'';
|
||||
|
||||
meta.maintainers = lib.teams.k3s.members;
|
||||
}
|
||||
)
|
@ -11,6 +11,9 @@ in
|
||||
_: k3s: import ./airgap-images.nix { inherit system pkgs k3s; }
|
||||
) allK3s;
|
||||
auto-deploy = lib.mapAttrs (_: k3s: import ./auto-deploy.nix { inherit system pkgs k3s; }) allK3s;
|
||||
containerd-config = lib.mapAttrs (
|
||||
_: k3s: import ./containerd-config.nix { inherit system pkgs k3s; }
|
||||
) allK3s;
|
||||
etcd = lib.mapAttrs (
|
||||
_: k3s:
|
||||
import ./etcd.nix {
|
||||
|
@ -18,10 +18,6 @@ let
|
||||
in {
|
||||
name = "lxd-container";
|
||||
|
||||
meta = {
|
||||
maintainers = lib.teams.lxc.members;
|
||||
};
|
||||
|
||||
nodes.machine = { lib, ... }: {
|
||||
virtualisation = {
|
||||
diskSize = 6144;
|
||||
|
@ -8,10 +8,6 @@
|
||||
import ../make-test-python.nix ({ pkgs, lib, ...} : {
|
||||
name = "lxd-nftables";
|
||||
|
||||
meta = {
|
||||
maintainers = lib.teams.lxc.members;
|
||||
};
|
||||
|
||||
nodes.machine = { lib, ... }: {
|
||||
virtualisation = {
|
||||
lxd.enable = true;
|
||||
|
@ -3,10 +3,6 @@ import ../make-test-python.nix ({ pkgs, lib, ... } :
|
||||
{
|
||||
name = "lxd-preseed";
|
||||
|
||||
meta = {
|
||||
maintainers = lib.teams.lxc.members;
|
||||
};
|
||||
|
||||
nodes.machine = { lib, ... }: {
|
||||
virtualisation = {
|
||||
diskSize = 4096;
|
||||
|
@ -1,10 +1,6 @@
|
||||
import ../make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
import ../make-test-python.nix ({ pkgs, ... }: {
|
||||
name = "lxd-ui";
|
||||
|
||||
meta = {
|
||||
maintainers = lib.teams.lxc.members;
|
||||
};
|
||||
|
||||
nodes.machine = { lib, ... }: {
|
||||
virtualisation = {
|
||||
lxd.enable = true;
|
||||
|
@ -18,10 +18,6 @@ let
|
||||
in {
|
||||
name = "lxd-virtual-machine";
|
||||
|
||||
meta = {
|
||||
maintainers = lib.teams.lxc.members;
|
||||
};
|
||||
|
||||
nodes.machine = {lib, ...}: {
|
||||
virtualisation = {
|
||||
diskSize = 4096;
|
||||
|
104
nixos/tests/web-apps/weblate.nix
Normal file
104
nixos/tests/web-apps/weblate.nix
Normal file
@ -0,0 +1,104 @@
|
||||
import ../make-test-python.nix (
|
||||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
certs = import ../common/acme/server/snakeoil-certs.nix;
|
||||
|
||||
serverDomain = certs.domain;
|
||||
|
||||
admin = {
|
||||
username = "admin";
|
||||
password = "snakeoilpass";
|
||||
};
|
||||
# An API token that we manually insert into the db as a valid one.
|
||||
apiToken = "OVJh65sXaAfQMZ4NTcIGbFZIyBZbEZqWTi7azdDf";
|
||||
in
|
||||
{
|
||||
name = "weblate";
|
||||
meta.maintainers = with pkgs.lib.maintainers; [ erictapen ];
|
||||
|
||||
nodes.server =
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
virtualisation.memorySize = 2048;
|
||||
|
||||
services.weblate = {
|
||||
enable = true;
|
||||
localDomain = "${serverDomain}";
|
||||
djangoSecretKeyFile = pkgs.writeText "weblate-django-secret" "thisissnakeoilsecretwithmorethan50characterscorrecthorsebatterystaple";
|
||||
extraConfig = ''
|
||||
# Weblate tries to fetch Avatars from the network
|
||||
ENABLE_AVATARS = False
|
||||
'';
|
||||
};
|
||||
|
||||
services.nginx.virtualHosts."${serverDomain}" = {
|
||||
enableACME = lib.mkForce false;
|
||||
sslCertificate = certs."${serverDomain}".cert;
|
||||
sslCertificateKey = certs."${serverDomain}".key;
|
||||
};
|
||||
|
||||
security.pki.certificateFiles = [ certs.ca.cert ];
|
||||
|
||||
networking.hosts."::1" = [ "${serverDomain}" ];
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
80
|
||||
443
|
||||
];
|
||||
|
||||
users.users.weblate.shell = pkgs.bashInteractive;
|
||||
};
|
||||
|
||||
nodes.client =
|
||||
{ pkgs, nodes, ... }:
|
||||
{
|
||||
environment.systemPackages = [ pkgs.wlc ];
|
||||
|
||||
environment.etc."xdg/weblate".text = ''
|
||||
[weblate]
|
||||
url = https://${serverDomain}/api/
|
||||
key = ${apiToken}
|
||||
'';
|
||||
|
||||
networking.hosts."${nodes.server.networking.primaryIPAddress}" = [ "${serverDomain}" ];
|
||||
|
||||
security.pki.certificateFiles = [ certs.ca.cert ];
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
import json
|
||||
|
||||
start_all()
|
||||
server.wait_for_unit("weblate.socket")
|
||||
server.wait_until_succeeds("curl -f https://${serverDomain}/")
|
||||
server.succeed("sudo -iu weblate -- weblate createadmin --username ${admin.username} --password ${admin.password} --email weblate@example.org")
|
||||
|
||||
# It's easier to replace the generated API token with a predefined one than
|
||||
# to extract it at runtime.
|
||||
server.succeed("sudo -iu weblate -- psql -d weblate -c \"UPDATE authtoken_token SET key = '${apiToken}' WHERE user_id = (SELECT id FROM weblate_auth_user WHERE username = 'admin');\"")
|
||||
|
||||
client.wait_for_unit("multi-user.target")
|
||||
|
||||
# Test the official Weblate client wlc.
|
||||
client.wait_until_succeeds("REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt wlc --debug list-projects")
|
||||
|
||||
def call_wl_api(arg):
|
||||
(rv, result) = client.execute("curl -H \"Content-Type: application/json\" -H \"Authorization: Token ${apiToken}\" https://${serverDomain}/api/{}".format(arg))
|
||||
assert rv == 0
|
||||
print(result)
|
||||
|
||||
call_wl_api("users/ --data '{}'".format(
|
||||
json.dumps(
|
||||
{"username": "test1",
|
||||
"full_name": "test1",
|
||||
"email": "test1@example.org"
|
||||
})))
|
||||
|
||||
# TODO: Check sending and receiving email.
|
||||
# server.wait_for_unit("postfix.service")
|
||||
|
||||
# TODO: The goal is for this to succeed, but there are still some checks failing.
|
||||
# server.succeed("sudo -iu weblate -- weblate check --deploy")
|
||||
'';
|
||||
}
|
||||
)
|
@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "mympd";
|
||||
version = "17.0.0";
|
||||
version = "17.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jcorporation";
|
||||
repo = "myMPD";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-/8IDwzgZzf63MvXTBP2CoC5IHi7Umr3exU1/oDdadgk=";
|
||||
sha256 = "sha256-NkOTCvpU6MxGOvQwiTLMJ444HgNK5tpt3hUs2epFyLE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "sidplayfp";
|
||||
version = "2.8.0";
|
||||
version = "2.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libsidplayfp";
|
||||
repo = "sidplayfp";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-2OgU2J/tot5HK4FV1pvZzI9u/e8p65Ymnqj7IdCcfIs=";
|
||||
hash = "sha256-07Pwh7qbw6Emr5+F89v9i2ARdSosukjjuarJ+uZR7xY=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
@ -136,8 +136,8 @@ let
|
||||
libGccJitLibraryPaths = [
|
||||
"${lib.getLib libgccjit}/lib/gcc"
|
||||
"${lib.getLib stdenv.cc.libc}/lib"
|
||||
] ++ lib.optionals (stdenv.cc?cc.libgcc) [
|
||||
"${lib.getLib stdenv.cc.cc.libgcc}/lib"
|
||||
] ++ lib.optionals (stdenv.cc?cc.lib.libgcc) [
|
||||
"${lib.getLib stdenv.cc.cc.lib.libgcc}/lib"
|
||||
];
|
||||
|
||||
inherit (if variant == "macport"
|
||||
|
@ -406,8 +406,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "vscode-neovim";
|
||||
publisher = "asvetliakov";
|
||||
version = "1.18.4";
|
||||
hash = "sha256-mTmfIEXObDWi82z+59JaCjUDqFd9nOO/6QDtlHGuVvk=";
|
||||
version = "1.18.7";
|
||||
hash = "sha256-ltgygZBWLG79FNxKqloOm8NNSDBbXU2bNkmd+9ksuOg=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/asvetliakov.vscode-neovim/changelog";
|
||||
@ -1799,8 +1799,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "dependi";
|
||||
publisher = "fill-labs";
|
||||
version = "0.7.5";
|
||||
hash = "sha256-troydfNj88c8A24ZtaCToE231VWzcCiQVLTSdVPM/XE=";
|
||||
version = "0.7.7";
|
||||
hash = "sha256-tskNhHWjfItmUAKPYvqB1knUcqoEmTzYasJSzw5KwTI=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/fill-labs.dependi/changelog";
|
||||
@ -4439,8 +4439,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "code-spell-checker";
|
||||
publisher = "streetsidesoftware";
|
||||
version = "4.0.5";
|
||||
hash = "sha256-vrM3a13S1LKQq2Bl/DN/vasVMyClBdYBOt8DiUbh61I=";
|
||||
version = "4.0.7";
|
||||
hash = "sha256-y+xD8rOa/ljavAF7tdEpaOKEd4gUzfH15WBwMHyW7z4=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog";
|
||||
|
@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "vscode-pylance";
|
||||
publisher = "MS-python";
|
||||
version = "2024.7.1";
|
||||
hash = "sha256-hheuv4S399Kn/HNvaFZ8ynbR90eR4Z+NxNef0T9rGq0=";
|
||||
version = "2024.8.1";
|
||||
hash = "sha256-UfbhvEWZVAQ/3xg57JpNqURTx/+g6zsWZ0WOzRHtrOU=";
|
||||
};
|
||||
|
||||
buildInputs = [ pyright ];
|
||||
|
@ -11,7 +11,7 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
name = "tinymist";
|
||||
publisher = "myriad-dreamin";
|
||||
inherit (tinymist) version;
|
||||
hash = "sha256-eM9FVeMPpNtd3ytTzrB8aVF+h25pUI+F5rXhv+vQmg0=";
|
||||
hash = "sha256-8+CPlLJnMwlemMH36xOjGvL/NapPSpyFerpxER07hOU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -10,8 +10,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "sourcery";
|
||||
publisher = "sourcery";
|
||||
version = "1.21.0";
|
||||
hash = "sha256-CnQiViKPmhnPFrhYC2sJV4Y0v4UyOD5kB0PXK7USfSY=";
|
||||
version = "1.22.0";
|
||||
hash = "sha256-G2sBH7qfMcoPoR7uz3D0xhfIsmvHkJgNRjcy58y7QeI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -2,6 +2,7 @@
|
||||
, lib
|
||||
, binutils
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, cmake
|
||||
, pkg-config
|
||||
, wrapGAppsHook3
|
||||
@ -15,6 +16,7 @@
|
||||
, expat
|
||||
, glew
|
||||
, glib
|
||||
, glib-networking
|
||||
, gmp
|
||||
, gtk3
|
||||
, hicolor-icon-theme
|
||||
@ -64,15 +66,27 @@ let
|
||||
});
|
||||
openvdb_tbb_2021_8 = openvdb.override { tbb = tbb_2021_11; };
|
||||
wxGTK-override' = if wxGTK-override == null then wxGTK-prusa else wxGTK-override;
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/gentoo/gentoo/master/media-gfx/prusaslicer/files/prusaslicer-2.8.0-missing-includes.patch";
|
||||
hash = "sha256-/R9jv9zSP1lDW6IltZ8V06xyLdxfaYrk3zD6JRFUxHg=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/gentoo/gentoo/master/media-gfx/prusaslicer/files/prusaslicer-2.8.0-fixed-linking.patch";
|
||||
hash = "sha256-G1JNdVH+goBelag9aX0NctHFVqtoYFnqjwK/43FVgvM=";
|
||||
})
|
||||
];
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "prusa-slicer";
|
||||
version = "2.7.4";
|
||||
version = "2.8.0";
|
||||
inherit patches;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "prusa3d";
|
||||
repo = "PrusaSlicer";
|
||||
hash = "sha256-g2I2l6i/8p8werDs4mDI/lGeDQsma4WSB9vT6OB2LGg=";
|
||||
hash = "sha256-A/uxNIEXCchLw3t5erWdhqFAeh6nudcMfASi+RoJkFg=";
|
||||
rev = "version_${finalAttrs.version}";
|
||||
};
|
||||
|
||||
@ -93,6 +107,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
expat
|
||||
glew
|
||||
glib
|
||||
glib-networking
|
||||
gmp
|
||||
gtk3
|
||||
hicolor-icon-theme
|
||||
@ -128,9 +143,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# prusa-slicer uses dlopen on `libudev.so` at runtime
|
||||
NIX_LDFLAGS = lib.optionalString withSystemd "-ludev";
|
||||
|
||||
# FIXME: remove in 2.8.0
|
||||
NIX_CFLAGS_COMPILE = "-Wno-enum-constexpr-conversion";
|
||||
|
||||
prePatch = ''
|
||||
# Since version 2.5.0 of nlopt we need to link to libnlopt, as libnlopt_cxx
|
||||
# now seems to be integrated into the main lib.
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchYarnDeps, fixup-yarn-lock, callPackage, nodejs }:
|
||||
{ stdenv, fetchYarnDeps, fixup-yarn-lock, callPackage, nodejs, yarn }:
|
||||
let
|
||||
common = callPackage ./common.nix { };
|
||||
in
|
||||
@ -16,7 +16,7 @@ stdenv.mkDerivation {
|
||||
nativeBuildInputs = [
|
||||
fixup-yarn-lock
|
||||
nodejs
|
||||
nodejs.pkgs.yarn
|
||||
yarn
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ttyper";
|
||||
version = "1.5.0";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "max-niederman";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-L6xdJ659ZWKNg9CGQs+5TQIKoIAZ5KHdFSk7NCp9a2Q=";
|
||||
hash = "sha256-g4OD4Mc3KHN9rrzM+9JvN2xTnSojGQy6yptdGj3zgW4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-iOeyn4oXk6y/NqZeBwkStBjt3hVVw4s2L5Lm58tq1BY=";
|
||||
cargoHash = "sha256-EXBs73651lP2B/1lAGHLcc9F1Xi+Bj6+c9wv2uX56Lg=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Terminal-based typing test";
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ lib
|
||||
, flutter319
|
||||
, flutter322
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
, pcre2
|
||||
@ -11,15 +11,15 @@
|
||||
, removeReferencesTo
|
||||
}:
|
||||
|
||||
flutter319.buildFlutterApplication rec {
|
||||
flutter322.buildFlutterApplication rec {
|
||||
pname = "yubioath-flutter";
|
||||
version = "6.4.0";
|
||||
version = "7.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Yubico";
|
||||
repo = "yubioath-flutter";
|
||||
rev = version;
|
||||
hash = "sha256-aXUnmKEUCi0rsVr3HVhEk6xa1z9HMsH+0AIY531hqiU=";
|
||||
hash = "sha256-7FgZZCaafjNUaniPWVtba57zFABIJnLOw4GpyMsegKQ=";
|
||||
};
|
||||
|
||||
passthru.helper = python3.pkgs.callPackage ./helper.nix { inherit src version meta; };
|
||||
@ -34,6 +34,9 @@ flutter319.buildFlutterApplication rec {
|
||||
|
||||
substituteInPlace linux/CMakeLists.txt \
|
||||
--replace-fail "../build/linux/helper" "${passthru.helper}/libexec/helper"
|
||||
|
||||
substituteInPlace linux/my_application.cc \
|
||||
--replace-fail "gtk_widget_realize(GTK_WIDGET(window));" "gtk_widget_show(GTK_WIDGET(window));"
|
||||
'';
|
||||
|
||||
preInstall = ''
|
||||
|
@ -4,21 +4,21 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "_fe_analyzer_shared",
|
||||
"sha256": "eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051",
|
||||
"sha256": "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "64.0.0"
|
||||
"version": "67.0.0"
|
||||
},
|
||||
"analyzer": {
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "analyzer",
|
||||
"sha256": "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893",
|
||||
"sha256": "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.2.0"
|
||||
"version": "6.4.1"
|
||||
},
|
||||
"analyzer_plugin": {
|
||||
"dependency": "direct dev",
|
||||
@ -34,21 +34,21 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "archive",
|
||||
"sha256": "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d",
|
||||
"sha256": "cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.4.10"
|
||||
"version": "3.6.1"
|
||||
},
|
||||
"args": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "args",
|
||||
"sha256": "eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596",
|
||||
"sha256": "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.4.2"
|
||||
"version": "2.5.0"
|
||||
},
|
||||
"async": {
|
||||
"dependency": "direct main",
|
||||
@ -104,11 +104,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "build_daemon",
|
||||
"sha256": "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1",
|
||||
"sha256": "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.0.1"
|
||||
"version": "4.0.2"
|
||||
},
|
||||
"build_resolvers": {
|
||||
"dependency": "transitive",
|
||||
@ -124,21 +124,21 @@
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "build_runner",
|
||||
"sha256": "581bacf68f89ec8792f5e5a0b2c4decd1c948e97ce659dc783688c8a88fbec21",
|
||||
"sha256": "644dc98a0f179b872f612d3eb627924b578897c629788e858157fa5e704ca0c7",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.4.8"
|
||||
"version": "2.4.11"
|
||||
},
|
||||
"build_runner_core": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "build_runner_core",
|
||||
"sha256": "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799",
|
||||
"sha256": "e3c79f69a64bdfcd8a776a3c28db4eb6e3fb5356d013ae5eb2e52007706d5dbe",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "7.3.0"
|
||||
"version": "7.3.1"
|
||||
},
|
||||
"built_collection": {
|
||||
"dependency": "transitive",
|
||||
@ -154,11 +154,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "built_value",
|
||||
"sha256": "a3ec2e0f967bc47f69f95009bb93db936288d61d5343b9436e378b28a2f830c6",
|
||||
"sha256": "c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "8.9.0"
|
||||
"version": "8.9.2"
|
||||
},
|
||||
"characters": {
|
||||
"dependency": "transitive",
|
||||
@ -244,11 +244,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "cross_file",
|
||||
"sha256": "fedaadfa3a6996f75211d835aaeb8fede285dae94262485698afd832371b9a5e",
|
||||
"sha256": "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.3.3+8"
|
||||
"version": "0.3.4+1"
|
||||
},
|
||||
"crypto": {
|
||||
"dependency": "direct main",
|
||||
@ -264,41 +264,41 @@
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "custom_lint",
|
||||
"sha256": "f89ff83efdba7c8996e86bb3bad0b759d58f9b19ae4d0e277a386ddd8b481217",
|
||||
"sha256": "7c0aec12df22f9082146c354692056677f1e70bc43471644d1fdb36c6fdda799",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.6.0"
|
||||
"version": "0.6.4"
|
||||
},
|
||||
"custom_lint_builder": {
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "custom_lint_builder",
|
||||
"sha256": "9cdd9987feaa6925ec5f98d64de4fbbb5d94248ff77bbf2489366efad6c4baef",
|
||||
"sha256": "d7dc41e709dde223806660268678be7993559e523eb3164e2a1425fd6f7615a9",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.6.0"
|
||||
"version": "0.6.4"
|
||||
},
|
||||
"custom_lint_core": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "custom_lint_core",
|
||||
"sha256": "9003a91409c9f1db6e2e50b4870d1d5e802e5923b25f7261bf3cb3e11ea9d4fb",
|
||||
"sha256": "a85e8f78f4c52f6c63cdaf8c872eb573db0231dcdf3c3a5906d493c1f8bc20e6",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.6.0"
|
||||
"version": "0.6.3"
|
||||
},
|
||||
"dart_style": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "dart_style",
|
||||
"sha256": "40ae61a5d43feea6d24bd22c0537a6629db858963b99b4bc1c3db80676f32368",
|
||||
"sha256": "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.3.4"
|
||||
"version": "2.3.6"
|
||||
},
|
||||
"desktop_drop": {
|
||||
"dependency": "direct main",
|
||||
@ -324,31 +324,31 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "ffi",
|
||||
"sha256": "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878",
|
||||
"sha256": "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.0"
|
||||
"version": "2.1.2"
|
||||
},
|
||||
"file": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "file",
|
||||
"sha256": "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d",
|
||||
"sha256": "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.1.4"
|
||||
"version": "7.0.0"
|
||||
},
|
||||
"file_picker": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "file_picker",
|
||||
"sha256": "4e42aacde3b993c5947467ab640882c56947d9d27342a5b6f2895b23956954a6",
|
||||
"sha256": "824f5b9f389bfc4dddac3dea76cd70c51092d9dff0b2ece7ef4f53db8547d258",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.1.1"
|
||||
"version": "8.0.6"
|
||||
},
|
||||
"fixnum": {
|
||||
"dependency": "transitive",
|
||||
@ -376,11 +376,11 @@
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "flutter_lints",
|
||||
"sha256": "e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7",
|
||||
"sha256": "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.1"
|
||||
"version": "4.0.0"
|
||||
},
|
||||
"flutter_localizations": {
|
||||
"dependency": "direct main",
|
||||
@ -392,21 +392,21 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "flutter_plugin_android_lifecycle",
|
||||
"sha256": "b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da",
|
||||
"sha256": "c6b0b4c05c458e1c01ad9bcc14041dd7b1f6783d487be4386f793f47a8a4d03e",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.17"
|
||||
"version": "2.0.20"
|
||||
},
|
||||
"flutter_riverpod": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "flutter_riverpod",
|
||||
"sha256": "4bce556b7ecbfea26109638d5237684538d4abc509d253e6c5c4c5733b360098",
|
||||
"sha256": "0f1974eff5bbe774bf1d870e406fc6f29e3d6f1c46bd9c58e7172ff68a785d7d",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.4.10"
|
||||
"version": "2.5.1"
|
||||
},
|
||||
"flutter_test": {
|
||||
"dependency": "direct dev",
|
||||
@ -424,31 +424,31 @@
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "freezed",
|
||||
"sha256": "57247f692f35f068cae297549a46a9a097100685c6780fe67177503eea5ed4e5",
|
||||
"sha256": "a434911f643466d78462625df76fd9eb13e57348ff43fe1f77bbe909522c67a1",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.4.7"
|
||||
"version": "2.5.2"
|
||||
},
|
||||
"freezed_annotation": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "freezed_annotation",
|
||||
"sha256": "c3fd9336eb55a38cc1bbd79ab17573113a8deccd0ecbbf926cca3c62803b5c2d",
|
||||
"sha256": "f54946fdb1fa7b01f780841937b1a80783a20b393485f3f6cdf336fd6f4705f2",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.4.1"
|
||||
"version": "2.4.2"
|
||||
},
|
||||
"frontend_server_client": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "frontend_server_client",
|
||||
"sha256": "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612",
|
||||
"sha256": "f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.2.0"
|
||||
"version": "4.0.0"
|
||||
},
|
||||
"fuchsia_remote_debug_protocol": {
|
||||
"dependency": "transitive",
|
||||
@ -480,11 +480,21 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "hotreloader",
|
||||
"sha256": "94ee21a60ea2836500799f3af035dc3212b1562027f1e0031c14e087f0231449",
|
||||
"sha256": "ed56fdc1f3a8ac924e717257621d09e9ec20e308ab6352a73a50a1d7a4d9158e",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.1.0"
|
||||
"version": "4.2.0"
|
||||
},
|
||||
"http": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "http",
|
||||
"sha256": "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.2.1"
|
||||
},
|
||||
"http_multi_server": {
|
||||
"dependency": "transitive",
|
||||
@ -516,11 +526,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "intl",
|
||||
"sha256": "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d",
|
||||
"sha256": "d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.18.1"
|
||||
"version": "0.19.0"
|
||||
},
|
||||
"io": {
|
||||
"dependency": "direct main",
|
||||
@ -536,31 +546,61 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "js",
|
||||
"sha256": "4186c61b32f99e60f011f7160e32c89a758ae9b1d0c6d28e2c02ef0382300e2b",
|
||||
"sha256": "c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.7.0"
|
||||
"version": "0.7.1"
|
||||
},
|
||||
"json_annotation": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "json_annotation",
|
||||
"sha256": "b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467",
|
||||
"sha256": "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.8.1"
|
||||
"version": "4.9.0"
|
||||
},
|
||||
"json_serializable": {
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "json_serializable",
|
||||
"sha256": "aa1f5a8912615733e0fdc7a02af03308933c93235bdc8d50d0b0c8a8ccb0b969",
|
||||
"sha256": "ea1432d167339ea9b5bb153f0571d0039607a873d6e04e0117af043f14a1fd4b",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.7.1"
|
||||
"version": "6.8.0"
|
||||
},
|
||||
"leak_tracker": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "leak_tracker",
|
||||
"sha256": "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "10.0.4"
|
||||
},
|
||||
"leak_tracker_flutter_testing": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "leak_tracker_flutter_testing",
|
||||
"sha256": "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.3"
|
||||
},
|
||||
"leak_tracker_testing": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "leak_tracker_testing",
|
||||
"sha256": "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.1"
|
||||
},
|
||||
"lint": {
|
||||
"dependency": "direct dev",
|
||||
@ -575,21 +615,21 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "lints",
|
||||
"sha256": "cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290",
|
||||
"sha256": "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.0"
|
||||
"version": "4.0.0"
|
||||
},
|
||||
"local_notifier": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "local_notifier",
|
||||
"sha256": "cc855aa6362c8840e3d3b35b1c3b058a3a8becdb2b03d5a9aa3f3a1e861f0a03",
|
||||
"sha256": "f6cfc933c6fbc961f4e52b5c880f68e41b2d3cd29aad557cc654fd211093a025",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.1.5"
|
||||
"version": "0.1.6"
|
||||
},
|
||||
"logging": {
|
||||
"dependency": "direct main",
|
||||
@ -605,21 +645,31 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "matcher",
|
||||
"sha256": "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e",
|
||||
"sha256": "d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.12.16"
|
||||
"version": "0.12.16+1"
|
||||
},
|
||||
"material_color_utilities": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "material_color_utilities",
|
||||
"sha256": "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41",
|
||||
"sha256": "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.5.0"
|
||||
"version": "0.8.0"
|
||||
},
|
||||
"material_symbols_icons": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "material_symbols_icons",
|
||||
"sha256": "a2c78726048c755f0f90fd2b7c8799cd94338e2e9b7ab6498ae56503262c14bc",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.2762.0"
|
||||
},
|
||||
"menu_base": {
|
||||
"dependency": "transitive",
|
||||
@ -635,11 +685,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "meta",
|
||||
"sha256": "a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e",
|
||||
"sha256": "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.10.0"
|
||||
"version": "1.12.0"
|
||||
},
|
||||
"mime": {
|
||||
"dependency": "transitive",
|
||||
@ -665,11 +715,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "path",
|
||||
"sha256": "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917",
|
||||
"sha256": "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.8.3"
|
||||
"version": "1.9.0"
|
||||
},
|
||||
"path_parsing": {
|
||||
"dependency": "transitive",
|
||||
@ -685,31 +735,31 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "path_provider",
|
||||
"sha256": "b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b",
|
||||
"sha256": "c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.2"
|
||||
"version": "2.1.3"
|
||||
},
|
||||
"path_provider_android": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "path_provider_android",
|
||||
"sha256": "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668",
|
||||
"sha256": "bca87b0165ffd7cdb9cad8edd22d18d2201e886d9a9f19b4fb3452ea7df3a72a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.2.2"
|
||||
"version": "2.2.6"
|
||||
},
|
||||
"path_provider_foundation": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "path_provider_foundation",
|
||||
"sha256": "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f",
|
||||
"sha256": "f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.3.2"
|
||||
"version": "2.4.0"
|
||||
},
|
||||
"path_provider_linux": {
|
||||
"dependency": "transitive",
|
||||
@ -755,11 +805,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "platform",
|
||||
"sha256": "ae68c7bfcd7383af3629daafb32fb4e8681c7154428da4febcff06200585f102",
|
||||
"sha256": "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.1.2"
|
||||
"version": "3.1.4"
|
||||
},
|
||||
"plugin_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
@ -771,16 +821,6 @@
|
||||
"source": "hosted",
|
||||
"version": "2.1.8"
|
||||
},
|
||||
"pointycastle": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "pointycastle",
|
||||
"sha256": "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.7.4"
|
||||
},
|
||||
"pool": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
@ -795,11 +835,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "process",
|
||||
"sha256": "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09",
|
||||
"sha256": "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.2.4"
|
||||
"version": "5.0.2"
|
||||
},
|
||||
"pub_semver": {
|
||||
"dependency": "transitive",
|
||||
@ -815,11 +855,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "pubspec_parse",
|
||||
"sha256": "c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367",
|
||||
"sha256": "c799b721d79eb6ee6fa56f00c04b472dcd44a30d258fac2174a6ec57302678f8",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.2.3"
|
||||
"version": "1.3.0"
|
||||
},
|
||||
"qrscanner_zxing": {
|
||||
"dependency": "direct main",
|
||||
@ -834,11 +874,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "riverpod",
|
||||
"sha256": "548e2192eb7aeb826eb89387f814edb76594f3363e2c0bb99dd733d795ba3589",
|
||||
"sha256": "f21b32ffd26a36555e501b04f4a5dca43ed59e16343f1a30c13632b2351dfa4d",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.5.0"
|
||||
"version": "2.5.1"
|
||||
},
|
||||
"rxdart": {
|
||||
"dependency": "transitive",
|
||||
@ -864,31 +904,31 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "shared_preferences",
|
||||
"sha256": "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02",
|
||||
"sha256": "d3bbe5553a986e83980916ded2f0b435ef2e1893dfaa29d5a7a790d0eca12180",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.2.2"
|
||||
"version": "2.2.3"
|
||||
},
|
||||
"shared_preferences_android": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "shared_preferences_android",
|
||||
"sha256": "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06",
|
||||
"sha256": "93d0ec9dd902d85f326068e6a899487d1f65ffcd5798721a95330b26c8131577",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.2.1"
|
||||
"version": "2.2.3"
|
||||
},
|
||||
"shared_preferences_foundation": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "shared_preferences_foundation",
|
||||
"sha256": "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c",
|
||||
"sha256": "0a8a893bf4fd1152f93fec03a415d11c27c74454d96e2318a7ac38dd18683ab7",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.3.5"
|
||||
"version": "2.4.0"
|
||||
},
|
||||
"shared_preferences_linux": {
|
||||
"dependency": "transitive",
|
||||
@ -914,11 +954,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "shared_preferences_web",
|
||||
"sha256": "7b15ffb9387ea3e237bb7a66b8a23d2147663d391cafc5c8f37b2e7b4bde5d21",
|
||||
"sha256": "9aee1089b36bd2aafe06582b7d7817fd317ef05fc30e6ba14bff247d0933042a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.2.2"
|
||||
"version": "2.3.0"
|
||||
},
|
||||
"shared_preferences_windows": {
|
||||
"dependency": "transitive",
|
||||
@ -944,11 +984,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "shelf_web_socket",
|
||||
"sha256": "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1",
|
||||
"sha256": "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.0.4"
|
||||
"version": "2.0.0"
|
||||
},
|
||||
"shortid": {
|
||||
"dependency": "transitive",
|
||||
@ -996,6 +1036,16 @@
|
||||
"source": "hosted",
|
||||
"version": "1.10.0"
|
||||
},
|
||||
"sprintf": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "sprintf",
|
||||
"sha256": "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "7.0.0"
|
||||
},
|
||||
"stack_trace": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
@ -1070,11 +1120,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "test_api",
|
||||
"sha256": "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b",
|
||||
"sha256": "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.6.1"
|
||||
"version": "0.7.0"
|
||||
},
|
||||
"test_res": {
|
||||
"dependency": "direct dev",
|
||||
@ -1099,11 +1149,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "tray_manager",
|
||||
"sha256": "4ab709d70a4374af172f8c39e018db33a4271265549c6fc9d269a65e5f4b0225",
|
||||
"sha256": "c9a63fd88bd3546287a7eb8ccc978d707eef82c775397af17dda3a4f4c039e64",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.2.1"
|
||||
"version": "0.2.3"
|
||||
},
|
||||
"typed_data": {
|
||||
"dependency": "transitive",
|
||||
@ -1119,31 +1169,31 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "url_launcher",
|
||||
"sha256": "c512655380d241a337521703af62d2c122bf7b77a46ff7dd750092aa9433499c",
|
||||
"sha256": "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.2.4"
|
||||
"version": "6.3.0"
|
||||
},
|
||||
"url_launcher_android": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_android",
|
||||
"sha256": "507dc655b1d9cb5ebc756032eb785f114e415f91557b73bf60b7e201dfedeb2f",
|
||||
"sha256": "ceb2625f0c24ade6ef6778d1de0b2e44f2db71fded235eb52295247feba8c5cf",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.2.2"
|
||||
"version": "6.3.3"
|
||||
},
|
||||
"url_launcher_ios": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_ios",
|
||||
"sha256": "75bb6fe3f60070407704282a2d295630cab232991eb52542b18347a8a941df03",
|
||||
"sha256": "7068716403343f6ba4969b4173cbf3b84fc768042124bc2c011e5d782b24fe89",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.2.4"
|
||||
"version": "6.3.0"
|
||||
},
|
||||
"url_launcher_linux": {
|
||||
"dependency": "transitive",
|
||||
@ -1159,31 +1209,31 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_macos",
|
||||
"sha256": "b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234",
|
||||
"sha256": "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.1.0"
|
||||
"version": "3.2.0"
|
||||
},
|
||||
"url_launcher_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_platform_interface",
|
||||
"sha256": "a932c3a8082e118f80a475ce692fde89dc20fddb24c57360b96bc56f7035de1f",
|
||||
"sha256": "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.3.1"
|
||||
"version": "2.3.2"
|
||||
},
|
||||
"url_launcher_web": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_web",
|
||||
"sha256": "fff0932192afeedf63cdd50ecbb1bc825d31aed259f02bb8dba0f3b729a5e88b",
|
||||
"sha256": "8d9e750d8c9338601e709cd0885f95825086bd8b642547f26bda435aade95d8a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.2.3"
|
||||
"version": "2.3.1"
|
||||
},
|
||||
"url_launcher_windows": {
|
||||
"dependency": "transitive",
|
||||
@ -1199,41 +1249,41 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "uuid",
|
||||
"sha256": "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313",
|
||||
"sha256": "814e9e88f21a176ae1359149021870e87f7cddaf633ab678a5d2b0bff7fd1ba8",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.7"
|
||||
"version": "4.4.0"
|
||||
},
|
||||
"vector_graphics": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "vector_graphics",
|
||||
"sha256": "18f6690295af52d081f6808f2f7c69f0eed6d7e23a71539d75f4aeb8f0062172",
|
||||
"sha256": "32c3c684e02f9bc0afb0ae0aa653337a2fe022e8ab064bcd7ffda27a74e288e3",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.1.9+2"
|
||||
"version": "1.1.11+1"
|
||||
},
|
||||
"vector_graphics_codec": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "vector_graphics_codec",
|
||||
"sha256": "531d20465c10dfac7f5cd90b60bbe4dd9921f1ec4ca54c83ebb176dbacb7bb2d",
|
||||
"sha256": "c86987475f162fadff579e7320c7ddda04cd2fdeffbe1129227a85d9ac9e03da",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.1.9+2"
|
||||
"version": "1.1.11+1"
|
||||
},
|
||||
"vector_graphics_compiler": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "vector_graphics_compiler",
|
||||
"sha256": "03012b0a33775c5530576b70240308080e1d5050f0faf000118c20e6463bc0ad",
|
||||
"sha256": "12faff3f73b1741a36ca7e31b292ddeb629af819ca9efe9953b70bd63fc8cd81",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.1.9+2"
|
||||
"version": "1.1.11+1"
|
||||
},
|
||||
"vector_math": {
|
||||
"dependency": "transitive",
|
||||
@ -1249,11 +1299,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "vm_service",
|
||||
"sha256": "c538be99af830f478718b51630ec1b6bee5e74e52c8a802d328d9e71d35d2583",
|
||||
"sha256": "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "11.10.0"
|
||||
"version": "14.2.1"
|
||||
},
|
||||
"watcher": {
|
||||
"dependency": "transitive",
|
||||
@ -1269,41 +1319,51 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "web",
|
||||
"sha256": "afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152",
|
||||
"sha256": "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.3.0"
|
||||
"version": "0.5.1"
|
||||
},
|
||||
"web_socket": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "web_socket",
|
||||
"sha256": "24301d8c293ce6fe327ffe6f59d8fd8834735f0ec36e4fd383ec7ff8a64aa078",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.1.5"
|
||||
},
|
||||
"web_socket_channel": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "web_socket_channel",
|
||||
"sha256": "d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b",
|
||||
"sha256": "a2d56211ee4d35d9b344d9d4ce60f362e4f5d1aafb988302906bd732bc731276",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.4.0"
|
||||
"version": "3.0.0"
|
||||
},
|
||||
"webdriver": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "webdriver",
|
||||
"sha256": "3c923e918918feeb90c4c9fdf1fe39220fa4c0e8e2c0fffaded174498ef86c49",
|
||||
"sha256": "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.2"
|
||||
"version": "3.0.3"
|
||||
},
|
||||
"win32": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "win32",
|
||||
"sha256": "464f5674532865248444b4c3daca12bd9bf2d7c47f759ce2617986e7229494a8",
|
||||
"sha256": "a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.2.0"
|
||||
"version": "5.5.1"
|
||||
},
|
||||
"window_manager": {
|
||||
"dependency": "direct main",
|
||||
@ -1348,7 +1408,7 @@
|
||||
}
|
||||
},
|
||||
"sdks": {
|
||||
"dart": ">=3.2.0 <4.0.0",
|
||||
"flutter": ">=3.16.0"
|
||||
"dart": ">=3.4.3 <4.0.0",
|
||||
"flutter": ">=3.22.0"
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -5,10 +5,10 @@
|
||||
{
|
||||
firefox = buildMozillaMach rec {
|
||||
pname = "firefox";
|
||||
version = "129.0";
|
||||
version = "129.0.1";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "e406d00dc53c66a1ee6b56e7001efcdd8b323caa3676d66d874d39a99f44ac7cebf4c60d76b5d239ebcf834a75cecabf801a74a1d08a97a66ea5e8ec6c8f7c5b";
|
||||
sha512 = "27c463e8277994c62bab85cf0e2f0cea16a9b272694b61fa56a6b3bd7c70d6481774288386094836a54df54c1b1144d61be67f4f5eac418c05479d452221c027";
|
||||
};
|
||||
|
||||
extraPatches = [
|
||||
|
@ -13,12 +13,16 @@
|
||||
, pkg-config
|
||||
, libaom
|
||||
, libavif
|
||||
, libjxl
|
||||
, libtiff
|
||||
, libwebp
|
||||
, libxcrypt
|
||||
, libyuv
|
||||
, python3
|
||||
, qt6Packages
|
||||
, woff2
|
||||
, ffmpeg
|
||||
, simdutf
|
||||
, skia
|
||||
, nixosTests
|
||||
, AppKit
|
||||
@ -57,13 +61,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ladybird";
|
||||
version = "0-unstable-2024-07-11";
|
||||
version = "0-unstable-2024-08-12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LadybirdWebBrowser";
|
||||
repo = "ladybird";
|
||||
rev = "da8633b2d0ab3b9d8f1cdad39a8ad85ca2accf03";
|
||||
hash = "sha256-NJSuhJWxeGPOVotK+s/mG2bfq19su08wBoxFDs/H9JU=";
|
||||
rev = "7e57cc7b090455e93261c847064f12a61d686ff3";
|
||||
hash = "sha256-8rkgxEfRH8ERuC7iplQKOzKb1EJ4+SNGDX5gTGpOmQo=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -73,6 +77,18 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
substituteInPlace Meta/CMake/lagom_install_options.cmake \
|
||||
--replace-fail "\''${CMAKE_INSTALL_BINDIR}" "bin" \
|
||||
--replace-fail "\''${CMAKE_INSTALL_LIBDIR}" "lib"
|
||||
|
||||
# libwebp is not built with cmake support yet
|
||||
# https://github.com/NixOS/nixpkgs/issues/334148
|
||||
cat > Meta/CMake/FindWebP.cmake <<'EOF'
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(WEBP libwebp REQUIRED)
|
||||
include_directories(''${WEBP_INCLUDE_DIRS})
|
||||
link_directories(''${WEBP_LIBRARY_DIRS})
|
||||
EOF
|
||||
substituteInPlace Userland/Libraries/LibGfx/CMakeLists.txt \
|
||||
--replace-fail 'WebP::' "" \
|
||||
--replace-fail libwebpmux webpmux
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
@ -125,10 +141,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
ffmpeg
|
||||
libaom
|
||||
libavif
|
||||
libjxl
|
||||
libwebp
|
||||
libxcrypt
|
||||
libyuv
|
||||
qtbase
|
||||
qtmultimedia
|
||||
simdutf
|
||||
skia
|
||||
woff2
|
||||
] ++ lib.optional stdenv.isLinux [
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "helm-secrets";
|
||||
version = "4.6.0";
|
||||
version = "4.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jkroepke";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-j4mOkPHJKiRWGTZloPBXwbHKOj2Hg44dspySa/KxPT4=";
|
||||
hash = "sha256-AAc680STuXiGEw9ibFRHMrOxGs/c5pS0iEoymNHu+c8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -1,7 +1,7 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
activesupport (7.1.3.3)
|
||||
activesupport (7.1.3.4)
|
||||
base64
|
||||
bigdecimal
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
@ -11,21 +11,22 @@ GEM
|
||||
minitest (>= 5.1)
|
||||
mutex_m
|
||||
tzinfo (~> 2.0)
|
||||
addressable (2.8.6)
|
||||
public_suffix (>= 2.0.2, < 6.0)
|
||||
addressable (2.8.7)
|
||||
public_suffix (>= 2.0.2, < 7.0)
|
||||
base64 (0.2.0)
|
||||
bigdecimal (3.1.8)
|
||||
colorize (0.8.1)
|
||||
concurrent-ruby (1.2.3)
|
||||
concurrent-ruby (1.3.3)
|
||||
connection_pool (2.4.1)
|
||||
domain_name (0.6.20240107)
|
||||
drb (2.2.1)
|
||||
ejson (1.4.1)
|
||||
faraday (2.9.0)
|
||||
faraday (2.10.1)
|
||||
faraday-net_http (>= 2.0, < 3.2)
|
||||
faraday-net_http (3.1.0)
|
||||
logger
|
||||
faraday-net_http (3.1.1)
|
||||
net-http
|
||||
ffi (1.16.3)
|
||||
ffi (1.17.0)
|
||||
ffi-compiler (1.3.2)
|
||||
ffi (>= 1.15.5)
|
||||
rake
|
||||
@ -45,16 +46,16 @@ GEM
|
||||
http-form_data (~> 2.2)
|
||||
llhttp-ffi (~> 0.5.0)
|
||||
http-accept (1.7.0)
|
||||
http-cookie (1.0.5)
|
||||
http-cookie (1.0.6)
|
||||
domain_name (~> 0.5)
|
||||
http-form_data (2.3.0)
|
||||
i18n (1.14.5)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jsonpath (1.1.5)
|
||||
multi_json
|
||||
jwt (2.8.1)
|
||||
jwt (2.8.2)
|
||||
base64
|
||||
krane (3.6.0)
|
||||
krane (3.6.1)
|
||||
activesupport (>= 5.0)
|
||||
colorize (~> 0.8)
|
||||
concurrent-ruby (~> 1.1)
|
||||
@ -65,7 +66,7 @@ GEM
|
||||
multi_json
|
||||
statsd-instrument (>= 2.8, < 4)
|
||||
thor (>= 1.0, < 2.0)
|
||||
kubeclient (4.11.0)
|
||||
kubeclient (4.12.0)
|
||||
http (>= 3.0, < 6.0)
|
||||
jsonpath (~> 1.0)
|
||||
recursive-open-struct (~> 1.1, >= 1.1.1)
|
||||
@ -73,19 +74,20 @@ GEM
|
||||
llhttp-ffi (0.5.0)
|
||||
ffi-compiler (~> 1.0)
|
||||
rake (~> 13.0)
|
||||
logger (1.6.0)
|
||||
mime-types (3.5.2)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2024.0507)
|
||||
minitest (5.23.1)
|
||||
mime-types-data (3.2024.0806)
|
||||
minitest (5.24.1)
|
||||
multi_json (1.15.0)
|
||||
mutex_m (0.2.0)
|
||||
net-http (0.4.1)
|
||||
uri
|
||||
netrc (0.11.0)
|
||||
os (1.1.4)
|
||||
public_suffix (5.0.5)
|
||||
public_suffix (6.0.1)
|
||||
rake (13.2.1)
|
||||
recursive-open-struct (1.1.3)
|
||||
recursive-open-struct (1.2.2)
|
||||
rest-client (2.1.0)
|
||||
http-accept (>= 1.7.0, < 2.0)
|
||||
http-cookie (>= 1.0.2, < 2.0)
|
||||
@ -96,7 +98,7 @@ GEM
|
||||
faraday (>= 0.17.5, < 3.a)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
multi_json (~> 1.10)
|
||||
statsd-instrument (3.7.0)
|
||||
statsd-instrument (3.8.0)
|
||||
thor (1.3.1)
|
||||
tzinfo (2.0.6)
|
||||
concurrent-ruby (~> 1.0)
|
||||
@ -109,4 +111,4 @@ DEPENDENCIES
|
||||
krane
|
||||
|
||||
BUNDLED WITH
|
||||
2.5.9
|
||||
2.5.16
|
||||
|
@ -5,10 +5,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0z8kygxmz99krz9pwp947znkzf0jr64sml28df0vf1gzxlg7y57i";
|
||||
sha256 = "0283wk1zxb76lg79dk501kcf5xy9h25qiw15m86s4nrfv11vqns5";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.1.3.3";
|
||||
version = "7.1.3.4";
|
||||
};
|
||||
addressable = {
|
||||
dependencies = ["public_suffix"];
|
||||
@ -16,10 +16,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0irbdwkkjwzajq1ip6ba46q49sxnrl2cw7ddkdhsfhb6aprnm3vr";
|
||||
sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.8.6";
|
||||
version = "2.8.7";
|
||||
};
|
||||
base64 = {
|
||||
groups = ["default"];
|
||||
@ -56,10 +56,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1qh1b14jwbbj242klkyz5fc7npd4j0mvndz62gajhvl1l3wd7zc2";
|
||||
sha256 = "0skwdasxq7mnlcccn6aqabl7n9r3jd7k19ryzlzzip64cn4x572g";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.3";
|
||||
version = "1.3.3";
|
||||
};
|
||||
connection_pool = {
|
||||
groups = ["default"];
|
||||
@ -102,15 +102,15 @@
|
||||
version = "1.4.1";
|
||||
};
|
||||
faraday = {
|
||||
dependencies = ["faraday-net_http"];
|
||||
dependencies = ["faraday-net_http" "logger"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1qqb1rmk0f9m82iijjlqadh5yby1bhnr6svjk9vxdvh6f181988s";
|
||||
sha256 = "104s7n9505488p923cs0pl3jlgn4naam28clkm2885hrysizpjbb";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.9.0";
|
||||
version = "2.10.1";
|
||||
};
|
||||
faraday-net_http = {
|
||||
dependencies = ["net-http"];
|
||||
@ -118,20 +118,20 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "17w51yk4rrm9rpnbc3x509s619kba0jga3qrj4b17l30950vw9qn";
|
||||
sha256 = "0f49frpfdr8czwm2mjkfny4pini6fy49b6hamw4jrppl4vsg14ys";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.1.0";
|
||||
version = "3.1.1";
|
||||
};
|
||||
ffi = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd";
|
||||
sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.16.3";
|
||||
version = "1.17.0";
|
||||
};
|
||||
ffi-compiler = {
|
||||
dependencies = ["ffi" "rake"];
|
||||
@ -193,10 +193,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "13rilvlv8kwbzqfb644qp6hrbsj82cbqmnzcvqip1p6vqx36sxbk";
|
||||
sha256 = "0i20j9wgxk4k47g54jiphb02xdhrwvadf4a0jjq5mzr1dwcx64vp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.5";
|
||||
version = "1.0.6";
|
||||
};
|
||||
http-form_data = {
|
||||
groups = ["default"];
|
||||
@ -236,10 +236,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "02m3vza49pb9dirwpn8vmzbcypi3fc6l3a9dh253jwm1121g7ajb";
|
||||
sha256 = "04mw326i9vsdcqwm4bf0zvnqw237f8l7022nhlbmak92bqqpg62s";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.8.1";
|
||||
version = "2.8.2";
|
||||
};
|
||||
krane = {
|
||||
dependencies = ["activesupport" "colorize" "concurrent-ruby" "ejson" "googleauth" "jsonpath" "kubeclient" "multi_json" "statsd-instrument" "thor"];
|
||||
@ -247,10 +247,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "08dkvcmxa869pk6qdpsvljy16lb1kj94cgr4w9bhg93gx3m642v6";
|
||||
sha256 = "002nf72l4b9h0lmpxzd5zm7dwakjs9f9cxrmkrx77qdyj4vy4g48";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.6.0";
|
||||
version = "3.6.1";
|
||||
};
|
||||
kubeclient = {
|
||||
dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"];
|
||||
@ -258,10 +258,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1k1zi27fnasqpinfxnajm81pyr11k2j510wacr53d37v97bzr1a9";
|
||||
sha256 = "1g89qd1hhf111zy9djlzblzz06pnv59zmamh6fk06wvnih7vj446";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.11.0";
|
||||
version = "4.12.0";
|
||||
};
|
||||
llhttp-ffi = {
|
||||
dependencies = ["ffi-compiler" "rake"];
|
||||
@ -274,6 +274,16 @@
|
||||
};
|
||||
version = "0.5.0";
|
||||
};
|
||||
logger = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0gpg8gzi0xwymw4aaq2iafcbx31i3xzkg3fb30mdxn1d4qhc3dqa";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.6.0";
|
||||
};
|
||||
mime-types = {
|
||||
dependencies = ["mime-types-data"];
|
||||
groups = ["default"];
|
||||
@ -290,20 +300,20 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0kybw1a6f7d1ipyawnpi5cwiy05rkz9qwglgfvhmd1z0l2gcigmm";
|
||||
sha256 = "0vzvh906sk9zqfd4bvpjjgw856i769d2abjp3cibh5w73r9g70zj";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.2024.0507";
|
||||
version = "3.2024.0806";
|
||||
};
|
||||
minitest = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1gkslxvkhh44s21rbjvka3zsvfxxrf5pcl6f75rv2vyrzzbgis7i";
|
||||
sha256 = "0jj629q3vw5yn90q4di4dyb87pil4a8qfm2srhgy5nc8j2n33v1i";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.23.1";
|
||||
version = "5.24.1";
|
||||
};
|
||||
multi_json = {
|
||||
groups = ["default"];
|
||||
@ -361,10 +371,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "14y4vzjwf5gp0mqgs880kis0k7n2biq8i6ci6q2n315kichl1hvj";
|
||||
sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.0.5";
|
||||
version = "6.0.1";
|
||||
};
|
||||
rake = {
|
||||
groups = ["default"];
|
||||
@ -381,10 +391,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0nnyr6qsqrcszf6c10n4zfjs8h9n67zvsmx6mp8brkigamr8llx3";
|
||||
sha256 = "1rjs8804zn5v39mklmqy65xwdji7iq598lkw876zspclziy4h2c3";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.3";
|
||||
version = "1.2.2";
|
||||
};
|
||||
rest-client = {
|
||||
dependencies = ["http-accept" "http-cookie" "mime-types" "netrc"];
|
||||
@ -413,10 +423,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "14blk2vvcmr0xycd3bzlr36nz5wn7m7ana2mljfm4zxgwx5vj7h7";
|
||||
sha256 = "1kd75axvmyq866nan18n9ys5bd140h0mka2kz9s5m86r8m42jbhj";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.7.0";
|
||||
version = "3.8.0";
|
||||
};
|
||||
thor = {
|
||||
groups = ["default"];
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubectl-evict-pod";
|
||||
version = "0.0.12";
|
||||
version = "0.0.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rajatjindal";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-alU1c1ppn4cQi582kcA/PIAJJt73i3uG02cQvSYij1A=";
|
||||
sha256 = "sha256-yA88GDcu1Sg8d5RCC4yiDPYZPxDSnke/4X7nSBSGf88=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
(callPackage ./generic.nix { }) {
|
||||
channel = "edge";
|
||||
version = "24.7.5";
|
||||
sha256 = "03hsz87vpysw4y45afsbr3amkrqnank1zcclfh6qj0yf98ymxxbn";
|
||||
vendorHash = "sha256-0NKoQICbKM3UA62LNySqu5pS2bPuuEfmOEukxB/6Ges=";
|
||||
version = "24.8.2";
|
||||
sha256 = "0jvyw002xy5zdb27q02r3bj88138zpc73an61sbgmls3jwp9w9iq";
|
||||
vendorHash = "sha256-16tdpREYDJDvwIZLpwCxGsZGERxMdSyPH7c6wbD2GCI=";
|
||||
}
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "nova";
|
||||
version = "3.10.0";
|
||||
version = "3.10.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FairwindsOps";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-2jm9FoB8CPvnqJABotPhlvJdgZTtuvntzqWmQ2Li7W4=";
|
||||
hash = "sha256-V7cUXzXvixONqL71f8hpJbGS+PyJgz+8LSwOlmXm+Po=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-m9gCsWvZ55Wv8PFV3x+tjlEZ4oDFVBbOSnvsjPTvR6k=";
|
||||
vendorHash = "sha256-xhpE+KDEf36kAw1HVm3WhiOwyWkFxkD5S+3mx0Sytv4=";
|
||||
|
||||
ldflags = [ "-X main.version=${version}" "-s" "-w" ];
|
||||
|
||||
|
@ -5,18 +5,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "storj-uplink";
|
||||
version = "1.108.3";
|
||||
version = "1.109.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "storj";
|
||||
repo = "storj";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ZCQRzbu1cNSid/A/NOJm0p/voGP1sXqhxKcSgnu16EI=";
|
||||
hash = "sha256-IVT3BWyDijhpt+bMn7u2f2JiGc0onAjbajHMzzbVt20=";
|
||||
};
|
||||
|
||||
subPackages = [ "cmd/uplink" ];
|
||||
|
||||
vendorHash = "sha256-0ukCBIQayJWPWLDFqo23OFTfPJySgD5fftL0b6p0pFY=";
|
||||
vendorHash = "sha256-+m7XOpKzg0clbRh2Rpi8JqhLoJLJsA7tT3g6FkmoVc4=";
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
|
@ -1,67 +0,0 @@
|
||||
{ lib
|
||||
, python3Packages
|
||||
, fetchFromGitHub
|
||||
, ledger
|
||||
, hledger
|
||||
, useLedger ? true
|
||||
, useHledger ? true
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "ledger-autosync";
|
||||
version = "1.0.3";
|
||||
format = "pyproject";
|
||||
|
||||
# no tests included in PyPI tarball
|
||||
src = fetchFromGitHub {
|
||||
owner = "egh";
|
||||
repo = "ledger-autosync";
|
||||
rev = "v${version}";
|
||||
sha256 = "0n3y4qxsv1cyvyap95h3rj4bj1sinyfgsajygm7s8di3j5aabqr2";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3Packages; [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
asn1crypto
|
||||
beautifulsoup4
|
||||
cffi
|
||||
cryptography
|
||||
entrypoints
|
||||
fuzzywuzzy
|
||||
idna
|
||||
jeepney
|
||||
keyring
|
||||
lxml
|
||||
mock
|
||||
nose
|
||||
ofxclient
|
||||
ofxhome
|
||||
ofxparse
|
||||
pbr
|
||||
pycparser
|
||||
secretstorage
|
||||
six
|
||||
] ++ lib.optional useLedger ledger
|
||||
++ lib.optional useHledger hledger;
|
||||
|
||||
# Checks require ledger as a python package,
|
||||
# ledger does not support python3 while ledger-autosync requires it.
|
||||
nativeCheckInputs = with python3Packages; [ ledger hledger nose mock pytestCheckHook ];
|
||||
|
||||
# Disable some non-passing tests:
|
||||
# https://github.com/egh/ledger-autosync/issues/127
|
||||
disabledTests = [
|
||||
"test_payee_match"
|
||||
"test_args_only"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/egh/ledger-autosync";
|
||||
description = "OFX/CSV autosync for ledger and hledger";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ eamsden ];
|
||||
};
|
||||
}
|
@ -24,13 +24,13 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "2.11.2";
|
||||
version = "2.11.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paperless-ngx";
|
||||
repo = "paperless-ngx";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-2VmV8Z8TDacc4qZePG87ZgnBydLdm+anpmk8gFKbSLM=";
|
||||
hash = "sha256-qqOTW7qgaZfNFYgVIDdwVh9KlT3Z6g8EALMOv39aRVc=";
|
||||
};
|
||||
|
||||
# subpath installation is broken with uvicorn >= 0.26
|
||||
@ -75,7 +75,7 @@ let
|
||||
cd src-ui
|
||||
'';
|
||||
|
||||
npmDepsHash = "sha256-gbHavMUmsZaRSfBkdrrNpTO0R8zacb8110U8n5Y09oU=";
|
||||
npmDepsHash = "sha256-dze03mkWMA2o3v3aoPTrDtUndTdP7Tk4gvFp4nq80po=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
@ -10,13 +10,13 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "chirp";
|
||||
version = "0.4.0-unstable-2024-07-05";
|
||||
version = "0.4.0-unstable-2024-08-06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kk7ds";
|
||||
repo = "chirp";
|
||||
rev = "f28814fff0566dcf6f93ac5b7a79d6d594202757";
|
||||
hash = "sha256-SQ0j9DGJc48TsaUaesixJT/pMBm9NGw22qapSokj9r8=";
|
||||
rev = "a8242df7d2bfc888604e26b9dc3e8ad111e02ee2";
|
||||
hash = "sha256-TpTlYRXB1hnpyQ8fL8DQ1mtLW64zDCvtDZXykahfq5U=";
|
||||
};
|
||||
buildInputs = [
|
||||
glib
|
||||
|
@ -62,7 +62,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
changelog = "https://github.com/leanprover/lean4/blob/${finalAttrs.src.rev}/RELEASES.md";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ ];
|
||||
maintainers = with maintainers; [ danielbritten ];
|
||||
mainProgram = "lean";
|
||||
};
|
||||
})
|
||||
|
@ -17,13 +17,13 @@ in
|
||||
buildKodiAddon rec {
|
||||
pname = "jellyfin";
|
||||
namespace = "plugin.video.jellyfin";
|
||||
version = "1.0.4";
|
||||
version = "1.0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jellyfin";
|
||||
repo = "jellyfin-kodi";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-N5ZNGeLf3P4p3RQimSaZteddKjqXE274mWpo7W9xqPs=";
|
||||
sha256 = "sha256-MPRyMeJuuiG62ahNKfXyb3Q4LDm0yXkNgCeYxfpT1io=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python ];
|
||||
|
@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "obs-vertical-canvas";
|
||||
version = "1.4.7";
|
||||
version = "1.4.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Aitum";
|
||||
repo = "obs-vertical-canvas";
|
||||
rev = version;
|
||||
sha256 = "sha256-JF/ZI0bJjHMoI4hpGPuMGDHMrd7tw0Kvwm/VhACLUfo=";
|
||||
sha256 = "sha256-AeN2Nr8HExdDMOiAwaIcnEVsbhOuiPJ+R2z6/qEnu/8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "nixpacks";
|
||||
version = "1.26.0";
|
||||
version = "1.26.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "railwayapp";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-w6XOSTMrjUg7q/M3a21sD2U+swmdkIUNvglgTFbufh8=";
|
||||
sha256 = "sha256-xwuW6bncNK9zhI6gWDpI5imdAd0+mALxyUQW433AeMA=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Kxz7Lw2LEC6YwycR5kj+vRIoT7Jqt2y9rLJq8ACM/0E=";
|
||||
cargoHash = "sha256-uxvFeoooz7aSM7ZAgUsxGO3LE/zinW5D/GwXcWoKLA0=";
|
||||
|
||||
# skip test due FHS dependency
|
||||
doCheck = false;
|
||||
|
@ -1,37 +1,40 @@
|
||||
{ lib, stdenv, fetchurl, fetchpatch, python3Packages, zlib, pkg-config, glib, buildPackages
|
||||
, pixman, vde2, alsa-lib, texinfo, flex
|
||||
, pixman, vde2, alsa-lib, flex, pcre2
|
||||
, bison, lzo, snappy, libaio, libtasn1, gnutls, nettle, curl, dtc, ninja, meson
|
||||
, sigtool
|
||||
, makeWrapper, removeReferencesTo
|
||||
, attr, libcap, libcap_ng, socat, libslirp
|
||||
, CoreServices, Cocoa, Hypervisor, rez, setfile, vmnet
|
||||
, guestAgentSupport ? (with stdenv.hostPlatform; isLinux || isNetBSD || isOpenBSD || isSunOS || isWindows) && !toolsOnly
|
||||
, numaSupport ? stdenv.isLinux && !stdenv.isAarch32 && !toolsOnly, numactl
|
||||
, seccompSupport ? stdenv.isLinux && !toolsOnly, libseccomp
|
||||
, alsaSupport ? lib.hasSuffix "linux" stdenv.hostPlatform.system && !nixosTestRunner && !toolsOnly
|
||||
, pulseSupport ? !stdenv.isDarwin && !nixosTestRunner && !toolsOnly, libpulseaudio
|
||||
, pipewireSupport ? !stdenv.isDarwin && !nixosTestRunner && !toolsOnly, pipewire
|
||||
, sdlSupport ? !stdenv.isDarwin && !nixosTestRunner && !toolsOnly, SDL2, SDL2_image
|
||||
, jackSupport ? !stdenv.isDarwin && !nixosTestRunner && !toolsOnly, libjack2
|
||||
, gtkSupport ? !stdenv.isDarwin && !xenSupport && !nixosTestRunner && !toolsOnly, gtk3, gettext, vte, wrapGAppsHook3
|
||||
, vncSupport ? !nixosTestRunner && !toolsOnly, libjpeg, libpng
|
||||
, smartcardSupport ? !nixosTestRunner && !toolsOnly, libcacard
|
||||
, spiceSupport ? true && !nixosTestRunner && !toolsOnly, spice, spice-protocol
|
||||
, ncursesSupport ? !nixosTestRunner && !toolsOnly, ncurses
|
||||
, guestAgentSupport ? (with stdenv.hostPlatform; isLinux || isNetBSD || isOpenBSD || isSunOS || isWindows) && !minimal
|
||||
, numaSupport ? stdenv.isLinux && !stdenv.isAarch32 && !minimal, numactl
|
||||
, seccompSupport ? stdenv.isLinux && !minimal, libseccomp
|
||||
, alsaSupport ? lib.hasSuffix "linux" stdenv.hostPlatform.system && !nixosTestRunner && !minimal
|
||||
, pulseSupport ? !stdenv.isDarwin && !nixosTestRunner && !minimal, libpulseaudio
|
||||
, pipewireSupport ? !stdenv.isDarwin && !nixosTestRunner && !minimal, pipewire
|
||||
, sdlSupport ? !stdenv.isDarwin && !nixosTestRunner && !minimal, SDL2, SDL2_image
|
||||
, jackSupport ? !stdenv.isDarwin && !nixosTestRunner && !minimal, libjack2
|
||||
, gtkSupport ? !stdenv.isDarwin && !xenSupport && !nixosTestRunner && !minimal, gtk3, gettext, vte, wrapGAppsHook3
|
||||
, vncSupport ? !nixosTestRunner && !minimal, libjpeg, libpng
|
||||
, smartcardSupport ? !nixosTestRunner && !minimal, libcacard
|
||||
, spiceSupport ? true && !nixosTestRunner && !minimal, spice, spice-protocol
|
||||
, ncursesSupport ? !nixosTestRunner && !minimal, ncurses
|
||||
, usbredirSupport ? spiceSupport, usbredir
|
||||
, xenSupport ? false, xen
|
||||
, cephSupport ? false, ceph
|
||||
, glusterfsSupport ? false, glusterfs, libuuid
|
||||
, openGLSupport ? sdlSupport, mesa, libepoxy, libdrm
|
||||
, rutabagaSupport ? openGLSupport && !toolsOnly && lib.meta.availableOn stdenv.hostPlatform rutabaga_gfx, rutabaga_gfx
|
||||
, rutabagaSupport ? openGLSupport && !minimal && lib.meta.availableOn stdenv.hostPlatform rutabaga_gfx, rutabaga_gfx
|
||||
, virglSupport ? openGLSupport, virglrenderer
|
||||
, libiscsiSupport ? !toolsOnly, libiscsi
|
||||
, libiscsiSupport ? !minimal, libiscsi
|
||||
, smbdSupport ? false, samba
|
||||
, tpmSupport ? !toolsOnly
|
||||
, uringSupport ? stdenv.isLinux, liburing
|
||||
, canokeySupport ? !toolsOnly, canokey-qemu
|
||||
, capstoneSupport ? !toolsOnly, capstone
|
||||
, enableDocs ? true
|
||||
, tpmSupport ? !minimal
|
||||
, uringSupport ? stdenv.isLinux && !userOnly, liburing
|
||||
, canokeySupport ? !minimal, canokey-qemu
|
||||
, capstoneSupport ? !minimal, capstone
|
||||
, pluginsSupport ? !stdenv.hostPlatform.isStatic
|
||||
, enableDocs ? !minimal || toolsOnly
|
||||
, enableTools ? !minimal || toolsOnly
|
||||
, enableBlobs ? !minimal || toolsOnly
|
||||
, hostCpuOnly ? false
|
||||
, hostCpuTargets ? (if toolsOnly
|
||||
then [ ]
|
||||
@ -41,6 +44,8 @@
|
||||
else null)
|
||||
, nixosTestRunner ? false
|
||||
, toolsOnly ? false
|
||||
, userOnly ? false
|
||||
, minimal ? toolsOnly || userOnly
|
||||
, gitUpdater
|
||||
, qemu-utils # for tests attribute
|
||||
}:
|
||||
@ -54,7 +59,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
+ lib.optionalString xenSupport "-xen"
|
||||
+ lib.optionalString hostCpuOnly "-host-cpu-only"
|
||||
+ lib.optionalString nixosTestRunner "-for-vm-tests"
|
||||
+ lib.optionalString toolsOnly "-utils";
|
||||
+ lib.optionalString toolsOnly "-utils"
|
||||
+ lib.optionalString userOnly "-user";
|
||||
version = "9.0.2";
|
||||
|
||||
src = fetchurl {
|
||||
@ -67,17 +73,21 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper removeReferencesTo
|
||||
pkg-config flex bison dtc meson ninja
|
||||
pkg-config flex bison meson ninja
|
||||
|
||||
# Don't change this to python3 and python3.pkgs.*, breaks cross-compilation
|
||||
python3Packages.python python3Packages.sphinx python3Packages.sphinx-rtd-theme
|
||||
python3Packages.python
|
||||
]
|
||||
++ lib.optionals gtkSupport [ wrapGAppsHook3 ]
|
||||
++ lib.optionals enableDocs [ python3Packages.sphinx python3Packages.sphinx-rtd-theme ]
|
||||
++ lib.optionals hexagonSupport [ glib ]
|
||||
++ lib.optionals stdenv.isDarwin [ sigtool ];
|
||||
++ lib.optionals stdenv.isDarwin [ sigtool ]
|
||||
++ lib.optionals (!userOnly) [ dtc ]
|
||||
# workaround, remove once this patch lands: https://lore.kernel.org/qemu-devel/20240805104921.4035256-1-hi@alyssa.is/
|
||||
++ lib.optionals (hexagonSupport && stdenv.hostPlatform.isStatic) [ pcre2 ];
|
||||
|
||||
buildInputs = [ dtc zlib glib pixman
|
||||
vde2 texinfo lzo snappy libtasn1
|
||||
buildInputs = [ zlib glib pixman
|
||||
vde2 lzo snappy libtasn1
|
||||
gnutls nettle curl libslirp
|
||||
]
|
||||
++ lib.optionals ncursesSupport [ ncurses ]
|
||||
@ -94,7 +104,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
++ lib.optionals smartcardSupport [ libcacard ]
|
||||
++ lib.optionals spiceSupport [ spice-protocol spice ]
|
||||
++ lib.optionals usbredirSupport [ usbredir ]
|
||||
++ lib.optionals stdenv.isLinux [ libaio libcap_ng libcap attr ]
|
||||
++ lib.optionals stdenv.isLinux [ libcap_ng libcap attr ]
|
||||
++ lib.optionals (stdenv.isLinux && !userOnly) [ libaio ]
|
||||
++ lib.optionals xenSupport [ xen ]
|
||||
++ lib.optionals cephSupport [ ceph ]
|
||||
++ lib.optionals glusterfsSupport [ glusterfs libuuid ]
|
||||
@ -105,9 +116,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
++ lib.optionals smbdSupport [ samba ]
|
||||
++ lib.optionals uringSupport [ liburing ]
|
||||
++ lib.optionals canokeySupport [ canokey-qemu ]
|
||||
++ lib.optionals capstoneSupport [ capstone ];
|
||||
++ lib.optionals capstoneSupport [ capstone ]
|
||||
++ lib.optionals (!userOnly) [ dtc ];
|
||||
|
||||
dontUseMesonConfigure = true; # meson's configurePhase isn't compatible with qemu build
|
||||
dontAddStaticConfigureFlags = true;
|
||||
|
||||
outputs = [ "out" ] ++ lib.optional guestAgentSupport "ga";
|
||||
# On aarch64-linux we would shoot over the Hydra's 2G output limit.
|
||||
@ -158,7 +171,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
configureFlags = [
|
||||
"--disable-strip" # We'll strip ourselves after separating debug info.
|
||||
(lib.enableFeature enableDocs "docs")
|
||||
"--enable-tools"
|
||||
(lib.enableFeature enableTools "tools")
|
||||
"--localstatedir=/var"
|
||||
"--sysconfdir=/etc"
|
||||
"--cross-prefix=${stdenv.cc.targetPrefix}"
|
||||
@ -170,7 +183,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
++ lib.optional usbredirSupport "--enable-usb-redir"
|
||||
++ lib.optional (hostCpuTargets != null) "--target-list=${lib.concatStringsSep "," hostCpuTargets}"
|
||||
++ lib.optionals stdenv.isDarwin [ "--enable-cocoa" "--enable-hvf" ]
|
||||
++ lib.optional stdenv.isLinux "--enable-linux-aio"
|
||||
++ lib.optional (stdenv.isLinux && !userOnly) "--enable-linux-aio"
|
||||
++ lib.optional gtkSupport "--enable-gtk"
|
||||
++ lib.optional xenSupport "--enable-xen"
|
||||
++ lib.optional cephSupport "--enable-rbd"
|
||||
@ -182,7 +195,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
++ lib.optional smbdSupport "--smbd=${samba}/bin/smbd"
|
||||
++ lib.optional uringSupport "--enable-linux-io-uring"
|
||||
++ lib.optional canokeySupport "--enable-canokey"
|
||||
++ lib.optional capstoneSupport "--enable-capstone";
|
||||
++ lib.optional capstoneSupport "--enable-capstone"
|
||||
++ lib.optional (!pluginsSupport) "--disable-plugins"
|
||||
++ lib.optional (!enableBlobs) "--disable-install-blobs"
|
||||
++ lib.optional userOnly "--disable-system"
|
||||
++ lib.optional stdenv.hostPlatform.isStatic "--static";
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
@ -206,6 +223,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
for f in $out/bin/qemu-system-*; do
|
||||
wrapGApp $f
|
||||
done
|
||||
'' + lib.optionalString stdenv.hostPlatform.isStatic ''
|
||||
# HACK: Otherwise the result will have the entire buildInputs closure
|
||||
# injected by the pkgsStatic stdenv
|
||||
# <https://github.com/NixOS/nixpkgs/issues/83667>
|
||||
rm -f $out/nix-support/propagated-build-inputs
|
||||
'';
|
||||
preBuild = "cd build";
|
||||
|
||||
@ -249,7 +271,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
|
||||
# Add a ‘qemu-kvm’ wrapper for compatibility/convenience.
|
||||
postInstall = lib.optionalString (!toolsOnly) ''
|
||||
postInstall = lib.optionalString (!minimal) ''
|
||||
ln -s $out/bin/qemu-system-${stdenv.hostPlatform.qemuArch} $out/bin/qemu-kvm
|
||||
'';
|
||||
|
||||
@ -278,7 +300,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
platforms = platforms.unix;
|
||||
}
|
||||
# toolsOnly: Does not have qemu-kvm and there's no main support tool
|
||||
// lib.optionalAttrs (!toolsOnly) {
|
||||
# userOnly: There's one qemu-<arch> for every architecture
|
||||
// lib.optionalAttrs (!toolsOnly && !userOnly) {
|
||||
mainProgram = "qemu-kvm";
|
||||
}
|
||||
# userOnly: https://qemu.readthedocs.io/en/v9.0.2/user/main.html
|
||||
// lib.optionalAttrs userOnly {
|
||||
platforms = with platforms; (linux ++ freebsd ++ openbsd ++ netbsd);
|
||||
description = "QEMU User space emulator - launch executables compiled for one CPU on another CPU";
|
||||
};
|
||||
})
|
||||
|
@ -1,32 +1,38 @@
|
||||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, installShellFiles
|
||||
, dbus
|
||||
, libseccomp
|
||||
, systemd
|
||||
, stdenv
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
pkg-config,
|
||||
installShellFiles,
|
||||
dbus,
|
||||
libseccomp,
|
||||
systemd,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "youki";
|
||||
version = "0.3.2";
|
||||
version = "0.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containers";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-/cc+gHnakxC446MxErvgCDvc1gMWNi45h6fZ1Cd1Pj0=";
|
||||
hash = "sha256-lOt+bi9JbHLRUFiSoIfgNH2f9LXcrKk7vSz8fXLFDJE=";
|
||||
};
|
||||
|
||||
cargoPatches = [
|
||||
./fix-cargo-lock.patch
|
||||
cargoPatches = [ ./fix-cargo-lock.patch ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config installShellFiles ];
|
||||
|
||||
buildInputs = [ dbus libseccomp systemd ];
|
||||
buildInputs = [
|
||||
dbus
|
||||
libseccomp
|
||||
systemd
|
||||
];
|
||||
|
||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
installShellCompletion --cmd youki \
|
||||
@ -35,17 +41,23 @@ rustPlatform.buildRustPackage rec {
|
||||
--zsh <($out/bin/youki completion -s zsh)
|
||||
'';
|
||||
|
||||
cargoBuildFlags = [ "-p" "youki" ];
|
||||
cargoTestFlags = [ "-p" "youki" ];
|
||||
cargoBuildFlags = [
|
||||
"-p"
|
||||
"youki"
|
||||
];
|
||||
cargoTestFlags = [
|
||||
"-p"
|
||||
"youki"
|
||||
];
|
||||
|
||||
cargoHash = "sha256-PKn448fOCnyMC42NtQnLt8kvZIBautsq4Fw/bRvwmpw=";
|
||||
cargoHash = "sha256-bbKuycv747NKtxhnakASRtlkPqT2Ry6g0z4Zi1EuNzQ=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Container runtime written in Rust";
|
||||
homepage = "https://containers.github.io/youki/";
|
||||
changelog = "https://github.com/containers/youki/releases/tag/v${version}";
|
||||
license = licenses.asl20;
|
||||
maintainers = [ ];
|
||||
maintainers = with maintainers; [ builditluc ];
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "youki";
|
||||
};
|
||||
|
@ -1,40 +1,82 @@
|
||||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index cfef78c0..7cad3faa 100644
|
||||
index ffbcdc33..62659a4d 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -1879,7 +1879,7 @@ checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
|
||||
@@ -1915,7 +1915,7 @@ checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
|
||||
|
||||
[[package]]
|
||||
name = "libcgroups"
|
||||
-version = "0.3.1"
|
||||
+version = "0.3.2"
|
||||
-version = "0.3.2"
|
||||
+version = "0.3.3"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"clap",
|
||||
@@ -1904,7 +1904,7 @@ dependencies = [
|
||||
@@ -1940,7 +1940,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "libcontainer"
|
||||
-version = "0.3.1"
|
||||
+version = "0.3.2"
|
||||
-version = "0.3.2"
|
||||
+version = "0.3.3"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"bitflags 2.4.2",
|
||||
@@ -1947,7 +1947,7 @@ dependencies = [
|
||||
"bitflags 2.5.0",
|
||||
@@ -1983,7 +1983,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "liboci-cli"
|
||||
-version = "0.3.1"
|
||||
+version = "0.3.2"
|
||||
-version = "0.3.2"
|
||||
+version = "0.3.3"
|
||||
dependencies = [
|
||||
"clap",
|
||||
]
|
||||
@@ -5712,7 +5712,7 @@ dependencies = [
|
||||
@@ -3881,9 +3881,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
-version = "0.3.34"
|
||||
+version = "0.3.36"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
|
||||
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
|
||||
dependencies = [
|
||||
"deranged",
|
||||
"itoa",
|
||||
@@ -3893,7 +3893,7 @@ dependencies = [
|
||||
"powerfmt",
|
||||
"serde",
|
||||
"time-core",
|
||||
- "time-macros 0.2.17",
|
||||
+ "time-macros 0.2.18",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3914,9 +3914,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "time-macros"
|
||||
-version = "0.2.17"
|
||||
+version = "0.2.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
|
||||
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
|
||||
dependencies = [
|
||||
"num-conv",
|
||||
"time-core",
|
||||
@@ -4287,7 +4287,7 @@ dependencies = [
|
||||
"anyhow",
|
||||
"cfg-if",
|
||||
"rustversion",
|
||||
- "time 0.3.34",
|
||||
+ "time 0.3.36",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -5678,7 +5678,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "youki"
|
||||
-version = "0.3.1"
|
||||
+version = "0.3.2"
|
||||
-version = "0.3.2"
|
||||
+version = "0.3.3"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"caps",
|
||||
|
@ -3,17 +3,18 @@
|
||||
mkHyprlandPlugin,
|
||||
fetchFromGitHub,
|
||||
hyprland,
|
||||
unstableGitUpdater,
|
||||
}:
|
||||
|
||||
mkHyprlandPlugin hyprland {
|
||||
pluginName = "hypr-dynamic-cursors";
|
||||
version = "0-unstable-2024-07-06";
|
||||
version = "0-unstable-2024-08-01";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "VirtCode";
|
||||
repo = "hypr-dynamic-cursors";
|
||||
rev = "85423b074e112f28e84f6276d31d1548906a625e";
|
||||
hash = "sha256-lCAZ/7xtOE6P7uPIX2uQgC0nDOBZefWYO3O3izRx19E=";
|
||||
rev = "ed2ff68862ae02e04dd06488eb7228e4412f5c33";
|
||||
hash = "sha256-02G/SPd/X7zSIFF3V6dkh8mGGWoO0/m6/Yld7HyPmJs=";
|
||||
};
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
@ -27,6 +28,8 @@ mkHyprlandPlugin hyprland {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { };
|
||||
|
||||
meta = {
|
||||
description = "Plugin to make your Hyprland cursor more realistic";
|
||||
homepage = "https://github.com/VirtCode/hypr-dynamic-cursors";
|
||||
|
@ -17,6 +17,7 @@ let
|
||||
fetchModule =
|
||||
{ module
|
||||
, npmRoot ? null
|
||||
, fetcherOpts
|
||||
}: (
|
||||
if module ? "resolved" then
|
||||
(
|
||||
@ -34,16 +35,16 @@ let
|
||||
)
|
||||
else if (scheme == "http" || scheme == "https") then
|
||||
(
|
||||
fetchurl {
|
||||
fetchurl ({
|
||||
url = module.resolved;
|
||||
hash = module.integrity;
|
||||
}
|
||||
} // fetcherOpts )
|
||||
)
|
||||
else if lib.hasPrefix "git" module.resolved then
|
||||
(
|
||||
builtins.fetchGit {
|
||||
builtins.fetchGit ({
|
||||
url = module.resolved;
|
||||
}
|
||||
} // fetcherOpts )
|
||||
)
|
||||
else throw "Unsupported URL scheme: ${scheme}"
|
||||
)
|
||||
@ -62,6 +63,10 @@ in
|
||||
, packageLock ? importJSON (npmRoot + "/package-lock.json")
|
||||
, pname ? getName package
|
||||
, version ? getVersion package
|
||||
# A map of additional fetcher options forwarded to the fetcher used to download the package.
|
||||
# Example: { "node_modules/axios" = { curlOptsList = [ "--verbose" ]; }; }
|
||||
# This will download the axios package with curl's verbose option.
|
||||
, fetcherOpts ? {}
|
||||
}:
|
||||
let
|
||||
mapLockDependencies =
|
||||
@ -82,10 +87,11 @@ in
|
||||
packageLock' = packageLock // {
|
||||
packages =
|
||||
mapAttrs
|
||||
(_: module:
|
||||
(modulePath: module:
|
||||
let
|
||||
src = fetchModule {
|
||||
inherit module npmRoot;
|
||||
fetcherOpts = fetcherOpts.${modulePath} or {};
|
||||
};
|
||||
in
|
||||
(removeAttrs module [
|
||||
|
26
pkgs/by-name/ab/abcmidi/package.nix
Normal file
26
pkgs/by-name/ab/abcmidi/package.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "abcmidi";
|
||||
version = "2024.08.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sshlien";
|
||||
repo = "abcmidi";
|
||||
rev = "refs/tags/${finalAttrs.version}";
|
||||
hash = "sha256-ljRwRSF6Odv99ej8mmMjtf9NE0du7TtAypkw7W9TEYU=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://abc.sourceforge.net/abcMIDI/";
|
||||
downloadPage = "https://ifdo.ca/~seymour/runabc/top.html";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
description = "Utilities for converting between abc and MIDI";
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = [ lib.maintainers.dotlambda ];
|
||||
};
|
||||
})
|
@ -9,11 +9,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "arc-browser";
|
||||
version = "1.52.0-51895";
|
||||
version = "1.55.0-52417";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://releases.arc.net/release/Arc-${finalAttrs.version}.dmg";
|
||||
hash = "sha256-IGUrU6J7xI0ay/ZQaC6xaI+Tl7ateAVOpGxtmR0yGIA=";
|
||||
hash = "sha256-8r5SAnk1iPqqad1RKVDXkqd6tHUQCRRYnkWrQdyub+o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ undmg ];
|
||||
|
2013
pkgs/by-name/at/attic-client/Cargo.lock
generated
2013
pkgs/by-name/at/attic-client/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -11,13 +11,13 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "attic";
|
||||
version = "0.1.0";
|
||||
version = "0-unstable-2024-08-01";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zhaofengli";
|
||||
repo = "attic";
|
||||
rev = "6eabc3f02fae3683bffab483e614bebfcd476b21";
|
||||
hash = "sha256-wSZjK+rOXn+UQiP1NbdNn5/UW6UcBxjvlqr2wh++MbM=";
|
||||
rev = "e127acbf9a71ebc0c26bc8e28346822e0a6e16ba";
|
||||
hash = "sha256-GJIz4M5HDB948Ex/8cPvbkrNzl/eKUE7/c21JBu4lb8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -41,6 +41,7 @@ rustPlatform.buildRustPackage {
|
||||
cargoBuildFlags = lib.concatMapStrings (c: "-p ${c} ") crates;
|
||||
|
||||
ATTIC_DISTRIBUTOR = "attic";
|
||||
NIX_INCLUDE_PATH = "${lib.getDev nix}/include";
|
||||
|
||||
# Attic interacts with Nix directly and its tests require trusted-user access
|
||||
# to nix-daemon to import NARs, which is not possible in the build sandbox.
|
||||
|
@ -8,14 +8,14 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "clippy-sarif";
|
||||
version = "0.6.0";
|
||||
version = "0.6.5";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
hash = "sha256-VFwLys5lVVQw3dmfY1nrI+Bi0tm7kjD2/1c1DLczLwk=";
|
||||
hash = "sha256-vwHb622JIJr+iRx/MhWdXoRULnKqtxx6HB4rv9zpYA8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-zktbOyBa200YSZBuLs3xU95bh9kvj5XZQKb7tpiTs1I=";
|
||||
cargoHash = "sha256-bRB6DedlvFsHcjTJQiGn///M9YOp1rl9FxXQlzuI0vo=";
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
|
2295
pkgs/by-name/co/cosmic-edit/Cargo.lock
generated
2295
pkgs/by-name/co/cosmic-edit/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -26,22 +26,22 @@ rustPlatform.buildRustPackage rec {
|
||||
owner = "pop-os";
|
||||
repo = pname;
|
||||
rev = "epoch-${version}";
|
||||
hash = "sha256-54DwcI/pwN6nRnHC6GeDYVJXNgS+xBQTnRrKV2YMGUA=";
|
||||
hash = "sha256-ZG5Ctyp2crTDS0WxhQqwN4T6WR5qW79HTbICMlOA3P8=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"accesskit-0.12.2" = "sha256-ksaYMGT/oug7isQY8/1WD97XDUsX2ShBdabUzxWffYw=";
|
||||
"accesskit-0.12.2" = "sha256-1UwgRyUe0PQrZrpS7574oNLi13fg5HpgILtZGW6JNtQ=";
|
||||
"atomicwrites-0.4.2" = "sha256-QZSuGPrJXh+svMeFWqAXoqZQxLq/WfIiamqvjJNVhxA=";
|
||||
"clipboard_macos-0.1.0" = "sha256-PEH+aCpjDCEIj8s39nIeWxb7qu3u9IfriGqf0pYObMk=";
|
||||
"cosmic-config-0.1.0" = "sha256-x/xWMR5w2oEbghTSa8iCi24DA2s99+tcnga8K6jS6HQ=";
|
||||
"cosmic-files-0.1.0" = "sha256-4uwqRzkttmPQlqkX6xLjxyXRcqUhchCjAzZH9wmR+Tk=";
|
||||
"clipboard_macos-0.1.0" = "sha256-cG5vnkiyDlQnbEfV2sPbmBYKv1hd3pjJrymfZb8ziKk=";
|
||||
"cosmic-config-0.1.0" = "sha256-DgMh0gqWUmXjBhBySR0CMnv/8O3XbS2BwomU9eNt+4o=";
|
||||
"cosmic-files-0.1.0" = "sha256-QDkHhU0zE0szFwGuVuSYrXd7AUdTU1rYxlAsaHr2YvQ=";
|
||||
"cosmic-syntax-theme-0.1.0" = "sha256-BNb9wrryD5FJImboD3TTdPRIfiBqPpItqwGdT1ZiNng=";
|
||||
"cosmic-text-0.11.2" = "sha256-gUIQFHPaFTmtUfgpVvsGTnw2UKIBx9gl0K67KPuynWs=";
|
||||
"cosmic-text-0.12.1" = "sha256-x0XTxzbmtE2d4XCG/Nuq3DzBpz15BbnjRRlirfNJEiU=";
|
||||
"d3d12-0.19.0" = "sha256-usrxQXWLGJDjmIdw1LBXtBvX+CchZDvE8fHC0LjvhD4=";
|
||||
"glyphon-0.5.0" = "sha256-j1HrbEpUBqazWqNfJhpyjWuxYAxkvbXzRKeSouUoPWg=";
|
||||
"smithay-clipboard-0.8.0" = "sha256-OZOGbdzkgRIeDFrAENXE7g62eQTs60Je6lYVr0WudlE=";
|
||||
"smithay-clipboard-0.8.0" = "sha256-4InFXm0ahrqFrtNLeqIuE3yeOpxKZJZx+Bc0yQDtv34=";
|
||||
"softbuffer-0.4.1" = "sha256-a0bUFz6O8CWRweNt/OxTvflnPYwO5nm6vsyc/WcXyNg=";
|
||||
"taffy-0.3.11" = "sha256-SCx9GEIJjWdoNVyq+RZAGn0N71qraKZxf9ZWhvyzLaI=";
|
||||
"winit-0.29.10" = "sha256-ScTII2AzK3SC8MVeASZ9jhVWsEaGrSQ2BnApTxgfxK4=";
|
||||
|
3929
pkgs/by-name/co/cosmic-settings/Cargo.lock
generated
3929
pkgs/by-name/co/cosmic-settings/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -26,27 +26,31 @@ rustPlatform.buildRustPackage rec {
|
||||
owner = "pop-os";
|
||||
repo = pname;
|
||||
rev = "epoch-${version}";
|
||||
hash = "sha256-OGei48Eu0kBXlWwGQaRZULAOnKyrDjCXV8OuWdOmv8E=";
|
||||
hash = "sha256-gTzZvhj7oBuL23dtedqfxUCT413eMoDc0rlNeqCeZ6E=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"accesskit-0.12.2" = "sha256-ksaYMGT/oug7isQY8/1WD97XDUsX2ShBdabUzxWffYw=";
|
||||
"accesskit-0.12.2" = "sha256-1UwgRyUe0PQrZrpS7574oNLi13fg5HpgILtZGW6JNtQ=";
|
||||
"atomicwrites-0.4.2" = "sha256-QZSuGPrJXh+svMeFWqAXoqZQxLq/WfIiamqvjJNVhxA=";
|
||||
"cosmic-bg-config-0.1.0" = "sha256-2P2NcgDmytvBCMbG8isfZrX+JirMwAz8qjW3BhfhebI=";
|
||||
"cosmic-client-toolkit-0.1.0" = "sha256-vj7Wm1uJ5ULvGNEwKznNhujCZQiuntsWMyKQbIVaO/Q=";
|
||||
"cosmic-comp-config-0.1.0" = "sha256-btXMVpgf6CKSXuUeNydreibgrRvBwiljYucaoch6RKs=";
|
||||
"cosmic-config-0.1.0" = "sha256-QDcU9kVRHJmr8yuHq5C0RahQz0xBMkmDboW9Y2Tsk5s=";
|
||||
"cosmic-panel-config-0.1.0" = "sha256-gPQ5BsLvhnopnnGeKbUizmgk0yhEEgSD0etX9YEWc5E=";
|
||||
"cosmic-randr-shell-0.1.0" = "sha256-t1PM/uIM+lbBwgFsKnRiqPZnlb4dxZnN72MfnW0HU/0=";
|
||||
"cosmic-text-0.11.2" = "sha256-EG0jERREWR4MBWKgFmE/t6SpTTQRXK76PPa7+/TAKOA=";
|
||||
"clipboard_macos-0.1.0" = "sha256-cG5vnkiyDlQnbEfV2sPbmBYKv1hd3pjJrymfZb8ziKk=";
|
||||
"cosmic-bg-config-0.1.0" = "sha256-keKTWghlKehLQA9J9SQjAvGCaZY/7xWWteDtmLoThD0=";
|
||||
"cosmic-client-toolkit-0.1.0" = "sha256-1XtyEvednEMN4MApxTQid4eed19dEN5ZBDt/XRjuda0=";
|
||||
"cosmic-comp-config-0.1.0" = "sha256-2Q1gZLvOnl5WHlL/F3lxwOh5ispnOdYSw7P6SEgwaIY=";
|
||||
"cosmic-config-0.1.0" = "sha256-bNhEdOQVdPKxFlExH9+yybAVFEiFcbl8KHWeajKLXlI=";
|
||||
"cosmic-panel-config-0.1.0" = "sha256-u4JGl6s3AGL/sPl/i8OnYPmFlGPREoy6V+sNw+A96t0=";
|
||||
"cosmic-protocols-0.1.0" = "sha256-zWuvZrg39REZpviQPfLNyfmWBzMS7A7IBUTi8ZRhxXs=";
|
||||
"cosmic-randr-0.1.0" = "sha256-g9zoqjPHRv6Tw/Xn8VtFS3H/66tfHSl/DR2lH3Z2ysA=";
|
||||
"cosmic-settings-config-0.1.0" = "sha256-/Qav6r4VQ8ZDSs/tqHeutxYH3u4HiTBFWTfAYUSl2HQ=";
|
||||
"cosmic-settings-daemon-0.1.0" = "sha256-+1XB7r45Uc71fLnNR4U0DUF2EB8uzKeE4HIrdvKhFXo=";
|
||||
"cosmic-text-0.12.1" = "sha256-x0XTxzbmtE2d4XCG/Nuq3DzBpz15BbnjRRlirfNJEiU=";
|
||||
"d3d12-0.19.0" = "sha256-usrxQXWLGJDjmIdw1LBXtBvX+CchZDvE8fHC0LjvhD4=";
|
||||
"glyphon-0.5.0" = "sha256-j1HrbEpUBqazWqNfJhpyjWuxYAxkvbXzRKeSouUoPWg=";
|
||||
"smithay-client-toolkit-0.18.0" = "sha256-2WbDKlSGiyVmi7blNBr2Aih9FfF2dq/bny57hoA4BrE=";
|
||||
"smithay-clipboard-0.8.0" = "sha256-4InFXm0ahrqFrtNLeqIuE3yeOpxKZJZx+Bc0yQDtv34=";
|
||||
"softbuffer-0.4.1" = "sha256-a0bUFz6O8CWRweNt/OxTvflnPYwO5nm6vsyc/WcXyNg=";
|
||||
"taffy-0.3.11" = "sha256-SCx9GEIJjWdoNVyq+RZAGn0N71qraKZxf9ZWhvyzLaI=";
|
||||
"xdg-shell-wrapper-config-0.1.0" = "sha256-PfuybCDLeRcVCkVxFK2T9BnL2uJz7C4EEPDZ9cWlPqk=";
|
||||
"winit-0.29.10" = "sha256-ScTII2AzK3SC8MVeASZ9jhVWsEaGrSQ2BnApTxgfxK4=";
|
||||
};
|
||||
};
|
||||
|
||||
|
2400
pkgs/by-name/co/cosmic-store/Cargo.lock
generated
2400
pkgs/by-name/co/cosmic-store/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -11,22 +11,22 @@ rustPlatform.buildRustPackage rec {
|
||||
owner = "pop-os";
|
||||
repo = pname;
|
||||
rev = "epoch-${version}";
|
||||
hash = "sha256-KHYcQnaRFoYzl/00mFkS6MJS7Th0T0fQhxYUErjzGCo=";
|
||||
hash = "sha256-RuqWO2/sqMMd9xMRClAy7cwv7iCTEC15TZ7JLBZ2zwM=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"accesskit-0.12.2" = "sha256-ksaYMGT/oug7isQY8/1WD97XDUsX2ShBdabUzxWffYw=";
|
||||
"appstream-0.2.2" = "sha256-Qb/zzZJ2sM97nGVtp8amecTlwuaDrx1cacDcZOwhUm8=";
|
||||
"accesskit-0.12.2" = "sha256-1UwgRyUe0PQrZrpS7574oNLi13fg5HpgILtZGW6JNtQ=";
|
||||
"appstream-0.2.2" = "sha256-OWeNXxvqU8s0ksdY9v5bZeNfDYgMBVd1DhEAjjZxEmo=";
|
||||
"atomicwrites-0.4.2" = "sha256-QZSuGPrJXh+svMeFWqAXoqZQxLq/WfIiamqvjJNVhxA=";
|
||||
"clipboard_macos-0.1.0" = "sha256-PEH+aCpjDCEIj8s39nIeWxb7qu3u9IfriGqf0pYObMk=";
|
||||
"cosmic-config-0.1.0" = "sha256-Ps2QIzlwgW8ENB+uD6cOjCkjlZvmWspazsXNxDFCu7g=";
|
||||
"cosmic-text-0.11.2" = "sha256-K9cZeClr1zz4LanJS0WPEpxAplQrXfCjFKrSn5n4rDA=";
|
||||
"clipboard_macos-0.1.0" = "sha256-cG5vnkiyDlQnbEfV2sPbmBYKv1hd3pjJrymfZb8ziKk=";
|
||||
"cosmic-config-0.1.0" = "sha256-d2R5xytwf0BIbllG6elc/nn7nmiC3+VI1g3EiW8WEHA=";
|
||||
"cosmic-text-0.12.0" = "sha256-VUUCcW5XnkmCB8cQ5t2xT70wVD5WKXEOPNgNd2xod2A=";
|
||||
"d3d12-0.19.0" = "sha256-usrxQXWLGJDjmIdw1LBXtBvX+CchZDvE8fHC0LjvhD4=";
|
||||
"glyphon-0.5.0" = "sha256-j1HrbEpUBqazWqNfJhpyjWuxYAxkvbXzRKeSouUoPWg=";
|
||||
"smithay-clipboard-0.8.0" = "sha256-OZOGbdzkgRIeDFrAENXE7g62eQTs60Je6lYVr0WudlE=";
|
||||
"smithay-clipboard-0.8.0" = "sha256-pBQZ+UXo9hZ907mfpcZk+a+8pKrIWdczVvPkjT3TS8U=";
|
||||
"softbuffer-0.4.1" = "sha256-a0bUFz6O8CWRweNt/OxTvflnPYwO5nm6vsyc/WcXyNg=";
|
||||
"taffy-0.3.11" = "sha256-SCx9GEIJjWdoNVyq+RZAGn0N71qraKZxf9ZWhvyzLaI=";
|
||||
"winit-0.29.10" = "sha256-ScTII2AzK3SC8MVeASZ9jhVWsEaGrSQ2BnApTxgfxK4=";
|
||||
|
2319
pkgs/by-name/co/cosmic-term/Cargo.lock
generated
2319
pkgs/by-name/co/cosmic-term/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -24,22 +24,22 @@ rustPlatform.buildRustPackage rec {
|
||||
owner = "pop-os";
|
||||
repo = pname;
|
||||
rev = "epoch-${version}";
|
||||
hash = "sha256-IVLwWG4WUGXK9jY/d0Vr8RX/Klj1mUe4Q7Huv0BkjDo=";
|
||||
hash = "sha256-dY4QGQXJFL+yjCYRGCg3NfMLMjlEBSEmxHn68PvhCAQ=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"accesskit-0.12.2" = "sha256-ksaYMGT/oug7isQY8/1WD97XDUsX2ShBdabUzxWffYw=";
|
||||
"accesskit-0.12.2" = "sha256-1UwgRyUe0PQrZrpS7574oNLi13fg5HpgILtZGW6JNtQ=";
|
||||
"atomicwrites-0.4.2" = "sha256-QZSuGPrJXh+svMeFWqAXoqZQxLq/WfIiamqvjJNVhxA=";
|
||||
"clipboard_macos-0.1.0" = "sha256-PEH+aCpjDCEIj8s39nIeWxb7qu3u9IfriGqf0pYObMk=";
|
||||
"cosmic-config-0.1.0" = "sha256-x/xWMR5w2oEbghTSa8iCi24DA2s99+tcnga8K6jS6HQ=";
|
||||
"cosmic-files-0.1.0" = "sha256-KzWlmeZP3F5Kavi9FFXo3o8nB/h79TtOhqWUyI1ZRB0=";
|
||||
"cosmic-text-0.11.2" = "sha256-K9cZeClr1zz4LanJS0WPEpxAplQrXfCjFKrSn5n4rDA=";
|
||||
"clipboard_macos-0.1.0" = "sha256-cG5vnkiyDlQnbEfV2sPbmBYKv1hd3pjJrymfZb8ziKk=";
|
||||
"cosmic-config-0.1.0" = "sha256-DgMh0gqWUmXjBhBySR0CMnv/8O3XbS2BwomU9eNt+4o=";
|
||||
"cosmic-files-0.1.0" = "sha256-QDkHhU0zE0szFwGuVuSYrXd7AUdTU1rYxlAsaHr2YvQ=";
|
||||
"cosmic-text-0.12.1" = "sha256-x0XTxzbmtE2d4XCG/Nuq3DzBpz15BbnjRRlirfNJEiU=";
|
||||
"d3d12-0.19.0" = "sha256-usrxQXWLGJDjmIdw1LBXtBvX+CchZDvE8fHC0LjvhD4=";
|
||||
"glyphon-0.5.0" = "sha256-j1HrbEpUBqazWqNfJhpyjWuxYAxkvbXzRKeSouUoPWg=";
|
||||
"libc-0.2.151" = "sha256-VcNTcLOnVXMlX86yeY0VDfIfKOZyyx/DO1Hbe30BsaI=";
|
||||
"smithay-clipboard-0.8.0" = "sha256-OZOGbdzkgRIeDFrAENXE7g62eQTs60Je6lYVr0WudlE=";
|
||||
"libc-0.2.154" = "sha256-/pkmpCxzRTjBiLFKauqUqGTBTxNUQX4zwPWYpDsjwVQ=";
|
||||
"smithay-clipboard-0.8.0" = "sha256-4InFXm0ahrqFrtNLeqIuE3yeOpxKZJZx+Bc0yQDtv34=";
|
||||
"softbuffer-0.4.1" = "sha256-a0bUFz6O8CWRweNt/OxTvflnPYwO5nm6vsyc/WcXyNg=";
|
||||
"taffy-0.3.11" = "sha256-SCx9GEIJjWdoNVyq+RZAGn0N71qraKZxf9ZWhvyzLaI=";
|
||||
"winit-0.29.10" = "sha256-ScTII2AzK3SC8MVeASZ9jhVWsEaGrSQ2BnApTxgfxK4=";
|
||||
|
@ -6,18 +6,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "crawley";
|
||||
version = "1.7.7";
|
||||
version = "1.7.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "s0rg";
|
||||
repo = "crawley";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-m8hZTNEHJpslGloWE7q5QDmLQfAs+10Ad/B12HsIAGw=";
|
||||
hash = "sha256-Sw9FZVVar8aG0+RO64cYzJ2OZb80cgHw2we+e+BV9QY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
vendorHash = "sha256-SvNFG5NI+K8yTTrd1GCwzrLe7KZELWBOfn+iiqhBjuQ=";
|
||||
vendorHash = "sha256-w/TLGJvHVbuv+wrOI+RQnZl3I62QYbqd9W1hcUbz2b0=";
|
||||
|
||||
ldflags = [ "-w" "-s" ];
|
||||
|
||||
|
@ -29,6 +29,9 @@ buildGoModule rec {
|
||||
tests = {
|
||||
inherit (nixosTests) ddns-updater;
|
||||
};
|
||||
# nixpkgs-update: no auto update
|
||||
# Necessary only as rryantm keeps getting confused and thinks 2.6.1 is newer than 2.7.0
|
||||
# TODO remove once version newer than 2.7.0 is released
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
|
@ -13,13 +13,13 @@
|
||||
stdenv.mkDerivation {
|
||||
pname = "flameshot";
|
||||
# wlr screenshotting is currently only available on unstable version (>12.1.0)
|
||||
version = "12.1.0-unstable-2024-07-02";
|
||||
version = "12.1.0-unstable-2024-08-02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flameshot-org";
|
||||
repo = "flameshot";
|
||||
rev = "ccb5a27b136a633911b3b1006185530d9beeea5d";
|
||||
hash = "sha256-JIXsdVUR/4183aJ0gvNGYPTyCzX7tCrk8vRtR8bcdhE=";
|
||||
rev = "fd3772e2abb0b852573fcaa549ba13517f13555c";
|
||||
hash = "sha256-WXUxrirlevqJ+dnXZbN1C1l5ibuSI/DBi5fqPx9nOGQ=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
62
pkgs/by-name/fo/forgejo-cli/package.nix
Normal file
62
pkgs/by-name/fo/forgejo-cli/package.nix
Normal file
@ -0,0 +1,62 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitea,
|
||||
pkg-config,
|
||||
libgit2,
|
||||
oniguruma,
|
||||
openssl,
|
||||
zlib,
|
||||
stdenv,
|
||||
darwin,
|
||||
}:
|
||||
let
|
||||
version = "0.1.1";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "forgejo-cli";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "Cyborus";
|
||||
repo = "forgejo-cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-367O4SpGA0gWM/IIJjIbCoi4+N/Vl58T5Jw/NVsE+7o=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-F7UBLqMXYS8heJs1mdmiFTHUfgoMKEb+KV4tiDsIRDY=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
libgit2
|
||||
oniguruma
|
||||
openssl
|
||||
zlib
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin (
|
||||
with darwin.apple_sdk.frameworks;
|
||||
[
|
||||
Security
|
||||
SystemConfiguration
|
||||
]
|
||||
);
|
||||
|
||||
env = {
|
||||
RUSTONIG_SYSTEM_LIBONIG = true;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "CLI application for interacting with Forgejo";
|
||||
homepage = "https://codeberg.org/Cyborus/forgejo-cli";
|
||||
changelog = "https://codeberg.org/Cyborus/forgejo-cli/releases/tag/v${version}";
|
||||
license = with lib.licenses; [
|
||||
asl20
|
||||
mit
|
||||
];
|
||||
maintainers = with lib.maintainers; [ isabelroses ];
|
||||
mainProgram = "fj";
|
||||
};
|
||||
}
|
63
pkgs/by-name/gi/git-gamble/package.nix
Normal file
63
pkgs/by-name/gi/git-gamble/package.nix
Normal file
@ -0,0 +1,63 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitLab,
|
||||
gitMinimal,
|
||||
installShellFiles,
|
||||
makeWrapper,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
let
|
||||
version = "2.9.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "pinage404";
|
||||
repo = "git-gamble";
|
||||
rev = "version/${version}";
|
||||
hash = "sha256-hMP5mBKXcO+Ws04G3OxdYuB5JoaSjlYtlkerRQ6+bXw=";
|
||||
};
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "git-gamble";
|
||||
inherit version src;
|
||||
|
||||
cargoHash = "sha256-vrzcNdLY2PkyZ1eLwOiONRHVAolbTDxytEgi09WkDZQ=";
|
||||
|
||||
nativeCheckInputs = [ gitMinimal ];
|
||||
preCheck = ''
|
||||
patchShebangs tests/editor/fake_editor.sh
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
makeWrapper
|
||||
];
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/git-gamble \
|
||||
--prefix PATH : "${lib.makeBinPath [ gitMinimal ]}"
|
||||
|
||||
export PATH="$PATH:$out/bin/"
|
||||
|
||||
sh ./script/generate_completion.sh target/release/shell_completions/
|
||||
installShellCompletion --cmd git-gamble \
|
||||
--bash target/release/shell_completions/git-gamble.bash \
|
||||
--fish target/release/shell_completions/git-gamble.fish \
|
||||
--zsh target/release/shell_completions/_git-gamble
|
||||
|
||||
sh ./script/usage.sh > git-gamble.1
|
||||
installManPage git-gamble.1
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Tool that blends TDD (Test Driven Development) + TCR (`test && commit || revert`)";
|
||||
homepage = "https://git-gamble.is-cool.dev";
|
||||
changelog = "https://gitlab.com/pinage404/git-gamble/-/blob/${src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.isc;
|
||||
sourceProvenance = [ lib.sourceTypes.fromSource ];
|
||||
maintainers = [ lib.maintainers.pinage404 ];
|
||||
mainProgram = "git-gamble";
|
||||
};
|
||||
}
|
@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "glance";
|
||||
version = "0.5.0";
|
||||
version = "0.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "glanceapp";
|
||||
repo = "glance";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-37DmLZ8ESJwB2R8o5WjeypKsCQwarF3x8UYz1OQT/tM=";
|
||||
hash = "sha256-ebHSnzTRmWw2YBnVIR4h2zdZvbUHbKVzmQYPHDTvZDQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Okme73vLc3Pe9+rNlmG8Bj1msKaVb5PaIBsAAeTer6s=";
|
||||
|
@ -16,14 +16,14 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "home-manager";
|
||||
version = "0-unstable-2024-08-02";
|
||||
version = "0-unstable-2024-08-11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
name = "home-manager-source";
|
||||
owner = "nix-community";
|
||||
repo = "home-manager";
|
||||
rev = "afc892db74d65042031a093adb6010c4c3378422";
|
||||
hash = "sha256-QfM/9BMRkCmgWzrPDK+KbgJOUlSJnfX4OvsUupEUZvA=";
|
||||
rev = "086f619dd991a4d355c07837448244029fc2d9ab";
|
||||
hash = "sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -20,14 +20,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "htcondor";
|
||||
version = "23.8.1";
|
||||
version = "23.9.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "htcondor";
|
||||
repo = "htcondor";
|
||||
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ccrc3ykhZQc2ExFKgwk3g5ivqh/fLTM7T9nz2YTMx3Y=";
|
||||
hash = "sha256-Xm1K3KESOVStOi6iyCGA8qbQ2IcyS//sF5pvnnMZAlA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -10,16 +10,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "hugo";
|
||||
version = "0.131.0";
|
||||
version = "0.132.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gohugoio";
|
||||
repo = "hugo";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-FtCh96ZPSwaFko/BIMoDoKwBt+sYBuhCG7ug6oYgdKQ=";
|
||||
hash = "sha256-PhjoFhiFPnhKUb/A6wP4T0GIz4XCQCobEniAvJRZqJg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-enhuBKRr2wZN04kGiTKlBX/CnBkL16Ivllg85N97Mt4=";
|
||||
vendorHash = "sha256-7HdMbbMjYd+SZ4mJVqLOwAnJBnQs3WDCSaIXtIdpXBk=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -13,10 +13,8 @@
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
writeScript,
|
||||
writeShellScript,
|
||||
acl,
|
||||
cowsql,
|
||||
hwdata,
|
||||
libcap,
|
||||
lxc,
|
||||
pkg-config,
|
||||
@ -38,6 +36,11 @@ buildGoModule rec {
|
||||
version
|
||||
;
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"agent_loader"
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lxc";
|
||||
repo = "incus";
|
||||
@ -99,6 +102,14 @@ buildGoModule rec {
|
||||
--bash <($out/bin/incus completion bash) \
|
||||
--fish <($out/bin/incus completion fish) \
|
||||
--zsh <($out/bin/incus completion zsh)
|
||||
|
||||
mkdir -p $agent_loader/bin $agent_loader/etc/systemd/system $agent_loader/lib/udev/rules.d
|
||||
cp internal/server/instance/drivers/agent-loader/incus-agent-setup $agent_loader/bin/
|
||||
chmod +x $agent_loader/bin/incus-agent-setup
|
||||
patchShebangs $agent_loader/bin/incus-agent-setup
|
||||
cp internal/server/instance/drivers/agent-loader/systemd/incus-agent.service $agent_loader/etc/systemd/system/
|
||||
cp internal/server/instance/drivers/agent-loader/systemd/incus-agent.rules $agent_loader/lib/udev/rules.d/99-incus-agent.rules
|
||||
substituteInPlace $agent_loader/etc/systemd/system/incus-agent.service --replace-fail 'TARGET/systemd' "$agent_loader/bin"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
@ -4,16 +4,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "jnv";
|
||||
version = "0.3.0";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ynqa";
|
||||
repo = "jnv";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-5Atop86g/gGgf4MEK/Q2vqpQ+KIS72FB2gXCH8U+L3g=";
|
||||
hash = "sha256-WrvCiZA/aYj0CoTq/kw3Oa3WKTjdtO6OC+IOxBoWjSU=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-qpVRq6RbrDZDSJkLQ5Au9j2mWXp3gn7QBe3nRmIVK8c=";
|
||||
cargoHash = "sha256-xF0sxoSo7z7lxrF3wFAmU7edREoWKBFBnZ6Xq22c8q0=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Interactive JSON filter using jq";
|
||||
|
@ -20,6 +20,11 @@ buildGoModule rec {
|
||||
|
||||
vendorHash = "sha256-jscyNyVr+RDN1EaxIOc3aYCAVT+1eO/c+dxEsIorDIs=";
|
||||
|
||||
checkFlags = [
|
||||
# Test tries to monkey-patch the stdlib, fails with permission denied error.
|
||||
"-skip=TestKeystore"
|
||||
];
|
||||
|
||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
local INSTALL="$out/bin/keepassxc-go"
|
||||
installShellCompletion --cmd keepassxc-go \
|
||||
|
@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kulala-fmt";
|
||||
version = "1.2.0";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mistweaverco";
|
||||
repo = "kulala-fmt";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-WoDZ1TZH3nYiQwZax+4LMW/nbx8VpSUyyBMLepmxV1s=";
|
||||
hash = "sha256-mnOUYRRVNXkI0yRQFLnuL7yC+YdtWVS0+syJOcHmO6w=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-uA29P6bcZNfxWsTfzsADBIqYgyfVX8dY8y70ZJKieas=";
|
||||
vendorHash = "sha256-GazDEm/qv0nh8vYT+Tf0n4QDGHlcYtbMIj5rlZBvpKo=";
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
||||
|
64
pkgs/by-name/le/ledger-autosync/package.nix
Normal file
64
pkgs/by-name/le/ledger-autosync/package.nix
Normal file
@ -0,0 +1,64 @@
|
||||
{
|
||||
lib,
|
||||
python3Packages,
|
||||
fetchFromGitHub,
|
||||
fetchpatch2,
|
||||
ledger,
|
||||
hledger,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "ledger-autosync";
|
||||
version = "1.0.3";
|
||||
pyproject = true;
|
||||
|
||||
# no tests included in PyPI tarball
|
||||
src = fetchFromGitHub {
|
||||
owner = "egh";
|
||||
repo = "ledger-autosync";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-IuOlVJEjNqRPfV4q/Zy3UQe5iMwDlnSV356FrTsmflg=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch2 {
|
||||
name = "drop-distutils.patch";
|
||||
url = "https://github.com/egh/ledger-autosync/commit/b7a2a185b9c3b17764322dcc80153410d12e6a5f.patch";
|
||||
hash = "sha256-qKuTpsNFuS00yRAH4VGpMA249ml0BGZsGVb75WrBWEo=";
|
||||
})
|
||||
(fetchpatch2 {
|
||||
name = "drop-imp.patch";
|
||||
url = "https://github.com/egh/ledger-autosync/commit/453d92ad279e6c90fadf835d1c39189a1179eb17.patch";
|
||||
hash = "sha256-mncMvdWldAnVDy1+bJ+oyDOrUb14v9LrBRz/CYrtYbc=";
|
||||
})
|
||||
];
|
||||
|
||||
build-system = with python3Packages; [ poetry-core ];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
ofxclient
|
||||
ofxparse
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
hledger
|
||||
ledger
|
||||
python3Packages.ledger
|
||||
python3Packages.pytestCheckHook
|
||||
];
|
||||
|
||||
# Disable some non-passing tests:
|
||||
# https://github.com/egh/ledger-autosync/issues/127
|
||||
disabledTests = [
|
||||
"test_payee_match"
|
||||
"test_args_only"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/egh/ledger-autosync";
|
||||
changelog = "https://github.com/egh/ledger-autosync/releases/tag/v${version}";
|
||||
description = "OFX/CSV autosync for ledger and hledger";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ eamsden ];
|
||||
};
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user