2021-10-29 14:43:36 +00:00
|
|
|
{
|
|
|
|
lib,
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
self,
|
|
|
|
...
|
|
|
|
}:
|
2021-05-30 19:10:28 +00:00
|
|
|
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";
|
2022-08-14 15:17:35 +00:00
|
|
|
|
|
|
|
lite = mkOption {
|
|
|
|
description = ''
|
|
|
|
Enable a lite edition of terminal-life with less modules and a reduced package set.
|
|
|
|
'';
|
|
|
|
default = false;
|
|
|
|
type = types.bool;
|
|
|
|
};
|
2021-05-30 19:10:28 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
config = mkIf cfg.enable {
|
|
|
|
programs.command-not-found.enable = false;
|
|
|
|
|
2023-02-25 13:45:21 +00:00
|
|
|
# Needed to get zsh completion for system packages (e.g. systemd).
|
|
|
|
environment.pathsToLink = ["/share/zsh"];
|
|
|
|
|
|
|
|
environment.shells = with pkgs; [
|
|
|
|
zsh
|
|
|
|
];
|
|
|
|
|
2021-05-30 19:10:28 +00:00
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
screen
|
|
|
|
];
|
|
|
|
|
|
|
|
home-manager = with pkgs;
|
|
|
|
pkgs.lib.setAttrByPath ["users" psCfg.user.name] {
|
|
|
|
home.packages = [
|
2023-01-28 21:30:37 +00:00
|
|
|
watson
|
|
|
|
] ++ lib.optionals (!cfg.lite) [
|
2021-05-30 19:10:28 +00:00
|
|
|
ack
|
2022-01-31 16:34:32 +00:00
|
|
|
asciinema
|
2021-05-30 19:10:28 +00:00
|
|
|
bat
|
2023-01-28 21:05:02 +00:00
|
|
|
blesh
|
2021-05-30 19:10:28 +00:00
|
|
|
exa
|
2021-11-07 18:17:10 +00:00
|
|
|
fd
|
2021-05-30 19:10:28 +00:00
|
|
|
gh
|
2021-11-07 18:17:10 +00:00
|
|
|
glow
|
2023-01-28 21:05:02 +00:00
|
|
|
jump
|
2023-07-13 13:53:10 +00:00
|
|
|
(nnn.overrideAttrs (o: {
|
|
|
|
patches =
|
|
|
|
(o.patches or [])
|
|
|
|
++ [
|
|
|
|
./nnn/0001-feat-use-wasd-keybindings-for-jkli.patch
|
|
|
|
];
|
|
|
|
}))
|
2021-05-30 19:10:28 +00:00
|
|
|
powerline
|
2022-06-02 08:09:42 +00:00
|
|
|
silver-searcher
|
2021-05-30 19:10:28 +00:00
|
|
|
watson
|
|
|
|
];
|
|
|
|
|
2023-02-25 13:45:21 +00:00
|
|
|
programs.neovim = import ./nvim {
|
2021-05-30 19:10:28 +00:00
|
|
|
inherit config;
|
|
|
|
inherit pkgs;
|
2023-02-25 13:45:21 +00:00
|
|
|
inherit lib;
|
2021-05-30 19:10:28 +00:00
|
|
|
};
|
|
|
|
programs.fzf = import ./fzf {
|
|
|
|
inherit config;
|
|
|
|
inherit pkgs;
|
2021-10-29 14:43:36 +00:00
|
|
|
};
|
2023-02-25 13:45:21 +00:00
|
|
|
programs.zsh = import ./zsh {
|
2021-10-29 14:43:36 +00:00
|
|
|
inherit config;
|
|
|
|
inherit pkgs;
|
2023-02-25 13:45:21 +00:00
|
|
|
inherit self;
|
2023-04-15 17:22:50 +00:00
|
|
|
inherit lib;
|
2021-05-30 19:10:28 +00:00
|
|
|
};
|
2023-02-25 13:45:21 +00:00
|
|
|
};
|
2021-05-30 19:10:28 +00:00
|
|
|
};
|
|
|
|
}
|