Files
dart/flake.nix
T
2026-03-26 10:58:07 -06:00

100 lines
2.4 KiB
Nix

{
description = "dart";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
nix-darwin = {
url = "github:LnL7/nix-darwin";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-homebrew.url = "github:zhaofengli-wip/nix-homebrew";
homebrew-core = {
url = "github:homebrew/homebrew-core";
flake = false;
};
homebrew-cask = {
url = "github:homebrew/homebrew-cask";
flake = false;
};
};
outputs =
{
self,
nixpkgs,
nix-darwin,
home-manager,
rust-overlay,
nix-homebrew,
homebrew-core,
homebrew-cask,
}:
let
system = "aarch64-darwin";
pkgs = import nixpkgs {
inherit system;
overlays = [ rust-overlay.overlays.default ];
config.allowUnfree = true;
};
in
{
darwinConfigurations."dart" = nix-darwin.lib.darwinSystem {
inherit system;
specialArgs = { inherit rust-overlay; };
modules = [
{ nix.enable = false; }
home-manager.darwinModules.home-manager
nix-homebrew.darwinModules.nix-homebrew
{
nix-homebrew = {
enable = true;
enableRosetta = true;
user = "atridad";
autoMigrate = true;
taps = {
"homebrew/homebrew-core" = homebrew-core;
"homebrew/homebrew-cask" = homebrew-cask;
};
mutableTaps = false;
};
}
./modules/system.nix
./modules/packages/cli.nix
./modules/packages/languages.nix
./modules/packages/media.nix
./modules/packages/networking.nix
./modules/homebrew.nix
./modules/librewolf.nix
./modules/home/default.nix
];
};
devShells.${system}.default = pkgs.mkShell {
packages = with pkgs; [
(rust-bin.stable.latest.default.override {
extensions = [
"rust-src"
"rust-analyzer"
];
targets = [ "aarch64-apple-darwin" ];
})
helix
];
};
};
}