mirror of
https://github.com/belsabbagh/dotfiles.git
synced 2026-04-11 01:26:46 +00:00
initial commit
This commit is contained in:
120
alacritty/alacritty.toml
Normal file
120
alacritty/alacritty.toml
Normal file
@@ -0,0 +1,120 @@
|
||||
[font]
|
||||
size = 11.0
|
||||
|
||||
[font.bold]
|
||||
family = "JetBrainsMono Nerd Font"
|
||||
style = "Bold"
|
||||
|
||||
[font.bold_italic]
|
||||
family = "JetBrainsMono Nerd Font"
|
||||
style = "Bold Italic"
|
||||
|
||||
[font.italic]
|
||||
family = "JetBrainsMono Nerd Font"
|
||||
style = "Italic"
|
||||
|
||||
[font.normal]
|
||||
family = "JetBrainsMono Nerd Font"
|
||||
style = "Regular"
|
||||
|
||||
[font.offset]
|
||||
x = 0
|
||||
y = 0
|
||||
|
||||
[selection]
|
||||
save_to_clipboard = true
|
||||
semantic_escape_chars = ",│`|:\"' ()[]{}<>"
|
||||
|
||||
[window]
|
||||
decorations = "none"
|
||||
dynamic_title = true
|
||||
startup_mode = "Maximized"
|
||||
|
||||
[window.dimensions]
|
||||
columns = 80
|
||||
lines = 24
|
||||
|
||||
[window.padding]
|
||||
x = 2
|
||||
y = 2
|
||||
[env]
|
||||
TERM = "xterm-256color"
|
||||
# Dracula theme for Alacritty
|
||||
# https://draculatheme.com/alacritty
|
||||
#
|
||||
# Color palette
|
||||
# https://spec.draculatheme.com
|
||||
#
|
||||
# Instructions
|
||||
# https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd
|
||||
|
||||
[colors.primary]
|
||||
|
||||
background = "#282a36"
|
||||
foreground = "#f8f8f2"
|
||||
bright_foreground = "#ffffff"
|
||||
|
||||
[colors.cursor]
|
||||
|
||||
text = "#282a36"
|
||||
cursor = "#f8f8f2"
|
||||
|
||||
[colors.vi_mode_cursor]
|
||||
|
||||
text = "CellBackground"
|
||||
cursor = "CellForeground"
|
||||
|
||||
[colors.selection]
|
||||
|
||||
text = "CellForeground"
|
||||
background = "#44475a"
|
||||
|
||||
[colors.normal]
|
||||
|
||||
black = "#21222c"
|
||||
red = "#ff5555"
|
||||
green = "#50fa7b"
|
||||
yellow = "#f1fa8c"
|
||||
blue = "#bd93f9"
|
||||
magenta = "#ff79c6"
|
||||
cyan = "#8be9fd"
|
||||
white = "#f8f8f2"
|
||||
|
||||
[colors.bright]
|
||||
|
||||
black = "#6272a4"
|
||||
red = "#ff6e6e"
|
||||
green = "#69ff94"
|
||||
yellow = "#ffffa5"
|
||||
blue = "#d6acff"
|
||||
magenta = "#ff92df"
|
||||
cyan = "#a4ffff"
|
||||
white = "#ffffff"
|
||||
|
||||
[colors.search.matches]
|
||||
|
||||
foreground = "#44475a"
|
||||
background = "#50fa7b"
|
||||
|
||||
[colors.search.focused_match]
|
||||
|
||||
foreground = "#44475a"
|
||||
background = "#ffb86c"
|
||||
|
||||
[colors.footer_bar]
|
||||
|
||||
background = "#282a36"
|
||||
foreground = "#f8f8f2"
|
||||
|
||||
[colors.hints.start]
|
||||
|
||||
foreground = "#282a36"
|
||||
background = "#f1fa8c"
|
||||
|
||||
[colors.hints.end]
|
||||
|
||||
foreground = "#f1fa8c"
|
||||
background = "#282a36"
|
||||
|
||||
[general]
|
||||
live_config_reload = true
|
||||
248
btop/btop.conf
Normal file
248
btop/btop.conf
Normal file
@@ -0,0 +1,248 @@
|
||||
#? Config file for btop v. 1.4.0
|
||||
|
||||
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||
color_theme = "/usr/share/btop/themes/dracula.theme"
|
||||
|
||||
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
||||
theme_background = True
|
||||
|
||||
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
||||
truecolor = True
|
||||
|
||||
#* Set to true to force tty mode regardless if a real tty has been detected or not.
|
||||
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
||||
force_tty = False
|
||||
|
||||
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
||||
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
||||
#* Use whitespace " " as separator between different presets.
|
||||
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
|
||||
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
|
||||
|
||||
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
|
||||
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
||||
vim_keys = False
|
||||
|
||||
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
||||
rounded_corners = True
|
||||
|
||||
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
||||
#* "braille" offers the highest resolution but might not be included in all fonts.
|
||||
#* "block" has half the resolution of braille but uses more common characters.
|
||||
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
|
||||
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
|
||||
graph_symbol = "braille"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_cpu = "default"
|
||||
|
||||
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_gpu = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_mem = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_net = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_proc = "default"
|
||||
|
||||
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
||||
shown_boxes = "cpu mem net proc"
|
||||
|
||||
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||
update_ms = 100
|
||||
|
||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||
proc_sorting = "memory"
|
||||
|
||||
#* Reverse sorting order, True or False.
|
||||
proc_reversed = False
|
||||
|
||||
#* Show processes as a tree.
|
||||
proc_tree = False
|
||||
|
||||
#* Use the cpu graph colors in the process list.
|
||||
proc_colors = True
|
||||
|
||||
#* Use a darkening gradient in the process list.
|
||||
proc_gradient = True
|
||||
|
||||
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
||||
proc_per_core = False
|
||||
|
||||
#* Show process memory as bytes instead of percent.
|
||||
proc_mem_bytes = True
|
||||
|
||||
#* Show cpu graph for each process.
|
||||
proc_cpu_graphs = True
|
||||
|
||||
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
|
||||
proc_info_smaps = False
|
||||
|
||||
#* Show proc box on left side of screen instead of right.
|
||||
proc_left = False
|
||||
|
||||
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
||||
proc_filter_kernel = False
|
||||
|
||||
#* In tree-view, always accumulate child process resources in the parent process.
|
||||
proc_aggregate = False
|
||||
|
||||
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
||||
#* Select from a list of detected attributes from the options menu.
|
||||
cpu_graph_upper = "Auto"
|
||||
|
||||
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
||||
#* Select from a list of detected attributes from the options menu.
|
||||
cpu_graph_lower = "Auto"
|
||||
|
||||
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
|
||||
show_gpu_info = "Auto"
|
||||
|
||||
#* Toggles if the lower CPU graph should be inverted.
|
||||
cpu_invert_lower = True
|
||||
|
||||
#* Set to True to completely disable the lower CPU graph.
|
||||
cpu_single_graph = False
|
||||
|
||||
#* Show cpu box at bottom of screen instead of top.
|
||||
cpu_bottom = False
|
||||
|
||||
#* Shows the system uptime in the CPU box.
|
||||
show_uptime = True
|
||||
|
||||
#* Show cpu temperature.
|
||||
check_temp = True
|
||||
|
||||
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
|
||||
cpu_sensor = "Auto"
|
||||
|
||||
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
|
||||
show_coretemp = True
|
||||
|
||||
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
|
||||
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
|
||||
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
|
||||
#* Example: "4:0 5:1 6:3"
|
||||
cpu_core_map = ""
|
||||
|
||||
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
|
||||
temp_scale = "celsius"
|
||||
|
||||
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
||||
base_10_sizes = False
|
||||
|
||||
#* Show CPU frequency.
|
||||
show_cpu_freq = True
|
||||
|
||||
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
|
||||
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
||||
clock_format = "%X"
|
||||
|
||||
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
|
||||
background_update = True
|
||||
|
||||
#* Custom cpu model name, empty string to disable.
|
||||
custom_cpu_name = ""
|
||||
|
||||
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
||||
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
|
||||
disks_filter = ""
|
||||
|
||||
#* Show graphs instead of meters for memory values.
|
||||
mem_graphs = True
|
||||
|
||||
#* Show mem box below net box instead of above.
|
||||
mem_below_net = False
|
||||
|
||||
#* Count ZFS ARC in cached and available memory.
|
||||
zfs_arc_cached = True
|
||||
|
||||
#* If swap memory should be shown in memory box.
|
||||
show_swap = True
|
||||
|
||||
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
||||
swap_disk = True
|
||||
|
||||
#* If mem box should be split to also show disks info.
|
||||
show_disks = True
|
||||
|
||||
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
||||
only_physical = True
|
||||
|
||||
#* Read disks list from /etc/fstab. This also disables only_physical.
|
||||
use_fstab = True
|
||||
|
||||
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
|
||||
zfs_hide_datasets = False
|
||||
|
||||
#* Set to true to show available disk space for privileged users.
|
||||
disk_free_priv = False
|
||||
|
||||
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
||||
show_io_stat = True
|
||||
|
||||
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
||||
io_mode = False
|
||||
|
||||
#* Set to True to show combined read/write io graphs in io mode.
|
||||
io_graph_combined = False
|
||||
|
||||
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
|
||||
#* Example: "/mnt/media:100 /:20 /boot:1".
|
||||
io_graph_speeds = ""
|
||||
|
||||
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
||||
net_download = 100
|
||||
|
||||
net_upload = 100
|
||||
|
||||
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
|
||||
net_auto = True
|
||||
|
||||
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
||||
net_sync = True
|
||||
|
||||
#* Starts with the Network Interface specified here.
|
||||
net_iface = ""
|
||||
|
||||
#* Show battery stats in top right if battery is present.
|
||||
show_battery = True
|
||||
|
||||
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
||||
selected_battery = "Auto"
|
||||
|
||||
#* Show power stats of battery next to charge indicator.
|
||||
show_battery_watts = True
|
||||
|
||||
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
||||
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
||||
log_level = "WARNING"
|
||||
|
||||
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
|
||||
nvml_measure_pcie_speeds = True
|
||||
|
||||
#* Horizontally mirror the GPU graph.
|
||||
gpu_mirror_graph = True
|
||||
|
||||
#* Custom gpu0 model name, empty string to disable.
|
||||
custom_gpu_name0 = ""
|
||||
|
||||
#* Custom gpu1 model name, empty string to disable.
|
||||
custom_gpu_name1 = ""
|
||||
|
||||
#* Custom gpu2 model name, empty string to disable.
|
||||
custom_gpu_name2 = ""
|
||||
|
||||
#* Custom gpu3 model name, empty string to disable.
|
||||
custom_gpu_name3 = ""
|
||||
|
||||
#* Custom gpu4 model name, empty string to disable.
|
||||
custom_gpu_name4 = ""
|
||||
|
||||
#* Custom gpu5 model name, empty string to disable.
|
||||
custom_gpu_name5 = ""
|
||||
5
hypr/hypridle.conf
Executable file
5
hypr/hypridle.conf
Executable file
@@ -0,0 +1,5 @@
|
||||
listener {
|
||||
timeout = 300 # 5min
|
||||
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
|
||||
on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
|
||||
}
|
||||
300
hypr/hyprland.conf
Executable file
300
hypr/hyprland.conf
Executable file
@@ -0,0 +1,300 @@
|
||||
|
||||
# #######################################################################################
|
||||
# AUTOGENERATED HYPR CONFIG.
|
||||
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
|
||||
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
|
||||
# #######################################################################################
|
||||
|
||||
|
||||
# This is an example Hyprland config file.
|
||||
# Refer to the wiki for more information.
|
||||
# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/
|
||||
|
||||
# Please note not all available settings / options are set here.
|
||||
# For a full list, see the wiki
|
||||
|
||||
# You can split this configuration into multiple files
|
||||
# Create your files separately and then link them to this file like this:
|
||||
# source = ~/.config/hypr/myColors.conf
|
||||
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||
env = XDG_SESSION_TYPE,wayland
|
||||
env = XDG_SESSION_DESKTOP,Hyprland
|
||||
env = XDG_SCREENSHOTS_DIR,$HOME/Pictures/Screenshots
|
||||
|
||||
env = LIBVA_DRIVER_NAME,nvidia
|
||||
env = GBM_BACKEND,nvidia-drm
|
||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||
|
||||
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
||||
env = QT_QPA_PLATFORM,wayland;xcb
|
||||
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
||||
env = QT_QPA_PLATFORMTHEME,qt5ct
|
||||
|
||||
env = XCURSOR_SIZE,24
|
||||
################
|
||||
### MONITORS ###
|
||||
################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor=,preferred,auto,1
|
||||
|
||||
|
||||
###################
|
||||
### MY PROGRAMS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
|
||||
# Set programs that you use
|
||||
$terminal = alacritty
|
||||
$fileManager = thunar
|
||||
$menu = hyprlauncher
|
||||
$browser = zen-browser
|
||||
|
||||
#################
|
||||
### AUTOSTART ###
|
||||
#################
|
||||
|
||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||
# Or execute your favorite apps at launch like this:
|
||||
|
||||
# exec-once = $terminal
|
||||
# exec-once = nm-applet &
|
||||
# exec-once = waybar & hyprpaper & firefox
|
||||
exec-once = ssh-agent & waybar & hyprpaper & kdeconnect-indicator & hypridle
|
||||
exec-once = systemctl --user start hyprpolkitagent
|
||||
#############################
|
||||
### ENVIRONMENT VARIABLES ###
|
||||
#############################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
||||
|
||||
env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
|
||||
|
||||
#####################
|
||||
### LOOK AND FEEL ###
|
||||
#####################
|
||||
|
||||
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||
general {
|
||||
gaps_in = 5
|
||||
gaps_out = 20
|
||||
|
||||
border_size = 2
|
||||
col.active_border = rgb(44475a) rgb(bd93f9) 90deg
|
||||
col.inactive_border = rgba(44475aaa)
|
||||
col.nogroup_border = rgba(282a36dd)
|
||||
col.nogroup_border_active = rgb(bd93f9) rgb(44475a) 90deg
|
||||
|
||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||
resize_on_border = false
|
||||
|
||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false
|
||||
|
||||
layout = dwindle
|
||||
|
||||
}
|
||||
|
||||
cursor {
|
||||
no_hardware_cursors = true
|
||||
}
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||
decoration {
|
||||
rounding = 10
|
||||
|
||||
# Change transparency of focused and unfocused windows
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 1.0
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 4
|
||||
render_power = 3
|
||||
color = rgba(1E202966)
|
||||
}
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
vibrancy = 0.1696
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
||||
animations {
|
||||
enabled = true
|
||||
|
||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
#bezier = myBezier, 0.33, 0.82, 0.9, -0.08
|
||||
|
||||
animation = windows, 1, 7, myBezier
|
||||
animation = windowsOut, 1, 7, default, popin 80%
|
||||
animation = border, 1, 10, default
|
||||
animation = borderangle, 1, 8, default
|
||||
animation = fade, 1, 7, default
|
||||
animation = workspaces, 1, 6, default
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
dwindle {
|
||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = true # You probably want this
|
||||
force_split = 2
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
master {
|
||||
new_status = master
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||
misc {
|
||||
animate_manual_resizes = true
|
||||
animate_mouse_windowdragging = true
|
||||
enable_swallow = true
|
||||
render_ahead_of_time = false
|
||||
disable_hyprland_logo = true
|
||||
}
|
||||
|
||||
|
||||
#############
|
||||
### INPUT ###
|
||||
#############
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||
input {
|
||||
kb_layout = us,eg
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options = grp:alt_shift_toggle
|
||||
kb_rules =
|
||||
follow_mouse = 1
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
touchpad {
|
||||
natural_scroll = true
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures {
|
||||
workspace_swipe = false
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
|
||||
####################
|
||||
### KEYBINDINGSS ###
|
||||
####################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||
|
||||
|
||||
exec-once = wl-paste --type text --watch cliphist store
|
||||
exec-once = wl-paste --type image --watch cliphist store
|
||||
bind = $mainMod, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = $mainMod, Return, exec, $terminal
|
||||
bind = $mainMod, Q, killactive,
|
||||
bind = $mainMod ALT, Q, exit,
|
||||
bind = $mainMod, E, exec, $fileManager
|
||||
bind = $mainMod, B, exec, $browser
|
||||
bind = $mainMod, T, togglefloating,
|
||||
bind = $mainMod, F, fullscreen,
|
||||
bind = $mainMod, R, exec, $menu
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, J, togglesplit, # dwindle
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
# Moving windows
|
||||
bind = $mainMod SHIFT, left, swapwindow, l
|
||||
bind = $mainMod SHIFT, right, swapwindow, r
|
||||
bind = $mainMod SHIFT, up, swapwindow, u
|
||||
bind = $mainMod SHIFT, down, swapwindow, d
|
||||
|
||||
# Window resizing X Y
|
||||
bind = $mainMod CTRL, left, resizeactive, -60 0
|
||||
bind = $mainMod CTRL, right, resizeactive, 60 0
|
||||
bind = $mainMod CTRL, up, resizeactive, 0 -60
|
||||
bind = $mainMod CTRL, down, resizeactive, 0 60
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
bind = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
|
||||
bind = , XF86MonBrightnessUp, exec, brightnessctl set 5%+
|
||||
|
||||
bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
# Requires playerctl
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
|
||||
bind = $mainMod SHIFT, H, exec, $terminal -e sh -c "nvim ~/.config/hypr/hyprland.conf"
|
||||
bind = $mainMod SHIFT, W, exec, $terminal -e sh -c "nvim ~/.config/waybar/config"
|
||||
|
||||
bind = $mainMod SHIFT, S, exec, grimblast copysave area
|
||||
##############################
|
||||
### WINDOWS AND WORKSPACES ###
|
||||
##############################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
||||
|
||||
# Example windowrule v1
|
||||
# windowrule = float, ^(kitty)$
|
||||
|
||||
# Example windowrule v2
|
||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||
|
||||
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
|
||||
4
hypr/hyprpaper.conf
Executable file
4
hypr/hyprpaper.conf
Executable file
@@ -0,0 +1,4 @@
|
||||
$path = ~/Pictures/Wallpapers/dracula-mnt-6272a4.png
|
||||
|
||||
preload = $path
|
||||
wallpaper = ,$path
|
||||
3
lazygit/config.yml
Normal file
3
lazygit/config.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
git:
|
||||
log:
|
||||
showGraph: always
|
||||
1
nvim
Submodule
1
nvim
Submodule
Submodule nvim added at 84195b87b5
46
starship.toml
Normal file
46
starship.toml
Normal file
@@ -0,0 +1,46 @@
|
||||
format = """
|
||||
$username\
|
||||
$hostname\
|
||||
$directory\
|
||||
$git_branch\
|
||||
$git_state\
|
||||
$git_status\
|
||||
$cmd_duration\
|
||||
$line_break\
|
||||
$python\
|
||||
$character"""
|
||||
|
||||
[directory]
|
||||
style = "blue"
|
||||
|
||||
[character]
|
||||
success_symbol = "[>](purple)"
|
||||
error_symbol = "[>](red)"
|
||||
vimcmd_symbol = "[<](green)"
|
||||
|
||||
[git_branch]
|
||||
format = "[$branch]($style)"
|
||||
style = "bright-black"
|
||||
|
||||
[git_status]
|
||||
format = "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218) ($ahead_behind$stashed)]($style)"
|
||||
style = "cyan"
|
||||
conflicted = ""
|
||||
untracked = ""
|
||||
modified = ""
|
||||
staged = ""
|
||||
renamed = ""
|
||||
deleted = ""
|
||||
stashed = "≡"
|
||||
|
||||
[git_state]
|
||||
format = '\([$state( $progress_current/$progress_total)]($style)\) '
|
||||
style = "bright-black"
|
||||
|
||||
[cmd_duration]
|
||||
format = "[$duration]($style) "
|
||||
style = "yellow"
|
||||
|
||||
[python]
|
||||
format = "[$virtualenv]($style) "
|
||||
style = "bright-black"
|
||||
60
tmux/tmux.conf
Normal file
60
tmux/tmux.conf
Normal file
@@ -0,0 +1,60 @@
|
||||
set -g default-terminal "tmux-256color"
|
||||
set -ag terminal-overrides ",xterm-256color:RGB"
|
||||
set -g mouse on
|
||||
|
||||
unbind C-b
|
||||
set -g prefix C-Space
|
||||
bind C-Space send-prefix
|
||||
|
||||
# Vim style pane selection
|
||||
bind h select-pane -L
|
||||
bind j select-pane -D
|
||||
bind k select-pane -U
|
||||
bind l select-pane -R
|
||||
|
||||
# Start windows and panes at 1, not 0
|
||||
set -g base-index 1
|
||||
set -g pane-base-index 1
|
||||
set-window-option -g pane-base-index 1
|
||||
set-option -g renumber-windows on
|
||||
|
||||
# Use Alt-arrow keys without prefix key to switch panes
|
||||
bind -n M-Left select-pane -L
|
||||
bind -n M-Right select-pane -R
|
||||
bind -n M-Up select-pane -U
|
||||
bind -n M-Down select-pane -D
|
||||
|
||||
# Shift arrow to switch windows
|
||||
bind -n S-Left previous-window
|
||||
bind -n S-Right next-window
|
||||
|
||||
# Shift Alt vim keys to switch windows
|
||||
bind -n M-H previous-window
|
||||
bind -n M-L next-window
|
||||
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
set -g @plugin 'dracula/tmux'
|
||||
set -g @plugin 'christoomey/vim-tmux-navigator'
|
||||
set -g @plugin 'tmux-plugins/tmux-yank'
|
||||
|
||||
# available plugins: battery, cpu-usage, git, gpu-usage, ram-usage, tmux-ram-usage, network, network-bandwidth, network-ping, ssh-session, attached-clients, network-vpn, weather, time, mpc, spotify-tui, playerctl, kubernetes-context, synchronize-panes
|
||||
set -g @dracula-plugins "ram-usage time"
|
||||
set -g @dracula-left-icon-padding 1
|
||||
set -g @dracula-show-left-icon "#S"
|
||||
|
||||
# set vi-mode
|
||||
set-window-option -g mode-keys vi
|
||||
# keybindings
|
||||
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
||||
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
|
||||
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
||||
|
||||
bind '"' split-window -v -c "#{pane_current_path}"
|
||||
bind % split-window -h -c "#{pane_current_path}"
|
||||
|
||||
set -g allow-passthrough all
|
||||
set -ga update-environment TERM
|
||||
set -ga update-environment TERM_PROGRAM
|
||||
|
||||
run -b '~/.tmux/plugins/tpm/tpm'
|
||||
12
waybar/colors.css
Executable file
12
waybar/colors.css
Executable file
@@ -0,0 +1,12 @@
|
||||
@define-color background-darker rgba(30, 31, 41, 230);
|
||||
@define-color background #282a36;
|
||||
@define-color selection #44475a;
|
||||
@define-color foreground #f8f8f2;
|
||||
@define-color comment #6272a4;
|
||||
@define-color cyan #8be9fd;
|
||||
@define-color green #50fa7b;
|
||||
@define-color orange #ffb86c;
|
||||
@define-color pink #ff79c6;
|
||||
@define-color purple #bd93f9;
|
||||
@define-color red #ff5555;
|
||||
@define-color yellow #f1fa8c;
|
||||
109
waybar/config
Executable file
109
waybar/config
Executable file
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"margin": "9 13 -10 18",
|
||||
"height": 24,
|
||||
"spacing": 4,
|
||||
"output": "eDP-1",
|
||||
"modules-left": [
|
||||
"hyprland/workspaces",
|
||||
|
||||
"hyprland/language",
|
||||
"tray"
|
||||
],
|
||||
"modules-center": [
|
||||
"clock"
|
||||
],
|
||||
"modules-right": [
|
||||
"network",
|
||||
"backlight",
|
||||
"pulseaudio",
|
||||
"cpu",
|
||||
"memory",
|
||||
"battery",
|
||||
],
|
||||
"hyprland/workspaces": {
|
||||
"disable-scroll": true,
|
||||
},
|
||||
"hyprland/window": {
|
||||
"max-length": 128
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:%a, %d %b, %H:%M}",
|
||||
"tooltip-format": "<tt><small>{calendar}</small></tt>"
|
||||
},
|
||||
"hyprland/language": {
|
||||
"format-en": "US",
|
||||
"format-eg": "AR",
|
||||
"on-click": "hyprctl switchxkblayout at-translated-set-2-keyboard next"
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"interval": 2,
|
||||
"states": {
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-charging": "{capacity}% ",
|
||||
"format-plugged": "{capacity}% ",
|
||||
"format-alt": "{time} {icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", "", ""],
|
||||
},
|
||||
"backlight": {
|
||||
"device": "intel_backlight",
|
||||
"reverse-scrolling": 1,
|
||||
"format": "{percent}% {icon}",
|
||||
"format-icons": [""],
|
||||
"min-length": 7,
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 16,
|
||||
"spacing": 4
|
||||
},
|
||||
"pulseaudio": {
|
||||
// "scroll-step": 1, // %, can be a float
|
||||
"reverse-scrolling": 1,
|
||||
"format": "{volume}% {icon}",
|
||||
"format-bluetooth": "{volume}% {icon}",
|
||||
"format-bluetooth-muted": " {icon}",
|
||||
"format-muted": " {format_source}",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pavucontrol",
|
||||
"min-length": 7,
|
||||
},
|
||||
"cpu": {
|
||||
"interval": 2,
|
||||
"format": "{usage}% ",
|
||||
"min-length": 7
|
||||
},
|
||||
"memory": {
|
||||
"interval": 2,
|
||||
"format": "{used:0.1f}G ",
|
||||
"max-length": 10,
|
||||
"min-length": 8
|
||||
},
|
||||
"network": {
|
||||
"interface": "wlp0s20f3",
|
||||
"format": "{ifname}",
|
||||
"format-wifi": "{bandwidthTotalBits} ",
|
||||
"format-ethernet": "{ipaddr}/{cidr} ",
|
||||
"format-disconnected": "", //An empty format will hide the module.
|
||||
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||
"tooltip-format-wifi": "{essid}",
|
||||
"tooltip-format-ethernet": "{ifname} ",
|
||||
"tooltip-format-disconnected": "Disconnected",
|
||||
"max-length": 50,
|
||||
"min-length": 12,
|
||||
}
|
||||
|
||||
}
|
||||
242
waybar/style.css
Executable file
242
waybar/style.css
Executable file
@@ -0,0 +1,242 @@
|
||||
@import url("./colors.css");
|
||||
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: FontAwesome, JetBrains Mono Nerd Font;
|
||||
font-size: 10pt;
|
||||
min-height: 16px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: transparent;
|
||||
color: @foreground;
|
||||
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
window#waybar.hidden {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 10px;
|
||||
background: @background;
|
||||
color: @foreground;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background-image: linear-gradient(0deg, @red, @background-darker);
|
||||
}
|
||||
|
||||
#clock {
|
||||
padding: 4px;
|
||||
background: @background;
|
||||
}
|
||||
|
||||
|
||||
#workspaces {
|
||||
margin-right: 8px;
|
||||
border-radius: 10px;
|
||||
transition: none;
|
||||
background: #383c4a;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
transition: none;
|
||||
color: #7c818c;
|
||||
background: transparent;
|
||||
padding: 5px;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
#workspaces button.persistent {
|
||||
color: #7c818c;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||
#workspaces button:hover {
|
||||
transition: none;
|
||||
box-shadow: inherit;
|
||||
text-shadow: inherit;
|
||||
border-radius: inherit;
|
||||
color: #383c4a;
|
||||
background-image: linear-gradient(0deg, @selection, @background-darker);
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background-image: linear-gradient(0deg, @purple, @selection);
|
||||
color: white;
|
||||
border-radius: inherit;
|
||||
}
|
||||
|
||||
#language {
|
||||
padding: 0 8px;
|
||||
border-radius: 10px;
|
||||
transition: none;
|
||||
border: 1px solid @purple;
|
||||
color: @foreground;
|
||||
background: @background;
|
||||
}
|
||||
|
||||
#keyboard-state {
|
||||
margin-right: 8px;
|
||||
padding-right: 16px;
|
||||
border-radius: 0px 10px 10px 0px;
|
||||
transition: none;
|
||||
color: #ffffff;
|
||||
background: #383c4a;
|
||||
}
|
||||
|
||||
#custom-pacman {
|
||||
padding-left: 16px;
|
||||
padding-right: 8px;
|
||||
border-radius: 10px 0px 0px 10px;
|
||||
transition: none;
|
||||
color: #ffffff;
|
||||
background: #383c4a;
|
||||
}
|
||||
|
||||
#custom-mail {
|
||||
margin-right: 8px;
|
||||
padding-right: 16px;
|
||||
border-radius: 0px 10px 10px 0px;
|
||||
transition: none;
|
||||
color: #ffffff;
|
||||
background: #383c4a;
|
||||
}
|
||||
|
||||
#submap {
|
||||
padding: 0 8px;
|
||||
border-radius: 10px;
|
||||
transition: none;
|
||||
color: #ffffff;
|
||||
background: #383c4a;
|
||||
}
|
||||
|
||||
#clock {
|
||||
padding: 0 8px;
|
||||
border-radius: 10px;
|
||||
border: 1px solid @purple;
|
||||
transition: none;
|
||||
color: #ffffff;
|
||||
background: @background;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
margin-right: 8px;
|
||||
padding: 0 8px;
|
||||
border: 1px solid @purple;
|
||||
border-radius: 10px;
|
||||
transition: none;
|
||||
color: @foreground;
|
||||
background: @background;
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
background-color: @red;
|
||||
color: #2a5c45;
|
||||
}
|
||||
|
||||
#memory {
|
||||
margin-right: 8px;
|
||||
padding: 0 8px;
|
||||
border-radius: 10px;
|
||||
border: 1px solid @purple;
|
||||
transition: none;
|
||||
color: @foreground;
|
||||
background: @background;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
margin-right: 8px;
|
||||
padding: 0 8px;
|
||||
border-radius: 10px;
|
||||
border: 1px solid @purple;
|
||||
transition: none;
|
||||
color: @foreground;
|
||||
background: @background;
|
||||
}
|
||||
|
||||
#temperature {
|
||||
margin-right: 8px;
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
border-radius: 10px;
|
||||
transition: none;
|
||||
color: @foreground;
|
||||
background: @background;
|
||||
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#backlight {
|
||||
margin-right: 8px;
|
||||
padding: 0 8px;
|
||||
border-radius: 10px;
|
||||
border: 1px solid @purple;
|
||||
transition: none;
|
||||
color: @foreground;
|
||||
background: @background;
|
||||
}
|
||||
|
||||
#network {
|
||||
margin-right: 8px;
|
||||
padding: 0 8px;
|
||||
border-radius: 10px;
|
||||
border: 1px solid @purple;
|
||||
transition: none;
|
||||
color: @foreground;
|
||||
background: @background;
|
||||
}
|
||||
|
||||
#battery {
|
||||
margin-right: 8px;
|
||||
padding: 0 8px;
|
||||
border-radius: 10px;
|
||||
transition: none;
|
||||
color: #ffffff;
|
||||
background: #383c4a;
|
||||
}
|
||||
|
||||
#battery.charging {
|
||||
color: @background;
|
||||
background-color: @green;
|
||||
}
|
||||
|
||||
#battery.warning:not(.charging) {
|
||||
background-color: #ffbe61;
|
||||
color: black;
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: #f53c3c;
|
||||
color: #ffffff;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#tray {
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
border-radius: 10px;
|
||||
border: 1px solid @purple;
|
||||
transition: none;
|
||||
color: @foreground;
|
||||
background: @background;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
5
waybar/wittr.sh
Executable file
5
waybar/wittr.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/sh
|
||||
req=$(curl -s wttr.in/CITY?format="%t|%l+(%c%f)+%h,+%C")
|
||||
bar=$(echo $req | awk -F "|" '{print $1}')
|
||||
tooltip=$(echo $req | awk -F "|" '{print $2}')
|
||||
echo "{\"text\":\"$bar\", \"tooltip\":\"$tooltip\"}"
|
||||
318
yazi/flavors/dracula.yazi/flavor.toml
Normal file
318
yazi/flavors/dracula.yazi/flavor.toml
Normal file
@@ -0,0 +1,318 @@
|
||||
# Theme Configuration
|
||||
[theme]
|
||||
# Theme metadata
|
||||
name = "Dracula Pro"
|
||||
author = "Enhanced Dracula Theme"
|
||||
version = "2.0.0"
|
||||
description = "A sophisticated dark theme based on Dracula color scheme"
|
||||
|
||||
# Color palette definition
|
||||
[theme.colors]
|
||||
background = "#282a36"
|
||||
current_line = "#44475a"
|
||||
foreground = "#f8f8f2"
|
||||
comment = "#6272a4"
|
||||
purple = "#bd93f9"
|
||||
green = "#50fa7b"
|
||||
orange = "#ffb86c"
|
||||
red = "#ff5555"
|
||||
pink = "#ff79c6"
|
||||
cyan = "#8be9fd"
|
||||
yellow = "#f1fa8c"
|
||||
|
||||
# Animation settings
|
||||
[theme.animation]
|
||||
frames_per_second = 60
|
||||
duration = 0.2
|
||||
easing = "easeInOutCubic"
|
||||
|
||||
# Manager
|
||||
[manager]
|
||||
# Enhanced preview options
|
||||
preview = { tab_size = 2, max_width = 100, max_height = 50, cache_size = 50, scroll_offset = 5 }
|
||||
preview_ratios = [1, 4, 4]
|
||||
preview_shown = true
|
||||
preview_service = { image = "ueberzug", video = "ffmpegthumbnailer", pdf = "pdftoppm" }
|
||||
|
||||
# Sophisticated hover effects
|
||||
hovered = { fg = "#f8f8f2", bg = "#44475a", italic = true }
|
||||
|
||||
# Enhanced markers with animations
|
||||
marker_copied = { fg = "#282a36", bg = "#50fa7b" }
|
||||
|
||||
# Dynamic loading indicators
|
||||
loading_indicator_frames = "⣾⣽⣻⢿⡿⣟⣯⣷"
|
||||
loading_style = { fg = "#bd93f9", bold = true }
|
||||
|
||||
# Enhanced folder icons
|
||||
folder_icons = { default = " ", open = " ", empty = " ", empty_open = " ", symlink = " ", symlink_open = " ", error = " " }
|
||||
|
||||
file_size_units = ["B", "KB", "MB", "GB", "TB", "PB", "EB"]
|
||||
|
||||
# Status
|
||||
[status]
|
||||
# Dynamic status bar
|
||||
refresh_rate = 1000
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
|
||||
# Progress bar styling
|
||||
progress_bar_style = { fg = "#bd93f9", bg = "#44475a" }
|
||||
|
||||
# Enhanced modes
|
||||
mode_normal = { fg = "#282a36", bg = "#bd93f9", bold = true }
|
||||
|
||||
# Input
|
||||
[input]
|
||||
# Advanced input styling
|
||||
cursor_style = { fg = "#f8f8f2", bg = "#6272a4", blink = true, blink_interval = 500 }
|
||||
|
||||
# History features
|
||||
history_size = 100
|
||||
history_unique = true
|
||||
|
||||
# Completion styling
|
||||
completion_style = { selected_bg = "#44475a", selected_fg = "#f8f8f2", selected_bold = true, selected_italic = true }
|
||||
|
||||
# Notify
|
||||
[notify]
|
||||
# Enhanced notification system
|
||||
position = "top-right"
|
||||
timeout = 5000
|
||||
max_width = 400
|
||||
max_height = 200
|
||||
margin = 10
|
||||
padding = 8
|
||||
|
||||
[notify.levels]
|
||||
info = { fg = "#50fa7b", bg = "#282a36", icon = " ", timeout = 3000 }
|
||||
warn = { fg = "#f1fa8c", bg = "#282a36", icon = " ", timeout = 5000 }
|
||||
error = { fg = "#ff5555", bg = "#282a36", icon = " ", timeout = 7000 }
|
||||
debug = { fg = "#6272a4", bg = "#282a36", icon = " ", timeout = 2000 }
|
||||
|
||||
[notify.animation]
|
||||
enabled = true
|
||||
duration = 200
|
||||
slide_in = "right"
|
||||
fade_out = true
|
||||
|
||||
[notify.border]
|
||||
fg = "#bd93f9"
|
||||
bg = "#282a36"
|
||||
style = "rounded"
|
||||
|
||||
[notify.overlay]
|
||||
bg = "#282a36"
|
||||
blend = 0.8
|
||||
|
||||
# File-specific styles
|
||||
[filetype]
|
||||
rules = [
|
||||
# Development Environment
|
||||
{ name = ".env*", fg = "#50fa7b", bold = true, prefix = " " },
|
||||
{ name = ".git*", fg = "#ff5555", italic = true, prefix = " " },
|
||||
{ name = ".docker*", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
|
||||
# Configuration Files
|
||||
{ name = "*.{json,yaml,yml,toml,xml}", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
{ name = "*.{ini,conf,cfg}", fg = "#6272a4", italic = true, prefix = " " },
|
||||
|
||||
# Web Development
|
||||
{ name = "*.{html,htm}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
{ name = "*.{css,scss,sass,less}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
{ name = "*.{jsx,tsx}", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
{ name = "*.{js,ts}", fg = "#f1fa8c", italic = true, prefix = " " },
|
||||
{ name = "*.vue", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
{ name = "*.svelte", fg = "#ff5555", italic = true, prefix = " " },
|
||||
|
||||
# Backend Development
|
||||
{ name = "*.{py,pyc}", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
{ name = "*.{rb,erb}", fg = "#ff5555", italic = true, prefix = " " },
|
||||
{ name = "*.{php,phar}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
{ name = "*.{java,jar}", fg = "#ff5555", italic = true, prefix = " " },
|
||||
{ name = "*.go", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
{ name = "*.rs", fg = "#ff7043", italic = true, prefix = " " },
|
||||
|
||||
# System Programming
|
||||
{ name = "*.{c,h}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
{ name = "*.{cpp,hpp}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
{ name = "*.{asm,s}", fg = "#ff5555", italic = true, prefix = " " },
|
||||
|
||||
# Build Systems
|
||||
{ name = "*Makefile", fg = "#ff79c6", bold = true, prefix = " " },
|
||||
{ name = "*CMakeLists.txt", fg = "#ff79c6", bold = true, prefix = " " },
|
||||
{ name = "*.gradle", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
|
||||
# Package Managers
|
||||
{ name = "package.json", fg = "#ff5555", bold = true, prefix = " " },
|
||||
{ name = "package-lock.json", fg = "#ff5555", italic = true, prefix = " " },
|
||||
{ name = "composer.json", fg = "#ff79c6", bold = true, prefix = " " },
|
||||
{ name = "Cargo.toml", fg = "#ff7043", bold = true, prefix = " " },
|
||||
|
||||
# Documentation
|
||||
{ name = "*.{md,mdx}", fg = "#f1fa8c", italic = true, prefix = " " },
|
||||
{ name = "*.rst", fg = "#f1fa8c", italic = true, prefix = " " },
|
||||
{ name = "*.pdf", fg = "#ff5555", bold = true, prefix = " " },
|
||||
{ name = "LICENSE*", fg = "#50fa7b", bold = true, prefix = " " },
|
||||
{ name = "README*", fg = "#50fa7b", bold = true, prefix = " " },
|
||||
|
||||
# Media with size categories
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 1MB", fg = "#8be9fd", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 10MB", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "> 10MB", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Video files with duration indicator
|
||||
{ name = "*.{mp4,mkv}", duration = "< 10:00", fg = "#bd93f9", prefix = " " },
|
||||
{ name = "*.{mp4,mkv}", duration = "< 1:00:00", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{mp4,mkv}", duration = "> 1:00:00", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Archives with compression ratio
|
||||
{ name = "*.{zip,gz,tar}", ratio = "< 0.5", fg = "#50fa7b", prefix = " " },
|
||||
{ name = "*.{zip,gz,tar}", ratio = "< 0.7", fg = "#f1fa8c", prefix = " " },
|
||||
{ name = "*.{zip,gz,tar}", ratio = "> 0.7", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Special Directories
|
||||
{ name = "node_modules", fg = "#6272a4", prefix = " " },
|
||||
{ name = ".git", fg = "#ff5555", prefix = " " },
|
||||
{ name = ".github", fg = "#bd93f9", prefix = " " },
|
||||
{ name = "dist", fg = "#6272a4", prefix = " " },
|
||||
{ name = "build", fg = "#6272a4", prefix = " " },
|
||||
|
||||
# Additional file types
|
||||
# Audio files
|
||||
{ name = "*.{mp3,flac,m4a,wav,ogg}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
|
||||
# Font files
|
||||
{ name = "*.{ttf,otf,woff,woff2}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
|
||||
# Database files
|
||||
{ name = "*.{sql,sqlite,db}", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
|
||||
# Shell scripts
|
||||
{ name = "*.{sh,bash,zsh,fish}", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
|
||||
# Virtual environments
|
||||
{ name = "venv", fg = "#6272a4", prefix = " " },
|
||||
{ name = ".env", fg = "#50fa7b", prefix = " " },
|
||||
|
||||
# Container files
|
||||
{ name = "*.dockerfile", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
{ name = "docker-compose*.{yml,yaml}", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
|
||||
# Security files
|
||||
{ name = "*.{pem,crt,ca,key}", fg = "#ff5555", bold = true, prefix = " " },
|
||||
|
||||
# Improved size-based rules for media
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 100KB", fg = "#8be9fd", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 1MB", fg = "#bd93f9", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 10MB", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "> 10MB", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Default Fallbacks
|
||||
{ name = "*", fg = "#f8f8f2" },
|
||||
{ name = "*/", fg = "#bd93f9", bold = true, prefix = " " },
|
||||
|
||||
# Additional Development Files
|
||||
{ name = "*.{proto}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
{ name = "*.{graphql,gql}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
{ name = "*.{tf,tfvars}", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
|
||||
# Container and Cloud
|
||||
{ name = "*.{yaml,yml}", pattern = "^k8s|^kubernetes", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
{ name = "*.{yaml,yml}", pattern = "^helm", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
|
||||
# Data Files
|
||||
{ name = "*.{csv,tsv}", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
{ name = "*.{parquet,avro}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
|
||||
# Size-based rules for documents
|
||||
{ name = "*.{pdf,epub,mobi}", size = "< 1MB", fg = "#8be9fd", prefix = " " },
|
||||
{ name = "*.{pdf,epub,mobi}", size = "< 10MB", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{pdf,epub,mobi}", size = "> 10MB", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Additional Development Files
|
||||
{ name = "*.{sol}", fg = "#bd93f9", italic = true, prefix = " " }, # Solidity files
|
||||
{ name = "*.{ex,exs}", fg = "#bd93f9", italic = true, prefix = " " }, # Elixir files
|
||||
{ name = "*.{kt,kts}", fg = "#ff79c6", italic = true, prefix = " " }, # Kotlin files
|
||||
{ name = "*.{swift}", fg = "#ff5555", italic = true, prefix = " " }, # Swift files
|
||||
|
||||
# Config Files
|
||||
{ name = "*.{nginx,nginx.conf}", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
{ name = "*{webpack}*", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
|
||||
# ML/Data Science
|
||||
{ name = "*.{ipynb}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
{ name = "*.{pkl,pickle}", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
|
||||
# 3D/Graphics
|
||||
{ name = "*.{blend}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
{ name = "*.{fbx,obj,stl}", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
|
||||
# More granular size-based rules for media files
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 50KB", fg = "#8be9fd", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 500KB", fg = "#bd93f9", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 2MB", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 20MB", fg = "#ff7043", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "> 20MB", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Size categories for video files
|
||||
{ name = "*.{mp4,mkv,avi,mov}", size = "< 100MB", fg = "#8be9fd", prefix = " " },
|
||||
{ name = "*.{mp4,mkv,avi,mov}", size = "< 1GB", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{mp4,mkv,avi,mov}", size = "> 1GB", fg = "#ff5555", prefix = " " },
|
||||
]
|
||||
|
||||
# Keybindings
|
||||
[keys]
|
||||
# Visual key hints
|
||||
show_hints = true
|
||||
hint_style = { fg = "#6272a4", bg = "#44475a", italic = true }
|
||||
|
||||
# Command palette
|
||||
command_palette = { bg = "#282a36", fg = "#f8f8f2", selected_bg = "#44475a", selected_fg = "#f8f8f2", border = "#bd93f9" }
|
||||
|
||||
# Preview
|
||||
[preview]
|
||||
tab_size = 2
|
||||
max_width = 120
|
||||
max_height = 60
|
||||
cache_dir = "/tmp/yazi"
|
||||
|
||||
[preview.image]
|
||||
enabled = true
|
||||
format = "rgb"
|
||||
max_width = 1920
|
||||
max_height = 1080
|
||||
quality = 90
|
||||
animate = true
|
||||
cache = true
|
||||
|
||||
[preview.preview_service]
|
||||
image = "ueberzug"
|
||||
video = "ffmpegthumbnailer"
|
||||
pdf = "pdftoppm"
|
||||
epub = "epub-thumbnailer"
|
||||
office = "libreoffice --headless --convert-to pdf"
|
||||
markdown = "glow"
|
||||
|
||||
[preview.syntax]
|
||||
theme = "Dracula"
|
||||
background = "#282a36"
|
||||
|
||||
# Opener
|
||||
[opener]
|
||||
edit = [
|
||||
{ exec = 'nvim "$@"', desc = "Edit with Neovim" },
|
||||
{ exec = 'code "$@"', desc = "Edit with VS Code" }
|
||||
]
|
||||
open = [
|
||||
{ exec = 'xdg-open "$@"', desc = "Open with system default" },
|
||||
{ exec = 'firefox "$@"', desc = "Open in Firefox" }
|
||||
]
|
||||
reveal = [
|
||||
{ exec = 'nautilus "$@"', desc = "Reveal in file manager" }
|
||||
]
|
||||
|
||||
# Enhanced preview features
|
||||
max_preview_size = 10485760 # 10MB limit for preview
|
||||
scroll_offset = 5
|
||||
scroll_smooth = true
|
||||
5
yazi/package.toml
Normal file
5
yazi/package.toml
Normal file
@@ -0,0 +1,5 @@
|
||||
[plugin]
|
||||
deps = [{ use = "yazi-rs/plugins:git", rev = "7afba3a" }, { use = "yazi-rs/plugins:diff", rev = "7afba3a" }]
|
||||
|
||||
[flavor]
|
||||
deps = []
|
||||
4
yazi/theme.toml
Normal file
4
yazi/theme.toml
Normal file
@@ -0,0 +1,4 @@
|
||||
[flavor]
|
||||
dark = "dracula"
|
||||
use = "dracula"
|
||||
|
||||
2
yazi/yazi.toml
Normal file
2
yazi/yazi.toml
Normal file
@@ -0,0 +1,2 @@
|
||||
[manager]
|
||||
ratio = [2,3,3]
|
||||
21
zed/keymap.json
Normal file
21
zed/keymap.json
Normal file
@@ -0,0 +1,21 @@
|
||||
// Zed keymap
|
||||
//
|
||||
// For information on binding keys, see the Zed
|
||||
// documentation: https://zed.dev/docs/key-bindings
|
||||
//
|
||||
// To see the default key bindings run `zed: open default keymap`
|
||||
// from the command palette.
|
||||
[
|
||||
{
|
||||
"context": "Workspace",
|
||||
"bindings": {
|
||||
"space space": "file_finder::Toggle"
|
||||
}
|
||||
},
|
||||
{
|
||||
"context": "Editor",
|
||||
"bindings": {
|
||||
// "j k": ["workspace::SendKeystrokes", "escape"]
|
||||
}
|
||||
}
|
||||
]
|
||||
18
zed/settings.json
Normal file
18
zed/settings.json
Normal file
@@ -0,0 +1,18 @@
|
||||
// Zed settings
|
||||
//
|
||||
// For information on how to configure Zed, see the Zed
|
||||
// documentation: https://zed.dev/docs/configuring-zed
|
||||
//
|
||||
// To see all of Zed's default settings without changing your
|
||||
// custom settings, run `zed: open default settings` from the
|
||||
// command palette (cmd-shift-p / ctrl-shift-p)
|
||||
{
|
||||
"vim_mode": true,
|
||||
"ui_font_size": 16,
|
||||
"buffer_font_size": 14,
|
||||
"theme": {
|
||||
"mode": "system",
|
||||
"light": "Dracula",
|
||||
"dark": "One Dark"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user