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