my nix configs for my servers and desktop
1# flake.nix
2{
3 inputs = {
4 nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
5 lix-module = {
6 url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.0.tar.gz";
7 inputs.nixpkgs.follows = "nixpkgs";
8 };
9
10 vscode-server.url = "github:nix-community/nixos-vscode-server";
11 agenix.url = "github:ryantm/agenix";
12 zen-browser = {
13 url = "github:0xc000022070/zen-browser-flake";
14 inputs.nixpkgs.follows = "nixpkgs";
15 };
16
17 catppuccin.url = "github:catppuccin/nix";
18 home-manager = {
19 url = "github:nix-community/home-manager";
20 inputs.nixpkgs.follows = "nixpkgs";
21 };
22 };
23
24 outputs =
25 { self, ... }@inputs:
26 with inputs;
27 let
28 nixosModules = builtins.listToAttrs (
29 map (module: {
30 name = module;
31 value = import (./modules + "/${module}");
32 }) (builtins.attrNames (builtins.readDir ./modules))
33 );
34 in
35 {
36 nixosConfigurations = {
37 focalor = nixpkgs.lib.nixosSystem {
38 system = "x86_64-linux";
39 specialArgs = {
40 inherit inputs;
41 system = "x86_64-linux";
42 };
43 modules = [
44 ./hosts/focalor
45 lix-module.nixosModules.default
46
47 vscode-server.nixosModules.default
48 agenix.nixosModules.default
49
50 catppuccin.nixosModules.catppuccin
51
52 home-manager.nixosModules.home-manager
53 {
54 home-manager.useGlobalPkgs = true;
55 home-manager.backupFileExtension = "HMBackup";
56 home-manager.users.regent.imports = [
57 ./home/regent/home.nix
58 catppuccin.homeModules.catppuccin
59 ];
60 home-manager.extraSpecialArgs = {
61 inherit inputs;
62 system = "x86_64-linux";
63 };
64 }
65 ];
66 };
67
68 valefar = nixpkgs.lib.nixosSystem {
69 system = "x86_64-linux";
70 modules = [
71 ./hosts/valefar
72 lix-module.nixosModules.default
73
74 vscode-server.nixosModules.default
75 agenix.nixosModules.default
76
77 { imports = builtins.attrValues nixosModules; }
78 ];
79 };
80
81 buer = nixpkgs.lib.nixosSystem {
82 system = "x86_64-linux";
83 modules = [
84 ./hosts/buer
85
86 agenix.nixosModules.default
87 ];
88 };
89
90 # Easy to add more hosts
91 /*
92 server2 = nixpkgs.lib.nixosSystem {
93 system = "x86_64-linux";
94 modules = [
95 ./hosts/server2
96 agenix.nixosModules.default
97 # different services for server2
98 ];
99 };
100 */
101 };
102 };
103}