49 lines
1.3 KiB
Nix
49 lines
1.3 KiB
Nix
{
|
|
description = "Discord bot for interacting with subsonic music libraries";
|
|
|
|
nixConfig = {
|
|
extra-substituters = [ "https://cache.m7.rs" ];
|
|
extra-trusted-public-keys =
|
|
[ "cache.m7.rs:kszZ/NSwE/TjhOcPPQ16IuUiuRSisdiIwhKZCxguaWg=" ];
|
|
};
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
|
|
rust-overlay.url = "github:oxalica/rust-overlay";
|
|
rust-overlay.inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
outputs = { self, nixpkgs, rust-overlay }:
|
|
let
|
|
forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ];
|
|
forAllPkgs = f: forAllSystems (sys: f pkgsFor.${sys});
|
|
pkgsFor = nixpkgs.legacyPackages;
|
|
|
|
mkPackage = pkgs: pkgs.callPackage ./default.nix {
|
|
rustPlatform = pkgs.makeRustPlatform rec {
|
|
rustc = rust-overlay.packages.${pkgs.system}.rust;
|
|
cargo = rustc;
|
|
};
|
|
};
|
|
in {
|
|
nixosModules.default = import ./module.nix;
|
|
|
|
overlays.default = final: _prev: {
|
|
disconic = mkPackage final;
|
|
};
|
|
|
|
packages = forAllPkgs (pkgs: {
|
|
default = mkPackage pkgs;
|
|
});
|
|
|
|
devShells = forAllPkgs (pkgs: {
|
|
default = pkgs.mkShell {
|
|
inputsFrom = [(mkPackage pkgs)];
|
|
buildInputs = with pkgs; [ clippy rust-analyzer rustc rustfmt ];
|
|
};
|
|
});
|
|
|
|
hydraJobs = self.outputs.packages;
|
|
};
|
|
}
|