nix-config/flake.nix
smayzy a8ad063d7a
All checks were successful
nixos config pipeline / show-flake (push) Successful in 30s
nixos config pipeline / deploy (push) Successful in 1m42s
add index
2026-04-19 12:19:44 +02:00

66 lines
1.5 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-index-database = {
url = "github:nix-community/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
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.nvf.nixosModules.default
inputs.agenix.nixosModules.default
inputs.nix-index-database.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;
laptop2 = mkHost ./hosts/laptop2/configuration.nix;
};
};
}