what-the-fud/flake.nix
2025-01-30 16:07:01 -07:00

65 lines
2.0 KiB
Nix

{
description = "Simple flutter and dart flake, creating the fart stack";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = {
flake-utils,
nixpkgs,
...
}:
flake-utils.lib.eachDefaultSystem (system: let
lib = nixpkgs.lib;
pkgs = import nixpkgs {
inherit system;
config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"android-studio-stable"
];
};
in {
devShell = pkgs.mkShell {
buildInputs = with pkgs; [
flutter
dart
clang
cmake
ninja
pkg-config
gtk3
pcre
libepoxy
# This group all seem not strictly necessary -- commands like
# `flutter run -d linux` seem to *work* fine without them, but
# the build does print messages about missing packages, like:
# Package mount was not found in the pkg-config search path.
# Perhaps you should add the directory containing `mount.pc'
# to the PKG_CONFIG_PATH environment variable
# To add to this list on NixOS upgrades, the Nix package
# `nix-index` is handy: then `nix-locate mount.pc`.
libuuid # for mount.pc
xorg.libXdmcp.dev
python310Packages.libselinux.dev # for libselinux.pc
libsepol.dev
libthai.dev
libdatrie.dev
libxkbcommon.dev
dbus.dev
at-spi2-core.dev
xorg.libXtst.out
pcre2.dev
jdk11
android-studio
android-tools
];
shellHook = ''
export PATH="$PATH":"$HOME/.pub-cache/bin"
echo -e "\e[44m \e[0m"
echo " FartStack Enabled 💨"
echo -e "\e[44m \e[0m"
'';
};
});
}