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 lix-module = {
8 url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.0.tar.gz";
9 inputs.nixpkgs.follows = "nixpkgs";
10 };
11
12 vscode-server.url = "github:nix-community/nixos-vscode-server";
13 agenix.url = "github:ryantm/agenix";
14 zen-browser = {
15 url = "github:0xc000022070/zen-browser-flake";
16 inputs.nixpkgs.follows = "nixpkgs";
17 };
18 microvm.url = "github:astro/microvm.nix";
19 microvm.inputs.nixpkgs.follows = "nixpkgs";
20
21 catppuccin.url = "github:catppuccin/nix";
22 home-manager = {
23 url = "github:nix-community/home-manager";
24 inputs.nixpkgs.follows = "nixpkgs";
25 };
26 };
27
28 outputs =
29 { self, ... }@inputs:
30 with inputs;
31 let
32 nixosModules = builtins.listToAttrs (
33 map (module: {
34 name = module;
35 value = import (./modules + "/${module}");
36 }) (builtins.attrNames (builtins.readDir ./modules))
37 );
38 in
39 {
40 nixosConfigurations = {
41 focalor = nixpkgs.lib.nixosSystem {
42 system = "x86_64-linux";
43 specialArgs = {
44 inherit inputs;
45 system = "x86_64-linux";
46 };
47 modules = [
48 agenix.nixosModules.default
49
50 ./hosts/focalor
51 lix-module.nixosModules.default
52 vscode-server.nixosModules.default
53 catppuccin.nixosModules.catppuccin
54 home-manager.nixosModules.home-manager
55 {
56 home-manager.useGlobalPkgs = true;
57 home-manager.backupFileExtension = "HMBackup";
58 home-manager.users.regent.imports = [
59 ./home/regent/home.nix
60 catppuccin.homeModules.catppuccin
61 ];
62 home-manager.extraSpecialArgs = {
63 inherit inputs;
64 system = "x86_64-linux";
65 };
66 }
67
68 { imports = builtins.attrValues nixosModules; }
69 ];
70 };
71
72 valefar = nixpkgs.lib.nixosSystem {
73 system = "x86_64-linux";
74 specialArgs = {
75 inherit inputs;
76 system = "x86_64-linux";
77 };
78 modules = [
79 agenix.nixosModules.default
80
81 ./hosts/valefar
82 lix-module.nixosModules.default
83 vscode-server.nixosModules.default
84 microvm.nixosModules.host
85
86 { imports = builtins.attrValues nixosModules; }
87 ];
88 };
89
90 buer = nixpkgs.lib.nixosSystem {
91 system = "x86_64-linux";
92 specialArgs = {
93 inherit inputs;
94 system = "x86_64-linux";
95 };
96 modules = [
97 ./hosts/buer
98
99 agenix.nixosModules.default
100
101 { imports = builtins.attrValues nixosModules; }
102 ];
103 };
104
105 baal = nixpkgs.lib.nixosSystem {
106 system = "aarch64-linux";
107 specialArgs = {
108 inherit inputs;
109 system = "aarch64-linux";
110 };
111 modules = [
112 ./hosts/baal
113
114 agenix.nixosModules.default
115
116 { imports = builtins.attrValues nixosModules; }
117
118 ];
119 };
120 };
121 };
122}