Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2024-11-07 06:05:15 +00:00 committed by GitHub
commit 8d77160080
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
78 changed files with 2031 additions and 1309 deletions

View File

@ -117,7 +117,7 @@ in appimageTools.wrapType2 {
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/irccloud.png \ install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/irccloud.png \
$out/share/icons/hicolor/512x512/apps/irccloud.png $out/share/icons/hicolor/512x512/apps/irccloud.png
substituteInPlace $out/share/applications/irccloud.desktop \ substituteInPlace $out/share/applications/irccloud.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}' --replace-fail 'Exec=AppRun' 'Exec=${pname}'
''; '';
} }
``` ```
@ -147,7 +147,7 @@ let
appimageContents = appimageTools.extract { appimageContents = appimageTools.extract {
inherit pname version src; inherit pname version src;
postExtract = '' postExtract = ''
substituteInPlace $out/irccloud.desktop --replace 'Exec=AppRun' 'Exec=${pname}' substituteInPlace $out/irccloud.desktop --replace-fail 'Exec=AppRun' 'Exec=${pname}'
''; '';
}; };
in appimageTools.wrapType2 { in appimageTools.wrapType2 {

View File

@ -4447,6 +4447,12 @@
{ fingerprint = "D8CB 816A B678 A4E6 1EC7 5325 230F 4AC1 53F9 0F29"; } { fingerprint = "D8CB 816A B678 A4E6 1EC7 5325 230F 4AC1 53F9 0F29"; }
]; ];
}; };
corbinwunderlich = {
email = "corbin@wcopy.net";
github = "CorbinWunderlich";
githubId = 140280062;
name = "Corbin Wunderlich";
};
corngood = { corngood = {
email = "corngood@gmail.com"; email = "corngood@gmail.com";
github = "corngood"; github = "corngood";

View File

@ -7,7 +7,8 @@
- **This will be the last release of Nixpkgs to support macOS Sierra 10.12 to macOS Catalina 10.15.** - **This will be the last release of Nixpkgs to support macOS Sierra 10.12 to macOS Catalina 10.15.**
Starting with release 25.05, the minimum supported version will be macOS Big Sur 11, and we cannot guarantee that packages will continue to work on older versions of macOS. Starting with release 25.05, the minimum supported version will be macOS Big Sur 11, and we cannot guarantee that packages will continue to work on older versions of macOS.
Users on old macOS versions should consider upgrading to a supported version (potentially using [OpenCore Legacy Patcher](https://dortania.github.io/OpenCore-Legacy-Patcher/) for old hardware) or installing NixOS. Users on old macOS versions should consider upgrading to a supported version (potentially using [OpenCore Legacy Patcher](https://dortania.github.io/OpenCore-Legacy-Patcher/) for old hardware) or installing NixOS.
If neither of those options are viable and you require new versions of software, [MacPorts](https://www.macports.org/) supports back to Mac OS X Snow Leopard 10.6. If neither of those options are viable and you require new versions of software, [MacPorts](https://www.macports.org/) supports versions back to Mac OS X Snow Leopard 10.6.
- Nix was updated to 2.24, which brings a lot of improvements and fixes. See the release notes for - Nix was updated to 2.24, which brings a lot of improvements and fixes. See the release notes for
[2.19](https://nix.dev/manual/nix/latest/release-notes/rl-2.19), [2.19](https://nix.dev/manual/nix/latest/release-notes/rl-2.19),
[2.20](https://nix.dev/manual/nix/latest/release-notes/rl-2.20), [2.20](https://nix.dev/manual/nix/latest/release-notes/rl-2.20),
@ -15,39 +16,38 @@
[2.22](https://nix.dev/manual/nix/latest/release-notes/rl-2.22), [2.22](https://nix.dev/manual/nix/latest/release-notes/rl-2.22),
[2.23](https://nix.dev/manual/nix/latest/release-notes/rl-2.23), [2.23](https://nix.dev/manual/nix/latest/release-notes/rl-2.23),
[2.24](https://nix.dev/manual/nix/latest/release-notes/rl-2.24). [2.24](https://nix.dev/manual/nix/latest/release-notes/rl-2.24).
Notable changes include improvements to Git fetching, documentation comment support in `nix-repl> :doc`, as well as many quality of life improvements. Notable changes include improvements to Git fetching, documentation comment support in `nix-repl> :doc`, as well as many quality of life additions.
- This will be the last release of Nixpkgs to support versions of CUDA prior to CUDA 12.0. - This will be the last release of Nixpkgs to support versions of CUDA prior to CUDA 12.0.
These versions only work with old compiler versions that will be unsupported by the time of the Nixpkgs 25.05 release. These versions only work with old compiler versions that will be unsupported by the time of the Nixpkgs 25.05 release.
In future, users should expect CUDA versions to be dropped as the compiler versions they require leave upstream support windows. In the future, users should expect CUDA versions to be dropped as the compiler versions they require leave upstream support windows.
- Convenience options for `amdgpu`, open source driver for Radeon cards, is now available under `hardware.amdgpu`. - Convenience options for `amdgpu`, the open source driver for Radeon cards, are now available under [`hardware.amdgpu`](#opt-hardware.amdgpu.initrd.enable).
- [AMDVLK](https://github.com/GPUOpen-Drivers/AMDVLK), AMD's open source Vulkan driver, is now available to be configured as `hardware.amdgpu.amdvlk` option. - [AMDVLK](https://github.com/GPUOpen-Drivers/AMDVLK), AMD's open source Vulkan driver, is now available to be configured under the [`hardware.amdgpu.amdvlk`](#opt-hardware.amdgpu.amdvlk.enable) option.
This also allows configuring runtime settings of AMDVLK and enabling experimental features. This also allows configuring runtime settings for AMDVLK, including enabling experimental features.
- The `moonlight-qt` package ([Moonlight game streaming](https://moonlight-stream.org/)) now has HDR support on Linux systems.
- The `moonlight-qt` package (for [Moonlight game streaming](https://moonlight-stream.org/)) now has HDR support on Linux systems.
- PostgreSQL now defaults to major version 16. - PostgreSQL now defaults to major version 16.
- GNOME has been updated to version 47. Refer to the [release notes](https://release.gnome.org/47/) for more details. - GNOME has been updated to version 47. Refer to the [release notes](https://release.gnome.org/47/) for more details.
- `authelia` has been upgraded to version 4.38. This version brings several features and improvements which are detailed in the [release blog post](https://www.authelia.com/blog/4.38-release-notes/). - `authelia` has been upgraded to version 4.38. This version brings several features and improvements which are detailed in the [release blog post](https://www.authelia.com/blog/4.38-release-notes/).
This release also deprecates some configuration keys, which are likely to be removed in future version 5.0, but they are still supported and expected to be working in the current version. This release also deprecates some configuration keys which are likely to be removed in version 5.0.0.
- `compressDrv` can compress selected files in a derivation. `compressDrvWeb` compresses files for common web server usage (`.gz` with `zopfli`, `.br` with `brotli`). - `compressDrv` can compress selected files in a derivation. `compressDrvWeb` compresses files for common web server usage (`.gz` with `zopfli`, `.br` with `brotli`).
- `hardware.display` is a new module implementing workarounds for misbehaving monitors - [`hardware.display`](#opt-hardware.display.edid.enable) is a new module implementing workarounds for misbehaving monitors
through setting up custom EDID files and forcing kernel/framebuffer modes. by setting up custom EDID files and forcing kernel/framebuffer modes.
- A new display-manager `services.displayManager.ly` was added. - [`services.displayManager.ly`](#opt-services.displayManager.ly.enable) is a new module for configuring the display manager [ly](https://github.com/fairyglade/ly),
It is a tui based replacement of sddm and lightdm for window manager users. a TUI-based replacement for SDDM and LightDM meant for window manager users.
Users can use it by `services.displayManager.ly.enable` and config it by
`services.displayManager.ly.settings` to generate `/etc/ly/config.ini`
- `srcOnly` was rewritten to be more readable, have additional warnings in the event that something is probably wrong, use the `stdenv` provided by the derivation, and Noogle-compatible documentation was added. - `srcOnly` was rewritten to be more readable, have additional warnings in the event that something is probably wrong, use the `stdenv` provided by the derivation, and Noogle-compatible documentation was added.
- The default sound server for most graphical sessions has been switched from PulseAudio to PipeWire. - The default sound server for most graphical sessions has been switched from PulseAudio to PipeWire.
Users that want to keep PulseAudio will want to set `services.pipewire.enable = false;` and `hardware.pulseaudio.enable = true;`. Users that want to keep using PulseAudio will want to set `services.pipewire.enable = false;` and `hardware.pulseaudio.enable = true;`.
There is currently no plan to fully deprecate and remove PulseAudio, however, PipeWire should generally be preferred for new installs. There is currently no plan to fully deprecate and remove PulseAudio, however, PipeWire should generally be preferred for new installs.
- The Rust rewrite of the `switch-to-configuration` program is now used for system activation by default. - The Rust rewrite of the `switch-to-configuration` program is now used for system activation by default.
@ -55,7 +55,7 @@
The original Perl script is deprecated and is planned for removal in the 25.05 release. It will remain accessible until then by setting `system.switch.enableNg` to `false`. The original Perl script is deprecated and is planned for removal in the 25.05 release. It will remain accessible until then by setting `system.switch.enableNg` to `false`.
- Support for mounting filesystems from block devices protected with [dm-verity](https://docs.kernel.org/admin-guide/device-mapper/verity.html) - Support for mounting filesystems from block devices protected with [dm-verity](https://docs.kernel.org/admin-guide/device-mapper/verity.html)
was added through the `boot.initrd.systemd.dmVerity` option. was added through the [`boot.initrd.systemd.dmVerity`](#opt-boot.initrd.systemd.dmVerity.enable) option.
- The [Xen Project Hypervisor](https://xenproject.org) is once again available as a virtualisation option under [`virtualisation.xen`](#opt-virtualisation.xen.enable). - The [Xen Project Hypervisor](https://xenproject.org) is once again available as a virtualisation option under [`virtualisation.xen`](#opt-virtualisation.xen.enable).
- This release includes Xen [4.19.0](https://wiki.xenproject.org/wiki/Xen_Project_4.19_Release_Notes) and support for booting the hypervisor on EFI systems. - This release includes Xen [4.19.0](https://wiki.xenproject.org/wiki/Xen_Project_4.19_Release_Notes) and support for booting the hypervisor on EFI systems.
@ -79,62 +79,59 @@
- [Cyrus IMAP](https://github.com/cyrusimap/cyrus-imapd), an email, contacts and calendar server. Available as [services.cyrus-imap](#opt-services.cyrus-imap.enable) service. - [Cyrus IMAP](https://github.com/cyrusimap/cyrus-imapd), an email, contacts and calendar server. Available as [services.cyrus-imap](#opt-services.cyrus-imap.enable) service.
- [TaskChampion Sync-Server](https://github.com/GothenburgBitFactory/taskchampion-sync-server), a [Taskwarrior 3](https://taskwarrior.org/docs/upgrade-3/) sync server, replacing Taskwarrior 2's sync server named [`taskserver`](https://github.com/GothenburgBitFactory/taskserver). - [TaskChampion Sync-Server](https://github.com/GothenburgBitFactory/taskchampion-sync-server), a [Taskwarrior 3](https://taskwarrior.org/docs/upgrade-3/) sync server. Available as [services.taskchampion-sync-server](#opt-services.taskchampion-sync-server.enable).
- [FlareSolverr](https://github.com/FlareSolverr/FlareSolverr), proxy server to bypass Cloudflare protection. Available as [services.flaresolverr](#opt-services.flaresolverr.enable) service. - [FlareSolverr](https://github.com/FlareSolverr/FlareSolverr), a proxy server to bypass Cloudflare protection. Available as [services.flaresolverr](#opt-services.flaresolverr.enable).
- [Gancio](https://gancio.org/), a shared agenda for local communities. Available as [services.gancio](#opt-services.gancio.enable). - [Gancio](https://gancio.org/), a shared agenda for local communities. Available as [services.gancio](#opt-services.gancio.enable).
- [Goatcounter](https://www.goatcounter.com/), Easy web analytics. No tracking of personal data. Available as [services.goatcounter](options.html#opt-services.goatcocunter.enable). - [Goatcounter](https://www.goatcounter.com/), an easy web analytics platform with no tracking of personal data. Available as [services.goatcounter](options.html#opt-services.goatcocunter.enable).
- [Privatebin](https://github.com/PrivateBin/PrivateBin/), A minimalist, open source online pastebin where the server has zero knowledge of pasted data. Available as [services.privatebin](#opt-services.privatebin.enable) - [Privatebin](https://github.com/PrivateBin/PrivateBin/), a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Available as [services.privatebin](#opt-services.privatebin.enable).
- [UWSM](https://github.com/Vladimir-csp/uwsm), a wayland session manager to wrap Wayland Compositors into useful systemd units such as `graphical-session.target`. Available as [programs.uwsm](#opt-programs.uwsm.enable). - [UWSM](https://github.com/Vladimir-csp/uwsm), a wayland session manager to wrap Wayland compositors into useful systemd units such as `graphical-session.target`. Available as [programs.uwsm](#opt-programs.uwsm.enable).
- [Open-WebUI](https://github.com/open-webui/open-webui), a user-friendly WebUI - [Open-WebUI](https://github.com/open-webui/open-webui), a user-friendly WebUI for LLMs. Available as [services.open-webui](#opt-services.open-webui.enable).
for LLMs. Available as [services.open-webui](#opt-services.open-webui.enable)
service.
- [Quickwit](https://quickwit.io), sub-second search & analytics engine on cloud storage. Available as [services.quickwit](options.html#opt-services.quickwit). - [Quickwit](https://quickwit.io), a sub-second search & analytics engine on cloud storage. Available as [services.quickwit](options.html#opt-services.quickwit.enable).
- [Userborn](https://github.com/nikstur/userborn), a service for declarative - [Userborn](https://github.com/nikstur/userborn), a service for declarative
user management. This can be used instead of the `update-users-groups.pl` user management. This can be used instead of the `update-users-groups.pl`
Perl script and instead of systemd-sysusers. To achieve a system without Perl script and/or systemd-sysusers. This is now recommended over
Perl, this is the now recommended tool over systemd-sysusers because it can systemd-sysusers to achieve a system without Perl, as it can create normal
also create normal users and change passwords. Available as users and change passwords. Available as [services.userborn](#opt-services.userborn.enable).
[services.userborn](#opt-services.userborn.enable)
- [Hatsu](https://github.com/importantimport/hatsu), a self-hosted bridge that interacts with Fediverse on behalf of your static site. Available as [services.hatsu](options.html#opt-services.hatsu). - [Hatsu](https://github.com/importantimport/hatsu), a self-hosted bridge that interacts with Fediverse on behalf of your static site. Available as [services.hatsu](options.html#opt-services.hatsu.enable).
- [Flood](https://flood.js.org/), a beautiful WebUI for various torrent clients. Available as [services.flood](options.html#opt-services.flood). - [Flood](https://flood.js.org/), a beautiful WebUI for various torrent clients. Available as [services.flood](options.html#opt-services.flood.enable).
- [Niri](https://github.com/YaLTeR/niri), a scrollable-tiling Wayland compositor. Available as [programs.niri](options.html#opt-programs.niri.enable). - [Niri](https://github.com/YaLTeR/niri), a scrollable-tiling Wayland compositor. Available as [programs.niri](options.html#opt-programs.niri.enable).
- [Firefly-iii Data Importer](https://github.com/firefly-iii/data-importer), a data importer for Firefly-III. Available as [services.firefly-iii-data-importer](options.html#opt-services.firefly-iii-data-importer) - [Firefly-iii Data Importer](https://github.com/firefly-iii/data-importer), a data importer for Firefly-III. Available as [services.firefly-iii-data-importer](options.html#opt-services.firefly-iii-data-importer.enable).
- [QGroundControl], a ground station support and configuration manager for the PX4 and APM Flight Stacks. Available as [programs.qgroundcontrol](options.html#opt-programs.qgroundcontrol.enable). - [QGroundControl], a ground station support and configuration manager for the PX4 and APM Flight Stacks. Available as [programs.qgroundcontrol](options.html#opt-programs.qgroundcontrol.enable).
- [Eintopf](https://eintopf.info), community event and calendar web application. Available as [services.eintopf](options.html#opt-services.eintopf). - [Eintopf](https://eintopf.info), a community event and calendar web application. Available as [services.eintopf](options.html#opt-services.eintopf.enable).
- [Radicle](https://radicle.xyz), an open source, peer-to-peer code collaboration stack built on Git. Available as [services.radicle](#opt-services.radicle.enable). - [Radicle](https://radicle.xyz), an open source, peer-to-peer code collaboration stack built on Git. Available as [services.radicle](#opt-services.radicle.enable).
- [ddns-updater](https://github.com/qdm12/ddns-updater), a service to update DNS records periodically with WebUI for many DNS providers. Available as [services.ddns-updater](#opt-services.ddns-updater.enable). - [ddns-updater](https://github.com/qdm12/ddns-updater), a service with a WebUI to update DNS records periodically for many providers. Available as [services.ddns-updater](#opt-services.ddns-updater.enable).
- [Immersed](https://immersed.com/), a closed-source coworking platform. Available as [programs.immersed](#opt-programs.immersed.enable). - [Immersed](https://immersed.com/), a closed-source coworking platform. Available as [programs.immersed](#opt-programs.immersed.enable).
- [HomeBox](https://github.com/sysadminsmedia/homebox): the inventory and organization system built for the Home User. Available as [services.homebox](#opt-services.homebox.enable). - [HomeBox](https://github.com/sysadminsmedia/homebox), an inventory and organization system built for the home user. Available as [services.homebox](#opt-services.homebox.enable).
- [matrix-hookshot](https://matrix-org.github.io/matrix-hookshot), a Matrix bot for connecting to external services. Available as [services.matrix-hookshot](#opt-services.matrix-hookshot.enable). - [matrix-hookshot](https://matrix-org.github.io/matrix-hookshot), a Matrix bot for connecting to external services. Available as [services.matrix-hookshot](#opt-services.matrix-hookshot.enable).
- [Renovate](https://github.com/renovatebot/renovate), a dependency updating tool for various git forges and language ecosystems. Available as [services.renovate](#opt-services.renovate.enable). - [Renovate](https://github.com/renovatebot/renovate), a dependency updating tool for various Git forges and language ecosystems. Available as [services.renovate](#opt-services.renovate.enable).
- [Music Assistant](https://music-assistant.io/), a music library manager for your offline and online music sources which can easily stream your favourite music to a wide range of supported players. Available as [services.music-assistant](#opt-services.music-assistant.enable). - [Music Assistant](https://music-assistant.io/), a music library manager for your offline and online music sources that can stream to a wide range of supported players. Available as [services.music-assistant](#opt-services.music-assistant.enable).
- [zeronsd](https://github.com/zerotier/zeronsd), a DNS server for ZeroTier users. Available with [services.zeronsd.servedNetworks](#opt-services.zeronsd.servedNetworks). - [zeronsd](https://github.com/zerotier/zeronsd), a DNS server for ZeroTier users. Available with [services.zeronsd.servedNetworks](#opt-services.zeronsd.servedNetworks).
- [Collabora Online](https://www.collaboraonline.com/), a collaborative online office suite based on LibreOffice technology. Available as [services.collabora-online](options.html#opt-services.collabora-online.enable). - [Collabora Online](https://www.collaboraonline.com/), a collaborative online office suite based on LibreOffice technology. Available as [services.collabora-online](options.html#opt-services.collabora-online.enable).
- [wg-access-server](https://github.com/freifunkMUC/wg-access-server/), an all-in-one WireGuard VPN solution with a web ui for connecting devices. Available at [services.wg-access-server](#opt-services.wg-access-server.enable). - [wg-access-server](https://github.com/freifunkMUC/wg-access-server/), an all-in-one WireGuard VPN solution with a WebUI for connecting devices. Available as [services.wg-access-server](#opt-services.wg-access-server.enable).
- [Pingvin Share](https://github.com/stonith404/pingvin-share), a self-hosted file sharing platform and an alternative for WeTransfer. Available as [services.pingvin-share](#opt-services.pingvin-share.enable). - [Pingvin Share](https://github.com/stonith404/pingvin-share), a self-hosted file sharing platform and an alternative for WeTransfer. Available as [services.pingvin-share](#opt-services.pingvin-share.enable).
@ -144,67 +141,63 @@
- [Gatus](https://github.com/TwiN/gatus), an automated developer-oriented status page. Available as [services.gatus](#opt-services.gatus.enable). - [Gatus](https://github.com/TwiN/gatus), an automated developer-oriented status page. Available as [services.gatus](#opt-services.gatus.enable).
- [cryptpad](https://cryptpad.org/), a privacy-oriented collaborative platform (docs/drive/etc), has been added back. Available as [services.cryptpad](#opt-services.cryptpad.enable). - [cryptpad](https://cryptpad.org/), a privacy-oriented collaborative office suite, has been added back. Available as [services.cryptpad](#opt-services.cryptpad.enable).
- [realm](https://github.com/zhboner/realm), a simple, high performance relay server written in rust. Available as [services.realm.enable](#opt-services.realm.enable). - [realm](https://github.com/zhboner/realm), a simple, high performance relay server written in Rust. Available as [services.realm](#opt-services.realm.enable).
- [Gotenberg](https://gotenberg.dev), an API server for converting files to PDFs that can be used alongside Paperless-ngx. Available as [services.gotenberg](options.html#opt-services.gotenberg). - [Gotenberg](https://gotenberg.dev), an API server for converting files to PDFs that can be used alongside Paperless-ngx. Available as [services.gotenberg](options.html#opt-services.gotenberg.enable).
- [Suricata](https://suricata.io/), a free and open source, mature, fast and robust network threat detection engine. Available as [services.suricata](options.html#opt-services.suricata). - [Suricata](https://suricata.io/), a free and open source, mature, fast and robust network threat detection engine. Available as [services.suricata](options.html#opt-services.suricata.enable).
- [Playerctld](https://github.com/altdesktop/playerctl), a daemon to track media player activity. Available as [services.playerctld](option.html#opt-services.playerctld). - [Playerctld](https://github.com/altdesktop/playerctl), a daemon to track media player activity. Available as [services.playerctld](option.html#opt-services.playerctld.enable).
- [MenhirLib](https://gitlab.inria.fr/fpottier/menhir/-/tree/master/coq-menhirlib) A support library for verified Coq parsers produced by Menhir. - [Glance](https://github.com/glanceapp/glance), a self-hosted dashboard that puts all your feeds in one place. Available as [services.glance](option.html#opt-services.glance.enable).
- [Glance](https://github.com/glanceapp/glance), a self-hosted dashboard that puts all your feeds in one place. Available as [services.glance](option.html#opt-services.glance). - [Apache Tika](https://github.com/apache/tika), a toolkit that detects and extracts metadata and text from over a thousand different file types. Available as [services.tika](option.html#opt-services.tika.enable).
- [Apache Tika](https://github.com/apache/tika), a toolkit that detects and extracts metadata and text from over a thousand different file types. Available as [services.tika](option.html#opt-services.tika). - [Misskey](https://misskey-hub.net/en/), an interplanetary microblogging platform. Available as [services.misskey](options.html#opt-services.misskey.enable).
- [Misskey](https://misskey-hub.net/en/), an interplanetary microblogging platform. Available as [services.misskey](options.html#opt-services.misskey). - [Improved File Manager (IFM)](https://github.com/misterunknown/ifm), a single-file web-based file manager. Available as [services.ifm](options.html#opt-services.ifm.enable).
- [Improved File Manager](https://github.com/misterunknown/ifm), or IFM, a single-file web-based file manager. Available as [services.ifm](options.html#opt-services.ifm.enable)
- [OpenGFW](https://github.com/apernet/OpenGFW), an implementation of the Great Firewall on Linux. Available as [services.opengfw](#opt-services.opengfw.enable). - [OpenGFW](https://github.com/apernet/OpenGFW), an implementation of the Great Firewall on Linux. Available as [services.opengfw](#opt-services.opengfw.enable).
- [Rathole](https://github.com/rapiz1/rathole), a lightweight and high-performance reverse proxy for NAT traversal. Available as [services.rathole](#opt-services.rathole.enable). - [Rathole](https://github.com/rapiz1/rathole), a lightweight and high-performance reverse proxy for NAT traversal. Available as [services.rathole](#opt-services.rathole.enable).
- [Proton Mail bridge](https://proton.me/mail/bridge), a desktop application that runs in the background, encrypting and decrypting messages as they enter and leave your computer. It lets you add your Proton Mail account to your favorite email client via IMAP/SMTP by creating a local email server on your computer. - [Proton Mail bridge](https://proton.me/mail/bridge), a desktop application that runs in the background, encrypting and decrypting messages as they enter and leave your computer. Available as [services.protonmail-bridge](#opt-services.protonmail-bridge.enable).
- [chromadb](https://www.trychroma.com/), an open-source AI application - [chromadb](https://www.trychroma.com/), an open-source AI application database with batteries included. Available as [services.chromadb](options.html#opt-services.chromadb.enable).
database. Batteries included. Available as [services.chromadb](options.html#opt-services.chromadb.enable).
- [bitmagnet](https://bitmagnet.io/), A self-hosted BitTorrent indexer, DHT crawler, content classifier and torrent search engine with web UI, GraphQL API and Servarr stack integration. - [bitmagnet](https://bitmagnet.io/), a self-hosted BitTorrent indexer, DHT crawler, content classifier and torrent search engine with WebUI, GraphQL API and Servarr stack integration. Available as [services.bitmagnet](options.html#opt-services.bitmagnet.enable).
Available as [services.bitmagnet](options.html#opt-services.bitmagnet.enable).
- [Wakapi](https://wakapi.dev/), a time tracking software for programmers. Available as [services.wakapi](#opt-services.wakapi.enable). - [Wakapi](https://wakapi.dev/), a time tracking software for programmers. Available as [services.wakapi](#opt-services.wakapi.enable).
- [foot](https://codeberg.org/dnkl/foot), a fast, lightweight and minimalistic Wayland terminal emulator. Available as [programs.foot](#opt-programs.foot.enable). - [foot](https://codeberg.org/dnkl/foot), a fast, lightweight and minimalistic Wayland terminal emulator. Available as [programs.foot](#opt-programs.foot.enable).
- [ToDesk](https://www.todesk.com/linux.html), a remote desktop applicaton. Available as [services.todesk.enable](#opt-services.todesk.enable). - [ToDesk](https://www.todesk.com/linux.html), a remote desktop application. Available as [services.todesk](#opt-services.todesk.enable).
- [Dependency Track](https://dependencytrack.org/), an intelligent Component Analysis platform that allows organizations to identify and reduce risk in the software supply chain. Available as [services.dependency-track](option.html#opt-services.dependency-track). - [Dependency Track](https://dependencytrack.org/), an intelligent Component Analysis platform that allows organizations to identify and reduce risk in the software supply chain. Available as [services.dependency-track](option.html#opt-services.dependency-track.enable).
- [Immich](https://github.com/immich-app/immich), a self-hosted photo and video backup solution. Available as [services.immich](#opt-services.immich.enable). - [Immich](https://github.com/immich-app/immich), a self-hosted photo and video backup solution. Available as [services.immich](#opt-services.immich.enable).
- [saunafs](https://saunafs.com) Distributed POSIX file system. Available as [services.saunafs](options.html#opt-services.saunafs). - [saunafs](https://saunafs.com), a distributed POSIX file system. Available as [services.saunafs](options.html#opt-services.saunafs.enable).
- [obs-studio](https://obsproject.com/), Free and open source software for video recording and live streaming. Available as [programs.obs-studio.enable](#opt-programs.obs-studio.enable). - [obs-studio](https://obsproject.com/), a free and open source software for video recording and live streaming. Available as [programs.obs-studio](#opt-programs.obs-studio.enable).
- [Veilid](https://veilid.com), a headless server that enables privacy-focused data sharing and messaging on a peer-to-peer network. Available as [services.veilid](#opt-services.veilid.enable). - [Veilid](https://veilid.com), a privacy-focused, headless server for data sharing and messaging on a peer-to-peer network. Available as [services.veilid](#opt-services.veilid.enable).
- [Fedimint](https://github.com/fedimint/fedimint), a module based system for building federated applications (Federated E-Cash Mint). Available as [services.fedimintd](#opt-services.fedimintd). - [Fedimint](https://github.com/fedimint/fedimint), a module based system for building federated applications (Federated E-Cash Mint). Available as [services.fedimintd](#opt-services.fedimintd).
- [Zapret](https://github.com/bol-van/zapret), a DPI bypass tool. Available as [services.zapret](options.html#opt-services.zapret).
- [tiny-dfr](https://github.com/WhatAmISupposedToPutHere/tiny-dfr), a dynamic function row daemon for the Touch Bar found on some Apple laptops. Available as [hardware.apple.touchBar.enable](options.html#opt-hardware.apple.touchBar.enable). - [tiny-dfr](https://github.com/WhatAmISupposedToPutHere/tiny-dfr), a dynamic function row daemon for the Touch Bar found on some Apple laptops. Available as [hardware.apple.touchBar.enable](options.html#opt-hardware.apple.touchBar.enable).
- [Swapspace](https://github.com/Tookmund/Swapspace), a dynamic swap space manager, turns your unused free space into swap automatically. Available as [services.swapspace](#opt-services.swapspace.enable). - [Swapspace](https://github.com/Tookmund/Swapspace), a dynamic swap space manager that turns your unused free space into swap automatically. Available as [services.swapspace](#opt-services.swapspace.enable).
- [Zapret](https://github.com/bol-van/zapret), a DPI bypass tool. Available as [services.zapret](option.html#opt-services.zapret.enable).
## Backward Incompatibilities {#sec-release-24.11-incompatibilities} ## Backward Incompatibilities {#sec-release-24.11-incompatibilities}
- The `sound` options have been removed or renamed, as they had a lot of unintended side effects. See [below](#sec-release-24.11-migration-sound) for details. - The `sound` options have been removed or renamed, as they had a lot of unintended side effects. See [below](#sec-release-24.11-migration-sound) for details.
- The nvidia driver no longer defaults to the proprietary driver starting with version 560. You will need to manually set `hardware.nvidia.open` to select the proprietary or open driver. - The NVIDIA driver no longer defaults to the proprietary kernel module with versions >= 560. You will need to manually set `hardware.nvidia.open` to select the proprietary or open modules.
- The `(buildPythonPackage { ... }).override` attribute is now deprecated and removed in favour of `overridePythonAttrs`. - The `(buildPythonPackage { ... }).override` attribute is now deprecated and removed in favour of `overridePythonAttrs`.
This change does not affect the override interface of most Python packages, as [`<pkg>.override`](https://nixos.org/manual/nixpkgs/unstable/#sec-pkg-override) provided by `callPackage` shadows such a locally-defined `override` attribute. This change does not affect the override interface of most Python packages, as [`<pkg>.override`](https://nixos.org/manual/nixpkgs/unstable/#sec-pkg-override) provided by `callPackage` shadows such a locally-defined `override` attribute.
@ -213,7 +206,7 @@
- All GNOME packages have been moved to top-level (i.e., `gnome.nautilus` is now `nautilus`). - All GNOME packages have been moved to top-level (i.e., `gnome.nautilus` is now `nautilus`).
- `transmission` package has been aliased with a `trace` warning to `transmission_3`. Since [Transmission 4 has been released last year](https://github.com/transmission/transmission/releases/tag/4.0.0), and Transmission 3 will eventually go away, it was decided perform this warning alias to make people aware of the new version. The `services.transmission.package` defaults to `transmission_3` as well because the upgrade can cause data loss in certain specific usage patterns (examples: [#5153](https://github.com/transmission/transmission/issues/5153), [#6796](https://github.com/transmission/transmission/issues/6796)). Please make sure to back up to your data directory per your usage: - `transmission` has been aliased with a `trace` warning to `transmission_3`, since [Transmission 4 has been released last year](https://github.com/transmission/transmission/releases/tag/4.0.0) and Transmission 3 will eventually go away -- this is meant to make people aware of the new version. `services.transmission.package` now also defaults to `transmission_3`, as the upgrade can cause data loss in some cases (examples: [#5153](https://github.com/transmission/transmission/issues/5153), [#6796](https://github.com/transmission/transmission/issues/6796)). Please make sure to back up to your data directory if you may be affected:
- `transmission-gtk`: `~/.config/transmission` - `transmission-gtk`: `~/.config/transmission`
- `transmission-daemon` using NixOS module: `${config.services.transmission.home}/.config/transmission-daemon` (defaults to `/var/lib/transmission/.config/transmission-daemon`) - `transmission-daemon` using NixOS module: `${config.services.transmission.home}/.config/transmission-daemon` (defaults to `/var/lib/transmission/.config/transmission-daemon`)
@ -223,7 +216,7 @@
- `unifi` has been updated to UniFi 8. - `unifi` has been updated to UniFi 8.
`unifi7` was removed as it is vulnerable to CVE-2024-42025 and required a version of MongoDB that has reached end of life. `unifi7` was removed as it is vulnerable to CVE-2024-42025 and required a version of MongoDB that has reached end of life.
- `androidenv.androidPkgs_9_0` has been removed, and replaced with `androidenv.androidPkgs` for a more complete Android SDK including support for Android 9 and later. - `androidenv.androidPkgs_9_0` has been removed. It is replaced with `androidenv.androidPkgs` for a more complete Android SDK, including support for Android 9 and later.
- `grafana` has been updated to version 11.1. This version doesn't support setting `http_addr` to a hostname anymore, an IP address is expected. - `grafana` has been updated to version 11.1. This version doesn't support setting `http_addr` to a hostname anymore, an IP address is expected.
@ -241,14 +234,13 @@
- `bluemap` has changed the format used to store map tiles, and the database layout has been heavily modified. Upstream recommends a clean reinstallation: <https://github.com/BlueMap-Minecraft/BlueMap/releases/tag/v5.2>. Unless you are using an SQL storage backend, this should only entail deleting the contents of `config.services.bluemap.coreSettings.data` (defaults to `/var/lib/bluemap`) and `config.services.bluemap.webRoot` (defaults to `/var/lib/bluemap/web`). - `bluemap` has changed the format used to store map tiles, and the database layout has been heavily modified. Upstream recommends a clean reinstallation: <https://github.com/BlueMap-Minecraft/BlueMap/releases/tag/v5.2>. Unless you are using an SQL storage backend, this should only entail deleting the contents of `config.services.bluemap.coreSettings.data` (defaults to `/var/lib/bluemap`) and `config.services.bluemap.webRoot` (defaults to `/var/lib/bluemap/web`).
- `wstunnel` has had a major version upgrade that entailed rewriting the program in Rust. - `wstunnel` has had a major version upgrade that entailed rewriting the program in Rust.
The module was updated to accommodate for breaking changes. The module was updated to accommodate for breaking changes and breaking changes to the
Breaking changes to the module API were minimised as much as possible, module options were minimised as much as possible. Nonetheless, some were inevitable due
but some were nonetheless inevitable due to changes in the upstream CLI. to changes in the upstream CLI. Certain options were moved from separate CLI arguments into
Certain options were moved from separate CLI arguments into the forward specifications, the forward specifications, and those options were also removed from the module's options.
and those options were also removed from the module's API, Please consult the wstunnel man page for more details.
please consult the wstunnel man page for more detail.
Also be aware that if you have set additional options in `services.wstunnel.{clients,servers}.<name>.extraArgs`, Also be aware that if you have set additional options in `services.wstunnel.{clients,servers}.<name>.extraArgs`,
that those might have been removed or modified upstream. they may have been modified or removed upstream.
- `percona-server_8_4` and `mysql84` now have password authentication via the deprecated `mysql_native_password` disabled by default. This authentication plugin can be enabled via a CLI argument again, for detailed instructions and alternative authentication methods [see upstream documentation](https://dev.mysql.com/doc/refman/8.4/en/native-pluggable-authentication.html). The config file directive `default_authentication_plugin` has been removed. - `percona-server_8_4` and `mysql84` now have password authentication via the deprecated `mysql_native_password` disabled by default. This authentication plugin can be enabled via a CLI argument again, for detailed instructions and alternative authentication methods [see upstream documentation](https://dev.mysql.com/doc/refman/8.4/en/native-pluggable-authentication.html). The config file directive `default_authentication_plugin` has been removed.
@ -259,29 +251,29 @@
- For convenience, the top-level `clang-tools` attribute remains and is now bound to `llvmPackages.clang-tools`. - For convenience, the top-level `clang-tools` attribute remains and is now bound to `llvmPackages.clang-tools`.
- Top-level `clang_tools_<version>` attributes are now aliases; these will be removed in a future release. - Top-level `clang_tools_<version>` attributes are now aliases; these will be removed in a future release.
- `buildbot` was updated to 4.0, the AngularJS frontend has been replaced by a React frontend, see the [upstream release notes](https://docs.buildbot.net/current/manual/upgrading/4.0-upgrade.html). - `buildbot` was updated to 4.0 and the AngularJS frontend replaced by a React frontend. See the [upstream release notes](https://docs.buildbot.net/current/manual/upgrading/4.0-upgrade.html).
- `headscale` has been updated to version 0.23.0 which reworked large parts of the configuration including DNS, Magic DNS prefixes and ACL policy files. See the [upstream changelog](https://github.com/juanfont/headscale/releases/tag/v0.23.0) for details. - `headscale` has been updated to version 0.23.0 which reworked large parts of the configuration, including DNS, Magic DNS prefixes and ACL policy files. See the [upstream changelog](https://github.com/juanfont/headscale/releases/tag/v0.23.0) for details.
- `nginx` package no longer includes `gd` and `geoip` dependencies. For enabling it, override `nginx` package with the optionals `withImageFilter` and `withGeoIP`. - `nginx` package no longer includes the `gd` and `geoip` dependencies. To re-enable them, override `nginx` with the options `withImageFilter = true;` and `withGeoIP = true;`.
- `systemd.enableUnifiedCgroupHierarchy` option has been removed. - `systemd.enableUnifiedCgroupHierarchy` has been removed.
In systemd 256 support for cgroup v1 ('legacy' and 'hybrid' hierarchies) is now considered obsolete and systemd by default will refuse to boot under it. In systemd 256, support for cgroup v1 ('legacy' and 'hybrid' hierarchies) is now considered obsolete and systemd will refuse to boot under it by default.
To forcibly reenable cgroup v1 support, you can `set boot.kernelParams = [ "systemd.unified_cgroup_hierachy=0" "SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1" ]`. To forcibly re-enable cgroup v1 support, you can set `boot.kernelParams = [ "systemd.unified_cgroup_hierarchy=0" "SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1" ]`.
NixOS does not officially support this configuration and might cause your system to be unbootable in future versions. You are on your own. This is not an officially supported configuration and might cause your system to become unbootable in future versions. You are on your own.
- `nrfutil` which previously pointed to the now-deprecated `pc-nrfutil` python package, has been repackaged under the same name with the new nrfutil tool. - `nrfutil` -- which previously pointed to the now-deprecated `pc-nrfutil` Python package -- has been repackaged under the same name with the new nrfutil tool.
- `openssh` and `openssh_hpn` are now compiled without Kerberos 5 / GSSAPI support in an effort to reduce the attack surface of the components for the majority of users. Users needing this support can - `openssh` and `openssh_hpn` are now compiled without Kerberos 5 / GSSAPI support in an effort to reduce the attack surface of the components. Users needing this support can
use the new `opensshWithKerberos` and `openssh_hpnWithKerberos` flavors (e.g. `programs.ssh.package = pkgs.openssh_gssapi`). use the new `opensshWithKerberos` and `openssh_hpnWithKerberos` package flavors (e.g. `programs.ssh.package = pkgs.openssh_gssapi`).
- `security.ipa.ipaHostname` now defaults to the value of `networking.fqdn` if - `security.ipa.ipaHostname` now defaults to the value of `networking.fqdn` if
it is set, instead of the previous hardcoded default of it is set, instead of the previous hardcoded default of
`${networking.hostName}.${security.ipa.domain}`. `${networking.hostName}.${security.ipa.domain}`.
- The `MSMTP_QUEUE` and `MSMTP_LOG` environment variables accepted by `msmtpq` have now been renamed to `MSMTPQ_Q` and `MSMTPQ_LOG` respectively. - The `MSMTP_QUEUE` and `MSMTP_LOG` environment variables accepted by `msmtpq` have been renamed to `MSMTPQ_Q` and `MSMTPQ_LOG` respectively.
- The logrotate service has received hardening and now requires enabling `allowNetworking`, if logrotate needs to access the network. - The logrotate service has been hardened and now requires enabling `allowNetworking` if network access is required.
- `mautrix-whatsapp` has been updated to version 0.11.0, which is a major rewrite of the bridge. Config file changes are required. - `mautrix-whatsapp` has been updated to version 0.11.0, which is a major rewrite of the bridge. Config file changes are required.
@ -298,8 +290,8 @@
Processes also now run as a dynamically allocated user by default instead of Processes also now run as a dynamically allocated user by default instead of
root. root.
- The `mautrix-signal` module was adapted to incorporate the configuration rearrangement that resulted from the update to the mautrix bridgev2 architecture. Pre-0.7.0 configurations should continue to work. - The `mautrix-signal` module was adapted to incorporate the configuration changes that resulted from the update to the mautrix bridgev2 architecture. Pre-0.7.0 configurations should continue to work.
In case you want to update your configuration make sure to check the NixOS manual. In case you want to update your configuration, make sure to check the NixOS manual.
- The nvidia driver no longer defaults to the proprietary driver starting with version 560. You will need to manually set `hardware.nvidia.open` to select the proprietary or open driver. - The nvidia driver no longer defaults to the proprietary driver starting with version 560. You will need to manually set `hardware.nvidia.open` to select the proprietary or open driver.
@ -312,15 +304,15 @@
- `singularity-tools` have the `storeDir` argument removed from its override interface and use `builtins.storeDir` instead. - `singularity-tools` have the `storeDir` argument removed from its override interface and use `builtins.storeDir` instead.
- Two build helpers in `singularity-tools`, i.e., `mkLayer` and `shellScript`, are deprecated, as they are no longer involved in image-building. Maintainers will remove them in future releases. - The `mkLayer` and `shellScript` build helpers in `singularity-tools` are deprecated, as they are no longer involved in image-building. Maintainers will remove them in future releases.
- The `rust.toTargetArch`, `rust.toTargetOs`, `rust.toTargetFamily`, `rust.toTargetVendor`, `rust.toRustTarget`, `rust.toRustTargetSpec`, `rust.toRustTargetSpecShort`, and `rust.IsNoStdTarget` functions are deprecated in favour of the `rust.platform.arch`, `rust.platform.os`, `rust.platform.target-family`, `rust.platform.vendor`, `rust.rustcTarget`, `rust.rustcTargetSpec`, `rust.cargoShortTarget`, `rust.cargoEnvVarTarget`, and `rust.isNoStdTarget` platform attributes respectively. - The `rust.toTargetArch`, `rust.toTargetOs`, `rust.toTargetFamily`, `rust.toTargetVendor`, `rust.toRustTarget`, `rust.toRustTargetSpec`, `rust.toRustTargetSpecShort`, and `rust.IsNoStdTarget` functions are deprecated in favour of the `rust.platform.arch`, `rust.platform.os`, `rust.platform.target-family`, `rust.platform.vendor`, `rust.rustcTarget`, `rust.rustcTargetSpec`, `rust.cargoShortTarget`, `rust.cargoEnvVarTarget`, and `rust.isNoStdTarget` platform attributes respectively.
- The `budgie` and `budgiePlugins` scope have been removed and their packages - All Budgie and `budgiePlugins` packages have been moved to top-level (i.e.,
moved into the top level scope (i.e., `budgie.budgie-desktop` is now `budgie.budgie-desktop` is now `budgie-desktop` and `budgiePlugins.budgie-media-player-applet`
`budgie-desktop`) is now `budgie-media-player-applet`).
- The method to safely handle secrets in the `networking.wireless` module has been changed to benefit from a [new feature](https://w1.fi/cgit/hostap/commit/?id=e680a51e94a33591f61edb210926bcb71217a21a) of wpa_supplicant. - The method of safely handling secrets in the `networking.wireless` module has been changed to benefit from a [new feature](https://w1.fi/cgit/hostap/commit/?id=e680a51e94a33591f61edb210926bcb71217a21a) of `wpa_supplicant`.
The syntax to refer to secrets has changed slightly and the option `networking.wireless.environmentFile` has been replaced by `networking.wireless.secretsFile`; see the description of the latter for how to upgrade. The syntax to refer to secrets has changed slightly and the option `networking.wireless.environmentFile` has been replaced by `networking.wireless.secretsFile`; see the description of the latter for how to upgrade.
- NetBox was updated to `>= 4.1.0`. - NetBox was updated to `>= 4.1.0`.
@ -357,26 +349,36 @@
to use `extraOpts` flags. to use `extraOpts` flags.
A previous configuration may have looked like this: A previous configuration may have looked like this:
```nix ```nix
featureGates = [ "EphemeralContainers" ]; {
extraOpts = pkgs.lib.concatStringsSep " " ( featureGates = [ "EphemeralContainers" ];
[ extraOpts = pkgs.lib.concatStringsSep " " (
''--feature-gates="CSIMigration=false"'' [
}); ''--feature-gates="CSIMigration=false"''
]
);
}
``` ```
Using an AttrSet instead, the new configuration would be: Using an attribute set instead, the new configuration would be:
```nix ```nix
featureGates = {EphemeralContainers = true; CSIMigration=false;}; {
featureGates = {
EphemeralContainers = true;
CSIMigration=false;
};
}
``` ```
- `pkgs.nextcloud27` has been removed since it's EOL. - `pkgs.nextcloud27` has been removed as it has reached EOL.
- The `environment.noXlibs` option has been removed. It was a common source of unexpected rebuilds and breakage that was often hard to diagnose. - The `environment.noXlibs` option has been removed. It was a common source of unexpected rebuilds and breakage that was often hard to diagnose.
If you need to disable certain libraries, you're encouraged to add your own overlay to your configuration that targets the packages you care about. If you need to disable certain libraries, you're encouraged to add your own overlay to your configuration that targets the packages you care about.
- `frigate` was updated past 0.14.0. This release includes various breaking changes, so please go read the [release notes](https://github.com/blakeblackshear/frigate/releases/tag/v0.14.0). - `frigate` was updated past 0.14.0. This release includes various breaking changes, so please review the [release notes](https://github.com/blakeblackshear/frigate/releases/tag/v0.14.0).
Most prominently access to the webinterface and API are now protected by authentication. Retrieve the auto-created Most prominently, access to the web interface and API are now protected by authentication. Retrieve the auto-created
admin account from the `frigate.service` journal after upgrading. admin account from the `frigate.service` journal after upgrading.
- `nodePackages.coc-python` was dropped, as [its upstream is unmaintained](https://github.com/neoclide/coc-python). The associated `vimPlugins.coc-python` was also dropped. - `nodePackages.coc-python` was dropped, as [its upstream is unmaintained](https://github.com/neoclide/coc-python). The associated `vimPlugins.coc-python` was also dropped.
@ -396,7 +398,7 @@
- `services.ddclient.use` has been deprecated: `ddclient` now supports separate IPv4 and IPv6 configuration. Use `services.ddclient.usev4` and `services.ddclient.usev6` instead. - `services.ddclient.use` has been deprecated: `ddclient` now supports separate IPv4 and IPv6 configuration. Use `services.ddclient.usev4` and `services.ddclient.usev6` instead.
- `services.pgbouncer` systemd service is configured with `Type=notify-reload` and allows reloading configuration without process restart. PgBouncer configuration options were moved to the free-form type option named [`services.pgbouncer.settings`](#opt-services.pgbouncer.settings) according to the NixOS RFC 0042. - `services.pgbouncer` systemd service is now configured with `Type=notify-reload` and allows reloading configuration without process restart. PgBouncer configuration options were moved to the freeform type option under [`services.pgbouncer.settings`](#opt-services.pgbouncer.settings).
- Docear was removed because it was unmaintained upstream. - Docear was removed because it was unmaintained upstream.
JabRef, Zotero, or Mendeley are potential replacements. JabRef, Zotero, or Mendeley are potential replacements.
@ -417,23 +419,23 @@
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 v16](https://goteleport.com/docs/changelog/#1600-061324). and [release notes for v16](https://goteleport.com/docs/changelog/#1600-061324).
- `tests.overriding` has its `passthru.tests` restructured as an attribute set instead of a list, making individual tests accessible by their names. - `tests.overriding`'s `passthru.tests` has been restructured as an attribute set instead of a list, making individual tests accessible by their names.
- Package `skk-dict` was split into multiple packages under `skkDictionaries`. - `skk-dict` was split into multiple packages under `skkDictionaries`.
If in doubt, try `skkDictionaries.l`. As part of this change, the dictionaries If in doubt of what to use, try `skkDictionaries.l`. As part of this change, the dictionaries
were moved from `$out/share` to `$out/share/skk`. Also, the dictionaries won't were moved from `$out/share` to `$out/share/skk`. The dictionaries also won't
be converted to UTF-8 unless the `useUtf8` package option is enabled. UTF-8 be converted to UTF-8 unless the `useUtf8` package option is enabled; UTF-8
converted dictionaries will have the .utf8 suffix appended to its filename. converted dictionaries will have the .utf8 suffix appended to its filename.
- `vaultwarden` lost the capability to bind to privileged ports. If you rely on - `vaultwarden` lost the capability to bind to privileged ports. If you rely on
this behavior, override the systemd unit to allow `CAP_NET_BIND_SERVICE` in this behavior, override the systemd unit to allow `CAP_NET_BIND_SERVICE` in
your local configuration. your configuration.
- The Invoiceplane module now only accepts the structured `settings` option. - `services.invoiceplane.sites.<name>.extraConfig` was removed. Configuration must now be done
`extraConfig` is now removed. through the structured `services.invoiceplane.sites.<name>.settings` option.
- The `ollama` services replaces its `sandbox` toggle with options to configure - `services.ollama.sandbox` has been replaced with options to configure
a static `user` and `group`. The `writablePaths` option has been removed and a static `user` and `group`. The `writablePaths` option has also been removed and
the models directory is now always exempt from sandboxing. the models directory is now always exempt from sandboxing.
- The `gns3-server` service now runs under the `gns3` system user - The `gns3-server` service now runs under the `gns3` system user
@ -450,7 +452,7 @@
before changing the package to `pkgs.stalwart-mail` in before changing the package to `pkgs.stalwart-mail` in
[`services.stalwart-mail.package`](#opt-services.stalwart-mail.package). [`services.stalwart-mail.package`](#opt-services.stalwart-mail.package).
- The `nomad_1_5` and `nomad_1_6` package were dropped, as [they have reached end-of-life upstream](https://support.hashicorp.com/hc/en-us/articles/360021185113-Support-Period-and-End-of-Life-EOL-Policy). Evaluating them will throw an error. - `nomad_1_5` and `nomad_1_6` were dropped, as [they have reached end-of-life upstream](https://support.hashicorp.com/hc/en-us/articles/360021185113-Support-Period-and-End-of-Life-EOL-Policy). Evaluating them will throw an error.
- The default `nomad` package has been updated to 1.8.x. For more information, see [breaking changes for Nomad 1.8](https://developer.hashicorp.com/nomad/docs/upgrade/upgrade-specific#nomad-1-8-0) - The default `nomad` package has been updated to 1.8.x. For more information, see [breaking changes for Nomad 1.8](https://developer.hashicorp.com/nomad/docs/upgrade/upgrade-specific#nomad-1-8-0)
@ -458,7 +460,7 @@
- Android NDK version 26 and SDK version 33 are now the default versions used for cross compilation to android. - Android NDK version 26 and SDK version 33 are now the default versions used for cross compilation to android.
- the `ankisyncd` package and its `services.ankisyncd` have been removed, use [`services.anki-sync-server`](#opt-services.anki-sync-server.enable) instead. - `ankisyncd` package and its `services.ankisyncd` have been removed. Use [`services.anki-sync-server`](#opt-services.anki-sync-server.enable) instead.
- `nodePackages.vscode-css-languageserver-bin`, `nodePackages.vscode-html-languageserver-bin`, - `nodePackages.vscode-css-languageserver-bin`, `nodePackages.vscode-html-languageserver-bin`,
and `nodePackages.vscode-json-languageserver-bin` were dropped due to an unmaintained upstream. and `nodePackages.vscode-json-languageserver-bin` were dropped due to an unmaintained upstream.
@ -467,35 +469,35 @@
- `nodePackages.prisma` has been replaced by `prisma`. - `nodePackages.prisma` has been replaced by `prisma`.
- `fetchNextcloudApp` has been rewritten to use `fetchurl` rather than - `fetchNextcloudApp` has been rewritten to use `fetchurl` rather than
`fetchzip`. This invalidates all existing hashes but you can restore the old `fetchzip`. This invalidates all existing hashes, but you can restore the old
behavior by passing it `unpack = true`. behavior by passing it `unpack = true`.
- `haskell.lib.compose.justStaticExecutables` now disallows references to GHC in the - `haskell.lib.compose.justStaticExecutables` now disallows references to GHC in its
output by default, to alert users to closure size issues caused by output by default to alert users to closure size issues caused by
[#164630](https://github.com/NixOS/nixpkgs/issues/164630). See ["Packaging [#164630](https://github.com/NixOS/nixpkgs/issues/164630). See ["Packaging
Helpers" in the Haskell section of the Nixpkgs Helpers" in the Haskell section of the Nixpkgs
manual](https://nixos.org/manual/nixpkgs/unstable/#haskell-packaging-helpers) manual](https://nixos.org/manual/nixpkgs/unstable/#haskell-packaging-helpers)
for information on working around `output '...' is not allowed to refer to for information on working around `output '...' is not allowed to refer to
the following paths` errors caused by this change. the following paths` errors caused by this change.
- The `stalwart-mail` service now runs under the `stalwart-mail` system user - `services.stalwart-mail` now runs under the `stalwart-mail` system user
instead of a dynamically created one via `DynamicUser`, to avoid automatic instead of a dynamic one via `DynamicUser` in order to avoid automatic
ownership changes on its large file store each time the service was started. ownership changes on its large file store on service restart.
This change requires to manually move the state directory from This change requires to manually move the state directory from
`/var/lib/private/stalwart-mail` to `/var/lib/stalwart-mail` and to `/var/lib/private/stalwart-mail` to `/var/lib/stalwart-mail`, and to
change the ownership of the directory and its content to `stalwart-mail`. change the ownership of the directory and its content to `stalwart-mail`.
- The `stalwart-mail` module now uses RocksDB as the default storage backend - `services.stalwart-mail` now uses RocksDB as the default storage backend
for `stateVersion` ≥ 24.11. (It was previously using SQLite for structured for `stateVersion` ≥ 24.11. It was previously using SQLite for structured
data and the filesystem for blobs). data and the filesystem for blobs.
- The `stargazer` service has been hardened to improve security, but these - `services.stargazer` has been hardened to improve security, but these
changes make break certain setups, particularly around traditional CGI. changes make break certain setups, particularly around traditional CGI.
- The `stargazer.allowCgiUser` option has been added, enabling - `services.stargazer.allowCgiUser` has been added, enabling
Stargazer's `cgi-user` option to work, which was previously broken. Stargazer's `cgi-user` option to work, which was previously broken.
- The `shiori` service now requires an HTTP secret value `SHIORI_HTTP_SECRET_KEY` to be provided via environment variable. The nixos module therefore, now provides an environmentFile option: - `services.shiori` now requires the HTTP secret value `SHIORI_HTTP_SECRET_KEY` to be provided as an environment variable. `services.shiori.environmentFile` has been introduced to handle this:
``` ```
# This is how a environment file can be generated: # This is how a environment file can be generated:
@ -505,32 +507,32 @@
- `/share/nano` is now only linked when `programs.nano.enable` is enabled. - `/share/nano` is now only linked when `programs.nano.enable` is enabled.
- PPD files for Utax printers got renamed (spaces replaced by underscores) in newest `foomatic-db` package; users of Utax printers might need to adapt their `hardware.printers.ensurePrinters.*.model` value. - PPD files for Utax printers were renamed (spaces replaced by underscores) in the newest `foomatic-db` package. Users of Utax printers might need to adapt their `hardware.printers.ensurePrinters.*.model` value to account for this.
- `sqldeveloper` was dropped due to being severely out-of-date and having a dependency on - `sqldeveloper` was dropped due to being severely out-of-date and having a dependency on
JavaFX for Java 8, which we do not support. JavaFX for Java 8, which we do not support.
- The `kvdo` kernel module package was removed, because it was upstreamed in kernel version 6.9, where it is called `dm-vdo`. - The `kvdo` kernel module package was removed as it was upstreamed in kernel version 6.9, where it is now called `dm-vdo`.
- `libe57format` has been updated to `>= 3.0.0`, which contains some backward-incompatible API changes. See the [release note](https://github.com/asmaloney/libE57Format/releases/tag/v3.0.0) for more details. - `libe57format` has been updated to `>= 3.0.0`, which contains some backward-incompatible API changes. See the [release note](https://github.com/asmaloney/libE57Format/releases/tag/v3.0.0) for more details.
- `gitlab` deprecated support for *runner registration tokens* in GitLab 16.0, disabled their support in GitLab 17.0 and will - `gitlab` deprecated support for *runner registration tokens* in GitLab 16.0, disabled their support in GitLab 17.0 and will
ultimately remove it in GitLab 18.0, as outlined in the ultimately remove it in GitLab 18.0 (as outlined in the
[documentation](https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html#estimated-time-frame-for-planned-changes). [documentation](https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html#estimated-time-frame-for-planned-changes)).
After upgrading to GitLab >= 17.0, it is possible to re-enable support for registration tokens in the UI until GitLab 18.0. After upgrading to GitLab >= 17.0, it is possible to re-enable support for registration tokens in the UI until GitLab 18.0.
Refer to the manual on [using registration tokens after GitLab 17.0](https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html#using-registration-tokens-after-gitlab-170). Refer to the manual on [using registration tokens after GitLab 17.0](https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html#using-registration-tokens-after-gitlab-170).
GitLab administrators should migrate to the [new runner registration workflow](https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html#using-registration-tokens-after-gitlab-170) GitLab administrators should migrate to the [new runner registration workflow](https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html#using-registration-tokens-after-gitlab-170)
with *runner authentication tokens* until the release of GitLab 18.0. with *runner authentication tokens* until the release of GitLab 18.0.
- `gitlab` has been updated from 16.x to 17.x and requires at least `postgresql` 14.9, as stated in the [documentation](https://docs.gitlab.com/17.1/ee/install/requirements.html#postgresql-requirements). Check the [upgrade guide](#module-services-postgres-upgrading) in the NixOS manual on how to upgrade your PostgreSQL installation. - `gitlab` has been updated from 16.x to 17.x and requires `postgresql` >= 14.9, as stated in the [documentation](https://docs.gitlab.com/17.1/ee/install/requirements.html#postgresql-requirements). Check the [upgrade guide](#module-services-postgres-upgrading) in the NixOS manual on how to upgrade your PostgreSQL installation.
- `gitaly` (part of `gitlab`) is now using the bundled `git` package instead of `pkgs.git` to maintain compatibility with GitLab. - `gitaly` (part of `gitlab`) is now using the bundled `git` package instead of `pkgs.git`, to maintain compatibility with GitLab.
- `nixos/gitlab` no longer adds `pkgs.git` to `environment.systemPackages` by default. - `nixos/gitlab` no longer adds `pkgs.git` to `environment.systemPackages` by default.
- The `replay-sorcery` package and module was removed as it unmaintained upstream. Consider using `gpu-screen-recorder` or `obs-studio` instead. - The `replay-sorcery` package and module was removed as it unmaintained upstream. Consider using `gpu-screen-recorder` or `obs-studio` instead.
- To follow [RFC 0042](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md) a few options of `samba` have been moved from `extraConfig` and `configText` to the new freeform option `settings` and renamed, e.g.: - A few options of `services.samba` have been moved from `extraConfig` and `configText` to the new freeform option `settings` and renamed, e.g.:
- `services.samba.invalidUsers` to `services.samba.settings.global."invalid users"` - `services.samba.invalidUsers` to `services.samba.settings.global."invalid users"`
- `services.samba.securityType` to `services.samba.settings.global."security type"` - `services.samba.securityType` to `services.samba.settings.global."security type"`
- `services.samba.shares` to `services.samba.settings` - `services.samba.shares` to `services.samba.settings`
@ -540,10 +542,10 @@
- `zx` was updated to v8, which introduces several breaking changes. - `zx` was updated to v8, which introduces several breaking changes.
See the [v8 changelog](https://github.com/google/zx/releases/tag/8.0.0) for more information. See the [v8 changelog](https://github.com/google/zx/releases/tag/8.0.0) for more information.
- `feishin` removed support for Navidrome `< v0.53.2` due to an API change; more information in the [v0.10.0 release notes](https://github.com/jeffvli/feishin/releases/tag/v0.10.0). - `feishin` removed support for Navidrome `< v0.53.2` due to an API change. See the [v0.10.0 release notes](https://github.com/jeffvli/feishin/releases/tag/v0.10.0) for more information.
- The `dnscrypt-wrapper` module was removed since the project has been effectively unmaintained since 2018; moreover the NixOS module had to rely on an abandoned version of dnscrypt-proxy v1 for the rotation of keys. - `services.dnscrypt-wrapper` was removed, as the project has been effectively unmaintained since 2018. Moreover, the NixOS module had to rely on an abandoned version of `dnscrypt-proxy` v1 for the rotation of keys.
To wrap a resolver with DNSCrypt you can instead use `dnsdist`. See options `services.dnsdist.dnscrypt.*` To wrap a resolver with DNSCrypt, you can instead use `dnsdist`. See `services.dnsdist.dnscrypt`
- The `portunus` package and service do not support weak password hashes anymore. - The `portunus` package and service do not support weak password hashes anymore.
If you installed Portunus on NixOS 23.11 or earlier, upgrade to NixOS 24.05 first to get support for strong password hashing. If you installed Portunus on NixOS 23.11 or earlier, upgrade to NixOS 24.05 first to get support for strong password hashing.
@ -558,7 +560,7 @@
Explicitly set `kubelet.hostname` to `networking.fqdnOrHostName` to get back Explicitly set `kubelet.hostname` to `networking.fqdnOrHostName` to get back
the old default behavior. the old default behavior.
- Docker now defaults to 27.x, because version 24.x stopped receiving security updates and bug fixes after [February 1, 2024](https://github.com/moby/moby/pull/46772#discussion_r1686464084). - Docker now defaults to 27.x, as version 24.x stopped receiving security updates and bug fixes after [February 1, 2024](https://github.com/moby/moby/pull/46772#discussion_r1686464084).
- `postgresql` was split into default and -dev outputs. To make this work without circular dependencies, the output of the `pg_config` system view has been removed. The `pg_config` binary is provided in the -dev output and still works as expected. - `postgresql` was split into default and -dev outputs. To make this work without circular dependencies, the output of the `pg_config` system view has been removed. The `pg_config` binary is provided in the -dev output and still works as expected.
@ -573,6 +575,8 @@
The `shout` top-level attribute was an alias to this package. The `shout` top-level attribute was an alias to this package.
The associated `services.shout` module has also been removed. The associated `services.shout` module has also been removed.
- `prometheus-openldap-exporter` was removed, as it was unmaintained both upstream and in nixpkgs.
- The `indi-full` package no longer contains non-free drivers. - The `indi-full` package no longer contains non-free drivers.
To get the old collection of drivers use `indi-full-nonfree` or create your own collection of drivers by overriding indi-with-drivers. To get the old collection of drivers use `indi-full-nonfree` or create your own collection of drivers by overriding indi-with-drivers.
E.g.: `pkgs.indi-with-drivers.override {extraDrivers = with pkgs.indi-3rdparty; [indi-gphoto];}` E.g.: `pkgs.indi-with-drivers.override {extraDrivers = with pkgs.indi-3rdparty; [indi-gphoto];}`
@ -588,12 +592,14 @@
support, which is the intended default behavior by Tracy maintainers. support, which is the intended default behavior by Tracy maintainers.
X11 users have to switch to the new package `tracy-x11`. X11 users have to switch to the new package `tracy-x11`.
- The `services.prometheus.exporters.minio` option has been removed, as it's upstream implementation was broken and unmaintained. - `gollum` has been upgraded to major version 6. Please review their [migration notes](https://github.com/gollum/gollum/wiki/6.0-Release-Notes).
- `services.prometheus.exporters.minio` option has been removed, as it's upstream implementation was broken and unmaintained.
Minio now has built-in [Prometheus metrics exposure](https://min.io/docs/minio/linux/operations/monitoring/collect-minio-metrics-using-prometheus.html), which can be used instead. Minio now has built-in [Prometheus metrics exposure](https://min.io/docs/minio/linux/operations/monitoring/collect-minio-metrics-using-prometheus.html), which can be used instead.
- The `services.prometheus.exporters.tor` option has been removed, as its upstream implementation was broken and unmaintained. - The `services.prometheus.exporters.tor` option has been removed, as its upstream implementation was broken and unmaintained.
- The `services.patroni.raft` option has been removed, as Raft has been [deprecated by upstream since 3.0.0](https://github.com/patroni/patroni/blob/master/docs/releases.rst#version-300) - `services.patroni.raft` has been removed, as Raft has been [deprecated by upstream since 3.0.0](https://github.com/patroni/patroni/blob/master/docs/releases.rst#version-300).
- The `jd-cli` package was removed due to an inactive upstream and a dependency on the shut down - The `jd-cli` package was removed due to an inactive upstream and a dependency on the shut down
JCenter JAR repository. JCenter JAR repository.
@ -604,25 +610,27 @@
- `services.roundcube.maxAttachmentSize` will multiply the value set with `1.37` to offset overhead introduced by the base64 encoding applied to attachments. - `services.roundcube.maxAttachmentSize` will multiply the value set with `1.37` to offset overhead introduced by the base64 encoding applied to attachments.
- The `services.mxisd` module has been removed as both [mxisd](https://github.com/kamax-matrix/mxisd) and [ma1sd](https://github.com/ma1uta/ma1sd) are not maintained any longer. - `services.mxisd` has been removed as both [mxisd](https://github.com/kamax-matrix/mxisd) and [ma1sd](https://github.com/ma1uta/ma1sd) are no longer maintained.
Consequently the package `pkgs.ma1sd` has also been removed. Consequently, the package `ma1sd` has also been removed.
- The `rss-bridge` service drops the support to load a configuration file from `${config.services.rss-bridge.dataDir}/config.ini.php`. - The `rss-bridge` service drops the support to load a configuration file from `${config.services.rss-bridge.dataDir}/config.ini.php`.
Consider using the `services.rss-bridge.config` option instead. Consider using the `services.rss-bridge.config` option instead.
- The `xdg.portal.gtkUsePortal` option has been removed, as it had been deprecated for over 2 years. Using the `GTK_USE_PORTAL` environment variable in this manner is not intended nor encouraged by the GTK developers, but can still be done manually via `environment.sessionVariables`. - `mikutter` has been removed, as the package was broken and had no maintainers in nixpkgs.
- `xdg.portal.gtkUsePortal` has been removed, as it had been deprecated for over 2 years. Using the `GTK_USE_PORTAL` environment variable in this manner is not intended nor encouraged by the GTK developers, but can still be done manually via `environment.sessionVariables`.
- Support for the legacy CUPS browsing and LDAP have been removed from `services.printing`. If `cups` or `ldap` are in the `BrowseRemoteProtocols` setting in `services.printing.browsedConf`, it needs to be removed. - Support for the legacy CUPS browsing and LDAP have been removed from `services.printing`. If `cups` or `ldap` are in the `BrowseRemoteProtocols` setting in `services.printing.browsedConf`, it needs to be removed.
- The `services.trust-dns` module has been renamed to `services.hickory-dns`. - `services.trust-dns` has been renamed to `services.hickory-dns`.
- The option `services.prometheus.exporters.pgbouncer.connectionStringFile` has been removed since - `services.prometheus.exporters.pgbouncer.connectionStringFile` has been removed since
it leaked the connection string (and thus potentially the DB password) into the cmdline it leaked the connection string (and thus potentially the DB password) into the cmdline
of process making it effectively world-readable. of process making it effectively world-readable.
Use [`services.prometheus.exporters.pgbouncer.connectionEnvFile`](#opt-services.prometheus.exporters.pgbouncer.connectionEnvFile) instead. Use [`services.prometheus.exporters.pgbouncer.connectionEnvFile`](#opt-services.prometheus.exporters.pgbouncer.connectionEnvFile) instead.
- The `lsh` package and the `services.lshd` module have been removed as they had no maintainer in Nixpkgs and hadnt seen an upstream release in over a decade. It is recommended to migrate to `openssh` and `services.openssh`. - `lsh` and `services.lshd` have been removed as they had no maintainer in Nixpkgs and no upstream release in over a decade. It is recommended to migrate to `openssh` and `services.openssh`.
- `ceph` has been upgraded to v19. See the [Ceph "squid" release notes](https://docs.ceph.com/en/latest/releases/squid/#v19-2-0-squid) for details and recommended upgrade procedure. - `ceph` has been upgraded to v19. See the [Ceph "squid" release notes](https://docs.ceph.com/en/latest/releases/squid/#v19-2-0-squid) for details and recommended upgrade procedure.
@ -636,23 +644,22 @@
were not used by any other package. External users are encouraged to were not used by any other package. External users are encouraged to
migrate to OpenCV 4. migrate to OpenCV 4.
- The `tvheadend` package and the `services.tvheadend` module have been - `tvheadend` package and the `services.tvheadend` module have been
removed as nobody was willing to maintain them and they were stuck on removed due to lack of maintenance in Nixpkgs and being stuck on
an unmaintained version that required FFmpeg 4; please see [pull an unmaintained version that required FFmpeg 4. Please see the related [pull
request #332259](https://github.com/NixOS/nixpkgs/pull/332259) if you request #332259](https://github.com/NixOS/nixpkgs/pull/332259) if you
are interested in maintaining a newer version. are interested in maintaining a newer version.
- The `antennas` package and the `services.antennas` module have been - `antennas` and `services.antennas` have been removed as they only work with `tvheadend` (see above).
removed as they only work with `tvheadend` (see above).
- The `system.build.brightboxImage` image has been removed as It did not build anymore and has not seen any maintenance in over 7 years (excluding tree-wide changes). - `system.build.brightboxImage` has been removed as it no longer built and has not seen any maintenance in over 7 years (excluding tree-wide changes).
- The `services.syncplay` module now exposes all currently available command-line arguments for `syncplay-server` as options, as well as a `useACMEHost` option for easy TLS setup. - `services.syncplay` now exposes all currently available command-line arguments for `syncplay-server` as options, as well as a `useACMEHost` option for easy TLS setup.
The systemd service now uses `DynamicUser`/`StateDirectory` and the `user` and `group` options have been deprecated. The systemd service now uses `DynamicUser`/`StateDirectory` and the `user` and `group` options have been deprecated.
- The `openlens` package got removed, suggested replacement `lens-desktop` - `openlens` was removed. It is recommended to use `lens-desktop` instead.
- The `services.dnsmasq.extraConfig` option has been removed, as it had been deprecated for over 2 years. This option has been replaced by `services.dnsmasq.settings`. - `services.dnsmasq.extraConfig` has been removed, as it had been deprecated for over 2 years. This option has been replaced by `services.dnsmasq.settings`.
- The NixOS installation media no longer support the ReiserFS or JFS file systems by default. - The NixOS installation media no longer support the ReiserFS or JFS file systems by default.
@ -669,17 +676,17 @@
- `openssl` now defaults to the latest version line `3.3.x`, instead of `3.0.x` before. While there should be no major code incompatibilities, newer OpenSSL versions typically strengthen the default security level. This means that you may have to explicitly allow weak ciphers, hashes and key lengths if necessary. See: [OpenSSL security level documentation](https://docs.openssl.org/3.3/man3/SSL_CTX_set_security_level/). - `openssl` now defaults to the latest version line `3.3.x`, instead of `3.0.x` before. While there should be no major code incompatibilities, newer OpenSSL versions typically strengthen the default security level. This means that you may have to explicitly allow weak ciphers, hashes and key lengths if necessary. See: [OpenSSL security level documentation](https://docs.openssl.org/3.3/man3/SSL_CTX_set_security_level/).
- The `isync` package has been updated to version `1.5.0`, which introduces some breaking changes. See the [compatibility concerns](https://sourceforge.net/projects/isync/files/isync/1.5.0/) for more details. - `isync` has been updated to version `1.5.0`, which introduces some breaking changes. See the [compatibility concerns](https://sourceforge.net/projects/isync/files/isync/1.5.0/) for more details.
- Legacy package `globalprotect-openconnect` 1.x and related module - Legacy package `globalprotect-openconnect` 1.x and related module
`globalprotect-vpn` were dropped. Two new packages `gpauth` and `gpclient` `services.globalprotect` were dropped. Two new packages -- `gpauth` and `gpclient`
from the 2.x version of the GlobalProtect-openconnect project are added in its from the 2.x version of the GlobalProtect-openconnect project -- are added in its
place. The GUI components related to the project are non-free and not place. The GUI components related to the project are non-free and not
packaged. packaged.
- Compatible string matching for `hardware.deviceTree.overlays` has been changed to a more correct behavior. See [below](#sec-release-24.11-migration-dto-compatible) for details. - Compatible string matching for `hardware.deviceTree.overlays` has been changed to a more correct behavior. See [below](#sec-release-24.11-migration-dto-compatible) for details.
- The `rustic` package was upgrade to `0.9.0`, which contains [breaking changes to the config file format](https://github.com/rustic-rs/rustic/releases/tag/v0.9.0). - `rustic` was upgraded to `0.9.0`, which contains [breaking changes to the config file format](https://github.com/rustic-rs/rustic/releases/tag/v0.9.0).
- `pkgs.formats.ini` and `pkgs.formats.iniWithGlobalSection` with - `pkgs.formats.ini` and `pkgs.formats.iniWithGlobalSection` with
`listsAsDuplicateKeys` or `listToValue` no longer merge non-list values into `listsAsDuplicateKeys` or `listToValue` no longer merge non-list values into
@ -764,9 +771,9 @@
The derivation now installs "impl" headers selectively instead of by a wildcard. The derivation now installs "impl" headers selectively instead of by a wildcard.
Use `imgui.src` if you just want to access the unpacked sources. Use `imgui.src` if you just want to access the unpacked sources.
- The new `boot.loader.systemd-boot.windows` option makes setting up dual-booting with Windows on a different drive easier - The new `boot.loader.systemd-boot.windows` option makes setting up dual-booting with Windows on a different drive easier.
- Linux 4.19 has been removed because it will reach its end of life within the lifespan of 24.11 - Linux 4.19 has been removed because it will reach its end of life within the lifespan of 24.11.
- Unprivileged access to the kernel syslog via `dmesg` is now restricted by default. Users wanting to keep an - Unprivileged access to the kernel syslog via `dmesg` is now restricted by default. Users wanting to keep an
unrestricted access to it can set `boot.kernel.sysctl."kernel.dmesg_restrict" = false`. unrestricted access to it can set `boot.kernel.sysctl."kernel.dmesg_restrict" = false`.
@ -774,12 +781,11 @@
- The `i18n.inputMethod` module introduces two new properties: - The `i18n.inputMethod` module introduces two new properties:
`enable` and `type`, for declaring whether to enable an alternative input method and defining which input method respectfully. The options available in `type` are the same as the existing `enabled` option. `enabled` is now deprecated, and will be removed in a future release. `enable` and `type`, for declaring whether to enable an alternative input method and defining which input method respectfully. The options available in `type` are the same as the existing `enabled` option. `enabled` is now deprecated, and will be removed in a future release.
- `security.pam.u2f` now follows RFC42. - `security.pam.u2f` now uses freeform options; all module options are now configurable through `security.pam.u2f.settings`.
All module options are now settable through the freeform `.settings`.
- Mikutter was removed because the package was broken and had no maintainers. - `mikutter` was removed as the package was broken and had no maintainers.
- The new option `services.getty.autologinOnce` was added to limit the automatic login to once per boot and on the first tty only. - `services.getty.autologinOnce` was added to limit the automatic login to once per boot and on the first tty only.
When using full disk encryption, this option allows to unlock the system without retyping the passphrase while keeping the other ttys protected. When using full disk encryption, this option allows to unlock the system without retyping the passphrase while keeping the other ttys protected.
- Gollum was upgraded to major version 6. Read their [migration notes](https://github.com/gollum/gollum/wiki/6.0-Release-Notes). - Gollum was upgraded to major version 6. Read their [migration notes](https://github.com/gollum/gollum/wiki/6.0-Release-Notes).
@ -790,18 +796,16 @@
- `services.timesyncd.fallbackServers` was added and defaults to `networking.timeServers`. - `services.timesyncd.fallbackServers` was added and defaults to `networking.timeServers`.
- Cinnamon has been updated to 6.2, please check [upstream announcement](https://www.linuxmint.com/rel_wilma_whatsnew.php) for more details. - Cinnamon has been updated to 6.2. Please check [upstream announcement](https://www.linuxmint.com/rel_wilma_whatsnew.php) for more details.
Following Mint 22 defaults, the Cinnamon module no longer ships geary and hexchat by default. Following Mint 22 defaults, the Cinnamon module no longer ships `geary` and `hexchat` by default.
- `zfs.latestCompatibleLinuxPackages` is deprecated and is now pointing at the default kernel. If using the stable LTS kernel (default `linuxPackages` is not possible then you must explicitly pin a specific kernel release. For example, `boot.kernelPackages = pkgs.linuxPackages_6_6`. Please be aware that non-LTS kernels are likely to go EOL before ZFS supports the latest supported non-LTS release, requiring manual intervention. - `zfs.latestCompatibleLinuxPackages` is deprecated and is now pointing at the default kernel. If using the stable LTS kernel (default `linuxPackages` is not possible then you must explicitly pin a specific kernel release. For example, `boot.kernelPackages = pkgs.linuxPackages_6_6`. Please be aware that non-LTS kernels are likely to go EOL before ZFS supports the latest supported non-LTS release, requiring manual intervention.
- The `shadowstack` hardening flag has been added, though disabled by default. - The `shadowstack` hardening flag has been added, though disabled by default.
- `xxd` is now provided by the `tinyxxd` package, rather than `vim.xxd`, to reduce closure size and vulnerability impact. Since it has the same options and semantics as Vim's `xxd` utility, there is no user impact. Vim's `xxd` remains available as the `vim.xxd` package. - `xxd` is now provided by the `tinyxxd` package rather than `vim.xxd` to reduce closure size and vulnerability impact. Since it has the same options and semantics as Vim's `xxd` utility, there is no user impact. Vim's `xxd` remains available as the `vim.xxd` package.
- `prometheus-openldap-exporter` was removed since it was unmaintained upstream and had no nixpkgs maintainers. - `restic` module now has an option for inhibiting system sleep while backups are running, defaulting to off (not inhibiting sleep). Available as [`services.restic.backups.<name>.inhibitsSleep`](#opt-services.restic.backups._name_.inhibitsSleep).
- `restic` module now has an option for inhibiting system sleep while backups are running, defaulting to off (not inhibiting sleep), available as [`services.restic.backups.<name>.inhibitsSleep`](#opt-services.restic.backups._name_.inhibitsSleep).
- The arguments from [](#opt-services.postgresql.initdbArgs) now get shell-escaped. - The arguments from [](#opt-services.postgresql.initdbArgs) now get shell-escaped.
@ -842,7 +846,7 @@
- `qgis` and `qgis-ltr` are now built without `grass` by default. `grass` support can be enabled with `qgis.override { withGrass = true; }`. - `qgis` and `qgis-ltr` are now built without `grass` by default. `grass` support can be enabled with `qgis.override { withGrass = true; }`.
## Detailed migration information {#sec-release-24.11-migration} ## Detailed Migration Information {#sec-release-24.11-migration}
### `sound` options removal {#sec-release-24.11-migration-sound} ### `sound` options removal {#sec-release-24.11-migration-sound}

View File

@ -5,24 +5,24 @@
}: }:
buildGoModule rec { buildGoModule rec {
pname = "lndinit"; pname = "lndinit";
version = "0.1.5-beta"; version = "0.1.22-beta";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lightninglabs"; owner = "lightninglabs";
repo = pname; repo = "lndinit";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-7ibjDIDKP1ASvCWiF03aLCR6RXqLxmdkR5UZoU3dneA="; hash = "sha256-KXCObRUhXTEeb48hnQYrnb55g+nJomr52IIVpFDn+nY=";
}; };
vendorHash = "sha256-2AHU5/XSDJAEvAg7LmGxCmrJ/oS84fNF3mXigKFDsb4="; vendorHash = "sha256-peyLhDEH9DKHAQfxVCvv92DErHjidA3DSjpN357Px6M=";
subPackages = ["."]; subPackages = [ "." ];
meta = with lib; { meta = {
description = "Wallet initializer utility for lnd"; description = "Wallet initializer utility for lnd";
homepage = "https://github.com/lightninglabs/lndinit"; homepage = "https://github.com/lightninglabs/lndinit";
mainProgram = "lndinit"; mainProgram = "lndinit";
license = licenses.mit; license = lib.licenses.mit;
maintainers = with maintainers; [aldoborrero]; maintainers = with lib.maintainers; [ aldoborrero ];
}; };
} }

View File

@ -0,0 +1,22 @@
tree 18207ad257a4c0a9ffc4fd250360a91d0b5240cb
parent 37963b8ff6945ae8bdbabee658e5e36d0f67b84a
author Noa Aarts <noa@voorwaarts.nl> Tue Nov 5 13:49:49 2024 +0100
committer Noa Aarts <noa@voorwaarts.nl> Tue Nov 5 13:49:49 2024 +0100
fix static lifetime for string
This fixes a compiler error without changing functionality
diff --git a/src/config.rs b/src/config.rs
index f4bca31..a4fc6bf 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -645,7 +645,7 @@ struct Variable<'a> {
}
impl<'a> Variable<'a> {
- const START_SYMBOL: &str = "$";
+ const START_SYMBOL: &'static str = "$";
fn span(&self) -> std::ops::Range<usize> {
self.start..self.start + Self::START_SYMBOL.len() + self.ident.len()

View File

@ -17,6 +17,11 @@ rustPlatform.buildRustPackage rec {
hash = "sha256-YDopY+wdWlVL2X+/wc1tLSSqFclAkt++JXMK3VodD4s="; hash = "sha256-YDopY+wdWlVL2X+/wc1tLSSqFclAkt++JXMK3VodD4s=";
}; };
patches = [
# part of https://github.com/coastalwhite/lemurs/commit/09003a830400250ec7745939399fc942c505e6c6, but including the rest of the commit may be breaking
./0001-fix-static-lifetime-string.patch
];
cargoHash = "sha256-uuHPJe+1VsnLRGbHtgTMrib6Tk359cwTDVfvtHnDToo="; cargoHash = "sha256-uuHPJe+1VsnLRGbHtgTMrib6Tk359cwTDVfvtHnDToo=";
buildInputs = [ buildInputs = [
@ -30,8 +35,11 @@ rustPlatform.buildRustPackage rec {
meta = with lib; { meta = with lib; {
description = "Customizable TUI display/login manager written in Rust"; description = "Customizable TUI display/login manager written in Rust";
homepage = "https://github.com/coastalwhite/lemurs"; homepage = "https://github.com/coastalwhite/lemurs";
license = with licenses; [asl20 mit]; license = with licenses; [
maintainers = with maintainers; [jeremiahs]; asl20
mit
];
maintainers = with maintainers; [ jeremiahs ];
mainProgram = "lemurs"; mainProgram = "lemurs";
}; };
} }

View File

@ -1,6 +1,15 @@
--- a/plugins/remote-dev-server/bin/launcher.sh --- a/plugins/remote-dev-server/bin/launcher.sh
+++ b/plugins/remote-dev-server/bin/launcher.sh +++ b/plugins/remote-dev-server/bin/launcher.sh
@@ -366,6 +366,8 @@ @@ -322,7 +322,7 @@ fi
# ---------------------------------------------------------------------
# Configure fonts and fontconfig
# ---------------------------------------------------------------------
-if [ $IS_DARWIN -ne 1 ]; then
+if false; then
FONTS_CONFIGURATION_BASE_PATH="$REMOTE_DEV_SERVER_DIR/selfcontained/fontconfig"
if [ ! -d "$FONTS_CONFIGURATION_BASE_PATH" ]; then
echo "ERROR! Unable to locate font configuration source directory in self-contained distribution: '$FONTS_CONFIGURATION_BASE_PATH'." 1>&2
@@ -371,6 +371,8 @@ else
REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS=1 REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS=1
fi fi
@ -9,9 +18,3 @@
if [ $REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS -eq 1 ]; then if [ $REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS -eq 1 ]; then
SELFCONTAINED_LIBS="$REMOTE_DEV_SERVER_DIR/selfcontained/lib" SELFCONTAINED_LIBS="$REMOTE_DEV_SERVER_DIR/selfcontained/lib"
if [ ! -d "$SELFCONTAINED_LIBS" ]; then if [ ! -d "$SELFCONTAINED_LIBS" ]; then
@@ -596,3 +598,5 @@
"$LAUNCHER" "$STARTER_COMMAND" "$PROJECT_PATH" "$@"
;;
esac
+
+unset REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS

View File

@ -2,16 +2,16 @@
builtins.mapAttrs (pname: { doCheck ? true, mainProgram ? pname, subPackages }: buildGoModule rec { builtins.mapAttrs (pname: { doCheck ? true, mainProgram ? pname, subPackages }: buildGoModule rec {
inherit pname; inherit pname;
version = "3.28.2"; version = "3.29.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "projectcalico"; owner = "projectcalico";
repo = "calico"; repo = "calico";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-ZENlUmSLI+aY33a69LNsfer/TLz8gmzxEv8Gddz6faU="; hash = "sha256-bgcY/unCLAtPOeEwRJGl8u1dHYdO3tSzMTg47DHOsJM=";
}; };
vendorHash = "sha256-6ZHb4SUa22/KfN4B2hg710FOSpg69rlT9FbZ/wCjpDc="; vendorHash = "sha256-9Kap6qHIttgMRSnSnTUvWj72jp5u2vIMy5l2sJRfKlU=";
inherit doCheck subPackages; inherit doCheck subPackages;

View File

@ -7,16 +7,16 @@
buildGoModule rec { buildGoModule rec {
pname = "kube-score"; pname = "kube-score";
version = "1.18.0"; version = "1.19.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zegl"; owner = "zegl";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-3OdcYqSUy0WH5CrrRMXDs1HGxvToXx/3iPytYBdDncg="; hash = "sha256-YsbefR6WkFef5nhbD9ACQ7Xx572RsHlL2zY78RtTtsQ=";
}; };
vendorHash = "sha256-4yd/N57O3avD8KaGU9lZAEDasPx1pRx37rqQpuGeRiY="; vendorHash = "sha256-9P7emxfRolhGEMiAJmBczksWkyHVFUtPZaNrjXkZ4t4=";
ldflags = [ ldflags = [
"-s" "-s"

View File

@ -1,10 +1,10 @@
{ lib { lib
, buildGoModule , buildGo122Module
, fetchFromGitHub , fetchFromGitHub
, nixosTests , nixosTests
}: }:
buildGoModule rec { buildGo122Module rec {
pname = "peroxide"; pname = "peroxide";
version = "0.5.0"; version = "0.5.0";

View File

@ -4,8 +4,6 @@
nixosTests, nixosTests,
fetchFromGitHub, fetchFromGitHub,
rustPlatform, rustPlatform,
libiconv,
darwin,
openssl, openssl,
pkg-config, pkg-config,
nix-update-script, nix-update-script,
@ -26,12 +24,7 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = buildInputs = [ openssl ];
[ openssl ]
++ lib.optionals stdenv.hostPlatform.isDarwin [
libiconv
darwin.apple_sdk.frameworks.Security
];
doInstallCheck = true; doInstallCheck = true;
installCheckPhase = '' installCheckPhase = ''

View File

@ -2,8 +2,6 @@
lib, lib,
rustPlatform, rustPlatform,
fetchFromGitHub, fetchFromGitHub,
stdenv,
darwin,
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
@ -18,9 +16,7 @@ rustPlatform.buildRustPackage rec {
fetchSubmodules = true; fetchSubmodules = true;
}; };
cargoPatches = [ cargoPatches = [ ./0001-update-time-rs.patch ];
./0001-update-time-rs.patch
];
cargoLock = { cargoLock = {
lockFile = ./Cargo.lock; lockFile = ./Cargo.lock;
@ -29,11 +25,6 @@ rustPlatform.buildRustPackage rec {
}; };
}; };
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.Security
darwin.apple_sdk.frameworks.SystemConfiguration
];
checkFlags = [ checkFlags = [
# the following test cases try to access network, skip them # the following test cases try to access network, skip them
"--skip=tests::test_check_and_get_full_commit_when_full_commit" "--skip=tests::test_check_and_get_full_commit_when_full_commit"

View File

@ -1,24 +1,33 @@
{ lib, stdenv {
, fetchFromGitHub lib,
, autoreconfHook stdenv,
, libX11 fetchFromGitHub,
, libGL autoreconfHook,
, libGLU libX11,
, libglut }: libGL,
libGLU,
libglut,
}:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "antiprism"; pname = "antiprism";
version = "0.30"; version = "0.32";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "antiprism"; owner = "antiprism";
repo = pname; repo = "antiprism";
rev = version; rev = "refs/tags/${finalAttrs.version}";
sha256 = "sha256-dD3MH+KectuuKOYF7bqWtGsBo5zz+UMyY/io1tgXbgU="; hash = "sha256-0FkaIsZixYHP45H0gytnzlpRvNd8mMYjW22w15z3RH8=";
}; };
nativeBuildInputs = [ autoreconfHook ]; nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ libX11 libGLU libGL libglut ];
buildInputs = [
libX11
libGLU
libGL
libglut
];
meta = with lib; { meta = with lib; {
homepage = "https://www.antiprism.com"; homepage = "https://www.antiprism.com";
@ -26,4 +35,4 @@ stdenv.mkDerivation rec {
license = with licenses; [ mit ]; license = with licenses; [ mit ];
maintainers = with maintainers; [ AndersonTorres ]; maintainers = with maintainers; [ AndersonTorres ];
}; };
} })

View File

@ -3,7 +3,6 @@
rustPlatform, rustPlatform,
fetchFromGitHub, fetchFromGitHub,
stdenv, stdenv,
darwin,
help2man, help2man,
openssl, openssl,
pkg-config, pkg-config,
@ -29,9 +28,7 @@ rustPlatform.buildRustPackage {
"man" "man"
]; ];
buildInputs = [ buildInputs = [ openssl ];
openssl
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ];
nativeBuildInputs = [ nativeBuildInputs = [
help2man help2man

View File

@ -5,8 +5,6 @@
fetchFromGitHub, fetchFromGitHub,
pkg-config, pkg-config,
openssl, openssl,
darwin,
libiconv,
}: }:
let let
pname = "asm-lsp"; pname = "asm-lsp";
@ -24,12 +22,7 @@ rustPlatform.buildRustPackage {
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ openssl ];
[ openssl ]
++ lib.optionals stdenv.buildPlatform.isDarwin [
darwin.apple_sdk.frameworks.SystemConfiguration
libiconv
];
cargoHash = "sha256-AtCnYOOtViMpg+rz8miuBZg1pENBPaf9kamSPaVUyiw="; cargoHash = "sha256-AtCnYOOtViMpg+rz8miuBZg1pENBPaf9kamSPaVUyiw=";

View File

@ -4,8 +4,6 @@
fetchFromGitHub, fetchFromGitHub,
pkg-config, pkg-config,
oniguruma, oniguruma,
stdenv,
darwin,
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "atac"; pname = "atac";
@ -20,19 +18,9 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-sNgtqvFiwHSYMDf0379i8Yl9NrkCRVLo/ogjbHFgKBY="; cargoHash = "sha256-sNgtqvFiwHSYMDf0379i8Yl9NrkCRVLo/ogjbHFgKBY=";
nativeBuildInputs = [ nativeBuildInputs = [ pkg-config ];
pkg-config
];
buildInputs = buildInputs = [ oniguruma ];
[
oniguruma
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.AppKit
darwin.apple_sdk.frameworks.Security
darwin.apple_sdk.frameworks.SystemConfiguration
];
env = { env = {
RUSTONIG_SYSTEM_LIBONIG = true; RUSTONIG_SYSTEM_LIBONIG = true;
@ -42,7 +30,7 @@ rustPlatform.buildRustPackage rec {
description = "Simple API client (postman like) in your terminal"; description = "Simple API client (postman like) in your terminal";
homepage = "https://github.com/Julien-cpsn/ATAC"; homepage = "https://github.com/Julien-cpsn/ATAC";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [vinnymeller]; maintainers = with maintainers; [ vinnymeller ];
mainProgram = "atac"; mainProgram = "atac";
}; };
} }

View File

@ -13,7 +13,6 @@
zlib, zlib,
openal, openal,
fontconfig, fontconfig,
darwin,
}: }:
stdenv.mkDerivation { stdenv.mkDerivation {
@ -43,13 +42,6 @@ stdenv.mkDerivation {
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
openal openal
fontconfig fontconfig
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.Cocoa
darwin.apple_sdk.frameworks.Carbon
darwin.apple_sdk.frameworks.IOKit
darwin.apple_sdk.frameworks.CoreVideo
darwin.apple_sdk.frameworks.OpenAL
]; ];
makeFlags = [ makeFlags = [

View File

@ -6,7 +6,6 @@
protobuf, protobuf,
bzip2, bzip2,
stdenv, stdenv,
darwin,
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
@ -33,9 +32,7 @@ rustPlatform.buildRustPackage rec {
protobuf protobuf
]; ];
buildInputs = [ buildInputs = [ bzip2 ];
bzip2
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security ];
meta = { meta = {
description = "Sign (and root) Android A/B OTAs with custom keys while preserving Android Verified Boot"; description = "Sign (and root) Android A/B OTAs with custom keys while preserving Android Verified Boot";

View File

@ -3,7 +3,6 @@
stdenv, stdenv,
rustPlatform, rustPlatform,
fetchFromGitHub, fetchFromGitHub,
darwin,
versionCheckHook, versionCheckHook,
nix-update-script, nix-update-script,
}: }:
@ -21,13 +20,7 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-rlWNrkzUDs3rbQ5ZV4fKU/EKEy4fVbxEP0+wNwXi7Ag="; cargoHash = "sha256-rlWNrkzUDs3rbQ5ZV4fKU/EKEy4fVbxEP0+wNwXi7Ag=";
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ nativeInstallCheckInputs = [ versionCheckHook ];
darwin.apple_sdk.frameworks.CoreServices
];
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = [ "--version" ]; versionCheckProgramArg = [ "--version" ];
doInstallCheck = true; doInstallCheck = true;

View File

@ -6,8 +6,6 @@
libgit2, libgit2,
rust-jemalloc-sys, rust-jemalloc-sys,
zlib, zlib,
stdenv,
darwin,
git, git,
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
@ -23,23 +21,15 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-4vITbsXfgNFoeWMHz7a9Rk7FrsEZRe75nHiyHSMujEQ="; cargoHash = "sha256-4vITbsXfgNFoeWMHz7a9Rk7FrsEZRe75nHiyHSMujEQ=";
nativeBuildInputs = [ nativeBuildInputs = [ pkg-config ];
pkg-config
buildInputs = [
libgit2
rust-jemalloc-sys
zlib
]; ];
buildInputs = nativeCheckInputs = [ git ];
[
libgit2
rust-jemalloc-sys
zlib
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.Security
];
nativeCheckInputs = [
git
];
cargoBuildFlags = [ "-p=biome_cli" ]; cargoBuildFlags = [ "-p=biome_cli" ];
cargoTestFlags = cargoTestFlags =

View File

@ -1,9 +1,7 @@
{ {
lib, lib,
stdenv,
fetchFromGitHub, fetchFromGitHub,
rustPlatform, rustPlatform,
darwin,
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
@ -18,18 +16,13 @@ rustPlatform.buildRustPackage rec {
hash = "sha256-eWhcDzw+6I5N0dse5avwhcQ/y6YZ6b3QKyBwWBrA/xo="; hash = "sha256-eWhcDzw+6I5N0dse5avwhcQ/y6YZ6b3QKyBwWBrA/xo=";
}; };
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.Security
darwin.apple_sdk.frameworks.SystemConfiguration
];
checkFlags = [ checkFlags = [
# Both tests access the network. # Both tests access the network.
"--skip=test_buck2_latest" "--skip=test_buck2_latest"
"--skip=test_buck2_specific_version" "--skip=test_buck2_specific_version"
]; ];
meta = with lib; { meta = {
description = "Buck2 launcher"; description = "Buck2 launcher";
longDescription = '' longDescription = ''
Buckle is a launcher for [Buck2](https://buck2.build). It manages Buckle is a launcher for [Buck2](https://buck2.build). It manages
@ -39,8 +32,8 @@ rustPlatform.buildRustPackage rec {
enforcing the prelude is upgraded in sync. enforcing the prelude is upgraded in sync.
''; '';
homepage = "https://github.com/benbrittain/buckle"; homepage = "https://github.com/benbrittain/buckle";
license = licenses.mit; license = lib.licenses.mit;
maintainers = with maintainers; [ cbarrete ]; maintainers = with lib.maintainers; [ cbarrete ];
mainProgram = "buckle"; mainProgram = "buckle";
}; };
} }

View File

@ -1,9 +1,9 @@
{ lib {
, fetchFromGitHub lib,
, rustPlatform fetchFromGitHub,
, fetchurl rustPlatform,
, stdenv fetchurl,
, darwin stdenv,
}: }:
let let
@ -42,19 +42,20 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-lj/wmLu4cBjDjzMD8DlIz+6Rnag0h+zWiE7lfcTC7lY="; cargoHash = "sha256-lj/wmLu4cBjDjzMD8DlIz+6Rnag0h+zWiE7lfcTC7lY=";
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ];
# tests run in CI on the source repo # tests run in CI on the source repo
doCheck = false; doCheck = false;
# provide the list of solc versions to the `svm-rs-builds` dependency # provide the list of solc versions to the `svm-rs-builds` dependency
SVM_RELEASES_LIST_JSON = solc-versions.${stdenv.hostPlatform.system}; SVM_RELEASES_LIST_JSON = solc-versions.${stdenv.hostPlatform.system};
meta = with lib; { meta = {
description = "Solidity test generator based on the Branching Tree Technique"; description = "Solidity test generator based on the Branching Tree Technique";
homepage = "https://github.com/alexfertel/bulloak"; homepage = "https://github.com/alexfertel/bulloak";
license = with licenses; [ mit asl20 ]; license = with lib.licenses; [
mit
asl20
];
mainProgram = "bulloak"; mainProgram = "bulloak";
maintainers = with maintainers; [ beeb ]; maintainers = with lib.maintainers; [ beeb ];
}; };
} }

View File

@ -0,0 +1,25 @@
{
rustPlatform,
fetchCrate,
lib,
}:
rustPlatform.buildRustPackage rec {
pname = "cargo-gra";
version = "0.6.0";
src = fetchCrate {
inherit pname version;
hash = "sha256-cli7qaIVYvoZpDml/QAxm2vjvh/g28zlDSpU9IIUBfw=";
};
cargoHash = "sha256-xsaavcpDaiDDbL3Dl+7NLcfB5U6vuYsVPoIuA/KXCvI=";
meta = {
license = lib.licenses.gpl3Plus;
homepage = "https://gitlab.com/floers/gtk-stuff/cargo-gra/";
maintainers = with lib.maintainers; [ bot-wxt1221 ];
platforms = lib.platforms.unix;
description = "gtk-rust-app cli for building flatpak apps with ease";
};
}

View File

@ -0,0 +1,40 @@
{
lib,
fetchFromGitHub,
rustPlatform,
pkg-config,
dbus,
udev,
openssl,
}:
rustPlatform.buildRustPackage {
pname = "cargo-v5";
version = "0.8.2";
src = fetchFromGitHub {
owner = "vexide";
repo = "cargo-v5";
rev = "9d5f6e014c80838ff2b0cca401bcbd518c1e9274";
hash = "sha256-bXzJvlhG/IJOu+D1iluJD3wDoiJXWzXYJ+ZUG6xMCeA=";
};
cargoHash = "sha256-OQ3XY8RzmjGZWFyTY3HY9AYb8qDHHeEAuWa+3WNOtRM=";
buildFeatures = [ "full" ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [
dbus
udev
openssl
];
meta = {
description = "Cargo tool for working with VEX V5 Rust projects";
mainProgram = "cargo-v5";
homepage = "https://github.com/vexide/cargo-v5";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ max-niederman ];
};
}

View File

@ -1,15 +1,10 @@
{ {
lib, lib,
stdenv,
rustPlatform, rustPlatform,
fetchFromGitHub, fetchFromGitHub,
protobuf, protobuf,
darwin,
}: }:
let
inherit (darwin.apple_sdk.frameworks) CoreFoundation SystemConfiguration;
in
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "comet-gog"; pname = "comet-gog";
version = "0.1.2"; version = "0.1.2";
@ -31,11 +26,6 @@ rustPlatform.buildRustPackage rec {
env.PROTOC = lib.getExe' protobuf "protoc"; env.PROTOC = lib.getExe' protobuf "protoc";
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
CoreFoundation
SystemConfiguration
];
meta = { meta = {
changelog = "https://github.com/imLinguin/comet/releases/tag/v${version}"; changelog = "https://github.com/imLinguin/comet/releases/tag/v${version}";
description = "Open Source implementation of GOG Galaxy's Communication Service"; description = "Open Source implementation of GOG Galaxy's Communication Service";

View File

@ -1,12 +1,12 @@
{ {
lib lib
, buildGoModule , buildGo122Module
, fetchFromGitHub , fetchFromGitHub
, nix-update-script , nix-update-script
, coreutils , coreutils
}: }:
buildGoModule rec { buildGo122Module rec {
pname = "devdash"; pname = "devdash";
version = "0.5.0"; version = "0.5.0";

View File

@ -1,7 +1,6 @@
{ {
lib, lib,
stdenv, stdenv,
overrideSDK,
rustPlatform, rustPlatform,
fetchFromGitHub, fetchFromGitHub,
@ -16,15 +15,10 @@
libsoup, libsoup,
webkitgtk_4_0, webkitgtk_4_0,
gst_all_1, gst_all_1,
darwin, apple-sdk_11,
}: }:
let rustPlatform.buildRustPackage rec {
buildRustPackage = rustPlatform.buildRustPackage.override {
stdenv = if stdenv.hostPlatform.isDarwin then overrideSDK stdenv "11.0" else stdenv;
};
in
buildRustPackage rec {
pname = "en-croissant"; pname = "en-croissant";
version = "0.11.1"; version = "0.11.1";
@ -72,10 +66,7 @@ buildRustPackage rec {
gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-good gst_all_1.gst-plugins-good
] ]
++ lib.optionals stdenv.hostPlatform.isDarwin [ ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 ];
darwin.apple_sdk_11_0.frameworks.Cocoa
darwin.apple_sdk_11_0.frameworks.WebKit
];
doCheck = false; # many scoring tests fail doCheck = false; # many scoring tests fail

View File

@ -0,0 +1,97 @@
{
lib,
buildGoModule,
ente-cli,
fetchFromGitHub,
installShellFiles,
nix-update-script,
stdenv,
testers,
}:
let
version = "0.2.2";
canExecute = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
in
buildGoModule {
pname = "ente-cli";
inherit version;
src = fetchFromGitHub {
owner = "ente-io";
repo = "ente";
rev = "refs/tags/cli-v${version}";
hash = "sha256-ynbljYl73XwCnt3RUNmOYdrN8FX3sJ+3qDhWa8m2YJs=";
sparseCheckout = [ "cli" ];
};
modRoot = "./cli";
vendorHash = "sha256-Gg1mifMVt6Ma8yQ/t0R5nf6NXbzLZBpuZrYsW48p0mw=";
CGO_ENABLED = 0;
ldflags = [
"-s"
"-w"
"-X main.AppVersion=cli-v${version}"
];
nativeBuildInputs = [ installShellFiles ];
postInstall =
''
mv $out/bin/{cli,ente}
''
# running ente results in the following errors:
# > mkdir /homeless-shelter: permission denied
# > error getting password from keyring: exec: "dbus-launch": executable file not found in $PATH
# fix by setting ENTE_CLI_CONFIG_PATH to $TMP and ENTE_CLI_SECRETS_PATH to a non existing path
# also guarding with `isLinux` because ENTE_CLI_SECRETS_PATH doesn't help on darwin:
# > error setting password in keyring: exit status 195
#
+ lib.optionalString (stdenv.buildPlatform.isLinux && canExecute) ''
export ENTE_CLI_CONFIG_PATH=$TMP
export ENTE_CLI_SECRETS_PATH=$TMP/secrets
installShellCompletion --cmd ente \
--bash <($out/bin/ente completion bash) \
--fish <($out/bin/ente completion fish) \
--zsh <($out/bin/ente completion zsh)
'';
passthru = {
# only works on linux, see comment above about ENTE_CLI_SECRETS_PATH on darwin
tests.version = lib.optionalAttrs stdenv.isLinux (
testers.testVersion {
package = ente-cli;
command = ''
env ENTE_CLI_CONFIG_PATH=$TMP \
ENTE_CLI_SECRETS_PATH=$TMP/secrets \
ente version
'';
version = "Version cli-v${ente-cli.version}";
}
);
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"cli-(.+)"
];
};
};
meta = {
description = "CLI client for downloading your data from Ente";
longDescription = ''
The Ente CLI is a Command Line Utility for exporting data from Ente. It also does a few more things, for example, you can use it to decrypting the export from Ente Auth.
'';
homepage = "https://github.com/ente-io/ente/tree/main/cli#readme";
changelog = "https://github.com/ente-io/ente/releases/tag/cli-v${version}";
license = lib.licenses.agpl3Only;
maintainers = [
lib.maintainers.zi3m5f
];
mainProgram = "ente";
};
}

View File

@ -1,5 +1,6 @@
{ {
lib, lib,
stdenv,
buildGoModule, buildGoModule,
buildNpmPackage, buildNpmPackage,
fetchFromGitHub, fetchFromGitHub,
@ -16,8 +17,7 @@
mupdf, mupdf,
fontconfig, fontconfig,
freetype, freetype,
stdenv, apple-sdk_11,
darwin,
}: }:
buildGoModule rec { buildGoModule rec {
@ -76,6 +76,9 @@ buildGoModule rec {
buildInputs = buildInputs =
[ [
mupdf
]
++ lib.optionals stdenv.hostPlatform.isLinux [
libGL libGL
libX11 libX11
libXcursor libXcursor
@ -83,14 +86,11 @@ buildGoModule rec {
libXinerama libXinerama
libXi libXi
libXxf86vm libXxf86vm
mupdf
fontconfig fontconfig
freetype freetype
] ]
++ lib.optionals stdenv.hostPlatform.isDarwin [ ++ lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk_11_0.frameworks.Carbon apple-sdk_11
darwin.apple_sdk_11_0.frameworks.Cocoa
darwin.apple_sdk_11_0.frameworks.Kernel
]; ];
# flags are based on https://github.com/richardwilkes/gcs/blob/master/build.sh # flags are based on https://github.com/richardwilkes/gcs/blob/master/build.sh

View File

@ -46,11 +46,11 @@ stdenv.mkDerivation (finalAttrs: {
strictDeps = true; strictDeps = true;
meta = { meta = {
homepage = "https://github.com/emersion/grim"; homepage = "https://sr.ht/~emersion/grim";
description = "Grab images from a Wayland compositor"; description = "Grab images from a Wayland compositor";
license = lib.licenses.mit; license = lib.licenses.mit;
mainProgram = "grim"; mainProgram = "grim";
maintainers = with lib.maintainers; [ AndersonTorres ]; maintainers = with lib.maintainers; [ AndersonTorres ];
inherit (wayland.meta) platforms; platforms = lib.platforms.linux;
}; };
}) })

View File

@ -1,31 +1,32 @@
{ lib {
, stdenv lib,
, fetchurl stdenv,
, bash-completion fetchurl,
, bison bash-completion,
, cdrkit bison,
, cpio cdrkit,
, curl cpio,
, flex curl,
, getopt flex,
, glib getopt,
, gnupg glib,
, hivex gnupg,
, jansson hivex,
, libguestfs-with-appliance jansson,
, libosinfo libguestfs-with-appliance,
, libvirt libosinfo,
, libxml2 libvirt,
, makeWrapper libxml2,
, ncurses makeWrapper,
, ocamlPackages ncurses,
, openssl ocamlPackages,
, pcre2 openssl,
, perlPackages pcre2,
, pkg-config perlPackages,
, qemu pkg-config,
, xz qemu,
, gitUpdater xz,
gitUpdater,
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
@ -37,28 +38,29 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-02khDS2NLG1QOSqswtDoqBX2Mg6sE/OiUoP9JFs4vTU="; hash = "sha256-02khDS2NLG1QOSqswtDoqBX2Mg6sE/OiUoP9JFs4vTU=";
}; };
nativeBuildInputs = [ nativeBuildInputs =
bison [
cdrkit bison
cpio cdrkit
flex cpio
getopt flex
makeWrapper getopt
pkg-config makeWrapper
qemu pkg-config
] ++ qemu
(with perlPackages; [ ]
GetoptLong ++ (with perlPackages; [
libintl-perl GetoptLong
ModuleBuild libintl-perl
perl ModuleBuild
Po4a perl
]) ++ Po4a
(with ocamlPackages; [ ])
findlib ++ (with ocamlPackages; [
ocaml findlib
ounit2 ocaml
]); ounit2
]);
buildInputs = [ buildInputs = [
bash-completion bash-completion
@ -100,10 +102,22 @@ stdenv.mkDerivation (finalAttrs: {
postInstall = '' postInstall = ''
wrapProgram $out/bin/virt-builder \ wrapProgram $out/bin/virt-builder \
--argv0 virt-builder \ --argv0 virt-builder \
--prefix PATH : ${lib.makeBinPath [ curl gnupg ]}:$out/bin \ --prefix PATH : ${
lib.makeBinPath [
curl
gnupg
]
}:$out/bin \
--suffix VIRT_BUILDER_DIRS : /etc:$out/etc --suffix VIRT_BUILDER_DIRS : /etc:$out/etc
wrapProgram $out/bin/virt-win-reg \ wrapProgram $out/bin/virt-win-reg \
--prefix PERL5LIB : ${with perlPackages; makeFullPerlPath [ hivex libintl-perl libguestfs-with-appliance ]} --prefix PERL5LIB : ${
with perlPackages;
makeFullPerlPath [
hivex
libintl-perl
libguestfs-with-appliance
]
}
''; '';
passthru.updateScript = gitUpdater { passthru.updateScript = gitUpdater {
@ -114,10 +128,14 @@ stdenv.mkDerivation (finalAttrs: {
meta = { meta = {
description = "Extra tools for accessing and modifying virtual machine disk images"; description = "Extra tools for accessing and modifying virtual machine disk images";
license = with lib.licenses; [ gpl2Plus lgpl21Plus ]; license = with lib.licenses; [
gpl2Plus
lgpl21Plus
];
homepage = "https://libguestfs.org/"; homepage = "https://libguestfs.org/";
changelog = "https://www.libguestfs.org/guestfs-tools-release-notes-${lib.versions.majorMinor finalAttrs.version}.1.html"; changelog = "https://www.libguestfs.org/guestfs-tools-release-notes-${lib.versions.majorMinor finalAttrs.version}.1.html";
maintainers = [ ]; maintainers = [ ];
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
hydraPlatforms = [ ];
}; };
}) })

View File

@ -13,14 +13,10 @@
glib, glib,
gtk4, gtk4,
libadwaita, libadwaita,
darwin,
gettext, gettext,
appstream, appstream,
}: }:
let
inherit (darwin.apple_sdk.frameworks) CoreFoundation Foundation;
in
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "hieroglyphic"; pname = "hieroglyphic";
version = "1.1.0"; version = "1.1.0";
@ -53,16 +49,11 @@ stdenv.mkDerivation (finalAttrs: {
appstream appstream
]; ];
buildInputs = buildInputs = [
[ glib
glib gtk4
gtk4 libadwaita
libadwaita ];
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
CoreFoundation
Foundation
];
# needed for darwin # needed for darwin
env.GETTEXT_DIR = "${gettext}"; env.GETTEXT_DIR = "${gettext}";

View File

@ -3,7 +3,6 @@
stdenv, stdenv,
buildNpmPackage, buildNpmPackage,
fetchFromGitHub, fetchFromGitHub,
overrideSDK,
electron, electron,
nodejs, nodejs,
@ -20,15 +19,10 @@
libXtst, libXtst,
libXi, libXi,
wayland, wayland,
darwin, apple-sdk_11,
}: }:
let buildNpmPackage rec {
buildNpmPackage' = buildNpmPackage.override {
stdenv = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
};
in
buildNpmPackage' rec {
pname = "kando"; pname = "kando";
version = "1.4.0"; version = "1.4.0";
@ -64,7 +58,9 @@ buildNpmPackage' rec {
libXi libXi
wayland wayland
] ]
++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk_11_0.frameworks.AppKit ]; ++ lib.optionals stdenv.isDarwin [
apple-sdk_11
];
dontUseCmakeConfigure = true; dontUseCmakeConfigure = true;

View File

@ -1,48 +1,71 @@
{ lib {
, rustPlatform lib,
, fetchFromGitLab rustPlatform,
, pkg-config fetchFromGitLab,
, gtk4 pkg-config,
, libadwaita gtk4,
, wrapGAppsHook4 libadwaita,
, glib wrapGAppsHook4,
, tzdata glib,
tzdata,
nix-update-script,
dbus,
cargo-gra,
fetchpatch,
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "karlender"; pname = "karlender";
version = "0.9.2"; version = "0.10.4";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "floers"; owner = "floers";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-txPMOWwxgs9PH1Scnwr/X4cuMIUa+eoLW3K2aqmqRMQ="; hash = "sha256-W+s1RCPwy7ZiK514AaQLwV9y+VJ58oMGlrS5cdoFKIg=";
}; };
cargoHash = "sha256-OyyzzkoYBed2XFCesj3QBodT9e/BaapGl/z0f6+cDZA="; cargoPatches = [
# https://gitlab.com/floers/calendar-stuff/karlender/-/merge_requests/43
# Remove it when it is merged and released.
(fetchpatch {
url = "https://gitlab.com/floers/calendar-stuff/karlender/-/commit/ce50c68323a834a0ee2cbff88ed285a971dfd91e.patch";
hash = "sha256-0hGgJPwnSNGTO/eiooQkQlBJ4brbaWVKRY6MT1PZApg=";
})
];
cargoHash = "sha256-CeHIx6oUtAcr6tBdqmIDTLuYcesaA6G72L3HwHDLY7Y=";
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config pkg-config
wrapGAppsHook4 wrapGAppsHook4
glib glib
cargo-gra
]; ];
buildInputs = [ buildInputs = [
gtk4 gtk4
libadwaita libadwaita
dbus
]; ];
checkFlags = [
"--skip domain::time::tests::test_get_correct_offset_for_dst" # Need time
];
preBuild = ''
cargo-gra gen
'';
postPatch = '' postPatch = ''
substituteInPlace src/domain/time.rs --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" substituteInPlace src/domain/time.rs --replace-fail "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
substituteInPlace build.rs --replace "// gra::build" "gra::build"
''; '';
postInstall = '' postInstall = ''
substituteInPlace target/gra-gen/data/codes.loers.Karlender.desktop \ substituteInPlace target/gra-gen/data/codes.loers.Karlender.desktop \
--replace "Exec=codes.loers.Karlender" "Exec=karlender" --replace-fail "Exec=codes.loers.Karlender" "Exec=karlender"
substituteInPlace target/gra-gen/data/codes.loers.Karlender.appdata.xml \ substituteInPlace target/gra-gen/data/codes.loers.Karlender.appdata.xml \
--replace "<binary>codes.loers.Karlender</binary>" "<binary>karlender</binary>" --replace-fail "<binary>codes.loers.Karlender</binary>" "<binary>karlender</binary>"
install -Dm444 target/gra-gen/codes.loers.Karlender.gschema.xml -t $out/share/gsettings-schemas/$name/glib-2.0/schemas/ install -Dm444 target/gra-gen/codes.loers.Karlender.gschema.xml -t $out/share/gsettings-schemas/$name/glib-2.0/schemas/
glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas/ glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas/
install -Dm444 target/gra-gen/data/codes.loers.Karlender.svg -t $out/share/icons/hicolor/scalable/apps/ install -Dm444 target/gra-gen/data/codes.loers.Karlender.svg -t $out/share/icons/hicolor/scalable/apps/
@ -52,12 +75,17 @@ rustPlatform.buildRustPackage rec {
install -Dm444 target/gra-gen/data/codes.loers.Karlender.appdata.xml -t $out/share/metainfo/ install -Dm444 target/gra-gen/data/codes.loers.Karlender.appdata.xml -t $out/share/metainfo/
''; '';
meta = with lib; { passthru.updateScript = nix-update-script { };
meta = {
description = "Mobile-friendly GTK calendar application"; description = "Mobile-friendly GTK calendar application";
mainProgram = "karlender"; mainProgram = "karlender";
homepage = "https://gitlab.com/floers/karlender"; homepage = "https://gitlab.com/floers/karlender";
license = licenses.gpl3Plus; license = lib.licenses.gpl3Plus;
maintainers = with maintainers; [ chuangzhu ]; maintainers = with lib.maintainers; [
platforms = platforms.linux; chuangzhu
bot-wxt1221
];
platforms = lib.platforms.linux;
}; };
} }

View File

@ -0,0 +1,24 @@
{
lib,
fetchFromGitHub,
materia-theme,
}:
materia-theme.overrideAttrs (oldAttrs: rec {
pname = "materia-theme-transparent";
version = "0-unstable-2021-03-22";
src = fetchFromGitHub {
owner = "ckissane";
repo = "materia-theme-transparent";
rev = "c5d95bbddd59a717bfc4976737af429a89ba74e0";
hash = "sha256-dHcwPTZFWO42wu1LbtGCMm2w/YHbjSUJnRKcaFllUbs=";
};
meta = {
description = "Transparent Material Design theme for GNOME/GTK based desktop environments";
homepage = "https://github.com/ckissane/materia-theme-transparent";
license = lib.licenses.gpl2Only;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.corbinwunderlich ];
};
})

View File

@ -0,0 +1,24 @@
{
lib,
fetchFromGitHub,
materia-theme,
}:
materia-theme.overrideAttrs (oldAttrs: rec {
pname = "materia-theme-transparent";
version = "0-unstable-2021-03-22";
src = fetchFromGitHub {
owner = "ckissane";
repo = "materia-theme-transparent";
rev = "c5d95bbddd59a717bfc4976737af429a89ba74e0";
hash = "sha256-dHcwPTZFWO42wu1LbtGCMm2w/YHbjSUJnRKcaFllUbs=";
};
meta = {
description = "Transparent Material Design theme for GNOME/GTK based desktop environments";
homepage = "https://github.com/ckissane/materia-theme-transparent";
license = lib.licenses.gpl2Only;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.corbinwunderlich ];
};
})

View File

@ -4,7 +4,6 @@
fetchFromGitHub, fetchFromGitHub,
cmake, cmake,
glfw, glfw,
darwin,
enableShared ? !stdenv.hostPlatform.isStatic, enableShared ? !stdenv.hostPlatform.isStatic,
enableDebug ? false, enableDebug ? false,
}: }:
@ -33,16 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = buildInputs = [ glfw ];
[ glfw ]
++ lib.optionals stdenv.hostPlatform.isDarwin (
with darwin.apple_sdk.frameworks;
[
OpenGL
Cocoa
IOKit
]
);
cmakeFlags = [ (lib.cmakeBool "DEBUG" enableDebug) ]; cmakeFlags = [ (lib.cmakeBool "DEBUG" enableDebug) ];

View File

@ -1,8 +1,6 @@
{ lib { lib
, stdenv
, rustPlatform , rustPlatform
, fetchFromGitHub , fetchFromGitHub
, darwin
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
@ -18,10 +16,6 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-cDAHzK3pgpn5zEFdLBltf1e28yFFkXOzcF+nvDb8aWI="; cargoHash = "sha256-cDAHzK3pgpn5zEFdLBltf1e28yFFkXOzcF+nvDb8aWI=";
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.Security
];
meta = { meta = {
changelog = "https://github.com/pls-rs/pls/releases/tag/${src.rev}"; changelog = "https://github.com/pls-rs/pls/releases/tag/${src.rev}";
description = "Prettier and powerful ls"; description = "Prettier and powerful ls";

View File

@ -0,0 +1,41 @@
From f404e176e89c5d778363cb0177b44dc1aa5e1fda Mon Sep 17 00:00:00 2001
From: wxt <3264117476@qq.com>
Date: Tue, 5 Nov 2024 12:53:04 +0800
Subject: [PATCH] Bind Nix Store
---
src/core/judgingthread.cpp | 18 +++---------------
1 file changed, 3 insertions(+), 15 deletions(-)
diff --git a/src/core/judgingthread.cpp b/src/core/judgingthread.cpp
index 7201552..88aee9d 100644
--- a/src/core/judgingthread.cpp
+++ b/src/core/judgingthread.cpp
@@ -893,21 +893,9 @@ void JudgingThread::runProgram() {
auto *runner = new QProcess(this);
QStringList argumentsList;
- argumentsList << "--ro-bind"
- << "/usr"
- << "/usr";
- argumentsList << "--symlink"
- << "/usr/lib"
- << "/lib";
- argumentsList << "--symlink"
- << "/usr/lib64"
- << "/lib64";
- argumentsList << "--symlink"
- << "/usr/bin"
- << "/bin";
- argumentsList << "--symlink"
- << "/usr/sbin"
- << "/sbin";
+ argumentsList << "--bind"
+ << "/nix/store"
+ << "/nix/store";
argumentsList << "--tmpfs"
<< "/tmp";
--
2.46.1

View File

@ -5,6 +5,9 @@
cmake, cmake,
qt6, qt6,
nix-update-script, nix-update-script,
bubblewrap,
bash,
diffutils,
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
@ -24,6 +27,19 @@ stdenv.mkDerivation (finalAttrs: {
qt6.wrapQtAppsHook qt6.wrapQtAppsHook
]; ];
patches = [
./0001-Bind-Nix-Store.patch
];
postPatch = ''
substituteInPlace src/core/judgingthread.cpp \
--replace-fail "/usr/bin/bwrap" "${lib.getExe bubblewrap}"
substituteInPlace unix/watcher_unix.cpp \
--replace-fail "bash" "${lib.getExe bash}"
substituteInPlace src/base/settings.cpp \
--replace-fail "/usr/bin/diff" "${diffutils}/bin/diff"
'';
cmakeFlags = [ cmakeFlags = [
(lib.cmakeBool "LEMON_QT6" true) (lib.cmakeBool "LEMON_QT6" true)
]; ];

View File

@ -1,12 +1,9 @@
{ {
lib, lib,
stdenv,
python3, python3,
fetchFromGitHub, fetchFromGitHub,
rustPlatform, rustPlatform,
SDL2, SDL2,
libiconv,
darwin,
}: }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
@ -44,12 +41,7 @@ python3.pkgs.buildPythonApplication rec {
bindgenHook bindgenHook
]; ];
buildInputs = buildInputs = [ SDL2 ];
[ SDL2 ]
++ lib.optionals stdenv.hostPlatform.isDarwin [
libiconv
darwin.apple_sdk.frameworks.IOKit
];
env.NIX_CFLAGS_COMPILE = "-I${lib.getDev SDL2}/include/SDL2"; env.NIX_CFLAGS_COMPILE = "-I${lib.getDev SDL2}/include/SDL2";

View File

@ -12,7 +12,7 @@
copyDesktopItems, copyDesktopItems,
makeDesktopItem, makeDesktopItem,
electron, electron,
cctools, apple-sdk_11,
}: }:
buildNpmPackage rec { buildNpmPackage rec {
@ -65,21 +65,15 @@ buildNpmPackage rec {
popd popd
''; '';
nativeBuildInputs = nativeBuildInputs = [
[ zip
zip makeWrapper
makeWrapper ] ++ lib.optionals stdenv.hostPlatform.isLinux [ copyDesktopItems ];
]
++ lib.optionals stdenv.hostPlatform.isLinux [ copyDesktopItems ] buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 ];
++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools ];
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
# Fix error: no member named 'aligned_alloc' in the global namespace
env.NIX_CFLAGS_COMPILE = lib.optionalString (
stdenv.hostPlatform.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinSdkVersion "11.0"
) "-D_LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION=1";
# our patch adds the platform detecting build option # our patch adds the platform detecting build option
npmBuildFlags = "self"; npmBuildFlags = "self";

View File

@ -31,6 +31,12 @@ stdenv.mkDerivation rec {
opencl-clhpp opencl-clhpp
]; ];
postPatch = ''
# TODO: Remove when https://github.com/MCJack123/sanjuuni/commit/778644b164c8877e56f9f5512480dde857133815 is released
substituteInPlace configure \
--replace-fail "swr_alloc_set_opts" "swr_alloc_set_opts2"
'';
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall

View File

@ -6,13 +6,13 @@
}: }:
stdenvNoCC.mkDerivation (finalAttrs: { stdenvNoCC.mkDerivation (finalAttrs: {
pname = "stevenblack-blocklist"; pname = "stevenblack-blocklist";
version = "3.14.115"; version = "3.14.127";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "StevenBlack"; owner = "StevenBlack";
repo = "hosts"; repo = "hosts";
rev = "refs/tags/${finalAttrs.version}"; rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-Iw3NUY0rWF+/lbGcO6zn96oNnRWRH33+8gs4e5yA1vM="; hash = "sha256-85d3cDtmblTrTyCQJUgQgIh2KCAuQRZhBVuo7BXsJLQ=";
}; };
outputs = [ outputs = [

View File

@ -15,7 +15,7 @@
}: }:
let let
version = "1.76.3"; version = "1.76.6";
in in
buildGo123Module { buildGo123Module {
pname = "tailscale"; pname = "tailscale";
@ -27,7 +27,7 @@ buildGo123Module {
owner = "tailscale"; owner = "tailscale";
repo = "tailscale"; repo = "tailscale";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-bSMtBIIpLVbADjHBojeO7VM/Ny+aWM1bz29ZuhOvjRY="; hash = "sha256-c44Fz/cYGN2nsjlaKln8ozjjS5jHSO/X9RMnHa37tJM=";
}; };
patches = [ patches = [

View File

@ -0,0 +1,42 @@
diff --git a/src-script/pack-apack-win-linux.js b/src-script/pack-apack-win-linux.js
index 0120f9f9..41fcf99c 100644
--- a/src-script/pack-apack-win-linux.js
+++ b/src-script/pack-apack-win-linux.js
@@ -6,12 +6,12 @@ exports.default = async function (context) {
context.electronPlatformName === 'win32' ||
context.electronPlatformName === 'linux'
) {
- return scriptUtil.executeCmd({}, 'npx', [
- 'copyfiles',
- '-V',
- '-f',
- path.resolve(context.outDir, '../apack.json'),
- context.appOutDir
+ return scriptUtil.executeCmd({}, 'install', [
+ '-m466',
+ '-v',
+ '-Dt',
+ context.appOutDir,
+ path.resolve(context.outDir, '../apack.json')
])
}
}
diff --git a/src-script/script-util.js b/src-script/script-util.js
index 1897c2b8..9faa5f20 100644
--- a/src-script/script-util.js
+++ b/src-script/script-util.js
@@ -181,11 +181,9 @@ async function rebuildBackendIfNeeded() {
return scriptUtil
.executeCmd({}, 'npx', ['tsc', '--build', './tsconfig.json'])
.then(() =>
- scriptUtil.executeCmd({}, 'npx', [
- 'copyfiles',
- './src-electron/**/*.sql',
- './src-electron/icons/*',
- './dist/'
+ scriptUtil.executeCmd({}, 'bash', [
+ '-xec',
+ 'for i in ./src-electron/**/*.sql ./src-electron/icons/*; do install -m 644 -Dt dist/$(dirname $i) $i; done'
])
)
}

View File

@ -0,0 +1,28 @@
diff --git a/src-script/script-util.js b/src-script/script-util.js
index 1897c2b8..aaf9a08b 100644
--- a/src-script/script-util.js
+++ b/src-script/script-util.js
@@ -196,23 +194,6 @@ async function rebuildBackendIfNeeded() {
* ads the timestamp and saves it into .version.json
*/
async function stampVersion() {
- try {
- let out = await getStdout('{"hash": null,"date": null}', 'git', [
- 'log',
- '-1',
- '--format={"hash": "%H","timestamp": %ct}'
- ])
- let version = JSON.parse(out)
- let d = new Date(version.timestamp * 1000) // git gives seconds, Date needs milliseconds
- let result = await setPackageJsonVersion(d, 'real')
- version.date = d
- version.zapVersion = result.version
- let versionFile = path.join(__dirname, '../.version.json')
- console.log(`🔍 Git commit: ${version.hash} from ${version.date}`)
- await fsp.writeFile(versionFile, JSON.stringify(version))
- } catch (err) {
- console.log(`Error retrieving version: ${err}`)
- }
}
/**

View File

@ -0,0 +1,74 @@
{
lib,
buildNpmPackage,
electron_31,
fetchFromGitHub,
writers,
}:
let
electron = electron_31;
in
buildNpmPackage rec {
pname = "zap-chip";
version = "2024.09.27";
src = fetchFromGitHub {
owner = "project-chip";
repo = "zap";
rev = "v${version}";
hash = "sha256-Dc5rU4jJ6aJpk8mwL+XNSmtisYxF86VzXd/Aacd4p0o=";
};
npmDepsHash = "sha256-ZFksGwKlXkz6XTs2QdalGB0hR16HfB69XQOFWI9X/KY=";
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
env.CYPRESS_INSTALL_BINARY = "0";
patches = [
# the build system creates a file `.version.json` from a git command
# as we don't build from a git repo, we create the file manually in postPatch
# and this patch disables the logic running git
./dont-get-version-from-git.patch
# some files are installed via `npx copyfiles` which tries to download
# code from the internet. This fails in the sandbox. This patch replaces the
# logic by running "normal" commands instead of `npx copyfiles`
./dont-download-copyfiles-to-copy-files.patch
];
postPatch =
let
versionJson = {
hash = version;
timestamp = 1;
date = version;
zapVersion = version;
};
in
''
cp ${writers.writeJSON "zapversion.json" versionJson} .version.json
cat .version.json
'';
postBuild = ''
npm exec electron-builder -- \
--dir \
-c.electronDist=${electron.dist} \
-c.electronVersion=${electron.version}
'';
postInstall = ''
# this file is also used at runtime
install -m644 .version.json $out/lib/node_modules/zap/
# home-assistant chip-* python packages need the executable under the name zap-cli
ln -s $out/bin/zap $out/bin/zap-cli
'';
meta = {
description = "Generic generation engine and user interface for applications and libraries based on Zigbee Cluster Library (ZCL)";
changelog = "https://github.com/project-chip/zap/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ symphorien ];
mainProgram = "zap-cli";
};
}

View File

@ -42,7 +42,7 @@ let
ignored_versions="$7" ignored_versions="$7"
rev_prefix="$8" rev_prefix="$8"
odd_unstable="$9" odd_unstable="$9"
patchlevel_unstable="$${10}" patchlevel_unstable="''${10}"
[[ -n "$name" ]] || name="$UPDATE_NIX_NAME" [[ -n "$name" ]] || name="$UPDATE_NIX_NAME"
[[ -n "$pname" ]] || pname="$UPDATE_NIX_PNAME" [[ -n "$pname" ]] || pname="$UPDATE_NIX_PNAME"
@ -54,7 +54,7 @@ let
function version_is_ignored() { function version_is_ignored() {
local tag="$1" local tag="$1"
[ -n "$ignored_versions" ] && ${grep} -E -e "$ignored_versions" <<< "$tag" [ -n "$ignored_versions" ] && ${grep} -q -E -e "$ignored_versions" <<< "$tag"
} }
function version_is_unstable() { function version_is_unstable() {

View File

@ -1,24 +1,24 @@
let version = "3.5.3"; in let version = "3.5.4"; in
{ fetchurl }: { { fetchurl }: {
versionUsed = version; versionUsed = version;
"${version}-x86_64-darwin" = fetchurl { "${version}-x86_64-darwin" = fetchurl {
url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-x64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-x64-release.zip";
sha256 = "1z6hl6pqsg2l7pfchzr5dk90b2dchidhwnnnc4q5dzz0xjikqrvx"; sha256 = "0x4kjkgva143g0d07rcz9zd9dfmsr9zfhrx4kj9z0ap9s3rv6vdh";
}; };
"${version}-aarch64-darwin" = fetchurl { "${version}-aarch64-darwin" = fetchurl {
url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-arm64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-arm64-release.zip";
sha256 = "12rzl1nm1y0q5ff9p8gslki4cz37y3bdn8p2s3x2nc81bdda4gn7"; sha256 = "00iw0nsxhq4aas717b0vhcz3hlwrpyixbgkf9sksqk2x1w798if0";
}; };
"${version}-aarch64-linux" = fetchurl { "${version}-aarch64-linux" = fetchurl {
url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-arm64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-arm64-release.zip";
sha256 = "1rp54g8di8j715n955wdr6i0pcrx2dn73qmvmrisyahi0qjrk0py"; sha256 = "1v437zpksk0jhib6vhpcbvv715mv32zmwby8b3p9qd3k67fn87d9";
}; };
"${version}-x86_64-linux" = fetchurl { "${version}-x86_64-linux" = fetchurl {
url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-x64-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-x64-release.zip";
sha256 = "001mpb3fniamlmnqmhxdpbvp8crdvnf6sam13vvfmnr6na1fpxil"; sha256 = "0rv9rp8g5blhncqwciymhxh3z2832yp54lphxgsvkmm9y8s5w34d";
}; };
"${version}-i686-linux" = fetchurl { "${version}-i686-linux" = fetchurl {
url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-ia32-release.zip"; url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-ia32-release.zip";
sha256 = "0z9qjx2b2rmiqyqww0a5slj0pi1k8sn4fjihkn53im65rhhqra2y"; sha256 = "02kv119swcp7y4n3yb2i5a4dagjpf0zq3b3an1apahj5zn6ak41g";
}; };
} }

View File

@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "libphonenumber"; pname = "libphonenumber";
version = "8.13.45"; version = "8.13.48";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "google"; owner = "google";
repo = "libphonenumber"; repo = "libphonenumber";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-oR6AvhB99LBNCtbGsCMghDGriTEzqVSEKfzdQyj+g6E="; hash = "sha256-EFrw3pW2uLpzEDMsW251rsB5rvC31eLYQBqYOgGt1Ug=";
}; };
patches = [ patches = [

View File

@ -11,13 +11,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "symengine"; pname = "symengine";
version = "0.12.0"; version = "0.13.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "symengine"; owner = "symengine";
repo = "symengine"; repo = "symengine";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-SfifujR2VM1OlPN0ZRUC3hWImXO/8PuiyrBdpyNoKW4="; hash = "sha256-hMTndwIXTqf3cxKZdnn38SFvZLEb48k1Lvm5/hW7U8k=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View File

@ -1,21 +1,26 @@
{ lib {
, stdenv lib,
, fetchurl stdenv,
, dbus-glib fetchurl,
, glib dbus-glib,
, python3 glib,
, pkg-config python3,
, libxslt pkg-config,
, gobject-introspection libxslt,
, vala gobject-introspection,
, glibcLocales vala,
glibcLocales,
fetchpatch,
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "telepathy-glib"; pname = "telepathy-glib";
version = "0.24.2"; version = "0.24.2";
outputs = [ "out" "dev" ]; outputs = [
"out"
"dev"
];
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/releases/telepathy-glib/${pname}-${version}.tar.gz"; url = "${meta.homepage}/releases/telepathy-glib/${pname}-${version}.tar.gz";
@ -52,9 +57,22 @@ stdenv.mkDerivation rec {
substituteInPlace telepathy-glib/telepathy-glib.pc.in --replace Requires.private Requires substituteInPlace telepathy-glib/telepathy-glib.pc.in --replace Requires.private Requires
''; '';
patches = [
# Upstream unreleased patch for gcc14 error
(fetchpatch {
name = "fix-incompatible-pointer-types.patch";
url = "https://github.com/TelepathyIM/telepathy-glib/commit/72412c944b771f3214ddc40fa9dea82cea3a5651.patch";
hash = "sha256-NXQel0eS7zK6FRbJcPsPXCQxos0xT8EN102vX94M5Vo=";
})
];
meta = with lib; { meta = with lib; {
homepage = "https://telepathy.freedesktop.org"; homepage = "https://telepathy.freedesktop.org";
platforms = platforms.unix; platforms = platforms.unix;
license = with licenses; [ bsd2 bsd3 lgpl21Plus ]; license = with licenses; [
bsd2
bsd3
lgpl21Plus
];
}; };
} }

View File

@ -1,23 +1,22 @@
{ {
lib, lib,
buildPythonPackage, buildPythonPackage,
fetchPypi, home-assistant-chip-wheels,
aenum, aenum,
dacite, dacite,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "home-assistant-chip-clusters"; pname = "home-assistant-chip-clusters";
version = "2024.9.0"; inherit (home-assistant-chip-wheels) version;
format = "wheel"; format = "wheel";
src = fetchPypi { src = home-assistant-chip-wheels;
inherit format version;
pname = "home_assistant_chip_clusters"; # format=wheel needs src to be a wheel not a folder of wheels
dist = "py3"; preUnpack = ''
python = "py3"; src=($src/home_assistant_chip_clusters*.whl)
hash = "sha256-h1umP5bgw1HByiZ0mAd6yWvGHPcvr//G5UhM/qIIkQE="; '';
};
propagatedBuildInputs = [ propagatedBuildInputs = [
aenum aenum
@ -38,6 +37,5 @@ buildPythonPackage rec {
changelog = "https://github.com/home-assistant-libs/chip-wheels/releases/tag/${version}"; changelog = "https://github.com/home-assistant-libs/chip-wheels/releases/tag/${version}";
license = licenses.asl20; license = licenses.asl20;
maintainers = teams.home-assistant.members; maintainers = teams.home-assistant.members;
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
}; };
} }

View File

@ -1,70 +1,35 @@
{ {
lib, lib,
stdenv,
buildPythonPackage, buildPythonPackage,
fetchPypi,
pythonOlder, pythonOlder,
# build
autoPatchelfHook,
# runtime
glib,
libnl,
# propagates
aenum, aenum,
home-assistant-chip-wheels,
coloredlogs, coloredlogs,
construct, construct,
cryptography, cryptography,
dacite, dacite,
ecdsa,
rich,
pyyaml,
ipdb,
deprecation, deprecation,
ecdsa,
ipdb,
mobly, mobly,
pygobject3, pygobject3,
pyyaml,
rich,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "home-assistant-chip-core"; pname = "home-assistant-chip-core";
version = "2024.9.0"; inherit (home-assistant-chip-wheels) version;
format = "wheel"; format = "wheel";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = src = home-assistant-chip-wheels;
let
system =
{
"aarch64-linux" = {
name = "aarch64";
hash = "sha256-oVqPaScNCjf1xY2iWJTXTh2YqimZk5kVsiQN586j9mc=";
};
"x86_64-linux" = {
name = "x86_64";
hash = "sha256-hWH2UCYIuDMFS/W4FELW57iQft0jfGPt8aFT1k59sWA=";
};
}
.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
in
fetchPypi {
pname = "home_assistant_chip_core";
inherit version format;
dist = "cp37";
python = "cp37";
abi = "abi3";
platform = "manylinux_2_31_${system.name}";
hash = system.hash;
};
nativeBuildInputs = [ autoPatchelfHook ]; # format=wheel needs src to be a wheel not a folder of wheels
preUnpack = ''
buildInputs = [ src=($src/home_assistant_chip_core*.whl)
glib '';
libnl
];
propagatedBuildInputs = [ propagatedBuildInputs = [
aenum aenum
@ -104,10 +69,5 @@ buildPythonPackage rec {
changelog = "https://github.com/home-assistant-libs/chip-wheels/releases/tag/${version}"; changelog = "https://github.com/home-assistant-libs/chip-wheels/releases/tag/${version}";
license = licenses.asl20; license = licenses.asl20;
maintainers = teams.home-assistant.members; maintainers = teams.home-assistant.members;
platforms = [
"aarch64-linux"
"x86_64-linux"
];
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
}; };
} }

View File

@ -0,0 +1,289 @@
{
appdirs,
appnope,
black,
build,
clang-tools,
click,
colorama,
coloredlogs,
coverage,
cryptography,
diskcache,
fetchFromGitHub,
glib,
gn,
googleapis-common-protos,
google-cloud-storage,
ipython,
jinja2,
json5,
jsonschema,
lark,
lib,
libnl,
mobly,
mypy,
mypy-extensions,
mypy-protobuf,
ninja,
openssl,
packaging,
parameterized,
pip-tools,
pkg-config,
prompt-toolkit,
protobuf,
psutil,
ptpython,
pyelftools,
pygments,
pykwalify,
pylint,
pyperclip,
pyserial,
python3,
python-daemon,
pyyaml,
requests,
setuptools,
six,
sphinx,
sphinx-argparse,
sphinx-design,
stdenv,
stringcase,
toml,
tornado,
types-protobuf,
types-pyyaml,
types-requests,
types-setuptools,
watchdog,
websockets,
wheel,
yapf,
zap-chip,
}:
stdenv.mkDerivation rec {
pname = "home-assistant-chip-wheels";
version = "2024.9.0";
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = "chip-wheels";
rev = version;
fetchSubmodules = false;
leaveDotGit = true;
hash = "sha256-T0G6mxb/5wFOxPLL92Ay34oP+9Xvk9w0YV9VSzWJuzw=";
postFetch = ''
cd $out
# Download connectedhomeip.
git fetch
git reset --hard HEAD
git submodule update --init --depth 1 connectedhomeip
# Initialize only necessary submodules.
cd connectedhomeip
${python3}/bin/python3 scripts/checkout_submodules.py --platform linux --shallow
# Keep the output deterministic.
cd $out
# in case python decided to leave a .pyc file, for example
git clean -fxd
rm -rf .git/
'';
};
strictDeps = true;
nativeBuildInputs = [
gn
pkg-config
ninja
clang-tools
zap-chip
# gdbus-codegen
glib
python3
# dependencies of build scripts
click
jinja2
lark
setuptools
stringcase
build
pip-tools
black
yapf
];
buildInputs = [
openssl
glib
libnl
];
postPatch = ''
cd connectedhomeip
export HOME=$(mktemp -d)
patchShebangs --build scripts
for patch in ../*.patch; do
patch -p1 < $patch
done
# unpin dependencies
# there are many files to modify, in different formats
sed -i 's/==.*$//' third_party/pigweed/repo/pw_env_setup/py/pw_env_setup/virtualenv_setup/python_base_requirements.txt
sed -i 's/==[^;]*//' scripts/setup/constraints.txt
sed -i 's/\(^ \+[a-zA-Z0-9-]*\)[=~><]=[^;]*/\1/' third_party/pigweed/repo/pw_protobuf_compiler/py/setup.cfg third_party/pigweed/repo/pw_protobuf/py/setup.cfg third_party/pigweed/repo/pw_protobuf_compiler/py/setup.cfg
# remove a few dependencies not packaged in nixpkgs and which are apparently
# not needed to build the python bindings of chip
sed -i -e '/sphinxcontrib-mermaid/d' -e '/types-six/d' -e '/types-pygment/d' -e '/types-pyserial/d' third_party/pigweed/repo/*/py/setup.cfg
# obtained by running a build in nix-shell with internet access
cp ${./pigweed_environment.gni} build_overrides/pigweed_environment.gni
# some code is generated by a templating tool (zap-cli)
scripts/codepregen.py ./zzz_pregenerated/
'';
# the python parts of the build system work as follows
# gn calls pigweed to read a dozen different files to generate
# a file looking like requirements.txt. It then calls pip
# to install this computed list of dependencies into a virtualenv.
# Of course, pip fails in the sandbox, because it cannot download
# the python packages.
# The documented way of doing offline builds is to create a folder
# with wheel files for all dependencies and point pip to it
# via its configuration file or environment variables.
# https://pigweed.dev/python_build.html#installing-offline
# The wheel of a python package foo is available as foo.dist.
# So that would be easy, but we also need wheels for transitive dependencies.
# the function saturateDependencies below computes this transitive closure.
#
# yes this list of dependencies contains both build tools and proper dependencies.
env.PIP_NO_INDEX = "1";
env.PIP_FIND_LINKS =
let
dependencies = [
appdirs
appnope
black
build
colorama
coloredlogs
coverage
click
cryptography
diskcache
googleapis-common-protos
google-cloud-storage
ipython
jinja2
json5
jsonschema
lark
mobly
mypy
mypy-extensions
mypy-protobuf
packaging
parameterized
pip-tools
prompt-toolkit
protobuf
psutil
ptpython
pyelftools
pygments
pykwalify
pylint
pyperclip
pyserial
python-daemon
pyyaml
requests
setuptools
six
sphinx
sphinx-argparse
sphinx-design
stringcase
toml
tornado
types-protobuf
types-pyyaml
types-requests
types-setuptools
watchdog
websockets
wheel
yapf
];
depListToAttrs =
list:
builtins.listToAttrs (
map (dep: {
name = dep.name;
value = dep;
}) list
);
saturateDependencies =
deps:
let
before = deps;
new = lib.mergeAttrsList (
map (dep: depListToAttrs (dep.propagatedBuildInputs or [ ])) (lib.attrValues before)
);
after = before // new;
in
if lib.attrNames before != lib.attrNames after then saturateDependencies after else before;
saturateDependencyList = list: lib.attrValues (saturateDependencies (depListToAttrs list));
saturatedDependencyList = lib.filter (drv: drv ? dist) (saturateDependencyList dependencies);
in
lib.concatMapStringsSep " " (dep: "file://${dep.dist}") saturatedDependencyList;
gnFlags = [
''chip_project_config_include_dirs=["//.."]''
''chip_crypto="openssl"''
''enable_rtti=true''
''chip_config_memory_debug_checks=false''
''chip_config_memory_debug_dmalloc=false''
''chip_mdns="minimal"''
''chip_minmdns_default_policy="libnl"''
''chip_python_version="${lib.versions.majorMinor python3.version}"''
''chip_python_platform_tag="any"''
''chip_python_package_prefix="home-assistant-chip"''
''custom_toolchain="custom"''
''target_cc="${stdenv.cc.targetPrefix}cc"''
''target_cxx="${stdenv.cc.targetPrefix}c++"''
''target_ar="${stdenv.cc.targetPrefix}ar"''
];
preBuild = ''
export NIX_CFLAGS_COMPILE="$($PKG_CONFIG --cflags glib-2.0) -O2 -Wno-error"
export NIX_CFLAGS_LINK="$($PKG_CONFIG --libs gio-2.0) $($PKG_CONFIG --libs gobject-2.0) $($PKG_CONFIG --libs glib-2.0)"
'';
ninjaFlags = [ "chip-repl" ];
installPhase = ''
runHook preInstall
cp -r controller/python $out
runHook postInstall
'';
meta = {
description = "Python wheels for APIs and tools related to CHIP";
homepage = "https://github.com/home-assistant-libs/chip-wheels";
changelog = "https://github.com/home-assistant-libs/chip-wheels/releases/tag/${version}";
license = lib.licenses.asl20;
maintainers = lib.teams.home-assistant.members;
};
}

View File

@ -0,0 +1,12 @@
# This file is automatically generated by Pigweed's environment setup. Do not
# edit it manually or check it in.
# Relative paths are interpreted with respect to this file, which helps
# determine the correct path even if the source root changes.
declare_args() {
pw_env_setup_CIPD_ARM = get_path_info("../.environment/cipd/packages/arm", "abspath")
pw_env_setup_CIPD_PIGWEED = get_path_info("../.environment/cipd/packages/pigweed", "abspath")
pw_env_setup_CIPD_PYTHON = get_path_info("../.environment/cipd/packages/python", "abspath")
pw_env_setup_CIPD_ZAP = get_path_info("../.environment/cipd/packages/zap", "abspath")
pw_env_setup_VIRTUAL_ENV = get_path_info("../.environment/pigweed-venv", "abspath")
}

View File

@ -40,12 +40,12 @@ buildPythonPackage rec {
--replace-fail "--cov-branch" "" --replace-fail "--cov-branch" ""
''; '';
nativeBuildInputs = [ build-system = [
hatchling hatchling
hatch-vcs hatch-vcs
]; ];
propagatedBuildInputs = [ dependencies = [
numpy numpy
scipy scipy
matplotlib matplotlib
@ -74,8 +74,10 @@ buildPythonPackage rec {
''; '';
disabledTests = [ disabledTests = [
# Fails due to changes in Numpy types # requires qtbot which is unmaintained/not in Nixpkgs:
"mne.stats._adjacency.combine_adjacency" "test_plotting_scalebars"
# tries to write a datetime object to hdf5, which fails:
"test_hitachi_basic"
]; ];
pythonImportsCheck = [ "mne" ]; pythonImportsCheck = [ "mne" ];

View File

@ -4,7 +4,7 @@
fetchFromGitHub, fetchFromGitHub,
fetchpatch, fetchpatch,
pythonOlder, pythonOlder,
pytestCheckHook, pytest7CheckHook,
poetry-core, poetry-core,
jsonschema, jsonschema,
numpy, numpy,
@ -15,7 +15,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pydicom-seg"; pname = "pydicom-seg";
version = "0.4.1"; version = "0.4.1";
format = "pyproject"; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -38,18 +38,16 @@ buildPythonPackage rec {
pythonRelaxDeps = [ "jsonschema" ]; pythonRelaxDeps = [ "jsonschema" ];
nativeBuildInputs = [ build-system = [ poetry-core ];
poetry-core
];
propagatedBuildInputs = [ dependencies = [
jsonschema jsonschema
numpy numpy
pydicom pydicom
simpleitk simpleitk
]; ];
nativeCheckInputs = [ pytestCheckHook ]; nativeCheckInputs = [ pytest7CheckHook ];
pythonImportsCheck = [ "pydicom_seg" ]; pythonImportsCheck = [ "pydicom_seg" ];

View File

@ -2,7 +2,6 @@
lib, lib,
buildPythonPackage, buildPythonPackage,
fetchFromGitHub, fetchFromGitHub,
fetchpatch,
cython, cython,
cmake, cmake,
symengine, symengine,
@ -30,16 +29,6 @@ buildPythonPackage rec {
SymEngine_DIR = "${symengine}"; SymEngine_DIR = "${symengine}";
}; };
patches = [
# Distutils has been removed in python 3.12
# See https://github.com/symengine/symengine.py/pull/478
(fetchpatch {
name = "no-distutils.patch";
url = "https://github.com/symengine/symengine.py/pull/478/commits/e72006d5f7425cd50c54b22766e0ed4bcd2dca85.patch";
hash = "sha256-kGJRGkBgxOfI1wf88JwnSztkOYd1wvg62H7wA6CcYEQ=";
})
];
postPatch = '' postPatch = ''
substituteInPlace setup.py \ substituteInPlace setup.py \
--replace-fail "'cython>=0.29.24'" "'cython'" --replace-fail "'cython>=0.29.24'" "'cython'"

View File

@ -5,6 +5,7 @@
colorcet, colorcet,
datashader, datashader,
fetchFromGitHub, fetchFromGitHub,
setuptools,
holoviews, holoviews,
matplotlib, matplotlib,
numba, numba,
@ -12,7 +13,6 @@
pandas, pandas,
pynndescent, pynndescent,
pytestCheckHook, pytestCheckHook,
pythonOlder,
scikit-image, scikit-image,
scikit-learn, scikit-learn,
scipy, scipy,
@ -24,19 +24,19 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "umap-learn"; pname = "umap-learn";
version = "0.5.6"; version = "0.5.7";
format = "setuptools"; pyproject = true;
disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lmcinnes"; owner = "lmcinnes";
repo = "umap"; repo = "umap";
rev = "refs/tags/release-${version}"; rev = "refs/tags/release-${version}";
hash = "sha256-fqYl8T53BgCqsquY6RJHqpDFsdZA0Ihja69E/kG3YGU="; hash = "sha256-hPYmRDSeDa4JWGekUVq3CWf5NthHTpMpyuUQ1yIkVAE=";
}; };
propagatedBuildInputs = [ build-system = [ setuptools ];
dependencies = [
numba numba
numpy numpy
pynndescent pynndescent
@ -91,6 +91,7 @@ buildPythonPackage rec {
meta = with lib; { meta = with lib; {
description = "Uniform Manifold Approximation and Projection"; description = "Uniform Manifold Approximation and Projection";
homepage = "https://github.com/lmcinnes/umap"; homepage = "https://github.com/lmcinnes/umap";
changelog = "https://github.com/lmcinnes/umap/releases/tag/release-${version}";
license = licenses.bsd3; license = licenses.bsd3;
maintainers = [ ]; maintainers = [ ];
}; };

View File

@ -15,13 +15,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "alienarena"; pname = "alienarena";
version = "7.71.6"; version = "7.71.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "alienarena"; owner = "alienarena";
repo = "alienarena"; repo = "alienarena";
rev = version; rev = version;
hash = "sha256-Dml0VY5VQiWLq8LjItBSzNwJB9L4biJ/nJWmEGtG2ZY="; hash = "sha256-ri0p/0onI5DU7kDxwdFxRyT1LQLVe89VNEYPXPgilOs=";
}; };
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];

View File

@ -23,7 +23,7 @@
, gdk-pixbuf , gdk-pixbuf
}: }:
let let
version = "0.29.0"; version = "0.29.1";
pname = "space-station-14-launcher"; pname = "space-station-14-launcher";
in in
buildDotnetModule rec { buildDotnetModule rec {
@ -36,7 +36,7 @@ buildDotnetModule rec {
owner = "space-wizards"; owner = "space-wizards";
repo = "SS14.Launcher"; repo = "SS14.Launcher";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-0HpHTZhGqCcSCCBk1d5923ALVCjozLn5fym4RH2Ov5Y="; hash = "sha256-Gajs8zINWBJ3BvAPKYan0bCRbEVscz56pyE9WOLiOqU=";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View File

@ -1,11 +1,73 @@
{ callPackage, fetchgit, ... } @ args: {
lib,
stdenv,
fetchFromGitLab,
gcc-arm-embedded,
binutils-arm-embedded,
makeWrapper,
python3Packages,
callPackage ./generic.nix (args // { # Default FSIJ IDs
version = "1.2.14"; vid ? "234b",
pid ? "0000",
}:
src = fetchgit { stdenv.mkDerivation (finalAttrs: {
url = "git://git.gniibe.org/gnuk/gnuk.git"; pname = "gnuk";
rev = "177ef67edfa2306c2a369a037362385c354083e1"; version = "2.2";
sha256 = "16wa3xsaq4r8caw6c24hnv4j78bklacix4in2y66j35h68ggr3j1";
src = fetchFromGitLab {
domain = "salsa.debian.org";
owner = "gnuk-team";
repo = "gnuk/gnuk";
rev = "release/${finalAttrs.version}";
hash = "sha256-qY/dwkcPJiPx/+inSxH7w7a0v3cWUQDX+NYJwUjnkMY=";
fetchSubmodules = true;
};
nativeBuildInputs = [
gcc-arm-embedded
binutils-arm-embedded
makeWrapper
];
buildInputs = with python3Packages; [
python
pyusb
colorama
];
sourceRoot = "${finalAttrs.src.name}/src";
configureFlags = [ "--vidpid=${vid}:${pid}" ];
# TODO: Check how many of these patches are actually needed.
installPhase = ''
mkdir -p $out/bin
find . -name gnuk.bin -exec cp {} $out \;
#sed -i 's,Exception as e,IOError as e,' ../tool/stlinkv2.py
sed -i ../tool/stlinkv2.py \
-e "1a import array" \
-e "s,\(data_received =\) (),\1 array.array('B'),g" \
-e "s,\(data_received\) = data_received + \(.*\),\1.extend(\2),g"
cp ../tool/stlinkv2.py $out/bin/stlinkv2
wrapProgram $out/bin/stlinkv2 --prefix PYTHONPATH : "$PYTHONPATH"
# Some useful helpers
echo "#! ${stdenv.shell} -e" | tee $out/bin/{unlock,flash}
echo "$out/bin/stlinkv2 -u \$@" >> $out/bin/unlock
echo "$out/bin/stlinkv2 -b \$@ $out/gnuk.bin" >> $out/bin/flash
chmod +x $out/bin/{unlock,flash}
'';
meta = {
homepage = "https://www.fsij.org/category/gnuk.html";
description = "Implementation of USB cryptographic token for gpg";
license = lib.licenses.gpl3;
platforms = lib.platforms.linux;
maintainers = [ ];
broken = true; # Needs Picolib, which is not packaged in Nixpkgs.
}; };
}) })

View File

@ -1,52 +0,0 @@
{ lib, stdenv, gcc-arm-embedded, binutils-arm-embedded, makeWrapper
, python3Packages
# Extra options
, device ? "fsij", vid ? "234b", pid ? "0000"
# Version specific options
, version, src
, ...
}:
stdenv.mkDerivation {
pname = "gnuk-${device}";
inherit version src;
nativeBuildInputs = [ gcc-arm-embedded binutils-arm-embedded makeWrapper ];
buildInputs = with python3Packages; [ python pyusb colorama ];
configurePhase = ''
cd src
patchShebangs configure
./configure --vidpid=${vid}:${pid}
'';
installPhase = ''
mkdir -p $out/bin
find . -name gnuk.bin -exec cp {} $out \;
#sed -i 's,Exception as e,IOError as e,' ../tool/stlinkv2.py
sed -i ../tool/stlinkv2.py \
-e "1a import array" \
-e "s,\(data_received =\) (),\1 array.array('B'),g" \
-e "s,\(data_received\) = data_received + \(.*\),\1.extend(\2),g"
cp ../tool/stlinkv2.py $out/bin/stlinkv2
wrapProgram $out/bin/stlinkv2 --prefix PYTHONPATH : "$PYTHONPATH"
# Some useful helpers
echo "#! ${stdenv.shell} -e" | tee $out/bin/{unlock,flash}
echo "$out/bin/stlinkv2 -u \$@" >> $out/bin/unlock
echo "$out/bin/stlinkv2 -b \$@ $out/gnuk.bin" >> $out/bin/flash
chmod +x $out/bin/{unlock,flash}
'';
meta = with lib; {
homepage = "https://www.fsij.org/doc-gnuk/";
description = "Implementation of USB cryptographic token for gpg";
license = licenses.gpl3;
platforms = with platforms; linux;
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "mod_wsgi"; pname = "mod_wsgi";
version = "5.0.0"; version = "5.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "GrahamDumpleton"; owner = "GrahamDumpleton";
repo = "mod_wsgi"; repo = "mod_wsgi";
rev = version; rev = version;
hash = "sha256-/4swm4AYCN3xyz2+OH7XqH/dFC53wqGPZgEAdxZQvbs="; hash = "sha256-V0HefCwo6cXFs566NBybOyKGK7E7KxkthJD9k4C5hN8=";
}; };
buildInputs = [ apacheHttpd python3 ncurses ]; buildInputs = [ apacheHttpd python3 ncurses ];

View File

@ -1,6 +1,6 @@
{ lib, buildGoModule, fetchFromGitHub, nixosTests }: { lib, buildGo122Module, fetchFromGitHub, nixosTests }:
buildGoModule rec { buildGo122Module rec {
pname = "dnsmasq_exporter"; pname = "dnsmasq_exporter";
version = "0.3.0"; version = "0.3.0";

File diff suppressed because it is too large Load Diff

View File

@ -13,13 +13,13 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "qdrant"; pname = "qdrant";
version = "1.11.5"; version = "1.12.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "qdrant"; owner = "qdrant";
repo = "qdrant"; repo = "qdrant";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
sha256 = "sha256-yE7/xnAf0U9BpEEmtgXSH+EerUB20KeFePavuGW08f0="; sha256 = "sha256-q99roKqeC8lra29gyJertJLnVNFvKRFZ2agREvHZx6k=";
}; };
cargoLock = { cargoLock = {

View File

@ -1,12 +1,11 @@
{ lib {
, rustPlatform lib,
, fetchFromGitHub rustPlatform,
, pkg-config fetchFromGitHub,
, sqlite pkg-config,
, zstd sqlite,
, stdenv zstd,
, darwin fetchurl,
, fetchurl
}: }:
let let
@ -73,7 +72,7 @@ rustPlatform.buildRustPackage rec {
substituteInPlace sqlpage/tomselect.js \ substituteInPlace sqlpage/tomselect.js \
--replace-fail '/* !include https://cdn.jsdelivr.net/npm/tom-select@2.3.1/dist/js/tom-select.popular.min.js */' \ --replace-fail '/* !include https://cdn.jsdelivr.net/npm/tom-select@2.3.1/dist/js/tom-select.popular.min.js */' \
"$(cat ${tomselect})" "$(cat ${tomselect})"
''; '';
cargoHash = "sha256-/B8tayEbyOsc0/po1YQKtp694X12B3I50OU4cMwJo8Q="; cargoHash = "sha256-/B8tayEbyOsc0/po1YQKtp694X12B3I50OU4cMwJo8Q=";
@ -81,16 +80,10 @@ rustPlatform.buildRustPackage rec {
pkg-config pkg-config
]; ];
buildInputs = buildInputs = [
[ sqlite
sqlite zstd
zstd ];
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.CoreFoundation
darwin.apple_sdk.frameworks.Security
darwin.apple_sdk.frameworks.SystemConfiguration
];
env = { env = {
ZSTD_SYS_USE_PKG_CONFIG = true; ZSTD_SYS_USE_PKG_CONFIG = true;

View File

@ -12,13 +12,13 @@
mkDerivation rec { mkDerivation rec {
pname = "antimicrox"; pname = "antimicrox";
version = "3.4.1"; version = "3.5.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "AntiMicroX"; owner = "AntiMicroX";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-HikaNbgPwsiIYNQgdEZiVdVYJtYgZRiXVqEce68tyxM="; sha256 = "sha256-9vpkhs3zEOZa3LnyIqdW0U+nS/9t4HzMLzFqrB2TqI8=";
}; };
nativeBuildInputs = [ cmake extra-cmake-modules pkg-config itstool ]; nativeBuildInputs = [ cmake extra-cmake-modules pkg-config itstool ];

View File

@ -1,9 +1,9 @@
{ lib { lib
, buildGoModule , buildGo122Module
, fetchFromGitHub , fetchFromGitHub
}: }:
buildGoModule rec { buildGo122Module rec {
pname = "ali"; pname = "ali";
version = "0.7.5"; version = "0.7.5";

View File

@ -1,5 +1,5 @@
{ lib, stdenv { lib, stdenv
, buildGoModule , buildGo122Module
, fetchFromGitHub , fetchFromGitHub
, pkg-config , pkg-config
, libpcap , libpcap
@ -8,7 +8,7 @@
, libusb1 , libusb1
}: }:
buildGoModule rec { buildGo122Module rec {
pname = "bettercap"; pname = "bettercap";
version = "2.32.0"; version = "2.32.0";

View File

@ -1,8 +1,8 @@
{ lib { lib
, buildGoModule , buildGo122Module
, fetchFromGitHub , fetchFromGitHub
}: }:
buildGoModule { buildGo122Module {
pname = "honeytrap"; pname = "honeytrap";
version = "unstable-2021-12-20"; version = "unstable-2021-12-20";

View File

@ -3,13 +3,13 @@
let let
self = stdenv.mkDerivation rec { self = stdenv.mkDerivation rec {
pname = "highlight"; pname = "highlight";
version = "4.12"; version = "4.14";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "saalen"; owner = "saalen";
repo = "highlight"; repo = "highlight";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-TFMU9owxBGrrbatk7Jj9xP8OEJNjXnjbwnW6Xq34awI="; hash = "sha256-UxbgYspocoy9ul2dhIhvIwqKMeWSG7vJY1df3UkgpHQ=";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -1756,8 +1756,6 @@ with pkgs;
grizzly = callPackage ../tools/misc/grizzly { }; grizzly = callPackage ../tools/misc/grizzly { };
guestfs-tools = callPackage ../tools/virtualization/guestfs-tools { };
fabs = callPackage ../tools/backup/fabs { }; fabs = callPackage ../tools/backup/fabs { };
fm = callPackage ../applications/file-managers/fm { }; fm = callPackage ../applications/file-managers/fm { };
@ -28746,8 +28744,6 @@ with pkgs;
avahi = avahi.override { withLibdnssdCompat = true; }; avahi = avahi.override { withLibdnssdCompat = true; };
}; };
karlender = callPackage ../applications/office/karlender { };
keepassxc = libsForQt5.callPackage ../applications/misc/keepassxc { keepassxc = libsForQt5.callPackage ../applications/misc/keepassxc {
inherit (darwin.apple_sdk_11_0.frameworks) LocalAuthentication; inherit (darwin.apple_sdk_11_0.frameworks) LocalAuthentication;
stdenv = if stdenv.hostPlatform.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv; stdenv = if stdenv.hostPlatform.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv;

View File

@ -5796,6 +5796,8 @@ self: super: with self; {
home-assistant-bluetooth = callPackage ../development/python-modules/home-assistant-bluetooth { }; home-assistant-bluetooth = callPackage ../development/python-modules/home-assistant-bluetooth { };
home-assistant-chip-wheels = callPackage ../development/python-modules/home-assistant-chip-wheels { };
home-assistant-chip-clusters = callPackage ../development/python-modules/home-assistant-chip-clusters { }; home-assistant-chip-clusters = callPackage ../development/python-modules/home-assistant-chip-clusters { };
home-assistant-chip-core = callPackage ../development/python-modules/home-assistant-chip-core { }; home-assistant-chip-core = callPackage ../development/python-modules/home-assistant-chip-core { };