{ lib, config, pkgs, self, ... }: with lib; let psCfg = config.pub-solar; cfg = config.pub-solar.terminal-life; in { options.pub-solar.terminal-life = { enable = mkEnableOption "Life in black and white"; lite = mkOption { description = '' Enable a lite edition of terminal-life with less modules and a reduced package set. ''; default = false; type = types.bool; }; }; config = mkIf cfg.enable { programs.command-not-found.enable = false; environment.systemPackages = with pkgs; [ screen ]; home-manager = with pkgs; pkgs.lib.setAttrByPath ["users" psCfg.user.name] { home.packages = [ watson ] ++ lib.optionals (!cfg.lite) [ ack asciinema bat blesh exa fd gh glow jump (nnn.overrideAttrs (o: { patches = (o.patches or []) ++ [ ./nnn/0001-feat-use-wasd-keybindings-for-jkli.patch ]; })) powerline silver-searcher watson ]; programs.bash = import ./bash { inherit config; inherit pkgs; inherit self; }; programs.neovim = import ./nvim { inherit config; inherit pkgs; inherit lib; }; programs.fzf = import ./fzf { inherit config; inherit pkgs; }; }; }; }