flutter-environment-setup-linux
flutter-linux-setup
Goal
Configures a Linux environment (Debian/Ubuntu or ChromeOS) for Flutter desktop application development by installing required system prerequisites, managing OS-specific configurations, and validating the toolchain.
Decision Logic
- If OS is ChromeOS: Require manual enablement of Linux support before proceeding to package installation.
- If OS is Debian/Ubuntu: Proceed directly to
apt-getpackage updates and installations. - If OS is non-Debian (e.g., Fedora, Arch): Halt and inform the user that this skill specifically targets
apt-getpackage managers.
Instructions
-
Determine the Host Operating System: STOP AND ASK THE USER: "Are you setting up this Flutter environment on a standard Debian/Ubuntu Linux distribution, or on a Chromebook (ChromeOS)?"
-
Handle ChromeOS Prerequisites (Conditional): If the user indicates they are on a Chromebook: Instruct the user to navigate to their ChromeOS Settings, turn on "Linux development environment", and ensure it is fully updated. STOP AND ASK THE USER: "Please confirm once Linux support is enabled and updated so we can proceed with the package installation."
-
Update System Packages: Execute the following command to refresh the package lists and upgrade existing packages:
sudo apt-get update -y && sudo apt-get upgrade -y -
Install Core Prerequisites: Install the base dependencies required for Flutter to operate and build on Linux:
sudo apt-get install -y curl git unzip xz-utils zip libglu1-mesa -
Install Linux Desktop Toolchain: Install the specific C/C++ toolchain and GTK libraries required to compile Linux desktop applications:
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev libstdc++-12-dev -
IDE Configuration Prompt: STOP AND ASK THE USER: "For the best experience, an IDE with Flutter support is recommended. Would you like me to provide the installation commands for Visual Studio Code or Android Studio?"
- If VS Code: Provide the snap installation command:
sudo snap install --classic code - If Android Studio: Provide the snap installation command:
sudo snap install android-studio --classic
- If VS Code: Provide the snap installation command:
-
Validate the Environment: Run the Flutter diagnostic tool to verify the Linux toolchain and device availability:
flutter doctor -v flutter devicesValidate-and-Fix: Analyze the output of
flutter doctor -v.- If the "Linux toolchain" section reports missing dependencies, parse the missing package names, construct a new
sudo apt-get install -y <packages>command, and execute it. - If
flutter devicesdoes not list alinuxplatform device, verify that thelibgtk-3-devpackage was successfully installed and re-run the validation.
- If the "Linux toolchain" section reports missing dependencies, parse the missing package names, construct a new
Constraints
- Do not include any external URLs, hyperlinks, or references to external documentation.
- Assume the user has
sudoprivileges and do not explain basic privilege escalation concepts. - Do not explain what individual packages (e.g.,
curl,cmake) do; assume the user understands standard Linux development tools. - Strictly use
apt-getfor package management to ensure non-interactive compatibility (-yflags must be present). - All terminal commands must be enclosed in
bashcode blocks.