2025-06-20 11:59:24 -07:00
|
|
|
{
|
|
|
|
description = "Nixos config flake";
|
|
|
|
inputs = {
|
2025-08-12 11:53:58 -07:00
|
|
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
|
|
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.05";
|
|
|
|
|
2025-06-20 11:59:24 -07:00
|
|
|
home-manager.url = "github:nix-community/home-manager";
|
2025-08-12 11:53:58 -07:00
|
|
|
home-manager.inputs.nixpkgs.follows = "nixpkgs-unstable";
|
2025-06-20 11:59:24 -07:00
|
|
|
|
|
|
|
sops-nix.url = "github:Mic92/sops-nix";
|
2025-08-12 11:53:58 -07:00
|
|
|
sops-nix.inputs.nixpkgs.follows = "nixpkgs-unstable";
|
2025-06-20 11:59:24 -07:00
|
|
|
|
|
|
|
firefox-addons.url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
2025-08-12 11:53:58 -07:00
|
|
|
firefox-addons.inputs.nixpkgs.follows = "nixpkgs-unstable";
|
2025-06-20 11:59:24 -07:00
|
|
|
};
|
2025-08-12 11:53:58 -07:00
|
|
|
outputs = { nixpkgs-stable, nixpkgs-unstable, ... }@inputs:
|
|
|
|
let
|
|
|
|
mkSystem = { host_name, system ? "x86_64-linux", pkgs ? nixpkgs-unstable }:
|
|
|
|
pkgs.lib.nixosSystem {
|
|
|
|
inherit system;
|
|
|
|
specialArgs = { inherit inputs; };
|
|
|
|
modules = [ ./hosts/${host_name} ];
|
2025-06-20 11:59:24 -07:00
|
|
|
};
|
2025-08-12 11:53:58 -07:00
|
|
|
|
|
|
|
hosts = {
|
|
|
|
desk = {};
|
|
|
|
lap = {};
|
|
|
|
vm_ollama = {};
|
|
|
|
vps_west = { pkgs = nixpkgs-stable; };
|
|
|
|
vps_east = { pkgs = nixpkgs-stable; };
|
2025-06-20 11:59:24 -07:00
|
|
|
};
|
2025-08-12 11:53:58 -07:00
|
|
|
in {
|
|
|
|
nixosConfigurations = builtins.mapAttrs (host_name: config:
|
|
|
|
mkSystem (config // { inherit host_name; })
|
|
|
|
) hosts;
|
2025-06-20 11:59:24 -07:00
|
|
|
};
|
|
|
|
}
|