configurations for my servers and desktops
nix
nixos
flake
dots
dotfiles
1{
2 inputs = {
3 nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
4 home-manager = {
5 url = "github:nix-community/home-manager";
6 inputs.nixpkgs.follows = "nixpkgs";
7 };
8 nix-darwin = {
9 url = "github:nix-darwin/nix-darwin";
10 inputs.nixpkgs.follows = "nixpkgs";
11 };
12 mac-app-util.url = "github:hraban/mac-app-util";
13 agenix.url = "github:ryantm/agenix";
14 tangled.url = "git+https://tangled.org/tangled.org/core";
15 };
16
17 outputs = {
18 nixpkgs,
19 nix-darwin,
20 home-manager,
21 mac-app-util,
22 agenix,
23 tangled,
24 ...
25 }: {
26 darwinConfigurations = {
27 d-macbook = nix-darwin.lib.darwinSystem {
28 system = "aarch64-darwin";
29 modules = [
30 ./modules/common
31 ./modules/darwin
32 ./hosts/d-macbook
33 home-manager.darwinModules.home-manager
34 mac-app-util.darwinModules.default
35 {home-manager.sharedModules = [mac-app-util.homeManagerModules.default];}
36 ];
37 };
38
39 bluellama = nix-darwin.lib.darwinSystem {
40 system = "aarch64-darwin";
41 modules = [
42 ./modules/common
43 ./modules/darwin
44 ./hosts/bluellama
45 home-manager.darwinModules.home-manager
46 mac-app-util.darwinModules.default
47 {home-manager.sharedModules = [mac-app-util.homeManagerModules.default];}
48 ];
49 };
50 };
51
52 nixosConfigurations = {
53 d-latitude = nixpkgs.lib.nixosSystem {
54 system = "x86_64-linux";
55 modules = [
56 ./modules/common
57 ./modules/nixos
58 ./hosts/d-latitude
59 home-manager.nixosModules.home-manager
60 ];
61 };
62
63 bluepill = nixpkgs.lib.nixosSystem {
64 system = "x86_64-linux";
65 modules = [
66 ./modules/common
67 ./modules/nixos
68 ./hosts/bluepill
69 agenix.nixosModules.default
70 home-manager.nixosModules.home-manager
71 tangled.nixosModules.knot
72 tangled.nixosModules.spindle
73 ];
74 };
75
76 bluepill-proxy = nixpkgs.lib.nixosSystem {
77 system = "x86_64-linux";
78 modules = [
79 ./modules/common
80 ./modules/nixos
81 ./hosts/bluepill-proxy
82 agenix.nixosModules.default
83 home-manager.nixosModules.home-manager
84 ];
85 };
86 };
87
88 formatter = nixpkgs.lib.genAttrs ["aarch64-darwin" "x86_64-linux"] (system: nixpkgs.legacyPackages.${system}.alejandra);
89 };
90}