nova-shell-android/flake.nix
2026-04-22 01:06:53 +02:00

70 lines
1.6 KiB
Nix

{
description = "nova-shell-android - Material You calendar widget";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
treefmt-nix = {
url = "github:numtide/treefmt-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
{
self,
nixpkgs,
treefmt-nix,
...
}:
let
systems = [
"x86_64-linux"
"aarch64-linux"
];
treefmt-config = {
projectRootFile = "flake.nix";
programs.nixfmt.enable = true;
programs.ktfmt.enable = true;
};
forAllSystems =
fn:
nixpkgs.lib.genAttrs systems (
system:
fn rec {
pkgs = nixpkgs.legacyPackages.${system};
treefmt-eval = treefmt-nix.lib.evalModule pkgs treefmt-config;
}
);
in
{
formatter = forAllSystems ({ treefmt-eval, ... }: treefmt-eval.config.build.wrapper);
devShells = forAllSystems (
{ pkgs, ... }:
{
default = pkgs.mkShell {
packages = with pkgs; [
jdk21
gradle
kotlin
];
shellHook = ''
export JAVA_HOME=${pkgs.jdk21}
if [ -z "$ANDROID_HOME" ]; then
echo "warning: ANDROID_HOME not set - Android SDK must be available globally"
fi
'';
};
}
);
checks = forAllSystems (
{ pkgs, treefmt-eval, ... }:
{
formatting = treefmt-eval.config.build.check self;
}
);
};
}