diff --git a/modules/features/bat.nix b/modules/features/bat.nix new file mode 100644 index 0000000..9f1cf6a --- /dev/null +++ b/modules/features/bat.nix @@ -0,0 +1,20 @@ +{ + flake.modules.homeManager.bat = + { pkgs, ... }: + { + programs.bat = { + enable = true; + extraPackages = with pkgs.bat-extras; [ + batgrep + batman + batpipe + batwatch + batdiff + prettybat + ]; + config = { + theme = "Catppuccin Mocha"; + }; + }; + }; +} diff --git a/modules/features/eza.nix b/modules/features/eza.nix new file mode 100644 index 0000000..f37f573 --- /dev/null +++ b/modules/features/eza.nix @@ -0,0 +1,123 @@ +{ + flake.modules.homeManager.eza = { + programs.eza = { + enable = true; + enableZshIntegration = true; + git = true; + icons = "always"; + theme = { + colorful = 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"; + }; + }; + }; +} diff --git a/modules/users/eclypse.nix b/modules/users/eclypse.nix index 7a98872..ea8af55 100644 --- a/modules/users/eclypse.nix +++ b/modules/users/eclypse.nix @@ -39,7 +39,9 @@ in imports = with self.modules.homeManager; [ inputs.nix-jmu-cs345.homeManagerModules.bernstdh assets + bat direnv + eza fastfetch firefox fonts