···80808181### Usage with nix-shell {#ssec-dart-applications-nix-shell}
82828383+#### Using dependencies from the Nix store {#ssec-dart-applications-nix-shell-deps}
8484+8385As `buildDartApplication` provides dependencies instead of `pub get`, Dart needs to be explicitly told where to find them.
84868587Run the following commands in the source directory to configure Dart appropriately.
···103105 pname = "firmware-updater";
104106 version = "unstable-2023-04-30";
105107108108+ # To build for the Web, use the targetFlutterPlatform argument.
109109+ # targetFlutterPlatform = "web";
110110+106111 src = fetchFromGitHub {
107112 owner = "canonical";
108113 repo = "firmware-updater";
···117122118123### Usage with nix-shell {#ssec-dart-flutter-nix-shell}
119124120120-See the [Dart documentation](#ssec-dart-applications-nix-shell) for nix-shell instructions.
125125+Flutter-specific `nix-shell` usage notes are included here. See the [Dart documentation](#ssec-dart-applications-nix-shell) for general `nix-shell` instructions.
126126+127127+#### Entering the shell {#ssec-dart-flutter-nix-shell-enter}
128128+129129+By default, dependencies for only the `targetFlutterPlatform` are available in the
130130+build environment. This is useful for keeping closures small, but be problematic
131131+during development. It's common, for example, to build Web apps for Linux during
132132+development to take advantage of native features such as stateful hot reload.
133133+134134+To enter a shell with all the usual target platforms available, use the `multiShell` attribute.
135135+136136+e.g. `nix-shell '<nixpkgs>' -A fluffychat-web.multiShell`.
···3737- [Anki Sync Server](https://docs.ankiweb.net/sync-server.html), the official sync server built into recent versions of Anki. Available as [services.anki-sync-server](#opt-services.anki-sync-server.enable).
3838The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been marked deprecated and will be dropped after 24.05 due to lack of maintenance of the anki-sync-server softwares.
39394040+- [Suwayomi Server](https://github.com/Suwayomi/Suwayomi-Server), a free and open source manga reader server that runs extensions built for [Tachiyomi](https://tachiyomi.org). Available as [services.suwayomi-server](#opt-services.suwayomi-server.enable).
4141+4042- [ping_exporter](https://github.com/czerwonk/ping_exporter), a Prometheus exporter for ICMP echo requests. Available as [services.prometheus.exporters.ping](#opt-services.prometheus.exporters.ping.enable).
41434244- [Clevis](https://github.com/latchset/clevis), a pluggable framework for automated decryption, used to unlock encrypted devices in initrd. Available as [boot.initrd.clevis.enable](#opt-boot.initrd.clevis.enable).