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 92 { imports = builtins.attrValues nixosModules; } 93 ]; 94 }; 95 96 buer = nixpkgs.lib.nixosSystem { 97 system = "x86_64-linux"; 98 specialArgs = { 99 inherit inputs; 100 system = "x86_64-linux"; 101 }; 102 modules = [ 103 ./hosts/buer 104 105 agenix.nixosModules.default 106 ]; 107 }; 108 109 morax = nixpkgs.lib.nixosSystem { 110 system = "aarch64-linux"; 111 specialArgs = { 112 inherit inputs; 113 system = "aarch64-linux"; 114 }; 115 modules = [ 116 ./hosts/morax 117 nixos-hardware.nixosModules.raspberry-pi-4 118 119 agenix.nixosModules.default 120 { imports = builtins.attrValues nixosModules; } 121 ]; 122 }; 123 124 125 # Easy to add more hosts 126 /* 127 server2 = nixpkgs.lib.nixosSystem { 128 system = "x86_64-linux"; 129 modules = [ 130 ./hosts/server2 131 agenix.nixosModules.default 132 # different services for server2 133 ]; 134 }; 135 */ 136 }; 137 }; 138}