ReSet/flake.nix
2024-05-20 21:23:58 +02:00

62 lines
1.6 KiB
Nix

{
description = "A wip universal Linux settings application.";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-parts = {
url = "github:hercules-ci/flake-parts";
inputs.nixpkgs-lib.follows = "nixpkgs";
};
rust-overlay = {
url = "https://github.com/oxalica/rust-overlay/archive/master.tar.gz";
};
};
outputs = inputs @ { self, flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
systems = [ "x86_64-linux" "aarch64-linux" ];
perSystem =
{ config
, self'
, inputs'
, pkgs
, system
, ...
}:
{
_module.args.pkgs = import self.inputs.nixpkgs {
inherit system;
overlays = [
(import
inputs.rust-overlay
)
];
};
devShells.default = pkgs.mkShell {
inputsFrom = builtins.attrValues self'.packages;
packages = with pkgs; [
(rust-bin.selectLatestNightlyWith
(toolchain: toolchain.default))
];
};
packages =
let
lockFile = ./Cargo.lock;
in
rec {
reset = pkgs.callPackage ./nix/default.nix { inherit inputs lockFile; };
default = reset;
};
};
flake = _: rec {
nixosModules.home-manager = homeManagerModules.default;
homeManagerModules = rec {
reset = import ./nix/hm.nix inputs.self;
default = reset;
};
};
};
}