nix-config/flake.nix
2025-08-24 22:27:49 +02:00

66 lines
1.4 KiB
Nix

{
description = "Smayzy's nixos config (probably a violation of the geneva convention but who cares)";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
agenix.url = "github:ryantm/agenix";
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
stylix = {
url = "github:danth/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
nvf.url = "github:notashelf/nvf";
};
outputs =
{
self,
nixpkgs,
agenix,
...
}@inputs:
let
system = "x86_64-linux";
overlays = builtins.attrValues (import ./overlays);
sharedModules = [
inputs.nix-flatpak.nixosModules.nix-flatpak
inputs.stylix.nixosModules.stylix
inputs.nvf.nixosModules.default
inputs.agenix.nixosModules.default
];
mkHost =
hostConfig:
nixpkgs.lib.nixosSystem {
specialArgs = {
inherit
inputs
system
overlays
agenix
;
};
modules = [ hostConfig ] ++ sharedModules;
};
in
{
nixosConfigurations = {
desktop1 = mkHost ./hosts/desktop1/configuration.nix;
server1 = mkHost ./hosts/server1/configuration.nix;
laptop1 = mkHost ./hosts/laptop1/configuration.nix;
};
};
}