{ lib, config, pkgs, ... }: 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; home-manager = with pkgs; pkgs.lib.setAttrByPath ["users" psCfg.user.name] { home.packages = [ 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 screen silver-searcher watson ]; # Starship is a fast and featureful shell prompt # starship.toml has sane defaults that can be changed there programs.starship = { enable = true; settings = import ./starship.toml.nix; }; programs.bash = import ./bash { inherit config; inherit pkgs; inherit lib; }; programs.fzf = import ./fzf { inherit config; inherit pkgs; }; programs.neovim = import ./nvim { inherit config; inherit pkgs; inherit lib; }; }; }; }