Merge staging-next into staging
This commit is contained in:
commit
dfdd2255bb
1
.github/workflows/check-nix-format.yml
vendored
1
.github/workflows/check-nix-format.yml
vendored
@ -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
|
||||
|
@ -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"
|
||||
|
@ -328,7 +328,7 @@ rec {
|
||||
# BSDs
|
||||
|
||||
x86_64-freebsd = {
|
||||
config = "x86_64-unknown-freebsd13";
|
||||
config = "x86_64-unknown-freebsd";
|
||||
useLLVM = true;
|
||||
};
|
||||
|
||||
|
@ -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 = { }; };
|
||||
|
@ -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 ++ ... */);
|
||||
|
@ -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";
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
'';
|
||||
|
@ -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).
|
||||
|
@ -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 ]
|
||||
)
|
||||
}'';
|
||||
|
||||
|
@ -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 ];
|
||||
|
@ -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" ];
|
||||
|
||||
|
@ -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
|
||||
|
@ -218,7 +218,7 @@ let
|
||||
];
|
||||
in
|
||||
|
||||
toVimPlugin (runCommand "vimplugin-treesitter-grammar-${name}"
|
||||
toVimPlugin (runCommand "treesitter-grammar-${name}"
|
||||
{
|
||||
meta = {
|
||||
platforms = lib.platforms.all;
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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 \
|
||||
|
@ -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";
|
||||
|
@ -1,6 +1,4 @@
|
||||
{ lib
|
||||
, vscode-utils
|
||||
}:
|
||||
{ lib, vscode-utils }:
|
||||
|
||||
vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
|
@ -1,4 +1,8 @@
|
||||
{ lib, vscode-utils, terraform-ls }:
|
||||
{
|
||||
lib,
|
||||
vscode-utils,
|
||||
terraform-ls,
|
||||
}:
|
||||
vscode-utils.buildVscodeMarketplaceExtension rec {
|
||||
mktplcRef = {
|
||||
name = "terraform";
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -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"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -1,4 +1,9 @@
|
||||
{ lib, vscode-utils, jq, moreutils }:
|
||||
{
|
||||
lib,
|
||||
vscode-utils,
|
||||
jq,
|
||||
moreutils,
|
||||
}:
|
||||
|
||||
vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
|
@ -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.";
|
||||
|
@ -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"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -1,4 +1,8 @@
|
||||
{ lib, vscode-utils, xsel }:
|
||||
{
|
||||
lib,
|
||||
vscode-utils,
|
||||
xsel,
|
||||
}:
|
||||
|
||||
vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, vscode-utils
|
||||
, lua-language-server
|
||||
{
|
||||
lib,
|
||||
vscode-utils,
|
||||
lua-language-server,
|
||||
}:
|
||||
|
||||
vscode-utils.buildVscodeMarketplaceExtension {
|
||||
|
@ -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}
|
||||
''
|
||||
)
|
||||
)
|
||||
|
@ -1,5 +1,5 @@
|
||||
with import <nixpkgs>{};
|
||||
callPackage (import ./updateSettings.nix) {} {
|
||||
with import <nixpkgs> { };
|
||||
callPackage (import ./updateSettings.nix) { } {
|
||||
settings = {
|
||||
a = "fdsdf";
|
||||
};
|
||||
|
@ -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.
|
||||
|
@ -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; });
|
||||
})
|
||||
|
@ -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
|
||||
;
|
||||
}
|
||||
|
@ -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
|
||||
];
|
||||
}
|
||||
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
|
@ -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}"
|
||||
} "$@"
|
||||
''
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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" ];
|
||||
|
||||
|
@ -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=";
|
||||
}
|
||||
|
@ -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" ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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 {
|
||||
|
@ -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 = ''
|
||||
|
@ -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 { };
|
||||
|
32
pkgs/applications/video/mpv/scripts/mpv-slicing.nix
Normal file
32
pkgs/applications/video/mpv/scripts/mpv-slicing.nix
Normal 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 ];
|
||||
};
|
||||
}
|
40
pkgs/applications/video/mpv/scripts/videoclip.nix
Normal file
40
pkgs/applications/video/mpv/scripts/videoclip.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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}";
|
||||
};
|
||||
|
||||
|
@ -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 {
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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}");
|
||||
|
||||
|
@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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)
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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>'
|
||||
'';
|
||||
|
@ -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 =
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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}";
|
||||
})
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
})
|
51
pkgs/by-name/sh/shell-gpt/package.nix
Normal file
51
pkgs/by-name/sh/shell-gpt/package.nix
Normal 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";
|
||||
};
|
||||
}
|
@ -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;
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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" ];
|
||||
};
|
||||
}
|
||||
|
@ -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"
|
||||
|
@ -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="
|
||||
}
|
||||
|
@ -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";
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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 = [
|
||||
|
@ -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"
|
||||
|
@ -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 = ''
|
||||
|
@ -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; {
|
||||
|
@ -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 ];
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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"
|
||||
];
|
||||
|
@ -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]
|
||||
)
|
@ -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
|
||||
|
@ -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 = [
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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";
|
||||
|
@ -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 ];
|
||||
|
@ -158,6 +158,8 @@ buildPythonPackage rec {
|
||||
# AssertionErrors
|
||||
"test_callback_handlers"
|
||||
"test_generic_fake_chat_model"
|
||||
# Test is outdated
|
||||
"test_serializable_mapping"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "langchain" ];
|
||||
|
@ -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" ];
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user