my nix configs for my servers and desktop
1# flake.nix
2{
3 inputs = {
4 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
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.0.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 catppuccin.url = "github:catppuccin/nix";
24 home-manager = {
25 url = "github:nix-community/home-manager";
26 inputs.nixpkgs.follows = "nixpkgs";
27 };
28 };
29
30 outputs =
31 { self, ... }@inputs:
32 with inputs;
33 let
34 nixosModules = builtins.listToAttrs (
35 map (module: {
36 name = module;
37 value = import (./modules + "/${module}");
38 }) (builtins.attrNames (builtins.readDir ./modules))
39 );
40 in
41 {
42 nixosConfigurations = {
43 focalor = nixpkgs.lib.nixosSystem {
44 system = "x86_64-linux";
45 specialArgs = {
46 inherit inputs;
47 system = "x86_64-linux";
48 };
49 modules = [
50 agenix.nixosModules.default
51
52 ./hosts/focalor
53 lix-module.nixosModules.default
54 vscode-server.nixosModules.default
55 catppuccin.nixosModules.catppuccin
56 home-manager.nixosModules.home-manager
57 {
58 home-manager.useGlobalPkgs = true;
59 home-manager.backupFileExtension = "HMBackup";
60 home-manager.users.regent.imports = [
61 ./home/regent/home.nix
62 catppuccin.homeModules.catppuccin
63 ];
64 home-manager.extraSpecialArgs = {
65 inherit inputs;
66 system = "x86_64-linux";
67 };
68 }
69
70 { imports = builtins.attrValues nixosModules; }
71 ];
72 };
73
74 valefar = nixpkgs.lib.nixosSystem {
75 system = "x86_64-linux";
76 specialArgs = {
77 inherit inputs;
78 system = "x86_64-linux";
79 };
80 modules = [
81 agenix.nixosModules.default
82
83 ./hosts/valefar
84 lix-module.nixosModules.default
85 vscode-server.nixosModules.default
86
87 proxmox-nixos.nixosModules.proxmox-ve
88
89 ({ pkgs, lib, ... }: {
90 services.proxmox-ve = {
91 enable = true;
92 ipAddress = "10.0.0.30";
93 };
94
95 nixpkgs.overlays = [
96 proxmox-nixos.overlays.x86_64-linux
97 ];
98 })
99
100 { imports = builtins.attrValues nixosModules; }
101 ];
102 };
103
104 buer = nixpkgs.lib.nixosSystem {
105 system = "x86_64-linux";
106 specialArgs = {
107 inherit inputs;
108 system = "x86_64-linux";
109 };
110 modules = [
111 ./hosts/buer
112
113 agenix.nixosModules.default
114
115 { imports = builtins.attrValues nixosModules; }
116 ];
117 };
118 };
119 };
120}