2024-02-02 20:49:17 +03:00

62 lines
1.7 KiB
Nix

{
description = "Devenv for hoyolab-claim-bot";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
devenv.url = "github:cachix/devenv";
fenix = {
url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
nixConfig = {
extra-trusted-public-keys = "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=";
extra-substituters = "https://devenv.cachix.org";
};
outputs =
inputs@{ flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [ inputs.devenv.flakeModule ];
systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" ];
perSystem = { config, self', inputs', pkgs, system, lib, ... }:
{
packages = rec {
hoyolab-claim-bot = pkgs.callPackage ./default.nix { };
default = hoyolab-claim-bot;
};
devenv.shells.default = let
libs = with pkgs; [ openssl ];
in {
name = "hoyolab-claim-bot";
env = {
LD_LIBRARY_PATH = lib.makeLibraryPath libs;
};
packages = with pkgs; libs ++ [
cargo-audit
cargo-udeps
cargo-unused-features
nixfmt-rfc-style
] ++ lib.optionals stdenv.isDarwin (
with pkgs.darwin.apple_sdk; [ frameworks.Security ]
);
languages.rust = {
enable = true;
channel = "nightly";
components = [
"rustc"
"cargo"
"clippy"
"rustfmt"
"rust-analyzer"
"rust-docs"
];
};
};
};
flake = { };
};
}