Files
dart/flake.nix
T
2026-03-24 17:35:56 -06:00

87 lines
2.3 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
];
};
};
}