# Fg42 - Emacs Editor for advance users # # Copyright (c) 2010-2024 Sameer Rahmani # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, version 2. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # This is the home manager module that exposes FG42. It differs # from FG42 modules that are structurally the same but used in # different context { pkgs , nixpkgs , lib ? pkgs.lib , modules ? null , extraModules ? [ ] , extraPackages ? { } }: let fg42Modules = if modules != null then modules else import ../modules { inherit pkgs lib; }; pkgsModule = { config, ... }: { config = { _module.args.baseModules = modules; _module.args.pkgs = lib.mkDefault pkgs; _module.check = true; }; }; utils = pkgs.callPackage ./utils.nix { }; final = lib.evalModules { # The unit module is mandatory and the bare min # config that is necessary modules = [ ../modules/unit ] ++ fg42Modules ++ extraModules ++ [ pkgsModule ]; specialArgs = { inherit utils; inherit (utils) makeFG42Drv; inherit extraPackages; lib = nixpkgs.lib.extend (import ./lib.nix { inherit pkgs; }); }; }; in pkgs.callPackage ./derivation.nix { inherit (final) config options; inherit utils; maintainers = import ../maintainers.nix; }