flake.nix

main · 2.1 KB · 71 lines raw

1 {
2 description = "Example nix-darwin system flake";
3
4 inputs = {
5 nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
6 darwin = {
7 url = "github:nix-darwin/nix-darwin/master";
8 inputs.nixpkgs.follows = "nixpkgs";
9 };
10 home-manager = {
11 url = "github:nix-community/home-manager";
12 inputs.nixpkgs.follows = "nixpkgs";
13 };
14 # My packages
15 netbird-tui = {
16 url = "git+https://git.rschanz.org/netbird-tui-flake";
17 inputs.nixpkgs.follows = "nixpkgs";
18 };
19 # End my packages
20 zen-browser = { # Used exclusively for HM module, Zen is installed via cask (on macos)
21 url = "github:0xc000022070/zen-browser-flake";
22 inputs = {
23 nixpkgs.follows = "nixpkgs";
24 home-manager.follows = "home-manager";
25 };
26 };
27 nix-homebrew.url = "github:zhaofengli/nix-homebrew";
28 homebrew-core = {
29 url = "github:homebrew/homebrew-core";
30 flake = false;
31 };
32 homebrew-cask = {
33 url = "github:homebrew/homebrew-cask";
34 flake = false;
35 };
36 # Linux builder on macos
37 virby.url = "github:quinneden/virby-nix-darwin";
38 homebrew-netbird = {
39 url = "github:netbirdio/homebrew-tap";
40 flake = false;
41 };
42 homebrew-felixkratz = {
43 url = "github:FelixKratz/homebrew-formulae";
44 flake = false;
45 };
46 };
47
48 outputs = { nixpkgs, home-manager, ... }@inputs: {
49 darwinConfigurations."RyanMac" = inputs.darwin.lib.darwinSystem {
50 system = "aarch64-darwin";
51 specialArgs = { inherit inputs; };
52 modules = [
53 { nixpkgs.config.allowUnfree = true;
54 nixpkgs.overlays = [ inputs.netbird-tui.overlays.default ]; }
55 inputs.virby.darwinModules.default
56 ./hosts/RyanMac/configuration.nix
57 home-manager.darwinModules.home-manager
58 {
59 home-manager.useGlobalPkgs = true;
60 home-manager.useUserPackages = true;
61 home-manager.users.ryan = {
62 imports = [
63 inputs.zen-browser.homeModules.beta
64 ./users/ryan/home.nix
65 ];
66 };
67 }
68 ];
69 };
70 };
71 }