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