# nixos-config - My current NixOS configuration # # 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 . { self, system, openPRsNixpkgs, packageSets, libraries, modules, externalDependencies, externalBinaries, }: let # Unpack common stuff. nixLib = libraries.extra; pkgs = packageSets.unstable; treefmtEval = import ./treefmt.nix { inherit (externalDependencies) treefmt-nix; inherit pkgs; }; nixosConfigurations = import ../hosts { inherit self system openPRsNixpkgs packageSets libraries modules externalDependencies externalBinaries ; }; tests = import ../tests { inherit pkgs nixLib openPRsNixpkgs system; myPkgs = packageSets.soispha; inherit (pkgs) lib; extraModules = { nixvim = { homeManagerModule = modules.nixVim.homeManagerModules.nixvim; }; agenix = modules.agenix.nixosModules.default; disko = modules.disko.nixosModules.default; serverphone = modules.serverphone.nixosModules.default; inherit (modules.home-manager.nixosModules) home-manager; inherit (modules.impermanence.nixosModules) impermanence; inherit (modules.lanzaboote.nixosModules) lanzaboote; }; }; in { inherit nixosConfigurations; checks."${system}" = nixLib.warnMerge { inherit (self.packages."${system}") nvim ; formatting = treefmtEval.config.build.check self; } tests "flake checks"; # legacyPackages."${system}" = pkgs; packages."${system}" = import ./packages { inherit pkgs self ; myPkgs = packageSets.soispha; }; formatter."${system}" = treefmtEval.config.build.wrapper; baseLib."${system}" = libraries.base; devShells."${system}" = { default = pkgs.mkShell { packages = [ # secure boot pkgs.sbctl # other pkgs.cocogitto pkgs.git-bug pkgs.reuse # secrets pkgs.ragenix pkgs.rage # shell pkgs.shfmt # rust pkgs.rustfmt pkgs.cargo # nix pkgs.alejandra pkgs.deadnix # update packageSets.soispha.generate_moz_extension # needed for the firefox extension update script packageSets.soispha.lf-make-map # needed to generate the lf cd mappings ]; }; }; }