{ # core self, pkgs, pkgsStable, nixLib, myPkgs, system, sysLib, nixpkgs_as_input, nixpkgs_open_prs, # modules home-manager, nixVim, nixos-generators, impermanence, agenix, ragenix, serverphone, disko, lanzaboote, nix-index-database, # external dependencies user_js, treefmt-nix, templates, # my binaries shell_library, river_init_lesser, }: let treefmtEval = import ./treefmt.nix {inherit treefmt-nix pkgs;}; nixosConfigurations = import ./nixosConfigurations { inherit self pkgsStable myPkgs system nixpkgs_as_input nixpkgs_open_prs # my things shell_library sysLib templates # modules home-manager nixVim nixos-generators impermanence agenix ragenix serverphone disko lanzaboote nix-index-database # bins river_init_lesser # external user_js ; }; tests = import ../tests { inherit pkgs nixpkgs_as_input myPkgs; inherit (pkgs) lib; extraModules = { termfilechooser = "${nixpkgs_open_prs.nixpkgs-tfc}/nixos/modules/config/xdg/portals/termfilechooser.nix"; nixvim = { homeManagerModule = nixVim.homeManagerModules.nixvim; }; agenix = agenix.nixosModules.default; disko = disko.nixosModules.default; serverphone = serverphone.nixosModules.default; inherit (home-manager.nixosModules) home-manager; inherit (impermanence.nixosModules) impermanence; inherit (lanzaboote.nixosModules) lanzaboote; }; }; in { inherit nixosConfigurations; checks."${system}" = nixLib.maybeMerge { inherit (self.packages."${system}") nvim ; formatting = treefmtEval.config.build.check self; } tests "flake checks"; # legacyPackages."${system}" = pkgs; packages."${system}" = import ./packages { inherit nixos-generators pkgs pkgsStable myPkgs sysLib system nixVim self shell_library ; inherit (pkgs) lib; }; formatter."${system}" = treefmtEval.config.build.wrapper; apps."${system}" = import ./apps {inherit self system;}; devShells."${system}" = { default = pkgs.mkShell { packages = [ # secure boot pkgs.sbctl # other pkgs.cocogitto pkgs.git-bug # secrets ragenix.packages."${system}".default pkgs.rage # shell pkgs.shfmt # rust pkgs.rustfmt pkgs.cargo # nix pkgs.alejandra # update myPkgs.generate_moz_extension # needed for the firefox extension update script myPkgs.lf-make-map # needed to generate the lf cd mappings myPkgs.update-vim-plugins ]; }; }; }