diff options
Diffstat (limited to '.config')
46 files changed, 2425 insertions, 0 deletions
diff --git a/.config/btop/btop.conf b/.config/btop/btop.conf new file mode 100644 index 0000000..e26637c --- /dev/null +++ b/.config/btop/btop.conf @@ -0,0 +1,266 @@ +#? Config file for btop v. 1.4.5 + +#* 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 = "everpuccin" + +#* 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 = True + +#* Rounded corners on boxes, is ignored if TTY mode is ON. +rounded_corners = False + +#* Use terminal synchronized output sequences to reduce flickering on supported terminals. +terminal_sync = 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 proc net" + +#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. +update_ms = 2000 + +#* 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 = "cpu direct" + +#* 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 + +#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo. +show_cpu_watts = 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 + +#* How to calculate CPU frequency, available values: "first", "range", "lowest", "highest" and "average". +freq_mode = "first" + +#* 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 " ". +#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", 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 = "" + +#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes. +base_10_bitrate = "Auto" + +#* 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 + +#* Measure PCIe throughput on AMD cards, may impact performance on certain cards. +rsmi_measure_pcie_speeds = True + +#* Horizontally mirror the GPU graph. +gpu_mirror_graph = True + +#* Set which GPU vendors to show. Available values are "nvidia amd intel" +shown_gpus = "nvidia amd intel" + +#* 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 = "" diff --git a/.config/btop/btop/btop.conf b/.config/btop/btop/btop.conf new file mode 100755 index 0000000..6df9566 --- /dev/null +++ b/.config/btop/btop/btop.conf @@ -0,0 +1,254 @@ +#? Config file for btop v. 1.4.3 + +#* 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 = "everpuccin" + +#* 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 = True + +#* Rounded corners on boxes, is ignored if TTY mode is ON. +rounded_corners = False + +#* 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 proc net" + +#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. +update_ms = 2000 + +#* 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 = "cpu direct" + +#* 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 = "" + +#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes. +base_10_bitrate = "Auto" + +#* 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 + +#* Measure PCIe throughput on AMD cards, may impact performance on certain cards. +rsmi_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 = "" diff --git a/.config/btop/btop/themes/everpuccin.theme b/.config/btop/btop/themes/everpuccin.theme new file mode 100755 index 0000000..39660d2 --- /dev/null +++ b/.config/btop/btop/themes/everpuccin.theme @@ -0,0 +1,91 @@ +# All graphs and meters can be gradients +# For single color graphs leave "mid" and "end" variable empty. +# Use "start" and "end" variables for two color gradient +# Use "start", "mid" and "end" for three color gradient + +# Main background, empty for terminal default, need to be empty if you want transparent background +theme[main_bg]="#141515" + +# Main text color +theme[main_fg]="#f4decd" + +# Title color for boxes +theme[title]="#f4decd" + +# Highlight color for keyboard shortcuts +theme[hi_fg]="#f16e65" + +# Background color of selected items +theme[selected_bg]="#1e1f1e" + +# Foreground color of selected items +theme[selected_fg]="#d9cdb5" + +# Color of inactive/disabled text +theme[inactive_fg]="#3b403c" + +# Color of text appearing on top of graphs, i.e uptime and current network graph scaling +theme[graph_text]="#f4decd" + +# Misc colors for processes box including mini cpu graphs, details memory graph and details status text +theme[proc_misc]="#7ec97e" + +# Cpu box outline color +theme[cpu_box]="#f16e65" + +# Memory/disks box outline color +theme[mem_box]="#ef934d" + +# Net up/down box outline color +theme[net_box]="#7ec97e" + +# Processes box outline color +theme[proc_box]="#71b4d6" + +# Box divider line and small boxes line color +theme[div_line]="#3b403c" + +# Temperature graph colors +theme[temp_start]="#7ec97e" +theme[temp_mid]="#efbf71" +theme[temp_end]="#f16e65" + +# CPU graph colors +theme[cpu_start]="#7ec97e" +theme[cpu_mid]="#efbf71" +theme[cpu_end]="#f16e65" + +# Mem/Disk free meter +theme[free_start]="#f16e65" +theme[free_mid]="#efbf71" +theme[free_end]="#7ec97e" + +# Mem/Disk cached meter +theme[cached_start]="#71b4d6" +theme[cached_mid]="#7ec9a3" +theme[cached_end]="#7ec97e" + +# Mem/Disk available meter +theme[available_start]="#f16e65" +theme[available_mid]="#efbf71" +theme[available_end]="#7ec97e" + +# Mem/Disk used meter +theme[used_start]="#7ec97e" +theme[used_mid]="#efbf71" +theme[used_end]="#f16e65" + +# Download graph colors +theme[download_start]="#7ec97e" +theme[download_mid]="#7ec9a3" +theme[download_end]="#71b4d6" + +# Upload graph colors +theme[upload_start]="#efbf71" +theme[upload_mid]="#ef934d" +theme[upload_end]="#f16e65" + +# Process box color gradient for threads, mem and cpu usage +theme[process_start]="#7ec97e" +theme[process_mid]="#ef968f" +theme[process_end]="#f16e65" diff --git a/.config/btop/themes/everpuccin.theme b/.config/btop/themes/everpuccin.theme new file mode 100755 index 0000000..39660d2 --- /dev/null +++ b/.config/btop/themes/everpuccin.theme @@ -0,0 +1,91 @@ +# All graphs and meters can be gradients +# For single color graphs leave "mid" and "end" variable empty. +# Use "start" and "end" variables for two color gradient +# Use "start", "mid" and "end" for three color gradient + +# Main background, empty for terminal default, need to be empty if you want transparent background +theme[main_bg]="#141515" + +# Main text color +theme[main_fg]="#f4decd" + +# Title color for boxes +theme[title]="#f4decd" + +# Highlight color for keyboard shortcuts +theme[hi_fg]="#f16e65" + +# Background color of selected items +theme[selected_bg]="#1e1f1e" + +# Foreground color of selected items +theme[selected_fg]="#d9cdb5" + +# Color of inactive/disabled text +theme[inactive_fg]="#3b403c" + +# Color of text appearing on top of graphs, i.e uptime and current network graph scaling +theme[graph_text]="#f4decd" + +# Misc colors for processes box including mini cpu graphs, details memory graph and details status text +theme[proc_misc]="#7ec97e" + +# Cpu box outline color +theme[cpu_box]="#f16e65" + +# Memory/disks box outline color +theme[mem_box]="#ef934d" + +# Net up/down box outline color +theme[net_box]="#7ec97e" + +# Processes box outline color +theme[proc_box]="#71b4d6" + +# Box divider line and small boxes line color +theme[div_line]="#3b403c" + +# Temperature graph colors +theme[temp_start]="#7ec97e" +theme[temp_mid]="#efbf71" +theme[temp_end]="#f16e65" + +# CPU graph colors +theme[cpu_start]="#7ec97e" +theme[cpu_mid]="#efbf71" +theme[cpu_end]="#f16e65" + +# Mem/Disk free meter +theme[free_start]="#f16e65" +theme[free_mid]="#efbf71" +theme[free_end]="#7ec97e" + +# Mem/Disk cached meter +theme[cached_start]="#71b4d6" +theme[cached_mid]="#7ec9a3" +theme[cached_end]="#7ec97e" + +# Mem/Disk available meter +theme[available_start]="#f16e65" +theme[available_mid]="#efbf71" +theme[available_end]="#7ec97e" + +# Mem/Disk used meter +theme[used_start]="#7ec97e" +theme[used_mid]="#efbf71" +theme[used_end]="#f16e65" + +# Download graph colors +theme[download_start]="#7ec97e" +theme[download_mid]="#7ec9a3" +theme[download_end]="#71b4d6" + +# Upload graph colors +theme[upload_start]="#efbf71" +theme[upload_mid]="#ef934d" +theme[upload_end]="#f16e65" + +# Process box color gradient for threads, mem and cpu usage +theme[process_start]="#7ec97e" +theme[process_mid]="#ef968f" +theme[process_end]="#f16e65" diff --git a/.config/fastfetch/config.jsonc b/.config/fastfetch/config.jsonc new file mode 100755 index 0000000..d655969 --- /dev/null +++ b/.config/fastfetch/config.jsonc @@ -0,0 +1,69 @@ +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "type": "auto", + //"source": "~/.config/fastfetch/gentoo.png", + "source": "~/.config/fastfetch/ep-wb-icon-trnsp.png", + //"source": "~/.config/fastfetch/pluto-trnsp.png", + //"source": "~/.config/fastfetch/ganymede2.png", + "width": 15, + "height": 7, + "padding": { + "top": 0, + "bottom": 0, + "right": 3, + "left": 2, + }, + }, + "display": { + "separator": " › ", + "color": { + "title": "light_red", + "format": "{host-name}", + }, + }, + "modules": [ + { + "type": "title", + "key": " ", + "keyColor": "red", + "format": "{#38}{2}", + }, + { + "type": "os", + "key": " ", + "keyColor": "yellow", + "format": "{name}", + }, + { + "type": "packages", + "format": "{}", + "key": " ", + "keyColor": "light_yellow", + }, + { + "type": "shell", + "key": ">_", + "keyColor": "green", + "format": "{}", + }, + { + "type": "terminal", + "key": " ", + "keyColor": "cyan", + "format": "{}", + }, + { + "type": "wm", + "key": " ", + "keyColor": "blue", + "format": "{}", + }, + { + "type": "memory", + "key": " ", + "keyColor": "magenta", + "format": "{}", + }, + ] +} diff --git a/.config/fastfetch/ep-wb-icon-trnsp.png b/.config/fastfetch/ep-wb-icon-trnsp.png Binary files differnew file mode 100755 index 0000000..1d4bed9 --- /dev/null +++ b/.config/fastfetch/ep-wb-icon-trnsp.png diff --git a/.config/fastfetch/ganymede.png b/.config/fastfetch/ganymede.png Binary files differnew file mode 100755 index 0000000..6d241ec --- /dev/null +++ b/.config/fastfetch/ganymede.png diff --git a/.config/fastfetch/ganymede2.png b/.config/fastfetch/ganymede2.png Binary files differnew file mode 100755 index 0000000..52f0fab --- /dev/null +++ b/.config/fastfetch/ganymede2.png diff --git a/.config/fastfetch/gentoo.png b/.config/fastfetch/gentoo.png Binary files differnew file mode 100755 index 0000000..c4114f5 --- /dev/null +++ b/.config/fastfetch/gentoo.png diff --git a/.config/fastfetch/pluto-trnsp.png b/.config/fastfetch/pluto-trnsp.png Binary files differnew file mode 100755 index 0000000..13ba452 --- /dev/null +++ b/.config/fastfetch/pluto-trnsp.png diff --git a/.config/fish/config.fish b/.config/fish/config.fish new file mode 100755 index 0000000..4279e25 --- /dev/null +++ b/.config/fish/config.fish @@ -0,0 +1,27 @@ +if status is-interactive + # commands to run in interactive sessions can go here + + # aliases + alias nv='nvim' + alias ls='eza --icons=always' + alias grep='grep --color=auto' + alias scsh='grim -g "$(slurp)" - | wl-copy' + alias ff='fastfetch' + alias dark='sudo ddcutil setvcp 10 5 --display 2 & sudo ddcutil setvcp 10 5 --display 1;' + alias bright='sudo ddcutil setvcp 10 100 --display 2 & sudo ddcutil setvcp 10 100 --display 1;' + alias kys='exit' +end + + + +# yazi +function y + set tmp (mktemp -t "yazi-cwd.XXXXXX") + yazi --cwd-file="$tmp" $argv + if test -s "$tmp" + if test -n (cat -- "$tmp") -a (cat -- "$tmp") != (pwd) + cd -- (cat -- "$tmp") + end + end + rm -f -- "$tmp" +end diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini new file mode 100755 index 0000000..f9dedaa --- /dev/null +++ b/.config/foot/foot.ini @@ -0,0 +1,67 @@ +term=foot +title=foot + +#font=Cartograph Mono CF:size=14 +#font=ProFont IIx Nerd Font:size=12 +#font=CaskaydiaCove NF:size=14 +#font=MapleMono NF Medium:size=14 +#font=IBM EGA 8x14:size=19 +#font=Departure Mono:size=14 +#font=Terminess Nerd Font:size=14 +#font=GohuFont 11 Nerd Font:size=13 +#font=GohuFont 14 Nerd Font:size=13 +#font=JetBrains Mono NF:size=14 +#font=IBM VGA 8x16:size=19 +#font=IBM Plex Mono:size=14 +#font=NotoMono NF:size=14 +#font=Monocraft:size=13 +font=B612 Mono:size=14 +font=RobotoMono Nerd Font:size=14 + +pad=8x8 + +dpi-aware=yes + +[cursor] +# style=block +# blink=no +# blink-rate=500 +# beam-thickness=1.5 +# underline-thickness=<font underline thickness> + +[colors] +alpha=1 +background=0f0f0f +foreground=f4decd + +# black +regular0 = 1e1f1e +bright0 = 3b403c + +# red +regular1 = f16e65 +bright1 = ef968f + +# green +regular2 = 7ec97e +bright2 = a4daa4 + +# yellow +regular3 = ef934d +bright3 = f4b585 + +# blue +regular4 = 71b4d6 +bright4 = b0d4e8 + +# magenta +regular5 = e28dc6 +bright5 = ebadd6 + +# cyan +regular6 = 7ec9a3 +bright6 = abd4bf + +# white +regular7 = d9cdb5 +bright7 = f4decd diff --git a/.config/fsel/config.toml b/.config/fsel/config.toml new file mode 100644 index 0000000..40cbfda --- /dev/null +++ b/.config/fsel/config.toml @@ -0,0 +1,29 @@ +# Default values +highlight_color = "Yellow" +cursor = "█" +terminal_launcher = "alacritty -e" +hard_stop = false + +# UI Customization +rounded_borders = false + +# Border Colors (individual colors for each panel) +main_border_color = "White" # Border color for the main info panel (top) +apps_border_color = "White" # Border color for the apps list panel (middle) +input_border_color = "White" # Border color for the input panel (bottom) + +# Text Colors (non-highlighted text in each panel) +main_text_color = "White" # Text color for the main info panel +apps_text_color = "White" # Text color for the apps list +input_text_color = "White" # Text color for the input field + +# Fancy Mode - Show selected app info in panel titles +fancy_mode = true # When true: "Apps" becomes selected app name, "Gyr" becomes app description + +# Header title color (for panel border titles) +header_title_color = "Green" # Color for all panel header titles + +# Layout Configuration (percentages and sizes) +title_panel_height_percent = 30 # Height of top panel as percentage (10-70%) +input_panel_height = 3 # Height of input panel in lines (1-10) +# Note: Apps panel gets the remaining space automatically diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua new file mode 100644 index 0000000..c32ed4e --- /dev/null +++ b/.config/nvim/init.lua @@ -0,0 +1,4 @@ +require("config.keymaps") +require("config.options") +require("config.lazy") +require("caelus.init").colorscheme() diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json new file mode 100644 index 0000000..3ccc823 --- /dev/null +++ b/.config/nvim/lazy-lock.json @@ -0,0 +1,29 @@ +{ + "cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" }, + "harpoon": { "branch": "harpoon2", "commit": "87b1a3506211538f460786c23f98ec63ad9af4e5" }, + "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, + "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "21c2a84ce368e99b18f52ab348c4c02c32c02fcf" }, + "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" }, + "mini.nvim": { "branch": "main", "commit": "4ca988557786c9a4e41d5e5b6e31b4c9d7379f53" }, + "nim.nvim": { "branch": "master", "commit": "9ee8fdc04ad3d7fcbd9679e0be3477543f17b9d9" }, + "nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" }, + "nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, + "nvim-highlight-colors": { "branch": "main", "commit": "e2cb22089cc2358b2b995c09578224f142de6039" }, + "nvim-lint": { "branch": "master", "commit": "bcd1a44edbea8cd473af7e7582d3f7ffc60d8e81" }, + "nvim-lsp-file-operations": { "branch": "master", "commit": "b9c795d3973e8eec22706af14959bc60c579e771" }, + "nvim-lspconfig": { "branch": "master", "commit": "44acfe887d4056f704ccc4f17513ed41c9e2b2e6" }, + "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, + "nvim-web-devicons": { "branch": "master", "commit": "746ffbb17975ebd6c40142362eee1b0249969c5c" }, + "oil.nvim": { "branch": "master", "commit": "f55b25e493a7df76371cfadd0ded5004cb9cd48a" }, + "org-bullets.nvim": { "branch": "main", "commit": "21437cfa99c70f2c18977bffd423f912a7b832ea" }, + "orgmode": { "branch": "master", "commit": "26aa4fa26c570da6eb6798fb1b8df364204c3d99" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, + "render-markdown.nvim": { "branch": "main", "commit": "48b4175dbca8439d30c1f52231cbe5a712c8f9d9" }, + "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, + "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, + "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, + "undotree": { "branch": "main", "commit": "f68aed28c8ff1294b012dfadaced2084dc045870" }, + "v-vim": { "branch": "master", "commit": "1dc1388bafb89072f8349dbd96f9462ae22237cb" } +} diff --git a/.config/nvim/lua/caelus/init.lua b/.config/nvim/lua/caelus/init.lua new file mode 100644 index 0000000..3aa029e --- /dev/null +++ b/.config/nvim/lua/caelus/init.lua @@ -0,0 +1,88 @@ +local M = {}; + +local colors = { + bg = "#0f0f0f", + gray0 = "#141514"; + gray1 = "#1e1f1e"; + gray2 = "#272a28"; + gray3 = "#3b403c"; + gray4 = "#585f5b"; + gray5 = "#6c756f"; + gray6 = "#888e7b"; + gray7 = "#9a9c8b"; + gray8 = "#b6b69a"; + gray9 = "#d9cdb5"; + gray10 = "#e3d6c9"; + fg = "#f4decd", + red = "#f16e65"; + lred = "#ef968f"; + orange = "#ef934d"; + yellow = "#efbf71"; + green = "#7ec97e"; + lgreen = "#a4daa4"; + cyan = "#7ec9a3"; + lcyan = "#abd4bf"; + blue = "#71b4d6"; + lblue = "#b0d4e8"; + magenta = "#e28dc6"; + lmagenta = "#ebadd6"; +} + +function M.colorscheme() + vim.cmd("highlight clear") + vim.cmd("syntax reset") + + vim.o.background = "dark"; + vim.g.colors_name = "caelus"; + + local set = vim.api.nvim_set_hl + + -- ui + set(0, "Normal", { fg = colors.fg, bg = colors.bg }) + set(0, "NormalFloat", { fg = colors.fg, bg = colors.bg }) + set(0, "FloatBorder", { fg = colors.fg, bg = colors.bg }) + set(0, "CursorLine", { bg = colors.gray2 }) + set(0, "Visual", { bg = colors.gray3 }) + set(0, "Search", { fg = colors.bg, bg = colors.orange }) + set(0, "IncSearch", { fg = colors.bg, bg = colors.orange }) + set(0, "StatusLine", { bg = colors.gray2 }) + set(0, "StatusLineNC", { bg = colors.orange }) + set(0, "VertSplit", { fg = colors.gray8 }) + set(0, "WinSeparator", { fg = colors.gray8 }) + set(0, "LineNr", { fg = colors.gray6 }) + set(0, "CursorLineNr", { fg = colors.orange, bold = true }) + set(0, "SignColumn", { bg = colors.bg }) + set(0, "Folded", { fg = colors.gray8, bg = colors.gray3 }) + + -- popup + set(0, "Pmenu", { fg = colors.fg, bg = colors.gray10 }) + set(0, "PmenuSel", { fg = colors.bg, bg = colors.orange }) + set(0, "PmenuSbar", { bg = colors.gray10 }) + set(0, "PmenuThumb", { bg = colors.orange }) + + -- syntax + set(0, "Comment", { fg = colors.gray8, italic = true }) + set(0, "Constant", { fg = colors.magenta }) + set(0, "String", { fg = colors.green }) + set(0, "Identifier", { fg = colors.blue }) + set(0, "Function", { fg = colors.yellow }) + set(0, "Statement", { fg = colors.red }) + set(0, "Type", { fg = colors.cyan, bold = true }) + set(0, "Special", { fg = colors.yellow }) + set(0, "Error", { fg = colors.red, bold = true }) + set(0, "Keyword", { fg = colors.red }) + set(0, "Variable", { fg = colors.fg }) + set(0, "TSKeyword", { fg = colors.red }) + set(0, "TSFunction", { fg = colors.yellow }) + set(0, "TSVariable", { fg = colors.fg }) + set(0, "TSType", { fg = colors.cyan }) + + if package.loaded['lualine'] then + require('lualine').setup({ + options = { theme = 'caelus' }, + }) + end + +end + +return M diff --git a/.config/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua new file mode 100755 index 0000000..a6a9a9e --- /dev/null +++ b/.config/nvim/lua/config/keymaps.lua @@ -0,0 +1,11 @@ +localopts = { noremap = true, silent = true } + +vim.g.mapleader = " " +vim.g.maplocalleader = " " + +vim.keymap.set({"n", "v"}, "y", '"+y', { noremap = true, silent = true }) + +vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv", { desc = "moves lines down in visual selection" }) +vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv", { desc = "moves lines up in visual selection" }) + +vim.keymap.set("n", "<leader>f", vim.lsp.buf.format) diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua new file mode 100644 index 0000000..c381a4b --- /dev/null +++ b/.config/nvim/lua/config/lazy.lua @@ -0,0 +1,35 @@ +-- Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +-- Make sure to setup `mapleader` and `maplocalleader` before +-- loading lazy.nvim so that mappings are correct. +-- This is also a good place to setup other settings (vim.opt) +vim.g.mapleader = " " +vim.g.maplocalleader = "\\" + +-- Setup lazy.nvim +require("lazy").setup({ + spec = { + -- import your plugins + { import = "plugins" }, + }, + -- Configure any other settings here. See the documentation for more details. + -- colorscheme that will be used when installing plugins. + install = { colorscheme = { "habamax" } }, + -- automatically check for plugin updates + checker = { enabled = true }, +}) diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua new file mode 100755 index 0000000..03cdf88 --- /dev/null +++ b/.config/nvim/lua/config/options.lua @@ -0,0 +1,40 @@ +vim.cmd("let g:netrw_banner = 0") +vim.cmd("set termguicolors") + +vim.opt.guicursor = "" +vim.opt.nu = true +vim.opt.relativenumber = true + +vim.opt.tabstop = 2 +vim.opt.softtabstop = 2 +vim.opt.shiftwidth = 2 +vim.opt.expandtab = true +vim.opt.autoindent = true +vim.opt.smartindent = true +vim.opt.wrap = true + +vim.opt.swapfile = false +vim.opt.backup = false +vim.opt.undofile = true + +vim.opt.incsearch = true +vim.opt.inccommand = "split" +vim.opt.ignorecase = true +vim.opt.smartcase = true + +vim.opt.termguicolors = true +vim.opt.background = "dark" +vim.opt.scrolloff = 8 +vim.opt.signcolumn = "yes" + +vim.opt.backspace = { "start", "eol", "indent" } + +vim.opt.splitright = true +vim.opt.splitbelow = true + +vim.opt.hlsearch = true + +vim.opt.mouse = "a" +vim.g.editorconfig = true + +vim.g.markdown_folding = 1 diff --git a/.config/nvim/lua/plugins/auto-pairs.lua b/.config/nvim/lua/plugins/auto-pairs.lua new file mode 100755 index 0000000..db98da2 --- /dev/null +++ b/.config/nvim/lua/plugins/auto-pairs.lua @@ -0,0 +1,24 @@ +return { + "windwp/nvim-autopairs", + event = { "InsertEnter" }, + dependencies = { + "hrsh7th/nvim-cmp", + }, + config = function() + local autopairs = require("nvim-autopairs") + + autopairs.setup({ + check_ts = true, + ts_config = { + lua = { "string" }, + javascript = { "template_string" }, + java = false, + }, + }) + + local cmp_autopairs = require("nvim-autopairs.completion.cmp") + local cmp = require("cmp") + + cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done()) + end, +} diff --git a/.config/nvim/lua/plugins/colorizer.lua b/.config/nvim/lua/plugins/colorizer.lua new file mode 100755 index 0000000..dee6b43 --- /dev/null +++ b/.config/nvim/lua/plugins/colorizer.lua @@ -0,0 +1,6 @@ +return { + "norcalli/nvim-colorizer.lua", + config = function() + require("colorizer").setup() + end, +} diff --git a/.config/nvim/lua/plugins/eslint.lua b/.config/nvim/lua/plugins/eslint.lua new file mode 100755 index 0000000..ba74b8a --- /dev/null +++ b/.config/nvim/lua/plugins/eslint.lua @@ -0,0 +1,41 @@ +return { + "mfussenegger/nvim-lint", + event = { "BufReadPre", "BufNewFile" }, + config = function() + local lint = require("lint") + local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true }) + local eslint = lint.linters.eslint_d + + -- if Eslint error configuration not found : change MasonInstall eslint@version or npm i -g eslint at a specific version + lint.linters_by_ft = { + javascript = { "eslint_d" }, + typescript = { "eslint_d" }, + javascriptreact = { "eslint_d" }, + typescriptreact = { "eslint_d" }, + svelte = { "eslint_d" }, + python = { "pylint" }, + } + + eslint.args = { + "--no-warn-ignored", + "--format", + "json", + "--stdin", + "--stdin-filename", + function() + return vim.fn.expand("%:p") + end, + } + + vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, { + group = lint_augroup, + callback = function() + lint.try_lint() + end, + }) + + vim.keymap.set("n", "<leader>l", function() + lint.try_lint() + end, { desc = "Trigger linting for current file" }) + end, +} diff --git a/.config/nvim/lua/plugins/everpuccin.lua.bkp b/.config/nvim/lua/plugins/everpuccin.lua.bkp new file mode 100644 index 0000000..876c20a --- /dev/null +++ b/.config/nvim/lua/plugins/everpuccin.lua.bkp @@ -0,0 +1,330 @@ +return { + "catppuccin/nvim", + name = "catppuccin", + lazy = false, + priority = 1000, + config = function() + require("catppuccin").setup({ + background = { + light = "latte", + dark = "mocha", + }, + color_overrides = { + macchiato = { + rosewater = "#ef958f", + flamingo = "#ef958f", + red = "#f16e65", + maroon = "#f16e65", + pink = "#ebadd6", + mauve = "#e28dc6", + peach = "#ef944d", + yellow = "#efbe71", + green = "#7dc97d", + teal = "#a4daa4", + sky = "#7dc9a3", + sapphire = "#abd4bf", + blue = "#b0d4e8", + lavender = "#72b4d6", + text = "#F9EEE5", + subtext1 = "#E3DAC9", + subtext0 = "#D8CCB4", + overlay2 = "#B6B69A", + overlay1 = "#999C8B", + overlay0 = "#878E7A", + surface2 = "#6B746E", + surface1 = "#585F5A", + surface0 = "#3A3F3C", + crust = "#272A28", + mantle = "#1D1F1E", + base = "#131414", + none = "#0f0f0f", + }, + }, + transparent_background = true, + show_end_of_buffer = false, + integration_default = false, + integrations = { + barbecue = { dim_dirname = true, bold_basename = true, dim_context = false, alt_background = false }, + cmp = true, + gitsigns = true, + hop = true, + illuminate = { enabled = true }, + native_lsp = { enabled = true, inlay_hints = { background = true } }, + neogit = true, + neotree = true, + semantic_tokens = true, + treesitter = true, + treesitter_context = true, + vimwiki = true, + which_key = true, + }, + highlight_overrides = { + all = function(colors) + return { + CmpItemMenu = { fg = colors.surface2 }, + CursorLineNr = { fg = colors.text }, + FloatBorder = { bg = colors.base, fg = colors.surface0 }, + GitSignsChange = { fg = colors.peach }, + LineNr = { fg = colors.overlay0 }, + LspInfoBorder = { link = "FloatBorder" }, + NeoTreeDirectoryIcon = { fg = colors.subtext1 }, + NeoTreeDirectoryName = { fg = colors.subtext1 }, + NeoTreeFloatBorder = { bg = colors.mantle, fg = colors.mantle }, + -- NeoTreeFloatBorder = { bg = "None" }, + NeoTreeGitConflict = { fg = colors.red }, + NeoTreeGitDeleted = { fg = colors.red }, + NeoTreeGitIgnored = { fg = colors.overlay0 }, + NeoTreeGitModified = { fg = colors.peach }, + NeoTreeGitStaged = { fg = colors.green }, + NeoTreeGitUnstaged = { fg = colors.red }, + NeoTreeGitUntracked = { fg = colors.green }, + NeoTreeIndent = { fg = colors.surface1 }, + NeoTreeNormal = { bg = colors.mantle }, + NeoTreeNormalNC = { bg = colors.mantle }, + NeoTreeRootName = { fg = colors.subtext1, style = { "bold" } }, + NeoTreeTabActive = { fg = colors.text, bg = colors.mantle }, + NeoTreeTabInactive = { fg = colors.surface2, bg = colors.crust }, + NeoTreeTabSeparatorActive = { fg = colors.mantle, bg = colors.mantle }, + NeoTreeTabSeparatorInactive = { fg = colors.crust, bg = colors.crust }, + NeoTreeWinSeparator = { fg = colors.base, bg = colors.base }, + NormalFloat = { bg = colors.base }, + Pmenu = { bg = colors.mantle, fg = "" }, + -- telescope prompt + TelescopePromptTitle = { fg = colors.mantle, bg = "#39fd9c", style = { "bold" } }, + TelescopePromptCounter = { fg = colors.red, style = { "bold" } }, + TelescopePromptBorder = { bg = colors.base }, + -- telescope results + TelescopeResultsTitle = { link = "TelescopePromptTitle" }, + TelescopeResultsBorder = { link = "TelescopePromptBorder" }, + -- telescope preview + TelescopePreviewTitle = { link = "TelescopePromptTitle" }, + TelescopePreviewBorder = { link = "TelescopePromptBorder" }, + VertSplit = { bg = colors.base, fg = colors.surface0 }, + WhichKeyFloat = { bg = colors.mantle }, + YankHighlight = { bg = colors.surface2 }, + FidgetTask = { fg = colors.subtext2 }, + FidgetTitle = { fg = colors.peach }, + + IblIndent = { fg = colors.surface0 }, + IblScope = { fg = colors.overlay0 }, + + Boolean = { fg = colors.mauve }, + Number = { fg = colors.mauve }, + Float = { fg = colors.mauve }, + + PreProc = { fg = colors.mauve }, + PreCondit = { fg = colors.mauve }, + Include = { fg = colors.mauve }, + Define = { fg = colors.mauve }, + Conditional = { fg = colors.red }, + Repeat = { fg = colors.red }, + Keyword = { fg = colors.red }, + Typedef = { fg = colors.red }, + Exception = { fg = colors.red }, + Statement = { fg = colors.red }, + + Error = { fg = colors.red }, + StorageClass = { fg = colors.peach }, + Tag = { fg = colors.peach }, + Label = { fg = colors.peach }, + Structure = { fg = colors.peach }, + Operator = { fg = colors.peach }, + Title = { fg = colors.peach }, + Special = { fg = colors.yellow }, + SpecialChar = { fg = colors.yellow }, + Type = { fg = colors.yellow, style = { "bold" } }, + Function = { fg = colors.green, style = { "bold" } }, + Delimiter = { fg = colors.subtext2 }, + Ignore = { fg = colors.subtext2 }, + Macro = { fg = colors.teal }, + + TSAnnotation = { fg = colors.mauve }, + TSAttribute = { fg = colors.mauve }, + TSBoolean = { fg = colors.mauve }, + TSCharacter = { fg = colors.teal }, + TSCharacterSpecial = { link = "SpecialChar" }, + TSComment = { link = "Comment" }, + TSConditional = { fg = colors.red }, + TSConstBuiltin = { fg = colors.mauve }, + TSConstMacro = { fg = colors.mauve }, + TSConstant = { fg = colors.text }, + TSConstructor = { fg = colors.green }, + TSDebug = { link = "Debug" }, + TSDefine = { link = "Define" }, + TSEnvironment = { link = "Macro" }, + TSEnvironmentName = { link = "Type" }, + TSError = { link = "Error" }, + TSException = { fg = colors.red }, + TSField = { fg = colors.blue }, + TSFloat = { fg = colors.mauve }, + TSFuncBuiltin = { fg = colors.green }, + TSFuncMacro = { fg = colors.green }, + TSFunction = { fg = colors.green }, + TSFunctionCall = { fg = colors.lavender }, + TSInclude = { fg = colors.red }, + TSKeyword = { fg = colors.red }, + TSKeywordFunction = { fg = colors.red }, + TSKeywordOperator = { fg = colors.peach }, + TSKeywordReturn = { fg = colors.red }, + TSLabel = { fg = colors.peach }, + TSLiteral = { link = "String" }, + TSMath = { fg = colors.blue }, + TSMethod = { fg = colors.green }, + TSMethodCall = { fg = colors.green }, + TSNamespace = { fg = colors.yellow }, + TSNone = { fg = colors.text }, + TSNumber = { fg = colors.mauve }, + TSOperator = { fg = colors.peach }, + TSParameter = { fg = colors.text }, + TSParameterReference = { fg = colors.text }, + TSPreProc = { link = "PreProc" }, + TSProperty = { fg = colors.blue }, + TSPunctBracket = { fg = colors.text }, + TSPunctDelimiter = { link = "Delimiter" }, + TSPunctSpecial = { fg = colors.blue }, + TSRepeat = { fg = colors.red }, + TSStorageClass = { fg = colors.peach }, + TSStorageClassLifetime = { fg = colors.peach }, + TSStrike = { fg = colors.subtext2 }, + TSString = { fg = colors.green }, + TSStringEscape = { fg = colors.mauve }, + TSStringRegex = { fg = colors.green }, + TSStringSpecial = { link = "SpecialChar" }, + TSSymbol = { fg = colors.text }, + TSTag = { fg = colors.peach }, + TSTagAttribute = { fg = colors.green }, + TSTagDelimiter = { fg = colors.green }, + TSText = { fg = colors.green }, + TSTextReference = { link = "Constant" }, + TSTitle = { link = "Title" }, + TSTodo = { link = "Todo" }, + TSType = { fg = colors.yellow, style = { "bold" } }, + TSTypeBuiltin = { fg = colors.yellow, style = { "bold" } }, + TSTypeDefinition = { fg = colors.yellow, style = { "bold" } }, + TSTypeQualifier = { fg = colors.peach, style = { "bold" } }, + TSURI = { fg = colors.blue }, + TSVariable = { fg = colors.text }, + TSVariableBuiltin = { fg = colors.mauve }, + + ["@annotation"] = { link = "TSAnnotation" }, + ["@attribute"] = { link = "TSAttribute" }, + ["@boolean"] = { link = "TSBoolean" }, + ["@character"] = { link = "TSCharacter" }, + ["@character.special"] = { link = "TSCharacterSpecial" }, + ["@comment"] = { link = "TSComment" }, + ["@conceal"] = { link = "Grey" }, + ["@conditional"] = { link = "TSConditional" }, + ["@constant"] = { link = "TSConstant" }, + ["@constant.builtin"] = { link = "TSConstBuiltin" }, + ["@constant.macro"] = { link = "TSConstMacro" }, + ["@constructor"] = { link = "TSConstructor" }, + ["@debug"] = { link = "TSDebug" }, + ["@define"] = { link = "TSDefine" }, + ["@error"] = { link = "TSError" }, + ["@exception"] = { link = "TSException" }, + ["@field"] = { link = "TSField" }, + ["@float"] = { link = "TSFloat" }, + ["@function"] = { link = "TSFunction" }, + ["@function.builtin"] = { link = "TSFuncBuiltin" }, + ["@function.call"] = { link = "TSFunctionCall" }, + ["@function.macro"] = { link = "TSFuncMacro" }, + ["@include"] = { link = "TSInclude" }, + ["@keyword"] = { link = "TSKeyword" }, + ["@keyword.function"] = { link = "TSKeywordFunction" }, + ["@keyword.operator"] = { link = "TSKeywordOperator" }, + ["@keyword.return"] = { link = "TSKeywordReturn" }, + ["@label"] = { link = "TSLabel" }, + ["@math"] = { link = "TSMath" }, + ["@method"] = { link = "TSMethod" }, + ["@method.call"] = { link = "TSMethodCall" }, + ["@namespace"] = { link = "TSNamespace" }, + ["@none"] = { link = "TSNone" }, + ["@number"] = { link = "TSNumber" }, + ["@operator"] = { link = "TSOperator" }, + ["@parameter"] = { link = "TSParameter" }, + ["@parameter.reference"] = { link = "TSParameterReference" }, + ["@preproc"] = { link = "TSPreProc" }, + ["@property"] = { link = "TSProperty" }, + ["@punctuation.bracket"] = { link = "TSPunctBracket" }, + ["@punctuation.delimiter"] = { link = "TSPunctDelimiter" }, + ["@punctuation.special"] = { link = "TSPunctSpecial" }, + ["@repeat"] = { link = "TSRepeat" }, + ["@storageclass"] = { link = "TSStorageClass" }, + ["@storageclass.lifetime"] = { link = "TSStorageClassLifetime" }, + ["@strike"] = { link = "TSStrike" }, + ["@string"] = { link = "TSString" }, + ["@string.escape"] = { link = "TSStringEscape" }, + ["@string.regex"] = { link = "TSStringRegex" }, + ["@string.special"] = { link = "TSStringSpecial" }, + ["@symbol"] = { link = "TSSymbol" }, + ["@tag"] = { link = "TSTag" }, + ["@tag.attribute"] = { link = "TSTagAttribute" }, + ["@tag.delimiter"] = { link = "TSTagDelimiter" }, + ["@text"] = { link = "TSText" }, + ["@text.danger"] = { link = "TSDanger" }, + ["@text.diff.add"] = { link = "diffAdded" }, + ["@text.diff.delete"] = { link = "diffRemoved" }, + ["@text.emphasis"] = { link = "TSEmphasis" }, + ["@text.environment"] = { link = "TSEnvironment" }, + ["@text.environment.name"] = { link = "TSEnvironmentName" }, + ["@text.literal"] = { link = "TSLiteral" }, + ["@text.math"] = { link = "TSMath" }, + ["@text.note"] = { link = "TSNote" }, + ["@text.reference"] = { link = "TSTextReference" }, + ["@text.strike"] = { link = "TSStrike" }, + ["@text.strong"] = { link = "TSStrong" }, + ["@text.title"] = { link = "TSTitle" }, + ["@text.todo"] = { link = "TSTodo" }, + ["@text.todo.checked"] = { link = "Green" }, + ["@text.todo.unchecked"] = { link = "Ignore" }, + ["@text.underline"] = { link = "TSUnderline" }, + ["@text.uri"] = { link = "TSURI" }, + ["@text.warning"] = { link = "TSWarning" }, + ["@todo"] = { link = "TSTodo" }, + ["@type"] = { link = "TSType" }, + ["@type.builtin"] = { link = "TSTypeBuiltin" }, + ["@type.definition"] = { link = "TSTypeDefinition" }, + ["@type.qualifier"] = { link = "TSTypeQualifier" }, + ["@uri"] = { link = "TSURI" }, + ["@variable"] = { link = "TSVariable" }, + ["@variable.builtin"] = { link = "TSVariableBuiltin" }, + + ["@lsp.type.class"] = { link = "TSType" }, + ["@lsp.type.comment"] = { link = "TSComment" }, + ["@lsp.type.decorator"] = { link = "TSFunction" }, + ["@lsp.type.enum"] = { link = "TSType" }, + ["@lsp.type.enumMember"] = { link = "TSProperty" }, + ["@lsp.type.events"] = { link = "TSLabel" }, + ["@lsp.type.function"] = { link = "TSFunction" }, + ["@lsp.type.interface"] = { link = "TSType" }, + ["@lsp.type.keyword"] = { link = "TSKeyword" }, + ["@lsp.type.macro"] = { link = "TSConstMacro" }, + ["@lsp.type.method"] = { link = "TSMethod" }, + ["@lsp.type.modifier"] = { link = "TSTypeQualifier" }, + ["@lsp.type.namespace"] = { link = "TSNamespace" }, + ["@lsp.type.number"] = { link = "TSNumber" }, + ["@lsp.type.operator"] = { link = "TSOperator" }, + ["@lsp.type.parameter"] = { link = "TSParameter" }, + ["@lsp.type.property"] = { link = "TSProperty" }, + ["@lsp.type.regexp"] = { link = "TSStringRegex" }, + ["@lsp.type.string"] = { link = "TSString" }, + ["@lsp.type.struct"] = { link = "TSType" }, + ["@lsp.type.type"] = { link = "TSType" }, + ["@lsp.type.typeParameter"] = { link = "TSTypeDefinition" }, + ["@lsp.type.variable"] = { link = "TSVariable" }, + } + end, + latte = function(colors) + return { + IblIndent = { fg = colors.mantle }, + IblScope = { fg = colors.surface1 }, + + LineNr = { fg = colors.surface1 }, + } + end, + }, + }) + + vim.api.nvim_command("colorscheme catppuccin-macchiato") + end, +} diff --git a/.config/nvim/lua/plugins/harpoon.lua b/.config/nvim/lua/plugins/harpoon.lua new file mode 100755 index 0000000..407b7f0 --- /dev/null +++ b/.config/nvim/lua/plugins/harpoon.lua @@ -0,0 +1,26 @@ +return { + "thePrimeagen/harpoon", + enabled = true, + branch = "harpoon2", + dependencies = { + "nvim-lua/plenary.nvim", + }, + + config = function() + local harpoon = require("harpoon") + + harpoon:setup({ + global_settings = { + save_on_toggle = true, + save_on_change = true, + }, + }) + + vim.keymap.set("n", "<leader>ad", function() + harpoon:list():add() + end, { desc = "Harpoon add file" }) + vim.keymap.set("n", "<C-e>", function() + harpoon.ui:toggle_quick_menu(harpoon:list()) + end) + end, +} diff --git a/.config/nvim/lua/plugins/highlight-colors.lua b/.config/nvim/lua/plugins/highlight-colors.lua new file mode 100755 index 0000000..5c97573 --- /dev/null +++ b/.config/nvim/lua/plugins/highlight-colors.lua @@ -0,0 +1,8 @@ +return { + "brenoprata10/nvim-highlight-colors", + config = function() + vim.opt.termguicolors = true + + require("nvim-highlight-colors").setup({}) + end, +} diff --git a/.config/nvim/lua/plugins/lspconfig.lua b/.config/nvim/lua/plugins/lspconfig.lua new file mode 100755 index 0000000..bd748fc --- /dev/null +++ b/.config/nvim/lua/plugins/lspconfig.lua @@ -0,0 +1,35 @@ +return { + "neovim/nvim-lspconfig", + event = { "BufReadPre", "BufNewFile" }, + dependencies = { + "hrsh7th/cmp-nvim-lsp", + { "antosha417/nvim-lsp-file-operations", config = true }, + }, + config = function() + vim.diagnostic.config({ + update_in_insert = true, + float = { + focusable = false, + style = "minimal", + border = "rounded", + source = "always", + header = "", + prefix = "", + } + }) + + vim.diagnostic.config({ virtual_text = true }) + + local lsp_configurations = require('lspconfig.configs') + + local capabilities = vim.tbl_deep_extend( + "force", + {}, + vim.lsp.protocol.make_client_capabilities(), + require('cmp_nvim_lsp').default_capabilities() + ) + end, + vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts), + vim.keymap.set("n", "<leader>vca", function() vim.lsp.buf.code_action() end, opts), + vim.keymap.set("n", "<leader>vrn", function() vim.lsp.buf.rename() end, opts) +} diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua new file mode 100755 index 0000000..34ec658 --- /dev/null +++ b/.config/nvim/lua/plugins/lualine.lua @@ -0,0 +1,12 @@ +return { + 'nvim-lualine/lualine.nvim', + dependencies = { 'nvim-tree/nvim-web-devicons' }, + config = function() + require('lualine').setup { + options = { + icons_enabled = true, + theme = 'auto', + } + } + end, +} diff --git a/.config/nvim/lua/plugins/markdown.lua b/.config/nvim/lua/plugins/markdown.lua new file mode 100755 index 0000000..01af860 --- /dev/null +++ b/.config/nvim/lua/plugins/markdown.lua @@ -0,0 +1,9 @@ +return { + "MeanderingProgrammer/render-markdown.nvim", + dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-mini/mini.nvim" }, -- if you use the mini.nvim suite + -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins + -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons + ---@module 'render-markdown' + ---@type render.md.UserConfig + opts = {}, +} diff --git a/.config/nvim/lua/plugins/mason-lspconfig.lua b/.config/nvim/lua/plugins/mason-lspconfig.lua new file mode 100644 index 0000000..aed1bd5 --- /dev/null +++ b/.config/nvim/lua/plugins/mason-lspconfig.lua @@ -0,0 +1,8 @@ +return { + "mason-org/mason-lspconfig.nvim", + opts = {}, + dependencies = { + { "mason-org/mason.nvim", opts = {} }, + "neovim/nvim-lspconfig", + }, +} diff --git a/.config/nvim/lua/plugins/mason.lua b/.config/nvim/lua/plugins/mason.lua new file mode 100644 index 0000000..9188cda --- /dev/null +++ b/.config/nvim/lua/plugins/mason.lua @@ -0,0 +1,13 @@ +return{ + "mason-org/mason.nvim", + opts = { + ui = { + icons = { + package_installed = "✓", + package_pending = "➜", + package_uninstalled = "✗" + } + } + } +} + diff --git a/.config/nvim/lua/plugins/nim.lua b/.config/nvim/lua/plugins/nim.lua new file mode 100644 index 0000000..d079f68 --- /dev/null +++ b/.config/nvim/lua/plugins/nim.lua @@ -0,0 +1,3 @@ +return{ + "alaviss/nim.nvim" +} diff --git a/.config/nvim/lua/plugins/oil.lua b/.config/nvim/lua/plugins/oil.lua new file mode 100644 index 0000000..5d153fd --- /dev/null +++ b/.config/nvim/lua/plugins/oil.lua @@ -0,0 +1,20 @@ +return { + "stevearc/oil.nvim", + dependencies = { "nvim-tree/nvim-web-devicons" }, + config = function() + require("oil").setup({ + default_file_explorer = true, + columns = {}, + keymaps = { + ["q"] = "actions.close", + }, + delete_to_trash = true, + view_options = { + show_hidden = true, + }, + skip_confirm_for_simple_edits = true, + }) + + vim.keymap.set("n", "<leader>fm", "<CMD>Oil<CR>", { desc = "Open parent directory" }) + end, +} diff --git a/.config/nvim/lua/plugins/orgmode.lua b/.config/nvim/lua/plugins/orgmode.lua new file mode 100755 index 0000000..0945852 --- /dev/null +++ b/.config/nvim/lua/plugins/orgmode.lua @@ -0,0 +1,17 @@ +return { + { + "nvim-orgmode/orgmode", + config = function() + require("orgmode").setup({ + org_agenda_files = "~/orgfiles/**/*", + org_default_notes_file = "~/orgfiles/refile.org", + }) + end, + }, + { + "akinsho/org-bullets.nvim", + config = function() + require("org-bullets").setup() + end, + }, +} diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua new file mode 100755 index 0000000..99f1f5b --- /dev/null +++ b/.config/nvim/lua/plugins/telescope.lua @@ -0,0 +1,25 @@ +return { + { + "nvim-telescope/telescope.nvim", + tag = "0.1.8", + dependencies = { "nvim-lua/plenary.nvim" }, + config = function() + local builtin = require("telescope.builtin") + vim.keymap.set("n", "<leader>fj", builtin.find_files, {}) + vim.keymap.set("n", "<leader>fl", builtin.live_grep, {}) + end, + }, + { + "nvim-telescope/telescope-ui-select.nvim", + config = function() + require("telescope").setup({ + extensions = { + ["ui-select"] = { + require("telescope.themes").get_dropdown({}), + }, + }, + }) + require("telescope").load_extension("ui-select") + end, + }, +} diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua new file mode 100755 index 0000000..90b57fb --- /dev/null +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -0,0 +1,15 @@ +return { + "nvim-treesitter/nvim-treesitter", + branch = "master", + lazy = false, + build = ":TSUpdate", + config = function() + local config = require("lazy") + config.setup({ + auto_install = true, + highlight = { enable = true }, + ensure_installed = { "v", "c", "lua", "vim", "markeown" }, + indent = { enable = true }, + }) + end, +} diff --git a/.config/nvim/lua/plugins/trouble.lua b/.config/nvim/lua/plugins/trouble.lua new file mode 100644 index 0000000..3741f30 --- /dev/null +++ b/.config/nvim/lua/plugins/trouble.lua @@ -0,0 +1,37 @@ +return { + "folke/trouble.nvim", + opts = {}, -- for default options, refer to the configuration section for custom setup. + cmd = "Trouble", + keys = { + { + "<leader>xx", + "<cmd>Trouble diagnostics toggle<cr>", + desc = "Diagnostics (Trouble)", + }, + { + "<leader>xX", + "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", + desc = "Buffer Diagnostics (Trouble)", + }, + { + "<leader>cs", + "<cmd>Trouble symbols toggle focus=false<cr>", + desc = "Symbols (Trouble)", + }, + { + "<leader>cl", + "<cmd>Trouble lsp toggle focus=false win.position=right<cr>", + desc = "LSP Definitions / references / ... (Trouble)", + }, + { + "<leader>xL", + "<cmd>Trouble loclist toggle<cr>", + desc = "Location List (Trouble)", + }, + { + "<leader>xQ", + "<cmd>Trouble qflist toggle<cr>", + desc = "Quickfix List (Trouble)", + }, + }, +} diff --git a/.config/nvim/lua/plugins/undotree.lua b/.config/nvim/lua/plugins/undotree.lua new file mode 100755 index 0000000..88a2038 --- /dev/null +++ b/.config/nvim/lua/plugins/undotree.lua @@ -0,0 +1,8 @@ +return { + "jiaoshijie/undotree", + dependencies = "nvim-lua/plenary.nvim", + config = true, + keys = { + { "<leader>u", "<cmd>lua require('undotree').toggle()<cr>" }, + }, +} diff --git a/.config/nvim/lua/plugins/vlang.lua b/.config/nvim/lua/plugins/vlang.lua new file mode 100644 index 0000000..8199b3c --- /dev/null +++ b/.config/nvim/lua/plugins/vlang.lua @@ -0,0 +1,7 @@ +return { + 'neovim/nvim-lspconfig', + config = function() + require('lspconfig').vlang.setup({}) + end, + 'ollykel/v-vim' +} diff --git a/.config/otter-launcher/config.toml b/.config/otter-launcher/config.toml new file mode 100644 index 0000000..a0a53ab --- /dev/null +++ b/.config/otter-launcher/config.toml @@ -0,0 +1,126 @@ +[general] +default_module = "app" # The module to run when no prefix is matched +empty_module = "a" # run with an empty prompt +exec_cmd = "sh -c" # The exec command of your shell, default to sh +# for example: "bach -c" for bash; "zsh -c" for zsh. This can also runs wm exec commands, like hyprctl dispatch exec +vi_mode = true # set true to use vi keybinds, false to use emacs keybinds; default to emacs +esc_to_abort = true # allow to quit with esc keypress; a useful option for vi users +cheatsheet_entry = "?" # when entered, otter-launcher will show a list of configured modules +cheatsheet_viewer = "less -R; clear" # the program that otter-launcher will pipe cheatsheet into +clear_screen_after_execution = false # useful when chafa image flash back after module execution +loop_mode = false # in loop mode, otter-launcher won't quit after running a module, useful when using scratchpad +external_editor = "" # if set, pressing ctrl+e (or pressing v in vi normal mode) will edit the input field in the specified program; default to no external editor +#callback = "" # if set, otter-launcher will run the command after a module is executed; for example, it can call swaymsg to adjust window size + +# ASCII color codes are allowed with these options. However, \x1b should be replaced with \u001B (unicode escape) because the rust toml crate cannot read \x as an escaped character... +[interface] +# use three quotes to write longer commands +header = """ + \u001B[34;1m >\u001B[0m $USER@$(echo $HOSTNAME) \u001B[31m\u001B[0m $(cat /proc/loadavg | cut -d ' ' -f 1) \u001B[33m\u001B[0m $(free -h | awk 'FNR == 2 {print $3}' | sed 's/i//') + \u001B[34;1m>\u001B[0;1m """ +# Run a shell command and make the stdout printed above the header +header_cmd = "" +header_cmd_trimmed_lines = 0 # Remove a number of lines from header_cmd output, in case of some programs printing excessive empty lines at the end of its output +header_concatenate = false # print header and header_cmd output at the same line, default to false +list_prefix = " " +selection_prefix = " \u001B[31;1m> " +place_holder = "type and search" +default_module_message = " \u001B[33msearch\u001B[0m the internet" # if set, the text will be shown when the default module is in use +empty_module_message = "" # the text to show when empty module is in use +suggestion_mode = "list" # available options: list, hint +suggestion_lines = 12 # length of the suggestion list, set to 0 to disable suggestions and tab completion +indicator_with_arg_module = "\u001B[31m^\u001B[0m " # a sign showing whether the module should run with an argument +indicator_no_arg_module = "\u001B[31m$\u001B[0m " +prefix_padding = 3 # format prefixes to have a uniformed width; prefixes will be padded with spaces to have a least specified number of chars +# below color options affect all modules; per-module coloring is allowed by using ascii color codes at each module's configurations +prefix_color = "\u001B[33m" +description_color = "\u001B[39m" +place_holder_color = "\u001B[30m" +hint_color = "\u001B[30m" # the color of hint mode suggestions +# move the whole interface rightward or upward, easier for styling with chafa image +move_right = 0 +move_up = 0 + + +[[modules]] +description = "search with brave" +prefix = "br" +cmd = "setsid -f xdg-open 'https://search.brave.com/search?q={}'" +with_argument = true +url_encode = true + +[[modules]] +description = "kill a runing app" +prefix = "k" +cmd = 'ps -u "$USER" -o comm= | sort -u | fsel --dmenu | xargs -r pkill -9' +with_argument = true +url_encode = true + +[[modules]] +description = "launch apps with fsel" +prefix = "a" +cmd = "fsel -vv -r -d -ss \"{}\"" +with_argument = true + +[[modules]] +description = "launch apps instantly" +prefix = "app" +cmd = "fsel -vv -r -d -p {}" +with_argument = true + +[[modules]] +description = "manage clipboard with fsel" +prefix = "cl" +cmd = """ +fsel --cclip +""" + +[[modules]] +description = "find pkgs" +prefix = "pm" +cmd = "pmux -SD {}" +with_argument = true + +[[modules]] +description = "install pkgs" +prefix = "i" +cmd = "pmux -S {}" +with_argument = true + +[[modules]] +description = "power menu with fzf" +prefix = "p" +cmd = """ +function power { +if [[ -n $1 ]]; then +case $1 in +"logout") session=`loginctl session-status | head -n 1 | awk '{print $1}'`; loginctl terminate-session $session ;; +"suspend") systemctl suspend ;; +"hibernate") systemctl hibernate ;; +"reboot") systemctl reboot ;; +"shutdown") systemctl poweroff ;; +esac fi } +power $(echo -e 'reboot\nshutdown\nlogout\nsuspend\nhibernate' | fzf --reverse --no-scrollbar --padding 1,3 --prompt 'Power Menu: ' | tail -1) +""" + +[[modules]] +description = "run command in terminal" +prefix = "s" +cmd = """ +setsid -f "$(echo $TERM | sed 's/xterm-//g')" -e {} +""" +with_argument = true + +[[modules]] +description = "search archwiki" +prefix = "w" +cmd = "setsid -f xdg-open https://wiki.archlinux.org/index.php?search='{}'" +with_argument = true +url_encode = true + +[[modules]] +description = "cambridge dictionary" +prefix = "dc" +cmd = "setsid -f xdg-open 'https://dictionary.cambridge.org/dictionary/english/{}'" +with_argument = true +url_encode = true diff --git a/.config/otter-launcher/sway-launcher-desktop.sh b/.config/otter-launcher/sway-launcher-desktop.sh new file mode 100755 index 0000000..0153175 --- /dev/null +++ b/.config/otter-launcher/sway-launcher-desktop.sh @@ -0,0 +1,390 @@ +#!/usr/bin/env bash +# terminal application launcher for sway, using fzf +# Based on: https://gitlab.com/FlyingWombat/my-scripts/blob/master/sway-launcher +# https://gist.github.com/Biont/40ef59652acf3673520c7a03c9f22d2a +shopt -s nullglob globstar +set -o pipefail +if ! { exec 0>&3; } 1>/dev/null 2>&1; then + exec 3>/dev/null # If file descriptor 3 is unused in parent shell, output to /dev/null +fi +# shellcheck disable=SC2154 +trap 's=$?; echo "$0: Error on line "$LINENO": $BASH_COMMAND"; exit $s' ERR +IFS=$'\n\t' +DEL=$'\34' + +FZF_COMMAND="${FZF_COMMAND:=fzf}" +TERMINAL_COMMAND="${TERMINAL_COMMAND:="$TERMINAL -e"}" +GLYPH_COMMAND="${GLYPH_COMMAND- }" +GLYPH_DESKTOP="${GLYPH_DESKTOP- }" +CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/sway-launcher-desktop" +PROVIDERS_FILE="${PROVIDERS_FILE:=providers.conf}" +if [[ "${PROVIDERS_FILE#/}" == "${PROVIDERS_FILE}" ]]; then + # $PROVIDERS_FILE is a relative path, prepend $CONFIG_DIR + PROVIDERS_FILE="${CONFIG_DIR}/${PROVIDERS_FILE}" +fi +if [[ ! -v PREVIEW_WINDOW ]]; then + PREVIEW_WINDOW=up:2:noborder +fi + +# Provider config entries are separated by the field separator \034 and have the following structure: +# list_cmd,preview_cmd,launch_cmd,purge_cmd +declare -A PROVIDERS +if [ -f "${PROVIDERS_FILE}" ]; then + eval "$(awk -F= ' + BEGINFILE{ provider=""; } + /^\[.*\]/{sub("^\\[", "");sub("\\]$", "");provider=$0} + /^(launch|list|preview|purge)_cmd/{st = index($0,"=");providers[provider][$1] = substr($0,st+1)} + ENDFILE{ + for (key in providers){ + if(!("list_cmd" in providers[key])){continue;} + if(!("launch_cmd" in providers[key])){continue;} + if(!("preview_cmd" in providers[key])){continue;} + if(!("purge_cmd" in providers[key])){providers[key]["purge_cmd"] = "exit 0";} + for (entry in providers[key]){ + gsub(/[\x27,\047]/,"\x27\"\x27\"\x27", providers[key][entry]) + } + print "PROVIDERS[\x27" key "\x27]=\x27" providers[key]["list_cmd"] "\034" providers[key]["preview_cmd"] "\034" providers[key]["launch_cmd"] "\034" providers[key]["purge_cmd"] "\x27\n" + } + }' "${PROVIDERS_FILE}")" + if [[ ! -v HIST_FILE ]]; then + HIST_FILE="${XDG_CACHE_HOME:-$HOME/.cache}/${0##*/}-${PROVIDERS_FILE##*/}-history.txt" + fi +else + PROVIDERS['desktop']="${0} list-entries${DEL}${0} describe-desktop \"{1}\"${DEL}${0} run-desktop '{1}' {2}${DEL}test -f '{1}' || exit 43" + PROVIDERS['command']="${0} list-commands${DEL}${0} describe-command \"{1}\"${DEL}${TERMINAL_COMMAND} {1}${DEL}command -v '{1}' || exit 43" + if [[ ! -v HIST_FILE ]]; then + HIST_FILE="${XDG_CACHE_HOME:-$HOME/.cache}/${0##*/}-history.txt" + fi +fi +PROVIDERS['user']="exit${DEL}exit${DEL}{1}" # Fallback provider that simply executes the exact command if there were no matches + +if [[ -n "${HIST_FILE}" ]]; then + mkdir -p "${HIST_FILE%/*}" && touch "$HIST_FILE" + readarray HIST_LINES <"$HIST_FILE" +fi + +function describe() { + # shellcheck disable=SC2086 + readarray -d ${DEL} -t PROVIDER_ARGS <<<${PROVIDERS[${1}]} + # shellcheck disable=SC2086 + [ -n "${PROVIDER_ARGS[1]}" ] && eval "${PROVIDER_ARGS[1]//\{1\}/${2}}" +} +function describe-desktop() { + description=$(sed -ne '/^Comment=/{s/^Comment=//;p;q}' "$1") + echo -e "\033[33m$(sed -ne '/^Name=/{s/^Name=//;p;q}' "$1")\033[0m" + echo "${description:-No description}" +} +function describe-command() { + readarray arr < <(whatis -l "$1" 2>/dev/null) + description="${arr[0]}" + description="${description#* - }" + echo -e "\033[33m${1}\033[0m" + echo "${description:-No description}" +} + +function provide() { + # shellcheck disable=SC2086 + readarray -d ${DEL} -t PROVIDER_ARGS <<<${PROVIDERS[$1]} + eval "${PROVIDER_ARGS[0]}" +} +#function list-commands() { +# IFS=: read -ra path <<<"$PATH" +# for dir in "${path[@]}"; do +# printf '%s\n' "$dir/"* | +# awk -F / -v pre="$GLYPH_COMMAND" '{print $NF "\034command\034\033[31m" pre "\033[0m" $NF;}' +# done | sort -u +#} +function list-commands() { + # Add your path + CUSTOM_BIN_DIR="$HOME/.local/share/uspm/bin/" + + # Og PATH directories + IFS=: read -ra path <<<"$PATH" + + # directory + if [[ -d "$CUSTOM_BIN_DIR" ]]; then + path+=("$CUSTOM_BIN_DIR") + fi + + for dir in "${path[@]}"; do + printf '%s\n' "$dir/"* | + awk -F / -v pre="$GLYPH_COMMAND" '{print $NF "\034command\034\033[31m" pre "\033[0m" $NF;}' + done | sort -u +} +function list-entries() { + # Get locations of desktop application folders according to spec + # https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html + IFS=':' read -ra DIRS <<<"${XDG_DATA_HOME-${HOME}/.local/share}:${XDG_DATA_DIRS-/usr/local/share:/usr/share}" + for i in "${!DIRS[@]}"; do + if [[ ! -d "${DIRS[i]}" ]]; then + unset -v 'DIRS[$i]' + else + DIRS[$i]="${DIRS[i]}/applications/**/*.desktop" + fi + done + + # shellcheck disable=SC2068 + entries ${DIRS[@]} | sort -k2 +} +function entries() { + # shellcheck disable=SC2068 + awk -v pre="$GLYPH_DESKTOP" -F= ' + function desktopFileID(filename){ + sub("^.*applications/", "", filename); + sub("/", "-", filename); + return filename + } + BEGINFILE{ + application=0; + hidden=0; + block=""; + a=0 + + id=desktopFileID(FILENAME) + if(id in fileIds){ + nextfile; + }else{ + fileIds[id]=0 + } + } + /^\[Desktop Entry\]/{block="entry"} + /^Type=Application/{application=1} + /^\[Desktop Action/{ + sub("^\\[Desktop Action ", ""); + sub("\\]$", ""); + block="action"; + a++; + actions[a,"key"]=$0 + } + /^\[X-/{ + sub("^\\[X-", ""); + sub("\\]$", ""); + block="action"; + a++; + actions[a,"key"]=$0 + } + /^Name=/{ (block=="action")? actions[a,"name"]=$2 : name=$2 } + /^NoDisplay=true/{ (block=="action")? actions[a,"hidden"]=1 : hidden=1 } + ENDFILE{ + if (application){ + if (!hidden) + print FILENAME "\034desktop\034\033[33m" pre name "\033[0m"; + if (a>0) + for (i=1; i<=a; i++) + if (!actions[i, "hidden"]) + print FILENAME "\034desktop\034\033[33m" pre name "\033[0m (" actions[i, "name"] ")\034" actions[i, "key"] + } + }' \ + $@ </dev/null + # the empty stdin is needed in case no *.desktop files +} +function run-desktop() { + CMD="$("${0}" generate-command "$@" 2>&3)" + echo "Generated Launch command from .desktop file: ${CMD}" >&3 + eval "${CMD}" +} +function generate-command() { + # Define the search pattern that specifies the block to search for within the .desktop file + PATTERN="^\\\\[Desktop Entry\\\\]" + if [[ -n $2 ]]; then + PATTERN="^\\\\[Desktop Action ${2}\\\\]" + fi + echo "Searching for pattern: ${PATTERN}" >&3 + # 1. We see a line starting [Desktop, but we're already searching: deactivate search again + # 2. We see the specified pattern: start search + # 3. We see an Exec= line during search: remove field codes and set variable + # 3. We see a Path= line during search: set variable + # 4. Finally, build command line + awk -v pattern="${PATTERN}" -v terminal_cmd="${TERMINAL_COMMAND}" -F= ' + BEGIN{a=0;exec=0;path=0} + /^\[Desktop/{ + if(a){ a=0 } + } + $0 ~ pattern{ a=1 } + /^Terminal=/{ + sub("^Terminal=", ""); + if ($0 == "true") { terminal=1 } + } + /^Exec=/{ + if(a && !exec){ + sub("^Exec=", ""); + gsub(" ?%[cDdFfikmNnUuv]", ""); + exec=$0; + } + } + /^Path=/{ + if(a && !path){ path=$2 } + } + END{ + if(path){ printf "cd " path " && " } + printf "exec " + if (terminal){ printf terminal_cmd " " } + print exec + }' "$1" +} + +function shouldAutostart() { + local condition="$(cat $1 | grep "AutostartCondition" | cut -d'=' -f2)" + local filename="${XDG_CONFIG_HOME-${HOME}/.config}/${condition#* }" + case $condition in + if-exists*) + [[ -e $filename ]] + ;; + unless-exists*) + [[ ! -e $filename ]] + ;; + *) + return 0 + ;; + esac +} + +function autostart() { + for application in $(list-autostart); do + if shouldAutostart "$application"; then + (exec setsid /bin/sh -c "$(run-desktop "${application}")" &>/dev/null &) + fi + done +} + +function list-autostart() { + # Get locations of desktop application folders according to spec + # https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html + IFS=':' read -ra DIRS <<<"${XDG_CONFIG_HOME-${HOME}/.config}:${XDG_CONFIG_DIRS-/etc/xdg}" + for i in "${!DIRS[@]}"; do + if [[ ! -d "${DIRS[i]}" ]]; then + unset -v 'DIRS[$i]' + else + DIRS[$i]="${DIRS[i]}/autostart/*.desktop" + fi + done + + # shellcheck disable=SC2068 + awk -v pre="$GLYPH_DESKTOP" -F= ' + function desktopFileID(filename){ + sub("^.*autostart/", "", filename); + sub("/", "-", filename); + return filename + } + BEGINFILE{ + application=0; + block=""; + disabled=0; + a=0 + + id=desktopFileID(FILENAME) + if(id in fileIds){ + nextfile; + }else{ + fileIds[id]=0 + } + } + /^\[Desktop Entry\]/{block="entry"} + /^Type=Application/{application=1} + /^Name=/{ iname=$2 } + /^Hidden=true/{disabled=1} + ENDFILE{ + if (application && !disabled){ + print FILENAME; + } + }' \ + ${DIRS[@]} </dev/null +} + +purge() { + # shellcheck disable=SC2188 + >"${HIST_FILE}" + declare -A PURGE_CMDS + for PROVIDER_NAME in "${!PROVIDERS[@]}"; do + readarray -td ${DEL} PROVIDER_ARGS <<<${PROVIDERS[${PROVIDER_NAME}]} + PURGE_CMD=${PROVIDER_ARGS[3]} + [ -z "${PURGE_CMD}" ] && PURGE_CMD='test -f "{1}" || exit 43' + PURGE_CMDS[$PROVIDER_NAME]="${PURGE_CMD%$'\n'}" + done + for HIST_LINE in "${HIST_LINES[@]#*' '}"; do + readarray -td $'\034' HIST_ENTRY <<<${HIST_LINE} + ENTRY=${HIST_ENTRY[1]} + readarray -td ' ' FILTER <<<${PURGE_CMDS[$ENTRY]//\{1\}/${HIST_ENTRY[0]}} + (eval "${FILTER[@]}" 1>/dev/null) # Run filter command discarding output. We only want the exit status + if [[ $? -ne 43 ]]; then + echo "1 ${HIST_LINE[@]%$'\n'}" >>"${HIST_FILE}" + fi + done +} + +case "$1" in +describe | describe-desktop | describe-command | entries | list-entries | list-commands | list-autostart | generate-command | autostart | run-desktop | provide | purge) + "$@" + exit + ;; +esac +echo "Starting launcher instance with the following providers:" "${!PROVIDERS[@]}" >&3 + +FZFPIPE=$(mktemp -u) +mkfifo "$FZFPIPE" +trap 'rm "$FZFPIPE"' EXIT INT + +# Append Launcher History, removing usage count +(printf '%s' "${HIST_LINES[@]#* }" >>"$FZFPIPE") & + +# Iterate over providers and run their list-command +for PROVIDER_NAME in "${!PROVIDERS[@]}"; do + (bash -c "${0} provide ${PROVIDER_NAME}" >>"$FZFPIPE") & +done + +readarray -t COMMAND_STR <<<$( + ${FZF_COMMAND} --ansi +s -x -d '\034' --nth ..3 --with-nth 3 \ + --print-query \ + --preview "$0 describe {2} {1}" \ + --preview-window="${PREVIEW_WINDOW}" \ + --no-multi --cycle \ + --prompt="${GLYPH_PROMPT-# }" \ + --header='' --no-info --margin='1,2' \ + --color='16,gutter:-1' \ + <"$FZFPIPE" +) || exit 1 +# Get the last line of the fzf output. If there were no matches, it contains the query which we'll treat as a custom command +# If there were matches, it contains the selected item +COMMAND_STR=$(printf '%s\n' "${COMMAND_STR[@]: -1}") +# We still need to format the query to conform to our fallback provider. +# We check for the presence of field separator character to determine if we're dealing with a custom command +if [[ $COMMAND_STR != *$'\034'* ]]; then + COMMAND_STR="${COMMAND_STR}"$'\034user\034'"${COMMAND_STR}"$'\034' + SKIP_HIST=1 # I chose not to include custom commands in the history. If this is a bad idea, open an issue please +fi + +[ -z "$COMMAND_STR" ] && exit 1 + +if [[ -n "${HIST_FILE}" && ! "$SKIP_HIST" ]]; then + # update history + for i in "${!HIST_LINES[@]}"; do + if [[ "${HIST_LINES[i]}" == *" $COMMAND_STR"$'\n' ]]; then + HIST_COUNT=${HIST_LINES[i]%% *} + HIST_LINES[$i]="$((HIST_COUNT + 1)) $COMMAND_STR"$'\n' + match=1 + break + fi + done + if ! ((match)); then + HIST_LINES+=("1 $COMMAND_STR"$'\n') + fi + + printf '%s' "${HIST_LINES[@]}" | sort -nr >"$HIST_FILE" +fi + +# shellcheck disable=SC2086 +readarray -d $'\034' -t PARAMS <<<${COMMAND_STR} +# shellcheck disable=SC2086 +readarray -d ${DEL} -t PROVIDER_ARGS <<<${PROVIDERS[${PARAMS[1]}]} +# Substitute {1}, {2} etc with the correct values +COMMAND=${PROVIDER_ARGS[2]//\{1\}/${PARAMS[0]}} +COMMAND=${COMMAND//\{2\}/${PARAMS[3]}} +COMMAND=${COMMAND%%[[:space:]]} + +if [ -t 1 ]; then + echo "Launching command: ${COMMAND}" >&3 + setsid /bin/sh -c "${COMMAND}" >&/dev/null </dev/null & + sleep 0.01 +else + echo "${COMMAND}" +fi diff --git a/.config/st b/.config/st new file mode 160000 +Subproject 688f70add0d1da8a416bf7df763328d694a24a3 diff --git a/.config/sway/config b/.config/sway/config new file mode 100755 index 0000000..6230e4c --- /dev/null +++ b/.config/sway/config @@ -0,0 +1,103 @@ +include ./monitors +include ./exec +include ./visuals + +set $mod Mod4 + +# direction keys +set $left h +set $down j +set $up k +set $right l + +set $term foot +set $menu foot --app-id otter-launcher -T foot otter-launcher +for_window [app_id="otter-launcher"] floating enable + +# Screenshots +set $scsh grim -g "$(slurp)" - | wl-copy +set $fullscsh grim - | wl-copy + +### Input configuration +# input "2:14:SynPS/2_Synaptics_TouchPad" { +# dwt enabled +# tap enabled +# natural_scroll enabled +# middle_emulation enabled +# } +# +# You can get the names of your inputs by running: swaymsg -t get_inputs + +# -Key bindings- +# Basics: + bindsym $mod+Return exec $term + bindsym $mod+c kill + bindsym $mod+r exec $menu + floating_modifier $mod normal + bindsym $mod+Shift+r reload + bindsym $mod+Shift+e exit + +# Moving around: + bindsym $mod+$left focus left + bindsym $mod+$down focus down + bindsym $mod+$up focus up + bindsym $mod+$right focus right + + bindsym $mod+Shift+$left move left + bindsym $mod+Shift+$down move down + bindsym $mod+Shift+$up move up + bindsym $mod+Shift+$right move right + +# Workspaces: + bindsym $mod+1 workspace number 1 + bindsym $mod+2 workspace number 2 + bindsym $mod+3 workspace number 3 + bindsym $mod+4 workspace number 4 + bindsym $mod+5 workspace number 5 + bindsym $mod+6 workspace number 6 + bindsym $mod+7 workspace number 7 + bindsym $mod+8 workspace number 8 + bindsym $mod+9 workspace number 9 + bindsym $mod+0 workspace number 10 + bindsym $mod+n workspace number 11 + bindsym $mod+m workspace number 12 + bindsym $mod+Shift+1 move container to workspace number 1 + bindsym $mod+Shift+2 move container to workspace number 2 + bindsym $mod+Shift+3 move container to workspace number 3 + bindsym $mod+Shift+4 move container to workspace number 4 + bindsym $mod+Shift+5 move container to workspace number 5 + bindsym $mod+Shift+6 move container to workspace number 6 + bindsym $mod+Shift+7 move container to workspace number 7 + bindsym $mod+Shift+8 move container to workspace number 8 + bindsym $mod+Shift+9 move container to workspace number 9 + bindsym $mod+Shift+0 move container to workspace number 10 + bindsym $mod+Shift+n move container to workspace number 11 + bindsym $mod+Shift+m move container to workspace number 12 +# You might want to change the keybinds for 11 and 12 ^ + +# Layout stuff: + bindsym $mod+b splith + bindsym $mod+v splitv + bindsym $mod+s layout stacking + bindsym $mod+w layout tabbed + bindsym $mod+e layout toggle split + + bindsym $mod+f fullscreen + + # Toggle the current focus between tiling and floating mode + bindsym $mod+space floating toggle + +# Utilities: + # Volume + bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle + bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5% + bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5% + bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle + # Brightness + bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- + bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ + # Screenshots + bindsym Print exec grim -g "$(slurp)" - | wl-copy + bindsym Shift+Print exec grim - | wl-copy + +include @sysconfdir@/sway/config.d/* diff --git a/.config/sway/exec b/.config/sway/exec new file mode 100755 index 0000000..8d21cb7 --- /dev/null +++ b/.config/sway/exec @@ -0,0 +1,7 @@ +exec export QT_QPA_PLATFORMTHEME=qt6ct +exec export XDG_CURRENT_DESKTOP=sway +exec systemctl --user set-environment XDG_CURRENT_DESKTOP=sway +exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP +exec systemctl --user start xdg-desktop-portal-wlr.service +exec syncthing +exec $term diff --git a/.config/sway/monitors b/.config/sway/monitors new file mode 100755 index 0000000..2eb991e --- /dev/null +++ b/.config/sway/monitors @@ -0,0 +1,10 @@ +# Wallpaper +output * bg ~/.config/sway/walls/caelus.png fill + +# My monitors (change to work for yours): +output DP-2 res 1920x1080@143.981Hz pos 0,0 +output DP-1 res 1920x1080@74.973Hz pos 1920,0 +output HDMI-A-1 modeline 141.50 1920 2032 2232 2544 1080 1083 1088 1114 -hsync +vsync +output HDMI-A-1 pos 960,-1080 + +# You can get the names of your outputs by running: swaymsg -t get_outputs diff --git a/.config/sway/visuals b/.config/sway/visuals new file mode 100755 index 0000000..7d8f3de --- /dev/null +++ b/.config/sway/visuals @@ -0,0 +1,44 @@ +gaps inner 2px +gaps outer 2px + +default_border pixel 2px +default_floating_border pixel 2px + +# cursor +seat seat0 xcursor_theme Bibata-Original-Ice 14 + +# Status Bar: +bar { + swaybar_command swaybar + font Terminess Nerd Font Bold Regular 12 + position top + workspace_min_width 36 + tray_padding 4 + colors { + background #141514 + statusline #ef934d + separator #ef934d + focused_background #1e1f1e + focused_statusline #ef934d + focused_separator #ef934d + focused_workspace #ef934d #ef934d #141514 + active_workspace #7ec97e #7ec97e #141514 + inactive_workspace #3b403c #3b403c #f4decd + urgent_workspace #f16e65 #f16e65 #141514 + binding_mode #71b4d6 #71b4d6 #141514 + } +} + +# -Colors- +# name border bg text ind child_border +client.focused #ef944d #141514 #f4decd #ef944d #ef944d +client.focused_inactive #1e1f1e #141514 #f4decd #1e1f1e #1e1f1e +client.unfocused #1e1f1e #141514 #f4decd #1e1f1e #1e1f1e +client.urgent #f16e65 #141514 #f4decd #f16e65 #f16e65 +client.placeholder #1e1f1e #141514 #f4decd #1e1f1e #1e1f1e + +# Swayfx +# comment these out if you don't use swayfx +#blur enable +#corner_radius 6 +#shadows enable diff --git a/.config/sway/walls/caelus.png b/.config/sway/walls/caelus.png Binary files differnew file mode 100644 index 0000000..7e8033d --- /dev/null +++ b/.config/sway/walls/caelus.png |
