nixos-config

NixOS configs for my systems
Log | Files | Refs

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 }