os/modules/terminal-life/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

77 lines
1.5 KiB
Nix
Raw Normal View History

{
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";
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;
# Needed to get zsh completion for system packages (e.g. systemd).
environment.pathsToLink = ["/share/zsh"];
2022-01-19 00:13:15 +00:00
environment.shells = with pkgs; [
zsh
];
2021-05-30 19:10:28 +00:00
environment.systemPackages = with pkgs; [
ack
bat
exa
fd
neovim
2021-05-30 19:10:28 +00:00
screen
];
2023-01-28 22:51:33 +00:00
home-manager = with pkgs;
pkgs.lib.setAttrByPath ["users" psCfg.user.name] {
home.packages = [
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
exa
fd
2021-05-30 19:10:28 +00:00
gh
glow
nnn
2021-05-30 19:10:28 +00:00
powerline
silver-searcher
2021-05-30 19:10:28 +00:00
vifm
watson
2023-01-28 22:51:33 +00:00
];
2021-05-30 19:10:28 +00:00
programs.neovim = import ./nvim {
inherit config;
inherit pkgs;
2022-12-26 14:06:47 +00:00
inherit lib;
2021-05-30 19:10:28 +00:00
};
programs.fzf = import ./fzf {
inherit config;
inherit pkgs;
};
programs.zsh = import ./zsh {
inherit config;
inherit pkgs;
inherit self;
2021-05-30 19:10:28 +00:00
};
2022-11-20 22:28:23 +00:00
};
2021-05-30 19:10:28 +00:00
};
}