Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-05-01 18:01:22 +00:00 committed by GitHub
commit 67f8ba4a30
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
134 changed files with 1566 additions and 991 deletions

View File

@ -37,6 +37,7 @@ jobs:
pkgs/development/cuda-modules
pkgs/test/cuda
pkgs/top-level/cuda-packages.nix
NIX_FMT_PATHS_VSCODE_EXTS: pkgs/applications/editors/vscode/extensions
# Iterate over all environment variables beginning with NIX_FMT_PATHS_.
run: |
for env_var in "${!NIX_FMT_PATHS_@}"; do

View File

@ -13,7 +13,7 @@ let
"x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin"
# FreeBSD
"i686-freebsd13" "x86_64-freebsd13"
"i686-freebsd" "x86_64-freebsd"
# Genode
"aarch64-genode" "i686-genode" "x86_64-genode"

View File

@ -328,7 +328,7 @@ rec {
# BSDs
x86_64-freebsd = {
config = "x86_64-unknown-freebsd13";
config = "x86_64-unknown-freebsd";
useLLVM = true;
};

View File

@ -326,11 +326,7 @@ rec {
# the normalized name for macOS.
macos = { execFormat = macho; families = { inherit darwin; }; name = "darwin"; };
ios = { execFormat = macho; families = { inherit darwin; }; };
# A tricky thing about FreeBSD is that there is no stable ABI across
# versions. That means that putting in the version as part of the
# config string is paramount.
freebsd12 = { execFormat = elf; families = { inherit bsd; }; name = "freebsd"; version = 12; };
freebsd13 = { execFormat = elf; families = { inherit bsd; }; name = "freebsd"; version = 13; };
freebsd = { execFormat = elf; families = { inherit bsd; }; name = "freebsd"; };
linux = { execFormat = elf; families = { }; };
netbsd = { execFormat = elf; families = { inherit bsd; }; };
none = { execFormat = unknown; families = { }; };

View File

@ -40,7 +40,7 @@ lib.runTests (
testarm = mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv6l-netbsd" "armv6l-none" "armv7a-linux" "armv7a-netbsd" "armv7l-linux" "armv7l-netbsd" "arm-none" "armv7a-darwin" ];
testarmv7 = mseteq armv7 [ "armv7a-darwin" "armv7a-linux" "armv7l-linux" "armv7a-netbsd" "armv7l-netbsd" ];
testi686 = mseteq i686 [ "i686-linux" "i686-freebsd13" "i686-genode" "i686-netbsd" "i686-openbsd" "i686-cygwin" "i686-windows" "i686-none" "i686-darwin" ];
testi686 = mseteq i686 [ "i686-linux" "i686-freebsd" "i686-genode" "i686-netbsd" "i686-openbsd" "i686-cygwin" "i686-windows" "i686-none" "i686-darwin" ];
testmips = mseteq mips [ "mips-none" "mips64-none" "mips-linux" "mips64-linux" "mips64el-linux" "mipsel-linux" "mipsel-netbsd" ];
testmmix = mseteq mmix [ "mmix-mmixware" ];
testpower = mseteq power [ "powerpc-netbsd" "powerpc-none" "powerpc64-linux" "powerpc64le-linux" "powerpcle-none" ];
@ -48,11 +48,11 @@ lib.runTests (
testriscv32 = mseteq riscv32 [ "riscv32-linux" "riscv32-netbsd" "riscv32-none" ];
testriscv64 = mseteq riscv64 [ "riscv64-linux" "riscv64-netbsd" "riscv64-none" ];
tests390x = mseteq s390x [ "s390x-linux" "s390x-none" ];
testx86_64 = mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd13" "x86_64-genode" "x86_64-redox" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" "x86_64-windows" "x86_64-none" ];
testx86_64 = mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd" "x86_64-genode" "x86_64-redox" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" "x86_64-windows" "x86_64-none" ];
testcygwin = mseteq cygwin [ "i686-cygwin" "x86_64-cygwin" ];
testdarwin = mseteq darwin [ "x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin" ];
testfreebsd = mseteq freebsd [ "i686-freebsd13" "x86_64-freebsd13" ];
testfreebsd = mseteq freebsd [ "i686-freebsd" "x86_64-freebsd" ];
testgenode = mseteq genode [ "aarch64-genode" "i686-genode" "x86_64-genode" ];
testredox = mseteq redox [ "x86_64-redox" ];
testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */);

View File

@ -2071,12 +2071,6 @@
githubId = 135230;
name = "Aycan iRiCAN";
};
ayes-web = {
email = "ayes2022@protonmail.com";
github = "ayes-web";
githubId = 52951851;
name = "ayes-web";
};
aynish = {
github = "Chickensoupwithrice";
githubId = 22575913;
@ -2264,6 +2258,12 @@
githubId = 576355;
name = "Bas van Dijk";
};
BatteredBunny = {
email = "ayes2022@protonmail.com";
github = "BatteredBunny";
githubId = 52951851;
name = "BatteredBunny";
};
BattleCh1cken = {
email = "BattleCh1cken@larkov.de";
github = "BattleCh1cken";

View File

@ -10,13 +10,13 @@ In addition to numerous new and upgraded packages, this release has the followin
- `cryptsetup` has been upgraded from 2.6.1 to 2.7.0. Cryptsetup is a critical component enabling LUKS-based (but not only) full disk encryption.
Take the time to review [the release notes](https://gitlab.com/cryptsetup/cryptsetup/-/raw/v2.7.0/docs/v2.7.0-ReleaseNotes).
One of the highlight is that it is now possible to use hardware OPAL-based encryption of your disk with `cryptsetup`, it has a lot of caveats, see the above notes for the full details.
One of the highlights is that it is now possible to use hardware OPAL-based encryption of your disk with `cryptsetup`. It has a lot of caveats, see the above notes for the full details.
- `screen`'s module has been cleaned, and will now require you to set `programs.screen.enable` in order to populate `screenrc` and add the program to the environment.
- `linuxPackages_testing_bcachefs` is now fully deprecated by `linuxPackages_latest`, and is therefore no longer available.
- The default kernel package has been updated from 6.1 to 6.6. All supported kernels remain available.
- (TODO not sure what path to use here) The default kernel package has been updated from 6.1 to 6.6. All supported kernels remain available.
- NixOS now installs a stub ELF loader that prints an informative error message when users attempt to run binaries not made for NixOS.
- This can be disabled through the `environment.stub-ld.enable` option.
@ -34,9 +34,9 @@ In addition to numerous new and upgraded packages, this release has the followin
- `nixVersions.git` which tracks the latest Nix master and is roughly updated once a week. This is intended to enable people to easily test unreleased changes of Nix to catch regressions earlier.
- `nixVersions.latest` which points to the latest Nix version packaged in nixpkgs.
- Julia environments can now be built with arbitrary packages from the ecosystem using the `.withPackages` function. For example: `julia.withPackages ["Plots"]`.
- `julia` environments can now be built with arbitrary packages from the ecosystem using the `.withPackages` function. For example: `julia.withPackages ["Plots"]`.
- The PipeWire and WirePlumber modules have removed support for using
- `pipewire` and `wireplumber` modules have removed support for using
`environment.etc."pipewire/..."` and `environment.etc."wireplumber/..."`.
Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for PipeWire and
`services.pipewire.wireplumber.configPackages` for WirePlumber instead."
@ -45,7 +45,7 @@ Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for Pi
Refer to upstream [upgrade instructions](https://goteleport.com/docs/management/operations/upgrading/)
and release notes for [v15](https://goteleport.com/docs/changelog/#1500-013124).
- A new option `systemd.sysusers.enable` was added. If enabled, users and
- `systemd.sysusers.enable` option was added. If enabled, users and
groups are created with systemd-sysusers instead of with a custom perl script.
- `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.
@ -69,16 +69,16 @@ Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for Pi
}
```
- The initial Incus LTS release (v6.0.x) is now available through `virtualisation.incus` as the default. Users who wish to continue using the non-LTS release will need to set `virtualisation.incus.package = pkgs.incus`. Stable release users are encouraged to stay on the LTS release as non-LTS releases will by default not be backported.
- `virtialisation.incus` now defaults to the newly-added `incus-lts` release (v6.0.x). Users who wish to continue using the non-LTS release will need to set `virtualisation.incus.package = pkgs.incus`. Stable release users are encouraged to stay on the LTS release as non-LTS releases will by default not be backported.
- Canonical LXD has been upgraded to v5.21.x, an LTS release. The LTS release is now the only supported LXD release. Users are encouraged to [migrate to Incus](https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/) for better support on NixOS.
- Canonical `lxd` has been upgraded to v5.21.x, an LTS release. The LTS release is now the only supported LXD release. Users are encouraged to [migrate to Incus](https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/) for better support on NixOS.
- lua interpreters default LUA_PATH and LUA_CPATH are not overriden by nixpkgs
- `lua` interpreters default LUA_PATH and LUA_CPATH are not overriden by nixpkgs
anymore, we patch LUA_ROOT instead which is more respectful to upstream.
- Plasma 6 is now available and can be installed with `services.xserver.desktopManager.plasma6.enable = true;`. Plasma 5 will likely be deprecated in the next release (24.11). Note that Plasma 6 runs as Wayland by default, and the X11 session needs to be explicitly selected if necessary.
- `plasma6` is now available and can be installed with `services.xserver.desktopManager.plasma6.enable = true;`. Plasma 5 will likely be deprecated in the next release (24.11). Note that Plasma 6 runs as Wayland by default, and the X11 session needs to be explicitly selected if necessary.
- The desktop mode of Lomiri (formerly known as Unity8), using Mir 2.x to function as a Wayland compositor, is now available and can be installed with `services.desktopManager.lomiri.enable = true`. Note that some core applications, services and indicators have yet to be packaged, and some functions may remain incomplete, but the base experience should be there.
- `lomiri` (formerly known as Unity8) desktop mode, using Mir 2.x to function as a Wayland compositor, is now available and can be installed with `services.desktopManager.lomiri.enable = true`. Note that some core applications, services and indicators have yet to be packaged, and some functions may remain incomplete, but the base experience should be there.
## New Services {#sec-release-24.05-new-services}
@ -100,7 +100,7 @@ Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for Pi
- [ryzen-smu](https://gitlab.com/leogx9r/ryzen_smu), Linux kernel driver to expose the SMU (System Management Unit) for certain AMD Ryzen Processors. Includes the userspace program `monitor_cpu`. Available at [hardward.cpu.amd.ryzen-smu](#opt-hardware.cpu.amd.ryzen-smu.enable)
- systemd's gateway, upload, and remote services, which provides ways of sending journals across the network. Enable using [services.journald.gateway](#opt-services.journald.gateway.enable), [services.journald.upload](#opt-services.journald.upload.enable), and [services.journald.remote](#opt-services.journald.remote.enable).
- `systemd`'s `gateway`, `upload`, and `remote` services, which provide ways of sending journals across the network. Enable using [services.journald.gateway](#opt-services.journald.gateway.enable), [services.journald.upload](#opt-services.journald.upload.enable), and [services.journald.remote](#opt-services.journald.remote.enable).
- [GNS3](https://www.gns3.com/), a network software emulator. Available as [services.gns3-server](#opt-services.gns3-server.enable).
@ -127,7 +127,7 @@ Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for Pi
- [db-rest](https://github.com/derhuerst/db-rest), a wrapper around Deutsche Bahn's internal API for public transport data. Available as [services.db-rest](#opt-services.db-rest.enable).
- [Anki Sync Server](https://docs.ankiweb.net/sync-server.html), the official sync server built into recent versions of Anki. Available as [services.anki-sync-server](#opt-services.anki-sync-server.enable).
The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been marked deprecated and will be dropped after 24.05 due to lack of maintenance of the anki-sync-server softwares.
The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been marked deprecated and will be dropped after 24.05 due to lack of maintenance of the anki-sync-server software.
- [mautrix-meta](https://github.com/mautrix/meta), a Matrix <-> Facebook and Matrix <-> Instagram hybrid puppeting/relaybot bridge. Available as services.mautrix-meta
@ -139,7 +139,7 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- [Suwayomi Server](https://github.com/Suwayomi/Suwayomi-Server), a free and open source manga reader server that runs extensions built for [Tachiyomi](https://tachiyomi.org). Available as [services.suwayomi-server](#opt-services.suwayomi-server.enable).
- A self-hosted management server for the [Netbird](https://netbird.io). Available as [services.netbird.server](#opt-services.netbird.server.enable).
- [Netbird](https://netbird.io), an open-source VPN management platform, now has a self-hosted management server. Available as [services.netbird.server](#opt-services.netbird.server.enable).
- [ping_exporter](https://github.com/czerwonk/ping_exporter), a Prometheus exporter for ICMP echo requests. Available as [services.prometheus.exporters.ping](#opt-services.prometheus.exporters.ping.enable).
@ -151,9 +151,9 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- [Monado](https://monado.freedesktop.org/), an open source XR runtime. Available as [services.monado](#opt-services.monado.enable).
- [Pretix](https://pretix.eu/about/en/), an open source ticketing software for events. Available as [services.pretix]($opt-services-pretix.enable).
- [Pretix](https://pretix.eu/about/en/), an open source ticketing software for events. Available as [services.pretix](#opt-services.pretix.enable).
- [microsocks](https://github.com/rofl0r/microsocks), a tiny, portable SOCKS5 server with very moderate resource usage. Available as [services.microsocks]($opt-services-microsocks.enable).
- [microsocks](https://github.com/rofl0r/microsocks), a tiny, portable SOCKS5 server with very moderate resource usage. Available as [services.microsocks](#opt-services.microsocks.enable).
- [inadyn](https://github.com/troglobit/inadyn), a Dynamic DNS client with built-in support for multiple providers. Available as [services.inadyn](#opt-services.inadyn.enable).
@ -163,21 +163,21 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- [armagetronad](https://wiki.armagetronad.org), a mid-2000s 3D lightcycle game widely played at iD Tech Camps. You can define multiple servers using `services.armagetronad.<server>.enable`.
- [wyoming-satellite](https://github.com/rhasspy/wyoming-satellite), a voice assistant satellite for Home Assistant using the Wyoming protocol. Available as [services.wyoming.satellite]($opt-services.wyoming.satellite.enable).
- [wyoming-satellite](https://github.com/rhasspy/wyoming-satellite), a voice assistant satellite for Home Assistant using the Wyoming protocol. Available as [services.wyoming.satellite](#opt-services.wyoming.satellite.enable).
- [TuxClocker](https://github.com/Lurkki14/tuxclocker), a hardware control and monitoring program. Available as [programs.tuxclocker](#opt-programs.tuxclocker.enable).
- binfmt option for AppImage-run to support running [AppImage](https://appimage.org/)'s seamlessly on NixOS.. Available as [programs.appimage.binfmt](#opt-programs.appimage.binfmt).
- [AppImage](https://appimage.org/), a tool to package desktop applications, now has a `binfmt` option to support running AppImages seamlessly on NixOS. Available as [programs.appimage.binfmt](#opt-programs.appimage.binfmt).
- [nh](https://github.com/viperML/nh), yet another Nix CLI helper. Available as [programs.nh](#opt-programs.nh.enable).
- [ALVR](https://github.com/alvr-org/alvr), a VR desktop streamer. Available as [programs.alvr](#opt-programs.alvr.enable)
- [RustDesk](https://rustdesk.com), a full-featured open source remote control alternative for self-hosting and security with minimal configuration. Alternative to TeamViewer.
- [RustDesk](https://rustdesk.com), a full-featured open source remote control alternative for self-hosting and security with minimal configuration. Alternative to TeamViewer. Available as [services.rustdesk-server](#opt-services.rustdesk-server.enable).
- [Scrutiny](https://github.com/AnalogJ/scrutiny), a S.M.A.R.T monitoring tool for hard disks with a web frontend.
- [Scrutiny](https://github.com/AnalogJ/scrutiny), a S.M.A.R.T monitoring tool for hard disks with a web frontend. Available as [services.scrutiny](#opt-services.scrutiny.enable).
- [davis](https://github.com/tchapi/davis), a simple CardDav and CalDav server inspired by Baïkal. Available as [services.davis]($opt-services-davis.enable).
- [davis](https://github.com/tchapi/davis), a simple CardDav and CalDav server inspired by Baïkal. Available as [services.davis](#opt-services.davis.enable).
- [Firefly-iii](https://www.firefly-iii.org), a free and open source personal finance manager. Available as [services.firefly-iii](#opt-services.firefly-iii.enable)
@ -208,7 +208,7 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
defaulting to `/etc/ssh/authorized_keys.d/%u`.
::: {.warning}
Users of {manpage}`pam_ssh_agent_auth(8)` must take care that the pubkeys they use (for instance with `sudo`)
are listed in [`sshAgentAuth.authorizedKeysFiles`]..
are listed in [`sshAgentAuth.authorizedKeysFiles`].
:::
::: {.note}
Previously, all `services.openssh.authorizedKeysFiles` were trusted, including `~/.ssh/authorized_keys`,
@ -226,7 +226,7 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- `cudaPackages.autoFixElfFiles` has been deprecated for `pkgs.autoFixElfFiles`. Functionality has not changed, but the setuphook has been renamed and moved to the top-level package scope.
- `appimageTools.wrapAppImage` now create the binary at `$out/bin/${pname}` rather than `$out/bin/${pname}-${version}`, which will break downstream workarounds.
- `appimageTools.wrapAppImage` now creates the binary at `$out/bin/${pname}` rather than `$out/bin/${pname}-${version}`, which will break downstream workarounds.
- `pdns` was updated to version [v4.9.x](https://doc.powerdns.com/authoritative/changelog/4.9.html), which introduces breaking changes. Check out the [Upgrade Notes](https://doc.powerdns.com/authoritative/upgrading.html#to-4-9-0) for details.
@ -246,16 +246,16 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
The list in `nixos/modules/virtualisation/amazon-ec2-amis.nix` will stop
being updated and will be removed in the future.
- The option `services.postgresql.ensureUsers._.ensurePermissions` has been removed as it's
- The option `services.postgresql.ensureUsers._.ensurePermissions` has been removed as it is
not declarative and is broken with newer postgresql versions. Consider using
[](#opt-services.postgresql.ensureUsers._.ensureDBOwnership)
instead or a tool that's more suited for managing the data inside a postgresql database.
instead or a tool that is more suited for managing the data inside a postgresql database.
- `idris2` was updated to v0.7.0. This version introduces breaking changes. Check out the [changelog](https://github.com/idris-lang/Idris2/blob/v0.7.0/CHANGELOG.md#v070) for details.
- `nvtop` family of packages was reorganized into nested attrset. `nvtop` has been renamed to `nvtopPackages.full`, and all `nvtop-{amd,nvidia,intel,msm}` packages are now named as `nvtopPackages.{amd,nvidia,intel,msm}`
- `neo4j` has been updated to version 5, you may want to read the [release notes for Neo4j 5](https://neo4j.com/release-notes/database/neo4j-5/)
- `neo4j` has been updated to version 5. You may want to read the [release notes for Neo4j 5](https://neo4j.com/release-notes/database/neo4j-5/).
- `services.neo4j.allowUpgrade` was removed and no longer has any effect. Neo4j 5 supports automatic rolling upgrades.

View File

@ -19,7 +19,9 @@ let
[Startup]
sync_effects_enabled = ${toPyBoolStr cfg.syncEffectsEnabled}
devices_off_on_screensaver = ${toPyBoolStr cfg.devicesOffOnScreensaver}
mouse_battery_notifier = ${toPyBoolStr cfg.mouseBatteryNotifier}
battery_notifier = ${toPyBoolStr (cfg.mouseBatteryNotifier || cfg.batteryNotifier.enable)}
battery_notifier_freq = ${builtins.toString cfg.batteryNotifier.frequency}
battery_notifier_percent = ${builtins.toString cfg.batteryNotifier.percentage}
[Statistics]
key_statistics = ${toPyBoolStr cfg.keyStatistics}
@ -86,6 +88,41 @@ in
'';
};
batteryNotifier = mkOption {
description = ''
Settings for device battery notifications.
'';
default = {};
type = types.submodule {
options = {
enable = mkOption {
type = types.bool;
default = true;
description = ''
Mouse battery notifier.
'';
};
frequency = mkOption {
type = types.int;
default = 600;
description = ''
How often battery notifications should be shown (in seconds).
A value of 0 disables notifications.
'';
};
percentage = mkOption {
type = types.int;
default = 33;
description = ''
At what battery percentage the device should reach before
sending notifications.
'';
};
};
};
};
keyStatistics = mkOption {
type = types.bool;
default = false;
@ -107,6 +144,13 @@ in
};
config = mkIf cfg.enable {
warnings = flatten [
(optional cfg.mouseBatteryNotifier ''
The option openrazer.mouseBatteryNotifier is deprecated.
Please use openrazer.batteryNotifier instead to enable and configure battery notifications.
'')
];
boot.extraModulePackages = [ kernelPackages.openrazer ];
boot.kernelModules = drivers;
@ -127,15 +171,15 @@ in
systemd.user.services.openrazer-daemon = {
description = "Daemon to manage razer devices in userspace";
unitConfig.Documentation = "man:openrazer-daemon(8)";
# Requires a graphical session so the daemon knows when the screensaver
# starts. See the 'devicesOffOnScreensaver' option.
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig = {
Type = "dbus";
BusName = "org.razer";
ExecStart = "${daemonExe} --foreground";
Restart = "always";
# Requires a graphical session so the daemon knows when the screensaver
# starts. See the 'devicesOffOnScreensaver' option.
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig = {
Type = "dbus";
BusName = "org.razer";
ExecStart = "${daemonExe} --foreground";
Restart = "always";
};
};
};

View File

@ -1,8 +1,31 @@
{ config, lib, pkgs, ... }:
with lib;
let
inherit (lib)
attrValues
concatMapStrings
concatStringsSep
const
elem
filterAttrs
isString
literalExpression
mapAttrs
mapAttrsToList
mkAfter
mkBefore
mkDefault
mkEnableOption
mkIf
mkMerge
mkOption
mkPackageOption
mkRemovedOptionModule
mkRenamedOptionModule
optionalString
types
versionAtLeast
;
cfg = config.services.postgresql;
@ -24,7 +47,7 @@ let
if true == value then "yes"
else if false == value then "no"
else if isString value then "'${lib.replaceStrings ["'"] ["''"] value}'"
else toString value;
else builtins.toString value;
# The main PostgreSQL configuration file.
configFile = pkgs.writeTextDir "postgresql.conf" (concatStringsSep "\n" (mapAttrsToList (n: v: "${n} = ${toStr v}") (filterAttrs (const (x: x != null)) cfg.settings)));
@ -439,7 +462,7 @@ in
config = mkIf cfg.enable {
assertions = map ({ name, ensureDBOwnership, ... }: {
assertion = ensureDBOwnership -> builtins.elem name cfg.ensureDatabases;
assertion = ensureDBOwnership -> elem name cfg.ensureDatabases;
message = ''
For each database user defined with `services.postgresql.ensureUsers` and
`ensureDBOwnership = true;`, a database with the same name must be defined
@ -537,7 +560,7 @@ in
# Wait for PostgreSQL to be ready to accept connections.
postStart =
''
PSQL="psql --port=${toString cfg.settings.port}"
PSQL="psql --port=${builtins.toString cfg.settings.port}"
while ! $PSQL -d postgres -c "" 2> /dev/null; do
if ! kill -0 "$MAINPID"; then exit 1; fi

View File

@ -56,8 +56,8 @@ in
};
devRootTokenID = mkOption {
type = types.str;
default = false;
type = types.nullOr types.str;
default = null;
description = ''
Initial root token. This only applies when {option}`services.vault.dev` is true
'';

View File

@ -352,7 +352,8 @@ let
# The acme-challenge location doesn't need to be added if we are not using any automated
# certificate provisioning and can also be omitted when we use a certificate obtained via a DNS-01 challenge
acmeLocation = optionalString (vhost.enableACME || (vhost.useACMEHost != null && config.security.acme.certs.${vhost.useACMEHost}.dnsProvider == null))
acmeName = if vhost.useACMEHost != null then vhost.useACMEHost else vhostName;
acmeLocation = optionalString ((vhost.enableACME || vhost.useACMEHost != null) && config.security.acme.certs.${acmeName}.dnsProvider == null)
# Rule for legitimate ACME Challenge requests (like /.well-known/acme-challenge/xxxxxxxxx)
# We use ^~ here, so that we don't check any regexes (which could
# otherwise easily override this intended match accidentally).

View File

@ -9,7 +9,7 @@ let
cfg = config.virtualisation.incus;
preseedFormat = pkgs.formats.yaml { };
serverBinPath = ''${pkgs.qemu_kvm}/libexec:${
serverBinPath = ''/run/wrappers/bin:${pkgs.qemu_kvm}/libexec:${
lib.makeBinPath (
with pkgs;
[
@ -33,30 +33,41 @@ let
gzip
iproute2
iptables
iw
kmod
libnvidia-container
libxfs
lvm2
minio
minio-client
nftables
qemu_kvm
qemu-utils
qemu_kvm
rsync
squashfs-tools-ng
squashfsTools
sshfs
swtpm
systemd
thin-provisioning-tools
util-linux
virtiofsd
xdelta
xz
]
++ lib.optionals config.security.apparmor.enable [
apparmor-bin-utils
(writeShellScriptBin "apparmor_parser" ''
exec '${apparmor-parser}/bin/apparmor_parser' -I '${apparmor-profiles}/etc/apparmor.d' "$@"
'')
]
++ lib.optionals config.services.ceph.client.enable [ ceph-client ]
++ lib.optionals config.virtualisation.vswitch.enable [ config.virtualisation.vswitch.package ]
++ lib.optionals config.boot.zfs.enabled [
config.boot.zfs.package
"${config.boot.zfs.package}/lib/udev"
]
++ lib.optionals config.virtualisation.vswitch.enable [ config.virtualisation.vswitch.package ]
)
}'';

View File

@ -27,11 +27,11 @@
stdenv.mkDerivation rec {
pname = "bitwig-studio";
version = "5.1.6";
version = "5.1.8";
src = fetchurl {
url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
sha256 = "sha256-U1Qp7/7kAr1IEcv256I2J/sb5MYxfR20Pi5N8WaVh2U=";
sha256 = "sha256-KxNLae/uTYL1m/X+/7wr7hhKfw31NpB9Mw9RzfrTuus=";
};
nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook3 ];

View File

@ -6,16 +6,16 @@
buildGoModule rec {
pname = "lnd";
version = "0.17.4-beta";
version = "0.17.5-beta";
src = fetchFromGitHub {
owner = "lightningnetwork";
repo = "lnd";
rev = "v${version}";
hash = "sha256-O6cGK4UMKrZpYqtghjjqqLBStLG5GEi/Q5liR557I8s=";
hash = "sha256-q/mzF6LPW/ThgqfGgjtax8GvoC3JEpg0IetfSTo1XYk=";
};
vendorHash = "sha256-eaQmM5bfsUmzTiUALX543VBQRJK+TqW2i28npwSrn3Q=";
vendorHash = "sha256-unT0zJrOEmKHpoUsrBHKfn5IziGlaqEtMfkeo/74Rfc=";
subPackages = [ "cmd/lncli" "cmd/lnd" ];

View File

@ -7,6 +7,7 @@
, gperf
, libmicrohttpd
, libsodium
, lz4
, openssl
, readline
, secp256k1
@ -16,13 +17,13 @@
stdenv.mkDerivation rec {
pname = "ton";
version = "2024.03";
version = "2024.04";
src = fetchFromGitHub {
owner = "ton-blockchain";
repo = "ton";
rev = "v${version}";
hash = "sha256-AVg33aZAyedmNIFqQJm4Nn6luLxK4mKgnIRmNU7j2C0=";
hash = "sha256-hh8D4IZX6RS/RXdhVONhgetqp89kpTC2IwDQ2KHdKsE=";
fetchSubmodules = true;
};
@ -38,6 +39,7 @@ stdenv.mkDerivation rec {
gperf
libmicrohttpd
libsodium
lz4
openssl
readline
secp256k1

View File

@ -1,22 +1,21 @@
{ lib
, vscode-utils }:
{ lib, vscode-utils }:
let
inherit (vscode-utils) buildVscodeMarketplaceExtension;
in
buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-wakatime";
publisher = "WakaTime";
version = "18.0.5";
hash = "sha256-vWqGxMbxKqd4UgKK0sOKadMTDf6Y3TQxfWsc93MHjFs=";
};
buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-wakatime";
publisher = "WakaTime";
version = "18.0.5";
hash = "sha256-vWqGxMbxKqd4UgKK0sOKadMTDf6Y3TQxfWsc93MHjFs=";
};
meta = {
description = ''
Visual Studio Code plugin for automatic time tracking and metrics generated
from your programming activity
'';
license = lib.licenses.bsd3;
};
}
meta = {
description = ''
Visual Studio Code plugin for automatic time tracking and metrics generated
from your programming activity
'';
license = lib.licenses.bsd3;
};
}

View File

@ -1,11 +1,19 @@
{ lib, stdenv, vscode-utils, callPackage }:
{
lib,
stdenv,
vscode-utils,
callPackage,
}:
let
version = "1.50.0";
rescript-editor-analysis = callPackage ./rescript-editor-analysis.nix { inherit version; };
arch =
if stdenv.isLinux then "linux"
else if stdenv.isDarwin then "darwin"
else throw "Unsupported system: ${stdenv.system}";
if stdenv.isLinux then
"linux"
else if stdenv.isDarwin then
"darwin"
else
throw "Unsupported system: ${stdenv.system}";
analysisDir = "server/analysis_binaries/${arch}";
in
vscode-utils.buildVscodeMarketplaceExtension rec {
@ -23,7 +31,10 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
meta = {
description = "The official VSCode plugin for ReScript";
homepage = "https://github.com/rescript-lang/rescript-vscode";
maintainers = [ lib.maintainers.dlip lib.maintainers.jayesh-bhoot ];
maintainers = [
lib.maintainers.dlip
lib.maintainers.jayesh-bhoot
];
license = lib.licenses.mit;
};
}

View File

@ -1,4 +1,13 @@
{ lib, stdenv, fetchFromGitHub, bash, ocaml, ocamlPackages, dune_3, version }:
{
lib,
stdenv,
fetchFromGitHub,
bash,
ocaml,
ocamlPackages,
dune_3,
version,
}:
stdenv.mkDerivation {
pname = "rescript-editor-analysis";
@ -11,7 +20,11 @@ stdenv.mkDerivation {
hash = "sha256-+Ht8qWwxtFWHFMiV/aoZIs2S3SxkOWgdwSKN+akp/LU=";
};
nativeBuildInputs = [ ocaml dune_3 ocamlPackages.cppo ];
nativeBuildInputs = [
ocaml
dune_3
ocamlPackages.cppo
];
# Skip testing phases because they need to download and install node modules
postPatch = ''
@ -28,7 +41,10 @@ stdenv.mkDerivation {
meta = {
description = "Analysis binary for the ReScript VSCode plugin";
homepage = "https://github.com/rescript-lang/rescript-vscode";
maintainers = [ lib.maintainers.dlip lib.maintainers.jayesh-bhoot ];
maintainers = [
lib.maintainers.dlip
lib.maintainers.jayesh-bhoot
];
license = lib.licenses.mit;
};
}

View File

@ -1,8 +1,9 @@
{ graphviz
, jre
, lib
, makeWrapper
, vscode-utils
{
graphviz,
jre,
lib,
makeWrapper,
vscode-utils,
}:
vscode-utils.buildVscodeMarketplaceExtension rec {
@ -13,13 +14,9 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
hash = "sha256-TvApcBBI+Egu7t4tJuEYTs6mhvABOY2eXVb57O4gWfs=";
};
nativeBuildInputs = [
makeWrapper
];
nativeBuildInputs = [ makeWrapper ];
buildInputs = [
graphviz
];
buildInputs = [ graphviz ];
postInstall = ''
wrapProgram $out/share/vscode/extensions/contextmapper.context-mapper-vscode-extension/lsp/bin/context-mapper-lsp \

View File

@ -3514,8 +3514,8 @@ let
mktplcRef = {
name = "wikitext";
publisher = "RoweWilsonFrederiskHolme";
version = "3.8.0";
sha256 = "30540a85163e797028eec9bc3db1866bbf473e98615bf6ade6d1d672017ebe52";
version = "3.8.1";
hash = "sha256-piwS3SPjx10nsjN5axC+EN0MEDf0r2lVFllqQzciOfc=";
};
meta = {
description = "Extension that helps users view and write MediaWiki's Wikitext files";

View File

@ -1,6 +1,4 @@
{ lib
, vscode-utils
}:
{ lib, vscode-utils }:
vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {

View File

@ -1,4 +1,8 @@
{ lib, vscode-utils, terraform-ls }:
{
lib,
vscode-utils,
terraform-ls,
}:
vscode-utils.buildVscodeMarketplaceExtension rec {
mktplcRef = {
name = "terraform";

View File

@ -1,4 +1,10 @@
{ lib, vscode-utils, plantuml, jq, moreutils }:
{
lib,
vscode-utils,
plantuml,
jq,
moreutils,
}:
vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
@ -7,7 +13,10 @@ vscode-utils.buildVscodeMarketplaceExtension {
version = "2.17.4";
hash = "sha256-fnz6ubB73i7rJcv+paYyNV1r4cReuyFPjgPM0HO40ug=";
};
nativeBuildInputs = [ jq moreutils ];
nativeBuildInputs = [
jq
moreutils
];
postInstall = ''
cd "$out/$installPrefix"
jq '.contributes.configuration.properties."plantuml.java".default = "${plantuml}/bin/plantuml"' package.json | sponge package.json
@ -15,13 +24,10 @@ vscode-utils.buildVscodeMarketplaceExtension {
meta = {
description = "A Visual Studio Code extension for supporting Rich PlantUML";
downloadPage =
"https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml";
homepage = "https://github.com/qjebbs/vscode-plantuml";
changelog =
"https://marketplace.visualstudio.com/items/jebbs.plantuml/changelog";
changelog = "https://marketplace.visualstudio.com/items/jebbs.plantuml/changelog";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.victormignot ];
};
}

View File

@ -4,7 +4,12 @@ with vscode-utils;
let
buildVscodeLanguagePack = { language, version ? "1.76.2023030809", sha256 }:
buildVscodeLanguagePack =
{
language,
version ? "1.76.2023030809",
sha256,
}:
buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-language-pack-${language}";
@ -15,7 +20,6 @@ let
license = lib.licenses.mit;
};
};
in
# See list of core language packs at https://github.com/Microsoft/vscode-loc

View File

@ -1,4 +1,11 @@
{ publisher, name, version, arch ? "", sha256 ? "", hash ? "" }:
{
publisher,
name,
version,
arch ? "",
sha256 ? "",
hash ? "",
}:
let
archurl = (if arch == "" then "" else "?targetPlatform=${arch}");
in

View File

@ -1,56 +1,59 @@
{ lib
, icu
, openssl
, patchelf
, stdenv
, vscode-utils
{
lib,
icu,
openssl,
patchelf,
stdenv,
vscode-utils,
}:
let
inherit (stdenv.hostPlatform) system;
inherit (vscode-utils) buildVscodeMarketplaceExtension;
extInfo = {
x86_64-linux = {
arch = "linux-x64";
hash = "sha256-7m85Zl9oV40le3nkNPzoKu/AAf8XhQpI8sBMsQXmBg8=";
binaries = [
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/servicehub-controller-net60.linux-x64/Microsoft.ServiceHub.Controller"
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-code-servicehost.linux-x64/Microsoft.VisualStudio.Code.ServiceHost"
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-reliability-monitor.linux-x64/Microsoft.VisualStudio.Reliability.Monitor"
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-server.linux-x64/Microsoft.VisualStudio.Code.Server"
];
};
aarch64-linux = {
arch = "linux-arm64";
hash = "sha256-39D55EdwE4baDYbHc9GD/1XoxGbQkUkS1H2uysJHlxw=";
binaries = [
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/servicehub-controller-net60.linux-arm64/Microsoft.ServiceHub.Controller"
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-code-servicehost.linux-arm64/Microsoft.VisualStudio.Code.ServiceHost"
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-reliability-monitor.linux-arm64/Microsoft.VisualStudio.Reliability.Monitor"
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-server.linux-arm64/Microsoft.VisualStudio.Code.Server"
];
};
x86_64-darwin = {
arch = "darwin-x64";
hash = "sha256-gfhJX07R+DIw9FbzaEE0JZwEmDeifiq4vHyMHZZ1udM=";
binaries = [
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/servicehub-controller-net60.darwin-x64/Microsoft.ServiceHub.Controller"
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-code-servicehost.darwin-x64/Microsoft.VisualStudio.Code.ServiceHost"
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-reliability-monitor.darwin-x64/Microsoft.VisualStudio.Reliability.Monitor"
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-server.darwin-x64/Microsoft.VisualStudio.Code.Server"
];
};
aarch64-darwin = {
arch = "darwin-arm64";
hash = "sha256-vogstgCWvI9csNF9JfJ41XPR1POy842g2yhWqIDoHLw=";
binaries = [
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/servicehub-controller-net60.darwin-arm64/Microsoft.ServiceHub.Controller"
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-code-servicehost.darwin-arm64/Microsoft.VisualStudio.Code.ServiceHost"
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-reliability-monitor.darwin-arm64/Microsoft.VisualStudio.Reliability.Monitor"
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-server.darwin-arm64/Microsoft.VisualStudio.Code.Server"
];
};
}.${system} or (throw "Unsupported system: ${system}");
extInfo =
{
x86_64-linux = {
arch = "linux-x64";
hash = "sha256-7m85Zl9oV40le3nkNPzoKu/AAf8XhQpI8sBMsQXmBg8=";
binaries = [
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/servicehub-controller-net60.linux-x64/Microsoft.ServiceHub.Controller"
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-code-servicehost.linux-x64/Microsoft.VisualStudio.Code.ServiceHost"
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-reliability-monitor.linux-x64/Microsoft.VisualStudio.Reliability.Monitor"
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-server.linux-x64/Microsoft.VisualStudio.Code.Server"
];
};
aarch64-linux = {
arch = "linux-arm64";
hash = "sha256-39D55EdwE4baDYbHc9GD/1XoxGbQkUkS1H2uysJHlxw=";
binaries = [
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/servicehub-controller-net60.linux-arm64/Microsoft.ServiceHub.Controller"
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-code-servicehost.linux-arm64/Microsoft.VisualStudio.Code.ServiceHost"
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-reliability-monitor.linux-arm64/Microsoft.VisualStudio.Reliability.Monitor"
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-server.linux-arm64/Microsoft.VisualStudio.Code.Server"
];
};
x86_64-darwin = {
arch = "darwin-x64";
hash = "sha256-gfhJX07R+DIw9FbzaEE0JZwEmDeifiq4vHyMHZZ1udM=";
binaries = [
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/servicehub-controller-net60.darwin-x64/Microsoft.ServiceHub.Controller"
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-code-servicehost.darwin-x64/Microsoft.VisualStudio.Code.ServiceHost"
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-reliability-monitor.darwin-x64/Microsoft.VisualStudio.Reliability.Monitor"
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-server.darwin-x64/Microsoft.VisualStudio.Code.Server"
];
};
aarch64-darwin = {
arch = "darwin-arm64";
hash = "sha256-vogstgCWvI9csNF9JfJ41XPR1POy842g2yhWqIDoHLw=";
binaries = [
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/servicehub-controller-net60.darwin-arm64/Microsoft.ServiceHub.Controller"
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-code-servicehost.darwin-arm64/Microsoft.VisualStudio.Code.ServiceHost"
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-reliability-monitor.darwin-arm64/Microsoft.VisualStudio.Reliability.Monitor"
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-server.darwin-arm64/Microsoft.VisualStudio.Code.Server"
];
};
}
.${system} or (throw "Unsupported system: ${system}");
in
buildVscodeMarketplaceExtension {
mktplcRef = {
@ -61,50 +64,55 @@ buildVscodeMarketplaceExtension {
};
sourceRoot = "extension"; # This has more than one folder.
nativeBuildInputs = [
patchelf
];
nativeBuildInputs = [ patchelf ];
postPatch = ''
declare ext_unique_id
ext_unique_id="$(basename "$out" | head -c 32)"
postPatch =
''
declare ext_unique_id
ext_unique_id="$(basename "$out" | head -c 32)"
patchelf_add_icu_as_needed() {
declare elf="''${1?}"
declare icu_major_v="${
lib.head (lib.splitVersion (lib.getVersion icu.name))
}"
patchelf_add_icu_as_needed() {
declare elf="''${1?}"
declare icu_major_v="${lib.head (lib.splitVersion (lib.getVersion icu.name))}"
for icu_lib in icui18n icuuc icudata; do
patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf"
done
}
for icu_lib in icui18n icuuc icudata; do
patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf"
done
}
patchelf_common() {
declare elf="''${1?}"
patchelf_common() {
declare elf="''${1?}"
patchelf_add_icu_as_needed "$elf"
patchelf --add-needed "libssl.so" "$elf"
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${lib.makeLibraryPath [stdenv.cc.cc openssl icu.out]}:\$ORIGIN" \
"$elf"
}
patchelf_add_icu_as_needed "$elf"
patchelf --add-needed "libssl.so" "$elf"
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${
lib.makeLibraryPath [
stdenv.cc.cc
openssl
icu.out
]
}:\$ORIGIN" \
"$elf"
}
substituteInPlace dist/extension.js \
--replace 'e.extensionPath,"cache"' 'require("os").tmpdir(),"'"$ext_unique_id"'"' \
--replace 't.setExecuteBit=async function(e){if("win32"!==process.platform){const t=i.join(e[a.SERVICEHUB_CONTROLLER_COMPONENT_NAME],"Microsoft.ServiceHub.Controller"),n=i.join(e[a.SERVICEHUB_HOST_COMPONENT_NAME],(0,a.getServiceHubHostEntrypointName)()),r=[(0,a.getServerPath)(e),t,n,(0,c.getReliabilityMonitorPath)(e)];await Promise.all(r.map((e=>(0,o.chmod)(e,"0755"))))}}' 't.setExecuteBit=async function(e){}'
substituteInPlace dist/extension.js \
--replace 'e.extensionPath,"cache"' 'require("os").tmpdir(),"'"$ext_unique_id"'"' \
--replace 't.setExecuteBit=async function(e){if("win32"!==process.platform){const t=i.join(e[a.SERVICEHUB_CONTROLLER_COMPONENT_NAME],"Microsoft.ServiceHub.Controller"),n=i.join(e[a.SERVICEHUB_HOST_COMPONENT_NAME],(0,a.getServiceHubHostEntrypointName)()),r=[(0,a.getServerPath)(e),t,n,(0,c.getReliabilityMonitorPath)(e)];await Promise.all(r.map((e=>(0,o.chmod)(e,"0755"))))}}' 't.setExecuteBit=async function(e){}'
''
+ (lib.concatStringsSep "\n" (map
(bin: ''
chmod +x "${bin}"
'')
extInfo.binaries))
+ lib.optionalString stdenv.isLinux (lib.concatStringsSep "\n" (map
(bin: ''
patchelf_common "${bin}"
'')
extInfo.binaries));
''
+ (lib.concatStringsSep "\n" (
map (bin: ''
chmod +x "${bin}"
'') extInfo.binaries
))
+ lib.optionalString stdenv.isLinux (
lib.concatStringsSep "\n" (
map (bin: ''
patchelf_common "${bin}"
'') extInfo.binaries
)
);
meta = {
changelog = "https://marketplace.visualstudio.com/items/ms-dotnettools.csdevkit/changelog";
@ -112,6 +120,11 @@ buildVscodeMarketplaceExtension {
downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit";
license = lib.licenses.unfree;
maintainers = [ lib.maintainers.ggg ];
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
platforms = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
};
}

View File

@ -1,11 +1,11 @@
{ lib
, vscode-utils
, patchelf
, icu
, stdenv
, openssl
, coreutils
,
{
lib,
vscode-utils,
patchelf,
icu,
stdenv,
openssl,
coreutils,
}:
let
inherit (stdenv.hostPlatform) system;
@ -26,31 +26,32 @@ let
".debugger/x86_64/vsdbg"
];
in
{
x86_64-linux = {
arch = "linux-x64";
hash = "sha256-si4HKGVIHu44QNlNI2WEnMff9+QZOMWiBfWQaaFGyQE=";
binaries = linuxBins;
};
aarch64-linux = {
arch = "linux-arm64";
hash = "sha256-1IXkSRgCHOLD4VeCdqyy54MXCBUX5RDDb3pf7GQH5jA=";
binaries = linuxBins;
};
x86_64-darwin = {
arch = "darwin-x64";
hash = "sha256-AAbYjZ+YYyGEXSLkiFfluLf7P4OzPhmHzK44N5XT9UI=";
binaries = darwinBins;
};
aarch64-darwin = {
arch = "darwin-arm64";
hash = "sha256-1m47kX0Jo+UvthNfgdoPdBBOcDyCA8DfP+zRk3SicR0=";
binaries = darwinBins ++ [
".debugger/arm64/vsdbg-ui"
".debugger/arm64/vsdbg"
];
};
}.${system} or (throw "Unsupported system: ${system}");
{
x86_64-linux = {
arch = "linux-x64";
hash = "sha256-si4HKGVIHu44QNlNI2WEnMff9+QZOMWiBfWQaaFGyQE=";
binaries = linuxBins;
};
aarch64-linux = {
arch = "linux-arm64";
hash = "sha256-1IXkSRgCHOLD4VeCdqyy54MXCBUX5RDDb3pf7GQH5jA=";
binaries = linuxBins;
};
x86_64-darwin = {
arch = "darwin-x64";
hash = "sha256-AAbYjZ+YYyGEXSLkiFfluLf7P4OzPhmHzK44N5XT9UI=";
binaries = darwinBins;
};
aarch64-darwin = {
arch = "darwin-arm64";
hash = "sha256-1m47kX0Jo+UvthNfgdoPdBBOcDyCA8DfP+zRk3SicR0=";
binaries = darwinBins ++ [
".debugger/arm64/vsdbg-ui"
".debugger/arm64/vsdbg"
];
};
}
.${system} or (throw "Unsupported system: ${system}");
in
buildVscodeMarketplaceExtension {
mktplcRef = {
@ -60,16 +61,13 @@ buildVscodeMarketplaceExtension {
inherit (extInfo) hash arch;
};
nativeBuildInputs = [
patchelf
];
nativeBuildInputs = [ patchelf ];
postPatch = ''
postPatch =
''
patchelf_add_icu_as_needed() {
declare elf="''${1?}"
declare icu_major_v="${
lib.head (lib.splitVersion (lib.getVersion icu.name))
}"
declare icu_major_v="${lib.head (lib.splitVersion (lib.getVersion icu.name))}"
for icu_lib in icui18n icuuc icudata; do
patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf"
@ -82,7 +80,13 @@ buildVscodeMarketplaceExtension {
patchelf_add_icu_as_needed "$elf"
patchelf --add-needed "libssl.so" "$elf"
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${lib.makeLibraryPath [stdenv.cc.cc openssl icu.out]}:\$ORIGIN" \
--set-rpath "${
lib.makeLibraryPath [
stdenv.cc.cc
openssl
icu.out
]
}:\$ORIGIN" \
"$elf"
}
@ -90,22 +94,29 @@ buildVscodeMarketplaceExtension {
--replace 'uname -m' '${lib.getExe' coreutils "uname"} -m'
''
+ (lib.concatStringsSep "\n" (map
(bin: ''
+ (lib.concatStringsSep "\n" (
map (bin: ''
chmod +x "${bin}"
'')
extInfo.binaries))
+ lib.optionalString stdenv.isLinux (lib.concatStringsSep "\n" (map
(bin: ''
patchelf_common "${bin}"
'')
extInfo.binaries));
'') extInfo.binaries
))
+ lib.optionalString stdenv.isLinux (
lib.concatStringsSep "\n" (
map (bin: ''
patchelf_common "${bin}"
'') extInfo.binaries
)
);
meta = {
description = "Official C# support for Visual Studio Code";
homepage = "https://github.com/dotnet/vscode-csharp";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ggg ];
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
platforms = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
};
}

View File

@ -1,19 +1,20 @@
{ lib
, vscode-utils
, icu
, python3
{
lib,
vscode-utils,
icu,
python3,
# When `true`, the python default setting will be fixed to specified.
# Use version from `PATH` for default setting otherwise.
# Defaults to `false` as we expect it to be project specific most of the time.
, pythonUseFixed ? false
pythonUseFixed ? false,
# For updateScript
, writeScript
, bash
, curl
, coreutils
, gnused
, jq
, nix
writeScript,
bash,
curl,
coreutils,
gnused,
jq,
nix,
}:
vscode-utils.buildVscodeMarketplaceExtension rec {
@ -33,33 +34,37 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
jedi-language-server
];
postPatch = ''
# remove bundled python deps and use libs from nixpkgs
rm -r pythonFiles/lib
mkdir -p pythonFiles/lib/python/
ln -s ${python3.pkgs.debugpy}/lib/*/site-packages/debugpy pythonFiles/lib/python/
buildPythonPath "$propagatedBuildInputs"
for i in pythonFiles/*.py; do
patchPythonScript "$i"
done
'' + lib.optionalString pythonUseFixed ''
# Patch `packages.json` so that nix's *python* is used as default value for `python.pythonPath`.
substituteInPlace "./package.json" \
--replace "\"default\": \"python\"" "\"default\": \"${python3.interpreter}\""
'';
postPatch =
''
# remove bundled python deps and use libs from nixpkgs
rm -r pythonFiles/lib
mkdir -p pythonFiles/lib/python/
ln -s ${python3.pkgs.debugpy}/lib/*/site-packages/debugpy pythonFiles/lib/python/
buildPythonPath "$propagatedBuildInputs"
for i in pythonFiles/*.py; do
patchPythonScript "$i"
done
''
+ lib.optionalString pythonUseFixed ''
# Patch `packages.json` so that nix's *python* is used as default value for `python.pythonPath`.
substituteInPlace "./package.json" \
--replace "\"default\": \"python\"" "\"default\": \"${python3.interpreter}\""
'';
passthru.updateScript = writeScript "update" ''
#! ${bash}/bin/bash
set -eu -o pipefail
export PATH=${lib.makeBinPath [
curl
coreutils
gnused
jq
nix
]}
export PATH=${
lib.makeBinPath [
curl
coreutils
gnused
jq
nix
]
}
api=$(curl -s 'https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery' \
-H 'accept: application/json;api-version=3.0-preview.1' \
@ -82,7 +87,14 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
homepage = "https://github.com/Microsoft/vscode-python";
changelog = "https://github.com/microsoft/vscode-python/releases";
license = lib.licenses.mit;
platforms = [ "x86_64-linux" "aarch64-darwin" "x86_64-darwin" ];
maintainers = [ lib.maintainers.jraygauthier lib.maintainers.jfchevrette ];
platforms = [
"x86_64-linux"
"aarch64-darwin"
"x86_64-darwin"
];
maintainers = [
lib.maintainers.jraygauthier
lib.maintainers.jfchevrette
];
};
}

View File

@ -1,4 +1,9 @@
{ lib, vscode-utils, jq, moreutils }:
{
lib,
vscode-utils,
jq,
moreutils,
}:
vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {

View File

@ -1,7 +1,8 @@
{ lib
, nixosTests
, vscode-utils
, useLocalExtensions ? false
{
lib,
nixosTests,
vscode-utils,
useLocalExtensions ? false,
}:
# Note that useLocalExtensions requires that vscode-server is not running
# on host. If it is, you'll need to remove $HOME/.vscode-server,
@ -92,7 +93,9 @@ buildVscodeMarketplaceExtension {
--replace '# Start the server\n' '${patch}'
'';
passthru.tests = { inherit (nixosTests) vscode-remote-ssh; };
passthru.tests = {
inherit (nixosTests) vscode-remote-ssh;
};
meta = {
description = "Use any remote machine with a SSH server as your development environment.";

View File

@ -1,8 +1,19 @@
{ lib, vscode-utils
, fetchurl, writeScript, runtimeShell
, jq, clang-tools
, gdbUseFixed ? true, gdb # The gdb default setting will be fixed to specified. Use version from `PATH` otherwise.
, autoPatchelfHook, makeWrapper, stdenv, lttng-ust, libkrb5, zlib
{
lib,
vscode-utils,
fetchurl,
writeScript,
runtimeShell,
jq,
clang-tools,
gdbUseFixed ? true,
gdb, # The gdb default setting will be fixed to specified. Use version from `PATH` otherwise.
autoPatchelfHook,
makeWrapper,
stdenv,
lttng-ust,
libkrb5,
zlib,
}:
/*
@ -94,7 +105,13 @@ vscode-utils.buildVscodeMarketplaceExtension {
description = "The C/C++ extension adds language support for C/C++ to Visual Studio Code, including features such as IntelliSense and debugging.";
homepage = "https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools";
license = lib.licenses.unfree;
maintainers = [ lib.maintainers.jraygauthier lib.maintainers.stargate01 ];
platforms = [ "x86_64-linux" "aarch64-linux" ];
maintainers = [
lib.maintainers.jraygauthier
lib.maintainers.stargate01
];
platforms = [
"x86_64-linux"
"aarch64-linux"
];
};
}

View File

@ -1,4 +1,8 @@
{ lib, vscode-utils, xsel }:
{
lib,
vscode-utils,
xsel,
}:
vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {

View File

@ -1,16 +1,17 @@
{ lib
, fetchFromGitHub
, vscode-utils
, jq
, rust-analyzer
, nodePackages
, moreutils
, esbuild
, pkg-config
, libsecret
, stdenv
, darwin
, setDefaultServerPath ? true
{
lib,
fetchFromGitHub,
vscode-utils,
jq,
rust-analyzer,
nodePackages,
moreutils,
esbuild,
pkg-config,
libsecret,
stdenv,
darwin,
setDefaultServerPath ? true,
}:
let
@ -29,26 +30,32 @@ let
hash = "sha256-Oj/RPMridKpYt3eRqUIPg9YNrj6npG8THIGuWjsamnE=";
};
build-deps = nodePackages."rust-analyzer-build-deps-../../applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps";
build-deps =
nodePackages."rust-analyzer-build-deps-../../applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps";
# FIXME: Making a new derivation to link `node_modules` and run `npm run package`
# will cause a build failure.
vsix = build-deps.override {
src = "${src}/editors/code";
outputs = [ "vsix" "out" ];
outputs = [
"vsix"
"out"
];
inherit releaseTag;
nativeBuildInputs = [
jq
moreutils
esbuild
# Required by `keytar`, which is a dependency of `vsce`.
pkg-config
libsecret
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.AppKit
darwin.apple_sdk.frameworks.Security
];
nativeBuildInputs =
[
jq
moreutils
esbuild
# Required by `keytar`, which is a dependency of `vsce`.
pkg-config
libsecret
]
++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.AppKit
darwin.apple_sdk.frameworks.Security
];
# Follows https://github.com/rust-lang/rust-analyzer/blob/41949748a6123fd6061eb984a47f4fe780525e63/xtask/src/dist.rs#L39-L65
postRebuild = ''
@ -65,7 +72,6 @@ let
echo y | npx vsce package -o $vsix/${pname}.zip
'';
};
in
vscode-utils.buildVscodeExtension {
inherit version vsix;
@ -75,7 +81,10 @@ vscode-utils.buildVscodeExtension {
vscodeExtPublisher = publisher;
vscodeExtName = pname;
nativeBuildInputs = lib.optionals setDefaultServerPath [ jq moreutils ];
nativeBuildInputs = lib.optionals setDefaultServerPath [
jq
moreutils
];
preInstall = lib.optionalString setDefaultServerPath ''
jq '.contributes.configuration.properties."rust-analyzer.server.path".default = $s' \
@ -86,9 +95,11 @@ vscode-utils.buildVscodeExtension {
meta = {
description = "An alternative rust language server to the RLS";
homepage = "https://github.com/rust-lang/rust-analyzer";
license = [ lib.licenses.mit lib.licenses.asl20 ];
license = [
lib.licenses.mit
lib.licenses.asl20
];
maintainers = [ ];
platforms = lib.platforms.all;
};
}

View File

@ -1,6 +1,7 @@
{ lib
, vscode-utils
, lua-language-server
{
lib,
vscode-utils,
lua-language-server,
}:
vscode-utils.buildVscodeMarketplaceExtension {

View File

@ -1,39 +1,43 @@
# Updates the vscode setting file base on a nix expression
# should run from the workspace root.
{ writeShellScriptBin
, lib
, jq
{
writeShellScriptBin,
lib,
jq,
}:
##User Input
{ settings ? {}
# if marked as true will create an empty json file if does not exist
, createIfDoesNotExists ? true
, vscodeSettingsFile ? ".vscode/settings.json"
, userSettingsFolder ? ""
, symlinkFromUserSetting ? false
{
settings ? { },
# if marked as true will create an empty json file if does not exist
createIfDoesNotExists ? true,
vscodeSettingsFile ? ".vscode/settings.json",
userSettingsFolder ? "",
symlinkFromUserSetting ? false,
}:
let
updateVSCodeSettingsCmd = ''
(
echo 'updateSettings.nix: Updating ${vscodeSettingsFile}...'
oldSettings=$(cat ${vscodeSettingsFile})
echo $oldSettings' ${builtins.toJSON settings}' | ${jq}/bin/jq -s add > ${vscodeSettingsFile}
)'';
(
echo 'updateSettings.nix: Updating ${vscodeSettingsFile}...'
oldSettings=$(cat ${vscodeSettingsFile})
echo $oldSettings' ${builtins.toJSON settings}' | ${jq}/bin/jq -s add > ${vscodeSettingsFile}
)'';
createEmptySettingsCmd = ''mkdir -p .vscode && echo "{}" > ${vscodeSettingsFile}'';
fileName = builtins.baseNameOf vscodeSettingsFile;
symlinkFromUserSettingCmd = lib.optionalString symlinkFromUserSetting
'' && mkdir -p "${userSettingsFolder}" && ln -sfv "$(pwd)/${vscodeSettingsFile}" "${userSettingsFolder}/" '';
symlinkFromUserSettingCmd = lib.optionalString symlinkFromUserSetting ''&& mkdir -p "${userSettingsFolder}" && ln -sfv "$(pwd)/${vscodeSettingsFile}" "${userSettingsFolder}/" '';
in
writeShellScriptBin ''vscodeNixUpdate-${lib.removeSuffix ".json" (fileName)}''
(lib.optionalString (settings != {})
(if createIfDoesNotExists then ''
[ ! -f "${vscodeSettingsFile}" ] && ${createEmptySettingsCmd}
${updateVSCodeSettingsCmd} ${symlinkFromUserSettingCmd}
''
else ''[ -f "${vscodeSettingsFile}" ] && ${updateVSCodeSettingsCmd} ${symlinkFromUserSettingCmd}
''
)
writeShellScriptBin ''vscodeNixUpdate-${lib.removeSuffix ".json" (fileName)}'' (
lib.optionalString (settings != { }) (
if createIfDoesNotExists then
''
[ ! -f "${vscodeSettingsFile}" ] && ${createEmptySettingsCmd}
${updateVSCodeSettingsCmd} ${symlinkFromUserSettingCmd}
''
else
''
[ -f "${vscodeSettingsFile}" ] && ${updateVSCodeSettingsCmd} ${symlinkFromUserSettingCmd}
''
)
)

View File

@ -1,5 +1,5 @@
with import <nixpkgs>{};
callPackage (import ./updateSettings.nix) {} {
with import <nixpkgs> { };
callPackage (import ./updateSettings.nix) { } {
settings = {
a = "fdsdf";
};

View File

@ -1,5 +1,20 @@
{ pkgs, lib, stdenv, fetchFromGitHub, runCommand, rustPlatform, makeWrapper, llvmPackages
, buildNpmPackage, cmake, nodejs, unzip, python3, pkg-config, libsecret, darwin
{
pkgs,
lib,
stdenv,
fetchFromGitHub,
runCommand,
rustPlatform,
makeWrapper,
llvmPackages,
buildNpmPackage,
cmake,
nodejs,
unzip,
python3,
pkg-config,
libsecret,
darwin,
}:
assert lib.versionAtLeast python3.version "3.5";
let
@ -31,9 +46,7 @@ let
nativeBuildInputs = [ makeWrapper ];
env = lib.optionalAttrs stdenv.isDarwin {
NIX_LDFLAGS = "-llldb -lc++abi";
};
env = lib.optionalAttrs stdenv.isDarwin { NIX_LDFLAGS = "-llldb -lc++abi"; };
buildAndTestSubdir = "adapter";
@ -76,12 +89,15 @@ let
pkg-config
];
buildInputs = [
libsecret
] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
Security
AppKit
]);
buildInputs =
[ libsecret ]
++ lib.optionals stdenv.isDarwin (
with darwin.apple_sdk.frameworks;
[
Security
AppKit
]
);
dontNpmBuild = true;
@ -103,14 +119,25 @@ let
"/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/Resources/debugserver"
else
"${lldb.out}/bin/lldb-server";
in stdenv.mkDerivation {
in
stdenv.mkDerivation {
pname = "vscode-extension-${publisher}-${pname}";
inherit src version vscodeExtUniqueId vscodeExtPublisher vscodeExtName;
inherit
src
version
vscodeExtUniqueId
vscodeExtPublisher
vscodeExtName
;
installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}";
nativeBuildInputs = [ cmake nodejs unzip makeWrapper ];
nativeBuildInputs = [
cmake
nodejs
unzip
makeWrapper
];
patches = [ ./cmake-build-extension-only.patch ];
@ -120,12 +147,14 @@ in stdenv.mkDerivation {
--replace "1.9.2" ${version}
'';
postConfigure = ''
cp -r ${nodeDeps}/lib/node_modules .
'' + lib.optionalString stdenv.isDarwin ''
export HOME="$TMPDIR/home"
mkdir $HOME
'';
postConfigure =
''
cp -r ${nodeDeps}/lib/node_modules .
''
+ lib.optionalString stdenv.isDarwin ''
export HOME="$TMPDIR/home"
mkdir $HOME
'';
cmakeFlags = [
# Do not append timestamp to version.

View File

@ -1,5 +1,9 @@
# Patched lldb for Rust language support.
{ fetchFromGitHub, runCommand, llvmPackages }:
{
fetchFromGitHub,
runCommand,
llvmPackages,
}:
let
llvmSrc = fetchFromGitHub {
owner = "vadimcn";
@ -8,8 +12,9 @@ let
rev = "4c267c83cbb55fedf2e0b89644dc1db320fdfde7";
hash = "sha256-jM//ej6AxnRYj+8BAn4QrxHPT6HiDzK5RqHPSg3dCcw=";
};
in (llvmPackages.lldb.overrideAttrs (oldAttrs: rec {
passthru = (oldAttrs.passthru or {}) // {
in
(llvmPackages.lldb.overrideAttrs (oldAttrs: rec {
passthru = (oldAttrs.passthru or { }) // {
inherit llvmSrc;
};
@ -23,7 +28,8 @@ in (llvmPackages.lldb.overrideAttrs (oldAttrs: rec {
echo "'lldb --version' returns: $versionOutput"
echo "$versionOutput" | grep -q 'rust-enabled'
'';
})).override({
monorepoSrc = llvmSrc;
libllvm = llvmPackages.libllvm.override({ monorepoSrc = llvmSrc; });
})
})).override
({
monorepoSrc = llvmSrc;
libllvm = llvmPackages.libllvm.override ({ monorepoSrc = llvmSrc; });
})

View File

@ -1,77 +1,101 @@
{ stdenv, lib, buildEnv, writeShellScriptBin, fetchurl, vscode, unzip, jq }:
{
stdenv,
lib,
buildEnv,
writeShellScriptBin,
fetchurl,
vscode,
unzip,
jq,
}:
let
buildVscodeExtension = a@{
name,
src,
# Same as "Unique Identifier" on the extension's web page.
# For the moment, only serve as unique extension dir.
vscodeExtPublisher,
vscodeExtName,
vscodeExtUniqueId,
configurePhase ? ''
runHook preConfigure
runHook postConfigure
'',
buildPhase ?''
runHook preBuild
runHook postBuild
'',
dontPatchELF ? true,
dontStrip ? true,
nativeBuildInputs ? [],
passthru ? { },
...
}:
stdenv.mkDerivation ((removeAttrs a [ "vscodeExtUniqueId" ]) // {
buildVscodeExtension =
a@{
name,
src,
# Same as "Unique Identifier" on the extension's web page.
# For the moment, only serve as unique extension dir.
vscodeExtPublisher,
vscodeExtName,
vscodeExtUniqueId,
configurePhase ? ''
runHook preConfigure
runHook postConfigure
'',
buildPhase ? ''
runHook preBuild
runHook postBuild
'',
dontPatchELF ? true,
dontStrip ? true,
nativeBuildInputs ? [ ],
passthru ? { },
...
}:
stdenv.mkDerivation (
(removeAttrs a [ "vscodeExtUniqueId" ])
// {
name = "vscode-extension-${name}";
name = "vscode-extension-${name}";
passthru = passthru // {
inherit vscodeExtPublisher vscodeExtName vscodeExtUniqueId;
};
passthru = passthru // {
inherit vscodeExtPublisher vscodeExtName vscodeExtUniqueId;
};
inherit configurePhase buildPhase dontPatchELF dontStrip;
inherit
configurePhase
buildPhase
dontPatchELF
dontStrip
;
# Some .vsix files contain other directories (e.g., `package`) that we don't use.
# If other directories are present but `sourceRoot` is unset, the unpacker phase fails.
sourceRoot = "extension";
# Some .vsix files contain other directories (e.g., `package`) that we don't use.
# If other directories are present but `sourceRoot` is unset, the unpacker phase fails.
sourceRoot = "extension";
installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}";
installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}";
nativeBuildInputs = [ unzip ] ++ nativeBuildInputs;
nativeBuildInputs = [ unzip ] ++ nativeBuildInputs;
installPhase = ''
installPhase = ''
runHook preInstall
runHook preInstall
mkdir -p "$out/$installPrefix"
find . -mindepth 1 -maxdepth 1 | xargs -d'\n' mv -t "$out/$installPrefix/"
mkdir -p "$out/$installPrefix"
find . -mindepth 1 -maxdepth 1 | xargs -d'\n' mv -t "$out/$installPrefix/"
runHook postInstall
'';
runHook postInstall
'';
}
);
});
fetchVsixFromVscodeMarketplace =
mktplcExtRef: fetchurl (import ./mktplcExtRefToFetchArgs.nix mktplcExtRef);
fetchVsixFromVscodeMarketplace = mktplcExtRef:
fetchurl (import ./mktplcExtRefToFetchArgs.nix mktplcExtRef);
buildVscodeMarketplaceExtension = a@{
name ? "",
src ? null,
vsix ? null,
mktplcRef,
...
}: assert "" == name; assert null == src;
buildVscodeExtension ((removeAttrs a [ "mktplcRef" "vsix" ]) // {
name = "${mktplcRef.publisher}-${mktplcRef.name}-${mktplcRef.version}";
version = mktplcRef.version;
src = if (vsix != null)
then vsix
else fetchVsixFromVscodeMarketplace mktplcRef;
vscodeExtPublisher = mktplcRef.publisher;
vscodeExtName = mktplcRef.name;
vscodeExtUniqueId = "${mktplcRef.publisher}.${mktplcRef.name}";
});
buildVscodeMarketplaceExtension =
a@{
name ? "",
src ? null,
vsix ? null,
mktplcRef,
...
}:
assert "" == name;
assert null == src;
buildVscodeExtension (
(removeAttrs a [
"mktplcRef"
"vsix"
])
// {
name = "${mktplcRef.publisher}-${mktplcRef.name}-${mktplcRef.version}";
version = mktplcRef.version;
src = if (vsix != null) then vsix else fetchVsixFromVscodeMarketplace mktplcRef;
vscodeExtPublisher = mktplcRef.publisher;
vscodeExtName = mktplcRef.name;
vscodeExtUniqueId = "${mktplcRef.publisher}.${mktplcRef.name}";
}
);
mktplcRefAttrList = [
"name"
@ -82,14 +106,18 @@ let
"arch"
];
mktplcExtRefToExtDrv = ext:
buildVscodeMarketplaceExtension (removeAttrs ext mktplcRefAttrList // {
mktplcRef = builtins.intersectAttrs (lib.genAttrs mktplcRefAttrList (_: null)) ext;
});
mktplcExtRefToExtDrv =
ext:
buildVscodeMarketplaceExtension (
removeAttrs ext mktplcRefAttrList
// {
mktplcRef = builtins.intersectAttrs (lib.genAttrs mktplcRefAttrList (_: null)) ext;
}
);
extensionFromVscodeMarketplace = mktplcExtRefToExtDrv;
extensionsFromVscodeMarketplace = mktplcExtRefList:
builtins.map extensionFromVscodeMarketplace mktplcExtRefList;
extensionsFromVscodeMarketplace =
mktplcExtRefList: builtins.map extensionFromVscodeMarketplace mktplcExtRefList;
vscodeWithConfiguration = import ./vscodeWithConfiguration.nix {
inherit lib extensionsFromVscodeMarketplace writeShellScriptBin;
@ -102,7 +130,13 @@ let
};
vscodeEnv = import ./vscodeEnv.nix {
inherit lib buildEnv writeShellScriptBin extensionsFromVscodeMarketplace jq;
inherit
lib
buildEnv
writeShellScriptBin
extensionsFromVscodeMarketplace
jq
;
vscodeDefault = vscode;
};
@ -139,9 +173,16 @@ let
toExtensionJson = extensions: builtins.toJSON (map toExtensionJsonEntry extensions);
in
{
inherit fetchVsixFromVscodeMarketplace buildVscodeExtension
buildVscodeMarketplaceExtension extensionFromVscodeMarketplace
extensionsFromVscodeMarketplace
vscodeWithConfiguration vscodeExts2nix vscodeEnv
toExtensionJsonEntry toExtensionJson;
inherit
fetchVsixFromVscodeMarketplace
buildVscodeExtension
buildVscodeMarketplaceExtension
extensionFromVscodeMarketplace
extensionsFromVscodeMarketplace
vscodeWithConfiguration
vscodeExts2nix
vscodeEnv
toExtensionJsonEntry
toExtensionJson
;
}

View File

@ -1,47 +1,58 @@
#Use vscodeWithConfiguration and vscodeExts2nix to create a vscode executable. When the executable exits, it updates the mutable extension file, which is imported when evaluated by Nix later.
{ lib
, buildEnv
, writeShellScriptBin
, extensionsFromVscodeMarketplace
, vscodeDefault
, jq
{
lib,
buildEnv,
writeShellScriptBin,
extensionsFromVscodeMarketplace,
vscodeDefault,
jq,
}:
##User input
{ vscode ? vscodeDefault
, nixExtensions ? []
, vscodeExtsFolderName ? ".vscode-exts"
# will add to the command updateSettings (which will run on executing vscode) settings to override in settings.json file
, settings ? {}
, createSettingsIfDoesNotExists ? true
, launch ? {}
, createLaunchIfDoesNotExists ? true
# will add to the command updateKeybindings(which will run on executing vscode) keybindings to override in keybinding.json file
, keybindings ? {}
, createKeybindingsIfDoesNotExists ? true
, user-data-dir ? ''"''${TMP}''${name}"/vscode-data-dir''
# if file exists will use it and import the extensions in it into this derivation else will use empty extensions list
# this file will be created/updated by vscodeExts2nix when vscode exists
, mutableExtensionsFile
{
vscode ? vscodeDefault,
nixExtensions ? [ ],
vscodeExtsFolderName ? ".vscode-exts",
# will add to the command updateSettings (which will run on executing vscode) settings to override in settings.json file
settings ? { },
createSettingsIfDoesNotExists ? true,
launch ? { },
createLaunchIfDoesNotExists ? true,
# will add to the command updateKeybindings(which will run on executing vscode) keybindings to override in keybinding.json file
keybindings ? { },
createKeybindingsIfDoesNotExists ? true,
user-data-dir ? ''"''${TMP}''${name}"/vscode-data-dir'',
# if file exists will use it and import the extensions in it into this derivation else will use empty extensions list
# this file will be created/updated by vscodeExts2nix when vscode exists
mutableExtensionsFile,
}:
let
mutableExtensionsFilePath = toString mutableExtensionsFile;
mutableExtensions = lib.optionals (builtins.pathExists mutableExtensionsFile) (import mutableExtensionsFilePath);
vscodeWithConfiguration = import ./vscodeWithConfiguration.nix {
inherit lib writeShellScriptBin extensionsFromVscodeMarketplace;
vscodeDefault = vscode;
}
{
inherit nixExtensions mutableExtensions vscodeExtsFolderName user-data-dir;
};
mutableExtensions = lib.optionals (builtins.pathExists mutableExtensionsFile) (
import mutableExtensionsFilePath
);
vscodeWithConfiguration =
import ./vscodeWithConfiguration.nix
{
inherit lib writeShellScriptBin extensionsFromVscodeMarketplace;
vscodeDefault = vscode;
}
{
inherit
nixExtensions
mutableExtensions
vscodeExtsFolderName
user-data-dir
;
};
updateSettings = import ./updateSettings.nix { inherit lib writeShellScriptBin jq; };
userSettingsFolder = "${ user-data-dir }/User";
userSettingsFolder = "${user-data-dir}/User";
updateSettingsCmd = updateSettings {
settings = {
"extensions.autoCheckUpdates" = false;
"extensions.autoUpdate" = false;
"update.mode" = "none";
"extensions.autoCheckUpdates" = false;
"extensions.autoUpdate" = false;
"update.mode" = "none";
} // settings;
inherit userSettingsFolder;
createIfDoesNotExists = createSettingsIfDoesNotExists;
@ -62,14 +73,16 @@ let
symlinkFromUserSetting = (user-data-dir != "");
};
vscodeExts2nix = import ./vscodeExts2nix.nix {
inherit lib writeShellScriptBin;
vscodeDefault = vscodeWithConfiguration;
}
{
extensionsToIgnore = nixExtensions;
extensions = mutableExtensions;
};
vscodeExts2nix =
import ./vscodeExts2nix.nix
{
inherit lib writeShellScriptBin;
vscodeDefault = vscodeWithConfiguration;
}
{
extensionsToIgnore = nixExtensions;
extensions = mutableExtensions;
};
code = writeShellScriptBin "code" ''
${updateSettingsCmd}/bin/vscodeNixUpdate-settings
${updateLaunchCmd}/bin/vscodeNixUpdate-launch
@ -81,5 +94,11 @@ let
in
buildEnv {
name = "vscodeEnv";
paths = [ code vscodeExts2nix updateSettingsCmd updateLaunchCmd updateKeybindingsCmd ];
paths = [
code
vscodeExts2nix
updateSettingsCmd
updateLaunchCmd
updateKeybindingsCmd
];
}

View File

@ -1,11 +1,13 @@
with import <nixpkgs>{};
callPackage (import ./vscodeEnv.nix) {
extensionsFromVscodeMarketplace = vscode-utils.extensionsFromVscodeMarketplace;
vscodeDefault = vscode;
} {
mutableExtensionsFile = ./extensions.nix;
settings = {
a = "fdsdf";
t = "test";
};
}
with import <nixpkgs> { };
callPackage (import ./vscodeEnv.nix)
{
extensionsFromVscodeMarketplace = vscode-utils.extensionsFromVscodeMarketplace;
vscodeDefault = vscode;
}
{
mutableExtensionsFile = ./extensions.nix;
settings = {
a = "fdsdf";
t = "test";
};
}

View File

@ -1,14 +1,16 @@
# based on the passed vscode will stdout a nix expression with the installed vscode extensions
{ lib
, vscodeDefault
, writeShellScriptBin
{
lib,
vscodeDefault,
writeShellScriptBin,
}:
##User input
{ vscode ? vscodeDefault
, extensionsToIgnore ? []
# will use those extensions to get sha256 if still exists when executed.
, extensions ? []
{
vscode ? vscodeDefault,
extensionsToIgnore ? [ ],
# will use those extensions to get sha256 if still exists when executed.
extensions ? [ ],
}:
let
mktplcExtRefToFetchArgs = import ./mktplcExtRefToFetchArgs.nix;
@ -17,22 +19,32 @@ writeShellScriptBin "vscodeExts2nix" ''
echo '['
for line in $(${vscode}/bin/code --list-extensions --show-versions \
${lib.optionalString (extensionsToIgnore != []) ''
| grep -v -i '^\(${lib.concatMapStringsSep "\\|" (e : "${e.publisher}.${e.name}") extensionsToIgnore}\)'
''}
${
lib.optionalString (extensionsToIgnore != [ ]) ''
| grep -v -i '^\(${
lib.concatMapStringsSep "\\|" (e: "${e.publisher}.${e.name}") extensionsToIgnore
}\)'
''
}
) ; do
[[ $line =~ ([^.]*)\.([^@]*)@(.*) ]]
name=''${BASH_REMATCH[2]}
publisher=''${BASH_REMATCH[1]}
version=''${BASH_REMATCH[3]}
extensions="${lib.concatMapStringsSep "." (e : "${e.publisher}${e.name}@${e.sha256}") extensions}"
extensions="${lib.concatMapStringsSep "." (e: "${e.publisher}${e.name}@${e.sha256}") extensions}"
reCurrentExt=$publisher$name"@([^.]*)"
if [[ $extensions =~ $reCurrentExt ]]; then
sha256=''${BASH_REMATCH[1]}
else
sha256=$(
nix-prefetch-url "${(mktplcExtRefToFetchArgs {publisher = ''"$publisher"''; name = ''"$name"''; version = ''"$version"'';}).url}" 2> /dev/null
nix-prefetch-url "${
(mktplcExtRefToFetchArgs {
publisher = ''"$publisher"'';
name = ''"$name"'';
version = ''"$version"'';
}).url
}" 2> /dev/null
)
fi

View File

@ -1,54 +1,61 @@
# wrapper over vscode to control extensions per project (extensions folder will be created in execution path)
{ lib
, writeShellScriptBin
, extensionsFromVscodeMarketplace
, vscodeDefault
{
lib,
writeShellScriptBin,
extensionsFromVscodeMarketplace,
vscodeDefault,
}:
## User input
{ vscode ? vscodeDefault
# extensions to be symlinked into the project's extensions folder
, nixExtensions ? []
# extensions to be copied into the project's extensions folder
, mutableExtensions ? []
, vscodeExtsFolderName ? ".vscode-exts"
, user-data-dir ? ''"''${TMP}vscodeWithConfiguration/vscode-data-dir"''
{
vscode ? vscodeDefault,
# extensions to be symlinked into the project's extensions folder
nixExtensions ? [ ],
# extensions to be copied into the project's extensions folder
mutableExtensions ? [ ],
vscodeExtsFolderName ? ".vscode-exts",
user-data-dir ? ''"''${TMP}vscodeWithConfiguration/vscode-data-dir"'',
}:
let
nixExtsDrvs = extensionsFromVscodeMarketplace nixExtensions;
mutExtsDrvs = extensionsFromVscodeMarketplace mutableExtensions;
mutableExtsPaths = lib.forEach mutExtsDrvs ( e:
{
mutableExtsPaths = lib.forEach mutExtsDrvs (e: {
origin = "${e}/share/vscode/extensions/${e.vscodeExtUniqueId}";
target = ''${vscodeExtsFolderName}/${e.vscodeExtUniqueId}-${(lib.findSingle (ext: "${ext.publisher}.${ext.name}" == e.vscodeExtUniqueId) "" "m" mutableExtensions ).version}'';
}
);
target = ''${vscodeExtsFolderName}/${e.vscodeExtUniqueId}-${
(lib.findSingle (
ext: "${ext.publisher}.${ext.name}" == e.vscodeExtUniqueId
) "" "m" mutableExtensions).version
}'';
});
#removed not defined extensions
rmExtensions = lib.optionalString (nixExtensions++mutableExtensions != []) ''
rmExtensions = lib.optionalString (nixExtensions ++ mutableExtensions != [ ]) ''
find ${vscodeExtsFolderName} -mindepth 1 -maxdepth 1 ${
lib.concatMapStringsSep " " (e : "! -iname ${e.publisher}.${e.name} ") nixExtensions
+
lib.concatMapStringsSep " " (e : "! -iname ${e.publisher}.${e.name}-${e.version} ") mutableExtensions
} -exec rm -rf {} \;
lib.concatMapStringsSep " " (e: "! -iname ${e.publisher}.${e.name} ") nixExtensions
+ lib.concatMapStringsSep " " (
e: "! -iname ${e.publisher}.${e.name}-${e.version} "
) mutableExtensions
} -exec rm -rf {} \;
'';
#copy mutable extension out of the nix store
cpExtensions = ''
${lib.concatMapStringsSep "\n" (e : "ln -sfn ${e}/share/vscode/extensions/* ${vscodeExtsFolderName}/") nixExtsDrvs}
${lib.concatMapStringsSep "\n" (ePath : ''
${lib.concatMapStringsSep "\n" (
e: "ln -sfn ${e}/share/vscode/extensions/* ${vscodeExtsFolderName}/"
) nixExtsDrvs}
${lib.concatMapStringsSep "\n" (ePath: ''
if [ ! -d ${ePath.target} ]; then
cp -a ${ePath.origin} ${ePath.target}
chmod -R u+rwx ${ePath.target}
fi
'') mutableExtsPaths}
'') mutableExtsPaths}
'';
in
writeShellScriptBin "code" ''
if ! [[ "$@" =~ "--list-extension" ]]; then
mkdir -p "${vscodeExtsFolderName}"
${rmExtensions}
${cpExtensions}
fi
${vscode}/bin/code --extensions-dir "${vscodeExtsFolderName}" ${
lib.optionalString (user-data-dir != "") "--user-data-dir ${user-data-dir}"
} "$@"
''
writeShellScriptBin "code" ''
if ! [[ "$@" =~ "--list-extension" ]]; then
mkdir -p "${vscodeExtsFolderName}"
${rmExtensions}
${cpExtensions}
fi
${vscode}/bin/code --extensions-dir "${vscodeExtsFolderName}" ${
lib.optionalString (user-data-dir != "") "--user-data-dir ${user-data-dir}"
} "$@"
''

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "gum";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "charmbracelet";
repo = pname;
rev = "v${version}";
hash = "sha256-NgMEgSfHVLCEKZ3MmNV571ySMUD8wj+kq5EccGrxtZc=";
hash = "sha256-TpLaZ/935S57K60NdgJXVY+YQEedralZMoQHWRgkH+A=";
};
vendorHash = "sha256-fmc6nbS/Xmn/YRwToRH7EhP4SFRMf8hjZ/rLtaP/USo=";
vendorHash = "sha256-UgpOHZ/CEnGsmUTyNrhh+qDmKEplr18b/OrO2qcIhF4=";
nativeBuildInputs = [
installShellFiles

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kn";
version = "1.13.0";
version = "1.14.0";
src = fetchFromGitHub {
owner = "knative";
repo = "client";
rev = "knative-v${version}";
sha256 = "sha256-irMipYDYMyA0l9d7tI1wS7XsxGWjBzTvxmhpKM1gLW8=";
sha256 = "sha256-sUMQrBAOhpMxMawOdvLFSUrcU9od6pmT7NabSywoQn8=";
};
vendorHash = null;

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "temporal";
version = "1.23.0";
version = "1.23.1";
src = fetchFromGitHub {
owner = "temporalio";
repo = "temporal";
rev = "v${version}";
hash = "sha256-4e8z4k7loL9vVYe5jut1X/5qDboChQxZtPO1ZBHNb7o=";
hash = "sha256-yu5EfW5ThTJx6ouCBoEEq9wU4MtlFGqqRaHMgIPaRqY=";
};
vendorHash = "sha256-4xwdVFE0CGcOA8Efj4ECionPP9rbzT02zyr2HR143AM=";
vendorHash = "sha256-INmc/qbayjI+umkoGL8ih/iC7xqUkO1kfIZN5cQn/bw=";
excludedPackages = [ "./build" ];

View File

@ -2,7 +2,7 @@
callPackage ./generic.nix { } rec {
pname = "signal-desktop-beta";
dir = "Signal Beta";
version = "7.6.0-beta.3";
version = "7.7.0-beta.1";
url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop-beta/signal-desktop-beta_${version}_amd64.deb";
hash = "sha256-BbXogNB2BxFQTpvHw0JVOaCV2PQHEQbafSavVcBd/Fg=";
hash = "sha256-oswS1aRkpiTNSpQ6CqfJnoM412RRwraeht4iqq8L1Bk=";
}

View File

@ -25,15 +25,15 @@
, xorg
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "whatsapp-for-linux";
version = "1.6.4";
src = fetchFromGitHub {
owner = "eneshecan";
repo = pname;
rev = "v${version}";
sha256 = "sha256-DU9tvIvDfOtBydR68yeRMFYdMjiBrOobCDXIZMmm7pQ=";
repo = "whatsapp-for-linux";
rev = "v${finalAttrs.version}";
hash = "sha256-DU9tvIvDfOtBydR68yeRMFYdMjiBrOobCDXIZMmm7pQ=";
};
nativeBuildInputs = [
@ -68,12 +68,12 @@ stdenv.mkDerivation rec {
xorg.libXtst
];
meta = with lib; {
meta = {
homepage = "https://github.com/eneshecan/whatsapp-for-linux";
description = "Whatsapp desktop messaging app";
mainProgram = "whatsapp-for-linux";
license = licenses.gpl3Only;
maintainers = with maintainers; [ bartuka ];
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ bartuka ];
platforms = [ "x86_64-linux" ];
};
}
})

View File

@ -5,14 +5,14 @@
let
description = "Desktop sharing application, providing remote support and online meetings";
in stdenv.mkDerivation rec {
in stdenv.mkDerivation (finalAttrs: {
pname = "anydesk";
version = "6.3.2";
src = fetchurl {
urls = [
"https://download.anydesk.com/linux/anydesk-${version}-amd64.tar.gz"
"https://download.anydesk.com/linux/generic-linux/anydesk-${version}-amd64.tar.gz"
"https://download.anydesk.com/linux/anydesk-${finalAttrs.version}-amd64.tar.gz"
"https://download.anydesk.com/linux/generic-linux/anydesk-${finalAttrs.version}-amd64.tar.gz"
];
hash = "sha256-nSY4qHRsEvQk4M3JDHalAk3C6Y21WlfDQ2Gpp6/jjMs=";
};
@ -54,7 +54,7 @@ in stdenv.mkDerivation rec {
postFixup = ''
patchelf \
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
--set-rpath "${lib.makeLibraryPath buildInputs}" \
--set-rpath "${lib.makeLibraryPath finalAttrs.buildInputs}" \
$out/bin/anydesk
# pangox is not actually necessary (it was only added as a part of gtkglext)
@ -77,12 +77,12 @@ in stdenv.mkDerivation rec {
};
};
meta = with lib; {
meta = {
inherit description;
homepage = "https://www.anydesk.com";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ shyim cheriimoya ];
maintainers = with lib.maintainers; [ shyim cheriimoya ];
};
}
})

View File

@ -5,12 +5,12 @@
}:
let
version = "6.7.5";
version = "6.7.6";
pname = "timeular";
src = fetchurl {
url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage";
hash = "sha256-b/I34f8fGgPr4+fZJ+2cb+Xi/AvotxNHYg7IaLTByPk=";
hash = "sha256-wQUR2jLJi1peXqXJJj/72X9xNaD2DzNiB0mGFiaEWBE=";
};
appimageContents = appimageTools.extractType2 {

View File

@ -2,10 +2,10 @@
stdenv.mkDerivation rec {
pname = "igv";
version = "2.17.3";
version = "2.17.4";
src = fetchzip {
url = "https://data.broadinstitute.org/igv/projects/downloads/${lib.versions.majorMinor version}/IGV_${version}.zip";
sha256 = "sha256-SGqkWBv4nol0+lnGN7wBHJvndcIqZ5+Wt1wAcXA42cU=";
sha256 = "sha256-LF/rwm/XlLHAJjiAlQVTmx5l+5Np2b5rPjoCdN/qERU=";
};
installPhase = ''

View File

@ -77,6 +77,7 @@ let
mpv-cheatsheet = callPackage ./mpv-cheatsheet.nix { };
mpv-osc-modern = callPackage ./mpv-osc-modern.nix { };
mpv-playlistmanager = callPackage ./mpv-playlistmanager.nix { };
mpv-slicing = callPackage ./mpv-slicing.nix { };
mpv-webm = callPackage ./mpv-webm.nix { };
mpvacious = callPackage ./mpvacious.nix { };
quack = callPackage ./quack.nix { };
@ -88,6 +89,7 @@ let
thumbfast = callPackage ./thumbfast.nix { };
thumbnail = callPackage ./thumbnail.nix { };
uosc = callPackage ./uosc.nix { };
videoclip = callPackage ./videoclip.nix { };
visualizer = callPackage ./visualizer.nix { };
vr-reversal = callPackage ./vr-reversal.nix { };
webtorrent-mpv-hook = callPackage ./webtorrent-mpv-hook.nix { };

View File

@ -0,0 +1,32 @@
{
lib,
buildLua,
fetchFromGitHub,
ffmpeg,
}:
buildLua {
pname = "mpv-slicing";
version = "0-unstable-2017-11-25";
src = fetchFromGitHub {
owner = "Kagami";
repo = "mpv_slicing";
rev = "d09c11227704c8d5bdaa2c799ef64dce881c63a7";
hash = "sha256-MKoM0f74/XoctiHQVOB3LzFWtJXpsREfQh5icaebCJo=";
};
postPatch = ''
substituteInPlace slicing.lua \
--replace-fail ffmpeg ${lib.getExe ffmpeg}
'';
passthru.scriptName = "slicing.lua";
meta = {
description = "A lua script to cut fragments of the video in uncompressed RGB format";
homepage = "https://github.com/Kagami/mpv_slicing";
license = lib.licenses.cc0;
maintainers = with lib.maintainers; [ tomasajt ];
};
}

View File

@ -0,0 +1,40 @@
{ lib
, fetchFromGitHub
, curl
, xclip
, wl-clipboard
, stdenv
, buildLua
, unstableGitUpdater
}:
buildLua {
pname = "videoclip";
version = "0-unstable-2024-03-08";
src = fetchFromGitHub {
owner = "Ajatt-Tools";
repo = "videoclip";
rev = "0e3f2245b03e888c14c093a50261e0f54ecdf8e8";
hash = "sha256-Sg6LHU9OVmVx3cTs8Y0WL8wACb5BlVyeBRccoX+7BXY=";
};
patchPhase = ''
substituteInPlace platform.lua \
--replace \'curl\' \'${lib.getExe curl}\' \
'' + lib.optionalString stdenv.isLinux ''
--replace xclip ${lib.getExe xclip} \
--replace wl-copy ${lib.getExe' wl-clipboard "wl-copy"}
'';
scriptPath = ".";
passthru.scriptName = "videoclip";
passthru.updateScript = unstableGitUpdater { };
meta = with lib; {
description = "Easily create videoclips with mpv";
homepage = "https://github.com/Ajatt-Tools/videoclip";
license = licenses.gpl3Plus;
platforms = platforms.all;
maintainers = with maintainers; [ BatteredBunny ];
};
}

View File

@ -14,12 +14,12 @@
}:
stdenv.mkDerivation rec {
pname = "vdr-softhddevice";
version = "2.1.2";
version = "2.2.0";
src = fetchFromGitHub {
owner = "ua0lnj";
repo = "vdr-plugin-softhddevice";
sha256 = "sha256-y6b0nOf597uxS9zDh0NQOwLN81nk4U7lHK2CalyVi8s=";
sha256 = "sha256-1yCDNfUdQLgJ0WWyx0q3Hi0yxb6zxaK7wMzLD9jXweI=";
rev = "v${version}";
};

View File

@ -2,12 +2,12 @@
let
pname = "anytype";
version = "0.40.2";
version = "0.40.8";
name = "Anytype-${version}";
src = fetchurl {
url = "https://github.com/anyproto/anytype-ts/releases/download/v${version}/${name}.AppImage";
name = "Anytype-${version}.AppImage";
hash = "sha256-RO8rYH0wHPxwey1ICAVK1jURs7b+oxLXRlychgi6c1c=";
hash = "sha256-Rvl52nKrOWQfT2qgssEpFjQCjva54zPvm6aEXmO0NTc=";
};
appimageContents = appimageTools.extractType2 { inherit name src; };
in appimageTools.wrapType2 {

View File

@ -7,13 +7,13 @@
buildGoModule rec {
pname = "dmarc-report-converter";
version = "0.7.1";
version = "0.7.2";
src = fetchFromGitHub {
owner = "tierpod";
repo = "dmarc-report-converter";
rev = "v${version}";
hash = "sha256-cP96tiBpMFNEHuIF0sovi+Q4yW8wMUqr138RyMOFoho=";
hash = "sha256-93sNEBV7MxZr6tqPaFKgY0KA1J3W0HoCiIDZg268Smc=";
};
vendorHash = null;

View File

@ -11,11 +11,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gpt4all";
version = "2.7.3";
version = "2.7.4";
src = fetchFromGitHub {
fetchSubmodules = true;
hash = "sha256-hIfeADP3tiooGZr/OMVFIkOAniMWXj9AsVzMPlVbucE=";
hash = "sha256-G22d2Q6z7DmPHM/DEE7iyJ8SWRZdoVdSWw+gnPVHdEg=";
owner = "nomic-ai";
repo = "gpt4all";
rev = "v${finalAttrs.version}";
@ -23,11 +23,6 @@ stdenv.mkDerivation (finalAttrs: {
sourceRoot = "${finalAttrs.src.name}/gpt4all-chat";
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail 'set(CMAKE_INSTALL_PREFIX ''${CMAKE_BINARY_DIR}/install)' ""
'';
nativeBuildInputs = [
cmake
qt6.wrapQtAppsHook

View File

@ -7,20 +7,20 @@
let
pname = "hoppscotch";
version = "24.3.1-2";
version = "24.3.2-1";
src = fetchurl {
aarch64-darwin = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_aarch64.dmg";
hash = "sha256-F4vQwdNObIE8Fx75TfwI0QxbY5n2syT4sEIhgAu2Z5c=";
hash = "sha256-/Sa51x/Hy4mOxNL+6r+5sk/cF4iBbup9UBaWqzsnrBM=";
};
x86_64-darwin = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_x64.dmg";
hash = "sha256-itC6PdNdzcw5Lv/hQkT0AsTGQ8kmTwT6cipyaAynph8=";
hash = "sha256-6vm3pQPg5OKRtP6W1CNQxy4fi9niw4Y4nXjargwHxuA=";
};
x86_64-linux = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_linux_x64.AppImage";
hash = "sha256-vj9UYizRmyIK9mLNSW/qFc/QmnWNhniqJf3gG66WPb0=";
hash = "sha256-iGD/9alVwSsIhbSl9HZXdB5MQNSjn18YdgebyoizriE=";
};
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");

View File

@ -18,14 +18,14 @@
nixosTests,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "keydb";
version = "6.3.4";
src = fetchFromGitHub {
owner = "snapchat";
repo = "keydb";
rev = "v${version}";
rev = "v${finalAttrs.version}";
hash = "sha256-j6qgK6P3Fv+b6k9jwKQ5zW7XLkKbXXcmHKBCQYvwEIU=";
};
@ -94,13 +94,13 @@ stdenv.mkDerivation rec {
passthru.tests.redis = nixosTests.redis;
passthru.serverBin = "keydb-server";
meta = with lib; {
meta = {
homepage = "https://keydb.dev";
description = "A Multithreaded Fork of Redis";
license = licenses.bsd3;
platforms = platforms.all;
changelog = "https://github.com/Snapchat/KeyDB/raw/v${version}/00-RELEASENOTES";
maintainers = teams.helsinki-systems.members;
license = lib.licenses.bsd3;
platforms = lib.platforms.all;
changelog = "https://github.com/Snapchat/KeyDB/raw/v${finalAttrs.version}/00-RELEASENOTES";
maintainers = lib.teams.helsinki-systems.members;
mainProgram = "keydb-cli";
};
}
})

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "kor";
version = "0.3.7";
version = "0.3.8";
src = fetchFromGitHub {
owner = "yonahd";
repo = pname;
rev = "v${version}";
hash = "sha256-wjq4IkF3agmculIH+WfBAGd0ciJBX9aj4EsmUvje9Aw=";
hash = "sha256-4lXLmh8BP7h6k8Tt/oklvv7fmDvmdKQP0P7gaCM2TK0=";
};
vendorHash = "sha256-UN3Zf8eo6kMNNzkGsnqyDVMgE2QXRn4wg+XULu/uBGE=";
vendorHash = "sha256-ScV12Xb+tVluXC2Jat44atkKXZIzIcUdZ+lyD1Y3dIM=";
preCheck = ''
HOME=$(mktemp -d)

View File

@ -8,15 +8,17 @@
, zug
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "lager";
version = "0.1.0";
src = fetchFromGitHub {
owner = "arximboldi";
repo = "lager";
rev = "v${version}";
rev = "v${finalAttrs.version}";
hash = "sha256-KTHrVV/186l4klwlcfDwFsKVoOVqWCUPzHnIbWuatbg=";
};
buildInputs = [
boost
immer
@ -28,10 +30,11 @@ stdenv.mkDerivation rec {
cmakeFlags = [
"-Dlager_BUILD_EXAMPLES=OFF"
];
meta = with lib; {
homepage = "https://github.com/arximboldi/lager";
meta = {
homepage = "https://github.com/arximboldi/lager";
description = "C++ library for value-oriented design using the unidirectional data-flow architecture Redux for C++";
license = licenses.mit;
maintainers = with maintainers; [ nek0 ];
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ nek0 ];
};
}
})

View File

@ -10,7 +10,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "live555";
version = "2024.04.14";
version = "2024.04.19";
src = fetchurl {
urls = [
@ -19,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-mR5rKGKtTwMq3p+xAAGdo0DNNnIe4KHladLPlnhVhNY=";
hash = "sha256-5sLr/sZ3LB83CEJx5OUjarx/Dh/ESJ+YaXY0QCAN3MI=";
};
patches = [
@ -54,8 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
config.linux
''
# condition from icu/base.nix
+ lib.optionalString (stdenv.hostPlatform.libc == "glibc"
|| stdenv.hostPlatform.libc == "musl") ''
+ lib.optionalString (lib.elem stdenv.hostPlatform.libc [ "glibc" "musl" ]) ''
substituteInPlace liveMedia/include/Locale.hh \
--replace '<xlocale.h>' '<locale.h>'
'';

View File

@ -6,11 +6,11 @@
appimageTools.wrapType2 rec {
pname = "lunar-client";
version = "3.2.5";
version = "3.2.6";
src = fetchurl {
url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}.AppImage";
hash = "sha512-flve07l13w4aRPPMhbf1Nbaxy6i1ljxx2J/9vg4WLQK4k09PVJKGn6b8nxe5d90LCYMhwEHfEvrHFB/tNFKJ9w==";
hash = "sha512-JZ6fXUDurLxe6acRRXTHot2GTUqMaSwy7N5K4cmFmOn4s8W2aXek+o8med3ytaxoTd6FmibXmCxrjnOVMHBRGA==";
};
extraInstallCommands =

View File

@ -7,18 +7,18 @@
let
pname = "pinact";
version = "0.1.2";
version = "0.1.3";
src = fetchFromGitHub {
owner = "suzuki-shunsuke";
repo = "pinact";
rev = "v${version}";
hash = "sha256-OQo21RHk0c+eARKrA2qB4NAWWanb94DOZm4b9lqDz8o=";
hash = "sha256-ifUnF7u4/vMy89xb7sk4tPKQYdFBYAIHc0GYVBMWvWM=";
};
in
buildGoModule {
inherit pname version src;
vendorHash = "sha256-g7rdIE+w/pn70i8fOmAo/QGjpla3AUWm7a9MOhNmrgE=";
vendorHash = "sha256-ht4eV62w9AWKYahrd83LmBI+Tu2Q64YA3t90N4BR1e4=";
doCheck = true;

View File

@ -7,7 +7,7 @@
testers,
}:
bundlerApp {
(bundlerApp {
pname = "bolt";
gemdir = ./.;
@ -42,4 +42,6 @@ bundlerApp {
maintainers = with lib.maintainers; [ uvnikita anthonyroussel ];
platforms = lib.platforms.unix;
};
}
}).overrideAttrs (old: {
name = "puppet-bolt-${(import ./gemset.nix).bolt.version}";
})

View File

@ -1,24 +1,39 @@
{ lib, stdenv, fetchurl, bison, mpi, flex, zlib}:
{
lib,
stdenv,
fetchFromGitLab,
bison,
mpi,
flex,
zlib,
}:
stdenv.mkDerivation rec {
version = "6.1.1";
stdenv.mkDerivation (finalAttrs: {
pname = "scotch";
src_name = "scotch_${version}";
version = "6.1.1";
buildInputs = [ bison mpi flex zlib ];
buildInputs = [
bison
mpi
flex
zlib
];
src = fetchurl {
url = "https://gforge.inria.fr/frs/download.php/file/34618/${src_name}.tar.gz";
sha256 = "sha256-OQUvWf9HSkppzvwlzzyvhClACIneugEO5kA8oYj4sxE=";
src = fetchFromGitLab {
domain = "gitlab.inria.fr";
owner = "scotch";
repo = "scotch";
rev = "v${finalAttrs.version}";
hash = "sha256-GUV6s+P56OAJq9AMe+LZOMPICQO/RuIi+hJAecmO5Wc=";
};
sourceRoot = "${src_name}/src";
preConfigure = ''
cd src
ln -s Make.inc/Makefile.inc.x86-64_pc_linux2 Makefile.inc
'';
buildFlags = [ "scotch ptscotch" ];
installFlags = [ "prefix=\${out}" ];
meta = {
@ -32,5 +47,4 @@ stdenv.mkDerivation rec {
maintainers = [ lib.maintainers.bzizou ];
platforms = lib.platforms.linux;
};
}
})

View File

@ -0,0 +1,51 @@
{
lib,
fetchFromGitHub,
python3,
}:
python3.pkgs.buildPythonApplication rec {
pname = "shell-gpt";
version = "1.4.3";
pyproject = true;
src = fetchFromGitHub {
owner = "TheR1D";
repo = "shell_gpt";
rev = "refs/tags/${version}";
hash = "sha256-T37L4U1kOrrIQJ2znq2UupD3pyit9xd8rAsEwUvGiQ8=";
};
pythonRelaxDeps = [
"requests"
"rich"
"distro"
"typer"
"instructor"
];
build-system = with python3.pkgs; [ hatchling ];
nativeBuildInputs = with python3.pkgs; [ pythonRelaxDepsHook ];
propagatedBuildInputs = with python3.pkgs; [
click
distro
instructor
openai
rich
typer
];
# Tests want to read the OpenAI API key from stdin
doCheck = false;
meta = with lib; {
description = "Access ChatGPT from your terminal";
homepage = "https://github.com/TheR1D/shell_gpt";
changelog = "https://github.com/TheR1D/shell_gpt/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ mglolenstine ];
mainProgram = "sgpt";
};
}

View File

@ -6,11 +6,11 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "silverbullet";
version = "0.7.6";
version = "0.7.7";
src = fetchurl {
url = "https://github.com/silverbulletmd/silverbullet/releases/download/${finalAttrs.version}/silverbullet.js";
hash = "sha256-bnD9iZVRIg6otgDi4yNWySqmJsJJIVnjFGsTrGCMw/o=";
hash = "sha256-EhHPysliRi1bv/skS4+ljQW6qFsijmSup1+7/fVfFdg=";
};
dontUnpack = true;

View File

@ -59,14 +59,14 @@ let
];
py = python3.withPackages python-deps;
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "syslog-ng";
version = "4.7.1";
src = fetchFromGitHub {
owner = "syslog-ng";
repo = "syslog-ng";
rev = "syslog-ng-${version}";
rev = "syslog-ng-${finalAttrs.version}";
hash = "sha256-runFMUxQv7B023I38QfGqn89ZbzA5vMXHOOkYwMxArI=";
fetchSubmodules = true;
};
@ -117,11 +117,11 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
meta = with lib; {
meta = {
homepage = "https://www.syslog-ng.com";
description = "Next-generation syslogd with advanced networking and filtering capabilities";
license = with licenses; [ gpl2Plus lgpl21Plus ];
maintainers = with maintainers; [ vifino ];
platforms = platforms.linux;
license = with lib.licenses; [ gpl2Plus lgpl21Plus ];
maintainers = with lib.maintainers; [ vifino ];
platforms = lib.platforms.linux;
};
}
})

View File

@ -27,11 +27,11 @@ let
in
stdenv.mkDerivation rec {
pname = "unciv";
version = "4.11.8";
version = "4.11.9";
src = fetchurl {
url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
hash = "sha256-iNcz6kfzlr1f1kC6xo1htyT46JjgEMeo21JIfOBxeQw=";
hash = "sha256-fAosJmEAQGA1QAyabcmqwuDeqUM+t3mNIfSOrAwc5hg=";
};
dontUnpack = true;

View File

@ -2,12 +2,12 @@
stdenvNoCC.mkDerivation rec {
pname = "cascadia-code";
version = "2111.01";
version = "2404.23";
src = fetchzip {
url = "https://github.com/microsoft/cascadia-code/releases/download/v${version}/CascadiaCode-${version}.zip";
stripRoot = false;
hash = "sha256-v9Vm5X80wEvorMhIlRw3MnyuSOdBpTl9ibBPpmm1vig=";
hash = "sha256-Z2AzBeNiM6mc1OHCJRv0rUvH8WRygyQGSOvwbAISYHE=";
};
installPhase = ''
@ -24,7 +24,7 @@ stdenvNoCC.mkDerivation rec {
homepage = "https://github.com/microsoft/cascadia-code";
changelog = "https://github.com/microsoft/cascadia-code/raw/v${version}/FONTLOG.txt";
license = licenses.ofl;
maintainers = [ ];
maintainers = with maintainers; [ ryanccn ];
platforms = platforms.all;
};
}

View File

@ -274,7 +274,7 @@ in stdenv.mkDerivation (finalAttrs: {
# Platforms with host tools from
# https://doc.rust-lang.org/nightly/rustc/platform-support.html
"x86_64-darwin" "i686-darwin" "aarch64-darwin"
"i686-freebsd13" "x86_64-freebsd13"
"i686-freebsd" "x86_64-freebsd"
"x86_64-solaris"
"aarch64-linux" "armv6l-linux" "armv7l-linux" "i686-linux"
"loongarch64-linux" "powerpc64-linux" "powerpc64le-linux"

View File

@ -19,12 +19,12 @@
let
versionMap = {
"2.4.2" = {
sha256 = "sha256-/APLUtEqr+h1nmMoRQogG73fibFwcaToPznoC0Pd7w8=";
};
"2.4.3" = {
sha256 = "sha256-icmq35K4KtPHSj1PFYoDiJPeoOTzlNyvyWNYPDC3w/I=";
};
"2.4.4" = {
sha256 = "sha256-ipMmJ7Px2OlhjxzcIl7csAJFaARpfiyH0UBoN2ShBtU=";
};
};
# Collection of pre-built SBCL binaries for platforms that need them for
# bootstrapping. Ideally these are to be avoided. If ECL (or any other

View File

@ -65,6 +65,6 @@ useStdenv.mkDerivation {
homepage = "https://codeberg.org/ngn/k";
license = lib.licenses.agpl3Only;
maintainers = [ lib.maintainers.sternenseemann ];
platforms = [ "x86_64-linux" "x86_64-freebsd13" ];
platforms = [ "x86_64-linux" "x86_64-freebsd" ];
};
}

View File

@ -98,6 +98,7 @@ stdenv.mkDerivation (finalAttrs: {
# fails with Out of Memory Error
"test/sql/copy/parquet/batched_write/batch_memory_usage.test"
# wants http connection
"test/sql/copy/csv/recursive_query_csv.test"
"test/sql/copy/csv/test_mixed_lines.test"
] ++ lib.optionals stdenv.isAarch64 [
"test/sql/aggregate/aggregates/test_kurtosis.test"

View File

@ -1,5 +1,5 @@
{
"version": "0.10.1",
"rev": "4a89d97db8a5a23a15f3025c8d2d2885337c2637",
"hash": "sha256-/j/DaUzsfACI5Izr4lblkYmIEmKsOXr760UTwC0l/qg="
"version": "0.10.2",
"rev": "1601d94f94a7e0d2eb805a94803eb1e3afbbe4ed",
"hash": "sha256-CTZ90KJvLPQqu1FYciEWsxJbvybCjeBsi/12bkfVd9Q="
}

View File

@ -1,5 +1,5 @@
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, fontconfig, autoreconfHook, DiskArbitration
, withJava ? false, jdk, ant
, withJava ? false, jdk17, ant, stripJavaArchivesHook
, withAACS ? false, libaacs
, withBDplus ? false, libbdplus
, withMetadata ? true, libxml2
@ -19,23 +19,18 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ pkg-config autoreconfHook ]
++ lib.optionals withJava [ ant ];
++ lib.optionals withJava [ jdk17 ant stripJavaArchivesHook ];
buildInputs = [ fontconfig ]
++ lib.optional withJava jdk
++ lib.optional withMetadata libxml2
++ lib.optional withFonts freetype
++ lib.optional stdenv.isDarwin DiskArbitration;
propagatedBuildInputs = lib.optional withAACS libaacs;
NIX_LDFLAGS = lib.optionalString withAACS "-L${libaacs}/lib -laacs"
env.NIX_LDFLAGS = lib.optionalString withAACS "-L${libaacs}/lib -laacs"
+ lib.optionalString withBDplus " -L${libbdplus}/lib -lbdplus";
preConfigure = lib.optionalString withJava ''
export JDK_HOME="${jdk.home}"
'';
configureFlags = lib.optional (!withJava) "--disable-bdjava-jar"
++ lib.optional (!withMetadata) "--without-libxml2"
++ lib.optional (!withFonts) "--without-freetype";

View File

@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
description = "A portable and efficient API to determine the call-chain of a program";
maintainers = with maintainers; [ orivej ];
# https://github.com/libunwind/libunwind#libunwind
platforms = [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-freebsd13" "i686-linux" "loongarch64-linux" "mips64el-linux" "mipsel-linux" "powerpc64-linux" "powerpc64le-linux" "riscv64-linux" "s390x-linux" "x86_64-freebsd13" "x86_64-linux" "x86_64-solaris" ];
platforms = [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-freebsd" "i686-linux" "loongarch64-linux" "mips64el-linux" "mipsel-linux" "powerpc64-linux" "powerpc64le-linux" "riscv64-linux" "s390x-linux" "x86_64-freebsd" "x86_64-linux" "x86_64-solaris" ];
license = licenses.mit;
};
}

View File

@ -12,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "python-qt";
version = "3.5.1";
version = "3.5.2";
src = fetchFromGitHub {
owner = "MeVisLab";
repo = "pythonqt";
rev = "v${finalAttrs.version}";
hash = "sha256-IED6UFk8UTle7g/yPC0nXOEgJwrs6sB/Dk3OTyVgHPo=";
hash = "sha256-Mpi1pAPS/UuzaBK7I1kI0HlS3dphcKiVXIPuJwdEDXM=";
};
nativeBuildInputs = [

View File

@ -109,6 +109,8 @@ stdenv.mkDerivation rec {
"--disable-monolithic"
"--enable-mediactrl"
"--with-nanosvg"
"--disable-rpath"
"--enable-repro-build"
(if compat28 then "--enable-compat28" else "--disable-compat28")
(if compat30 then "--enable-compat30" else "--disable-compat30")
] ++ lib.optional unicode "--enable-unicode"

View File

@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "aiortm";
version = "0.8.12";
version = "0.8.13";
pyproject = true;
disabled = pythonOlder "3.9";
@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "MartinHjelmare";
repo = "aiortm";
rev = "refs/tags/v${version}";
hash = "sha256-X7MqBDmVfLy5ajqhFcvA8oCaoxy3zLusXkB659qWR5E=";
hash = "sha256-JoolmxZFN0UG8wAMxMAYL8APFjpEcMECirCKUA/UBlY=";
};
postPatch = ''

View File

@ -1,25 +1,27 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, hatchling
, anyio
, distro
, dirty-equals
, httpx
, google-auth
, sniffio
, pydantic
, pytest-asyncio
, respx
, tokenizers
, typing-extensions
, pytestCheckHook
, pythonOlder
{
lib,
anyio,
buildPythonPackage,
dirty-equals,
distro,
fetchFromGitHub,
google-auth,
hatch-fancy-pypi-readme,
hatchling,
httpx,
pydantic,
pytest-asyncio,
pytestCheckHook,
pythonOlder,
respx,
sniffio,
tokenizers,
typing-extensions,
}:
buildPythonPackage rec {
pname = "anthropic";
version = "0.19.1";
version = "0.25.6";
pyproject = true;
disabled = pythonOlder "3.8";
@ -28,14 +30,15 @@ buildPythonPackage rec {
owner = "anthropics";
repo = "anthropic-sdk-python";
rev = "refs/tags/v${version}";
hash = "sha256-D9asbwZ9puOuIK6w7cWJ2HmC3JYjamUZPOxVKWq+Va4=";
hash = "sha256-83TufOgu6W9UvoCEUgDiw6gXDAdwyIKEALVF0hjj6wk=";
};
nativeBuildInputs = [
build-system = [
hatchling
hatch-fancy-pypi-readme
];
propagatedBuildInputs = [
dependencies = [
anyio
distro
httpx
@ -56,13 +59,21 @@ buildPythonPackage rec {
respx
];
pythonImportsCheck = [ "anthropic" ];
disabledTests = [
# Test require network access
"test_copy_build_request"
];
disabledTestPaths = [
# require network access
# Test require network access
"tests/api_resources"
];
pythonImportsCheck = [
"anthropic"
pytestFlagsArray = [
"-W"
"ignore::DeprecationWarning"
];
meta = with lib; {

View File

@ -366,7 +366,7 @@
buildPythonPackage rec {
pname = "boto3-stubs";
version = "1.34.94";
version = "1.34.95";
pyproject = true;
disabled = pythonOlder "3.7";
@ -374,7 +374,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "boto3_stubs";
inherit version;
hash = "sha256-ZyKwsCQpPrN3E7jsNdAuLELEi0NhWoVExAKXLbBTQS0=";
hash = "sha256-QSAGsn7nB+m1GghLAqySsUOvijtWcnWCr+wqds6Tw7Y=";
};
build-system = [ setuptools ];

View File

@ -6,6 +6,7 @@
, packaging
, setuptools
, dbus-next
, rubicon-objc
}:
buildPythonPackage rec {
@ -30,6 +31,8 @@ buildPythonPackage rec {
packaging
] ++ lib.optionals stdenv.isLinux [
dbus-next
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
rubicon-objc
];
# no tests available, do the imports check instead
@ -45,6 +48,5 @@ buildPythonPackage rec {
changelog = "https://github.com/samschott/desktop-notifier/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ sfrijters ];
platforms = platforms.linux;
};
}

View File

@ -6,7 +6,9 @@
, duckdb
, hypothesis
, ipython-sql
, pandas
, poetry-core
, pytest-remotedata
, snapshottest
, sqlalchemy
, typing-extensions
@ -14,20 +16,18 @@
buildPythonPackage rec {
pname = "duckdb-engine";
version = "0.11.2";
version = "0.12.0";
pyproject = true;
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
repo = "duckdb_engine";
owner = "Mause";
rev = "refs/tags/v${version}";
hash = "sha256-yW1gaZ0B6JNX98KzAxf146goniNmWnkMUmJRrScot1w=";
hash = "sha256-cm0vbz0VZ2Ws6FDWJO16q4KZW2obs0CBNrfY9jmR+6A=";
};
patches = [ ./remote_data.patch ];
nativeBuildInputs = [
poetry-core
];
@ -42,24 +42,27 @@ buildPythonPackage rec {
'';
disabledTests = [
# this test tries to download the httpfs extension
"test_preload_extension"
"test_motherduck"
# test should be skipped based on sqlalchemy version but isn't and fails
"test_commit"
# rowcount no longer generates an attribute error.
"test_rowcount"
];
nativeCheckInputs = [
pytestCheckHook
];
checkInputs = [
hypothesis
ipython-sql
# TODO(cpcloud): include pandas here when it supports sqlalchemy 2.0
pandas
pytest-remotedata
snapshottest
typing-extensions
];
pytestFlagsArray = [
"-m" "'not remote_data'"
];
pythonImportsCheck = [
"duckdb_engine"
];

View File

@ -1,24 +0,0 @@
diff --git a/duckdb_engine/tests/test_basic.py b/duckdb_engine/tests/test_basic.py
index 302636f..ed20f12 100644
--- a/duckdb_engine/tests/test_basic.py
+++ b/duckdb_engine/tests/test_basic.py
@@ -183,7 +183,6 @@ def test_get_views(engine: Engine) -> None:
@mark.skipif(os.uname().machine == "aarch64", reason="not supported on aarch64")
-@mark.remote_data
def test_preload_extension() -> None:
duckdb.default_connection.execute("INSTALL httpfs")
engine = create_engine(
diff --git a/duckdb_engine/tests/test_integration.py b/duckdb_engine/tests/test_integration.py
index 349c976..bf3dbaa 100644
--- a/duckdb_engine/tests/test_integration.py
+++ b/duckdb_engine/tests/test_integration.py
@@ -24,7 +24,6 @@ def test_integration(engine: Engine) -> None:
conn.execute(text("select * from test_df"))
-@mark.remote_data
@mark.skipif(
"dev" in duckdb.__version__, reason="md extension not available for dev builds" # type: ignore[attr-defined]
)

View File

@ -25,7 +25,7 @@ buildPythonPackage rec {
# 2. default to extension autoload & autoinstall disabled
substituteInPlace setup.py \
--replace-fail "ParallelCompile()" 'ParallelCompile("NIX_BUILD_CORES")' \
--replace-fail "define_macros.extend([('DUCKDB_EXTENSION_AUTOLOAD_DEFAULT', '1'), ('DUCKDB_EXTENSION_AUTOINSTALL_DEFAULT', '1')])" ""
--replace-fail "define_macros.extend([('DUCKDB_EXTENSION_AUTOLOAD_DEFAULT', '1'), ('DUCKDB_EXTENSION_AUTOINSTALL_DEFAULT', '1')])" "pass"
'';
env = {
@ -34,8 +34,6 @@ buildPythonPackage rec {
OVERRIDE_GIT_DESCRIBE="v${version}-0-g${rev}";
};
dontPretendSetuptoolsSCMVersion = true;
nativeBuildInputs = [
pybind11
setuptools-scm

View File

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "flake8-bugbear";
version = "24.4.21";
version = "24.4.26";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "PyCQA";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-6jKVKVJuNpdKLzl2dTkr1cvArGWCWvuhyjww05r9W/c=";
hash = "sha256-jJ4/l2nzjqJDCe1pFrdkMvB5WJ+GJarOHgGZSzCS6nc=";
};
propagatedBuildInputs = [

View File

@ -33,6 +33,6 @@ buildPythonPackage rec {
homepage = "https://github.com/BYU-PRISM/GEKKO";
changelog = "https://github.com/BYU-PRISM/GEKKO/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ ayes-web ];
maintainers = with maintainers; [ BatteredBunny ];
};
}

View File

@ -2,20 +2,22 @@
, stdenv
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
, pythonOlder
, setuptools
, fiona
, packaging
, pandas
, pyproj
, pytestCheckHook
, pythonOlder
, rtree
, shapely
}:
buildPythonPackage rec {
pname = "geopandas";
version = "0.14.3";
format = "setuptools";
version = "0.14.4";
pyproject = true;
disabled = pythonOlder "3.9";
@ -23,9 +25,13 @@ buildPythonPackage rec {
owner = "geopandas";
repo = "geopandas";
rev = "refs/tags/v${version}";
hash = "sha256-qAINoqnCVfpg2mQhnu0qT/5EjUB+9a3//H8vJJnyj6A=";
hash = "sha256-FBhPcae8bnNnsfr14I1p22VhoOf9USF9DAcrAqx+zso=";
};
build-system = [
setuptools
];
propagatedBuildInputs = [
fiona
packaging

View File

@ -1,24 +1,50 @@
{ lib
, python3
, fetchPypi
, buildPythonPackage
{
lib,
aiohttp,
anthropic,
buildPythonPackage,
docstring-parser,
fetchFromGitHub,
openai,
poetry-core,
pydantic,
pytest-examples,
pytest-asyncio,
pytestCheckHook,
fastapi,
diskcache,
redis,
pythonOlder,
pythonRelaxDepsHook,
rich,
tenacity,
typer,
}:
buildPythonPackage rec {
pname = "instructor";
version = "0.6.8";
version = "1.2.3";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-4mHXPes1NdYu53XEN7gq626cKy9ju1M7U6n6akfbuVo=";
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "jxnl";
repo = "instructor";
rev = "refs/tags/${version}";
hash = "sha256-LmorlFKIG7iPAK4pDbQqjxjiwB1md3u52B4u5WlqqTk=";
};
nativeBuildInputs = [
python3.pkgs.poetry-core
pythonRelaxDeps = [
"docstring-parser"
"pydantic"
];
propagatedBuildInputs = with python3.pkgs; [
build-system = [ poetry-core ];
nativeBuildInputs = [ pythonRelaxDepsHook ];
dependencies = [
aiohttp
docstring-parser
openai
@ -28,8 +54,31 @@ buildPythonPackage rec {
typer
];
nativeCheckInputs = [
anthropic
fastapi
redis
diskcache
pytest-asyncio
pytest-examples
pytestCheckHook
];
pythonImportsCheck = [ "instructor" ];
disabledTests = [
# Tests require OpenAI API key
"test_partial"
"successfully"
];
disabledTestPaths = [
# Tests require OpenAI API key
"tests/test_distil.py"
"tests/test_new_client.py"
"tests/llm/"
];
meta = with lib; {
description = "Structured outputs for llm";
homepage = "https://github.com/jxnl/instructor";

View File

@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "langchain-community";
version = "0.0.33";
version = "0.0.34";
pyproject = true;
disabled = pythonOlder "3.8";
@ -26,7 +26,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "langchain_community";
inherit version;
hash = "sha256-u1bbwe8RygnyWEaOETaHga3akhnhRAc+MM2mlJbTQrI=";
hash = "sha256-lumoB9m0d3gg31qXCZb2vzrVYyE3vw9NhjvYMr3rKw8=";
};
build-system = [ poetry-core ];

View File

@ -158,6 +158,8 @@ buildPythonPackage rec {
# AssertionErrors
"test_callback_handlers"
"test_generic_fake_chat_model"
# Test is outdated
"test_serializable_mapping"
];
pythonImportsCheck = [ "langchain" ];

View File

@ -1,12 +1,14 @@
{
lib,
stdenv,
anthropic,
attr,
buildPythonPackage,
fastapi,
fetchFromGitHub,
freezegun,
httpx,
instructor,
orjson,
poetry-core,
pydantic,
@ -20,7 +22,7 @@
buildPythonPackage rec {
pname = "langsmith";
version = "0.1.48";
version = "0.1.51";
pyproject = true;
disabled = pythonOlder "3.8";
@ -29,7 +31,7 @@ buildPythonPackage rec {
owner = "langchain-ai";
repo = "langsmith-sdk";
rev = "refs/tags/v${version}";
hash = "sha256-n24rlulncJHNyHFqszEbALGfnT7+tTGjLjwR7Fw1smI=";
hash = "sha256-31DC5SqI2V7d3iC5LlZgU5xB0Lh6GrBFFF3A+HEbUKg=";
};
sourceRoot = "${src.name}/python";
@ -48,9 +50,11 @@ buildPythonPackage rec {
];
nativeCheckInputs = [
anthropic
fastapi
freezegun
httpx
instructor
pytest-asyncio
pytestCheckHook
uvicorn
@ -81,6 +85,7 @@ buildPythonPackage rec {
"tests/unit_tests/test_client.py"
# Tests require a Langsmith API key
"tests/evaluation/test_evaluation.py"
"tests/external/test_instructor_evals.py"
];
pythonImportsCheck = [ "langsmith" ];

View File

@ -1,4 +1,5 @@
{ lib
, stdenv
, buildPythonPackage
, fetchFromGitHub
, makePythonPath
@ -17,6 +18,7 @@
, pyro5
, requests
, rich
, rubicon-objc
, setuptools
, survey
, typing-extensions
@ -59,6 +61,8 @@ buildPythonPackage rec {
typing-extensions
watchdog
xattr
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
rubicon-objc
];
makeWrapperArgs = [
@ -71,6 +75,9 @@ buildPythonPackage rec {
pytestCheckHook
];
# ModuleNotFoundError: No module named '_watchdog_fsevents'
doCheck = !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64);
preCheck = ''
export HOME=$(mktemp -d)
'';
@ -90,6 +97,19 @@ buildPythonPackage rec {
"test_locking_multiprocess"
# OSError: [Errno 95] Operation not supported
"test_move_preserves_xattrs"
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
# maetral daemon does not start but worked in real environment
"test_catching_non_ignored_events"
"test_connection"
"test_event_handler"
"test_fs_ignore_tree_creation"
"test_lifecycle"
"test_notify_level"
"test_notify_snooze"
"test_receiving_events"
"test_remote_exceptions"
"test_start_already_running"
"test_stop"
];
pythonImportsCheck = [
@ -104,7 +124,6 @@ buildPythonPackage rec {
homepage = "https://maestral.app";
changelog = "https://github.com/samschott/maestral/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ peterhoeg sfrijters ];
platforms = platforms.unix;
maintainers = with maintainers; [ natsukium peterhoeg sfrijters ];
};
}

View File

@ -1,11 +1,43 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, pytest-xdist
, pytestCheckHook
, pythonOlder
, pythonRelaxDepsHook
, cairo
, ffmpeg
, texliveInfraOnly
, python3
, click
, click-default-group
, cloup
, colour
, grpcio
, grpcio-tools
, importlib-metadata
, isosurfaces
, jupyterlab
, manimpango
, mapbox-earcut
, moderngl
, moderngl-window
, networkx
, numpy
, pillow
, pycairo
, pydub
, pygments
, rich
, scipy
, screeninfo
, skia-pathops
, srt
, svgelements
, tqdm
, watchdog
}:
let
@ -42,13 +74,11 @@ let
babel-english gnu-freefont mathastext cbfonts-fd
]);
python = python3;
in python.pkgs.buildPythonApplication rec {
in buildPythonPackage rec {
pname = "manim";
pyproject = true;
version = "0.18.1";
disabled = python3.pythonOlder "3.9";
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "ManimCommunity";
@ -57,7 +87,7 @@ in python.pkgs.buildPythonApplication rec {
hash = "sha256-o+Wl3NMK6yopcsRVFtZuUE9c1GABa5d8rbQNHDJ4OiQ=";
};
nativeBuildInputs = with python.pkgs; [
nativeBuildInputs = [
poetry-core
pythonRelaxDepsHook
];
@ -81,7 +111,7 @@ in python.pkgs.buildPythonApplication rec {
buildInputs = [ cairo ];
propagatedBuildInputs = with python.pkgs; [
propagatedBuildInputs = [
click
click-default-group
cloup
@ -101,7 +131,6 @@ in python.pkgs.buildPythonApplication rec {
pycairo
pydub
pygments
pysrt
rich
scipy
screeninfo
@ -122,10 +151,9 @@ in python.pkgs.buildPythonApplication rec {
nativeCheckInputs = [
ffmpeg
manim-tinytex
] ++ (with python.pkgs; [
pytest-xdist
pytestCheckHook
]);
];
# about 55 of ~600 tests failing mostly due to demand for display
disabledTests = import ./failing_tests.nix;

View File

@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "mashumaro";
version = "3.12";
version = "3.13";
pyproject = true;
disabled = pythonOlder "3.8";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "Fatal1ty";
repo = "mashumaro";
rev = "refs/tags/v${version}";
hash = "sha256-sSwj/8j+vPX7M8l2h4bPs8WnjzIN2WIpyd7/NcGaExg=";
hash = "sha256-ETK1rHKlByQkqibejiZmXF6c4eIiMazLa8XY2OH30q4=";
};
nativeBuildInputs = [

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