Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-04-24 00:13:13 +00:00 committed by GitHub
commit 466ddc4b5f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
222 changed files with 3164 additions and 1932 deletions

View File

@ -16,6 +16,13 @@ on:
# so it shouldn't be a problem
types: [opened, synchronize, reopened, edited]
# Create a check-by-name concurrency group based on the branch name. if a new
# commit is pushed to the main branch while a previous run is still in progress,
# the previous run will be cancelled and the new one will start.
concurrency:
group: check-by-name-${{ github.ref }}
cancel-in-progress: true
permissions:
# We need this permission to cancel the workflow run if there's a merge conflict
actions: write

View File

@ -46,7 +46,7 @@ jobs:
run: |
git clean -f
- name: create PR
uses: peter-evans/create-pull-request@70a41aba780001da0a30141984ae2a0c95d8704e # v6.0.2
uses: peter-evans/create-pull-request@9153d834b60caba6d51c9b9510b087acf9f33f83 # v6.0.4
with:
body: |
Automatic update by [update-terraform-providers](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/update-terraform-providers.yml) action.

View File

@ -148,4 +148,4 @@ All new projects should use the CUDA redistributables available in [`cudaPackage
| Find libraries | `configurePhase` | Missing dependency on a `dev` output | Add the missing dependency | The `dev` output typically contain CMake configuration files |
| Find libraries | `buildPhase` or `patchelf` | Missing dependency on a `lib` or `static` output | Add the missing dependency | The `lib` or `static` output typically contain the libraries |
In the scenario you are unable to run the resulting binary: this is arguably the most complicated as it could be any combination of the previous reasons. This type of failure typically occurs when a library attempts to load or open a library it depends on that it does not declare in its `DT_NEEDED` section. As a first step, ensure that dependencies are patched with [`cudaPackages.autoAddDriverRunpath`](https://search.nixos.org/packages?channel=unstable&type=packages&query=cudaPackages.autoAddDriverRunpath). Failing that, try running the application with [`nixGL`](https://github.com/guibou/nixGL) or a similar wrapper tool. If that works, it likely means that the application is attempting to load a library that is not in the `RPATH` or `RUNPATH` of the binary.
In the scenario you are unable to run the resulting binary: this is arguably the most complicated as it could be any combination of the previous reasons. This type of failure typically occurs when a library attempts to load or open a library it depends on that it does not declare in its `DT_NEEDED` section. As a first step, ensure that dependencies are patched with [`autoAddDriverRunpath`](https://search.nixos.org/packages?channel=unstable&type=packages&query=autoAddDriverRunpath). Failing that, try running the application with [`nixGL`](https://github.com/guibou/nixGL) or a similar wrapper tool. If that works, it likely means that the application is attempting to load a library that is not in the `RPATH` or `RUNPATH` of the binary.

View File

@ -4448,6 +4448,12 @@
github = "DarkOnion0";
githubId = 68606322;
};
daru-san = {
name = "Daru";
email = "zadarumaka@proton.me";
github = "Daru-san";
githubId = 135046711;
};
das-g = {
email = "nixpkgs@raphael.dasgupta.ch";
github = "das-g";
@ -11662,6 +11668,12 @@
github = "LongerHV";
githubId = 46924944;
};
lonyelon = {
email = "sergio@lony.xyz";
name = "Sergio Miguéns Iglesias";
github = "lonyelon";
githubId = 18664655;
};
lopsided98 = {
email = "benwolsieffer@gmail.com";
github = "lopsided98";

View File

@ -46,9 +46,7 @@ Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for Pi
- The default dbus implementation has transitioned to dbus-broker from the classic dbus daemon for better performance and reliability. Users can revert to the classic dbus daemon by setting `services.dbus.implementation = "dbus";`. For detailed deviations, refer to [dbus-broker's deviations page](https://github.com/bus1/dbus-broker/wiki/Deviations).
- A new option `virtualisation.containers.cdi` was added. It contains `static` and `dynamic` attributes (corresponding to `/etc/cdi` and `/run/cdi` respectively) to configure the Container Device Interface (CDI).
- `virtualisation.docker.enableNvidia` and `virtualisation.podman.enableNvidia` options are deprecated. `virtualisation.containers.cdi.dynamic.nvidia.enable` should be used instead. This option will expose GPUs on containers with the `--device` CLI option. This is supported by Docker 25, Podman 3.2.0 and Singularity 4. Any container runtime that supports the CDI specification will take advantage of this feature.
- `virtualisation.docker.enableNvidia` and `virtualisation.podman.enableNvidia` options are deprecated. `hardware.nvidia-container-toolkit.enable` should be used instead. This option will expose GPUs on containers with the `--device` CLI option. This is supported by Docker 25, Podman 3.2.0 and Singularity 4. Any container runtime that supports the CDI specification will take advantage of this feature.
- `system.etc.overlay.enable` option was added. If enabled, `/etc` is
mounted via an overlayfs instead of being created by a custom perl script.

View File

@ -1,4 +1,4 @@
{ config, lib, pkgs }:
{ config, lib, pkgs, utils }:
let
inherit (lib)
@ -396,8 +396,41 @@ in rec {
};
};
serviceConfig = { config, ... }: {
config.environment.PATH = mkIf (config.path != []) "${makeBinPath config.path}:${makeSearchPathOutput "bin" "sbin" config.path}";
serviceConfig = { name, config, ... }: {
config = {
name = "${name}.service";
environment.PATH = mkIf (config.path != []) "${makeBinPath config.path}:${makeSearchPathOutput "bin" "sbin" config.path}";
};
};
pathConfig = { name, config, ... }: {
config = {
name = "${name}.path";
};
};
socketConfig = { name, config, ... }: {
config = {
name = "${name}.socket";
};
};
sliceConfig = { name, config, ... }: {
config = {
name = "${name}.slice";
};
};
targetConfig = { name, config, ... }: {
config = {
name = "${name}.target";
};
};
timerConfig = { name, config, ... }: {
config = {
name = "${name}.timer";
};
};
stage2ServiceConfig = {
@ -416,6 +449,7 @@ in rec {
mountConfig = { config, ... }: {
config = {
name = "${utils.escapeSystemdPath config.where}.mount";
mountConfig =
{ What = config.what;
Where = config.where;
@ -429,6 +463,7 @@ in rec {
automountConfig = { config, ... }: {
config = {
name = "${utils.escapeSystemdPath config.where}.automount";
automountConfig =
{ Where = config.where;
};
@ -444,8 +479,8 @@ in rec {
WantedBy=${concatStringsSep " " def.wantedBy}
'';
targetToUnit = name: def:
{ inherit (def) aliases wantedBy requiredBy upheldBy enable overrideStrategy;
targetToUnit = def:
{ inherit (def) name aliases wantedBy requiredBy upheldBy enable overrideStrategy;
text =
''
[Unit]
@ -453,8 +488,8 @@ in rec {
'';
};
serviceToUnit = name: def:
{ inherit (def) aliases wantedBy requiredBy upheldBy enable overrideStrategy;
serviceToUnit = def:
{ inherit (def) name aliases wantedBy requiredBy upheldBy enable overrideStrategy;
text = commonUnitText def (''
[Service]
'' + (let env = cfg.globalEnvironment // def.environment;
@ -463,7 +498,7 @@ in rec {
"Environment=${toJSON "${n}=${env.${n}}"}\n";
# systemd max line length is now 1MiB
# https://github.com/systemd/systemd/commit/e6dde451a51dc5aaa7f4d98d39b8fe735f73d2af
in if stringLength s >= 1048576 then throw "The value of the environment variable ${n} in systemd service ${name}.service is too long." else s) (attrNames env))
in if stringLength s >= 1048576 then throw "The value of the environment variable ${n} in systemd service ${def.name}.service is too long." else s) (attrNames env))
+ (if def ? reloadIfChanged && def.reloadIfChanged then ''
X-ReloadIfChanged=true
'' else if (def ? restartIfChanged && !def.restartIfChanged) then ''
@ -474,8 +509,8 @@ in rec {
'' + attrsToSection def.serviceConfig);
};
socketToUnit = name: def:
{ inherit (def) aliases wantedBy requiredBy upheldBy enable overrideStrategy;
socketToUnit = def:
{ inherit (def) name aliases wantedBy requiredBy upheldBy enable overrideStrategy;
text = commonUnitText def ''
[Socket]
${attrsToSection def.socketConfig}
@ -484,40 +519,40 @@ in rec {
'';
};
timerToUnit = name: def:
{ inherit (def) aliases wantedBy requiredBy upheldBy enable overrideStrategy;
timerToUnit = def:
{ inherit (def) name aliases wantedBy requiredBy upheldBy enable overrideStrategy;
text = commonUnitText def ''
[Timer]
${attrsToSection def.timerConfig}
'';
};
pathToUnit = name: def:
{ inherit (def) aliases wantedBy requiredBy upheldBy enable overrideStrategy;
pathToUnit = def:
{ inherit (def) name aliases wantedBy requiredBy upheldBy enable overrideStrategy;
text = commonUnitText def ''
[Path]
${attrsToSection def.pathConfig}
'';
};
mountToUnit = name: def:
{ inherit (def) aliases wantedBy requiredBy upheldBy enable overrideStrategy;
mountToUnit = def:
{ inherit (def) name aliases wantedBy requiredBy upheldBy enable overrideStrategy;
text = commonUnitText def ''
[Mount]
${attrsToSection def.mountConfig}
'';
};
automountToUnit = name: def:
{ inherit (def) aliases wantedBy requiredBy upheldBy enable overrideStrategy;
automountToUnit = def:
{ inherit (def) name aliases wantedBy requiredBy upheldBy enable overrideStrategy;
text = commonUnitText def ''
[Automount]
${attrsToSection def.automountConfig}
'';
};
sliceToUnit = name: def:
{ inherit (def) aliases wantedBy requiredBy upheldBy enable overrideStrategy;
sliceToUnit = def:
{ inherit (def) name aliases wantedBy requiredBy upheldBy enable overrideStrategy;
text = commonUnitText def ''
[Slice]
${attrsToSection def.sliceConfig}

View File

@ -5,8 +5,13 @@ let
automountConfig
makeUnit
mountConfig
pathConfig
sliceConfig
socketConfig
stage1ServiceConfig
stage2ServiceConfig
targetConfig
timerConfig
unitConfig
;
@ -48,29 +53,32 @@ let
;
in
rec {
{
units = attrsOf (submodule ({ name, config, ... }: {
options = concreteUnitOptions;
config = { unit = mkDefault (makeUnit name config); };
config = {
name = mkDefault name;
unit = mkDefault (makeUnit name config);
};
}));
services = attrsOf (submodule [ stage2ServiceOptions unitConfig stage2ServiceConfig ]);
initrdServices = attrsOf (submodule [ stage1ServiceOptions unitConfig stage1ServiceConfig ]);
targets = attrsOf (submodule [ stage2CommonUnitOptions unitConfig ]);
initrdTargets = attrsOf (submodule [ stage1CommonUnitOptions unitConfig ]);
targets = attrsOf (submodule [ stage2CommonUnitOptions unitConfig targetConfig ]);
initrdTargets = attrsOf (submodule [ stage1CommonUnitOptions unitConfig targetConfig ]);
sockets = attrsOf (submodule [ stage2SocketOptions unitConfig ]);
initrdSockets = attrsOf (submodule [ stage1SocketOptions unitConfig ]);
sockets = attrsOf (submodule [ stage2SocketOptions unitConfig socketConfig]);
initrdSockets = attrsOf (submodule [ stage1SocketOptions unitConfig socketConfig ]);
timers = attrsOf (submodule [ stage2TimerOptions unitConfig ]);
initrdTimers = attrsOf (submodule [ stage1TimerOptions unitConfig ]);
timers = attrsOf (submodule [ stage2TimerOptions unitConfig timerConfig ]);
initrdTimers = attrsOf (submodule [ stage1TimerOptions unitConfig timerConfig ]);
paths = attrsOf (submodule [ stage2PathOptions unitConfig ]);
initrdPaths = attrsOf (submodule [ stage1PathOptions unitConfig ]);
paths = attrsOf (submodule [ stage2PathOptions unitConfig pathConfig ]);
initrdPaths = attrsOf (submodule [ stage1PathOptions unitConfig pathConfig ]);
slices = attrsOf (submodule [ stage2SliceOptions unitConfig ]);
initrdSlices = attrsOf (submodule [ stage1SliceOptions unitConfig ]);
slices = attrsOf (submodule [ stage2SliceOptions unitConfig sliceConfig ]);
initrdSlices = attrsOf (submodule [ stage1SliceOptions unitConfig sliceConfig ]);
mounts = listOf (submodule [ stage2MountOptions unitConfig mountConfig ]);
initrdMounts = listOf (submodule [ stage1MountOptions unitConfig mountConfig ]);

View File

@ -65,6 +65,14 @@ in rec {
'';
};
name = lib.mkOption {
type = lib.types.str;
description = ''
The name of this systemd unit, including its extension.
This can be used to refer to this unit from other systemd units.
'';
};
overrideStrategy = mkOption {
default = "asDropinIfExists";
type = types.enum [ "asDropinIfExists" "asDropin" ];

View File

@ -35,7 +35,8 @@ let
inherit (lib.strings) toJSON normalizePath escapeC;
in
rec {
let
utils = rec {
# Copy configuration files to avoid having the entire sources in the system closure
copyFile = filePath: pkgs.runCommand (builtins.unsafeDiscardStringContext (baseNameOf filePath)) {} ''
@ -262,11 +263,12 @@ rec {
filter (x: !(elem (getName x) namesToRemove)) packages;
systemdUtils = {
lib = import ./systemd-lib.nix { inherit lib config pkgs; };
lib = import ./systemd-lib.nix { inherit lib config pkgs utils; };
unitOptions = import ./systemd-unit-options.nix { inherit lib systemdUtils; };
types = import ./systemd-types.nix { inherit lib systemdUtils pkgs; };
network = {
units = import ./systemd-network-units.nix { inherit lib systemdUtils; };
};
};
}
};
in utils

View File

@ -559,7 +559,7 @@
./services/hardware/kanata.nix
./services/hardware/lcd.nix
./services/hardware/lirc.nix
./services/hardware/nvidia-container-toolkit-cdi-generator
./services/hardware/nvidia-container-toolkit
./services/hardware/monado.nix
./services/hardware/nvidia-optimus.nix
./services/hardware/openrgb.nix

View File

@ -1,60 +0,0 @@
{
addDriverRunpath,
glibc,
jq,
lib,
nvidia-container-toolkit,
nvidia-driver,
runtimeShell,
writeScriptBin,
}:
let
mountOptions = { options = ["ro" "nosuid" "nodev" "bind"]; };
mounts = [
# FIXME: Making /usr mounts optional
{ hostPath = lib.getExe' nvidia-driver "nvidia-cuda-mps-control";
containerPath = "/usr/bin/nvidia-cuda-mps-control"; }
{ hostPath = lib.getExe' nvidia-driver "nvidia-cuda-mps-server";
containerPath = "/usr/bin/nvidia-cuda-mps-server"; }
{ hostPath = lib.getExe' nvidia-driver "nvidia-debugdump";
containerPath = "/usr/bin/nvidia-debugdump"; }
{ hostPath = lib.getExe' nvidia-driver "nvidia-powerd";
containerPath = "/usr/bin/nvidia-powerd"; }
{ hostPath = lib.getExe' nvidia-driver "nvidia-smi";
containerPath = "/usr/bin/nvidia-smi"; }
{ hostPath = lib.getExe' nvidia-container-toolkit "nvidia-ctk";
containerPath = "/usr/bin/nvidia-ctk"; }
{ hostPath = "${lib.getLib glibc}/lib";
containerPath = "${lib.getLib glibc}/lib"; }
# FIXME: use closureinfo
{
hostPath = addDriverRunpath.driverLink;
containerPath = addDriverRunpath.driverLink;
}
{ hostPath = "${lib.getLib glibc}/lib";
containerPath = "${lib.getLib glibc}/lib"; }
{ hostPath = "${lib.getLib glibc}/lib64";
containerPath = "${lib.getLib glibc}/lib64"; }
];
jqAddMountExpression = ".containerEdits.mounts[.containerEdits.mounts | length] |= . +";
mountsToJq = lib.concatMap
(mount:
["${lib.getExe jq} '${jqAddMountExpression} ${builtins.toJSON (mount // mountOptions)}'"])
mounts;
in
writeScriptBin "nvidia-cdi-generator"
''
#! ${runtimeShell}
function cdiGenerate {
${lib.getExe' nvidia-container-toolkit "nvidia-ctk"} cdi generate \
--format json \
--ldconfig-path ${lib.getExe' glibc "ldconfig"} \
--library-search-path ${lib.getLib nvidia-driver}/lib \
--nvidia-ctk-path ${lib.getExe' nvidia-container-toolkit "nvidia-ctk"}
}
cdiGenerate | \
${lib.concatStringsSep " | " mountsToJq} > $RUNTIME_DIRECTORY/nvidia-container-toolkit.json
''

View File

@ -1,40 +0,0 @@
{ config, lib, pkgs, ... }:
{
options = {
hardware.nvidia-container-toolkit-cdi-generator.enable = lib.mkOption {
default = false;
internal = true;
visible = false;
type = lib.types.bool;
description = ''
Enable dynamic CDI configuration for NVidia devices by running
nvidia-container-toolkit on boot.
'';
};
};
config = {
systemd.services.nvidia-container-toolkit-cdi-generator = lib.mkIf config.hardware.nvidia-container-toolkit-cdi-generator.enable {
description = "Container Device Interface (CDI) for Nvidia generator";
wantedBy = [ "multi-user.target" ];
after = [ "systemd-udev-settle.service" ];
serviceConfig = {
RuntimeDirectory = "cdi";
RemainAfterExit = true;
ExecStart =
let
script = pkgs.callPackage ./cdi-generate.nix { nvidia-driver = config.hardware.nvidia.package; };
in
lib.getExe script;
Type = "oneshot";
};
};
};
}

View File

@ -0,0 +1,35 @@
{
glibc,
jq,
lib,
mounts,
nvidia-container-toolkit,
nvidia-driver,
runtimeShell,
writeScriptBin,
}: let
mkMount = {hostPath, containerPath, mountOptions}: {
inherit hostPath containerPath;
options = mountOptions;
};
jqAddMountExpression = ".containerEdits.mounts[.containerEdits.mounts | length] |= . +";
allJqMounts = lib.concatMap
(mount:
["${lib.getExe jq} '${jqAddMountExpression} ${builtins.toJSON (mkMount mount)}'"])
mounts;
in
writeScriptBin "nvidia-cdi-generator"
''
#! ${runtimeShell}
function cdiGenerate {
${lib.getExe' nvidia-container-toolkit "nvidia-ctk"} cdi generate \
--format json \
--ldconfig-path ${lib.getExe' glibc "ldconfig"} \
--library-search-path ${lib.getLib nvidia-driver}/lib \
--nvidia-ctk-path ${lib.getExe' nvidia-container-toolkit "nvidia-ctk"}
}
cdiGenerate | \
${lib.concatStringsSep " | " allJqMounts} > $RUNTIME_DIRECTORY/nvidia-container-toolkit.json
''

View File

@ -0,0 +1,121 @@
{ config, lib, pkgs, ... }:
{
imports = [
(lib.mkRenamedOptionModule
[ "virtualisation" "containers" "cdi" "dynamic" "nvidia" "enable" ]
[ "hardware" "nvidia-container-toolkit" "enable" ])
];
options = let
mountType = {
options = {
hostPath = lib.mkOption {
type = lib.types.str;
description = "Host path.";
};
containerPath = lib.mkOption {
type = lib.types.str;
description = "Container path.";
};
mountOptions = lib.mkOption {
default = [ "ro" "nosuid" "nodev" "bind" ];
type = lib.types.listOf lib.types.str;
description = "Mount options.";
};
};
};
in {
hardware.nvidia-container-toolkit = {
enable = lib.mkOption {
default = false;
type = lib.types.bool;
description = ''
Enable dynamic CDI configuration for NVidia devices by running
nvidia-container-toolkit on boot.
'';
};
mounts = lib.mkOption {
type = lib.types.listOf (lib.types.submodule mountType);
default = [];
description = "Mounts to be added to every container under the Nvidia CDI profile.";
};
mount-nvidia-executables = lib.mkOption {
default = true;
type = lib.types.bool;
description = ''
Mount executables nvidia-smi, nvidia-cuda-mps-control, nvidia-cuda-mps-server,
nvidia-debugdump, nvidia-powerd and nvidia-ctk on containers.
'';
};
mount-nvidia-docker-1-directories = lib.mkOption {
default = true;
type = lib.types.bool;
description = ''
Mount nvidia-docker-1 directories on containers: /usr/local/nvidia/lib and
/usr/local/nvidia/lib64.
'';
};
};
};
config = {
hardware.nvidia-container-toolkit.mounts = let
nvidia-driver = config.hardware.nvidia.package;
in (lib.mkMerge [
[{ hostPath = pkgs.addDriverRunpath.driverLink;
containerPath = pkgs.addDriverRunpath.driverLink; }
{ hostPath = "${lib.getLib pkgs.glibc}/lib";
containerPath = "${lib.getLib pkgs.glibc}/lib"; }
{ hostPath = "${lib.getLib pkgs.glibc}/lib64";
containerPath = "${lib.getLib pkgs.glibc}/lib64"; }]
(lib.mkIf config.hardware.nvidia-container-toolkit.mount-nvidia-executables
[{ hostPath = lib.getExe' nvidia-driver "nvidia-cuda-mps-control";
containerPath = "/usr/bin/nvidia-cuda-mps-control"; }
{ hostPath = lib.getExe' nvidia-driver "nvidia-cuda-mps-server";
containerPath = "/usr/bin/nvidia-cuda-mps-server"; }
{ hostPath = lib.getExe' nvidia-driver "nvidia-debugdump";
containerPath = "/usr/bin/nvidia-debugdump"; }
{ hostPath = lib.getExe' nvidia-driver "nvidia-powerd";
containerPath = "/usr/bin/nvidia-powerd"; }
{ hostPath = lib.getExe' nvidia-driver "nvidia-smi";
containerPath = "/usr/bin/nvidia-smi"; }])
# nvidia-docker 1.0 uses /usr/local/nvidia/lib{,64}
# e.g.
# - https://gitlab.com/nvidia/container-images/cuda/-/blob/e3ff10eab3a1424fe394899df0e0f8ca5a410f0f/dist/12.3.1/ubi9/base/Dockerfile#L44
# - https://github.com/NVIDIA/nvidia-docker/blob/01d2c9436620d7dde4672e414698afe6da4a282f/src/nvidia/volumes.go#L104-L173
(lib.mkIf config.hardware.nvidia-container-toolkit.mount-nvidia-docker-1-directories
[{ hostPath = "${lib.getLib nvidia-driver}/lib";
containerPath = "/usr/local/nvidia/lib"; }
{ hostPath = "${lib.getLib nvidia-driver}/lib";
containerPath = "/usr/local/nvidia/lib64"; }])
]);
systemd.services.nvidia-container-toolkit-cdi-generator = lib.mkIf config.hardware.nvidia-container-toolkit.enable {
description = "Container Device Interface (CDI) for Nvidia generator";
wantedBy = [ "multi-user.target" ];
after = [ "systemd-udev-settle.service" ];
serviceConfig = {
RuntimeDirectory = "cdi";
RemainAfterExit = true;
ExecStart =
let
script = pkgs.callPackage ./cdi-generate.nix {
inherit (config.hardware.nvidia-container-toolkit) mounts;
nvidia-driver = config.hardware.nvidia.package;
};
in
lib.getExe script;
Type = "oneshot";
};
};
};
}

View File

@ -169,7 +169,7 @@ in {
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
environment = config.environment.extra // {
environment = cfg.environment.extra // {
CODER_ACCESS_URL = cfg.accessUrl;
CODER_WILDCARD_ACCESS_URL = cfg.wildcardAccessUrl;
CODER_PG_CONNECTION_URL = "user=${cfg.database.username} ${optionalString (cfg.database.password != null) "password=${cfg.database.password}"} database=${cfg.database.database} host=${cfg.database.host} ${optionalString (cfg.database.sslmode != null) "sslmode=${cfg.database.sslmode}"}";

View File

@ -246,7 +246,9 @@ in
passwordFile = mkOption {
type = types.path;
description = "A file containing the initial password for the admin user.";
description = ''
A file containing the initial password for the administrator account "admin".
'';
example = "/run/keys/mediawiki-password";
};

View File

@ -595,18 +595,17 @@ in
};
systemd.units =
mapAttrs' (n: v: nameValuePair "${n}.path" (pathToUnit n v)) cfg.paths
// mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.services
// mapAttrs' (n: v: nameValuePair "${n}.slice" (sliceToUnit n v)) cfg.slices
// mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit n v)) cfg.sockets
// mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit n v)) cfg.targets
// mapAttrs' (n: v: nameValuePair "${n}.timer" (timerToUnit n v)) cfg.timers
// listToAttrs (map
(v: let n = escapeSystemdPath v.where;
in nameValuePair "${n}.mount" (mountToUnit n v)) cfg.mounts)
// listToAttrs (map
(v: let n = escapeSystemdPath v.where;
in nameValuePair "${n}.automount" (automountToUnit n v)) cfg.automounts);
let
withName = cfgToUnit: cfg: lib.nameValuePair cfg.name (cfgToUnit cfg);
in
mapAttrs' (_: withName pathToUnit) cfg.paths
// mapAttrs' (_: withName serviceToUnit) cfg.services
// mapAttrs' (_: withName sliceToUnit) cfg.slices
// mapAttrs' (_: withName socketToUnit) cfg.sockets
// mapAttrs' (_: withName targetToUnit) cfg.targets
// mapAttrs' (_: withName timerToUnit) cfg.timers
// listToAttrs (map (withName mountToUnit) cfg.mounts)
// listToAttrs (map (withName automountToUnit) cfg.automounts);
# Environment of PID 1
systemd.managerEnvironment = {

View File

@ -490,18 +490,18 @@ in {
targets.initrd.aliases = ["default.target"];
units =
mapAttrs' (n: v: nameValuePair "${n}.path" (pathToUnit n v)) cfg.paths
// mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.services
// mapAttrs' (n: v: nameValuePair "${n}.slice" (sliceToUnit n v)) cfg.slices
// mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit n v)) cfg.sockets
// mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit n v)) cfg.targets
// mapAttrs' (n: v: nameValuePair "${n}.timer" (timerToUnit n v)) cfg.timers
mapAttrs' (n: v: nameValuePair "${n}.path" (pathToUnit v)) cfg.paths
// mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit v)) cfg.services
// mapAttrs' (n: v: nameValuePair "${n}.slice" (sliceToUnit v)) cfg.slices
// mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit v)) cfg.sockets
// mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit v)) cfg.targets
// mapAttrs' (n: v: nameValuePair "${n}.timer" (timerToUnit v)) cfg.timers
// listToAttrs (map
(v: let n = escapeSystemdPath v.where;
in nameValuePair "${n}.mount" (mountToUnit n v)) cfg.mounts)
in nameValuePair "${n}.mount" (mountToUnit v)) cfg.mounts)
// listToAttrs (map
(v: let n = escapeSystemdPath v.where;
in nameValuePair "${n}.automount" (automountToUnit n v)) cfg.automounts);
in nameValuePair "${n}.automount" (automountToUnit v)) cfg.automounts);
# make sure all the /dev nodes are set up
services.systemd-tmpfiles-setup-dev.wantedBy = ["sysinit.target"];

View File

@ -175,12 +175,12 @@ in {
};
systemd.user.units =
mapAttrs' (n: v: nameValuePair "${n}.path" (pathToUnit n v)) cfg.paths
// mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.services
// mapAttrs' (n: v: nameValuePair "${n}.slice" (sliceToUnit n v)) cfg.slices
// mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit n v)) cfg.sockets
// mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit n v)) cfg.targets
// mapAttrs' (n: v: nameValuePair "${n}.timer" (timerToUnit n v)) cfg.timers;
mapAttrs' (n: v: nameValuePair "${n}.path" (pathToUnit v)) cfg.paths
// mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit v)) cfg.services
// mapAttrs' (n: v: nameValuePair "${n}.slice" (sliceToUnit v)) cfg.slices
// mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit v)) cfg.sockets
// mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit v)) cfg.targets
// mapAttrs' (n: v: nameValuePair "${n}.timer" (timerToUnit v)) cfg.timers;
# Generate timer units for all services that have a startAt value.
systemd.user.timers =

View File

@ -28,43 +28,6 @@ in
description = "Enable the OCI seccomp BPF hook";
};
cdi = {
dynamic.nvidia.enable = mkOption {
type = types.bool;
default = false;
description = ''
Enable dynamic CDI configuration for NVidia devices by running nvidia-container-toolkit on boot.
'';
};
static = mkOption {
type = types.attrs;
default = { };
description = ''
Declarative CDI specification. Each key of the attribute set
will be mapped to a file in /etc/cdi. It is required for every
key to be provided in JSON format.
'';
example = {
some-vendor = builtins.fromJSON ''
{
"cdiVersion": "0.5.0",
"kind": "some-vendor.com/foo",
"devices": [],
"containerEdits": []
}
'';
some-other-vendor = {
cdiVersion = "0.5.0";
kind = "some-other-vendor.com/bar";
devices = [];
containerEdits = [];
};
};
};
};
containersConf.settings = mkOption {
type = toml.type;
default = { };
@ -150,8 +113,6 @@ in
config = lib.mkIf cfg.enable {
hardware.nvidia-container-toolkit-cdi-generator.enable = lib.mkIf cfg.cdi.dynamic.nvidia.enable true;
virtualisation.containers.containersConf.cniPlugins = [ pkgs.cni-plugins ];
virtualisation.containers.containersConf.settings = {
@ -163,13 +124,7 @@ in
};
};
environment.etc = let
cdiStaticConfigurationFiles = (lib.attrsets.mapAttrs'
(name: value:
lib.attrsets.nameValuePair "cdi/${name}.json"
{ text = builtins.toJSON value; })
cfg.cdi.static);
in {
environment.etc = {
"containers/containers.conf".source =
toml.generate "containers.conf" cfg.containersConf.settings;
@ -183,7 +138,7 @@ in
"containers/policy.json".source =
if cfg.policy != { } then pkgs.writeText "policy.json" (builtins.toJSON cfg.policy)
else "${pkgs.skopeo.policy}/default-policy.json";
} // cdiStaticConfigurationFiles;
};
};

View File

@ -41,6 +41,7 @@ let
qemu-utils
rsync
squashfsTools
swtpm
systemd
thin-provisioning-tools
util-linux

View File

@ -30,6 +30,9 @@ in
memorySize = 1024;
diskSize = 4096;
# Provide a TPM to test vTPM support for guests
tpm.enable = true;
incus.enable = true;
};
networking.nftables.enable = true;
@ -47,8 +50,14 @@ in
with subtest("virtual-machine image can be imported"):
machine.succeed("incus image import ${vm-image-metadata}/*/*.tar.xz ${vm-image-disk}/nixos.qcow2 --alias nixos")
with subtest("virtual-machine can be created"):
machine.succeed("incus create nixos ${instance-name} --vm --config limits.memory=512MB --config security.secureboot=false")
with subtest("virtual tpm can be configured"):
machine.succeed("incus config device add ${instance-name} vtpm tpm path=/dev/tpm0")
with subtest("virtual-machine can be launched and become available"):
machine.succeed("incus launch nixos ${instance-name} --vm --config limits.memory=512MB --config security.secureboot=false")
machine.succeed("incus start ${instance-name}")
with machine.nested("Waiting for instance to start and be usable"):
retry(instance_is_up)

View File

@ -1,7 +1,7 @@
import ./make-test-python.nix ({ pkgs, ... }: {
name = "systemd";
nodes.machine = { lib, ... }: {
nodes.machine = { config, lib, ... }: {
imports = [ common/user-account.nix common/x11.nix ];
virtualisation.emptyDiskImages = [ 512 512 ];
@ -38,9 +38,18 @@ import ./make-test-python.nix ({ pkgs, ... }: {
script = "true";
};
systemd.services.testDependency1 = {
description = "Test Dependency 1";
wantedBy = [ config.systemd.services."testservice1".name ];
serviceConfig.Type = "oneshot";
script = ''
true
'';
};
systemd.services.testservice1 = {
description = "Test Service 1";
wantedBy = [ "multi-user.target" ];
wantedBy = [ config.systemd.targets.multi-user.name ];
serviceConfig.Type = "oneshot";
script = ''
if [ "$XXX_SYSTEM" = foo ]; then

View File

@ -41,6 +41,7 @@
, qtmultimedia
, qtx11extras
, soxr
, vgmstream
, wavpack
}:
@ -109,6 +110,10 @@ stdenv.mkDerivation rec {
dontWrapQtApps = true;
postInstall = ''
ln -s ${vgmstream.override { buildAudaciousPlugin = true; }}/lib/audacious/Input/* $out/lib/audacious/Input
'';
meta = audacious.meta // {
description = "Plugins for Audacious music player";
};

View File

@ -2,7 +2,6 @@
, stdenv
, buildDotnetModule
, fetchFromGitHub
, autoPatchelfHook
, fontconfig
, xorg
, libglvnd
@ -27,7 +26,6 @@ buildDotnetModule rec {
dotnetFlags = [ "-p:Runtimeidentifier=linux-x64" ];
nativeBuildInputs = [
autoPatchelfHook
copyDesktopItems
graphicsmagick
];

View File

@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "pt2-clone";
version = "1.67";
version = "1.68";
src = fetchFromGitHub {
owner = "8bitbubsy";
repo = "pt2-clone";
rev = "v${finalAttrs.version}";
sha256 = "sha256-fTUTXwS6A72zhKkANlSljQVvPeN5rOTyuyb8vLxYfdk=";
sha256 = "sha256-xlXwOxmJ5cL1ouTOnFwTvx959IDQIvJ0ZRk+G9p0HbA=";
};
nativeBuildInputs = [ cmake ];

View File

@ -1,6 +1,7 @@
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config
, mpg123, ffmpeg, libvorbis, libao, jansson, speex
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, gtk3
, audacious, mpg123, ffmpeg, libvorbis, libao, jansson, speex
, nix-update-script
, buildAudaciousPlugin ? false # only build cli by default, pkgs.audacious-plugins sets this to enable plugin support
}:
stdenv.mkDerivation rec {
@ -19,16 +20,29 @@ stdenv.mkDerivation rec {
extraArgs = [ "--version-regex" "r(.*)" ];
};
nativeBuildInputs = [ cmake pkg-config ];
nativeBuildInputs = [
cmake
pkg-config
] ++ lib.optional buildAudaciousPlugin gtk3;
buildInputs = [ mpg123 ffmpeg libvorbis libao jansson speex ];
buildInputs = [
mpg123
ffmpeg
libvorbis
libao
jansson
speex
] ++ lib.optional buildAudaciousPlugin (audacious.override { audacious-plugins = null; });
preConfigure = ''
substituteInPlace cmake/dependencies/audacious.cmake \
--replace "pkg_get_variable(AUDACIOUS_PLUGIN_DIR audacious plugin_dir)" "set(AUDACIOUS_PLUGIN_DIR \"$out/lib/audacious\")"
'';
cmakeFlags = [
# There's no nice way to build the audacious plugin without a circular dependency
"-DBUILD_AUDACIOUS=OFF"
# It always tries to download it, no option to use the system one
"-DUSE_CELT=OFF"
];
] ++ lib.optional (! buildAudaciousPlugin) "-DBUILD_AUDACIOUS=OFF";
meta = with lib; {
description = "A library for playback of various streamed audio formats used in video games";

View File

@ -4,7 +4,6 @@
fetchFromGitHub,
buildDotnetModule,
dotnetCorePackages,
autoPatchelfHook,
zlib,
openssl,
}:
@ -25,7 +24,6 @@ buildDotnetModule rec {
dotnet-sdk = dotnetCorePackages.sdk_7_0;
dotnet-runtime = dotnetCorePackages.aspnetcore_7_0;
nativeBuildInputs = [autoPatchelfHook];
buildInputs = [stdenv.cc.cc.lib zlib];
runtimeDeps = [openssl zlib];

View File

@ -11,12 +11,12 @@
, pyright
, ruff
, tempel
, writeScript
, writeText
, unstableGitUpdater
}:
let
rev = "0b30d95c6de95b150d93ecee325b95e04ff09e46";
rev = "4d18701bdef13f6bdc0ad58d26896dff0548dbab";
python = python3.withPackages (ps: with ps; [
epc
orjson
@ -28,13 +28,13 @@ let
in
melpaBuild {
pname = "lsp-bridge";
version = "20231021.309"; # 3:09 UTC
version = "20240423.38";
src = fetchFromGitHub {
owner = "manateelazycat";
repo = "lsp-bridge";
inherit rev;
hash = "sha256-hR7bZh0ElJ8F9ToJ4dkazF19T8PE01MTcxKrjeaEp4o=";
hash = "sha256-6taxbsu5v/mQBwl0CPt/fsTQpclNhi2alp/xIh5omJA=";
};
commit = rev;
@ -88,7 +88,22 @@ melpaBuild {
runHook postCheck
'';
passthru.updateScript = unstableGitUpdater { };
passthru.updateScript = writeScript "update.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p common-updater-scripts coreutils git gnused
set -eu -o pipefail
tmpdir="$(mktemp -d)"
git clone --depth=1 https://github.com/manateelazycat/lsp-bridge.git "$tmpdir"
pushd "$tmpdir"
commit=$(git show -s --pretty='format:%H')
# Based on: https://github.com/melpa/melpa/blob/2d8716906a0c9e18d6c979d8450bf1d15dd785eb/package-build/package-build.el#L523-L533
version=$(TZ=UTC git show -s --pretty='format:%cd' --date='format-local:%Y%m%d.%H%M' | sed 's|\.0*|.|')
popd
update-source-version emacsPackages.lsp-bridge $version --rev="$commit"
'';
meta = with lib; {
description = "A blazingly fast LSP client for Emacs";

View File

@ -8184,6 +8184,18 @@ final: prev:
meta.homepage = "https://github.com/ishan9299/nvim-solarized-lua/";
};
nvim-sops = buildVimPlugin {
pname = "nvim-sops";
version = "2023-07-31";
src = fetchFromGitHub {
owner = "lucidph3nx";
repo = "nvim-sops";
rev = "cb2209562d00ef8c6c88bdec836d9edb8fbb96ef";
sha256 = "0fvxnx5ji3d4kgsxl2ssqs7s567ibk4h38mz70m3nhs3sxk696lj";
};
meta.homepage = "https://github.com/lucidph3nx/nvim-sops/";
};
nvim-spectre = buildVimPlugin {
pname = "nvim-spectre";
version = "2024-04-17";

View File

@ -688,6 +688,7 @@ https://github.com/dstein64/nvim-scrollview/,,
https://github.com/s1n7ax/nvim-search-and-replace/,HEAD,
https://github.com/dcampos/nvim-snippy/,HEAD,
https://github.com/ishan9299/nvim-solarized-lua/,,
https://github.com/lucidph3nx/nvim-sops/,HEAD,
https://github.com/nvim-pack/nvim-spectre/,,
https://github.com/chrisgrieser/nvim-spider/,HEAD,
https://github.com/kylechui/nvim-surround/,main,

View File

@ -1793,8 +1793,8 @@ let
mktplcRef = {
publisher = "github";
name = "copilot";
version = "1.172.758";
hash = "sha256-sK3IiA4mQ6Hse+UpZ81Zb5iBSREzTrs7ypsfGbJiXm4=";
version = "1.180.827";
hash = "sha256-HA1na9FoExIiAay+tEjxWKqpG2+wq4Oww77Gl2Bhciw=";
};
meta = {
@ -1810,8 +1810,8 @@ let
mktplcRef = {
publisher = "github";
name = "copilot-chat";
version = "0.13.2024022301"; # compatible with vscode >= 1.87
hash = "sha256-WdojLEdrg6iqTH/cNPEWb6VEfk+gIHh2M5GHrAURjy8=";
version = "0.14.2024032901"; # compatible with vscode 1.88.1
hash = "sha256-+6N7IGO5j0wP5Zg8CwapHeKGWiZzc43VM4jCtqJDJIQ=";
};
meta = {
description = "GitHub Copilot Chat is a companion extension to GitHub Copilot that houses experimental chat features";

View File

@ -12,8 +12,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
publisher = "nvarner";
# Please update the corresponding binary (typst-lsp) when updating
# this extension.
version = "0.12.1";
hash = "sha256-JcfFaR1wU5XwapH8vnfVy7Cb7DfUWVeoLfBV3wEtCpE=";
version = "0.13.0";
hash = "sha256-xiFUJymZOTEqlGvCHvLiI0pVg7NLgIXhZ7x8yx+a5mY=";
};
nativeBuildInputs = [

View File

@ -69,9 +69,9 @@ in rec {
unstable = fetchurl rec {
# NOTE: Don't forget to change the hash for staging as well.
version = "9.6";
version = "9.7";
url = "https://dl.winehq.org/wine/source/9.x/wine-${version}.tar.xz";
hash = "sha256-Dglg7YK2AX6ILtozOLrRJwoRd7bPBfA6wfqxVavoIEg=";
hash = "sha256-2fPDM2VuiL1M71Mx80sci2nJZKUnWe73RdjdrlGhU1M=";
inherit (stable) patches;
## see http://wiki.winehq.org/Gecko
@ -88,9 +88,9 @@ in rec {
## see http://wiki.winehq.org/Mono
mono = fetchurl rec {
version = "9.0.0";
version = "9.1.0";
url = "https://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}-x86.msi";
hash = "sha256-efbEMQBnVWbBEvQZm56nuUTTOBZLNL2R+hGwsKQU4cQ=";
hash = "sha256-igoeaDe0lN9Jkn5ddZscaQjom4ovjjrQJeHCiBiCR24=";
};
updateScript = writeShellScript "update-wine-unstable" ''
@ -117,7 +117,7 @@ in rec {
staging = fetchFromGitLab rec {
# https://gitlab.winehq.org/wine/wine-staging
inherit (unstable) version;
hash = "sha256-6AKN/KpmsTw9qxErhTTzqWuglgFdOAhtaoBlVRcs71Q=";
hash = "sha256-KU6i1P81Fr+4aZH/SJ+YibaIfX88SZMPdPcGS2mT2CE=";
domain = "gitlab.winehq.org";
owner = "wine";
repo = "wine-staging";

View File

@ -1,5 +1,6 @@
{ lib, fetchFromGitHub, python3Packages, file, less, highlight, w3m, ranger, testers
{ lib, fetchFromGitHub, python3Packages, file, less, highlight, w3m, ranger, imagemagick, testers
, imagePreviewSupport ? true
, sixelPreviewSupport ? true
, neoVimSupport ? true
, improvedEncodingDetection ? true
, rightToLeftTextSupport ? false
@ -7,22 +8,23 @@
python3Packages.buildPythonApplication rec {
pname = "ranger";
version = "1.9.3";
version = "1.9.3-unstable-2023-08-23";
src = fetchFromGitHub {
owner = "ranger";
repo = "ranger";
rev = "v${version}";
sha256= "1rygfryczanvqxn43lmlkgs04sbqznbvbb9hlbm3h5qgdcl0xlw8";
rev = "38bb8901004b75a407ffee4b9e176bc0a436cb15";
hash = "sha256-NpsrABk95xHNvhlRjKFh326IW83mYj1cmK3aE9JQSRo=";
};
LC_ALL = "en_US.UTF-8";
nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
nativeCheckInputs = with python3Packages; [ pytestCheckHook astroid pylint ];
propagatedBuildInputs = [
less
file
] ++ lib.optionals imagePreviewSupport [ python3Packages.pillow ]
++ lib.optionals sixelPreviewSupport [ imagemagick ]
++ lib.optionals neoVimSupport [ python3Packages.pynvim ]
++ lib.optionals improvedEncodingDetection [ python3Packages.chardet ]
++ lib.optionals rightToLeftTextSupport [ python3Packages.python-bidi ];
@ -49,10 +51,6 @@ python3Packages.buildPythonApplication rec {
--replace "set preview_images false" "set preview_images true"
'';
passthru.tests.version = testers.testVersion {
package = ranger;
};
meta = with lib; {
description = "File manager with minimalistic curses interface";
homepage = "https://ranger.github.io/";

View File

@ -63,6 +63,8 @@ stdenv.mkDerivation {
$out/bin/${mainProgram} --version
'';
passthru.updateScript = ./update.sh;
passthru.tests.version = testers.testVersion {
package = _1password;
};

View File

@ -0,0 +1,42 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnused nurl xq-xml
set -eu
ROOT="$(dirname "$(readlink -f "$0")")"
NIX_DRV="$ROOT/default.nix"
if [ ! -f "$NIX_DRV" ]; then
echo "ERROR: cannot find default.nix in $ROOT"
exit 1
fi
fetch_linux() {
VER="$1"
ARCH="$2"
URL="https://cache.agilebits.com/dist/1P/op2/pkg/v${VER}/op_${ARCH}_v${VER}.zip"
nurl --hash --expr "(import <nixpkgs> { }).fetchzip { url = \"$URL\"; stripRoot = false; }"
}
fetch_darwin() {
VER="$1"
URL="https://cache.agilebits.com/dist/1P/op2/pkg/v${VER}/op_apple_universal_v${VER}.pkg"
nurl --hash --expr "(import <nixpkgs> { }).fetchurl { url = \"$URL\"; }"
}
replace_sha() {
sed -i "s|\"$1\" \"sha256-.\{44\}\"|\"$1\" \"$2\"|" "$NIX_DRV"
}
CLI_VERSION="$(curl -Ls https://app-updates.agilebits.com/product_history/CLI2 | xq -q 'h3' | head -n1)"
CLI_LINUX_AARCH64_SHA256=$(fetch_linux "$CLI_VERSION" "linux_arm64")
CLI_LINUX_I686_SHA256=$(fetch_linux "$CLI_VERSION" "linux_386")
CLI_LINUX_X64_SHA256=$(fetch_linux "$CLI_VERSION" "linux_amd64")
CLI_DARWIN_UNIVERSAL_SHA256=$(fetch_darwin "$CLI_VERSION")
sed -i "s/version = \".*\"/version = \"$CLI_VERSION\"/" "$NIX_DRV"
replace_sha "linux_arm64" "$CLI_LINUX_AARCH64_SHA256"
replace_sha "linux_386" "$CLI_LINUX_I686_SHA256"
replace_sha "linux_amd64" "$CLI_LINUX_X64_SHA256"
replace_sha "apple_universal" "$CLI_DARWIN_UNIVERSAL_SHA256"

View File

@ -15,7 +15,6 @@
, makeDesktopItem
, copyDesktopItems
, icoutils
, autoPatchelfHook
, bintools
, fixDarwinDylibNames
, autoSignDarwinBinariesHook
@ -40,8 +39,7 @@ buildDotnetModule rec {
nativeBuildInputs = [
copyDesktopItems
icoutils
] ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]
++ lib.optionals stdenv.hostPlatform.isDarwin [ bintools fixDarwinDylibNames ]
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ bintools fixDarwinDylibNames ]
++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ autoSignDarwinBinariesHook ];
buildInputs = [

View File

@ -25,13 +25,13 @@
python3Packages.buildPythonApplication rec {
pname = "gnome-frog";
version = "1.4.2";
version = "1.5.1";
src = fetchFromGitHub {
owner = "TenderOwl";
repo = "Frog";
rev = "refs/tags/${version}";
sha256 = "sha256-w/ENUhJt7bYy5htBLolb/HysK8/scRaPQX5qEezQcXY=";
sha256 = "sha256-zL6zuqHF1pTXT3l1mAFx2EL+0ThzjXfst/nEyNVorZg=";
};
format = "other";
@ -70,7 +70,11 @@ python3Packages.buildPythonApplication rec {
];
propagatedBuildInputs = with python3Packages; [
loguru
nanoid
posthog
pygobject3
python-dateutil
pillow
pytesseract
pyzbar

View File

@ -1,28 +1,8 @@
diff --git a/frog/config.py b/frog/config.py
index 9837755..b73e4e3 100644
--- a/frog/config.py
+++ b/frog/config.py
@@ -30,10 +30,14 @@ import os
APP_ID = "com.github.tenderowl.frog"
RESOURCE_PREFIX = "/com/github/tenderowl/frog"
+# This is based from the XDG Base Directory specification.
+if not os.getenv('XDG_DATA_HOME'):
+ os.environ['XDG_DATA_HOME'] = os.path.expanduser("~/.local/share")
+
if not os.path.exists(os.path.join(os.environ['XDG_DATA_HOME'], 'tessdata')):
os.mkdir(os.path.join(os.environ['XDG_DATA_HOME'], 'tessdata'))
tessdata_url = "https://github.com/tesseract-ocr/tessdata/raw/main/"
tessdata_best_url = "https://github.com/tesseract-ocr/tessdata_best/raw/main/"
tessdata_dir = os.path.join(os.environ['XDG_DATA_HOME'], 'tessdata')
-tessdata_config = f'--tessdata-dir {tessdata_dir} psm 6'
+tessdata_config = f'-psm 6 --tessdata-dir {tessdata_dir}'
diff --git a/frog/language_manager.py b/frog/language_manager.py
index 5752be6..4f6a908 100644
index d822c44..bc289db 100644
--- a/frog/language_manager.py
+++ b/frog/language_manager.py
@@ -156,7 +156,7 @@ class LanguageManager(GObject.GObject):
@@ -193,7 +193,7 @@ class LanguageManager(GObject.GObject):
os.mkdir(tessdata_dir)
dest_path = os.path.join(tessdata_dir, 'eng.traineddata')

View File

@ -1,27 +0,0 @@
{ lib, stdenv, fetchurl, cmake, stormlib }:
stdenv.mkDerivation rec {
pname = "smpq";
version = "1.6";
src = fetchurl {
url = "https://launchpad.net/smpq/trunk/${version}/+download/${pname}_${version}.orig.tar.gz";
sha256 = "1jqq5x3b17jy66x3kkf5hs5l322dx2v14djxxrqrnqp8bn5drlmm";
};
cmakeFlags = [
"-DWITH_KDE=OFF"
];
nativeBuildInputs = [ cmake ];
buildInputs = [ stormlib ];
meta = with lib; {
description = "StormLib MPQ archiving utility";
homepage = "https://launchpad.net/smpq";
license = licenses.gpl3Only;
platforms = platforms.all;
maintainers = with maintainers; [ aanderse karolchmist ];
mainProgram = "smpq";
};
}

View File

@ -9,6 +9,7 @@
, pango
, wayland
, wayland-protocols
, wayland-scanner
, libxkbcommon
, scdoc
}:
@ -34,7 +35,7 @@ stdenv.mkDerivation rec {
})
];
nativeBuildInputs = [ pkg-config meson ninja ];
nativeBuildInputs = [ pkg-config meson ninja wayland-scanner ];
buildInputs = [ cairo pango wayland libxkbcommon wayland-protocols scdoc ];
meta = with lib; {

View File

@ -22,18 +22,18 @@
ungoogled-chromium = {
deps = {
gn = {
hash = "sha256-JvilCnnb4laqwq69fay+IdAujYC1EHD7uWpkF/C8tBw=";
rev = "d4f94f9a6c25497b2ce0356bb99a8d202c8c1d32";
hash = "sha256-aEL1kIhgPAFqdb174dG093HoLhCJ07O1Kpqfu7r14wQ=";
rev = "22581fb46c0c0c9530caa67149ee4dd8811063cf";
url = "https://gn.googlesource.com/gn";
version = "2024-02-19";
version = "2024-03-14";
};
ungoogled-patches = {
hash = "sha256-ojKIAkJB/gfg6scCxUYNAGx4lsquAaCySBDcUCFLqSU=";
rev = "d5773b0fb696ef107cc6df6a94cbe732c9e905f9";
hash = "sha256-zgkt0stU/H5Mji429tigVbjOq27Op8UppHTjG6neoeA=";
rev = "124.0.6367.60-1";
};
};
hash = "sha256-7H7h621AHPyhFYbaVFO892TtS+SP3Qu7cYUVk3ICL14=";
hash_deb_amd64 = "sha256-tNkO1mPZg1xltBfoWeNhLekITtZV/WNgu//i2DJb17c=";
version = "123.0.6312.122";
hash = "sha256-apEniFKhIxPo4nhp9gCU+WpiV/EB40qif4RfE7Uniog=";
hash_deb_amd64 = "sha256-rSbigG5/xbL32d1ntOn6gnZyxSpgrg1h7lb/RD4YROI=";
version = "124.0.6367.60";
};
}

View File

@ -1,9 +1,9 @@
{
beta = import ./browser.nix {
channel = "beta";
version = "124.0.2478.39";
version = "124.0.2478.51";
revision = "1";
hash = "sha256-0KQU/JS6hlv2SLMB8RKyITUiodByBUstrhcwIefn3Yw=";
hash = "sha256-qQTRPkQBLRZhOqBT8U0PGcmmR2zNRxJiFl3N2UPwoSo=";
};
dev = import ./browser.nix {
channel = "dev";
@ -13,8 +13,8 @@
};
stable = import ./browser.nix {
channel = "stable";
version = "123.0.2420.97";
version = "124.0.2478.51";
revision = "1";
hash = "sha256-q7Pcbi0JQr/wvKIrgueD9f2Z6v1DMoD2bcRJKGqDYjs=";
hash = "sha256-dAiTS+KvKVwL6tNp4YsQfH4wdNIJoBJngcLBXgHArjE=";
};
}

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "istioctl";
version = "1.21.1";
version = "1.21.2";
src = fetchFromGitHub {
owner = "istio";
repo = "istio";
rev = version;
hash = "sha256-zWg0UK9RHq/25GWpsvb/U5YJPkgd7aUC/Dva8jGFwfo=";
hash = "sha256-U0SCjozy968pcXMGyUgM47VGYYNwPq8wOzTnKp49ZY4=";
};
vendorHash = "sha256-23t1xJPRip0ojXmUl1qlk6QJsYHT+9EAS080m6c0d6U=";

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "kubecolor";
version = "0.2.2";
version = "0.3.1";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "sha256-zXglsfPsJi9DVxlRPniSBsdF1xEMYqqGr46ThpQj3gQ=";
sha256 = "sha256-1gEEmF9RRMwFAvmhLwidkVh+lnibs6x5ZHy/nJRum9E=";
};
vendorHash = "sha256-uf7nBnS1wmbz4xcVA5qF82QMPsLdSucje1NNaPyheCw=";
vendorHash = "sha256-Gzz+mCEMQCcLwTiGMB8/nXk7HDAEGkEapC/VOyXrn/Q=";
ldflags = [ "-s" "-w" "-X main.Version=${version}" ];

View File

@ -20,13 +20,13 @@
buildGoModule rec {
pname = "kubernetes";
version = "1.29.4";
version = "1.30.0";
src = fetchFromGitHub {
owner = "kubernetes";
repo = "kubernetes";
rev = "v${version}";
hash = "sha256-7Rxbcsl77iFiHkU/ovyn74aXs/i5G/m5h5Ii0y1CRho=";
hash = "sha256-7xRRpchjwtV3dGbZ2hN9qj6soAuiF/K7vTY0LzE6Z5w=";
};
vendorHash = null;

View File

@ -120,6 +120,8 @@ in stdenv.mkDerivation rec {
libappindicator-gtk3
libnotify
libdbusmenu
pipewire
stdenv.cc.cc
xdg-utils
wayland
];
@ -158,7 +160,6 @@ in stdenv.mkDerivation rec {
preFixup = ''
gappsWrapperArgs+=(
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc pipewire ] }"
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
--suffix PATH : ${lib.makeBinPath [ xdg-utils ]}
)

View File

@ -5,13 +5,13 @@
buildGoModule rec {
pname = "storj-uplink";
version = "1.102.2";
version = "1.102.4";
src = fetchFromGitHub {
owner = "storj";
repo = "storj";
rev = "v${version}";
hash = "sha256-GpHX34iHKeoT7AuEf76QTpTIrATLZyAoUxMoIouhvyA=";
hash = "sha256-ryOWnVcJOUs9kToXtwjUTk7nwuAW0NCDn5Npn27hKXU=";
};
subPackages = [ "cmd/uplink" ];

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "eigenmath";
version = "unstable-2024-04-08";
version = "unstable-2024-04-19";
src = fetchFromGitHub {
owner = "georgeweigt";
repo = pname;
rev = "c0be6c47309aa40d44784a3a4c4c07bc4e8fb6fa";
hash = "sha256-UVCazX0P03+e1exnpXrGNc/1vHxLH04Xtvgsy00UAoI=";
rev = "5d5a538e7c378e9e2d9fabdf88fa2c6dd6d13e2c";
hash = "sha256-vPj3YKNJAZgdhw/VVrJIo2P7IyHrt7hVpnUQCUCZmR8=";
};
checkPhase = let emulator = stdenv.hostPlatform.emulator buildPackages; in ''

View File

@ -60,6 +60,13 @@ stdenv.mkDerivation rec {
url = "https://github.com/sagemath/sage/commit/1c3f991b9d3c5778e409e5414c6cfcd456113f19.diff";
hash = "sha256-uCXchYx26DdxTjR1k2748KCEHPnekKS2fAM7SpyhNvM=";
})
# https://github.com/sagemath/sage/pull/37763
(fetchpatch {
name = "scipy-fault-tolerance.patch";
url = "https://github.com/sagemath/sage/commit/547d502ed56f9fd44eb5d9b4ee0824746c60fef7.diff";
hash = "sha256-PR4przrZ3ieHaW2nSY7l7VhNfrUupu9yCIrXpeyoAgg=";
})
];
# Patches needed because of package updates. We could just pin the versions of

View File

@ -10,7 +10,7 @@
}:
let
version = "5.12.196";
version = "5.12.197";
in
rustPlatform.buildRustPackage {
pname = "git-mit";
@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
owner = "PurpleBooth";
repo = "git-mit";
rev = "v${version}";
hash = "sha256-vv60+8H6WQes+xVJRsgLppwQ/DkQbfNC6tRx2TB/4HQ=";
hash = "sha256-Z03FDdlg1IBXHpurKr6RwmtZkaptyeQe+0lgKn/GTTQ=";
};
cargoHash = "sha256-jK2GTI+T7Ie5cdQQQHh2aj6Egb/5BxsfJkFrSo+z7Pc=";
cargoHash = "sha256-V8TV8RM3T7DYqwNV/r5PkkJVtyAQLdY3BR3sz26phdY=";
nativeBuildInputs = [ pkg-config ];

View File

@ -5,15 +5,15 @@ let
in
{
sublime-merge = common {
buildVersion = "2091";
aarch64sha256 = "dkPKuuzQQtL3eZlaAPeL7e2p5PCxroFRSp6Rw5wHODc=";
x64sha256 = "T5g6gHgl9xGytEOsh3VuB08IrbDvMu24o/1edCGmfd4=";
buildVersion = "2096";
aarch64sha256 = "IHPJJ/oQ3SLemRyey5syTL0sf5GEeHSylDX+EQNNQGU=";
x64sha256 = "41I6p5wNx2pF56np7gHqp396RHpXtQu5ruksUywF/Ug=";
} { };
sublime-merge-dev = common {
buildVersion = "2094";
buildVersion = "2095";
dev = true;
aarch64sha256 = "ZJgq971EPzq+BWxTQAoX6TgUmTfpf9sI4CHPcvgPTfI=";
x64sha256 = "6FLfszhP+BGHX5FrycMlznREmGDLyDyo6rgmqxhtCak=";
aarch64sha256 = "FmXz8VAWS7e0bB9NeXbihnhdhWMyNJJs6PNt+K2G0Bk=";
x64sha256 = "83Hw27RgGPgugpf4eMuWT6/MSQ2Q2VBCbaXoSGFtTPI=";
} { };
}

View File

@ -15,13 +15,13 @@
buildGoModule rec {
pname = "cri-o";
version = "1.29.2";
version = "1.29.3";
src = fetchFromGitHub {
owner = "cri-o";
repo = "cri-o";
rev = "v${version}";
hash = "sha256-il28u2+Jv2gh6XqRV4y6u0FDZ4flmcp+bOj9aibL+ro=";
hash = "sha256-JJuqYC4GAZqXyyAjVoPipnGjRGbVx1rfH4UrtIOP7cc=";
};
vendorHash = null;

View File

@ -0,0 +1,25 @@
{
buildGoModule,
fetchFromGitHub,
lib,
}:
buildGoModule rec {
pname = "adbtuifm";
version = "0.5.8";
src = fetchFromGitHub {
owner = "darkhz";
repo = "adbtuifm";
rev = "v${version}";
hash = "sha256-TK93O9XwMrsrQT3EG0969HYMtYkK0a4PzG9FSTqHxAY=";
};
vendorHash = "sha256-voVoowjM90OGWXF4REEevO8XEzT7azRYiDay4bnGBks=";
meta = with lib; {
description = "A TUI-based file manager for the Android Debug Bridge";
homepage = "https://github.com/darkhz/adbtuifm";
changelog = "https:/github.com/darkhz/adbtuifm/releases/tag/v${version}";
license = with licenses; [mit];
maintainers = with maintainers; [daru-san];
mainProgram = "adbtuifm";
platforms = platforms.linux;
};
}

View File

@ -30,6 +30,7 @@ rustPlatform.buildRustPackage rec {
]
++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security
darwin.apple_sdk.frameworks.SystemConfiguration
];
env = {

View File

@ -1,9 +1,9 @@
{
"owner": "advplyr",
"repo": "audiobookshelf",
"rev": "166454ef43e3cdb42c644cdccdacddd3a880cd89",
"hash": "sha256-QrGzlSGK7WDlRemS13CmHdg563HFv9QhOpCF+XRxXsg=",
"version": "2.8.1",
"depsHash": "sha256-CzlwpgSgsQZGuRWTA/IkCyaryCSurH74WR5Rhm5faEk=",
"clientDepsHash": "sha256-s7/Rlj3DrYjUkxAN82bTpWe+D4HdVOc1mrqKgqcJuI4="
"rev": "8b27c726d51cd9706cd564ef72377b89db3194b3",
"hash": "sha256-9WqMcehlGhSMI08u6/LSNOrLhCCl8coEHAUUM5KLnx8=",
"version": "2.9.0",
"depsHash": "sha256-ll96aPw6lO7B1c5s7uIpn3poPu/JRa/weins5SNMQw4=",
"clientDepsHash": "sha256-uqHfU38BLqigGzKJC/i/bftLJbCmHaOcj04d1bu4K1I="
}

View File

@ -0,0 +1,49 @@
{ stdenv, lib, makeWrapper, fetchzip, testdisk, imagemagick, jdk, findutils, sleuthkit, ... }:
let
jdkWithJfx = jdk.override (lib.optionalAttrs stdenv.isLinux {
enableJavaFX = true;
});
in
stdenv.mkDerivation rec {
pname = "autopsy";
version = "4.21.0";
src = fetchzip {
url = "https://github.com/sleuthkit/autopsy/releases/download/autopsy-${version}/autopsy-${version}.zip";
sha256 = "32iOQA3+ykltCYW/MpqCVxyhh3mm6eYzY+t0smAsWRw=";
};
nativeBuildInputs = [ makeWrapper findutils ];
buildInputs = [ testdisk imagemagick jdkWithJfx ];
installPhase = ''
runHook preInstall
cp -r . $out
# Run the provided setup script to make files executable and copy sleuthkit
TSK_JAVA_LIB_PATH="${sleuthkit}/share/java" bash $out/unix_setup.sh -j '${jdkWithJfx}' -n autopsy
substituteInPlace $out/bin/autopsy \
--replace-warn 'APPNAME=`basename "$PRG"`' 'APPNAME=autopsy'
wrapProgram $out/bin/autopsy \
--run 'export SOLR_LOGS_DIR="$HOME/.autopsy/dev/var/log"' \
--run 'export SOLR_PID_DIR="$HOME/.autopsy/dev"' \
--prefix PATH : "${lib.makeBinPath [ testdisk imagemagick jdkWithJfx ]}"
runHook postInstall
'';
meta = {
description = "Graphical interface to The Sleuth Kit and other open source digital forensics tools";
homepage = "https://www.sleuthkit.org/autopsy";
changelog = "https://github.com/sleuthkit/autopsy/releases/tag/autopsy-${version}";
# Autopsy brings a lot of vendored dependencies
license = with lib.licenses; [ asl20 ipl10 lgpl3Only lgpl21Only zlib wtfpl bsd3 cc-by-30 mit gpl2Only ];
maintainers = with lib.maintainers; [ zebreus ];
mainProgram = "autopsy";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
# Autopsy theoretically also supports darwin
platforms = lib.platforms.x86_64;
};
}

View File

@ -1,29 +1,28 @@
{ stdenv
, lib
, fetchFromGitHub
, cmake
, cmocka
, libdict
, ncurses
, jansson
, openssl
, libpcap
{
lib,
stdenv,
cmake,
cmocka,
fetchFromGitHub,
jansson,
libdict,
libpcap,
ncurses,
openssl,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "bngblaster";
version = "0.8.44";
version = "0.8.47";
src = fetchFromGitHub {
owner = "rtbrick";
repo = "bngblaster";
rev = finalAttrs.version;
hash = "sha256-kKzrXw6HQ2917RBArj2BxixXXH0mIvC4IeEU2JY4F9s=";
hash = "sha256-ad2vVBXN5hUCaFnq4WYc7UTKvyLg4HY+l+PGlc5ylmw=";
};
nativeBuildInputs = [
cmake
];
nativeBuildInputs = [ cmake ];
buildInputs = [
libdict
@ -31,9 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
jansson
openssl
cmocka
] ++ lib.optionals finalAttrs.doCheck [
libpcap
];
] ++ lib.optionals finalAttrs.doCheck [ libpcap ];
cmakeFlags = [
"-DBNGBLASTER_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}"
@ -43,9 +40,9 @@ stdenv.mkDerivation (finalAttrs: {
doCheck = true;
meta = with lib; {
description = "Network tester for access and routing protocols";
homepage = "https://github.com/rtbrick/bngblaster/";
changelog = "https://github.com/rtbrick/bngblaster/releases/tag/${finalAttrs.version}";
description = "network tester for access and routing protocols";
license = licenses.bsd3;
maintainers = teams.wdz.members;
badPlatforms = platforms.darwin;

View File

@ -27,20 +27,20 @@ let
in
buildNpmPackage' rec {
pname = "bruno";
version = "1.13.1";
version = "1.14.0";
src = fetchFromGitHub {
owner = "usebruno";
repo = "bruno";
rev = "v${version}";
hash = "sha256-fVbwHmJ/5OtMM0lkOIo6zPXkAa8mIK+WRHCTXJ1XEIw=";
hash = "sha256-kUvDtqv3Tdnntr4Ny5pM406KA5++AHsCoAiPg4x4Rsw=";
postFetch = ''
${lib.getExe npm-lockfile-fix} $out/package-lock.json
'';
};
npmDepsHash = "sha256-D90y6NaiR9zpgtjfm9QgLxBVbHa09OMSi+fvgwqSjgY=";
npmDepsHash = "sha256-VvUpAdF4ouy695om3qpsyrmiMf69OFgfpQyeZArQEDs=";
npmFlags = [ "--legacy-peer-deps" ];
nativeBuildInputs = [

View File

@ -13,10 +13,10 @@ let
}.${system} or throwSystem;
hash = {
x86_64-linux = "sha256-6sIYDI6+1/p54Af+E/GmRAFlfDYJVwxhn0qF47ZH+Zg=";
aarch64-linux = "sha256-1ImcjAqCZm5KZZYHWhG1eO7ipAdrP4Qjj2eBxTst++s=";
x86_64-darwin = "sha256-yHthItxZYFejJlwJJ7BrM2csnLsZXjy/IbzF1iaCCyI=";
aarch64-darwin = "sha256-GIx0yABISj/rH/yVkkx6NBs5qF0P8nhpMyvnzXJ92mA=";
x86_64-linux = "sha256-cDMdhfN7PxT687DG1djDNzZXb6E3OrWHXbl1XS6pxi4=";
aarch64-linux = "sha256-0wc7fuvyDcbx2HXVq5IMe59r3iNbnXe+gDjCXtU3KjQ=";
x86_64-darwin = "sha256-ZWsBfA1AsBFWA3f40coqhaAmnQc1U50VJ1RHWiybq+o=";
aarch64-darwin = "sha256-EaoEsBBlpewevk9HstJLZGgQGdPuPb5cqXYkcbGX9WU=";
}.${system} or throwSystem;
bin = "$out/bin/codeium_language_server";
@ -24,7 +24,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "codeium";
version = "1.8.25";
version = "1.8.27";
src = fetchurl {
name = "${finalAttrs.pname}-${finalAttrs.version}.gz";
url = "https://github.com/Exafunction/codeium/releases/download/language-server-v${finalAttrs.version}/language_server_${plat}.gz";

View File

@ -26,6 +26,7 @@
, x265
, jasper
, bash
# For panorama and focus stacking
, enblend-enfuse
, hugin
@ -110,6 +111,13 @@ stdenv.mkDerivation rec {
cuda_cudart
]);
postPatch = ''
substituteInPlace \
core/dplugins/bqm/custom/userscript/userscript.cpp \
core/utilities/import/backend/cameracontroller.cpp \
--replace-fail \"/bin/bash\" \"${lib.getExe bash}\"
'';
cmakeFlags = [
"-DENABLE_MYSQLSUPPORT=1"
"-DENABLE_INTERNALMYSQL=1"

View File

@ -21,6 +21,7 @@
, nix-update-script
, ocl-icd
, opencl-headers
, overrideSDK
, pcre
, pcre2
, pkg-config
@ -40,8 +41,10 @@
, waylandSupport ? true
, x11Support ? true
}:
stdenv.mkDerivation (finalAttrs: {
let
stdenv' = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
in
stdenv'.mkDerivation (finalAttrs: {
pname = "fastfetch";
version = "2.9.2";

View File

@ -0,0 +1,53 @@
{ fetchgit
, pkg-config
, stdenv
, lib
# Package dependencies
, qt5
}:
stdenv.mkDerivation rec {
pname = "fgqcanvas";
version = "0-unstable-2024-02-11";
src = fetchgit {
url = "https://git.code.sf.net/p/flightgear/flightgear";
rev = "3168828949d6b42959ccee6c202b8895493edb2b";
sha256 = "sha256-QiIMkrzaB/ljVf6c+RJNFWKLZa84cIjYPO5nxEFDqjg=";
};
nativeBuildInputs = [
qt5.wrapQtAppsHook
qt5.qmake
pkg-config
qt5.qttools
];
buildInputs = [
qt5.qtwebsockets
];
configurePhase = ''
runHook preConfigure
cd utils/fgqcanvas/
mkdir -p build
cd build
qmake -makefile ../fgcanvas.pro CONFIG+="release" QMAKE_CXXFLAGS+=' -Wno-deprecated-copy -Wno-deprecated -Wno-deprecated-declarations'
runHook postConfigure
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
mv fgqcanvas $out/bin/
runHook postInstall
'';
meta = with lib; {
homepage = "https://sourceforge.net/p/flightgear/flightgear/ci/next/tree/utils/fgqcanvas/README.md";
description = "A Qt-based remote canvas application for FlightGear";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ nayala ];
mainProgram = "fgqcanvas";
};
}

View File

@ -8,24 +8,25 @@
let
pname = "firefly-iii";
version = "6.1.13";
version = "6.1.15";
phpPackage = php83;
src = fetchFromGitHub {
owner = "firefly-iii";
repo = "firefly-iii";
rev = "v${version}";
hash = "sha256-85zI8uCyyoCflzxDkvba6FWa9B3kh179DJfQ2Um6MGM=";
hash = "sha256-9Od8tR8X2OZ2hu81tHWDpBX8snWCRvTnlY1AwjIcMug=";
};
assets = buildNpmPackage {
pname = "${pname}-assets";
inherit version src;
npmDepsHash = "sha256-wuPUE6XuzzgKjpxZVgwh2wGut15M61WSBFG+YIZwOFM=";
npmDepsHash = "sha256-UVySgcj1tQLQIxlsZuig4ixkfxfsYWYPKWLz5zHA+Dg=";
dontNpmBuild = true;
installPhase = ''
runHook preInstall
npm run build
npm run prod --workspace=v1
npm run build --workspace=v2
cp -r ./public $out/
runHook postInstall
'';
@ -35,7 +36,7 @@ in
phpPackage.buildComposerProject (finalAttrs: {
inherit pname src version;
vendorHash = "sha256-CVGKyyLp5hjjpEulDNEYfljU4OgPBaFcYQQAUf6GeGs=";
vendorHash = "sha256-RDkAbTKj7M7lE8bVRxb+RR5CA6hJIMp61U0+aRtFE50=";
passthru = {
inherit phpPackage;

View File

@ -120,7 +120,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "fwupd";
version = "1.9.16";
version = "1.9.18";
# libfwupd goes to lib
# daemon, plug-ins and libfwupdplugin go to out
@ -131,7 +131,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "fwupd";
repo = "fwupd";
rev = finalAttrs.version;
hash = "sha256-mM8HSSQD5znjpl9q/f+u0RzZEkFA1tnh+BPB2qdcWvI=";
hash = "sha256-w2jqIPNV6OkPaHfy7bEFgr5IgzJYtMTrO5UWmnZ+2JI=";
};
patches = [

View File

@ -7,12 +7,12 @@
}:
let
version = "0.1.0";
version = "0.2.0";
gitSrc = fetchFromGitHub {
owner = "glasskube";
repo = "glasskube";
rev = "refs/tags/v${version}";
hash = "sha256-iJjO4V2sK3e/SpDZ5Lfw7gILgZrI4CGg0wLLVKthGUE=";
hash = "sha256-r14gYgrenUk3OFUEab4QlwmwUeEwqocJJ3Vje9wRdBA=";
};
web-bundle = buildNpmPackage rec {
inherit version;
@ -20,7 +20,7 @@ let
src = gitSrc;
npmDepsHash = "sha256-nv2ng8gUOi9K46bDuWt/Y3S6AJovUWaqM+8uGiu/QSs=";
npmDepsHash = "sha256-WKwEAVMG6r/ZFmxgLR+zJCW8F2DOHxpWDYqhX/vcdrs=";
dontNpmInstall = true;
@ -40,7 +40,7 @@ in buildGoModule rec {
src = gitSrc;
vendorHash = "sha256-iFWcTzZP0DKJ9hrmfUWR4U/VX2zsR+3uojI+GRI2R3I=";
vendorHash = "sha256-sj9TEAWhExwaaKlMJ10U7m3/xbUNl0dVZwrCb2TTu4o=";
CGO_ENABLED = 0;

View File

@ -0,0 +1,13 @@
# Export templates is necessary for setting up Godot engine, it's used when exporting projects.
# Godot applications/games packages needs to reference export templates.
# Export templates version should be kept in sync with Godot version.
# https://docs.godotengine.org/en/stable/tutorials/export/exporting_projects.html#export-templates
{ fetchzip, godot_4, ... }:
fetchzip {
pname = "export_templates";
extension = "zip";
url = "https://github.com/godotengine/godot/releases/download/${godot_4.version}/Godot_v${godot_4.version}_export_templates.tpz";
hash = "sha256-eomGLH9lbZhl7VtHTWjJ5mxVt0Yg8LfnAnpqoCksPgs=";
}

View File

@ -10,13 +10,13 @@
buildGoModule rec {
pname = "hugo";
version = "0.125.0";
version = "0.125.3";
src = fetchFromGitHub {
owner = "gohugoio";
repo = "hugo";
rev = "refs/tags/v${version}";
hash = "sha256-aPBS/8m57Dn8Uvem58KzaCZJ1Hn8doL1BsDdF7w5nJc=";
hash = "sha256-PZTV/VM0KS/vM4lLrJ/XPvNi33lM+L0gITQHGpjdN+4=";
};
vendorHash = "sha256-jGCHlAE5mSDKpZVWgjCEN51sL+3GR/C5ROI9065OhRU=";

View File

@ -1,15 +1,16 @@
{ lib
, darwin
, fetchurl
, fetchpatch
, openssl
, stdenv
, vlc
{
lib,
darwin,
fetchpatch,
fetchurl,
openssl,
stdenv,
vlc,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "live555";
version = "2024.03.08";
version = "2024.04.14";
src = fetchurl {
urls = [
@ -18,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: {
"https://download.videolan.org/contrib/live555/live.${finalAttrs.version}.tar.gz"
"mirror://sourceforge/slackbuildsdirectlinks/live.${finalAttrs.version}.tar.gz"
];
hash = "sha256-wWUC4EbxxfK+OxXiyNbNMGObVMZOqb+8jTG078pnDeU=";
hash = "sha256-mR5rKGKtTwMq3p+xAAGdo0DNNnIe4KHladLPlnhVhNY=";
};
patches = [
@ -60,11 +61,13 @@ stdenv.mkDerivation (finalAttrs: {
'';
configurePhase = let
platform = if stdenv.isLinux
then "linux"
else if stdenv.isDarwin
then "macosx-catalina"
else throw "Unsupported platform: ${stdenv.hostPlatform.system}";
platform =
if stdenv.isLinux then
"linux"
else if stdenv.isDarwin then
"macosx-catalina"
else
throw "Unsupported platform: ${stdenv.hostPlatform.system}";
in ''
runHook preConfigure

View File

@ -5,16 +5,16 @@
buildGoModule rec {
pname = "livekit-cli";
version = "1.4.1";
version = "1.4.2";
src = fetchFromGitHub {
owner = "livekit";
repo = "livekit-cli";
rev = "v${version}";
hash = "sha256-/H7Xn/nUumKf62qV6kt2PBbvIt67IwA1dt+hj8mbE30=";
hash = "sha256-6UIMyroZpylUMG7TIBOqDIDsuJLtpe2BQxfjEhbZBGc=";
};
vendorHash = "sha256-yO2Qr6H5sZGLMHiue5IVHkF1IDsZZh48s6KNpXR+nzA=";
vendorHash = "sha256-e84jusaQx6B5cbJoIOSVyxgAQx9VIxFODH1Io1Z/yj0=";
subPackages = [ "cmd/livekit-cli" ];

View File

@ -13,13 +13,13 @@
rustPlatform.buildRustPackage rec {
pname = "maa-cli";
version = "0.4.5";
version = "0.4.6";
src = fetchFromGitHub {
owner = "MaaAssistantArknights";
repo = "maa-cli";
rev = "v${version}";
hash = "sha256-LeEIbfDQ+GO3gNmdpWGTNkpbhSqLz4fYQ+MdcrcbDk0=";
hash = "sha256-fvMSYcYWYEVvDuAEjSmQJltl90EoLKkjYD2P3OsHS3c=";
};
nativeBuildInputs = [
@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
buildNoDefaultFeatures = true;
buildFeatures = [ "git2" "core_installer" ];
cargoHash = "sha256-tkUJH7oFY5eZ5A7J+qzeyHlqOUnTipf6o+leZz7KOiQ=";
cargoHash = "sha256-LQWjgMRxtSs2MX1R6YsxDAWUvoUJfOWmp/zj/hlTxyw=";
# maa-cli would only seach libMaaCore.so and resources in itself's path
# https://github.com/MaaAssistantArknights/maa-cli/issues/67

View File

@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "nawk";
version = "20240311";
version = "20240422";
src = fetchFromGitHub {
owner = "onetrueawk";
repo = "awk";
rev = finalAttrs.version;
hash = "sha256-4iAQR8djhhp5Yn4H1IdzotQLY0d/Gz/vNQPfAUNQV0A=";
hash = "sha256-wsRkSXCLtK2jk4gW/Lpg/14NiOUANfmCrYqeKZW6CLY=";
};
depsBuildBuild = [ buildPackages.stdenv.cc ];

View File

@ -6,7 +6,7 @@
}:
let
pname = "netscanner";
version = "0.4.2";
version = "0.4.4";
in
rustPlatform.buildRustPackage {
inherit pname version;
@ -17,10 +17,10 @@ rustPlatform.buildRustPackage {
owner = "Chleba";
repo = "netscanner";
rev = "refs/tags/v${version}";
hash = "sha256-xdY3moWRmSMZ3PVyuHBnp8c9k5KxH+MoE5+s0QWSUM4=";
hash = "sha256-RO0+Zz1sivIjD8OM4TBHR5geJw540MAJfXEl2yriH6o=";
};
cargoHash = "sha256-15BNkrr79KMyFcn7NJrGCj25RjH/a4WUOQAoMPzJieQ=";
cargoHash = "sha256-GJLrUF2YAMtCtXTPJvlUURfiTYBFUE6Gmeux+5RXqAM=";
postFixup = ''
wrapProgram $out/bin/netscanner \

View File

@ -6,13 +6,13 @@
stdenvNoCC.mkDerivation rec {
pname = "nuclei-templates";
version = "9.8.1";
version = "9.8.5";
src = fetchFromGitHub {
owner = "projectdiscovery";
repo = "nuclei-templates";
rev = "refs/tags/v${version}";
hash = "sha256-g1MwzJK9a8bpbbP9EoUi0UBR54nfnyg3RDi9qwIKlH0=";
hash = "sha256-j1W/Gq002Y+/Lrq51Od8iZoxbMJji20kpbUaCC7ieqE=";
};
installPhase = ''

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "omnictl";
version = "0.32.2";
version = "0.33.2";
src = fetchFromGitHub {
owner = "siderolabs";
repo = "omni";
rev = "v${version}";
hash = "sha256-db/bYwMPrOZvD/YPtFaRK80yaYdsE70YPh0xQe0uVi4=";
hash = "sha256-sszIUHEXtnla1fxlUbHXjQzaJoafse1YOSVikd7LMHk=";
};
vendorHash = "sha256-uwzVUdA51eT9fi2Wr0ilNPMpXx430UIYYWXQa1hpzRM=";
vendorHash = "sha256-fU2bmVL42tEoWvrCAg2iSV7bErZhwor6tnjGRrtwMA4=";
ldflags = [ "-s" "-w" ];

View File

@ -2,7 +2,7 @@
python3Packages.buildPythonApplication rec {
pname = "pyprland";
version = "2.2.5";
version = "2.2.10";
format = "pyproject";
disabled = python3Packages.pythonOlder "3.10";
@ -11,7 +11,7 @@ python3Packages.buildPythonApplication rec {
owner = "hyprland-community";
repo = "pyprland";
rev = "refs/tags/${version}";
hash = "sha256-ech+KqB0SyFYDWNP+luv+K2aDjJHZDWp72V6wkGBJJw=";
hash = "sha256-SOrkOLSjXq8PlZ894EKjfN+Dfnwa8dRgh5eOJVeD2Mk=";
};
nativeBuildInputs = with python3Packages; [ poetry-core ];

View File

@ -31,6 +31,6 @@ stdenv.mkDerivation {
homepage = "https://github.com/rockchip-linux/rkbin";
license = licenses.unfreeRedistributable;
maintainers = with maintainers; [ thefossguy ];
platforms = [ "aarch64-linux" ];
platforms = lib.platforms.all;
};
}

View File

@ -0,0 +1,43 @@
{ stdenv
, lib
, rkbin
, box64
}:
stdenv.mkDerivation {
name = "rkboot";
src = rkbin.src;
postPatch = ''
substituteInPlace RKBOOT/*.ini --replace 'PATH=' 'PATH=rkboot/'
'';
buildPhase = ''
mkdir rkboot
for i in $(ls ./RKBOOT/*.ini)
do
# The proprietary, statically linked binaries to perform boot_merge are
# x86_64 only. Though we use box64 to emulate if building on aarch64-linux
${lib.optionalString stdenv.isAarch64 "${lib.getExe box64}"} ./tools/boot_merger "$i" || true
done
'';
installPhase = ''
mkdir -p $out
if [ -z "$(ls -A rkboot)" ]; then
echo "Error: The 'rkboot' directory is empty."
exit 1
else
mv rkboot $out/bin
fi
'';
meta = with lib; {
description = "Rockchip proprietary SPL bootloader blobs";
homepage = "https://github.com/rockchip-linux/rkbin";
license = licenses.unfreeRedistributable;
maintainers = with maintainers; [ matthewcroughan ];
platforms = [ "x86_64-linux" "aarch64-linux" ];
};
}

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "simdutf";
version = "5.2.4";
version = "5.2.5";
src = fetchFromGitHub {
owner = "simdutf";
repo = "simdutf";
rev = "v${finalAttrs.version}";
hash = "sha256-ty4LqRJzwDRMCqPUcvgCAuvNExb0iRIzCOSMCfDzGEU=";
hash = "sha256-X/mpVmZ9FyN5MOcQRT1CjH5wsirSQ4rqdPE0lM5meT8=";
};
# Fix build on darwin

View File

@ -0,0 +1,36 @@
{
lib,
cmake,
fetchurl,
stdenv,
stormlib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "smpq";
version = "1.6";
src = fetchurl {
url = "https://launchpad.net/smpq/trunk/${finalAttrs.version}/+download/smpq_${finalAttrs.version}.orig.tar.gz";
hash = "sha256-tdLcil3oYptx7l02ErboTYhBi4bFzTm6MV6esEYvGMs=";
};
cmakeFlags = [
(lib.cmakeBool "WITH_KDE" false)
];
nativeBuildInputs = [ cmake ];
buildInputs = [ stormlib ];
strictDeps = true;
meta = {
homepage = "https://launchpad.net/smpq";
description = "StormLib MPQ archiving utility";
license = lib.licenses.gpl3Only;
mainProgram = "smpq";
maintainers = with lib.maintainers; [ aanderse karolchmist ];
platforms = lib.platforms.all;
};
})

View File

@ -6,11 +6,11 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "stats";
version = "2.10.7";
version = "2.10.10";
src = fetchurl {
url = "https://github.com/exelban/stats/releases/download/v${finalAttrs.version}/Stats.dmg";
hash = "sha256-B44KFrKy76IZB7QeivE4a/e8JARp4VwJs0mTffa622w=";
hash = "sha256-CdTY5Qv/xF9ItNgHQFqec5nKObnImx/+MuFShTfdrAo=";
};
sourceRoot = ".";

View File

@ -1,41 +1,61 @@
{ lib, stdenv, fetchFromGitHub, cmake, bzip2, libtomcrypt, zlib, darwin }:
{
lib,
bzip2,
cmake,
darwin,
fetchFromGitHub,
libtomcrypt,
stdenv,
zlib,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "stormlib";
version = "9.22";
version = "9.23";
src = fetchFromGitHub {
owner = "ladislav-zezula";
repo = "StormLib";
rev = "v${version}";
sha256 = "1rcdl6ryrr8fss5z5qlpl4prrw8xpbcdgajg2hpp0i7fpk21ymcc";
rev = "v${finalAttrs.version}";
hash = "sha256-8JDMqZ5BWslH4+Mfo5lnWTmD2QDaColwBOLzcuGZciY=";
};
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "FRAMEWORK DESTINATION /Library/Frameworks" "FRAMEWORK DESTINATION Library/Frameworks"
'';
cmakeFlags = [
"-DBUILD_SHARED_LIBS=ON"
"-DWITH_LIBTOMCRYPT=ON"
nativeBuildInputs = [
cmake
];
nativeBuildInputs = [ cmake ];
buildInputs = [ bzip2 libtomcrypt zlib ] ++
lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Carbon ];
buildInputs = [
bzip2
libtomcrypt
zlib
]
++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Carbon
];
cmakeFlags = [
(lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
(lib.cmakeBool "WITH_LIBTOMCRYPT" true)
];
strictDeps = true;
env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [
"-Wno-implicit-function-declaration"
"-Wno-int-conversion"
]);
meta = with lib; {
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "FRAMEWORK DESTINATION /Library/Frameworks" "FRAMEWORK DESTINATION Library/Frameworks"
'';
meta = {
homepage = "https://github.com/ladislav-zezula/StormLib";
license = licenses.mit;
description = "An open-source project that can work with Blizzard MPQ archives";
mainProgram = "storm_test";
platforms = platforms.all;
maintainers = with maintainers; [ aanderse karolchmist ];
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ aanderse karolchmist ];
platforms = lib.platforms.all;
broken = stdenv.isDarwin; # installation directory mismatch
};
}
})

View File

@ -308,9 +308,9 @@ dependencies = [
[[package]]
name = "axoupdater"
version = "0.5.0"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04daf26062f90764242d0e144ad52d1952cb0d02ef7ce3ffbb9127b4f1340f36"
checksum = "639ef3c97d1bebfb42f94739036fbe3e10ef0056d2f8d5ea288bf4ad5f73a5e6"
dependencies = [
"axoasset",
"axoprocess",
@ -628,7 +628,7 @@ dependencies = [
"num-traits",
"serde",
"wasm-bindgen",
"windows-targets 0.52.4",
"windows-targets 0.52.5",
]
[[package]]
@ -1049,6 +1049,7 @@ dependencies = [
"cache-key",
"distribution-filename",
"fs-err",
"git2",
"itertools 0.12.1",
"once_cell",
"pep440_rs",
@ -1618,9 +1619,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
[[package]]
name = "hyper"
version = "1.3.0"
version = "1.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f24ce812868d86d19daa79bf3bf9175bc44ea323391147a5e3abde2a283871b"
checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d"
dependencies = [
"bytes",
"futures-channel",
@ -2724,15 +2725,15 @@ dependencies = [
[[package]]
name = "pyo3"
version = "0.20.3"
version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53bdbb96d49157e65d45cc287af5f32ffadd5f4761438b527b055fb0d4bb8233"
checksum = "a5e00b96a521718e08e03b1a622f01c8a8deb50719335de3f60b3b3950f069d8"
dependencies = [
"cfg-if",
"indoc",
"libc",
"memoffset 0.9.1",
"parking_lot 0.11.2",
"parking_lot 0.12.1",
"portable-atomic",
"pyo3-build-config",
"pyo3-ffi",
@ -2742,9 +2743,9 @@ dependencies = [
[[package]]
name = "pyo3-build-config"
version = "0.20.3"
version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7"
checksum = "7883df5835fafdad87c0d888b266c8ec0f4c9ca48a5bed6bbb592e8dedee1b50"
dependencies = [
"once_cell",
"target-lexicon",
@ -2752,9 +2753,9 @@ dependencies = [
[[package]]
name = "pyo3-ffi"
version = "0.20.3"
version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62b42531d03e08d4ef1f6e85a2ed422eb678b8cd62b762e53891c05faf0d4afa"
checksum = "01be5843dc60b916ab4dad1dca6d20b9b4e6ddc8e15f50c47fe6d85f1fb97403"
dependencies = [
"libc",
"pyo3-build-config",
@ -2762,9 +2763,9 @@ dependencies = [
[[package]]
name = "pyo3-log"
version = "0.9.0"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c10808ee7250403bedb24bc30c32493e93875fef7ba3e4292226fe924f398bd"
checksum = "2af49834b8d2ecd555177e63b273b708dea75150abc6f5341d0a6e1a9623976c"
dependencies = [
"arc-swap",
"log",
@ -2773,9 +2774,9 @@ dependencies = [
[[package]]
name = "pyo3-macros"
version = "0.20.3"
version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7305c720fa01b8055ec95e484a6eca7a83c841267f0dd5280f0c8b8551d2c158"
checksum = "77b34069fc0682e11b31dbd10321cbf94808394c56fd996796ce45217dfac53c"
dependencies = [
"proc-macro2",
"pyo3-macros-backend",
@ -2785,9 +2786,9 @@ dependencies = [
[[package]]
name = "pyo3-macros-backend"
version = "0.20.3"
version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7c7e9b68bb9c3149c5b0cade5d07f953d6d125eb4337723c4ccdb665f1f96185"
checksum = "08260721f32db5e1a5beae69a55553f56b99bd0e1c3e6e0a5e8851a9d0f5a85c"
dependencies = [
"heck 0.4.1",
"proc-macro2",
@ -2933,13 +2934,13 @@ dependencies = [
[[package]]
name = "reflink-copy"
version = "0.1.15"
version = "0.1.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52b1349400e2ffd64a9fb5ed9008e33c0b8ef86bd5bae8f73080839c7082f1d5"
checksum = "7c3138c30c59ed9b8572f82bed97ea591ecd7e45012566046cc39e72679cff22"
dependencies = [
"cfg-if",
"rustix",
"windows 0.54.0",
"windows 0.56.0",
]
[[package]]
@ -3191,9 +3192,9 @@ dependencies = [
[[package]]
name = "rmp"
version = "0.8.12"
version = "0.8.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f9860a6cc38ed1da53456442089b4dfa35e7cedaa326df63017af88385e6b20"
checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4"
dependencies = [
"byteorder",
"num-traits",
@ -3202,9 +3203,9 @@ dependencies = [
[[package]]
name = "rmp-serde"
version = "1.1.2"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bffea85eea980d8a74453e5d02a8d93028f3c34725de143085a844ebe953258a"
checksum = "938a142ab806f18b88a97b0dea523d39e0fd730a064b035726adcfc58a8a5188"
dependencies = [
"byteorder",
"rmp",
@ -3434,18 +3435,18 @@ checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
[[package]]
name = "serde"
version = "1.0.197"
version = "1.0.198"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.197"
version = "1.0.198"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9"
dependencies = [
"proc-macro2",
"quote",
@ -3465,9 +3466,9 @@ dependencies = [
[[package]]
name = "serde_json"
version = "1.0.115"
version = "1.0.116"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813"
dependencies = [
"itoa",
"ryu",
@ -3855,18 +3856,18 @@ dependencies = [
[[package]]
name = "thiserror"
version = "1.0.58"
version = "1.0.59"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.58"
version = "1.0.59"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66"
dependencies = [
"proc-macro2",
"quote",
@ -4397,7 +4398,7 @@ checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
[[package]]
name = "uv"
version = "0.1.35"
version = "0.1.36"
dependencies = [
"anstream",
"anyhow",
@ -4465,6 +4466,7 @@ dependencies = [
name = "uv-auth"
version = "0.0.1"
dependencies = [
"anyhow",
"async-trait",
"base64 0.22.0",
"http",
@ -4978,6 +4980,7 @@ dependencies = [
"pep440_rs",
"pep508_rs",
"pypi-types",
"requirements-txt",
"rustc-hash",
"serde",
"serde_json",
@ -4991,7 +4994,7 @@ dependencies = [
[[package]]
name = "uv-version"
version = "0.1.35"
version = "0.1.36"
[[package]]
name = "uv-virtualenv"
@ -5306,19 +5309,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
dependencies = [
"windows-core 0.52.0",
"windows-implement",
"windows-interface",
"windows-targets 0.52.4",
"windows-implement 0.52.0",
"windows-interface 0.52.0",
"windows-targets 0.52.5",
]
[[package]]
name = "windows"
version = "0.54.0"
version = "0.56.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49"
checksum = "1de69df01bdf1ead2f4ac895dc77c9351aefff65b2f3db429a343f9cbf05e132"
dependencies = [
"windows-core 0.54.0",
"windows-targets 0.52.4",
"windows-core 0.56.0",
"windows-targets 0.52.5",
]
[[package]]
@ -5327,17 +5330,19 @@ version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
dependencies = [
"windows-targets 0.52.4",
"windows-targets 0.52.5",
]
[[package]]
name = "windows-core"
version = "0.54.0"
version = "0.56.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65"
checksum = "4698e52ed2d08f8658ab0c39512a7c00ee5fe2688c65f8c0a4f06750d729f2a6"
dependencies = [
"windows-implement 0.56.0",
"windows-interface 0.56.0",
"windows-result",
"windows-targets 0.52.4",
"windows-targets 0.52.5",
]
[[package]]
@ -5351,6 +5356,17 @@ dependencies = [
"syn 2.0.58",
]
[[package]]
name = "windows-implement"
version = "0.56.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.58",
]
[[package]]
name = "windows-interface"
version = "0.52.0"
@ -5363,12 +5379,23 @@ dependencies = [
]
[[package]]
name = "windows-result"
version = "0.1.0"
name = "windows-interface"
version = "0.56.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd19df78e5168dfb0aedc343d1d1b8d422ab2db6756d2dc3fef75035402a3f64"
checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc"
dependencies = [
"windows-targets 0.52.4",
"proc-macro2",
"quote",
"syn 2.0.58",
]
[[package]]
name = "windows-result"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "749f0da9cc72d82e600d8d2e44cadd0b9eedb9038f71a1c58556ac1c5791813b"
dependencies = [
"windows-targets 0.52.5",
]
[[package]]
@ -5386,7 +5413,7 @@ version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
"windows-targets 0.52.4",
"windows-targets 0.52.5",
]
[[package]]
@ -5406,17 +5433,18 @@ dependencies = [
[[package]]
name = "windows-targets"
version = "0.52.4"
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
dependencies = [
"windows_aarch64_gnullvm 0.52.4",
"windows_aarch64_msvc 0.52.4",
"windows_i686_gnu 0.52.4",
"windows_i686_msvc 0.52.4",
"windows_x86_64_gnu 0.52.4",
"windows_x86_64_gnullvm 0.52.4",
"windows_x86_64_msvc 0.52.4",
"windows_aarch64_gnullvm 0.52.5",
"windows_aarch64_msvc 0.52.5",
"windows_i686_gnu 0.52.5",
"windows_i686_gnullvm",
"windows_i686_msvc 0.52.5",
"windows_x86_64_gnu 0.52.5",
"windows_x86_64_gnullvm 0.52.5",
"windows_x86_64_msvc 0.52.5",
]
[[package]]
@ -5427,9 +5455,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.52.4"
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
[[package]]
name = "windows_aarch64_msvc"
@ -5439,9 +5467,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]]
name = "windows_aarch64_msvc"
version = "0.52.4"
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
[[package]]
name = "windows_i686_gnu"
@ -5451,9 +5479,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]]
name = "windows_i686_gnu"
version = "0.52.4"
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
[[package]]
name = "windows_i686_gnullvm"
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
[[package]]
name = "windows_i686_msvc"
@ -5463,9 +5497,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]]
name = "windows_i686_msvc"
version = "0.52.4"
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
[[package]]
name = "windows_x86_64_gnu"
@ -5475,9 +5509,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]]
name = "windows_x86_64_gnu"
version = "0.52.4"
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
[[package]]
name = "windows_x86_64_gnullvm"
@ -5487,9 +5521,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.52.4"
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
[[package]]
name = "windows_x86_64_msvc"
@ -5499,9 +5533,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "windows_x86_64_msvc"
version = "0.52.4"
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
[[package]]
name = "winnow"

View File

@ -12,13 +12,13 @@
rustPlatform.buildRustPackage rec {
pname = "uv";
version = "0.1.35";
version = "0.1.36";
src = fetchFromGitHub {
owner = "astral-sh";
repo = "uv";
rev = version;
hash = "sha256-GcAvpX7oanJ8G1dgTyTa8jk9xhTroF2G+ir8j7Yua1M=";
hash = "sha256-ngKVc3RJzkkjIfeyRbPe2kzBSJH7T8wdyZo3DP9FwpU=";
};
cargoLock = {

View File

@ -10,9 +10,12 @@
, libglvnd
, libxkbcommon
, vulkan-loader
, wayland
, xdg-utils
, xorg
, zlib
, makeWrapper
, waylandSupport ? false
}:
let
@ -35,7 +38,7 @@ linux = stdenv.mkDerivation (finalAttrs: {
--replace-fail /opt/ $out/opt/
'';
nativeBuildInputs = [ autoPatchelfHook zstd ];
nativeBuildInputs = [ autoPatchelfHook zstd makeWrapper ];
buildInputs = [
curl
@ -54,7 +57,7 @@ linux = stdenv.mkDerivation (finalAttrs: {
xorg.libxcb
xorg.libXcursor
xorg.libXi
];
] ++ lib.optionals waylandSupport [wayland];
installPhase = ''
runHook preInstall
@ -62,6 +65,9 @@ linux = stdenv.mkDerivation (finalAttrs: {
mkdir $out
cp -r opt usr/* $out
'' + lib.optionalString waylandSupport ''
wrapProgram $out/bin/warp-terminal --set WARP_ENABLE_WAYLAND 1
'' + ''
runHook postInstall
'';
});

View File

@ -74,27 +74,16 @@ let
rev = "0.10.1";
hash = "sha256-iIYKvpOWafPJB5XhDOSIW9Mb4I3A4pcgIIPQdQYEqUw=";
};
wireplumber_0_4 = wireplumber.overrideAttrs (attrs: rec {
version = "0.4.17";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "pipewire";
repo = "wireplumber";
rev = version;
hash = "sha256-vhpQT67+849WV1SFthQdUeFnYe/okudTQJoL3y+wXwI=";
};
});
in
stdenv.mkDerivation (finalAttrs: {
pname = "waybar";
version = "0.10.0";
version = "0.10.1";
src = fetchFromGitHub {
owner = "Alexays";
repo = "Waybar";
rev = finalAttrs.version;
hash = "sha256-p1VRrKT2kTDy48gDXPMHlLbfcokAOFeTZXGzTeO1SAE=";
hash = "sha256-xDeY0Bnwr+jCS0IpseWNgryQ3yV7RJ1VNNbOkT/xl5c=";
};
postUnpack = lib.optional cavaSupport ''
@ -151,7 +140,7 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optional traySupport libdbusmenu-gtk3
++ lib.optional udevSupport udev
++ lib.optional upowerSupport upower
++ lib.optional wireplumberSupport wireplumber_0_4
++ lib.optional wireplumberSupport wireplumber
++ lib.optional (cavaSupport || pipewireSupport) pipewire
++ lib.optional (!stdenv.isLinux) libinotify-kqueue;

View File

@ -60,11 +60,7 @@
uos
.license.key
*/
uosLicense ? requireFile {
name = "license.tar.gz";
url = "https://www.uniontech.com";
sha256 = "53760079c1a5b58f2fa3d5effe1ed35239590b288841d812229ef4e55b2dbd69";
}
uosLicense ? null
}:
let
wechat-uos-env = stdenvNoCC.mkDerivation {
@ -87,6 +83,30 @@ let
preferLocalBuild = true;
};
uosLicenseUnzipped = stdenvNoCC.mkDerivation {
name = "uos-license-unzipped";
src =
if uosLicense == null then
requireFile
{
name = "license.tar.gz";
url = "https://www.uniontech.com";
sha256 = "53760079c1a5b58f2fa3d5effe1ed35239590b288841d812229ef4e55b2dbd69";
} else uosLicense;
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r * $out/
runHook postInstall
'';
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "sha256-pNftwtUZqBsKBSPQsEWlYLlb6h2Xd9j56ZRMi8I82ME=";
};
wechat-uos-runtime = with xorg; [
stdenv.cc.cc
stdenv.cc.libc
@ -195,11 +215,10 @@ let
dpkg -x $src ./wechat-uos
dpkg -x $uosSrc ./wechat-uos-old-source
tar -xvf $uosLicense
runHook postUnpack
'';
# Use ln for license to prevent being garbage collection
installPhase = ''
runHook preInstall
mkdir -p $out
@ -207,7 +226,7 @@ let
cp -r wechat-uos/* $out
mkdir -pv $out/usr/lib/wechat-uos/license
cp -r license/* $out/usr/lib/wechat-uos/license
ln -s ${uosLicenseUnzipped}/* $out/usr/lib/wechat-uos/license/
cp -r wechat-uos-old-source/usr/lib/license/libuosdevicea.so $out/usr/lib/wechat-uos/license/
runHook postInstall

View File

@ -2,11 +2,11 @@
buildGraalvmNativeImage rec {
pname = "yamlscript";
version = "0.1.56";
version = "0.1.57";
src = fetchurl {
url = "https://github.com/yaml/yamlscript/releases/download/${version}/yamlscript.cli-${version}-standalone.jar";
hash = "sha256-4ZjQYl4NdqbzyeEWDthBA8fWJFlIuMRtvHLtdlVYQmw=";
hash = "sha256-nuYfYz1Q7PtVb9A2KEN2XGeINifEjsM4IqGiUBbTGFM=";
};
executable = "ys";

View File

@ -2,11 +2,11 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "youtrack";
version = "2024.1.27971";
version = "2024.1.28928";
src = fetchzip {
url = "https://download.jetbrains.com/charisma/youtrack-${finalAttrs.version}.zip";
hash = "sha256-DropdHT3ZA4kuxyE8xyHB079OMzYH4zKPt38oW7XoFY=";
hash = "sha256-8+dZ1YTpvOX0IEEbFzv4t8T/U/BZMeDCZL7Ju25WBpE=";
};
nativeBuildInputs = [ makeBinaryWrapper ];

View File

@ -2,7 +2,7 @@
let
themeName = "Dracula";
version = "unstable-2024-04-08";
version = "unstable-2024-04-16";
in
stdenvNoCC.mkDerivation {
pname = "dracula-theme";
@ -11,8 +11,8 @@ stdenvNoCC.mkDerivation {
src = fetchFromGitHub {
owner = "dracula";
repo = "gtk";
rev = "18350cafd8e9c775737f97fb5acf0890e29bc47a";
hash = "sha256-uhcRV7E7GDjWjetUHcz/E/g36m/yYTg3c9WJo6gYTJA=";
rev = "557e276b41b00bbdc981c32f22ce6adc062d7c1e";
hash = "sha256-il9zpzJeszGJ1gLkG73mtaMD8nBUFCfCXjcJV1fizxg=";
};
propagatedUserEnvPkgs = [

View File

@ -24,13 +24,13 @@ lib.checkListOfEnum "${pname}: tweaks" [ "flat" "grey" "mix" "translucent" ] twe
stdenvNoCC.mkDerivation rec {
inherit pname;
version = "2023-09-09";
version = "2024-04-20";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = pname;
rev = version;
sha256 = "dfdPEJnSmD0eqzx4ysiGPp77Beo32l2Tz1qSrbShLlc=";
sha256 = "RbAdoix+UWKiLB+04YiPa0UwzO1fFLy56IG1MipmE+E=";
};
nativeBuildInputs = [

View File

@ -9,13 +9,13 @@
stdenvNoCC.mkDerivation rec {
pname = "mint-l-icons";
version = "1.6.7";
version = "1.7.0";
src = fetchFromGitHub {
owner = "linuxmint";
repo = pname;
rev = version;
hash = "sha256-4fBqdJq/JG9SZOLRxv/wXYG9g4wWGkvGwkWzUTDDjXY=";
hash = "sha256-nVdx+d+KpTh9EPLhW0+FFzq3OEyacDSxHgllMm51BKk=";
};
propagatedBuildInputs = [

View File

@ -11,13 +11,13 @@
stdenvNoCC.mkDerivation rec {
pname = "mint-x-icons";
version = "1.6.5";
version = "1.6.8";
src = fetchFromGitHub {
owner = "linuxmint";
repo = pname;
rev = version;
hash = "sha256-Z07475Uiv4GKCOrKhDBXPZVBGpxdjN7vn2y0rRAZVm0=";
hash = "sha256-cxBZsAcGgoIY9KhjR/BWnMcttrywN6qap4lu5b2hauo=";
};
propagatedBuildInputs = [

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