flake.nix

7108fc28e06a6326f7a04251cc95bbe50ced6133 · 2.6 KB · 94 lines raw

1 {
2 description = "My main dotfiles flake";
3
4 inputs = {
5 nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
6
7 darwin = {
8 url = "github:nix-darwin/nix-darwin/master";
9 inputs.nixpkgs.follows = "nixpkgs";
10 };
11 home-manager = {
12 url = "github:nix-community/home-manager";
13 inputs.nixpkgs.follows = "nixpkgs";
14 };
15
16 # Shared between darwin and linux
17 zen-browser = {
18 url = "github:0xc000022070/zen-browser-flake";
19 inputs = {
20 nixpkgs.follows = "nixpkgs";
21 home-manager.follows = "home-manager";
22 };
23 };
24
25 # Darwin-only
26 netbird-tui = {
27 url = "git+https://git.rschanz.org/netbird-tui-flake";
28 inputs.nixpkgs.follows = "nixpkgs";
29 };
30 nix-homebrew.url = "github:zhaofengli/nix-homebrew";
31 homebrew-core = {
32 url = "github:homebrew/homebrew-core";
33 flake = false;
34 };
35 homebrew-cask = {
36 url = "github:homebrew/homebrew-cask";
37 flake = false;
38 };
39 virby.url = "github:quinneden/virby-nix-darwin";
40 homebrew-netbird = {
41 url = "github:netbirdio/homebrew-tap";
42 flake = false;
43 };
44 homebrew-felixkratz = {
45 url = "github:FelixKratz/homebrew-formulae";
46 flake = false;
47 };
48
49 nixgl = {
50 url = "github:ryan77627/nixGL";
51 inputs.nixpkgs.follows = "nixpkgs";
52 };
53 clipboard-sync = {
54 url = "github:dnut/clipboard-sync";
55 inputs.nixpkgs.follows = "nixpkgs";
56 };
57 };
58
59 outputs = { nixpkgs, home-manager, ... }@inputs: {
60 darwinConfigurations."RyanMac" = inputs.darwin.lib.darwinSystem {
61 system = "aarch64-darwin";
62 specialArgs = { inherit inputs; };
63 modules = [
64 { nixpkgs.config.allowUnfree = true;
65 nixpkgs.overlays = [ inputs.netbird-tui.overlays.default ]; }
66 inputs.virby.darwinModules.default
67 ./hosts/RyanMac/configuration.nix
68 home-manager.darwinModules.home-manager
69 {
70 home-manager.useGlobalPkgs = true;
71 home-manager.useUserPackages = true;
72 home-manager.users.ryan = {
73 imports = [
74 inputs.zen-browser.homeModules.beta
75 ./users/ryan/common.nix
76 ./users/ryan/darwin.nix
77 ];
78 };
79 }
80 ];
81 };
82
83 homeConfigurations."ryan" = home-manager.lib.homeManagerConfiguration {
84 pkgs = nixpkgs.legacyPackages.x86_64-linux;
85 extraSpecialArgs = { inherit inputs; };
86 modules = [
87 { nixpkgs.config.allowUnfree = true; }
88 inputs.zen-browser.homeModules.beta
89 ./users/ryan/common.nix
90 ./users/ryan/linux.nix
91 ];
92 };
93 };
94 }