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 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 ./hosts/focalor 49 lix-module.nixosModules.default 50 51 /*microvm.nixosModules.host 52 { 53 microvm.autostart = [ 54 "windows" 55 ]; 56 }*/ 57 58 vscode-server.nixosModules.default 59 agenix.nixosModules.default 60 61 catppuccin.nixosModules.catppuccin 62 63 home-manager.nixosModules.home-manager 64 { 65 home-manager.useGlobalPkgs = true; 66 home-manager.backupFileExtension = "HMBackup"; 67 home-manager.users.regent.imports = [ 68 ./home/regent/home.nix 69 catppuccin.homeModules.catppuccin 70 ]; 71 home-manager.extraSpecialArgs = { 72 inherit inputs; 73 system = "x86_64-linux"; 74 }; 75 } 76 ]; 77 }; 78 79 valefar = nixpkgs.lib.nixosSystem { 80 system = "x86_64-linux"; 81 specialArgs = { 82 inherit inputs; 83 system = "x86_64-linux"; 84 }; 85 modules = [ 86 ./hosts/valefar 87 lix-module.nixosModules.default 88 89 vscode-server.nixosModules.default 90 agenix.nixosModules.default 91 microvm.nixosModules.host 92 93 { imports = builtins.attrValues nixosModules; } 94 ]; 95 }; 96 97 buer = nixpkgs.lib.nixosSystem { 98 system = "x86_64-linux"; 99 specialArgs = { 100 inherit inputs; 101 system = "x86_64-linux"; 102 }; 103 modules = [ 104 ./hosts/buer 105 106 agenix.nixosModules.default 107 ]; 108 }; 109 110 morax = nixpkgs.lib.nixosSystem { 111 system = "aarch64-linux"; 112 specialArgs = { 113 inherit inputs; 114 system = "aarch64-linux"; 115 }; 116 modules = [ 117 ./hosts/morax 118 nixos-hardware.nixosModules.raspberry-pi-4 119 120 agenix.nixosModules.default 121 { imports = builtins.attrValues nixosModules; } 122 ]; 123 }; 124 125 126 # Easy to add more hosts 127 /* 128 server2 = nixpkgs.lib.nixosSystem { 129 system = "x86_64-linux"; 130 modules = [ 131 ./hosts/server2 132 agenix.nixosModules.default 133 # different services for server2 134 ]; 135 }; 136 */ 137 }; 138 }; 139}