pub-solar-os/modules/terminal-life/default.nix

56 lines
1.3 KiB
Nix

{ 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;
# Needed to get zsh completion for system packages (e.g. systemd).
environment.pathsToLink = [ "/share/zsh" ];
environment.shells = with pkgs; [
zsh
];
environment.systemPackages = with pkgs; [
screen
];
home-manager = with pkgs; pkgs.lib.setAttrByPath [ "users" psCfg.user.name ] {
home.packages = [
ack
asciinema
bat
exa
fd
gh
glow
nnn
powerline
silver-searcher
vifm
watson
];
programs.neovim = import ./nvim { inherit config; inherit pkgs; inherit lib; };
programs.fzf = import ./fzf { inherit config; inherit pkgs; };
programs.zsh = import ./zsh { inherit config; inherit pkgs; inherit self; };
};
};
}