{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11"; agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; }; juanfont-headscale = { url = "github:juanfont/headscale/v0.23.0-alpha2"; inputs.nixpkgs.follows = "nixpkgs"; }; glauth = { url = "github:leroycep/glauth"; inputs.nixpkgs.follows = "nixpkgs"; }; glauth-sqlite = { url = "github:leroycep/glauth-sqlite"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, agenix, juanfont-headscale, glauth, glauth-sqlite }: { packages.x86_64-linux = let pkgs = import nixpkgs { system = "x86_64-linux"; }; in rec { cockpit-tailscale = pkgs.callPackage ./pkgs/cockpit-tailscale.nix {}; cockpit-zfs-manager = pkgs.callPackage ./pkgs/cockpit-zfs-manager.nix {}; }; nixosConfigurations.samsehu = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ({config, pkgs, ...}: { nixpkgs.overlays = [ (final: prev: { juanfont-headscale = juanfont-headscale.packages.${prev.system}; glauth = glauth.packages.${prev.system}.glauth.v2; glauth-sqlite = glauth-sqlite.packages.${prev.system}.glauth-sqlite; cockpit-tailscale = self.packages.${prev.system}.cockpit-tailscale; cockpit-zfs-manager = self.packages.${prev.system}.cockpit-zfs-manager; })]; }) ./agenix-config-module.nix ./configuration.nix ./services/glauth.nix agenix.nixosModules.default ]; }; }; }