flake.nix (2750B)
1 { 2 description = "my nixos configuration"; 3 4 inputs = { 5 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; 6 #nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable-small"; 7 nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; 8 9 home-manager = { 10 url = "github:nix-community/home-manager"; 11 inputs.nixpkgs.follows = "nixpkgs"; 12 }; 13 14 everblush-gtk = { 15 url = "github:everblush/gtk"; 16 inputs.nixpkgs.follows = "nixpkgs"; 17 }; 18 19 simple-nixos-mailserver = { 20 url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.11"; 21 inputs.nixpkgs.follows = "nixpkgs-stable"; 22 }; 23 24 agenix = { 25 url = "github:ryantm/agenix"; 26 inputs.nixpkgs.follows = "nixpkgs"; 27 }; 28 29 llama-cpp = { 30 # url = "github:ggerganov/llama.cpp"; 31 # url = "github:hjc4869/llama.cpp"; 32 # url = "/data/src/clones/llm/llama.cpp_hjc4869"; 33 url = "/data/src/clones/llm/llama.cpp"; 34 inputs.nixpkgs.follows = "nixpkgs"; 35 }; 36 }; 37 38 outputs = 39 { 40 self, 41 home-manager, 42 nixpkgs, 43 nixpkgs-stable, 44 everblush-gtk, 45 agenix, 46 simple-nixos-mailserver, 47 llama-cpp, 48 ... 49 }@inputs: 50 { 51 # TODO: deduplicate this 52 nixosConfigurations = { 53 demiurge = nixpkgs.lib.nixosSystem { 54 system = "x86_64-linux"; 55 specialArgs = inputs; 56 modules = [ 57 ./hosts/demiurge 58 agenix.nixosModules.default 59 60 home-manager.nixosModules.home-manager 61 { 62 home-manager.extraSpecialArgs = { 63 inherit inputs; 64 hostname = "demiurge"; 65 }; 66 home-manager.useGlobalPkgs = true; 67 home-manager.useUserPackages = true; 68 home-manager.users.vin = import ./home.nix; 69 } 70 ]; 71 }; 72 73 hastur = nixpkgs.lib.nixosSystem { 74 system = "x86_64-linux"; 75 specialArgs = inputs; 76 modules = [ 77 ./hosts/hastur 78 agenix.nixosModules.default 79 80 home-manager.nixosModules.home-manager 81 { 82 home-manager.extraSpecialArgs = { 83 inherit inputs; 84 hostname = "hastur"; 85 }; 86 home-manager.useGlobalPkgs = true; 87 home-manager.useUserPackages = true; 88 home-manager.users.vin = import ./home.nix; 89 } 90 ]; 91 }; 92 93 saklas = nixpkgs-stable.lib.nixosSystem { 94 system = "x86_64-linux"; 95 specialArgs = inputs; 96 modules = [ 97 ./hosts/saklas 98 agenix.nixosModules.default 99 simple-nixos-mailserver.nixosModule 100 ]; 101 }; 102 }; 103 }; 104 }