my nix configs for my servers and desktop
1# flake.nix
2{
3 inputs = {
4 nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
5 nixos-hardware.url = "github:nixos/nixos-hardware/master";
6
7 proxmox-nixos.url = "github:SaumonNet/proxmox-nixos";
8
9 lix-module = {
10 url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.3-1.tar.gz";
11 inputs.nixpkgs.follows = "nixpkgs";
12 };
13
14 vscode-server.url = "github:nix-community/nixos-vscode-server";
15 agenix.url = "github:ryantm/agenix";
16 zen-browser = {
17 url = "github:0xc000022070/zen-browser-flake";
18 inputs.nixpkgs.follows = "nixpkgs";
19 };
20 microvm.url = "github:astro/microvm.nix";
21 microvm.inputs.nixpkgs.follows = "nixpkgs";
22
23 disko.url = "github:nix-community/disko/v1.11.0";
24
25 catppuccin.url = "github:catppuccin/nix";
26 home-manager = {
27 url = "github:nix-community/home-manager";
28 inputs.nixpkgs.follows = "nixpkgs";
29 };
30 };
31
32 outputs =
33 { self, ... }@inputs:
34 with inputs;
35 let
36 nixosModules = builtins.listToAttrs (
37 map (module: {
38 name = module;
39 value = import (./modules + "/${module}");
40 }) (builtins.attrNames (builtins.readDir ./modules))
41 );
42 in
43 {
44 nixosConfigurations = {
45 focalor = nixpkgs.lib.nixosSystem {
46 system = "x86_64-linux";
47 specialArgs = {
48 inherit inputs;
49 system = "x86_64-linux";
50 };
51 modules = [
52 agenix.nixosModules.default
53
54 ./hosts/focalor
55 lix-module.nixosModules.default
56 vscode-server.nixosModules.default
57 catppuccin.nixosModules.catppuccin
58 home-manager.nixosModules.home-manager
59 {
60 home-manager.useGlobalPkgs = true;
61 home-manager.backupFileExtension = "HMBackup";
62 home-manager.users.regent.imports = [
63 ./home/regent/home.nix
64 catppuccin.homeModules.catppuccin
65 ];
66 home-manager.extraSpecialArgs = {
67 inherit inputs;
68 system = "x86_64-linux";
69 };
70 }
71
72 { imports = builtins.attrValues nixosModules; }
73 ];
74 };
75
76 valefar = nixpkgs.lib.nixosSystem {
77 system = "x86_64-linux";
78 specialArgs = {
79 inherit inputs;
80 system = "x86_64-linux";
81 };
82 modules = [
83 agenix.nixosModules.default
84
85 ./hosts/valefar
86 lix-module.nixosModules.default
87 vscode-server.nixosModules.default
88
89 proxmox-nixos.nixosModules.proxmox-ve
90
91 ({ pkgs, lib, ... }: {
92 services.proxmox-ve = {
93 enable = true;
94 ipAddress = "10.0.0.30";
95 };
96
97 nixpkgs.overlays = [
98 proxmox-nixos.overlays.x86_64-linux
99 ];
100 })
101
102 { imports = builtins.attrValues nixosModules; }
103 ];
104 };
105
106 buer = nixpkgs.lib.nixosSystem {
107 system = "x86_64-linux";
108 specialArgs = {
109 inherit inputs;
110 system = "x86_64-linux";
111 };
112 modules = [
113 ./hosts/buer
114
115 agenix.nixosModules.default
116
117 { imports = builtins.attrValues nixosModules; }
118 ];
119 };
120
121 baal = nixpkgs.lib.nixosSystem {
122 system = "aarch64-linux";
123 specialArgs = {
124 inherit inputs;
125 system = "aarch64-linux";
126 };
127 modules = [
128 ./hosts/baal
129
130 agenix.nixosModules.default
131 disko.nixosModules.disko
132
133 { imports = builtins.attrValues nixosModules; }
134
135 ];
136 };
137 };
138 };
139}