nixos

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

flake.nix (1860B)


      1 {
      2 	description = "A simple NixOS flake";
      3 
      4 	inputs = {
      5 		nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
      6 		nixpkgs-small.url = "github:NixOS/nixpkgs/nixos-unstable-small";
      7 		nur = {
      8 			url = "github:nix-community/NUR";
      9 			inputs.nixpkgs.follows = "nixpkgs";
     10 		};
     11 		betterfox = {
     12 			url = "github:HeitorAugustoLN/betterfox-nix";
     13 			inputs.nixpkgs.follows = "nixpkgs";
     14 		};
     15 		catppuccin = {
     16 			url = "github:catppuccin/nix";
     17 			inputs.nixpkgs.follows = "nixpkgs";
     18 		};
     19 		hermes-agent = {
     20 			url = "github:NousResearch/hermes-agent";
     21 			inputs.nixpkgs.follows = "nixpkgs";
     22 		};
     23 		llm-agents = {
     24 			url = "github:numtide/llm-agents.nix";
     25 			inputs.nixpkgs.follows = "nixpkgs";
     26 		};
     27 		home-manager = {
     28 			url = "github:nix-community/home-manager";
     29 			inputs.nixpkgs.follows = "nixpkgs";
     30 		};
     31 	};
     32 
     33 	outputs = {
     34 		nixpkgs,
     35 		nixpkgs-small,
     36 		nur,
     37 		betterfox,
     38 		catppuccin,
     39 		hermes-agent,
     40 		llm-agents,
     41 		home-manager,
     42 		...
     43 	}: {
     44 		nixosConfigurations = {
     45 			nixosion =
     46 				nixpkgs.lib.nixosSystem rec {
     47 					system = "x86_64-linux";
     48 					specialArgs = {
     49 						pkgs-small = import nixpkgs-small {inherit system;};
     50 					};
     51 					modules = [
     52 						./local/.
     53 						nur.modules.nixos.default
     54 						catppuccin.nixosModules.catppuccin
     55 						hermes-agent.nixosModules.default
     56 						{nixpkgs.overlays = [llm-agents.overlays.default];}
     57 						home-manager.nixosModules.home-manager
     58 						{
     59 							home-manager.extraSpecialArgs = specialArgs;
     60 							home-manager.useGlobalPkgs = true;
     61 							home-manager.useUserPackages = true;
     62 							home-manager.users.tb148 = {
     63 								imports = [
     64 									./home/.
     65 									betterfox.homeModules.betterfox
     66 									catppuccin.homeModules.catppuccin
     67 								];
     68 							};
     69 						}
     70 					];
     71 				};
     72 			hetznerion =
     73 				nixpkgs-small.lib.nixosSystem {
     74 					system = "x86_64-linux";
     75 					modules = [
     76 						./remote/.
     77 					];
     78 				};
     79 		};
     80 	};
     81 }