configure bat, eza and yazi in home-manager
This commit is contained in:
parent
e71f8a3b47
commit
c6cbdebfe2
4 changed files with 354 additions and 0 deletions
|
|
@ -7,8 +7,11 @@ in
|
|||
{
|
||||
imports = (featureBundler ./bundles) ++ (featureBundler ./features);
|
||||
|
||||
bat.enable = lib.mkDefault true;
|
||||
eza.enable = lib.mkDefault true;
|
||||
gh.enable = lib.mkDefault true;
|
||||
git.enable = lib.mkDefault true;
|
||||
nushell.enable = lib.mkDefault true;
|
||||
yazi.enable = lib.mkDefault true;
|
||||
zoxide.enable = lib.mkDefault true;
|
||||
}
|
||||
|
|
|
|||
23
modules/home-manager/features/bat.nix
Normal file
23
modules/home-manager/features/bat.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
feature = "bat";
|
||||
in
|
||||
{
|
||||
config = lib.mkIf config.${feature}.enable {
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
config = {
|
||||
theme = "Dracula";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
imports = [ ];
|
||||
|
||||
options.${feature}.enable = lib.mkEnableOption "enables ${feature}";
|
||||
}
|
||||
293
modules/home-manager/features/eza.nix
Normal file
293
modules/home-manager/features/eza.nix
Normal file
|
|
@ -0,0 +1,293 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
feature = "eza";
|
||||
in
|
||||
{
|
||||
config = lib.mkIf config.${feature}.enable {
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
extraOptions = [
|
||||
"--long"
|
||||
"--header"
|
||||
"--group-directories-first"
|
||||
];
|
||||
git = true;
|
||||
icons = "always";
|
||||
theme = {
|
||||
colourful = true;
|
||||
|
||||
filekinds = {
|
||||
normal = {
|
||||
foreground = "#BAC2DE";
|
||||
};
|
||||
directory = {
|
||||
foreground = "#89B4FA";
|
||||
};
|
||||
symlink = {
|
||||
foreground = "#89DCEB";
|
||||
};
|
||||
pipe = {
|
||||
foreground = "#7F849C";
|
||||
};
|
||||
block_device = {
|
||||
foreground = "#EBA0AC";
|
||||
};
|
||||
char_device = {
|
||||
foreground = "#EBA0AC";
|
||||
};
|
||||
socket = {
|
||||
foreground = "#585B70";
|
||||
};
|
||||
special = {
|
||||
foreground = "#CBA6F7";
|
||||
};
|
||||
executable = {
|
||||
foreground = "#A6E3A1";
|
||||
};
|
||||
mount_point = {
|
||||
foreground = "#74C7EC";
|
||||
};
|
||||
};
|
||||
|
||||
perms = {
|
||||
user_read = {
|
||||
foreground = "#CDD6F4";
|
||||
};
|
||||
user_write = {
|
||||
foreground = "#F9E2AF";
|
||||
};
|
||||
user_execute_file = {
|
||||
foreground = "#A6E3A1";
|
||||
};
|
||||
user_execute_other = {
|
||||
foreground = "#A6E3A1";
|
||||
};
|
||||
group_read = {
|
||||
foreground = "#BAC2DE";
|
||||
};
|
||||
group_write = {
|
||||
foreground = "#F9E2AF";
|
||||
};
|
||||
group_execute = {
|
||||
foreground = "#A6E3A1";
|
||||
};
|
||||
other_read = {
|
||||
foreground = "#A6ADC8";
|
||||
};
|
||||
other_write = {
|
||||
foreground = "#F9E2AF";
|
||||
};
|
||||
other_execute = {
|
||||
foreground = "#A6E3A1";
|
||||
};
|
||||
special_user_file = {
|
||||
foreground = "#CBA6F7";
|
||||
};
|
||||
special_other = {
|
||||
foreground = "#585B70";
|
||||
};
|
||||
attribute = {
|
||||
foreground = "#A6ADC8";
|
||||
};
|
||||
};
|
||||
|
||||
size = {
|
||||
major = {
|
||||
foreground = "#A6ADC8";
|
||||
};
|
||||
minor = {
|
||||
foreground = "#89DCEB";
|
||||
};
|
||||
number_byte = {
|
||||
foreground = "#CDD6F4";
|
||||
};
|
||||
number_kilo = {
|
||||
foreground = "#BAC2DE";
|
||||
};
|
||||
number_mega = {
|
||||
foreground = "#89B4FA";
|
||||
};
|
||||
number_giga = {
|
||||
foreground = "#CBA6F7";
|
||||
};
|
||||
number_huge = {
|
||||
foreground = "#CBA6F7";
|
||||
};
|
||||
unit_byte = {
|
||||
foreground = "#A6ADC8";
|
||||
};
|
||||
unit_kilo = {
|
||||
foreground = "#89B4FA";
|
||||
};
|
||||
unit_mega = {
|
||||
foreground = "#CBA6F7";
|
||||
};
|
||||
unit_giga = {
|
||||
foreground = "#CBA6F7";
|
||||
};
|
||||
unit_huge = {
|
||||
foreground = "#74C7EC";
|
||||
};
|
||||
};
|
||||
|
||||
users = {
|
||||
user_you = {
|
||||
foreground = "#CDD6F4";
|
||||
};
|
||||
user_root = {
|
||||
foreground = "#F38BA8";
|
||||
};
|
||||
user_other = {
|
||||
foreground = "#CBA6F7";
|
||||
};
|
||||
group_yours = {
|
||||
foreground = "#BAC2DE";
|
||||
};
|
||||
group_other = {
|
||||
foreground = "#7F849C";
|
||||
};
|
||||
group_root = {
|
||||
foreground = "#F38BA8";
|
||||
};
|
||||
|
||||
};
|
||||
links = {
|
||||
normal = {
|
||||
foreground = "#89DCEB";
|
||||
};
|
||||
multi_link_file = {
|
||||
foreground = "#74C7EC";
|
||||
};
|
||||
};
|
||||
|
||||
git = {
|
||||
new = {
|
||||
foreground = "#A6E3A1";
|
||||
};
|
||||
modified = {
|
||||
foreground = "#F9E2AF";
|
||||
};
|
||||
deleted = {
|
||||
foreground = "#F38BA8";
|
||||
};
|
||||
renamed = {
|
||||
foreground = "#94E2D5";
|
||||
};
|
||||
typechange = {
|
||||
foreground = "#F5C2E7";
|
||||
};
|
||||
ignored = {
|
||||
foreground = "#7F849C";
|
||||
};
|
||||
conflicted = {
|
||||
foreground = "#EBA0AC";
|
||||
};
|
||||
};
|
||||
git_repo = {
|
||||
branch_main = {
|
||||
foreground = "#CDD6F4";
|
||||
};
|
||||
branch_other = {
|
||||
foreground = "#CBA6F7";
|
||||
};
|
||||
git_clean = {
|
||||
foreground = "#A6E3A1";
|
||||
};
|
||||
git_dirty = {
|
||||
foreground = "#F38BA8";
|
||||
};
|
||||
};
|
||||
security_context = {
|
||||
colon = {
|
||||
foreground = "#7F849C";
|
||||
};
|
||||
user = {
|
||||
foreground = "#BAC2DE";
|
||||
};
|
||||
role = {
|
||||
foreground = "#CBA6F7";
|
||||
};
|
||||
typ = {
|
||||
foreground = "#585B70";
|
||||
};
|
||||
range = {
|
||||
foreground = "#CBA6F7";
|
||||
};
|
||||
};
|
||||
file_type = {
|
||||
image = {
|
||||
foreground = "#F9E2AF";
|
||||
};
|
||||
video = {
|
||||
foreground = "#F38BA8";
|
||||
};
|
||||
music = {
|
||||
foreground = "#A6E3A1";
|
||||
};
|
||||
lossless = {
|
||||
foreground = "#94E2D5";
|
||||
};
|
||||
crypto = {
|
||||
foreground = "#585B70";
|
||||
};
|
||||
document = {
|
||||
foreground = "#CDD6F4";
|
||||
};
|
||||
compressed = {
|
||||
foreground = "#F5C2E7";
|
||||
};
|
||||
temp = {
|
||||
foreground = "#EBA0AC";
|
||||
};
|
||||
compiled = {
|
||||
foreground = "#74C7EC";
|
||||
};
|
||||
build = {
|
||||
foreground = "#585B70";
|
||||
};
|
||||
source = {
|
||||
foreground = "#89B4FA";
|
||||
};
|
||||
};
|
||||
punctuation = {
|
||||
foreground = "#7F849C";
|
||||
};
|
||||
date = {
|
||||
foreground = "#F9E2AF";
|
||||
};
|
||||
inode = {
|
||||
foreground = "#A6ADC8";
|
||||
};
|
||||
blocks = {
|
||||
foreground = "#9399B2";
|
||||
};
|
||||
header = {
|
||||
foreground = "#CDD6F4";
|
||||
};
|
||||
octal = {
|
||||
foreground = "#94E2D5";
|
||||
};
|
||||
flags = {
|
||||
foreground = "#CBA6F7";
|
||||
};
|
||||
|
||||
symlink_path = {
|
||||
foreground = "#89DCEB";
|
||||
};
|
||||
control_char = {
|
||||
foreground = "#74C7EC";
|
||||
};
|
||||
broken_symlink = {
|
||||
foreground = "#F38BA8";
|
||||
};
|
||||
broken_path_overlay = {
|
||||
foreground = "#585B70";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
imports = [ ];
|
||||
|
||||
options.${feature}.enable = lib.mkEnableOption "enables ${feature}";
|
||||
}
|
||||
35
modules/home-manager/features/yazi.nix
Normal file
35
modules/home-manager/features/yazi.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
feature = "yazi";
|
||||
in
|
||||
{
|
||||
config = lib.mkIf config.${feature}.enable {
|
||||
programs.yazi = {
|
||||
enable = true;
|
||||
plugins = {
|
||||
diff = pkgs.yaziPlugins.diff;
|
||||
git = pkgs.yaziPlugins.git;
|
||||
mediainfo = pkgs.yaziPlugins.mediainfo;
|
||||
mount = pkgs.yaziPlugins.mount;
|
||||
ouch = pkgs.yaziPlugins.ouch;
|
||||
relative-motions = pkgs.yaziPlugins.relative-motions;
|
||||
restore = pkgs.yaziPlugins.restore;
|
||||
rich-preview = pkgs.yaziPlugins.rich-preview;
|
||||
starship = pkgs.yaziPlugins.starship;
|
||||
vcs-files = pkgs.yaziPlugins.vcs-files;
|
||||
yatline-githead = pkgs.yaziPlugins.yatline-githead;
|
||||
};
|
||||
# flavors = {};
|
||||
# themes = {};
|
||||
};
|
||||
};
|
||||
|
||||
imports = [ ];
|
||||
|
||||
options.${feature}.enable = lib.mkEnableOption "enables ${feature}";
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue