nixos/flake.nix

38 lines
1.1 KiB
Nix
Raw Normal View History

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
};
}