flake.nix (3501B)
1 { 2 description = "NixOS"; 3 4 inputs = { 5 nixpkgs_stable.url = "nixpkgs/nixos-25.11"; 6 nixpkgs.url = "nixpkgs/nixos-unstable"; 7 nixos-facter-modules.url = "github:numtide/nixos-facter-modules"; 8 nixos-hardware.url = "github:NixOS/nixos-hardware"; 9 betterfox.url = "github:HeitorAugustoLN/betterfox-nix"; 10 sops-nix = { 11 url = "github:Mic92/sops-nix"; 12 inputs.nixpkgs.follows = "nixpkgs"; 13 }; 14 home-manager = { 15 url = "github:nix-community/home-manager"; 16 inputs.nixpkgs.follows = "nixpkgs"; 17 }; 18 disko = { 19 url = "github:nix-community/disko"; 20 inputs.nixpkgs.follows = "nixpkgs"; 21 }; 22 }; 23 outputs = { 24 self, 25 nixpkgs_stable, 26 nixpkgs, 27 disko, 28 home-manager, 29 nixos-hardware, 30 sops-nix, 31 betterfox, 32 ... 33 } @inputs: let 34 system = "x86_64-linux"; 35 pkgs = nixpkgs.legacyPackages.${system}; 36 in { 37 nixosConfigurations = { 38 nixos-frame = let 39 hostName = "nixos-frame"; 40 in nixpkgs.lib.nixosSystem { 41 inherit system; 42 specialArgs = { 43 inherit inputs; 44 inherit hostName; 45 }; 46 modules = [ 47 nixos-hardware.nixosModules.framework-13-7040-amd 48 home-manager.nixosModules.home-manager 49 sops-nix.nixosModules.sops 50 ./system/host/host-frame.nix 51 ./system/hardware/hardware-frame.nix 52 { 53 home-manager = { 54 useGlobalPkgs = true; 55 useUserPackages = true; 56 extraSpecialArgs = { 57 inherit system; 58 inherit inputs; 59 standalone = false; 60 }; 61 users.mika = import ./users/mika.nix; 62 }; 63 } 64 ]; 65 }; 66 nixos-vm = let 67 hostName = "nixos-vm"; 68 in nixpkgs.lib.nixosSystem { 69 inherit system; 70 specialArgs = { 71 inherit inputs; 72 inherit hostName; 73 }; 74 modules = [ 75 home-manager.nixosModules.home-manager 76 ./system/host/host-frame.nix 77 ./system/hardware/hardware-vm.nix 78 { 79 home-manager = { 80 useGlobalPkgs = true; 81 useUserPackages = true; 82 extraSpecialArgs = { 83 inherit system; 84 inherit inputs; 85 standalone = false; 86 }; 87 users.mika = import ./users/mika.nix; 88 }; 89 } 90 ]; 91 }; 92 nixos-server = let 93 hostName = "nixos-server"; 94 in nixpkgs_stable.lib.nixosSystem { 95 inherit system; 96 specialArgs = { 97 inherit inputs; 98 inherit hostName; 99 }; 100 modules = [ 101 home-manager.nixosModules.home-manager 102 ./system/host/host-server.nix 103 ./system/hardware/hardware-vm.nix 104 { 105 home-manager = { 106 useGlobalPkgs = true; 107 useUserPackages = true; 108 extraSpecialArgs = { 109 inherit system; 110 inherit inputs; 111 standalone = false; 112 }; 113 users.r2d2 = import ./users/r2d2.nix; 114 }; 115 } 116 ]; 117 }; 118 }; 119 homeConfigurations = { 120 mika = home-manager.lib.homeManagerConfiguration { 121 inherit pkgs; 122 modules = [ ./users/mika.nix ]; 123 extraSpecialArgs = { 124 inherit system; 125 inherit inputs; 126 standalone = true; 127 }; 128 }; 129 }; 130 131 }; 132 }