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