Flutter Demo

A minimal Flutter example extracted from the official [Flutter samples](https://github.com/flutter/samples), showcasing Nix as a build system.

Stale Pure Nim score 23/100 · last commit 2025-02-21 · 1 stars · tests present · no docs generated

Summary

Latest Version Unknown
License Unknown
CI Status Failing
Stars 1
Forks 0
Open Issues 0
Last Commit 2025-02-21
Downloads 0
Last Indexed 2026-09-06 07:35

Installation

nimble install Flutter Demo
choosenim install Flutter Demo
git clone https://gitlab.com/arik.grahl/flutter-demo

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
Flutter Demo - - - - - - -

README

Flutter Demo

A minimal Flutter example extracted from the official Flutter samples, showcasing Nix as a build system.

[[TOC]]

Screenshots

The following table lists screenshots for Web, Linux, and Android, each in a light and dark theme. Additionally, a Live Demo is available.

Device Light Theme Dark Theme
Web Web Light Theme Web Dark Theme
Linux Linux Light Theme Linux Dark Theme
Android Android Light Theme Android Light Theme

Build

The only requirement to build and develop this Flutter project is Nix.

Nix will take care of obtaining all other dependencies, including Flutter itself, a Linux build chain, and an Android SDK. This project provides reproducible Nix-native builds for Web and Linux, while the build for Android is based on a non-reproducible development shell, still producing reliable builds.

Web

Building for the Web target can be performed by running the following:

nix build .#web

This resulting directory under ./result can be served as static web content via an HTTP server. For a real-world example consider the CI definition of this repository, which builds this project to be served via GitLab pages.

Linux

A Linux application can be built as follows:

nix build .#linux

The resulting directory under ./results contains the corresponding application including its dependencies in the form of libraries. The application can be installed to the user's profile by running nix profile install .#linux, thus making it available in the $PATH.

Android

The build for Android is not reproducible for the time being, hence the development shell must be used to build for Android.

nix develop --command flutter build apk

The resulting APK is located under ./build/app/outputs/flutter-apk/app-release.apk and can be installed on Android devices.

Development

Nix provides a development shell, which bundles all dependencies to develop and build the application.

nix develop

In the shell different Flutter commands are available, such as flutter devices (listing devices), flutter run … (run the app on a device) or flutter build … (build the app for a given target).