···4040[`maintainer-list.nix`](./maintainer-list.nix), and then to the desired4141package's `meta.maintainers` list, and send a PR with the changes.42424343+If you're adding yourself as a maintainer as part of another PR (in which4444+you become a maintainer of a package, for example), make your change to4545+`maintainer-list.nix` in a separate commit.4646+4347### How to lose maintainer status44484549Maintainers who have become inactive on a given package can be removed. This
···48484949- [scanservjs](https://github.com/sbs20/scanservjs/), a web UI for SANE scanners. Available at [services.scanservjs](#opt-services.scanservjs.enable).50505151-- [Kimai](https://www.kimai.org/), a web-based multi-user time-tracking application. Available as [services.kimai](options.html#opt-services.kimai).5151+- [Kimai](https://www.kimai.org/), a web-based multi-user time-tracking application. Available as [services.kimai](#opt-services.kimai.sites).52525353- [Kismet](https://www.kismetwireless.net/), a Wi-Fi, Bluetooth, and RF monitoring application supporting a wide range of hardware. Available as [services.kismet](#opt-services.kismet.enable).54545555- [vwifi](https://github.com/Raizo62/vwifi), a Wi-Fi simulator daemon leveraging the `mac80211_hwsim` and `vhost_vsock` kernel modules for efficient simulation of multi-node Wi-Fi networks. Available as [services.vwifi](#opt-services.vwifi.client.enable).56565757-- [Oncall](https://oncall.tools), a web-based calendar tool designed for scheduling and managing on-call shifts. Available as [services.oncall](options.html#opt-services.oncall).5757+- [Oncall](https://oncall.tools), a web-based calendar tool designed for scheduling and managing on-call shifts. Available as [services.oncall](#opt-services.oncall.enable).58585959-- [Homer](https://homer-demo.netlify.app/), a very simple static homepage for your server. Available as [services.homer](options.html#opt-services.homer).5959+- [Homer](https://homer-demo.netlify.app/), a very simple static homepage for your server. Available as [services.homer](#opt-services.homer.enable).60606161-- [Ghidra](https://ghidra-sre.org/), a software reverse engineering (SRE) suite of tools. Available as [programs.ghidra](options.html#opt-programs.ghidra).6161+- [Ghidra](https://ghidra-sre.org/), a software reverse engineering (SRE) suite of tools. Available as [programs.ghidra](#opt-programs.ghidra.enable).62626363-- [Omnom](https://github.com/asciimoo/omnom), a webpage bookmarking and snapshotting service. Available as [services.omnom](options.html#opt-services.omnom.enable).6363+- [Omnom](https://github.com/asciimoo/omnom), a webpage bookmarking and snapshotting service. Available as [services.omnom](#opt-services.omnom.enable).64646565- [Yggdrasil-Jumper](https://github.com/one-d-wide/yggdrasil-jumper), an independent project that aims to transparently reduce latency of a connection over Yggdrasil network, utilizing NAT traversal to automatically bypass intermediary nodes. Available as [services.yggdrasil-jumper](#opt-services.yggdrasil-jumper.enable).66666767-- [xpad-noone](https://github.com/medusalix/xpad-noone) is the original upstream xpad driver from the Linux kernel with support for Xbox One controllers removed — especially useful for people who want to use an XBox One controller under the `xone` driver and an Xbox 360 controller under the `xpad` driver at the same time. Available as [hardware.xpad-noone](options.html#hardware.xpad-noone).6767+- [xpad-noone](https://github.com/medusalix/xpad-noone) is the original upstream xpad driver from the Linux kernel with support for Xbox One controllers removed — especially useful for people who want to use an XBox One controller under the `xone` driver and an Xbox 360 controller under the `xpad` driver at the same time. Available as [hardware.xpad-noone](#opt-hardware.xpad-noone.enable).68686969-- [uMurmur](https://umurmur.net), minimalistic Mumble server primarily targeted to run on embedded computers. Available as [services.umurmur](options.html#opt-services.umurmur).6969+- [uMurmur](https://umurmur.net), minimalistic Mumble server primarily targeted to run on embedded computers. Available as [services.umurmur](#opt-services.umurmur.enable).70707171-- [Zenoh](https://zenoh.io/), a pub/sub/query protocol with low overhead. The Zenoh router daemon is available as [services.zenohd](options.html#opt-services.zenohd.enable).7171+- [Zenoh](https://zenoh.io/), a pub/sub/query protocol with low overhead. The Zenoh router daemon is available as [services.zenohd](#opt-services.zenohd.enable).72727373-- [ytdl-sub](https://github.com/jmbannon/ytdl-sub), a tool that downloads media via yt-dlp and prepares it for your favorite media player, including Kodi, Jellyfin, Plex, Emby, and modern music players. Available as [services.ytdl-sub](options.html#opt-services.ytdl-sub.instances).7373+- [ytdl-sub](https://github.com/jmbannon/ytdl-sub), a tool that downloads media via yt-dlp and prepares it for your favorite media player, including Kodi, Jellyfin, Plex, Emby, and modern music players. Available as [services.ytdl-sub](#opt-services.ytdl-sub.instances).74747575-- [MaryTTS](https://github.com/marytts/marytts), an open-source, multilingual text-to-speech synthesis system written in pure Java. Available as [services.marytts](options.html#opt-services.marytts).7575+- [MaryTTS](https://github.com/marytts/marytts), an open-source, multilingual text-to-speech synthesis system written in pure Java. Available as [services.marytts](#opt-services.marytts.enable).76767777- [Continuwuity](https://continuwuity.org/), a federated chat server implementing the Matrix protocol, forked from Conduwuit. Available as [services.matrix-continuwuity](#opt-services.matrix-continuwuity.enable).78787979-- [Reposilite](https://reposilite.com), a lightweight and easy-to-use repository manager for Maven-based artifacts in the JVM ecosystem. Available as [services.reposilite](options.html#opt-services.reposilite).7979+- [Reposilite](https://reposilite.com), a lightweight and easy-to-use repository manager for Maven-based artifacts in the JVM ecosystem. Available as [services.reposilite](#opt-services.reposilite.enable).80808181-- [networking.modemmanager](options.html#opt-networking.modemmanager) has been split out of [networking.networkmanager](options.html#opt-networking.networkmanager). NetworkManager still enables ModemManager by default, but options exist now to run NetworkManager without ModemManager.8181+- [networking.modemmanager](#opt-networking.modemmanager.enable) has been split out of [networking.networkmanager](#opt-networking.networkmanager.enable). NetworkManager still enables ModemManager by default, but options exist now to run NetworkManager without ModemManager.82828383-- [Routinator 3000](https://nlnetlabs.nl/projects/routing/routinator/), a full-featured RPKI Relying Party software package that runs as a service which periodically downloads and verifies RPKI data.8383+- [Routinator 3000](https://nlnetlabs.nl/projects/routing/routinator/), a full-featured RPKI Relying Party software package that runs as a service which periodically downloads and verifies RPKI data. Available as [services.routinator](#opt-services.routinator.enable).84848585-- [doh-server](https://github.com/m13253/dns-over-https), a high performance DNS over HTTPS server. Available as [services.doh-server](options.html#opt-services.doh-server.enable).8585+- [doh-server](https://github.com/m13253/dns-over-https), a high performance DNS over HTTPS server. Available as [services.doh-server](#opt-services.doh-server.enable).86868787-- [ncps](https://github.com/kalbasit/ncps), a Nix binary cache proxy service implemented in Go using [go-nix](https://github.com/nix-community/go-nix). Available as [services.ncps](options.html#opt-services.ncps.enable).8787+- [ncps](https://github.com/kalbasit/ncps), a Nix binary cache proxy service implemented in Go using [go-nix](https://github.com/nix-community/go-nix). Available as [services.ncps](#opt-services.ncps.enable).88888989- [Readeck](https://readeck.org/), a read-it later web-application. Available as [services.readeck](#opt-services.readeck.enable).9090···102102103103- [Pinchflat](https://github.com/kieraneglin/pinchflat), a selfhosted YouTube media manager used to track channels and download videos on release. Available as [services.pinchflat](#opt-services.pinchflat.enable).104104105105-- [Amazon CloudWatch Agent](https://github.com/aws/amazon-cloudwatch-agent), the official telemetry collector for AWS CloudWatch and AWS X-Ray. Available as [services.amazon-cloudwatch-agent](options.html#opt-services.amazon-cloudwatch-agent.enable).105105+- [Amazon CloudWatch Agent](https://github.com/aws/amazon-cloudwatch-agent), the official telemetry collector for AWS CloudWatch and AWS X-Ray. Available as [services.amazon-cloudwatch-agent](#opt-services.amazon-cloudwatch-agent.enable).106106107107- [Fluent Bit](https://github.com/fluent/fluent-bit), a fast Log, Metrics and Traces Processor and Forwarder. Available as [services.fluent-bit](#opt-services.fluent-bit.enable).108108109109-- [Bat](https://github.com/sharkdp/bat), a {manpage}`cat(1)` clone with wings. Available as [programs.bat](options.html#opt-programs.bat).109109+- [Bat](https://github.com/sharkdp/bat), a {manpage}`cat(1)` clone with wings. Available as [programs.bat](#opt-programs.bat.enable).110110111111-- [Autotier](https://github.com/45Drives/autotier), a passthrough FUSE filesystem. Available as [services.autotierfs](options.html#opt-services.autotierfs.enable).111111+- [Autotier](https://github.com/45Drives/autotier), a passthrough FUSE filesystem. Available as [services.autotierfs](#opt-services.autotierfs.enable).112112113113-- [PostgREST](https://postgrest.org), a standalone web server that turns your PostgreSQL database directly into a RESTful API. Available as [services.postgrest](options.html#opt-services.postgrest.enable).113113+- [PostgREST](https://postgrest.org), a standalone web server that turns your PostgreSQL database directly into a RESTful API. Available as [services.postgrest](#opt-services.postgrest.enable).114114115115-- [postgres-websockets](https://github.com/diogob/postgres-websockets), a middleware that adds websockets capabilities on top of PostgreSQL's asynchronous notifications using LISTEN and NOTIFY commands. Available as [services.postgres-websockets](options.html#opt-services.postgres-websockets.enable).115115+- [postgres-websockets](https://github.com/diogob/postgres-websockets), a middleware that adds websockets capabilities on top of PostgreSQL's asynchronous notifications using LISTEN and NOTIFY commands. Available as [services.postgres-websockets](#opt-services.postgres-websockets.enable).116116117117-- [µStreamer](https://github.com/pikvm/ustreamer), a lightweight MJPEG-HTTP streamer. Available as [services.ustreamer](options.html#opt-services.ustreamer).117117+- [µStreamer](https://github.com/pikvm/ustreamer), a lightweight MJPEG-HTTP streamer. Available as [services.ustreamer](#opt-services.ustreamer.enable).118118119119-- [Whoogle Search](https://github.com/benbusby/whoogle-search), a self-hosted, ad-free, privacy-respecting metasearch engine. Available as [services.whoogle-search](options.html#opt-services.whoogle-search.enable).119119+- [Whoogle Search](https://github.com/benbusby/whoogle-search), a self-hosted, ad-free, privacy-respecting metasearch engine. Available as [services.whoogle-search](#opt-services.whoogle-search.enable).120120121121- [autobrr](https://autobrr.com), a modern download automation tool for torrents and usenets. Available as [services.autobrr](#opt-services.autobrr.enable).122122···124124125125- [Froide-Govplan](https://github.com/okfde/froide-govplan), a web application government planer. Available as [services.froide-govplan](#opt-services.froide-govplan.enable).126126127127-- [agorakit](https://github.com/agorakit/agorakit), an organization tool for citizens' collectives. Available with [services.agorakit](options.html#opt-services.agorakit.enable).127127+- [agorakit](https://github.com/agorakit/agorakit), an organization tool for citizens' collectives. Available with [services.agorakit](#opt-services.agorakit.enable).128128129129- [vivid](https://github.com/sharkdp/vivid), a generator for `LS_COLOR`. Available as [programs.vivid](#opt-programs.vivid.enable).130130131131-- [matrix-alertmanager](https://github.com/jaywink/matrix-alertmanager), a bot to receive Alertmanager webhook events and forward them to chosen Matrix rooms. Available as [services.matrix-alertmanager](options.html#opt-services.matrix-alertmanager.enable).131131+- [matrix-alertmanager](https://github.com/jaywink/matrix-alertmanager), a bot to receive Alertmanager webhook events and forward them to chosen Matrix rooms. Available as [services.matrix-alertmanager](#opt-services.matrix-alertmanager.enable).132132133133-- [waagent](https://github.com/Azure/WALinuxAgent), the Microsoft Azure Linux Agent (waagent) manages Linux provisioning and VM interaction with the Azure Fabric Controller. Available with [services.waagent](options.html#opt-services.waagent.enable).133133+- [waagent](https://github.com/Azure/WALinuxAgent), the Microsoft Azure Linux Agent (waagent) manages Linux provisioning and VM interaction with the Azure Fabric Controller. Available with [services.waagent](#opt-services.waagent.enable).134134135135- [nfc-nci](https://github.com/StarGate01/ifdnfc-nci), an alternative NFC stack and PC/SC driver for the NXP PN54x chipset, commonly found in Lenovo systems as NXP1001 (NPC300). Available as [hardware.nfc-nci](#opt-hardware.nfc-nci.enable).136136137137-- [grav](https://getgrav.org/), a modern flat-file CMS. Available with [services.grav](options.html#opt-services.grav.enable).137137+- [grav](https://getgrav.org/), a modern flat-file CMS. Available with [services.grav](#opt-services.grav.enable).138138139139-- [duckdns](https://www.duckdns.org), free dynamic DNS. Available with [services.duckdns](options.html#opt-services.duckdns.enable).139139+- [duckdns](https://www.duckdns.org), free dynamic DNS. Available with [services.duckdns](#opt-services.duckdns.enable).140140141141-- [Zoxide](https://github.com/ajeetdsouza/zoxide), a smarter cd command, inspired by z and autojump. Available as [programs.zoxide](options.html#opt-programs.zoxide.enable).141141+- [Zoxide](https://github.com/ajeetdsouza/zoxide), a smarter cd command, inspired by z and autojump. Available as [programs.zoxide](#opt-programs.zoxide.enable).142142143143- [victorialogs](https://docs.victoriametrics.com/victorialogs/), log database from VictoriaMetrics. Available as [services.victorialogs](#opt-services.victorialogs.enable).144144145145-- [gokapi](https://github.com/Forceu/Gokapi), Lightweight selfhosted Firefox Send alternative without public upload. AWS S3 supported. Available with [services.gokapi](options.html#opt-services.gokapi.enable).145145+- [gokapi](https://github.com/Forceu/Gokapi), Lightweight selfhosted Firefox Send alternative without public upload. AWS S3 supported. Available with [services.gokapi](#opt-services.gokapi.enable).146146147147-- [nostr-rs-relay](https://git.sr.ht/~gheartsfield/nostr-rs-relay/), This is a nostr relay, written in Rust. Available as [services.nostr-rs-relay](options.html#opt-services.nostr-rs-relay.enable).147147+- [nostr-rs-relay](https://git.sr.ht/~gheartsfield/nostr-rs-relay/), This is a nostr relay, written in Rust. Available as [services.nostr-rs-relay](#opt-services.nostr-rs-relay.enable).148148149149-- [haven](https://github.com/bitvora/haven), is a high availability vault for events on nostr. Available as [services.haven](options.html#opt-services.haven.enable).149149+- [haven](https://github.com/bitvora/haven), is a high availability vault for events on nostr. Available as [services.haven](#opt-services.haven.enable).150150151151-- [strfry](https://github.com/hoytech/strfry), a relay for the nostr protocol. Available as [services.strfry](options.html#opt-services.strfry.enable).151151+- [strfry](https://github.com/hoytech/strfry), a relay for the nostr protocol. Available as [services.strfry](#opt-services.strfry.enable).152152153153- [Prometheus Node Cert Exporter](https://github.com/amimof/node-cert-exporter), a prometheus exporter to check for SSL cert expiry. Available as [services.prometheus.exporters.node-cert](#opt-services.prometheus.exporters.node-cert.enable).154154···172172173173- [Fider](https://fider.io/), an open platform to collect and prioritize feedback. Available as [services.fider](#opt-services.fider.enable).174174175175-- [PDS](https://github.com/bluesky-social/pds), Personal Data Server for [bsky](https://bsky.social/). Available as [services.pds](option.html#opt-services.pds).175175+- [PDS](https://github.com/bluesky-social/pds), Personal Data Server for [bsky](https://bsky.social/). Available as [services.pds](#opt-services.pds.enable).176176177177-- [Anubis](https://github.com/TecharoHQ/anubis), a scraper defense software. Available as [services.anubis](options.html#opt-services.anubis).177177+- [Anubis](https://github.com/TecharoHQ/anubis), a scraper defense software. Available as [services.anubis](#opt-services.anubis.defaultOptions).178178179179- [synapse-auto-compressor](https://github.com/matrix-org/rust-synapse-compress-state?tab=readme-ov-file#automated-tool-synapse_auto_compressor), a rust-based matrix-synapse state compressor for postgresql. Available as [services.synapse-auto-compressor](#opt-services.synapse-auto-compressor.enable).180180···204204205205- [LiteLLM](https://github.com/BerriAI/litellm), a LLM Gateway to provide model access, fallbacks and spend tracking across 100+ LLMs. All in the OpenAI format. Available as [services.litellm](#opt-services.litellm.enable).206206207207-- [Buffyboard](https://gitlab.postmarketos.org/postmarketOS/buffybox/-/tree/master/buffyboard), a framebuffer on-screen keyboard. Available as [services.buffyboard](option.html#opt-services.buffyboard).207207+- [Buffyboard](https://gitlab.postmarketos.org/postmarketOS/buffybox/-/tree/master/buffyboard), a framebuffer on-screen keyboard. Available as [services.buffyboard](#opt-services.buffyboard.enable).208208209209- [KanBoard](https://github.com/kanboard/kanboard), a project management tool that focuses on the Kanban methodology. Available as [services.kanboard](#opt-services.kanboard.enable).210210211211- [git-worktree-switcher](https://github.com/mateusauler/git-worktree-switcher), switch between git worktrees with speed. Available as [programs.git-worktree-switcher](#opt-programs.git-worktree-switcher.enable).212212213213-- [GLPI-Agent](https://github.com/glpi-project/glpi-agent), GLPI Agent. Available as [services.glpiAgent](options.html#opt-services.glpiAgent.enable).213213+- [GLPI-Agent](https://github.com/glpi-project/glpi-agent), GLPI Agent. Available as [services.glpiAgent](#opt-services.glpiAgent.enable).214214215215-- [pgBackRest](https://pgbackrest.org), a reliable backup and restore solution for PostgreSQL. Available as [services.pgbackrest](options.html#opt-services.pgbackrest.enable).215215+- [pgBackRest](https://pgbackrest.org), a reliable backup and restore solution for PostgreSQL. Available as [services.pgbackrest](#opt-services.pgbackrest.enable).216216217217- [Recyclarr](https://github.com/recyclarr/recyclarr) a TRaSH Guides synchronizer for Sonarr and Radarr. Available as [services.recyclarr](#opt-services.recyclarr.enable).218218···232232233233- [bitbox-bridge](https://github.com/BitBoxSwiss/bitbox-bridge), a bridge software that connects BitBox hardware wallets to computers & web wallets like [Rabby](https://rabby.io/). Allows one to interact & transact with smart contracts, Web3 websites & financial services without storing private keys anywhere other than the hardware wallet. Available as [services.bitbox-bridge](#opt-services.bitbox-bridge.enable).234234235235-- [GoDNS](https://github.com/TimothyYe/godns), a dynamic DNS client written in Go, which supports multiple DNS providers. Available as [services.godns](option.html#opt-services.godns.enable).235235+- [GoDNS](https://github.com/TimothyYe/godns), a dynamic DNS client written in Go, which supports multiple DNS providers. Available as [services.godns](#opt-services.godns.enable).236236237237- [CookCLI](https://cooklang.org/cli/) Server, a web UI for cooklang recipes. Available as [services.cook-cli](#opt-services.cook-cli.enable).238238···258258 - If [`services.nextcloud.package`](#opt-services.nextcloud.package) is specified explicitly, this package will be installed (**recommended**)259259 - If [`system.stateVersion`](#opt-system.stateVersion) is >=24.11, `pkgs.nextcloud30` will be installed by default.260260 - If [`system.stateVersion`](#opt-system.stateVersion) is >=24.05, `pkgs.nextcloud31` will be installed by default.261261- - Please note that an upgrade from v29 (or older) to v31 directly is not possible. Please upgrade to `nextcloud30` (or earlier) first. Nextcloud prohibits skipping major versions while upgrading. You can upgrade by declaring [`services.nextcloud.package = pkgs.nextcloud30;`](options.html#opt-services.nextcloud.package).261261+ - Please note that an upgrade from v29 (or older) to v31 directly is not possible. Please upgrade to `nextcloud30` (or earlier) first. Nextcloud prohibits skipping major versions while upgrading. You can upgrade by declaring [`services.nextcloud.package = pkgs.nextcloud30;`](#opt-services.nextcloud.package).262262263263- `services.cloudflare-dyndns.apiTokenFile` now must be just your Cloudflare api token. Previously it was supposed to be a file of the form `CLOUDFLARE_API_TOKEN=...`.264264···446446447447- [`system.stateVersion`](#opt-system.stateVersion) is now validated and must be in the `"YY.MM"` format, ideally corresponding to a prior NixOS release.448448449449-- [`hardware.xone`](options.html#opt-hardware.xone.enable) will also enable [`hardware.xpad-noone`](options.html#opt-hardware.xpad-noone.enable) to provide Xbox 360 driver by default.449449+- [`hardware.xone`](#opt-hardware.xone.enable) will also enable [`hardware.xpad-noone`](#opt-hardware.xpad-noone.enable) to provide Xbox 360 driver by default.450450451451- `services.mysql` now supports easy cluster setup via [`services.mysql.galeraCluster`](#opt-services.mysql.galeraCluster.enable) option.452452···525525526526- Exposed the `paperless-manage` script package via the `services.paperless.manage` read-only option.527527528528-- New options for the declarative configuration of the user space part of ALSA have been introduced under [hardware.alsa](options.html#opt-hardware.alsa.enable), including setting the default capture and playback device, defining sound card aliases and volume controls.528528+- New options for the declarative configuration of the user space part of ALSA have been introduced under [hardware.alsa](#opt-hardware.alsa.enable), including setting the default capture and playback device, defining sound card aliases and volume controls.529529 Note: these are intended for users not running a sound server like PulseAudio or PipeWire, but having ALSA as their only sound system.530530531531- `services.k3s` now provides the `autoDeployCharts` option that allows to automatically deploy Helm charts via the k3s Helm controller.
+9-1
nixos/modules/config/users-groups.nix
···477477 (mkIf config.isNormalUser {478478 group = mkDefault "users";479479 createHome = mkDefault true;480480- home = mkDefault "/home/${config.name}";480480+ home = mkDefault "${cfg.defaultUserHome}/${config.name}";481481 homeMode = mkDefault "700";482482 useDefaultShell = mkDefault true;483483 isSystemUser = mkDefault false;···750750 a password or an SSH key.751751752752 WARNING: enabling this can lock you out of your system. Enable this only if you know what are you doing.753753+ '';754754+ };755755+756756+ users.defaultUserHome = mkOption {757757+ type = types.str;758758+ default = "/home";759759+ description = ''760760+ The default home directory for normal users.753761 '';754762 };755763
+6-1
nixos/modules/programs/feedbackd.nix
···1717 Your user needs to be in the `feedbackd` group to trigger effects1818 '';1919 package = lib.mkPackageOption pkgs "feedbackd" { };2020+ theme-package = lib.mkPackageOption pkgs "feedbackd-device-themes" {2121+ nullable = true;2222+ };2023 };2124 };2225 config = lib.mkIf cfg.enable {2323- environment.systemPackages = [ cfg.package ];2626+ environment.systemPackages = [2727+ cfg.package2828+ ] ++ (if cfg.theme-package != null then [ cfg.theme-package ] else [ ]);24292530 services.dbus.packages = [ cfg.package ];2631 services.udev.packages = [ cfg.package ];
+2-2
nixos/modules/programs/nh.nix
···1919 package = lib.mkPackageOption pkgs "nh" { };20202121 flake = lib.mkOption {2222- type = lib.types.nullOr lib.types.path;2222+ type = lib.types.nullOr lib.types.str;2323 default = null;2424 description = ''2525- The path that will be used for the `NH_FLAKE` environment variable.2525+ The string that will be used for the `NH_FLAKE` environment variable.26262727 `NH_FLAKE` is used by nh as the default flake for performing actions, such as2828 `nh os switch`. This behaviour can be overriden per-command with environment
···11-{ config, lib, ... }:11+{22+ config,33+ lib,44+ options,55+ ...66+}:27{3849 ###### interface···2015 instances) have no console of any kind, emergency mode doesn't2116 make sense, and it's better to continue with the boot insofar2217 as possible.1818+1919+ For initrd emergency access, use ${options.boot.initrd.systemd.emergencyAccess} instead.2320 '';2421 };2522
+2
nixos/modules/system/boot/systemd/initrd.nix
···258258259259 Can also be set to a hashed super user password to allow260260 authenticated access to the emergency mode.261261+262262+ For emergency access after initrd, use `${options.systemd.enableEmergencyMode}` instead.261263 '';262264 default = false;263265 };
+2
pkgs/README.md
···113113114114 - Add yourself as the maintainer of the package.115115116116+ - If this is your first time contributing (welcome!), [add yourself to the maintainers list](../maintainers/README.md#how-to-become-a-maintainer) in a separate commit.117117+116118 - All other [`meta`](https://nixos.org/manual/nixpkgs/stable/#chap-meta) attributes are optional, but it’s still a good idea to provide at least the `description`, `homepage` and [`license`](https://nixos.org/manual/nixpkgs/stable/#sec-meta-license).117119118120 - The exact syntax and semantics of the Nix expression language, including the built-in functions, are [Nix language reference](https://nixos.org/manual/nix/stable/language/).
+2-2
pkgs/applications/audio/strawberry/default.nix
···4242in4343stdenv.mkDerivation rec {4444 pname = "strawberry";4545- version = "1.2.10";4545+ version = "1.2.11";46464747 src = fetchFromGitHub {4848 owner = "jonaski";4949 repo = pname;5050 rev = version;5151- hash = "sha256-ByZHyHkMlU571QSu1bbYZC7aEX4Jc8N3j05WbXRQaBY=";5151+ hash = "sha256-AhNx2CdfE7ff3+L47X6lYPD8GA7imkDIJD5ESndn/cc=";5252 };53535454 # the big strawberry shown in the context menu is *very* much in your face, so use the grey version instead
···11diff --git a/playlists/dynamicplaylists.cpp b/playlists/dynamicplaylists.cpp22-index 07b6dce3..6a3f97c9 10064422+index b85e93b5..3c29f775 10064433--- a/playlists/dynamicplaylists.cpp44+++ b/playlists/dynamicplaylists.cpp55-@@ -211,11 +211,6 @@ void DynamicPlaylists::start(const QString &name)66- return;77- }55+@@ -205,11 +205,6 @@ void DynamicPlaylists::start(const QString& name)66+ return;77+ }8899-- if (Utils::findExe("perl").isEmpty()) {1010-- emit error(tr("You need to install \"perl\" on your system in order for Cantata's dynamic mode to function."));1111-- return;1212-- }99+- if (Utils::findExe("perl").isEmpty()) {1010+- emit error(tr("You need to install \"perl\" on your system in order for Cantata's dynamic mode to function."));1111+- return;1212+- }1313-1414- QString fName(Utils::dataDir(rulesDir, false)+name+constExtension);1414+ QString fName(Utils::dataDir(rulesDir, false) + name + constExtension);15151616- if (!QFile::exists(fName)) {1717-1616+ if (!QFile::exists(fName)) {
···11# This file is automatically @generated by Cargo.22# It is not intended for manual editing.33-version = 333+version = 444+55+[[package]]66+name = "anyhow"77+version = "1.0.98"88+source = "registry+https://github.com/rust-lang/crates.io-index"99+checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487"410511[[package]]612name = "chroot-realpath"713version = "0.1.0"1414+dependencies = [1515+ "anyhow",1616+]
···4444 # High-DPI support: Spotify's --force-device-scale-factor argument4545 # not added if `null`, otherwise, should be a number.4646 deviceScaleFactor ? null,4747+ updateScript,4748}:48494950let5050- # TO UPDATE: just execute the ./update.sh script (won't do anything if there is no update)5151- # "rev" decides what is actually being downloaded5252- # If an update breaks things, one of those might have valuable info:5353- # https://aur.archlinux.org/packages/spotify/5454- # https://community.spotify.com/t5/Desktop-Linux5555- version = "1.2.59.514.g834e17d4";5656- # To get the latest stable revision:5757- # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'5858- # To get general information:5959- # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'6060- # More examples of api usage:6161- # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py6262- rev = "86";6363-6451 deps = [6552 alsa-lib6653 at-spi2-atk···96109 xorg.libXtst97110 zlib98111 ];9999-100112in113113+stdenv.mkDerivation (finalAttrs: {114114+ inherit pname;101115102102-stdenv.mkDerivation {103103- inherit pname version;116116+ # TO UPDATE: just execute the ./update.sh script (won't do anything if there is no update)117117+ # "rev" decides what is actually being downloaded118118+ # If an update breaks things, one of those might have valuable info:119119+ # https://aur.archlinux.org/packages/spotify/120120+ # https://community.spotify.com/t5/Desktop-Linux121121+ version = "1.2.60.564.gcc6305cb";122122+123123+ # To get the latest stable revision:124124+ # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'125125+ # To get general information:126126+ # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'127127+ # More examples of api usage:128128+ # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py129129+ rev = "87";104130105131 # fetch from snapcraft instead of the debian repository most repos fetch from.106132 # That is a bit more cumbersome. But the debian repository only keeps the last···124124 # spotify ourselves:125125 # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334126126 src = fetchurl {127127- name = "spotify-${version}-${rev}.snap";128128- url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";129129- hash = "sha512-b9VlPwZ6JJ7Kt2p0ji1qtTJQHZE9d4KBO3iqQwsYh6k+ljtV/mSdinZi+B//Yb+KXhMErd0oaVzIpCCMqft6FQ==";127127+ name = "spotify-${finalAttrs.version}-${finalAttrs.rev}.snap";128128+ url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${finalAttrs.rev}.snap";129129+ hash = "sha512-hdJOko/0EHkPiNgWO+WB3nP+0MO9D2fxgM/X/Ri6fM1ODJxz3XYY84Xf2Ru6iGqdA9XUNRcd/qi+Gfaj9Ez0Ug==";130130 };131131132132 nativeBuildInputs = [···150150 echo "You probably chose the wrong revision."151151 exit 1152152 fi153153- if ! grep -q '${version}' meta/snap.yaml; then153153+ if ! grep -q '${finalAttrs.version}' meta/snap.yaml; then154154 echo "Package version differs from version found in snap metadata:"155155 grep 'version: ' meta/snap.yaml156156- echo "While the nix package specifies: ${version}."156156+ echo "While the nix package specifies: ${finalAttrs.version}."157157 echo "You probably chose the wrong revision or forgot to update the nix version."158158 exit 1159159 fi···227227 runHook postFixup228228 '';229229230230+ passthru = { inherit updateScript; };231231+230232 meta = meta // {231233 maintainers = with lib.maintainers; [232234 ftrvxmtrx···237235 ma27238236 ];239237 };240240-}238238+})
···11#!/usr/bin/env nix-shell22-#! nix-shell -i bash -p curl jq git gnused gnugrep22+#! nix-shell -i bash -p common-updater-scripts curl jq git gnused gnugrep libplist undmg33+set -euo pipefail344556# executing this script without arguments will···21202221channel="${1:-stable}" # stable/candidate/edge2322nixpkgs="$(git rev-parse --show-toplevel)"2424-spotify_nix="$nixpkgs/pkgs/by-name/sp/spotify/linux.nix"25232424+update_linux() {2525+ nix_file="$nixpkgs/pkgs/by-name/sp/spotify/linux.nix"2626+ #2727+ # find the newest stable spotify version available on snapcraft2828+ #26292727-#2828-# find the newest stable spotify version avaiable on snapcraft2929-#3030+ # create bash array from snap info3131+ snap_info=($(3232+ curl -s -H 'X-Ubuntu-Series: 16' \3333+ "https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=$channel" \3434+ | jq --raw-output \3535+ '.revision,.download_sha512,.version,.last_updated'3636+ ))30373131-# create bash array from snap info3232-snap_info=($(3333- curl -s -H 'X-Ubuntu-Series: 16' \3434- "https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=$channel" \3535- | jq --raw-output \3636- '.revision,.download_sha512,.version,.last_updated'3737-))3838+ # "revision" is the actual version identifier on snapcraft, the "version" is3939+ # just for human consumption. Revision is just an integer that gets increased4040+ # by one every (stable or unstable) release.4141+ revision="${snap_info[0]}"4242+ # We need to escape the slashes4343+ hash="$(nix-hash --to-sri --type sha512 ${snap_info[1]} | sed 's|/|\\/|g')"4444+ upstream_version="${snap_info[2]}"4545+ last_updated="${snap_info[3]}"4646+ echo "Latest $channel release for Spotify on Linux is $upstream_version from $last_updated."4747+ #4848+ # read the current spotify version from the currently *committed* nix expression4949+ #38503939-# "revision" is the actual version identifier on snapcraft, the "version" is4040-# just for human consumption. Revision is just an integer that gets increased4141-# by one every (stable or unstable) release.4242-revision="${snap_info[0]}"4343-# We need to escape the slashes4444-hash="$(nix-hash --to-sri --type sha512 ${snap_info[1]} | sed 's|/|\\/|g')"4545-upstream_version="${snap_info[2]}"4646-last_updated="${snap_info[3]}"4747-echo "Latest $channel release is $upstream_version from $last_updated."4848-#4949-# read the current spotify version from the currently *committed* nix expression5050-#5151+ current_nix_version=$(5252+ grep 'version\s*=' "$nix_file" \5353+ | sed -Ene 's/.*"(.*)".*/\1/p'5454+ )51555252-current_nix_version=$(5353- grep 'version\s*=' "$spotify_nix" \5454- | sed -Ene 's/.*"(.*)".*/\1/p'5555-)5656+ echo "Current Spotify for Linux version in Nixpkgs: $current_nix_version"56575757-echo "Current nix version: $current_nix_version"5858+ #5959+ # update the nix expression if the versions differ6060+ #58615959-#6060-# update the nix expression if the versions differ6161-#6262+ if [[ "$current_nix_version" = "$upstream_version" ]]; then6363+ echo "Spotify on Linux is already up-to-date"6464+ return6565+ fi62666363-if [[ "$current_nix_version" = "$upstream_version" ]]; then6464- echo "Spotify is already up-to-date"6565- exit 06666-fi6767+ echo "Updating Spotify on Linux from ${current_nix_version} to ${upstream_version}, released on ${last_updated}"67686868-echo "Updating from ${current_nix_version} to ${upstream_version}, released on ${last_updated}"6969+ # search-and-replace revision, hash and version7070+ sed --regexp-extended \7171+ -e 's/rev\s*=\s*"[0-9]+"\s*;/rev = "'"${revision}"'";/' \7272+ -e 's/hash\s*=\s*"[^"]*"\s*;/hash = "'"${hash}"'";/' \7373+ -e 's/version\s*=\s*".*"\s*;/version = "'"${upstream_version}"'";/' \7474+ -i "$nix_file"7575+}69767070-# search-and-replace revision, hash and version7171-sed --regexp-extended \7272- -e 's/rev\s*=\s*"[0-9]+"\s*;/rev = "'"${revision}"'";/' \7373- -e 's/hash\s*=\s*"[^"]*"\s*;/hash = "'"${hash}"'";/' \7474- -e 's/version\s*=\s*".*"\s*;/version = "'"${upstream_version}"'";/' \7575- -i "$spotify_nix"7777+update_macos() {7878+ nix_file="$nixpkgs/pkgs/by-name/sp/spotify/darwin.nix"76797777-#7878-# try to build the updated version7979-#8080+ tmp_dir=$(mktemp -d)8181+ trap 'rm -rf "$tmp_dir"' EXIT80828181-export NIXPKGS_ALLOW_UNFREE=18282-if ! nix-build -A spotify "$nixpkgs"; then8383- echo "The updated spotify failed to build."8484- exit 18585-fi8383+ pushd $tmp_dir86848787-# Commit changes8888-git add "$spotify_nix"8989-git commit -m "spotify: ${current_nix_version} -> ${upstream_version}"8585+ x86_64_url="https://download.scdn.co/Spotify.dmg"8686+ aarch64_url="https://download.scdn.co/SpotifyARM64.dmg"8787+8888+ curl -OL $aarch64_url8989+ undmg SpotifyARM64.dmg9090+ upstream_version=$(plistutil -i Spotify.app/Contents/Info.plist -f json -o - | jq -r '.CFBundleVersion')9191+9292+ popd9393+9494+ current_nix_version=$(9595+ grep 'version\s*=' "$nix_file" \9696+ | sed -Ene 's/.*"(.*)".*/\1/p'9797+ )9898+9999+ if [[ "$current_nix_version" != "$upstream_version" ]]; then100100+ archive_url="https://web.archive.org/save"101101+ archived_x86_64_url=$(curl -s -I -L -o /dev/null "$archive_url/$x86_64_url" -w '%{url_effective}')102102+ archived_aarch64_url=$(curl -s -I -L -o /dev/null "$archive_url/$aarch64_url" -w '%{url_effective}')103103+104104+ update-source-version "pkgsCross.x86_64-darwin.spotify" "$upstream_version" "" "$archived_x86_64_url" \105105+ --file=$nix_file \106106+ --ignore-same-version107107+108108+ update-source-version "pkgsCross.aarch64-darwin.spotify" "$upstream_version" "" "$archived_aarch64_url" \109109+ --file=$nix_file \110110+ --ignore-same-version111111+ fi112112+}113113+114114+update_linux115115+update_macos
+50
pkgs/by-name/ta/taldir/package.nix
···11+{22+ fetchgit,33+ lib,44+ recutils,55+ buildGoModule,66+}:77+buildGoModule (finalAttrs: {88+ pname = "taldir";99+ version = "1.0.5";1010+1111+ src = fetchgit {1212+ url = "https://git.taler.net/taldir.git";1313+ tag = "v${finalAttrs.version}";1414+ hash = "sha256-ZKNkMV0IV6E+yCQeabGXpIQclx1S4YEgFn4whGXTaks=";1515+ };1616+1717+ vendorHash = "sha256-QCwakJTpRP7VT69EzQeInCCGBuNu3WsNCytnQcBdKQw=";1818+1919+ nativeBuildInputs = [2020+ recutils2121+ ];2222+2323+ # From Makefile2424+ preBuild = ''2525+ mkdir -p internal/gana2626+2727+ pushd third_party/gana/gnu-taler-error-codes2828+ make taler_error_codes.go2929+ popd3030+3131+ cp third_party/gana/gnu-taler-error-codes/taler_error_codes.go internal/gana/3232+ '';3333+3434+ subPackages = [3535+ "cmd/taldir-cli"3636+ "cmd/taldir-server"3737+ ];3838+3939+ # dial error (dial tcp [::1]:5432: connect: connection refused)4040+ doCheck = false;4141+4242+ meta = {4343+ homepage = "https://git.taler.net/taldir.git";4444+ description = "Directory service to resolve wallet mailboxes by messenger addresses";4545+ teams = with lib.teams; [ ngi ];4646+ # themadbit will maintain after being added to maintainers4747+ maintainers = with lib.maintainers; [ ];4848+ license = lib.licenses.agpl3Plus;4949+ };5050+})
···3535}:36363737stdenv.mkDerivation (finalAttrs: {3838- version = "3.03";3838+ version = "3.04";3939 pname = "asymptote";40404141 outputs = [···48484949 src = fetchurl {5050 url = "mirror://sourceforge/asymptote/${finalAttrs.version}/asymptote-${finalAttrs.version}.src.tgz";5151- hash = "sha256-PIpOaYi1M9PVhlCqnL1VZvn3hqmrDl/QoDcPOHUOT70=";5151+ hash = "sha256-+T0n2SX9C8Mz0Fb+vkny1x+TWETC+NN67MjfD+6Twys=";5252 };53535454 # override with TeX Live containers to avoid building sty, docs from source
+3
pkgs/tools/networking/openssh/common.nix
···5050 inherit pname version src;51515252 patches = [5353+ # Making openssh pass the LOCALE_ARCHIVE variable to the forked session processes,5454+ # so the session 'bash' will receive the proper locale archive, and thus process5555+ # UTF-8 properly.5356 ./locale_archive.patch54575558 # See discussion in https://github.com/NixOS/nixpkgs/pull/16966
+7-1
pkgs/tools/networking/openssh/default.nix
···3232 hash = "sha256-AhoucJoO30JQsSVr1anlAEEakN3avqgw7VnO+Q652Fw=";3333 };34343535- extraPatches = [ ./ssh-keysign-8.5.patch ];3535+ extraPatches = [3636+ # Use ssh-keysign from PATH3737+ # ssh-keysign is used for host-based authentication, and is designed to be used3838+ # as SUID-root program. OpenSSH defaults to referencing it from libexec, which3939+ # cannot be made SUID in Nix.4040+ ./ssh-keysign-8.5.patch4141+ ];3642 extraMeta = {3743 maintainers = [ lib.maintainers.philiptaron ];3844 teams = [ lib.teams.helsinki-systems ];