os/modules/terminal-life/default.nix
Hendrik Sokolowski 6c7d9704bd
All checks were successful
continuous-integration/drone/push Build is passing
latest changes
2023-11-11 01:24:25 +01:00

77 lines
1.6 KiB
Nix

{
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;
environment.systemPackages = with pkgs; [
screen
];
home-manager = with pkgs;
pkgs.lib.setAttrByPath ["users" psCfg.user.name] {
home.packages = [
blesh
exa
jump
] ++ lib.optionals (!cfg.lite) [
ack
asciinema
bat
fd
gh
glow
(nnn.overrideAttrs (o: {
patches =
(o.patches or [])
++ [
./nnn/0001-feat-use-wasd-keybindings-for-jkli.patch
];
}))
powerline
silver-searcher
watson
];
programs.starship = {
enable = true;
settings = import ./starship.toml.nix;
};
programs.bash = import ./bash {
inherit config;
inherit pkgs;
inherit lib;
};
programs.neovim = import ./nvim {
inherit config;
inherit pkgs;
inherit lib;
};
programs.fzf = import ./fzf {
inherit config;
inherit pkgs;
};
};
};
}