Files
nur/flake.nix
2026-08-26 19:47:21 -04:00

71 lines
2.0 KiB
Nix

{
description = "Miller Nix User Repository";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
darwin.url = "github:LnL7/nix-darwin";
darwin.inputs.nixpkgs.follows = "nixpkgs";
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
hildibrand.url = "git+https://scm.wyattjmiller.com/wymiller/hildibrand.git";
hildibrand.inputs.nixpkgs.follows = "nixpkgs";
caitsith.url = "git+https://scm.wyattjmiller.com/wymiller/caitsith.git";
caitsith.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs@{ self, nixpkgs, home-manager, darwin, rust-overlay, ... }:
let
supportedSystems = [
"x86_64-linux"
"aarch64-linux"
"aarch64-darwin"
];
forAllSystems = f: nixpkgs.lib.genAttrs supportedSystems f;
in
{
packages = forAllSystems (
system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [ self.overlays.default ];
};
in
import ./pkgs {
inherit pkgs;
# packages that are already built with Nix go here
hildibrand = inputs.hildibrand.packages.${system}.default;
caitsith = inputs.caitsith.packages.${system}.default;
}
);
devShells = forAllSystems (
system:
let
pkgs = import nixpkgs { inherit system; };
in
{
default = pkgs.mkShell {
packages = with pkgs; [
nixfmt-rfc-style
];
};
}
);
overlays.default = nixpkgs.lib.composeManyExtensions [
rust-overlay.overlays.default
(import ./overlays)
];
homeManagerModules = import ./modules/home-manager self;
nixosModules.default = import ./modules/nixos;
darwinModules.default = import ./modules/darwin;
};
}