diff --git a/modules/common.nix b/modules/common.nix index 5702d12..2ba2f7e 100644 --- a/modules/common.nix +++ b/modules/common.nix @@ -47,6 +47,7 @@ in { ./hm/waybar.nix # Waybar config ./hm/cava.nix # Audio visualizer config ./hm/fastfetch.nix # Fastfetch config + ./hm/eza.nix # Eza config (ls alternative) ]; }; diff --git a/modules/hm/eza.nix b/modules/hm/eza.nix new file mode 100644 index 0000000..b476112 --- /dev/null +++ b/modules/hm/eza.nix @@ -0,0 +1,111 @@ +{ + programs.eza = { + enable = true; + icons = true; + git = true; + extraOptions = ["--group-directories-first"]; + enableFishIntegration = true; + theme = { + colourful = true; + filekinds = { + normal = {foreground = "#ebdbb2";}; + directory = {foreground = "#83a598";}; + symlink = {foreground = "#8ec07c";}; + pipe = {foreground = "#928374";}; + block_device = {foreground = "#fb4934";}; + char_device = {foreground = "#fb4934";}; + socket = {foreground = "#665c54";}; + special = {foreground = "#d3869b";}; + executable = {foreground = "#b8bb26";}; + mount_point = {foreground = "#fe8019";}; + }; + perms = { + user_read = {foreground = "#ebdbb2";}; + user_write = {foreground = "#fabd2f";}; + user_execute_file = {foreground = "#b8bb26";}; + user_execute_other = {foreground = "#b8bb26";}; + group_read = {foreground = "#ebdbb2";}; + group_write = {foreground = "#fabd2f";}; + group_execute = {foreground = "#b8bb26";}; + other_read = {foreground = "#bdae93";}; + other_write = {foreground = "#fabd2f";}; + other_execute = {foreground = "#b8bb26";}; + special_user_file = {foreground = "#d3869b";}; + special_other = {foreground = "#928374";}; + attribute = {foreground = "#bdae93";}; + }; + size = { + major = {foreground = "#bdae93";}; + minor = {foreground = "#8ec07c";}; + number_byte = {foreground = "#ebdbb2";}; + number_kilo = {foreground = "#ebdbb2";}; + number_mega = {foreground = "#83a598";}; + number_giga = {foreground = "#d3869b";}; + number_huge = {foreground = "#d3869b";}; + unit_byte = {foreground = "#bdae93";}; + unit_kilo = {foreground = "#83a598";}; + unit_mega = {foreground = "#d3869b";}; + unit_giga = {foreground = "#d3869b";}; + unit_huge = {foreground = "#fe8019";}; + }; + users = { + user_you = {foreground = "#ebdbb2";}; + user_root = {foreground = "#fb4934";}; + user_other = {foreground = "#d3869b";}; + group_yours = {foreground = "#ebdbb2";}; + group_other = {foreground = "#928374";}; + group_root = {foreground = "#fb4934";}; + }; + links = { + normal = {foreground = "#8ec07c";}; + multi_link_file = {foreground = "#fe8019";}; + }; + git = { + new = {foreground = "#b8bb26";}; + modified = {foreground = "#fabd2f";}; + deleted = {foreground = "#fb4934";}; + renamed = {foreground = "#8ec07c";}; + typechange = {foreground = "#d3869b";}; + ignored = {foreground = "#928374";}; + conflicted = {foreground = "#cc241d";}; + }; + git_repo = { + branch_main = {foreground = "#ebdbb2";}; + branch_other = {foreground = "#d3869b";}; + git_clean = {foreground = "#b8bb26";}; + git_dirty = {foreground = "#fb4934";}; + }; + security_context = { + colon = {foreground = "#928374";}; + user = {foreground = "#ebdbb2";}; + role = {foreground = "#d3869b";}; + typ = {foreground = "#665c54";}; + range = {foreground = "#d3869b";}; + }; + file_type = { + image = {foreground = "#fabd2f";}; + video = {foreground = "#fb4934";}; + music = {foreground = "#b8bb26";}; + lossless = {foreground = "#8ec07c";}; + crypto = {foreground = "#928374";}; + document = {foreground = "#ebdbb2";}; + compressed = {foreground = "#d3869b";}; + temp = {foreground = "#cc241d";}; + compiled = {foreground = "#83a598";}; + build = {foreground = "#928374";}; + source = {foreground = "#83a598";}; + }; + punctuation = {foreground = "#928374";}; + date = {foreground = "#fabd2f";}; + inode = {foreground = "#bdae93";}; + blocks = {foreground = "#a89984";}; + header = {foreground = "#ebdbb2";}; + octal = {foreground = "#8ec07c";}; + flags = {foreground = "#d3869b";}; + symlink_path = {foreground = "#8ec07c";}; + control_char = {foreground = "#83a598";}; + broken_symlink = {foreground = "#fb4934";}; + broken_path_overlay = {foreground = "#928374";}; + }; + }; +} diff --git a/modules/programs.nix b/modules/programs.nix index 86dc90b..46b67d4 100644 --- a/modules/programs.nix +++ b/modules/programs.nix @@ -108,6 +108,9 @@ in { interactiveShellInit = '' set fish_greeting # Disable greeting ''; + shellAliases = { + "eza" = "eza --icons=always --color-scale"; + }; shellAbbrs = { # Common abbreviations ".." = "cd .."; @@ -115,8 +118,10 @@ in { "...." = "cd ../../../"; "....." = "cd ../../../../"; "cp" = "cp -v"; - "ll" = "ls -lh"; - "l" = "ls -lah"; + "la" = "eza -la"; + "l" = "eza -l"; + "cat" = "bat -pp"; + "tree" = "eza -lT"; "mkdir" = "mkdir -p"; "mv" = "mv -v"; "rm" = "rm -v"; @@ -149,6 +154,13 @@ in { enableFishIntegration = true; }; + bat = { + enable = true; + settings = { + theme = "gruvbox-dark"; + }; + }; + # Vim editor vim = { enable = true;