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/development/cuda-modules
|
||||||
pkgs/test/cuda
|
pkgs/test/cuda
|
||||||
pkgs/top-level/cuda-packages.nix
|
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_.
|
# Iterate over all environment variables beginning with NIX_FMT_PATHS_.
|
||||||
run: |
|
run: |
|
||||||
for env_var in "${!NIX_FMT_PATHS_@}"; do
|
for env_var in "${!NIX_FMT_PATHS_@}"; do
|
||||||
|
@ -13,7 +13,7 @@ let
|
|||||||
"x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin"
|
"x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin"
|
||||||
|
|
||||||
# FreeBSD
|
# FreeBSD
|
||||||
"i686-freebsd13" "x86_64-freebsd13"
|
"i686-freebsd" "x86_64-freebsd"
|
||||||
|
|
||||||
# Genode
|
# Genode
|
||||||
"aarch64-genode" "i686-genode" "x86_64-genode"
|
"aarch64-genode" "i686-genode" "x86_64-genode"
|
||||||
|
@ -328,7 +328,7 @@ rec {
|
|||||||
# BSDs
|
# BSDs
|
||||||
|
|
||||||
x86_64-freebsd = {
|
x86_64-freebsd = {
|
||||||
config = "x86_64-unknown-freebsd13";
|
config = "x86_64-unknown-freebsd";
|
||||||
useLLVM = true;
|
useLLVM = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -326,11 +326,7 @@ rec {
|
|||||||
# the normalized name for macOS.
|
# the normalized name for macOS.
|
||||||
macos = { execFormat = macho; families = { inherit darwin; }; name = "darwin"; };
|
macos = { execFormat = macho; families = { inherit darwin; }; name = "darwin"; };
|
||||||
ios = { execFormat = macho; families = { inherit darwin; }; };
|
ios = { execFormat = macho; families = { inherit darwin; }; };
|
||||||
# A tricky thing about FreeBSD is that there is no stable ABI across
|
freebsd = { execFormat = elf; families = { inherit bsd; }; name = "freebsd"; };
|
||||||
# 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; };
|
|
||||||
linux = { execFormat = elf; families = { }; };
|
linux = { execFormat = elf; families = { }; };
|
||||||
netbsd = { execFormat = elf; families = { inherit bsd; }; };
|
netbsd = { execFormat = elf; families = { inherit bsd; }; };
|
||||||
none = { execFormat = unknown; families = { }; };
|
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" ];
|
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" ];
|
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" ];
|
testmips = mseteq mips [ "mips-none" "mips64-none" "mips-linux" "mips64-linux" "mips64el-linux" "mipsel-linux" "mipsel-netbsd" ];
|
||||||
testmmix = mseteq mmix [ "mmix-mmixware" ];
|
testmmix = mseteq mmix [ "mmix-mmixware" ];
|
||||||
testpower = mseteq power [ "powerpc-netbsd" "powerpc-none" "powerpc64-linux" "powerpc64le-linux" "powerpcle-none" ];
|
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" ];
|
testriscv32 = mseteq riscv32 [ "riscv32-linux" "riscv32-netbsd" "riscv32-none" ];
|
||||||
testriscv64 = mseteq riscv64 [ "riscv64-linux" "riscv64-netbsd" "riscv64-none" ];
|
testriscv64 = mseteq riscv64 [ "riscv64-linux" "riscv64-netbsd" "riscv64-none" ];
|
||||||
tests390x = mseteq s390x [ "s390x-linux" "s390x-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" ];
|
testcygwin = mseteq cygwin [ "i686-cygwin" "x86_64-cygwin" ];
|
||||||
testdarwin = mseteq darwin [ "x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin" ];
|
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" ];
|
testgenode = mseteq genode [ "aarch64-genode" "i686-genode" "x86_64-genode" ];
|
||||||
testredox = mseteq redox [ "x86_64-redox" ];
|
testredox = mseteq redox [ "x86_64-redox" ];
|
||||||
testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */);
|
testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */);
|
||||||
|
@ -2071,12 +2071,6 @@
|
|||||||
githubId = 135230;
|
githubId = 135230;
|
||||||
name = "Aycan iRiCAN";
|
name = "Aycan iRiCAN";
|
||||||
};
|
};
|
||||||
ayes-web = {
|
|
||||||
email = "ayes2022@protonmail.com";
|
|
||||||
github = "ayes-web";
|
|
||||||
githubId = 52951851;
|
|
||||||
name = "ayes-web";
|
|
||||||
};
|
|
||||||
aynish = {
|
aynish = {
|
||||||
github = "Chickensoupwithrice";
|
github = "Chickensoupwithrice";
|
||||||
githubId = 22575913;
|
githubId = 22575913;
|
||||||
@ -2264,6 +2258,12 @@
|
|||||||
githubId = 576355;
|
githubId = 576355;
|
||||||
name = "Bas van Dijk";
|
name = "Bas van Dijk";
|
||||||
};
|
};
|
||||||
|
BatteredBunny = {
|
||||||
|
email = "ayes2022@protonmail.com";
|
||||||
|
github = "BatteredBunny";
|
||||||
|
githubId = 52951851;
|
||||||
|
name = "BatteredBunny";
|
||||||
|
};
|
||||||
BattleCh1cken = {
|
BattleCh1cken = {
|
||||||
email = "BattleCh1cken@larkov.de";
|
email = "BattleCh1cken@larkov.de";
|
||||||
github = "BattleCh1cken";
|
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.
|
- `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).
|
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.
|
- `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.
|
- `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.
|
- 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.
|
- 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.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.
|
- `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/..."`.
|
`environment.etc."pipewire/..."` and `environment.etc."wireplumber/..."`.
|
||||||
Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for PipeWire and
|
Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for PipeWire and
|
||||||
`services.pipewire.wireplumber.configPackages` for WirePlumber instead."
|
`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/)
|
Refer to upstream [upgrade instructions](https://goteleport.com/docs/management/operations/upgrading/)
|
||||||
and release notes for [v15](https://goteleport.com/docs/changelog/#1500-013124).
|
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.
|
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.
|
- `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.
|
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}
|
## 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)
|
- [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).
|
- [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).
|
- [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).
|
- [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
|
- [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).
|
- [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).
|
- [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).
|
- [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).
|
- [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`.
|
- [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).
|
- [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).
|
- [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)
|
- [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)
|
- [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`.
|
defaulting to `/etc/ssh/authorized_keys.d/%u`.
|
||||||
::: {.warning}
|
::: {.warning}
|
||||||
Users of {manpage}`pam_ssh_agent_auth(8)` must take care that the pubkeys they use (for instance with `sudo`)
|
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}
|
::: {.note}
|
||||||
Previously, all `services.openssh.authorizedKeysFiles` were trusted, including `~/.ssh/authorized_keys`,
|
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.
|
- `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.
|
- `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
|
The list in `nixos/modules/virtualisation/amazon-ec2-amis.nix` will stop
|
||||||
being updated and will be removed in the future.
|
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
|
not declarative and is broken with newer postgresql versions. Consider using
|
||||||
[](#opt-services.postgresql.ensureUsers._.ensureDBOwnership)
|
[](#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.
|
- `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}`
|
- `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.
|
- `services.neo4j.allowUpgrade` was removed and no longer has any effect. Neo4j 5 supports automatic rolling upgrades.
|
||||||
|
|
||||||
|
@ -19,7 +19,9 @@ let
|
|||||||
[Startup]
|
[Startup]
|
||||||
sync_effects_enabled = ${toPyBoolStr cfg.syncEffectsEnabled}
|
sync_effects_enabled = ${toPyBoolStr cfg.syncEffectsEnabled}
|
||||||
devices_off_on_screensaver = ${toPyBoolStr cfg.devicesOffOnScreensaver}
|
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]
|
[Statistics]
|
||||||
key_statistics = ${toPyBoolStr cfg.keyStatistics}
|
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 {
|
keyStatistics = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@ -107,6 +144,13 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
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.extraModulePackages = [ kernelPackages.openrazer ];
|
||||||
boot.kernelModules = drivers;
|
boot.kernelModules = drivers;
|
||||||
|
|
||||||
@ -127,15 +171,15 @@ in
|
|||||||
systemd.user.services.openrazer-daemon = {
|
systemd.user.services.openrazer-daemon = {
|
||||||
description = "Daemon to manage razer devices in userspace";
|
description = "Daemon to manage razer devices in userspace";
|
||||||
unitConfig.Documentation = "man:openrazer-daemon(8)";
|
unitConfig.Documentation = "man:openrazer-daemon(8)";
|
||||||
# Requires a graphical session so the daemon knows when the screensaver
|
# Requires a graphical session so the daemon knows when the screensaver
|
||||||
# starts. See the 'devicesOffOnScreensaver' option.
|
# starts. See the 'devicesOffOnScreensaver' option.
|
||||||
wantedBy = [ "graphical-session.target" ];
|
wantedBy = [ "graphical-session.target" ];
|
||||||
partOf = [ "graphical-session.target" ];
|
partOf = [ "graphical-session.target" ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "dbus";
|
Type = "dbus";
|
||||||
BusName = "org.razer";
|
BusName = "org.razer";
|
||||||
ExecStart = "${daemonExe} --foreground";
|
ExecStart = "${daemonExe} --foreground";
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,8 +1,31 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
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;
|
cfg = config.services.postgresql;
|
||||||
|
|
||||||
@ -24,7 +47,7 @@ let
|
|||||||
if true == value then "yes"
|
if true == value then "yes"
|
||||||
else if false == value then "no"
|
else if false == value then "no"
|
||||||
else if isString value then "'${lib.replaceStrings ["'"] ["''"] value}'"
|
else if isString value then "'${lib.replaceStrings ["'"] ["''"] value}'"
|
||||||
else toString value;
|
else builtins.toString value;
|
||||||
|
|
||||||
# The main PostgreSQL configuration file.
|
# 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)));
|
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 {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
assertions = map ({ name, ensureDBOwnership, ... }: {
|
assertions = map ({ name, ensureDBOwnership, ... }: {
|
||||||
assertion = ensureDBOwnership -> builtins.elem name cfg.ensureDatabases;
|
assertion = ensureDBOwnership -> elem name cfg.ensureDatabases;
|
||||||
message = ''
|
message = ''
|
||||||
For each database user defined with `services.postgresql.ensureUsers` and
|
For each database user defined with `services.postgresql.ensureUsers` and
|
||||||
`ensureDBOwnership = true;`, a database with the same name must be defined
|
`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.
|
# Wait for PostgreSQL to be ready to accept connections.
|
||||||
postStart =
|
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
|
while ! $PSQL -d postgres -c "" 2> /dev/null; do
|
||||||
if ! kill -0 "$MAINPID"; then exit 1; fi
|
if ! kill -0 "$MAINPID"; then exit 1; fi
|
||||||
|
@ -56,8 +56,8 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
devRootTokenID = mkOption {
|
devRootTokenID = mkOption {
|
||||||
type = types.str;
|
type = types.nullOr types.str;
|
||||||
default = false;
|
default = null;
|
||||||
description = ''
|
description = ''
|
||||||
Initial root token. This only applies when {option}`services.vault.dev` is true
|
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
|
# 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
|
# 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)
|
# 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
|
# We use ^~ here, so that we don't check any regexes (which could
|
||||||
# otherwise easily override this intended match accidentally).
|
# otherwise easily override this intended match accidentally).
|
||||||
|
@ -9,7 +9,7 @@ let
|
|||||||
cfg = config.virtualisation.incus;
|
cfg = config.virtualisation.incus;
|
||||||
preseedFormat = pkgs.formats.yaml { };
|
preseedFormat = pkgs.formats.yaml { };
|
||||||
|
|
||||||
serverBinPath = ''${pkgs.qemu_kvm}/libexec:${
|
serverBinPath = ''/run/wrappers/bin:${pkgs.qemu_kvm}/libexec:${
|
||||||
lib.makeBinPath (
|
lib.makeBinPath (
|
||||||
with pkgs;
|
with pkgs;
|
||||||
[
|
[
|
||||||
@ -33,30 +33,41 @@ let
|
|||||||
gzip
|
gzip
|
||||||
iproute2
|
iproute2
|
||||||
iptables
|
iptables
|
||||||
|
iw
|
||||||
kmod
|
kmod
|
||||||
|
libnvidia-container
|
||||||
|
libxfs
|
||||||
lvm2
|
lvm2
|
||||||
minio
|
minio
|
||||||
|
minio-client
|
||||||
nftables
|
nftables
|
||||||
qemu_kvm
|
|
||||||
qemu-utils
|
qemu-utils
|
||||||
|
qemu_kvm
|
||||||
rsync
|
rsync
|
||||||
|
squashfs-tools-ng
|
||||||
squashfsTools
|
squashfsTools
|
||||||
|
sshfs
|
||||||
swtpm
|
swtpm
|
||||||
systemd
|
systemd
|
||||||
thin-provisioning-tools
|
thin-provisioning-tools
|
||||||
util-linux
|
util-linux
|
||||||
virtiofsd
|
virtiofsd
|
||||||
|
xdelta
|
||||||
xz
|
xz
|
||||||
|
]
|
||||||
|
++ lib.optionals config.security.apparmor.enable [
|
||||||
|
apparmor-bin-utils
|
||||||
|
|
||||||
(writeShellScriptBin "apparmor_parser" ''
|
(writeShellScriptBin "apparmor_parser" ''
|
||||||
exec '${apparmor-parser}/bin/apparmor_parser' -I '${apparmor-profiles}/etc/apparmor.d' "$@"
|
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 [
|
++ lib.optionals config.boot.zfs.enabled [
|
||||||
config.boot.zfs.package
|
config.boot.zfs.package
|
||||||
"${config.boot.zfs.package}/lib/udev"
|
"${config.boot.zfs.package}/lib/udev"
|
||||||
]
|
]
|
||||||
++ lib.optionals config.virtualisation.vswitch.enable [ config.virtualisation.vswitch.package ]
|
|
||||||
)
|
)
|
||||||
}'';
|
}'';
|
||||||
|
|
||||||
|
@ -27,11 +27,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "bitwig-studio";
|
pname = "bitwig-studio";
|
||||||
version = "5.1.6";
|
version = "5.1.8";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
|
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 ];
|
nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook3 ];
|
||||||
|
@ -6,16 +6,16 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "lnd";
|
pname = "lnd";
|
||||||
version = "0.17.4-beta";
|
version = "0.17.5-beta";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lightningnetwork";
|
owner = "lightningnetwork";
|
||||||
repo = "lnd";
|
repo = "lnd";
|
||||||
rev = "v${version}";
|
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" ];
|
subPackages = [ "cmd/lncli" "cmd/lnd" ];
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
, gperf
|
, gperf
|
||||||
, libmicrohttpd
|
, libmicrohttpd
|
||||||
, libsodium
|
, libsodium
|
||||||
|
, lz4
|
||||||
, openssl
|
, openssl
|
||||||
, readline
|
, readline
|
||||||
, secp256k1
|
, secp256k1
|
||||||
@ -16,13 +17,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ton";
|
pname = "ton";
|
||||||
version = "2024.03";
|
version = "2024.04";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ton-blockchain";
|
owner = "ton-blockchain";
|
||||||
repo = "ton";
|
repo = "ton";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-AVg33aZAyedmNIFqQJm4Nn6luLxK4mKgnIRmNU7j2C0=";
|
hash = "sha256-hh8D4IZX6RS/RXdhVONhgetqp89kpTC2IwDQ2KHdKsE=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -38,6 +39,7 @@ stdenv.mkDerivation rec {
|
|||||||
gperf
|
gperf
|
||||||
libmicrohttpd
|
libmicrohttpd
|
||||||
libsodium
|
libsodium
|
||||||
|
lz4
|
||||||
openssl
|
openssl
|
||||||
readline
|
readline
|
||||||
secp256k1
|
secp256k1
|
||||||
|
@ -218,7 +218,7 @@ let
|
|||||||
];
|
];
|
||||||
in
|
in
|
||||||
|
|
||||||
toVimPlugin (runCommand "vimplugin-treesitter-grammar-${name}"
|
toVimPlugin (runCommand "treesitter-grammar-${name}"
|
||||||
{
|
{
|
||||||
meta = {
|
meta = {
|
||||||
platforms = lib.platforms.all;
|
platforms = lib.platforms.all;
|
||||||
|
@ -1,22 +1,21 @@
|
|||||||
{ lib
|
{ lib, vscode-utils }:
|
||||||
, vscode-utils }:
|
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (vscode-utils) buildVscodeMarketplaceExtension;
|
inherit (vscode-utils) buildVscodeMarketplaceExtension;
|
||||||
in
|
in
|
||||||
buildVscodeMarketplaceExtension {
|
buildVscodeMarketplaceExtension {
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
name = "vscode-wakatime";
|
name = "vscode-wakatime";
|
||||||
publisher = "WakaTime";
|
publisher = "WakaTime";
|
||||||
version = "18.0.5";
|
version = "18.0.5";
|
||||||
hash = "sha256-vWqGxMbxKqd4UgKK0sOKadMTDf6Y3TQxfWsc93MHjFs=";
|
hash = "sha256-vWqGxMbxKqd4UgKK0sOKadMTDf6Y3TQxfWsc93MHjFs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = ''
|
description = ''
|
||||||
Visual Studio Code plugin for automatic time tracking and metrics generated
|
Visual Studio Code plugin for automatic time tracking and metrics generated
|
||||||
from your programming activity
|
from your programming activity
|
||||||
'';
|
'';
|
||||||
license = lib.licenses.bsd3;
|
license = lib.licenses.bsd3;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,19 @@
|
|||||||
{ lib, stdenv, vscode-utils, callPackage }:
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
vscode-utils,
|
||||||
|
callPackage,
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
version = "1.50.0";
|
version = "1.50.0";
|
||||||
rescript-editor-analysis = callPackage ./rescript-editor-analysis.nix { inherit version; };
|
rescript-editor-analysis = callPackage ./rescript-editor-analysis.nix { inherit version; };
|
||||||
arch =
|
arch =
|
||||||
if stdenv.isLinux then "linux"
|
if stdenv.isLinux then
|
||||||
else if stdenv.isDarwin then "darwin"
|
"linux"
|
||||||
else throw "Unsupported system: ${stdenv.system}";
|
else if stdenv.isDarwin then
|
||||||
|
"darwin"
|
||||||
|
else
|
||||||
|
throw "Unsupported system: ${stdenv.system}";
|
||||||
analysisDir = "server/analysis_binaries/${arch}";
|
analysisDir = "server/analysis_binaries/${arch}";
|
||||||
in
|
in
|
||||||
vscode-utils.buildVscodeMarketplaceExtension rec {
|
vscode-utils.buildVscodeMarketplaceExtension rec {
|
||||||
@ -23,7 +31,10 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
|
|||||||
meta = {
|
meta = {
|
||||||
description = "The official VSCode plugin for ReScript";
|
description = "The official VSCode plugin for ReScript";
|
||||||
homepage = "https://github.com/rescript-lang/rescript-vscode";
|
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;
|
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 {
|
stdenv.mkDerivation {
|
||||||
pname = "rescript-editor-analysis";
|
pname = "rescript-editor-analysis";
|
||||||
@ -11,7 +20,11 @@ stdenv.mkDerivation {
|
|||||||
hash = "sha256-+Ht8qWwxtFWHFMiV/aoZIs2S3SxkOWgdwSKN+akp/LU=";
|
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
|
# Skip testing phases because they need to download and install node modules
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
@ -28,7 +41,10 @@ stdenv.mkDerivation {
|
|||||||
meta = {
|
meta = {
|
||||||
description = "Analysis binary for the ReScript VSCode plugin";
|
description = "Analysis binary for the ReScript VSCode plugin";
|
||||||
homepage = "https://github.com/rescript-lang/rescript-vscode";
|
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;
|
license = lib.licenses.mit;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
{ graphviz
|
{
|
||||||
, jre
|
graphviz,
|
||||||
, lib
|
jre,
|
||||||
, makeWrapper
|
lib,
|
||||||
, vscode-utils
|
makeWrapper,
|
||||||
|
vscode-utils,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
vscode-utils.buildVscodeMarketplaceExtension rec {
|
vscode-utils.buildVscodeMarketplaceExtension rec {
|
||||||
@ -13,13 +14,9 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
|
|||||||
hash = "sha256-TvApcBBI+Egu7t4tJuEYTs6mhvABOY2eXVb57O4gWfs=";
|
hash = "sha256-TvApcBBI+Egu7t4tJuEYTs6mhvABOY2eXVb57O4gWfs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
makeWrapper
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [ graphviz ];
|
||||||
graphviz
|
|
||||||
];
|
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
wrapProgram $out/share/vscode/extensions/contextmapper.context-mapper-vscode-extension/lsp/bin/context-mapper-lsp \
|
wrapProgram $out/share/vscode/extensions/contextmapper.context-mapper-vscode-extension/lsp/bin/context-mapper-lsp \
|
||||||
|
@ -3514,8 +3514,8 @@ let
|
|||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
name = "wikitext";
|
name = "wikitext";
|
||||||
publisher = "RoweWilsonFrederiskHolme";
|
publisher = "RoweWilsonFrederiskHolme";
|
||||||
version = "3.8.0";
|
version = "3.8.1";
|
||||||
sha256 = "30540a85163e797028eec9bc3db1866bbf473e98615bf6ade6d1d672017ebe52";
|
hash = "sha256-piwS3SPjx10nsjN5axC+EN0MEDf0r2lVFllqQzciOfc=";
|
||||||
};
|
};
|
||||||
meta = {
|
meta = {
|
||||||
description = "Extension that helps users view and write MediaWiki's Wikitext files";
|
description = "Extension that helps users view and write MediaWiki's Wikitext files";
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
{ lib
|
{ lib, vscode-utils }:
|
||||||
, vscode-utils
|
|
||||||
}:
|
|
||||||
|
|
||||||
vscode-utils.buildVscodeMarketplaceExtension {
|
vscode-utils.buildVscodeMarketplaceExtension {
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
{ lib, vscode-utils, terraform-ls }:
|
{
|
||||||
|
lib,
|
||||||
|
vscode-utils,
|
||||||
|
terraform-ls,
|
||||||
|
}:
|
||||||
vscode-utils.buildVscodeMarketplaceExtension rec {
|
vscode-utils.buildVscodeMarketplaceExtension rec {
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
name = "terraform";
|
name = "terraform";
|
||||||
|
@ -1,4 +1,10 @@
|
|||||||
{ lib, vscode-utils, plantuml, jq, moreutils }:
|
{
|
||||||
|
lib,
|
||||||
|
vscode-utils,
|
||||||
|
plantuml,
|
||||||
|
jq,
|
||||||
|
moreutils,
|
||||||
|
}:
|
||||||
|
|
||||||
vscode-utils.buildVscodeMarketplaceExtension {
|
vscode-utils.buildVscodeMarketplaceExtension {
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
@ -7,7 +13,10 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
|||||||
version = "2.17.4";
|
version = "2.17.4";
|
||||||
hash = "sha256-fnz6ubB73i7rJcv+paYyNV1r4cReuyFPjgPM0HO40ug=";
|
hash = "sha256-fnz6ubB73i7rJcv+paYyNV1r4cReuyFPjgPM0HO40ug=";
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [ jq moreutils ];
|
nativeBuildInputs = [
|
||||||
|
jq
|
||||||
|
moreutils
|
||||||
|
];
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
cd "$out/$installPrefix"
|
cd "$out/$installPrefix"
|
||||||
jq '.contributes.configuration.properties."plantuml.java".default = "${plantuml}/bin/plantuml"' package.json | sponge package.json
|
jq '.contributes.configuration.properties."plantuml.java".default = "${plantuml}/bin/plantuml"' package.json | sponge package.json
|
||||||
@ -15,13 +24,10 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
|||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A Visual Studio Code extension for supporting Rich PlantUML";
|
description = "A Visual Studio Code extension for supporting Rich PlantUML";
|
||||||
downloadPage =
|
downloadPage = "https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml";
|
||||||
"https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml";
|
|
||||||
homepage = "https://github.com/qjebbs/vscode-plantuml";
|
homepage = "https://github.com/qjebbs/vscode-plantuml";
|
||||||
changelog =
|
changelog = "https://marketplace.visualstudio.com/items/jebbs.plantuml/changelog";
|
||||||
"https://marketplace.visualstudio.com/items/jebbs.plantuml/changelog";
|
|
||||||
license = lib.licenses.mit;
|
license = lib.licenses.mit;
|
||||||
maintainers = [ lib.maintainers.victormignot ];
|
maintainers = [ lib.maintainers.victormignot ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,12 @@ with vscode-utils;
|
|||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
buildVscodeLanguagePack = { language, version ? "1.76.2023030809", sha256 }:
|
buildVscodeLanguagePack =
|
||||||
|
{
|
||||||
|
language,
|
||||||
|
version ? "1.76.2023030809",
|
||||||
|
sha256,
|
||||||
|
}:
|
||||||
buildVscodeMarketplaceExtension {
|
buildVscodeMarketplaceExtension {
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
name = "vscode-language-pack-${language}";
|
name = "vscode-language-pack-${language}";
|
||||||
@ -15,7 +20,6 @@ let
|
|||||||
license = lib.licenses.mit;
|
license = lib.licenses.mit;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
# See list of core language packs at https://github.com/Microsoft/vscode-loc
|
# 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
|
let
|
||||||
archurl = (if arch == "" then "" else "?targetPlatform=${arch}");
|
archurl = (if arch == "" then "" else "?targetPlatform=${arch}");
|
||||||
in
|
in
|
||||||
|
@ -1,56 +1,59 @@
|
|||||||
{ lib
|
{
|
||||||
, icu
|
lib,
|
||||||
, openssl
|
icu,
|
||||||
, patchelf
|
openssl,
|
||||||
, stdenv
|
patchelf,
|
||||||
, vscode-utils
|
stdenv,
|
||||||
|
vscode-utils,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (stdenv.hostPlatform) system;
|
inherit (stdenv.hostPlatform) system;
|
||||||
inherit (vscode-utils) buildVscodeMarketplaceExtension;
|
inherit (vscode-utils) buildVscodeMarketplaceExtension;
|
||||||
|
|
||||||
extInfo = {
|
extInfo =
|
||||||
x86_64-linux = {
|
{
|
||||||
arch = "linux-x64";
|
x86_64-linux = {
|
||||||
hash = "sha256-7m85Zl9oV40le3nkNPzoKu/AAf8XhQpI8sBMsQXmBg8=";
|
arch = "linux-x64";
|
||||||
binaries = [
|
hash = "sha256-7m85Zl9oV40le3nkNPzoKu/AAf8XhQpI8sBMsQXmBg8=";
|
||||||
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/servicehub-controller-net60.linux-x64/Microsoft.ServiceHub.Controller"
|
binaries = [
|
||||||
"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/servicehub-controller-net60.linux-x64/Microsoft.ServiceHub.Controller"
|
||||||
"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-code-servicehost.linux-x64/Microsoft.VisualStudio.Code.ServiceHost"
|
||||||
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-server.linux-x64/Microsoft.VisualStudio.Code.Server"
|
"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";
|
aarch64-linux = {
|
||||||
hash = "sha256-39D55EdwE4baDYbHc9GD/1XoxGbQkUkS1H2uysJHlxw=";
|
arch = "linux-arm64";
|
||||||
binaries = [
|
hash = "sha256-39D55EdwE4baDYbHc9GD/1XoxGbQkUkS1H2uysJHlxw=";
|
||||||
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/servicehub-controller-net60.linux-arm64/Microsoft.ServiceHub.Controller"
|
binaries = [
|
||||||
"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/servicehub-controller-net60.linux-arm64/Microsoft.ServiceHub.Controller"
|
||||||
"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-code-servicehost.linux-arm64/Microsoft.VisualStudio.Code.ServiceHost"
|
||||||
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-server.linux-arm64/Microsoft.VisualStudio.Code.Server"
|
"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";
|
x86_64-darwin = {
|
||||||
hash = "sha256-gfhJX07R+DIw9FbzaEE0JZwEmDeifiq4vHyMHZZ1udM=";
|
arch = "darwin-x64";
|
||||||
binaries = [
|
hash = "sha256-gfhJX07R+DIw9FbzaEE0JZwEmDeifiq4vHyMHZZ1udM=";
|
||||||
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/servicehub-controller-net60.darwin-x64/Microsoft.ServiceHub.Controller"
|
binaries = [
|
||||||
"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/servicehub-controller-net60.darwin-x64/Microsoft.ServiceHub.Controller"
|
||||||
"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-code-servicehost.darwin-x64/Microsoft.VisualStudio.Code.ServiceHost"
|
||||||
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-server.darwin-x64/Microsoft.VisualStudio.Code.Server"
|
"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";
|
aarch64-darwin = {
|
||||||
hash = "sha256-vogstgCWvI9csNF9JfJ41XPR1POy842g2yhWqIDoHLw=";
|
arch = "darwin-arm64";
|
||||||
binaries = [
|
hash = "sha256-vogstgCWvI9csNF9JfJ41XPR1POy842g2yhWqIDoHLw=";
|
||||||
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/servicehub-controller-net60.darwin-arm64/Microsoft.ServiceHub.Controller"
|
binaries = [
|
||||||
"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/servicehub-controller-net60.darwin-arm64/Microsoft.ServiceHub.Controller"
|
||||||
"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-code-servicehost.darwin-arm64/Microsoft.VisualStudio.Code.ServiceHost"
|
||||||
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-server.darwin-arm64/Microsoft.VisualStudio.Code.Server"
|
"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}");
|
};
|
||||||
|
}
|
||||||
|
.${system} or (throw "Unsupported system: ${system}");
|
||||||
in
|
in
|
||||||
buildVscodeMarketplaceExtension {
|
buildVscodeMarketplaceExtension {
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
@ -61,50 +64,55 @@ buildVscodeMarketplaceExtension {
|
|||||||
};
|
};
|
||||||
sourceRoot = "extension"; # This has more than one folder.
|
sourceRoot = "extension"; # This has more than one folder.
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [ patchelf ];
|
||||||
patchelf
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
postPatch =
|
||||||
declare ext_unique_id
|
''
|
||||||
ext_unique_id="$(basename "$out" | head -c 32)"
|
declare ext_unique_id
|
||||||
|
ext_unique_id="$(basename "$out" | head -c 32)"
|
||||||
|
|
||||||
patchelf_add_icu_as_needed() {
|
patchelf_add_icu_as_needed() {
|
||||||
declare elf="''${1?}"
|
declare elf="''${1?}"
|
||||||
declare icu_major_v="${
|
declare icu_major_v="${lib.head (lib.splitVersion (lib.getVersion icu.name))}"
|
||||||
lib.head (lib.splitVersion (lib.getVersion icu.name))
|
|
||||||
}"
|
|
||||||
|
|
||||||
for icu_lib in icui18n icuuc icudata; do
|
for icu_lib in icui18n icuuc icudata; do
|
||||||
patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf"
|
patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
patchelf_common() {
|
patchelf_common() {
|
||||||
declare elf="''${1?}"
|
declare elf="''${1?}"
|
||||||
|
|
||||||
patchelf_add_icu_as_needed "$elf"
|
patchelf_add_icu_as_needed "$elf"
|
||||||
patchelf --add-needed "libssl.so" "$elf"
|
patchelf --add-needed "libssl.so" "$elf"
|
||||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||||
--set-rpath "${lib.makeLibraryPath [stdenv.cc.cc openssl icu.out]}:\$ORIGIN" \
|
--set-rpath "${
|
||||||
"$elf"
|
lib.makeLibraryPath [
|
||||||
}
|
stdenv.cc.cc
|
||||||
|
openssl
|
||||||
|
icu.out
|
||||||
|
]
|
||||||
|
}:\$ORIGIN" \
|
||||||
|
"$elf"
|
||||||
|
}
|
||||||
|
|
||||||
substituteInPlace dist/extension.js \
|
substituteInPlace dist/extension.js \
|
||||||
--replace 'e.extensionPath,"cache"' 'require("os").tmpdir(),"'"$ext_unique_id"'"' \
|
--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){}'
|
--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
|
+ (lib.concatStringsSep "\n" (
|
||||||
(bin: ''
|
map (bin: ''
|
||||||
chmod +x "${bin}"
|
chmod +x "${bin}"
|
||||||
'')
|
'') extInfo.binaries
|
||||||
extInfo.binaries))
|
))
|
||||||
+ lib.optionalString stdenv.isLinux (lib.concatStringsSep "\n" (map
|
+ lib.optionalString stdenv.isLinux (
|
||||||
(bin: ''
|
lib.concatStringsSep "\n" (
|
||||||
patchelf_common "${bin}"
|
map (bin: ''
|
||||||
'')
|
patchelf_common "${bin}"
|
||||||
extInfo.binaries));
|
'') extInfo.binaries
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
changelog = "https://marketplace.visualstudio.com/items/ms-dotnettools.csdevkit/changelog";
|
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";
|
downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
maintainers = [ lib.maintainers.ggg ];
|
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
|
lib,
|
||||||
, patchelf
|
vscode-utils,
|
||||||
, icu
|
patchelf,
|
||||||
, stdenv
|
icu,
|
||||||
, openssl
|
stdenv,
|
||||||
, coreutils
|
openssl,
|
||||||
,
|
coreutils,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (stdenv.hostPlatform) system;
|
inherit (stdenv.hostPlatform) system;
|
||||||
@ -26,31 +26,32 @@ let
|
|||||||
".debugger/x86_64/vsdbg"
|
".debugger/x86_64/vsdbg"
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
x86_64-linux = {
|
x86_64-linux = {
|
||||||
arch = "linux-x64";
|
arch = "linux-x64";
|
||||||
hash = "sha256-si4HKGVIHu44QNlNI2WEnMff9+QZOMWiBfWQaaFGyQE=";
|
hash = "sha256-si4HKGVIHu44QNlNI2WEnMff9+QZOMWiBfWQaaFGyQE=";
|
||||||
binaries = linuxBins;
|
binaries = linuxBins;
|
||||||
};
|
};
|
||||||
aarch64-linux = {
|
aarch64-linux = {
|
||||||
arch = "linux-arm64";
|
arch = "linux-arm64";
|
||||||
hash = "sha256-1IXkSRgCHOLD4VeCdqyy54MXCBUX5RDDb3pf7GQH5jA=";
|
hash = "sha256-1IXkSRgCHOLD4VeCdqyy54MXCBUX5RDDb3pf7GQH5jA=";
|
||||||
binaries = linuxBins;
|
binaries = linuxBins;
|
||||||
};
|
};
|
||||||
x86_64-darwin = {
|
x86_64-darwin = {
|
||||||
arch = "darwin-x64";
|
arch = "darwin-x64";
|
||||||
hash = "sha256-AAbYjZ+YYyGEXSLkiFfluLf7P4OzPhmHzK44N5XT9UI=";
|
hash = "sha256-AAbYjZ+YYyGEXSLkiFfluLf7P4OzPhmHzK44N5XT9UI=";
|
||||||
binaries = darwinBins;
|
binaries = darwinBins;
|
||||||
};
|
};
|
||||||
aarch64-darwin = {
|
aarch64-darwin = {
|
||||||
arch = "darwin-arm64";
|
arch = "darwin-arm64";
|
||||||
hash = "sha256-1m47kX0Jo+UvthNfgdoPdBBOcDyCA8DfP+zRk3SicR0=";
|
hash = "sha256-1m47kX0Jo+UvthNfgdoPdBBOcDyCA8DfP+zRk3SicR0=";
|
||||||
binaries = darwinBins ++ [
|
binaries = darwinBins ++ [
|
||||||
".debugger/arm64/vsdbg-ui"
|
".debugger/arm64/vsdbg-ui"
|
||||||
".debugger/arm64/vsdbg"
|
".debugger/arm64/vsdbg"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}.${system} or (throw "Unsupported system: ${system}");
|
}
|
||||||
|
.${system} or (throw "Unsupported system: ${system}");
|
||||||
in
|
in
|
||||||
buildVscodeMarketplaceExtension {
|
buildVscodeMarketplaceExtension {
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
@ -60,16 +61,13 @@ buildVscodeMarketplaceExtension {
|
|||||||
inherit (extInfo) hash arch;
|
inherit (extInfo) hash arch;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [ patchelf ];
|
||||||
patchelf
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
postPatch =
|
||||||
|
''
|
||||||
patchelf_add_icu_as_needed() {
|
patchelf_add_icu_as_needed() {
|
||||||
declare elf="''${1?}"
|
declare elf="''${1?}"
|
||||||
declare icu_major_v="${
|
declare icu_major_v="${lib.head (lib.splitVersion (lib.getVersion icu.name))}"
|
||||||
lib.head (lib.splitVersion (lib.getVersion icu.name))
|
|
||||||
}"
|
|
||||||
|
|
||||||
for icu_lib in icui18n icuuc icudata; do
|
for icu_lib in icui18n icuuc icudata; do
|
||||||
patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf"
|
patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf"
|
||||||
@ -82,7 +80,13 @@ buildVscodeMarketplaceExtension {
|
|||||||
patchelf_add_icu_as_needed "$elf"
|
patchelf_add_icu_as_needed "$elf"
|
||||||
patchelf --add-needed "libssl.so" "$elf"
|
patchelf --add-needed "libssl.so" "$elf"
|
||||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
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"
|
"$elf"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,22 +94,29 @@ buildVscodeMarketplaceExtension {
|
|||||||
--replace 'uname -m' '${lib.getExe' coreutils "uname"} -m'
|
--replace 'uname -m' '${lib.getExe' coreutils "uname"} -m'
|
||||||
|
|
||||||
''
|
''
|
||||||
+ (lib.concatStringsSep "\n" (map
|
+ (lib.concatStringsSep "\n" (
|
||||||
(bin: ''
|
map (bin: ''
|
||||||
chmod +x "${bin}"
|
chmod +x "${bin}"
|
||||||
'')
|
'') extInfo.binaries
|
||||||
extInfo.binaries))
|
))
|
||||||
+ lib.optionalString stdenv.isLinux (lib.concatStringsSep "\n" (map
|
+ lib.optionalString stdenv.isLinux (
|
||||||
(bin: ''
|
lib.concatStringsSep "\n" (
|
||||||
patchelf_common "${bin}"
|
map (bin: ''
|
||||||
'')
|
patchelf_common "${bin}"
|
||||||
extInfo.binaries));
|
'') extInfo.binaries
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Official C# support for Visual Studio Code";
|
description = "Official C# support for Visual Studio Code";
|
||||||
homepage = "https://github.com/dotnet/vscode-csharp";
|
homepage = "https://github.com/dotnet/vscode-csharp";
|
||||||
license = lib.licenses.mit;
|
license = lib.licenses.mit;
|
||||||
maintainers = with lib.maintainers; [ ggg ];
|
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
|
lib,
|
||||||
, icu
|
vscode-utils,
|
||||||
, python3
|
icu,
|
||||||
|
python3,
|
||||||
# When `true`, the python default setting will be fixed to specified.
|
# When `true`, the python default setting will be fixed to specified.
|
||||||
# Use version from `PATH` for default setting otherwise.
|
# Use version from `PATH` for default setting otherwise.
|
||||||
# Defaults to `false` as we expect it to be project specific most of the time.
|
# Defaults to `false` as we expect it to be project specific most of the time.
|
||||||
, pythonUseFixed ? false
|
pythonUseFixed ? false,
|
||||||
# For updateScript
|
# For updateScript
|
||||||
, writeScript
|
writeScript,
|
||||||
, bash
|
bash,
|
||||||
, curl
|
curl,
|
||||||
, coreutils
|
coreutils,
|
||||||
, gnused
|
gnused,
|
||||||
, jq
|
jq,
|
||||||
, nix
|
nix,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
vscode-utils.buildVscodeMarketplaceExtension rec {
|
vscode-utils.buildVscodeMarketplaceExtension rec {
|
||||||
@ -33,33 +34,37 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
|
|||||||
jedi-language-server
|
jedi-language-server
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch =
|
||||||
# remove bundled python deps and use libs from nixpkgs
|
''
|
||||||
rm -r pythonFiles/lib
|
# remove bundled python deps and use libs from nixpkgs
|
||||||
mkdir -p pythonFiles/lib/python/
|
rm -r pythonFiles/lib
|
||||||
ln -s ${python3.pkgs.debugpy}/lib/*/site-packages/debugpy pythonFiles/lib/python/
|
mkdir -p pythonFiles/lib/python/
|
||||||
buildPythonPath "$propagatedBuildInputs"
|
ln -s ${python3.pkgs.debugpy}/lib/*/site-packages/debugpy pythonFiles/lib/python/
|
||||||
for i in pythonFiles/*.py; do
|
buildPythonPath "$propagatedBuildInputs"
|
||||||
patchPythonScript "$i"
|
for i in pythonFiles/*.py; do
|
||||||
done
|
patchPythonScript "$i"
|
||||||
'' + lib.optionalString pythonUseFixed ''
|
done
|
||||||
# Patch `packages.json` so that nix's *python* is used as default value for `python.pythonPath`.
|
''
|
||||||
substituteInPlace "./package.json" \
|
+ lib.optionalString pythonUseFixed ''
|
||||||
--replace "\"default\": \"python\"" "\"default\": \"${python3.interpreter}\""
|
# 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" ''
|
passthru.updateScript = writeScript "update" ''
|
||||||
#! ${bash}/bin/bash
|
#! ${bash}/bin/bash
|
||||||
|
|
||||||
set -eu -o pipefail
|
set -eu -o pipefail
|
||||||
|
|
||||||
export PATH=${lib.makeBinPath [
|
export PATH=${
|
||||||
curl
|
lib.makeBinPath [
|
||||||
coreutils
|
curl
|
||||||
gnused
|
coreutils
|
||||||
jq
|
gnused
|
||||||
nix
|
jq
|
||||||
]}
|
nix
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
api=$(curl -s 'https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery' \
|
api=$(curl -s 'https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery' \
|
||||||
-H 'accept: application/json;api-version=3.0-preview.1' \
|
-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";
|
homepage = "https://github.com/Microsoft/vscode-python";
|
||||||
changelog = "https://github.com/microsoft/vscode-python/releases";
|
changelog = "https://github.com/microsoft/vscode-python/releases";
|
||||||
license = lib.licenses.mit;
|
license = lib.licenses.mit;
|
||||||
platforms = [ "x86_64-linux" "aarch64-darwin" "x86_64-darwin" ];
|
platforms = [
|
||||||
maintainers = [ lib.maintainers.jraygauthier lib.maintainers.jfchevrette ];
|
"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 {
|
vscode-utils.buildVscodeMarketplaceExtension {
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
{ lib
|
{
|
||||||
, nixosTests
|
lib,
|
||||||
, vscode-utils
|
nixosTests,
|
||||||
, useLocalExtensions ? false
|
vscode-utils,
|
||||||
|
useLocalExtensions ? false,
|
||||||
}:
|
}:
|
||||||
# Note that useLocalExtensions requires that vscode-server is not running
|
# Note that useLocalExtensions requires that vscode-server is not running
|
||||||
# on host. If it is, you'll need to remove $HOME/.vscode-server,
|
# on host. If it is, you'll need to remove $HOME/.vscode-server,
|
||||||
@ -92,7 +93,9 @@ buildVscodeMarketplaceExtension {
|
|||||||
--replace '# Start the server\n' '${patch}'
|
--replace '# Start the server\n' '${patch}'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru.tests = { inherit (nixosTests) vscode-remote-ssh; };
|
passthru.tests = {
|
||||||
|
inherit (nixosTests) vscode-remote-ssh;
|
||||||
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Use any remote machine with a SSH server as your development environment.";
|
description = "Use any remote machine with a SSH server as your development environment.";
|
||||||
|
@ -1,8 +1,19 @@
|
|||||||
{ lib, vscode-utils
|
{
|
||||||
, fetchurl, writeScript, runtimeShell
|
lib,
|
||||||
, jq, clang-tools
|
vscode-utils,
|
||||||
, gdbUseFixed ? true, gdb # The gdb default setting will be fixed to specified. Use version from `PATH` otherwise.
|
fetchurl,
|
||||||
, autoPatchelfHook, makeWrapper, stdenv, lttng-ust, libkrb5, zlib
|
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.";
|
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";
|
homepage = "https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
maintainers = [ lib.maintainers.jraygauthier lib.maintainers.stargate01 ];
|
maintainers = [
|
||||||
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
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 {
|
vscode-utils.buildVscodeMarketplaceExtension {
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
{ lib
|
{
|
||||||
, fetchFromGitHub
|
lib,
|
||||||
, vscode-utils
|
fetchFromGitHub,
|
||||||
, jq
|
vscode-utils,
|
||||||
, rust-analyzer
|
jq,
|
||||||
, nodePackages
|
rust-analyzer,
|
||||||
, moreutils
|
nodePackages,
|
||||||
, esbuild
|
moreutils,
|
||||||
, pkg-config
|
esbuild,
|
||||||
, libsecret
|
pkg-config,
|
||||||
, stdenv
|
libsecret,
|
||||||
, darwin
|
stdenv,
|
||||||
, setDefaultServerPath ? true
|
darwin,
|
||||||
|
setDefaultServerPath ? true,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -29,26 +30,32 @@ let
|
|||||||
hash = "sha256-Oj/RPMridKpYt3eRqUIPg9YNrj6npG8THIGuWjsamnE=";
|
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`
|
# FIXME: Making a new derivation to link `node_modules` and run `npm run package`
|
||||||
# will cause a build failure.
|
# will cause a build failure.
|
||||||
vsix = build-deps.override {
|
vsix = build-deps.override {
|
||||||
src = "${src}/editors/code";
|
src = "${src}/editors/code";
|
||||||
outputs = [ "vsix" "out" ];
|
outputs = [
|
||||||
|
"vsix"
|
||||||
|
"out"
|
||||||
|
];
|
||||||
|
|
||||||
inherit releaseTag;
|
inherit releaseTag;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs =
|
||||||
jq
|
[
|
||||||
moreutils
|
jq
|
||||||
esbuild
|
moreutils
|
||||||
# Required by `keytar`, which is a dependency of `vsce`.
|
esbuild
|
||||||
pkg-config
|
# Required by `keytar`, which is a dependency of `vsce`.
|
||||||
libsecret
|
pkg-config
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
libsecret
|
||||||
darwin.apple_sdk.frameworks.AppKit
|
]
|
||||||
darwin.apple_sdk.frameworks.Security
|
++ 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
|
# Follows https://github.com/rust-lang/rust-analyzer/blob/41949748a6123fd6061eb984a47f4fe780525e63/xtask/src/dist.rs#L39-L65
|
||||||
postRebuild = ''
|
postRebuild = ''
|
||||||
@ -65,7 +72,6 @@ let
|
|||||||
echo y | npx vsce package -o $vsix/${pname}.zip
|
echo y | npx vsce package -o $vsix/${pname}.zip
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
vscode-utils.buildVscodeExtension {
|
vscode-utils.buildVscodeExtension {
|
||||||
inherit version vsix;
|
inherit version vsix;
|
||||||
@ -75,7 +81,10 @@ vscode-utils.buildVscodeExtension {
|
|||||||
vscodeExtPublisher = publisher;
|
vscodeExtPublisher = publisher;
|
||||||
vscodeExtName = pname;
|
vscodeExtName = pname;
|
||||||
|
|
||||||
nativeBuildInputs = lib.optionals setDefaultServerPath [ jq moreutils ];
|
nativeBuildInputs = lib.optionals setDefaultServerPath [
|
||||||
|
jq
|
||||||
|
moreutils
|
||||||
|
];
|
||||||
|
|
||||||
preInstall = lib.optionalString setDefaultServerPath ''
|
preInstall = lib.optionalString setDefaultServerPath ''
|
||||||
jq '.contributes.configuration.properties."rust-analyzer.server.path".default = $s' \
|
jq '.contributes.configuration.properties."rust-analyzer.server.path".default = $s' \
|
||||||
@ -86,9 +95,11 @@ vscode-utils.buildVscodeExtension {
|
|||||||
meta = {
|
meta = {
|
||||||
description = "An alternative rust language server to the RLS";
|
description = "An alternative rust language server to the RLS";
|
||||||
homepage = "https://github.com/rust-lang/rust-analyzer";
|
homepage = "https://github.com/rust-lang/rust-analyzer";
|
||||||
license = [ lib.licenses.mit lib.licenses.asl20 ];
|
license = [
|
||||||
|
lib.licenses.mit
|
||||||
|
lib.licenses.asl20
|
||||||
|
];
|
||||||
maintainers = [ ];
|
maintainers = [ ];
|
||||||
platforms = lib.platforms.all;
|
platforms = lib.platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{ lib
|
{
|
||||||
, vscode-utils
|
lib,
|
||||||
, lua-language-server
|
vscode-utils,
|
||||||
|
lua-language-server,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
vscode-utils.buildVscodeMarketplaceExtension {
|
vscode-utils.buildVscodeMarketplaceExtension {
|
||||||
|
@ -1,39 +1,43 @@
|
|||||||
# Updates the vscode setting file base on a nix expression
|
# Updates the vscode setting file base on a nix expression
|
||||||
# should run from the workspace root.
|
# should run from the workspace root.
|
||||||
{ writeShellScriptBin
|
{
|
||||||
, lib
|
writeShellScriptBin,
|
||||||
, jq
|
lib,
|
||||||
|
jq,
|
||||||
}:
|
}:
|
||||||
##User Input
|
##User Input
|
||||||
{ settings ? {}
|
{
|
||||||
# if marked as true will create an empty json file if does not exist
|
settings ? { },
|
||||||
, createIfDoesNotExists ? true
|
# if marked as true will create an empty json file if does not exist
|
||||||
, vscodeSettingsFile ? ".vscode/settings.json"
|
createIfDoesNotExists ? true,
|
||||||
, userSettingsFolder ? ""
|
vscodeSettingsFile ? ".vscode/settings.json",
|
||||||
, symlinkFromUserSetting ? false
|
userSettingsFolder ? "",
|
||||||
|
symlinkFromUserSetting ? false,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
|
||||||
updateVSCodeSettingsCmd = ''
|
updateVSCodeSettingsCmd = ''
|
||||||
(
|
(
|
||||||
echo 'updateSettings.nix: Updating ${vscodeSettingsFile}...'
|
echo 'updateSettings.nix: Updating ${vscodeSettingsFile}...'
|
||||||
oldSettings=$(cat ${vscodeSettingsFile})
|
oldSettings=$(cat ${vscodeSettingsFile})
|
||||||
echo $oldSettings' ${builtins.toJSON settings}' | ${jq}/bin/jq -s add > ${vscodeSettingsFile}
|
echo $oldSettings' ${builtins.toJSON settings}' | ${jq}/bin/jq -s add > ${vscodeSettingsFile}
|
||||||
)'';
|
)'';
|
||||||
|
|
||||||
createEmptySettingsCmd = ''mkdir -p .vscode && echo "{}" > ${vscodeSettingsFile}'';
|
createEmptySettingsCmd = ''mkdir -p .vscode && echo "{}" > ${vscodeSettingsFile}'';
|
||||||
fileName = builtins.baseNameOf vscodeSettingsFile;
|
fileName = builtins.baseNameOf vscodeSettingsFile;
|
||||||
symlinkFromUserSettingCmd = lib.optionalString symlinkFromUserSetting
|
symlinkFromUserSettingCmd = lib.optionalString symlinkFromUserSetting ''&& mkdir -p "${userSettingsFolder}" && ln -sfv "$(pwd)/${vscodeSettingsFile}" "${userSettingsFolder}/" '';
|
||||||
'' && mkdir -p "${userSettingsFolder}" && ln -sfv "$(pwd)/${vscodeSettingsFile}" "${userSettingsFolder}/" '';
|
|
||||||
in
|
in
|
||||||
|
|
||||||
writeShellScriptBin ''vscodeNixUpdate-${lib.removeSuffix ".json" (fileName)}''
|
writeShellScriptBin ''vscodeNixUpdate-${lib.removeSuffix ".json" (fileName)}'' (
|
||||||
(lib.optionalString (settings != {})
|
lib.optionalString (settings != { }) (
|
||||||
(if createIfDoesNotExists then ''
|
if createIfDoesNotExists then
|
||||||
[ ! -f "${vscodeSettingsFile}" ] && ${createEmptySettingsCmd}
|
''
|
||||||
${updateVSCodeSettingsCmd} ${symlinkFromUserSettingCmd}
|
[ ! -f "${vscodeSettingsFile}" ] && ${createEmptySettingsCmd}
|
||||||
''
|
${updateVSCodeSettingsCmd} ${symlinkFromUserSettingCmd}
|
||||||
else ''[ -f "${vscodeSettingsFile}" ] && ${updateVSCodeSettingsCmd} ${symlinkFromUserSettingCmd}
|
''
|
||||||
''
|
else
|
||||||
)
|
''
|
||||||
|
[ -f "${vscodeSettingsFile}" ] && ${updateVSCodeSettingsCmd} ${symlinkFromUserSettingCmd}
|
||||||
|
''
|
||||||
)
|
)
|
||||||
|
)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
with import <nixpkgs>{};
|
with import <nixpkgs> { };
|
||||||
callPackage (import ./updateSettings.nix) {} {
|
callPackage (import ./updateSettings.nix) { } {
|
||||||
settings = {
|
settings = {
|
||||||
a = "fdsdf";
|
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";
|
assert lib.versionAtLeast python3.version "3.5";
|
||||||
let
|
let
|
||||||
@ -31,9 +46,7 @@ let
|
|||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
env = lib.optionalAttrs stdenv.isDarwin {
|
env = lib.optionalAttrs stdenv.isDarwin { NIX_LDFLAGS = "-llldb -lc++abi"; };
|
||||||
NIX_LDFLAGS = "-llldb -lc++abi";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildAndTestSubdir = "adapter";
|
buildAndTestSubdir = "adapter";
|
||||||
|
|
||||||
@ -76,12 +89,15 @@ let
|
|||||||
pkg-config
|
pkg-config
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs =
|
||||||
libsecret
|
[ libsecret ]
|
||||||
] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
|
++ lib.optionals stdenv.isDarwin (
|
||||||
Security
|
with darwin.apple_sdk.frameworks;
|
||||||
AppKit
|
[
|
||||||
]);
|
Security
|
||||||
|
AppKit
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
dontNpmBuild = true;
|
dontNpmBuild = true;
|
||||||
|
|
||||||
@ -103,14 +119,25 @@ let
|
|||||||
"/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/Resources/debugserver"
|
"/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/Resources/debugserver"
|
||||||
else
|
else
|
||||||
"${lldb.out}/bin/lldb-server";
|
"${lldb.out}/bin/lldb-server";
|
||||||
|
in
|
||||||
in stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "vscode-extension-${publisher}-${pname}";
|
pname = "vscode-extension-${publisher}-${pname}";
|
||||||
inherit src version vscodeExtUniqueId vscodeExtPublisher vscodeExtName;
|
inherit
|
||||||
|
src
|
||||||
|
version
|
||||||
|
vscodeExtUniqueId
|
||||||
|
vscodeExtPublisher
|
||||||
|
vscodeExtName
|
||||||
|
;
|
||||||
|
|
||||||
installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}";
|
installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}";
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake nodejs unzip makeWrapper ];
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
nodejs
|
||||||
|
unzip
|
||||||
|
makeWrapper
|
||||||
|
];
|
||||||
|
|
||||||
patches = [ ./cmake-build-extension-only.patch ];
|
patches = [ ./cmake-build-extension-only.patch ];
|
||||||
|
|
||||||
@ -120,12 +147,14 @@ in stdenv.mkDerivation {
|
|||||||
--replace "1.9.2" ${version}
|
--replace "1.9.2" ${version}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postConfigure = ''
|
postConfigure =
|
||||||
cp -r ${nodeDeps}/lib/node_modules .
|
''
|
||||||
'' + lib.optionalString stdenv.isDarwin ''
|
cp -r ${nodeDeps}/lib/node_modules .
|
||||||
export HOME="$TMPDIR/home"
|
''
|
||||||
mkdir $HOME
|
+ lib.optionalString stdenv.isDarwin ''
|
||||||
'';
|
export HOME="$TMPDIR/home"
|
||||||
|
mkdir $HOME
|
||||||
|
'';
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
# Do not append timestamp to version.
|
# Do not append timestamp to version.
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
# Patched lldb for Rust language support.
|
# Patched lldb for Rust language support.
|
||||||
{ fetchFromGitHub, runCommand, llvmPackages }:
|
{
|
||||||
|
fetchFromGitHub,
|
||||||
|
runCommand,
|
||||||
|
llvmPackages,
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
llvmSrc = fetchFromGitHub {
|
llvmSrc = fetchFromGitHub {
|
||||||
owner = "vadimcn";
|
owner = "vadimcn";
|
||||||
@ -8,8 +12,9 @@ let
|
|||||||
rev = "4c267c83cbb55fedf2e0b89644dc1db320fdfde7";
|
rev = "4c267c83cbb55fedf2e0b89644dc1db320fdfde7";
|
||||||
hash = "sha256-jM//ej6AxnRYj+8BAn4QrxHPT6HiDzK5RqHPSg3dCcw=";
|
hash = "sha256-jM//ej6AxnRYj+8BAn4QrxHPT6HiDzK5RqHPSg3dCcw=";
|
||||||
};
|
};
|
||||||
in (llvmPackages.lldb.overrideAttrs (oldAttrs: rec {
|
in
|
||||||
passthru = (oldAttrs.passthru or {}) // {
|
(llvmPackages.lldb.overrideAttrs (oldAttrs: rec {
|
||||||
|
passthru = (oldAttrs.passthru or { }) // {
|
||||||
inherit llvmSrc;
|
inherit llvmSrc;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -23,7 +28,8 @@ in (llvmPackages.lldb.overrideAttrs (oldAttrs: rec {
|
|||||||
echo "'lldb --version' returns: $versionOutput"
|
echo "'lldb --version' returns: $versionOutput"
|
||||||
echo "$versionOutput" | grep -q 'rust-enabled'
|
echo "$versionOutput" | grep -q 'rust-enabled'
|
||||||
'';
|
'';
|
||||||
})).override({
|
})).override
|
||||||
monorepoSrc = llvmSrc;
|
({
|
||||||
libllvm = llvmPackages.libllvm.override({ monorepoSrc = llvmSrc; });
|
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
|
let
|
||||||
buildVscodeExtension = a@{
|
buildVscodeExtension =
|
||||||
name,
|
a@{
|
||||||
src,
|
name,
|
||||||
# Same as "Unique Identifier" on the extension's web page.
|
src,
|
||||||
# For the moment, only serve as unique extension dir.
|
# Same as "Unique Identifier" on the extension's web page.
|
||||||
vscodeExtPublisher,
|
# For the moment, only serve as unique extension dir.
|
||||||
vscodeExtName,
|
vscodeExtPublisher,
|
||||||
vscodeExtUniqueId,
|
vscodeExtName,
|
||||||
configurePhase ? ''
|
vscodeExtUniqueId,
|
||||||
runHook preConfigure
|
configurePhase ? ''
|
||||||
runHook postConfigure
|
runHook preConfigure
|
||||||
'',
|
runHook postConfigure
|
||||||
buildPhase ?''
|
'',
|
||||||
runHook preBuild
|
buildPhase ? ''
|
||||||
runHook postBuild
|
runHook preBuild
|
||||||
'',
|
runHook postBuild
|
||||||
dontPatchELF ? true,
|
'',
|
||||||
dontStrip ? true,
|
dontPatchELF ? true,
|
||||||
nativeBuildInputs ? [],
|
dontStrip ? true,
|
||||||
passthru ? { },
|
nativeBuildInputs ? [ ],
|
||||||
...
|
passthru ? { },
|
||||||
}:
|
...
|
||||||
stdenv.mkDerivation ((removeAttrs a [ "vscodeExtUniqueId" ]) // {
|
}:
|
||||||
|
stdenv.mkDerivation (
|
||||||
|
(removeAttrs a [ "vscodeExtUniqueId" ])
|
||||||
|
// {
|
||||||
|
|
||||||
name = "vscode-extension-${name}";
|
name = "vscode-extension-${name}";
|
||||||
|
|
||||||
passthru = passthru // {
|
passthru = passthru // {
|
||||||
inherit vscodeExtPublisher vscodeExtName vscodeExtUniqueId;
|
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.
|
# 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.
|
# If other directories are present but `sourceRoot` is unset, the unpacker phase fails.
|
||||||
sourceRoot = "extension";
|
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"
|
mkdir -p "$out/$installPrefix"
|
||||||
find . -mindepth 1 -maxdepth 1 | xargs -d'\n' mv -t "$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:
|
buildVscodeMarketplaceExtension =
|
||||||
fetchurl (import ./mktplcExtRefToFetchArgs.nix mktplcExtRef);
|
a@{
|
||||||
|
name ? "",
|
||||||
buildVscodeMarketplaceExtension = a@{
|
src ? null,
|
||||||
name ? "",
|
vsix ? null,
|
||||||
src ? null,
|
mktplcRef,
|
||||||
vsix ? null,
|
...
|
||||||
mktplcRef,
|
}:
|
||||||
...
|
assert "" == name;
|
||||||
}: assert "" == name; assert null == src;
|
assert null == src;
|
||||||
buildVscodeExtension ((removeAttrs a [ "mktplcRef" "vsix" ]) // {
|
buildVscodeExtension (
|
||||||
name = "${mktplcRef.publisher}-${mktplcRef.name}-${mktplcRef.version}";
|
(removeAttrs a [
|
||||||
version = mktplcRef.version;
|
"mktplcRef"
|
||||||
src = if (vsix != null)
|
"vsix"
|
||||||
then vsix
|
])
|
||||||
else fetchVsixFromVscodeMarketplace mktplcRef;
|
// {
|
||||||
vscodeExtPublisher = mktplcRef.publisher;
|
name = "${mktplcRef.publisher}-${mktplcRef.name}-${mktplcRef.version}";
|
||||||
vscodeExtName = mktplcRef.name;
|
version = mktplcRef.version;
|
||||||
vscodeExtUniqueId = "${mktplcRef.publisher}.${mktplcRef.name}";
|
src = if (vsix != null) then vsix else fetchVsixFromVscodeMarketplace mktplcRef;
|
||||||
});
|
vscodeExtPublisher = mktplcRef.publisher;
|
||||||
|
vscodeExtName = mktplcRef.name;
|
||||||
|
vscodeExtUniqueId = "${mktplcRef.publisher}.${mktplcRef.name}";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
mktplcRefAttrList = [
|
mktplcRefAttrList = [
|
||||||
"name"
|
"name"
|
||||||
@ -82,14 +106,18 @@ let
|
|||||||
"arch"
|
"arch"
|
||||||
];
|
];
|
||||||
|
|
||||||
mktplcExtRefToExtDrv = ext:
|
mktplcExtRefToExtDrv =
|
||||||
buildVscodeMarketplaceExtension (removeAttrs ext mktplcRefAttrList // {
|
ext:
|
||||||
mktplcRef = builtins.intersectAttrs (lib.genAttrs mktplcRefAttrList (_: null)) ext;
|
buildVscodeMarketplaceExtension (
|
||||||
});
|
removeAttrs ext mktplcRefAttrList
|
||||||
|
// {
|
||||||
|
mktplcRef = builtins.intersectAttrs (lib.genAttrs mktplcRefAttrList (_: null)) ext;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
extensionFromVscodeMarketplace = mktplcExtRefToExtDrv;
|
extensionFromVscodeMarketplace = mktplcExtRefToExtDrv;
|
||||||
extensionsFromVscodeMarketplace = mktplcExtRefList:
|
extensionsFromVscodeMarketplace =
|
||||||
builtins.map extensionFromVscodeMarketplace mktplcExtRefList;
|
mktplcExtRefList: builtins.map extensionFromVscodeMarketplace mktplcExtRefList;
|
||||||
|
|
||||||
vscodeWithConfiguration = import ./vscodeWithConfiguration.nix {
|
vscodeWithConfiguration = import ./vscodeWithConfiguration.nix {
|
||||||
inherit lib extensionsFromVscodeMarketplace writeShellScriptBin;
|
inherit lib extensionsFromVscodeMarketplace writeShellScriptBin;
|
||||||
@ -102,7 +130,13 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
vscodeEnv = import ./vscodeEnv.nix {
|
vscodeEnv = import ./vscodeEnv.nix {
|
||||||
inherit lib buildEnv writeShellScriptBin extensionsFromVscodeMarketplace jq;
|
inherit
|
||||||
|
lib
|
||||||
|
buildEnv
|
||||||
|
writeShellScriptBin
|
||||||
|
extensionsFromVscodeMarketplace
|
||||||
|
jq
|
||||||
|
;
|
||||||
vscodeDefault = vscode;
|
vscodeDefault = vscode;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -139,9 +173,16 @@ let
|
|||||||
toExtensionJson = extensions: builtins.toJSON (map toExtensionJsonEntry extensions);
|
toExtensionJson = extensions: builtins.toJSON (map toExtensionJsonEntry extensions);
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
inherit fetchVsixFromVscodeMarketplace buildVscodeExtension
|
inherit
|
||||||
buildVscodeMarketplaceExtension extensionFromVscodeMarketplace
|
fetchVsixFromVscodeMarketplace
|
||||||
extensionsFromVscodeMarketplace
|
buildVscodeExtension
|
||||||
vscodeWithConfiguration vscodeExts2nix vscodeEnv
|
buildVscodeMarketplaceExtension
|
||||||
toExtensionJsonEntry toExtensionJson;
|
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.
|
#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
|
lib,
|
||||||
, writeShellScriptBin
|
buildEnv,
|
||||||
, extensionsFromVscodeMarketplace
|
writeShellScriptBin,
|
||||||
, vscodeDefault
|
extensionsFromVscodeMarketplace,
|
||||||
, jq
|
vscodeDefault,
|
||||||
|
jq,
|
||||||
}:
|
}:
|
||||||
##User input
|
##User input
|
||||||
{ vscode ? vscodeDefault
|
{
|
||||||
, nixExtensions ? []
|
vscode ? vscodeDefault,
|
||||||
, vscodeExtsFolderName ? ".vscode-exts"
|
nixExtensions ? [ ],
|
||||||
# will add to the command updateSettings (which will run on executing vscode) settings to override in settings.json file
|
vscodeExtsFolderName ? ".vscode-exts",
|
||||||
, settings ? {}
|
# will add to the command updateSettings (which will run on executing vscode) settings to override in settings.json file
|
||||||
, createSettingsIfDoesNotExists ? true
|
settings ? { },
|
||||||
, launch ? {}
|
createSettingsIfDoesNotExists ? true,
|
||||||
, createLaunchIfDoesNotExists ? true
|
launch ? { },
|
||||||
# will add to the command updateKeybindings(which will run on executing vscode) keybindings to override in keybinding.json file
|
createLaunchIfDoesNotExists ? true,
|
||||||
, keybindings ? {}
|
# will add to the command updateKeybindings(which will run on executing vscode) keybindings to override in keybinding.json file
|
||||||
, createKeybindingsIfDoesNotExists ? true
|
keybindings ? { },
|
||||||
, user-data-dir ? ''"''${TMP}''${name}"/vscode-data-dir''
|
createKeybindingsIfDoesNotExists ? true,
|
||||||
# if file exists will use it and import the extensions in it into this derivation else will use empty extensions list
|
user-data-dir ? ''"''${TMP}''${name}"/vscode-data-dir'',
|
||||||
# this file will be created/updated by vscodeExts2nix when vscode exists
|
# if file exists will use it and import the extensions in it into this derivation else will use empty extensions list
|
||||||
, mutableExtensionsFile
|
# this file will be created/updated by vscodeExts2nix when vscode exists
|
||||||
|
mutableExtensionsFile,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
mutableExtensionsFilePath = toString mutableExtensionsFile;
|
mutableExtensionsFilePath = toString mutableExtensionsFile;
|
||||||
mutableExtensions = lib.optionals (builtins.pathExists mutableExtensionsFile) (import mutableExtensionsFilePath);
|
mutableExtensions = lib.optionals (builtins.pathExists mutableExtensionsFile) (
|
||||||
vscodeWithConfiguration = import ./vscodeWithConfiguration.nix {
|
import mutableExtensionsFilePath
|
||||||
inherit lib writeShellScriptBin extensionsFromVscodeMarketplace;
|
);
|
||||||
vscodeDefault = vscode;
|
vscodeWithConfiguration =
|
||||||
}
|
import ./vscodeWithConfiguration.nix
|
||||||
{
|
{
|
||||||
inherit nixExtensions mutableExtensions vscodeExtsFolderName user-data-dir;
|
inherit lib writeShellScriptBin extensionsFromVscodeMarketplace;
|
||||||
};
|
vscodeDefault = vscode;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
inherit
|
||||||
|
nixExtensions
|
||||||
|
mutableExtensions
|
||||||
|
vscodeExtsFolderName
|
||||||
|
user-data-dir
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
updateSettings = import ./updateSettings.nix { inherit lib writeShellScriptBin jq; };
|
updateSettings = import ./updateSettings.nix { inherit lib writeShellScriptBin jq; };
|
||||||
userSettingsFolder = "${ user-data-dir }/User";
|
userSettingsFolder = "${user-data-dir}/User";
|
||||||
|
|
||||||
updateSettingsCmd = updateSettings {
|
updateSettingsCmd = updateSettings {
|
||||||
settings = {
|
settings = {
|
||||||
"extensions.autoCheckUpdates" = false;
|
"extensions.autoCheckUpdates" = false;
|
||||||
"extensions.autoUpdate" = false;
|
"extensions.autoUpdate" = false;
|
||||||
"update.mode" = "none";
|
"update.mode" = "none";
|
||||||
} // settings;
|
} // settings;
|
||||||
inherit userSettingsFolder;
|
inherit userSettingsFolder;
|
||||||
createIfDoesNotExists = createSettingsIfDoesNotExists;
|
createIfDoesNotExists = createSettingsIfDoesNotExists;
|
||||||
@ -62,14 +73,16 @@ let
|
|||||||
symlinkFromUserSetting = (user-data-dir != "");
|
symlinkFromUserSetting = (user-data-dir != "");
|
||||||
};
|
};
|
||||||
|
|
||||||
vscodeExts2nix = import ./vscodeExts2nix.nix {
|
vscodeExts2nix =
|
||||||
inherit lib writeShellScriptBin;
|
import ./vscodeExts2nix.nix
|
||||||
vscodeDefault = vscodeWithConfiguration;
|
{
|
||||||
}
|
inherit lib writeShellScriptBin;
|
||||||
{
|
vscodeDefault = vscodeWithConfiguration;
|
||||||
extensionsToIgnore = nixExtensions;
|
}
|
||||||
extensions = mutableExtensions;
|
{
|
||||||
};
|
extensionsToIgnore = nixExtensions;
|
||||||
|
extensions = mutableExtensions;
|
||||||
|
};
|
||||||
code = writeShellScriptBin "code" ''
|
code = writeShellScriptBin "code" ''
|
||||||
${updateSettingsCmd}/bin/vscodeNixUpdate-settings
|
${updateSettingsCmd}/bin/vscodeNixUpdate-settings
|
||||||
${updateLaunchCmd}/bin/vscodeNixUpdate-launch
|
${updateLaunchCmd}/bin/vscodeNixUpdate-launch
|
||||||
@ -81,5 +94,11 @@ let
|
|||||||
in
|
in
|
||||||
buildEnv {
|
buildEnv {
|
||||||
name = "vscodeEnv";
|
name = "vscodeEnv";
|
||||||
paths = [ code vscodeExts2nix updateSettingsCmd updateLaunchCmd updateKeybindingsCmd ];
|
paths = [
|
||||||
|
code
|
||||||
|
vscodeExts2nix
|
||||||
|
updateSettingsCmd
|
||||||
|
updateLaunchCmd
|
||||||
|
updateKeybindingsCmd
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
with import <nixpkgs>{};
|
with import <nixpkgs> { };
|
||||||
callPackage (import ./vscodeEnv.nix) {
|
callPackage (import ./vscodeEnv.nix)
|
||||||
extensionsFromVscodeMarketplace = vscode-utils.extensionsFromVscodeMarketplace;
|
{
|
||||||
vscodeDefault = vscode;
|
extensionsFromVscodeMarketplace = vscode-utils.extensionsFromVscodeMarketplace;
|
||||||
} {
|
vscodeDefault = vscode;
|
||||||
mutableExtensionsFile = ./extensions.nix;
|
}
|
||||||
settings = {
|
{
|
||||||
a = "fdsdf";
|
mutableExtensionsFile = ./extensions.nix;
|
||||||
t = "test";
|
settings = {
|
||||||
};
|
a = "fdsdf";
|
||||||
}
|
t = "test";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
# based on the passed vscode will stdout a nix expression with the installed vscode extensions
|
# based on the passed vscode will stdout a nix expression with the installed vscode extensions
|
||||||
{ lib
|
{
|
||||||
, vscodeDefault
|
lib,
|
||||||
, writeShellScriptBin
|
vscodeDefault,
|
||||||
|
writeShellScriptBin,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
##User input
|
##User input
|
||||||
{ vscode ? vscodeDefault
|
{
|
||||||
, extensionsToIgnore ? []
|
vscode ? vscodeDefault,
|
||||||
# will use those extensions to get sha256 if still exists when executed.
|
extensionsToIgnore ? [ ],
|
||||||
, extensions ? []
|
# will use those extensions to get sha256 if still exists when executed.
|
||||||
|
extensions ? [ ],
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
mktplcExtRefToFetchArgs = import ./mktplcExtRefToFetchArgs.nix;
|
mktplcExtRefToFetchArgs = import ./mktplcExtRefToFetchArgs.nix;
|
||||||
@ -17,22 +19,32 @@ writeShellScriptBin "vscodeExts2nix" ''
|
|||||||
echo '['
|
echo '['
|
||||||
|
|
||||||
for line in $(${vscode}/bin/code --list-extensions --show-versions \
|
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
|
) ; do
|
||||||
[[ $line =~ ([^.]*)\.([^@]*)@(.*) ]]
|
[[ $line =~ ([^.]*)\.([^@]*)@(.*) ]]
|
||||||
name=''${BASH_REMATCH[2]}
|
name=''${BASH_REMATCH[2]}
|
||||||
publisher=''${BASH_REMATCH[1]}
|
publisher=''${BASH_REMATCH[1]}
|
||||||
version=''${BASH_REMATCH[3]}
|
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"@([^.]*)"
|
reCurrentExt=$publisher$name"@([^.]*)"
|
||||||
if [[ $extensions =~ $reCurrentExt ]]; then
|
if [[ $extensions =~ $reCurrentExt ]]; then
|
||||||
sha256=''${BASH_REMATCH[1]}
|
sha256=''${BASH_REMATCH[1]}
|
||||||
else
|
else
|
||||||
sha256=$(
|
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
|
fi
|
||||||
|
|
||||||
|
@ -1,54 +1,61 @@
|
|||||||
# wrapper over vscode to control extensions per project (extensions folder will be created in execution path)
|
# wrapper over vscode to control extensions per project (extensions folder will be created in execution path)
|
||||||
{ lib
|
{
|
||||||
, writeShellScriptBin
|
lib,
|
||||||
, extensionsFromVscodeMarketplace
|
writeShellScriptBin,
|
||||||
, vscodeDefault
|
extensionsFromVscodeMarketplace,
|
||||||
|
vscodeDefault,
|
||||||
}:
|
}:
|
||||||
## User input
|
## User input
|
||||||
{ vscode ? vscodeDefault
|
{
|
||||||
# extensions to be symlinked into the project's extensions folder
|
vscode ? vscodeDefault,
|
||||||
, nixExtensions ? []
|
# extensions to be symlinked into the project's extensions folder
|
||||||
# extensions to be copied into the project's extensions folder
|
nixExtensions ? [ ],
|
||||||
, mutableExtensions ? []
|
# extensions to be copied into the project's extensions folder
|
||||||
, vscodeExtsFolderName ? ".vscode-exts"
|
mutableExtensions ? [ ],
|
||||||
, user-data-dir ? ''"''${TMP}vscodeWithConfiguration/vscode-data-dir"''
|
vscodeExtsFolderName ? ".vscode-exts",
|
||||||
|
user-data-dir ? ''"''${TMP}vscodeWithConfiguration/vscode-data-dir"'',
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
nixExtsDrvs = extensionsFromVscodeMarketplace nixExtensions;
|
nixExtsDrvs = extensionsFromVscodeMarketplace nixExtensions;
|
||||||
mutExtsDrvs = extensionsFromVscodeMarketplace mutableExtensions;
|
mutExtsDrvs = extensionsFromVscodeMarketplace mutableExtensions;
|
||||||
mutableExtsPaths = lib.forEach mutExtsDrvs ( e:
|
mutableExtsPaths = lib.forEach mutExtsDrvs (e: {
|
||||||
{
|
|
||||||
origin = "${e}/share/vscode/extensions/${e.vscodeExtUniqueId}";
|
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
|
#removed not defined extensions
|
||||||
rmExtensions = lib.optionalString (nixExtensions++mutableExtensions != []) ''
|
rmExtensions = lib.optionalString (nixExtensions ++ mutableExtensions != [ ]) ''
|
||||||
find ${vscodeExtsFolderName} -mindepth 1 -maxdepth 1 ${
|
find ${vscodeExtsFolderName} -mindepth 1 -maxdepth 1 ${
|
||||||
lib.concatMapStringsSep " " (e : "! -iname ${e.publisher}.${e.name} ") nixExtensions
|
lib.concatMapStringsSep " " (e: "! -iname ${e.publisher}.${e.name} ") nixExtensions
|
||||||
+
|
+ lib.concatMapStringsSep " " (
|
||||||
lib.concatMapStringsSep " " (e : "! -iname ${e.publisher}.${e.name}-${e.version} ") mutableExtensions
|
e: "! -iname ${e.publisher}.${e.name}-${e.version} "
|
||||||
} -exec rm -rf {} \;
|
) mutableExtensions
|
||||||
|
} -exec rm -rf {} \;
|
||||||
'';
|
'';
|
||||||
#copy mutable extension out of the nix store
|
#copy mutable extension out of the nix store
|
||||||
cpExtensions = ''
|
cpExtensions = ''
|
||||||
${lib.concatMapStringsSep "\n" (e : "ln -sfn ${e}/share/vscode/extensions/* ${vscodeExtsFolderName}/") nixExtsDrvs}
|
${lib.concatMapStringsSep "\n" (
|
||||||
${lib.concatMapStringsSep "\n" (ePath : ''
|
e: "ln -sfn ${e}/share/vscode/extensions/* ${vscodeExtsFolderName}/"
|
||||||
|
) nixExtsDrvs}
|
||||||
|
${lib.concatMapStringsSep "\n" (ePath: ''
|
||||||
if [ ! -d ${ePath.target} ]; then
|
if [ ! -d ${ePath.target} ]; then
|
||||||
cp -a ${ePath.origin} ${ePath.target}
|
cp -a ${ePath.origin} ${ePath.target}
|
||||||
chmod -R u+rwx ${ePath.target}
|
chmod -R u+rwx ${ePath.target}
|
||||||
fi
|
fi
|
||||||
'') mutableExtsPaths}
|
'') mutableExtsPaths}
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
writeShellScriptBin "code" ''
|
writeShellScriptBin "code" ''
|
||||||
if ! [[ "$@" =~ "--list-extension" ]]; then
|
if ! [[ "$@" =~ "--list-extension" ]]; then
|
||||||
mkdir -p "${vscodeExtsFolderName}"
|
mkdir -p "${vscodeExtsFolderName}"
|
||||||
${rmExtensions}
|
${rmExtensions}
|
||||||
${cpExtensions}
|
${cpExtensions}
|
||||||
fi
|
fi
|
||||||
${vscode}/bin/code --extensions-dir "${vscodeExtsFolderName}" ${
|
${vscode}/bin/code --extensions-dir "${vscodeExtsFolderName}" ${
|
||||||
lib.optionalString (user-data-dir != "") "--user-data-dir ${user-data-dir}"
|
lib.optionalString (user-data-dir != "") "--user-data-dir ${user-data-dir}"
|
||||||
} "$@"
|
} "$@"
|
||||||
''
|
''
|
||||||
|
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "gum";
|
pname = "gum";
|
||||||
version = "0.13.0";
|
version = "0.14.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "charmbracelet";
|
owner = "charmbracelet";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
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 = [
|
nativeBuildInputs = [
|
||||||
installShellFiles
|
installShellFiles
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "kn";
|
pname = "kn";
|
||||||
version = "1.13.0";
|
version = "1.14.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "knative";
|
owner = "knative";
|
||||||
repo = "client";
|
repo = "client";
|
||||||
rev = "knative-v${version}";
|
rev = "knative-v${version}";
|
||||||
sha256 = "sha256-irMipYDYMyA0l9d7tI1wS7XsxGWjBzTvxmhpKM1gLW8=";
|
sha256 = "sha256-sUMQrBAOhpMxMawOdvLFSUrcU9od6pmT7NabSywoQn8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = null;
|
vendorHash = null;
|
||||||
|
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "temporal";
|
pname = "temporal";
|
||||||
version = "1.23.0";
|
version = "1.23.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "temporalio";
|
owner = "temporalio";
|
||||||
repo = "temporal";
|
repo = "temporal";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-4e8z4k7loL9vVYe5jut1X/5qDboChQxZtPO1ZBHNb7o=";
|
hash = "sha256-yu5EfW5ThTJx6ouCBoEEq9wU4MtlFGqqRaHMgIPaRqY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-4xwdVFE0CGcOA8Efj4ECionPP9rbzT02zyr2HR143AM=";
|
vendorHash = "sha256-INmc/qbayjI+umkoGL8ih/iC7xqUkO1kfIZN5cQn/bw=";
|
||||||
|
|
||||||
excludedPackages = [ "./build" ];
|
excludedPackages = [ "./build" ];
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
callPackage ./generic.nix { } rec {
|
callPackage ./generic.nix { } rec {
|
||||||
pname = "signal-desktop-beta";
|
pname = "signal-desktop-beta";
|
||||||
dir = "Signal 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";
|
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
|
, xorg
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "whatsapp-for-linux";
|
pname = "whatsapp-for-linux";
|
||||||
version = "1.6.4";
|
version = "1.6.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "eneshecan";
|
owner = "eneshecan";
|
||||||
repo = pname;
|
repo = "whatsapp-for-linux";
|
||||||
rev = "v${version}";
|
rev = "v${finalAttrs.version}";
|
||||||
sha256 = "sha256-DU9tvIvDfOtBydR68yeRMFYdMjiBrOobCDXIZMmm7pQ=";
|
hash = "sha256-DU9tvIvDfOtBydR68yeRMFYdMjiBrOobCDXIZMmm7pQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -68,12 +68,12 @@ stdenv.mkDerivation rec {
|
|||||||
xorg.libXtst
|
xorg.libXtst
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
homepage = "https://github.com/eneshecan/whatsapp-for-linux";
|
homepage = "https://github.com/eneshecan/whatsapp-for-linux";
|
||||||
description = "Whatsapp desktop messaging app";
|
description = "Whatsapp desktop messaging app";
|
||||||
mainProgram = "whatsapp-for-linux";
|
mainProgram = "whatsapp-for-linux";
|
||||||
license = licenses.gpl3Only;
|
license = lib.licenses.gpl3Only;
|
||||||
maintainers = with maintainers; [ bartuka ];
|
maintainers = with lib.maintainers; [ bartuka ];
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
@ -5,14 +5,14 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
description = "Desktop sharing application, providing remote support and online meetings";
|
description = "Desktop sharing application, providing remote support and online meetings";
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "anydesk";
|
pname = "anydesk";
|
||||||
version = "6.3.2";
|
version = "6.3.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
urls = [
|
urls = [
|
||||||
"https://download.anydesk.com/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-${version}-amd64.tar.gz"
|
"https://download.anydesk.com/linux/generic-linux/anydesk-${finalAttrs.version}-amd64.tar.gz"
|
||||||
];
|
];
|
||||||
hash = "sha256-nSY4qHRsEvQk4M3JDHalAk3C6Y21WlfDQ2Gpp6/jjMs=";
|
hash = "sha256-nSY4qHRsEvQk4M3JDHalAk3C6Y21WlfDQ2Gpp6/jjMs=";
|
||||||
};
|
};
|
||||||
@ -54,7 +54,7 @@ in stdenv.mkDerivation rec {
|
|||||||
postFixup = ''
|
postFixup = ''
|
||||||
patchelf \
|
patchelf \
|
||||||
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
|
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
|
||||||
--set-rpath "${lib.makeLibraryPath buildInputs}" \
|
--set-rpath "${lib.makeLibraryPath finalAttrs.buildInputs}" \
|
||||||
$out/bin/anydesk
|
$out/bin/anydesk
|
||||||
|
|
||||||
# pangox is not actually necessary (it was only added as a part of gtkglext)
|
# 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;
|
inherit description;
|
||||||
homepage = "https://www.anydesk.com";
|
homepage = "https://www.anydesk.com";
|
||||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||||
license = licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
maintainers = with maintainers; [ shyim cheriimoya ];
|
maintainers = with lib.maintainers; [ shyim cheriimoya ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
@ -5,12 +5,12 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "6.7.5";
|
version = "6.7.6";
|
||||||
pname = "timeular";
|
pname = "timeular";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage";
|
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 {
|
appimageContents = appimageTools.extractType2 {
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "igv";
|
pname = "igv";
|
||||||
version = "2.17.3";
|
version = "2.17.4";
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://data.broadinstitute.org/igv/projects/downloads/${lib.versions.majorMinor version}/IGV_${version}.zip";
|
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 = ''
|
installPhase = ''
|
||||||
|
@ -77,6 +77,7 @@ let
|
|||||||
mpv-cheatsheet = callPackage ./mpv-cheatsheet.nix { };
|
mpv-cheatsheet = callPackage ./mpv-cheatsheet.nix { };
|
||||||
mpv-osc-modern = callPackage ./mpv-osc-modern.nix { };
|
mpv-osc-modern = callPackage ./mpv-osc-modern.nix { };
|
||||||
mpv-playlistmanager = callPackage ./mpv-playlistmanager.nix { };
|
mpv-playlistmanager = callPackage ./mpv-playlistmanager.nix { };
|
||||||
|
mpv-slicing = callPackage ./mpv-slicing.nix { };
|
||||||
mpv-webm = callPackage ./mpv-webm.nix { };
|
mpv-webm = callPackage ./mpv-webm.nix { };
|
||||||
mpvacious = callPackage ./mpvacious.nix { };
|
mpvacious = callPackage ./mpvacious.nix { };
|
||||||
quack = callPackage ./quack.nix { };
|
quack = callPackage ./quack.nix { };
|
||||||
@ -88,6 +89,7 @@ let
|
|||||||
thumbfast = callPackage ./thumbfast.nix { };
|
thumbfast = callPackage ./thumbfast.nix { };
|
||||||
thumbnail = callPackage ./thumbnail.nix { };
|
thumbnail = callPackage ./thumbnail.nix { };
|
||||||
uosc = callPackage ./uosc.nix { };
|
uosc = callPackage ./uosc.nix { };
|
||||||
|
videoclip = callPackage ./videoclip.nix { };
|
||||||
visualizer = callPackage ./visualizer.nix { };
|
visualizer = callPackage ./visualizer.nix { };
|
||||||
vr-reversal = callPackage ./vr-reversal.nix { };
|
vr-reversal = callPackage ./vr-reversal.nix { };
|
||||||
webtorrent-mpv-hook = callPackage ./webtorrent-mpv-hook.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 {
|
stdenv.mkDerivation rec {
|
||||||
pname = "vdr-softhddevice";
|
pname = "vdr-softhddevice";
|
||||||
version = "2.1.2";
|
version = "2.2.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ua0lnj";
|
owner = "ua0lnj";
|
||||||
repo = "vdr-plugin-softhddevice";
|
repo = "vdr-plugin-softhddevice";
|
||||||
sha256 = "sha256-y6b0nOf597uxS9zDh0NQOwLN81nk4U7lHK2CalyVi8s=";
|
sha256 = "sha256-1yCDNfUdQLgJ0WWyx0q3Hi0yxb6zxaK7wMzLD9jXweI=";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
pname = "anytype";
|
pname = "anytype";
|
||||||
version = "0.40.2";
|
version = "0.40.8";
|
||||||
name = "Anytype-${version}";
|
name = "Anytype-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/anyproto/anytype-ts/releases/download/v${version}/${name}.AppImage";
|
url = "https://github.com/anyproto/anytype-ts/releases/download/v${version}/${name}.AppImage";
|
||||||
name = "Anytype-${version}.AppImage";
|
name = "Anytype-${version}.AppImage";
|
||||||
hash = "sha256-RO8rYH0wHPxwey1ICAVK1jURs7b+oxLXRlychgi6c1c=";
|
hash = "sha256-Rvl52nKrOWQfT2qgssEpFjQCjva54zPvm6aEXmO0NTc=";
|
||||||
};
|
};
|
||||||
appimageContents = appimageTools.extractType2 { inherit name src; };
|
appimageContents = appimageTools.extractType2 { inherit name src; };
|
||||||
in appimageTools.wrapType2 {
|
in appimageTools.wrapType2 {
|
||||||
|
@ -7,13 +7,13 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "dmarc-report-converter";
|
pname = "dmarc-report-converter";
|
||||||
version = "0.7.1";
|
version = "0.7.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tierpod";
|
owner = "tierpod";
|
||||||
repo = "dmarc-report-converter";
|
repo = "dmarc-report-converter";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-cP96tiBpMFNEHuIF0sovi+Q4yW8wMUqr138RyMOFoho=";
|
hash = "sha256-93sNEBV7MxZr6tqPaFKgY0KA1J3W0HoCiIDZg268Smc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = null;
|
vendorHash = null;
|
||||||
|
@ -11,11 +11,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "gpt4all";
|
pname = "gpt4all";
|
||||||
version = "2.7.3";
|
version = "2.7.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
hash = "sha256-hIfeADP3tiooGZr/OMVFIkOAniMWXj9AsVzMPlVbucE=";
|
hash = "sha256-G22d2Q6z7DmPHM/DEE7iyJ8SWRZdoVdSWw+gnPVHdEg=";
|
||||||
owner = "nomic-ai";
|
owner = "nomic-ai";
|
||||||
repo = "gpt4all";
|
repo = "gpt4all";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
@ -23,11 +23,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
|
|
||||||
sourceRoot = "${finalAttrs.src.name}/gpt4all-chat";
|
sourceRoot = "${finalAttrs.src.name}/gpt4all-chat";
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
substituteInPlace CMakeLists.txt \
|
|
||||||
--replace-fail 'set(CMAKE_INSTALL_PREFIX ''${CMAKE_BINARY_DIR}/install)' ""
|
|
||||||
'';
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
qt6.wrapQtAppsHook
|
qt6.wrapQtAppsHook
|
||||||
|
@ -7,20 +7,20 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
pname = "hoppscotch";
|
pname = "hoppscotch";
|
||||||
version = "24.3.1-2";
|
version = "24.3.2-1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
aarch64-darwin = {
|
aarch64-darwin = {
|
||||||
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_aarch64.dmg";
|
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 = {
|
x86_64-darwin = {
|
||||||
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_x64.dmg";
|
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_x64.dmg";
|
||||||
hash = "sha256-itC6PdNdzcw5Lv/hQkT0AsTGQ8kmTwT6cipyaAynph8=";
|
hash = "sha256-6vm3pQPg5OKRtP6W1CNQxy4fi9niw4Y4nXjargwHxuA=";
|
||||||
};
|
};
|
||||||
x86_64-linux = {
|
x86_64-linux = {
|
||||||
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_linux_x64.AppImage";
|
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}");
|
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
|
||||||
|
|
||||||
|
@ -18,14 +18,14 @@
|
|||||||
nixosTests,
|
nixosTests,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "keydb";
|
pname = "keydb";
|
||||||
version = "6.3.4";
|
version = "6.3.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "snapchat";
|
owner = "snapchat";
|
||||||
repo = "keydb";
|
repo = "keydb";
|
||||||
rev = "v${version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-j6qgK6P3Fv+b6k9jwKQ5zW7XLkKbXXcmHKBCQYvwEIU=";
|
hash = "sha256-j6qgK6P3Fv+b6k9jwKQ5zW7XLkKbXXcmHKBCQYvwEIU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -94,13 +94,13 @@ stdenv.mkDerivation rec {
|
|||||||
passthru.tests.redis = nixosTests.redis;
|
passthru.tests.redis = nixosTests.redis;
|
||||||
passthru.serverBin = "keydb-server";
|
passthru.serverBin = "keydb-server";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
homepage = "https://keydb.dev";
|
homepage = "https://keydb.dev";
|
||||||
description = "A Multithreaded Fork of Redis";
|
description = "A Multithreaded Fork of Redis";
|
||||||
license = licenses.bsd3;
|
license = lib.licenses.bsd3;
|
||||||
platforms = platforms.all;
|
platforms = lib.platforms.all;
|
||||||
changelog = "https://github.com/Snapchat/KeyDB/raw/v${version}/00-RELEASENOTES";
|
changelog = "https://github.com/Snapchat/KeyDB/raw/v${finalAttrs.version}/00-RELEASENOTES";
|
||||||
maintainers = teams.helsinki-systems.members;
|
maintainers = lib.teams.helsinki-systems.members;
|
||||||
mainProgram = "keydb-cli";
|
mainProgram = "keydb-cli";
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "kor";
|
pname = "kor";
|
||||||
version = "0.3.7";
|
version = "0.3.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "yonahd";
|
owner = "yonahd";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-wjq4IkF3agmculIH+WfBAGd0ciJBX9aj4EsmUvje9Aw=";
|
hash = "sha256-4lXLmh8BP7h6k8Tt/oklvv7fmDvmdKQP0P7gaCM2TK0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-UN3Zf8eo6kMNNzkGsnqyDVMgE2QXRn4wg+XULu/uBGE=";
|
vendorHash = "sha256-ScV12Xb+tVluXC2Jat44atkKXZIzIcUdZ+lyD1Y3dIM=";
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
HOME=$(mktemp -d)
|
HOME=$(mktemp -d)
|
||||||
|
@ -8,15 +8,17 @@
|
|||||||
, zug
|
, zug
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "lager";
|
pname = "lager";
|
||||||
version = "0.1.0";
|
version = "0.1.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "arximboldi";
|
owner = "arximboldi";
|
||||||
repo = "lager";
|
repo = "lager";
|
||||||
rev = "v${version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-KTHrVV/186l4klwlcfDwFsKVoOVqWCUPzHnIbWuatbg=";
|
hash = "sha256-KTHrVV/186l4klwlcfDwFsKVoOVqWCUPzHnIbWuatbg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
boost
|
boost
|
||||||
immer
|
immer
|
||||||
@ -28,10 +30,11 @@ stdenv.mkDerivation rec {
|
|||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-Dlager_BUILD_EXAMPLES=OFF"
|
"-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++";
|
description = "C++ library for value-oriented design using the unidirectional data-flow architecture — Redux for C++";
|
||||||
license = licenses.mit;
|
license = lib.licenses.mit;
|
||||||
maintainers = with maintainers; [ nek0 ];
|
maintainers = with lib.maintainers; [ nek0 ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "live555";
|
pname = "live555";
|
||||||
version = "2024.04.14";
|
version = "2024.04.19";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
urls = [
|
urls = [
|
||||||
@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
"https://download.videolan.org/contrib/live555/live.${finalAttrs.version}.tar.gz"
|
"https://download.videolan.org/contrib/live555/live.${finalAttrs.version}.tar.gz"
|
||||||
"mirror://sourceforge/slackbuildsdirectlinks/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 = [
|
patches = [
|
||||||
@ -54,8 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
config.linux
|
config.linux
|
||||||
''
|
''
|
||||||
# condition from icu/base.nix
|
# condition from icu/base.nix
|
||||||
+ lib.optionalString (stdenv.hostPlatform.libc == "glibc"
|
+ lib.optionalString (lib.elem stdenv.hostPlatform.libc [ "glibc" "musl" ]) ''
|
||||||
|| stdenv.hostPlatform.libc == "musl") ''
|
|
||||||
substituteInPlace liveMedia/include/Locale.hh \
|
substituteInPlace liveMedia/include/Locale.hh \
|
||||||
--replace '<xlocale.h>' '<locale.h>'
|
--replace '<xlocale.h>' '<locale.h>'
|
||||||
'';
|
'';
|
||||||
|
@ -6,11 +6,11 @@
|
|||||||
|
|
||||||
appimageTools.wrapType2 rec {
|
appimageTools.wrapType2 rec {
|
||||||
pname = "lunar-client";
|
pname = "lunar-client";
|
||||||
version = "3.2.5";
|
version = "3.2.6";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}.AppImage";
|
url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}.AppImage";
|
||||||
hash = "sha512-flve07l13w4aRPPMhbf1Nbaxy6i1ljxx2J/9vg4WLQK4k09PVJKGn6b8nxe5d90LCYMhwEHfEvrHFB/tNFKJ9w==";
|
hash = "sha512-JZ6fXUDurLxe6acRRXTHot2GTUqMaSwy7N5K4cmFmOn4s8W2aXek+o8med3ytaxoTd6FmibXmCxrjnOVMHBRGA==";
|
||||||
};
|
};
|
||||||
|
|
||||||
extraInstallCommands =
|
extraInstallCommands =
|
||||||
|
@ -7,18 +7,18 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
pname = "pinact";
|
pname = "pinact";
|
||||||
version = "0.1.2";
|
version = "0.1.3";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "suzuki-shunsuke";
|
owner = "suzuki-shunsuke";
|
||||||
repo = "pinact";
|
repo = "pinact";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-OQo21RHk0c+eARKrA2qB4NAWWanb94DOZm4b9lqDz8o=";
|
hash = "sha256-ifUnF7u4/vMy89xb7sk4tPKQYdFBYAIHc0GYVBMWvWM=";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
buildGoModule {
|
buildGoModule {
|
||||||
inherit pname version src;
|
inherit pname version src;
|
||||||
|
|
||||||
vendorHash = "sha256-g7rdIE+w/pn70i8fOmAo/QGjpla3AUWm7a9MOhNmrgE=";
|
vendorHash = "sha256-ht4eV62w9AWKYahrd83LmBI+Tu2Q64YA3t90N4BR1e4=";
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
testers,
|
testers,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
bundlerApp {
|
(bundlerApp {
|
||||||
pname = "bolt";
|
pname = "bolt";
|
||||||
|
|
||||||
gemdir = ./.;
|
gemdir = ./.;
|
||||||
@ -42,4 +42,6 @@ bundlerApp {
|
|||||||
maintainers = with lib.maintainers; [ uvnikita anthonyroussel ];
|
maintainers = with lib.maintainers; [ uvnikita anthonyroussel ];
|
||||||
platforms = lib.platforms.unix;
|
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 {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
version = "6.1.1";
|
|
||||||
pname = "scotch";
|
pname = "scotch";
|
||||||
src_name = "scotch_${version}";
|
version = "6.1.1";
|
||||||
|
|
||||||
buildInputs = [ bison mpi flex zlib ];
|
buildInputs = [
|
||||||
|
bison
|
||||||
|
mpi
|
||||||
|
flex
|
||||||
|
zlib
|
||||||
|
];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitLab {
|
||||||
url = "https://gforge.inria.fr/frs/download.php/file/34618/${src_name}.tar.gz";
|
domain = "gitlab.inria.fr";
|
||||||
sha256 = "sha256-OQUvWf9HSkppzvwlzzyvhClACIneugEO5kA8oYj4sxE=";
|
owner = "scotch";
|
||||||
|
repo = "scotch";
|
||||||
|
rev = "v${finalAttrs.version}";
|
||||||
|
hash = "sha256-GUV6s+P56OAJq9AMe+LZOMPICQO/RuIi+hJAecmO5Wc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = "${src_name}/src";
|
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
cd src
|
||||||
ln -s Make.inc/Makefile.inc.x86-64_pc_linux2 Makefile.inc
|
ln -s Make.inc/Makefile.inc.x86-64_pc_linux2 Makefile.inc
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildFlags = [ "scotch ptscotch" ];
|
buildFlags = [ "scotch ptscotch" ];
|
||||||
|
|
||||||
installFlags = [ "prefix=\${out}" ];
|
installFlags = [ "prefix=\${out}" ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
@ -32,5 +47,4 @@ stdenv.mkDerivation rec {
|
|||||||
maintainers = [ lib.maintainers.bzizou ];
|
maintainers = [ lib.maintainers.bzizou ];
|
||||||
platforms = lib.platforms.linux;
|
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: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "silverbullet";
|
pname = "silverbullet";
|
||||||
version = "0.7.6";
|
version = "0.7.7";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/silverbulletmd/silverbullet/releases/download/${finalAttrs.version}/silverbullet.js";
|
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;
|
dontUnpack = true;
|
||||||
|
@ -59,14 +59,14 @@ let
|
|||||||
];
|
];
|
||||||
py = python3.withPackages python-deps;
|
py = python3.withPackages python-deps;
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "syslog-ng";
|
pname = "syslog-ng";
|
||||||
version = "4.7.1";
|
version = "4.7.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "syslog-ng";
|
owner = "syslog-ng";
|
||||||
repo = "syslog-ng";
|
repo = "syslog-ng";
|
||||||
rev = "syslog-ng-${version}";
|
rev = "syslog-ng-${finalAttrs.version}";
|
||||||
hash = "sha256-runFMUxQv7B023I38QfGqn89ZbzA5vMXHOOkYwMxArI=";
|
hash = "sha256-runFMUxQv7B023I38QfGqn89ZbzA5vMXHOOkYwMxArI=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
@ -117,11 +117,11 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
homepage = "https://www.syslog-ng.com";
|
homepage = "https://www.syslog-ng.com";
|
||||||
description = "Next-generation syslogd with advanced networking and filtering capabilities";
|
description = "Next-generation syslogd with advanced networking and filtering capabilities";
|
||||||
license = with licenses; [ gpl2Plus lgpl21Plus ];
|
license = with lib.licenses; [ gpl2Plus lgpl21Plus ];
|
||||||
maintainers = with maintainers; [ vifino ];
|
maintainers = with lib.maintainers; [ vifino ];
|
||||||
platforms = platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
@ -27,11 +27,11 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "unciv";
|
pname = "unciv";
|
||||||
version = "4.11.8";
|
version = "4.11.9";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
|
url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
|
||||||
hash = "sha256-iNcz6kfzlr1f1kC6xo1htyT46JjgEMeo21JIfOBxeQw=";
|
hash = "sha256-fAosJmEAQGA1QAyabcmqwuDeqUM+t3mNIfSOrAwc5hg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
stdenvNoCC.mkDerivation rec {
|
stdenvNoCC.mkDerivation rec {
|
||||||
pname = "cascadia-code";
|
pname = "cascadia-code";
|
||||||
version = "2111.01";
|
version = "2404.23";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://github.com/microsoft/cascadia-code/releases/download/v${version}/CascadiaCode-${version}.zip";
|
url = "https://github.com/microsoft/cascadia-code/releases/download/v${version}/CascadiaCode-${version}.zip";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
hash = "sha256-v9Vm5X80wEvorMhIlRw3MnyuSOdBpTl9ibBPpmm1vig=";
|
hash = "sha256-Z2AzBeNiM6mc1OHCJRv0rUvH8WRygyQGSOvwbAISYHE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
@ -24,7 +24,7 @@ stdenvNoCC.mkDerivation rec {
|
|||||||
homepage = "https://github.com/microsoft/cascadia-code";
|
homepage = "https://github.com/microsoft/cascadia-code";
|
||||||
changelog = "https://github.com/microsoft/cascadia-code/raw/v${version}/FONTLOG.txt";
|
changelog = "https://github.com/microsoft/cascadia-code/raw/v${version}/FONTLOG.txt";
|
||||||
license = licenses.ofl;
|
license = licenses.ofl;
|
||||||
maintainers = [ ];
|
maintainers = with maintainers; [ ryanccn ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -274,7 +274,7 @@ in stdenv.mkDerivation (finalAttrs: {
|
|||||||
# Platforms with host tools from
|
# Platforms with host tools from
|
||||||
# https://doc.rust-lang.org/nightly/rustc/platform-support.html
|
# https://doc.rust-lang.org/nightly/rustc/platform-support.html
|
||||||
"x86_64-darwin" "i686-darwin" "aarch64-darwin"
|
"x86_64-darwin" "i686-darwin" "aarch64-darwin"
|
||||||
"i686-freebsd13" "x86_64-freebsd13"
|
"i686-freebsd" "x86_64-freebsd"
|
||||||
"x86_64-solaris"
|
"x86_64-solaris"
|
||||||
"aarch64-linux" "armv6l-linux" "armv7l-linux" "i686-linux"
|
"aarch64-linux" "armv6l-linux" "armv7l-linux" "i686-linux"
|
||||||
"loongarch64-linux" "powerpc64-linux" "powerpc64le-linux"
|
"loongarch64-linux" "powerpc64-linux" "powerpc64le-linux"
|
||||||
|
@ -19,12 +19,12 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
versionMap = {
|
versionMap = {
|
||||||
"2.4.2" = {
|
|
||||||
sha256 = "sha256-/APLUtEqr+h1nmMoRQogG73fibFwcaToPznoC0Pd7w8=";
|
|
||||||
};
|
|
||||||
"2.4.3" = {
|
"2.4.3" = {
|
||||||
sha256 = "sha256-icmq35K4KtPHSj1PFYoDiJPeoOTzlNyvyWNYPDC3w/I=";
|
sha256 = "sha256-icmq35K4KtPHSj1PFYoDiJPeoOTzlNyvyWNYPDC3w/I=";
|
||||||
};
|
};
|
||||||
|
"2.4.4" = {
|
||||||
|
sha256 = "sha256-ipMmJ7Px2OlhjxzcIl7csAJFaARpfiyH0UBoN2ShBtU=";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
# Collection of pre-built SBCL binaries for platforms that need them for
|
# Collection of pre-built SBCL binaries for platforms that need them for
|
||||||
# bootstrapping. Ideally these are to be avoided. If ECL (or any other
|
# bootstrapping. Ideally these are to be avoided. If ECL (or any other
|
||||||
|
@ -65,6 +65,6 @@ useStdenv.mkDerivation {
|
|||||||
homepage = "https://codeberg.org/ngn/k";
|
homepage = "https://codeberg.org/ngn/k";
|
||||||
license = lib.licenses.agpl3Only;
|
license = lib.licenses.agpl3Only;
|
||||||
maintainers = [ lib.maintainers.sternenseemann ];
|
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
|
# fails with Out of Memory Error
|
||||||
"test/sql/copy/parquet/batched_write/batch_memory_usage.test"
|
"test/sql/copy/parquet/batched_write/batch_memory_usage.test"
|
||||||
# wants http connection
|
# wants http connection
|
||||||
|
"test/sql/copy/csv/recursive_query_csv.test"
|
||||||
"test/sql/copy/csv/test_mixed_lines.test"
|
"test/sql/copy/csv/test_mixed_lines.test"
|
||||||
] ++ lib.optionals stdenv.isAarch64 [
|
] ++ lib.optionals stdenv.isAarch64 [
|
||||||
"test/sql/aggregate/aggregates/test_kurtosis.test"
|
"test/sql/aggregate/aggregates/test_kurtosis.test"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"version": "0.10.1",
|
"version": "0.10.2",
|
||||||
"rev": "4a89d97db8a5a23a15f3025c8d2d2885337c2637",
|
"rev": "1601d94f94a7e0d2eb805a94803eb1e3afbbe4ed",
|
||||||
"hash": "sha256-/j/DaUzsfACI5Izr4lblkYmIEmKsOXr760UTwC0l/qg="
|
"hash": "sha256-CTZ90KJvLPQqu1FYciEWsxJbvybCjeBsi/12bkfVd9Q="
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, fontconfig, autoreconfHook, DiskArbitration
|
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, fontconfig, autoreconfHook, DiskArbitration
|
||||||
, withJava ? false, jdk, ant
|
, withJava ? false, jdk17, ant, stripJavaArchivesHook
|
||||||
, withAACS ? false, libaacs
|
, withAACS ? false, libaacs
|
||||||
, withBDplus ? false, libbdplus
|
, withBDplus ? false, libbdplus
|
||||||
, withMetadata ? true, libxml2
|
, withMetadata ? true, libxml2
|
||||||
@ -19,23 +19,18 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config autoreconfHook ]
|
nativeBuildInputs = [ pkg-config autoreconfHook ]
|
||||||
++ lib.optionals withJava [ ant ];
|
++ lib.optionals withJava [ jdk17 ant stripJavaArchivesHook ];
|
||||||
|
|
||||||
buildInputs = [ fontconfig ]
|
buildInputs = [ fontconfig ]
|
||||||
++ lib.optional withJava jdk
|
|
||||||
++ lib.optional withMetadata libxml2
|
++ lib.optional withMetadata libxml2
|
||||||
++ lib.optional withFonts freetype
|
++ lib.optional withFonts freetype
|
||||||
++ lib.optional stdenv.isDarwin DiskArbitration;
|
++ lib.optional stdenv.isDarwin DiskArbitration;
|
||||||
|
|
||||||
propagatedBuildInputs = lib.optional withAACS libaacs;
|
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";
|
+ lib.optionalString withBDplus " -L${libbdplus}/lib -lbdplus";
|
||||||
|
|
||||||
preConfigure = lib.optionalString withJava ''
|
|
||||||
export JDK_HOME="${jdk.home}"
|
|
||||||
'';
|
|
||||||
|
|
||||||
configureFlags = lib.optional (!withJava) "--disable-bdjava-jar"
|
configureFlags = lib.optional (!withJava) "--disable-bdjava-jar"
|
||||||
++ lib.optional (!withMetadata) "--without-libxml2"
|
++ lib.optional (!withMetadata) "--without-libxml2"
|
||||||
++ lib.optional (!withFonts) "--without-freetype";
|
++ 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";
|
description = "A portable and efficient API to determine the call-chain of a program";
|
||||||
maintainers = with maintainers; [ orivej ];
|
maintainers = with maintainers; [ orivej ];
|
||||||
# https://github.com/libunwind/libunwind#libunwind
|
# 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;
|
license = licenses.mit;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -12,13 +12,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "python-qt";
|
pname = "python-qt";
|
||||||
version = "3.5.1";
|
version = "3.5.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "MeVisLab";
|
owner = "MeVisLab";
|
||||||
repo = "pythonqt";
|
repo = "pythonqt";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-IED6UFk8UTle7g/yPC0nXOEgJwrs6sB/Dk3OTyVgHPo=";
|
hash = "sha256-Mpi1pAPS/UuzaBK7I1kI0HlS3dphcKiVXIPuJwdEDXM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -109,6 +109,8 @@ stdenv.mkDerivation rec {
|
|||||||
"--disable-monolithic"
|
"--disable-monolithic"
|
||||||
"--enable-mediactrl"
|
"--enable-mediactrl"
|
||||||
"--with-nanosvg"
|
"--with-nanosvg"
|
||||||
|
"--disable-rpath"
|
||||||
|
"--enable-repro-build"
|
||||||
(if compat28 then "--enable-compat28" else "--disable-compat28")
|
(if compat28 then "--enable-compat28" else "--disable-compat28")
|
||||||
(if compat30 then "--enable-compat30" else "--disable-compat30")
|
(if compat30 then "--enable-compat30" else "--disable-compat30")
|
||||||
] ++ lib.optional unicode "--enable-unicode"
|
] ++ lib.optional unicode "--enable-unicode"
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "aiortm";
|
pname = "aiortm";
|
||||||
version = "0.8.12";
|
version = "0.8.13";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
@ -25,7 +25,7 @@ buildPythonPackage rec {
|
|||||||
owner = "MartinHjelmare";
|
owner = "MartinHjelmare";
|
||||||
repo = "aiortm";
|
repo = "aiortm";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-X7MqBDmVfLy5ajqhFcvA8oCaoxy3zLusXkB659qWR5E=";
|
hash = "sha256-JoolmxZFN0UG8wAMxMAYL8APFjpEcMECirCKUA/UBlY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -1,25 +1,27 @@
|
|||||||
{ lib
|
{
|
||||||
, buildPythonPackage
|
lib,
|
||||||
, fetchFromGitHub
|
anyio,
|
||||||
, hatchling
|
buildPythonPackage,
|
||||||
, anyio
|
dirty-equals,
|
||||||
, distro
|
distro,
|
||||||
, dirty-equals
|
fetchFromGitHub,
|
||||||
, httpx
|
google-auth,
|
||||||
, google-auth
|
hatch-fancy-pypi-readme,
|
||||||
, sniffio
|
hatchling,
|
||||||
, pydantic
|
httpx,
|
||||||
, pytest-asyncio
|
pydantic,
|
||||||
, respx
|
pytest-asyncio,
|
||||||
, tokenizers
|
pytestCheckHook,
|
||||||
, typing-extensions
|
pythonOlder,
|
||||||
, pytestCheckHook
|
respx,
|
||||||
, pythonOlder
|
sniffio,
|
||||||
|
tokenizers,
|
||||||
|
typing-extensions,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "anthropic";
|
pname = "anthropic";
|
||||||
version = "0.19.1";
|
version = "0.25.6";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
@ -28,14 +30,15 @@ buildPythonPackage rec {
|
|||||||
owner = "anthropics";
|
owner = "anthropics";
|
||||||
repo = "anthropic-sdk-python";
|
repo = "anthropic-sdk-python";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-D9asbwZ9puOuIK6w7cWJ2HmC3JYjamUZPOxVKWq+Va4=";
|
hash = "sha256-83TufOgu6W9UvoCEUgDiw6gXDAdwyIKEALVF0hjj6wk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
build-system = [
|
||||||
hatchling
|
hatchling
|
||||||
|
hatch-fancy-pypi-readme
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
dependencies = [
|
||||||
anyio
|
anyio
|
||||||
distro
|
distro
|
||||||
httpx
|
httpx
|
||||||
@ -56,13 +59,21 @@ buildPythonPackage rec {
|
|||||||
respx
|
respx
|
||||||
];
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "anthropic" ];
|
||||||
|
|
||||||
|
disabledTests = [
|
||||||
|
# Test require network access
|
||||||
|
"test_copy_build_request"
|
||||||
|
];
|
||||||
|
|
||||||
disabledTestPaths = [
|
disabledTestPaths = [
|
||||||
# require network access
|
# Test require network access
|
||||||
"tests/api_resources"
|
"tests/api_resources"
|
||||||
];
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pytestFlagsArray = [
|
||||||
"anthropic"
|
"-W"
|
||||||
|
"ignore::DeprecationWarning"
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
@ -366,7 +366,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "boto3-stubs";
|
pname = "boto3-stubs";
|
||||||
version = "1.34.94";
|
version = "1.34.95";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
@ -374,7 +374,7 @@ buildPythonPackage rec {
|
|||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
pname = "boto3_stubs";
|
pname = "boto3_stubs";
|
||||||
inherit version;
|
inherit version;
|
||||||
hash = "sha256-ZyKwsCQpPrN3E7jsNdAuLELEi0NhWoVExAKXLbBTQS0=";
|
hash = "sha256-QSAGsn7nB+m1GghLAqySsUOvijtWcnWCr+wqds6Tw7Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ setuptools ];
|
build-system = [ setuptools ];
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
, packaging
|
, packaging
|
||||||
, setuptools
|
, setuptools
|
||||||
, dbus-next
|
, dbus-next
|
||||||
|
, rubicon-objc
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
@ -30,6 +31,8 @@ buildPythonPackage rec {
|
|||||||
packaging
|
packaging
|
||||||
] ++ lib.optionals stdenv.isLinux [
|
] ++ lib.optionals stdenv.isLinux [
|
||||||
dbus-next
|
dbus-next
|
||||||
|
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||||
|
rubicon-objc
|
||||||
];
|
];
|
||||||
|
|
||||||
# no tests available, do the imports check instead
|
# 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}";
|
changelog = "https://github.com/samschott/desktop-notifier/releases/tag/v${version}";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ sfrijters ];
|
maintainers = with maintainers; [ sfrijters ];
|
||||||
platforms = platforms.linux;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,9 @@
|
|||||||
, duckdb
|
, duckdb
|
||||||
, hypothesis
|
, hypothesis
|
||||||
, ipython-sql
|
, ipython-sql
|
||||||
|
, pandas
|
||||||
, poetry-core
|
, poetry-core
|
||||||
|
, pytest-remotedata
|
||||||
, snapshottest
|
, snapshottest
|
||||||
, sqlalchemy
|
, sqlalchemy
|
||||||
, typing-extensions
|
, typing-extensions
|
||||||
@ -14,20 +16,18 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "duckdb-engine";
|
pname = "duckdb-engine";
|
||||||
version = "0.11.2";
|
version = "0.12.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
repo = "duckdb_engine";
|
repo = "duckdb_engine";
|
||||||
owner = "Mause";
|
owner = "Mause";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-yW1gaZ0B6JNX98KzAxf146goniNmWnkMUmJRrScot1w=";
|
hash = "sha256-cm0vbz0VZ2Ws6FDWJO16q4KZW2obs0CBNrfY9jmR+6A=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./remote_data.patch ];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
poetry-core
|
poetry-core
|
||||||
];
|
];
|
||||||
@ -42,24 +42,27 @@ buildPythonPackage rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
disabledTests = [
|
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 should be skipped based on sqlalchemy version but isn't and fails
|
||||||
"test_commit"
|
"test_commit"
|
||||||
# rowcount no longer generates an attribute error.
|
|
||||||
"test_rowcount"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
hypothesis
|
hypothesis
|
||||||
ipython-sql
|
ipython-sql
|
||||||
# TODO(cpcloud): include pandas here when it supports sqlalchemy 2.0
|
pandas
|
||||||
|
pytest-remotedata
|
||||||
snapshottest
|
snapshottest
|
||||||
typing-extensions
|
typing-extensions
|
||||||
];
|
];
|
||||||
|
|
||||||
|
pytestFlagsArray = [
|
||||||
|
"-m" "'not remote_data'"
|
||||||
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [
|
||||||
"duckdb_engine"
|
"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
|
# 2. default to extension autoload & autoinstall disabled
|
||||||
substituteInPlace setup.py \
|
substituteInPlace setup.py \
|
||||||
--replace-fail "ParallelCompile()" 'ParallelCompile("NIX_BUILD_CORES")' \
|
--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 = {
|
env = {
|
||||||
@ -34,8 +34,6 @@ buildPythonPackage rec {
|
|||||||
OVERRIDE_GIT_DESCRIBE="v${version}-0-g${rev}";
|
OVERRIDE_GIT_DESCRIBE="v${version}-0-g${rev}";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontPretendSetuptoolsSCMVersion = true;
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pybind11
|
pybind11
|
||||||
setuptools-scm
|
setuptools-scm
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "flake8-bugbear";
|
pname = "flake8-bugbear";
|
||||||
version = "24.4.21";
|
version = "24.4.26";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
|||||||
owner = "PyCQA";
|
owner = "PyCQA";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-6jKVKVJuNpdKLzl2dTkr1cvArGWCWvuhyjww05r9W/c=";
|
hash = "sha256-jJ4/l2nzjqJDCe1pFrdkMvB5WJ+GJarOHgGZSzCS6nc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
@ -33,6 +33,6 @@ buildPythonPackage rec {
|
|||||||
homepage = "https://github.com/BYU-PRISM/GEKKO";
|
homepage = "https://github.com/BYU-PRISM/GEKKO";
|
||||||
changelog = "https://github.com/BYU-PRISM/GEKKO/releases/tag/v${version}";
|
changelog = "https://github.com/BYU-PRISM/GEKKO/releases/tag/v${version}";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ ayes-web ];
|
maintainers = with maintainers; [ BatteredBunny ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,20 +2,22 @@
|
|||||||
, stdenv
|
, stdenv
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, pytestCheckHook
|
||||||
|
, pythonOlder
|
||||||
|
, setuptools
|
||||||
|
|
||||||
, fiona
|
, fiona
|
||||||
, packaging
|
, packaging
|
||||||
, pandas
|
, pandas
|
||||||
, pyproj
|
, pyproj
|
||||||
, pytestCheckHook
|
|
||||||
, pythonOlder
|
|
||||||
, rtree
|
, rtree
|
||||||
, shapely
|
, shapely
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "geopandas";
|
pname = "geopandas";
|
||||||
version = "0.14.3";
|
version = "0.14.4";
|
||||||
format = "setuptools";
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
|
||||||
@ -23,9 +25,13 @@ buildPythonPackage rec {
|
|||||||
owner = "geopandas";
|
owner = "geopandas";
|
||||||
repo = "geopandas";
|
repo = "geopandas";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-qAINoqnCVfpg2mQhnu0qT/5EjUB+9a3//H8vJJnyj6A=";
|
hash = "sha256-FBhPcae8bnNnsfr14I1p22VhoOf9USF9DAcrAqx+zso=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
build-system = [
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
fiona
|
fiona
|
||||||
packaging
|
packaging
|
||||||
|
@ -1,24 +1,50 @@
|
|||||||
{ lib
|
{
|
||||||
, python3
|
lib,
|
||||||
, fetchPypi
|
aiohttp,
|
||||||
, buildPythonPackage
|
anthropic,
|
||||||
|
buildPythonPackage,
|
||||||
|
docstring-parser,
|
||||||
|
fetchFromGitHub,
|
||||||
|
openai,
|
||||||
|
poetry-core,
|
||||||
|
pydantic,
|
||||||
|
pytest-examples,
|
||||||
|
pytest-asyncio,
|
||||||
|
pytestCheckHook,
|
||||||
|
fastapi,
|
||||||
|
diskcache,
|
||||||
|
redis,
|
||||||
|
pythonOlder,
|
||||||
|
pythonRelaxDepsHook,
|
||||||
|
rich,
|
||||||
|
tenacity,
|
||||||
|
typer,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "instructor";
|
pname = "instructor";
|
||||||
version = "0.6.8";
|
version = "1.2.3";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchPypi {
|
disabled = pythonOlder "3.9";
|
||||||
inherit pname version;
|
|
||||||
hash = "sha256-4mHXPes1NdYu53XEN7gq626cKy9ju1M7U6n6akfbuVo=";
|
src = fetchFromGitHub {
|
||||||
|
owner = "jxnl";
|
||||||
|
repo = "instructor";
|
||||||
|
rev = "refs/tags/${version}";
|
||||||
|
hash = "sha256-LmorlFKIG7iPAK4pDbQqjxjiwB1md3u52B4u5WlqqTk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
pythonRelaxDeps = [
|
||||||
python3.pkgs.poetry-core
|
"docstring-parser"
|
||||||
|
"pydantic"
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = with python3.pkgs; [
|
build-system = [ poetry-core ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pythonRelaxDepsHook ];
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
aiohttp
|
aiohttp
|
||||||
docstring-parser
|
docstring-parser
|
||||||
openai
|
openai
|
||||||
@ -28,8 +54,31 @@ buildPythonPackage rec {
|
|||||||
typer
|
typer
|
||||||
];
|
];
|
||||||
|
|
||||||
|
nativeCheckInputs = [
|
||||||
|
anthropic
|
||||||
|
fastapi
|
||||||
|
redis
|
||||||
|
diskcache
|
||||||
|
pytest-asyncio
|
||||||
|
pytest-examples
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [ "instructor" ];
|
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; {
|
meta = with lib; {
|
||||||
description = "Structured outputs for llm";
|
description = "Structured outputs for llm";
|
||||||
homepage = "https://github.com/jxnl/instructor";
|
homepage = "https://github.com/jxnl/instructor";
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "langchain-community";
|
pname = "langchain-community";
|
||||||
version = "0.0.33";
|
version = "0.0.34";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
@ -26,7 +26,7 @@ buildPythonPackage rec {
|
|||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
pname = "langchain_community";
|
pname = "langchain_community";
|
||||||
inherit version;
|
inherit version;
|
||||||
hash = "sha256-u1bbwe8RygnyWEaOETaHga3akhnhRAc+MM2mlJbTQrI=";
|
hash = "sha256-lumoB9m0d3gg31qXCZb2vzrVYyE3vw9NhjvYMr3rKw8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ poetry-core ];
|
build-system = [ poetry-core ];
|
||||||
|
@ -158,6 +158,8 @@ buildPythonPackage rec {
|
|||||||
# AssertionErrors
|
# AssertionErrors
|
||||||
"test_callback_handlers"
|
"test_callback_handlers"
|
||||||
"test_generic_fake_chat_model"
|
"test_generic_fake_chat_model"
|
||||||
|
# Test is outdated
|
||||||
|
"test_serializable_mapping"
|
||||||
];
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [ "langchain" ];
|
pythonImportsCheck = [ "langchain" ];
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
stdenv,
|
stdenv,
|
||||||
|
anthropic,
|
||||||
attr,
|
attr,
|
||||||
buildPythonPackage,
|
buildPythonPackage,
|
||||||
fastapi,
|
fastapi,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
freezegun,
|
freezegun,
|
||||||
httpx,
|
httpx,
|
||||||
|
instructor,
|
||||||
orjson,
|
orjson,
|
||||||
poetry-core,
|
poetry-core,
|
||||||
pydantic,
|
pydantic,
|
||||||
@ -20,7 +22,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "langsmith";
|
pname = "langsmith";
|
||||||
version = "0.1.48";
|
version = "0.1.51";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
@ -29,7 +31,7 @@ buildPythonPackage rec {
|
|||||||
owner = "langchain-ai";
|
owner = "langchain-ai";
|
||||||
repo = "langsmith-sdk";
|
repo = "langsmith-sdk";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-n24rlulncJHNyHFqszEbALGfnT7+tTGjLjwR7Fw1smI=";
|
hash = "sha256-31DC5SqI2V7d3iC5LlZgU5xB0Lh6GrBFFF3A+HEbUKg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = "${src.name}/python";
|
sourceRoot = "${src.name}/python";
|
||||||
@ -48,9 +50,11 @@ buildPythonPackage rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
|
anthropic
|
||||||
fastapi
|
fastapi
|
||||||
freezegun
|
freezegun
|
||||||
httpx
|
httpx
|
||||||
|
instructor
|
||||||
pytest-asyncio
|
pytest-asyncio
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
uvicorn
|
uvicorn
|
||||||
@ -81,6 +85,7 @@ buildPythonPackage rec {
|
|||||||
"tests/unit_tests/test_client.py"
|
"tests/unit_tests/test_client.py"
|
||||||
# Tests require a Langsmith API key
|
# Tests require a Langsmith API key
|
||||||
"tests/evaluation/test_evaluation.py"
|
"tests/evaluation/test_evaluation.py"
|
||||||
|
"tests/external/test_instructor_evals.py"
|
||||||
];
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [ "langsmith" ];
|
pythonImportsCheck = [ "langsmith" ];
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{ lib
|
{ lib
|
||||||
|
, stdenv
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, makePythonPath
|
, makePythonPath
|
||||||
@ -17,6 +18,7 @@
|
|||||||
, pyro5
|
, pyro5
|
||||||
, requests
|
, requests
|
||||||
, rich
|
, rich
|
||||||
|
, rubicon-objc
|
||||||
, setuptools
|
, setuptools
|
||||||
, survey
|
, survey
|
||||||
, typing-extensions
|
, typing-extensions
|
||||||
@ -59,6 +61,8 @@ buildPythonPackage rec {
|
|||||||
typing-extensions
|
typing-extensions
|
||||||
watchdog
|
watchdog
|
||||||
xattr
|
xattr
|
||||||
|
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||||
|
rubicon-objc
|
||||||
];
|
];
|
||||||
|
|
||||||
makeWrapperArgs = [
|
makeWrapperArgs = [
|
||||||
@ -71,6 +75,9 @@ buildPythonPackage rec {
|
|||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# ModuleNotFoundError: No module named '_watchdog_fsevents'
|
||||||
|
doCheck = !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64);
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
export HOME=$(mktemp -d)
|
export HOME=$(mktemp -d)
|
||||||
'';
|
'';
|
||||||
@ -90,6 +97,19 @@ buildPythonPackage rec {
|
|||||||
"test_locking_multiprocess"
|
"test_locking_multiprocess"
|
||||||
# OSError: [Errno 95] Operation not supported
|
# OSError: [Errno 95] Operation not supported
|
||||||
"test_move_preserves_xattrs"
|
"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 = [
|
pythonImportsCheck = [
|
||||||
@ -104,7 +124,6 @@ buildPythonPackage rec {
|
|||||||
homepage = "https://maestral.app";
|
homepage = "https://maestral.app";
|
||||||
changelog = "https://github.com/samschott/maestral/releases/tag/v${version}";
|
changelog = "https://github.com/samschott/maestral/releases/tag/v${version}";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ peterhoeg sfrijters ];
|
maintainers = with maintainers; [ natsukium peterhoeg sfrijters ];
|
||||||
platforms = platforms.unix;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,43 @@
|
|||||||
{ lib
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, poetry-core
|
||||||
|
, pytest-xdist
|
||||||
|
, pytestCheckHook
|
||||||
|
, pythonOlder
|
||||||
|
, pythonRelaxDepsHook
|
||||||
|
|
||||||
, cairo
|
, cairo
|
||||||
, ffmpeg
|
, ffmpeg
|
||||||
, texliveInfraOnly
|
, 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
|
let
|
||||||
@ -42,13 +74,11 @@ let
|
|||||||
babel-english gnu-freefont mathastext cbfonts-fd
|
babel-english gnu-freefont mathastext cbfonts-fd
|
||||||
]);
|
]);
|
||||||
|
|
||||||
python = python3;
|
in buildPythonPackage rec {
|
||||||
|
|
||||||
in python.pkgs.buildPythonApplication rec {
|
|
||||||
pname = "manim";
|
pname = "manim";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
version = "0.18.1";
|
version = "0.18.1";
|
||||||
disabled = python3.pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ManimCommunity";
|
owner = "ManimCommunity";
|
||||||
@ -57,7 +87,7 @@ in python.pkgs.buildPythonApplication rec {
|
|||||||
hash = "sha256-o+Wl3NMK6yopcsRVFtZuUE9c1GABa5d8rbQNHDJ4OiQ=";
|
hash = "sha256-o+Wl3NMK6yopcsRVFtZuUE9c1GABa5d8rbQNHDJ4OiQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = with python.pkgs; [
|
nativeBuildInputs = [
|
||||||
poetry-core
|
poetry-core
|
||||||
pythonRelaxDepsHook
|
pythonRelaxDepsHook
|
||||||
];
|
];
|
||||||
@ -81,7 +111,7 @@ in python.pkgs.buildPythonApplication rec {
|
|||||||
|
|
||||||
buildInputs = [ cairo ];
|
buildInputs = [ cairo ];
|
||||||
|
|
||||||
propagatedBuildInputs = with python.pkgs; [
|
propagatedBuildInputs = [
|
||||||
click
|
click
|
||||||
click-default-group
|
click-default-group
|
||||||
cloup
|
cloup
|
||||||
@ -101,7 +131,6 @@ in python.pkgs.buildPythonApplication rec {
|
|||||||
pycairo
|
pycairo
|
||||||
pydub
|
pydub
|
||||||
pygments
|
pygments
|
||||||
pysrt
|
|
||||||
rich
|
rich
|
||||||
scipy
|
scipy
|
||||||
screeninfo
|
screeninfo
|
||||||
@ -122,10 +151,9 @@ in python.pkgs.buildPythonApplication rec {
|
|||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
ffmpeg
|
ffmpeg
|
||||||
manim-tinytex
|
manim-tinytex
|
||||||
] ++ (with python.pkgs; [
|
|
||||||
pytest-xdist
|
pytest-xdist
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
]);
|
];
|
||||||
|
|
||||||
# about 55 of ~600 tests failing mostly due to demand for display
|
# about 55 of ~600 tests failing mostly due to demand for display
|
||||||
disabledTests = import ./failing_tests.nix;
|
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