chore: add nix
This commit is contained in:
parent
0a16d339a4
commit
499f13a634
7 changed files with 334 additions and 0 deletions
84
flake.nix
Normal file
84
flake.nix
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz";
|
||||
rust-overlay = {
|
||||
url = "github:oxalica/rust-overlay";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
rust-overlay,
|
||||
...
|
||||
}:
|
||||
let
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
|
||||
pkgsFor =
|
||||
system:
|
||||
import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [ rust-overlay.overlays.default ];
|
||||
};
|
||||
|
||||
forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f (pkgsFor system));
|
||||
in
|
||||
{
|
||||
devShells = forAllSystems (pkgs: {
|
||||
default =
|
||||
let
|
||||
rustToolchain = pkgs.rust-bin.stable.latest.default.override {
|
||||
extensions = [
|
||||
"rust-analyzer"
|
||||
"rust-src"
|
||||
"llvm-tools"
|
||||
];
|
||||
};
|
||||
in
|
||||
import ./nix/shell.nix { inherit pkgs rustToolchain; };
|
||||
});
|
||||
|
||||
packages = forAllSystems (
|
||||
pkgs:
|
||||
let
|
||||
rustToolchain = pkgs.rust-bin.stable.latest.default.override {
|
||||
extensions = [
|
||||
"rust-analyzer"
|
||||
"rust-src"
|
||||
"llvm-tools"
|
||||
];
|
||||
};
|
||||
rustPlatform = pkgs.makeRustPlatform {
|
||||
cargo = rustToolchain;
|
||||
rustc = rustToolchain;
|
||||
};
|
||||
in
|
||||
{
|
||||
cosmic-greeter = pkgs.callPackage ./nix/package.nix {
|
||||
inherit rustPlatform;
|
||||
};
|
||||
default = self.packages.${pkgs.stdenv.hostPlatform.system}.cosmic-greeter;
|
||||
}
|
||||
);
|
||||
|
||||
formatter = forAllSystems (
|
||||
pkgs:
|
||||
let
|
||||
rustToolchain = pkgs.rust-bin.stable.latest.default.override {
|
||||
extensions = [
|
||||
"rust-analyzer"
|
||||
"rust-src"
|
||||
"llvm-tools"
|
||||
];
|
||||
};
|
||||
in
|
||||
import ./nix/formatter.nix { inherit pkgs rustToolchain; }
|
||||
);
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue