# nixos-config - My current NixOS configuration # # Copyright (C) 2024 Benedikt Peetz # Copyright (C) 2025 Benedikt Peetz # SPDX-License-Identifier: GPL-3.0-or-later # # This file is part of my nixos-config. # # You should have received a copy of the License along with this program. # If not, see . { description = "A NixOS System Configuration"; inputs = {}; outputs = {self, ...}: let sources = import ./npins/full.nix {}; # core nixpkgs = sources.loadFlake "nixpkgs"; nixpkgs-stable = sources.loadFlake "nixpkgs-stable"; library = sources.loadFlake "library"; # modules home-manager = sources.loadFlake "home-manager"; nixos-generators = sources.loadFlake "nixos-generators"; impermanence = sources.loadFlake "impermanence"; agenix = sources.loadFlake "agenix"; serverphone = sources.loadFlake "serverphone"; disko = sources.loadFlake "disko"; lanzaboote = sources.loadFlake "lanzaboote"; nixvim = sources.loadFlake "nixvim"; nix-index-database = sources.loadFlake "nix-index-database"; # external dependencies treefmt-nix = sources.loadFlake "treefmt-nix"; templates = sources.loadFlake "templates"; # my binaries qmk_firmware = sources.loadFlake "qmk_firmware"; system = "x86_64-linux"; packageSets = rec { stable = nixpkgs-stable.legacyPackages.${system}; unstable = nixpkgs.legacyPackages.${system}; soispha = import ./pkgs { inherit libraries; pkgs = unstable; }; }; libraries = rec { nix = packageSets.unstable.lib; base = import ./lib {lib = nix;}; extra = library.nixLib; }; modules = { inherit home-manager nixvim nixos-generators impermanence agenix serverphone disko lanzaboote nix-index-database ; }; externalDependencies = { inherit treefmt-nix templates ; }; externalBinaries = { inherit qmk_firmware ; }; openPRsNixpkgs = {}; outputs = import ./flake { inherit self sources nixpkgs system openPRsNixpkgs packageSets libraries modules externalDependencies externalBinaries ; }; in outputs; }