summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix136
1 files changed, 75 insertions, 61 deletions
diff --git a/flake.nix b/flake.nix
index a051dba..dd3fb38 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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}