blizzpacksbot/flake.nix
2025-06-15 13:21:51 +02:00

58 lines
1.7 KiB
Nix

{
description = "Description for the project";
inputs = {
flake-parts.url = "github:hercules-ci/flake-parts";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
rust-flake.url = "github:juspay/rust-flake";
treefmt-nix.url = "github:numtide/treefmt-nix";
};
outputs =
inputs@{ flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [
inputs.rust-flake.flakeModules.default
inputs.rust-flake.flakeModules.nixpkgs
inputs.treefmt-nix.flakeModule
];
systems = [
"x86_64-linux"
"aarch64-linux"
"aarch64-darwin"
"x86_64-darwin"
];
perSystem =
{
pkgs,
self',
...
}:
{
# Per-system attributes can be defined here. The self' and inputs'
# module parameters provide easy access to attributes of the same
# system.
# Equivalent to inputs'.nixpkgs.legacyPackages.hello;
packages.default = pkgs.hello;
treefmt.programs = {
nixfmt.enable = true;
deadnix.enable = true;
statix.enable = true;
rustfmt.enable = true;
};
devShells.default = pkgs.mkShell {
inputsFrom = [ self'.devShells.rust ];
buildInputs = with pkgs; [ sqlx-cli postgresql libpq ];
DATABASE_URL="postgres://twitchbot@noproxy.groundcrafter.de/twitchbot";
};
};
flake = {
# The usual flake attributes can be defined here, including system-
# agnostic ones like nixosModule and system-enumerating ones, although
# those are more easily expressed in perSystem.
};
};
}