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