Compare commits
91
Commits
fe3fd9f49a
...
old
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f62cb40499 | ||
|
|
a5a5bc1b1b | ||
|
|
9d447e1cd0 | ||
|
|
e305c812ef | ||
|
|
71addd70ea | ||
|
|
077e5acba6 | ||
|
|
7a8a8fce6f | ||
|
|
0e07bcced0 | ||
|
|
572a4c2286 | ||
|
|
b33a45fa1c | ||
|
|
3cbf3116c9 | ||
|
|
b9398d31fe | ||
|
|
9eb42566db | ||
|
|
d314b43943 | ||
|
|
c14c6bf1af | ||
|
|
f18b85247d | ||
|
|
f59b36d637 | ||
|
|
f30a7275d0 | ||
|
|
2163dd70b6 | ||
|
|
076975d384 | ||
|
|
d18a799be3 | ||
|
|
3ced0b13d9 | ||
|
|
68d6cc3109 | ||
|
|
8f73757604 | ||
|
|
dad966c3be | ||
|
|
7b2a2e5447 | ||
|
|
6cd73dc865 | ||
|
|
63c9bc520a | ||
|
|
3c336fa1b3 | ||
|
|
2a5d020110 | ||
|
|
c6f63eb958 | ||
|
|
a9f3dd28de | ||
|
|
f0dfb66fc2 | ||
|
|
62f68b6570 | ||
|
|
01d7666f51 | ||
|
|
a4675f15b9 | ||
|
|
3705c90fda | ||
|
|
b7e2599094 | ||
|
|
bdb669bb73 | ||
|
|
e7da0a5f93 | ||
|
|
f413a68803 | ||
|
|
e72c0b648c | ||
|
|
581001db0b | ||
|
|
9a154c71ec | ||
|
|
d8a08b8b14 | ||
|
|
19faeed49e | ||
|
|
d943a80530 | ||
|
|
535d28900d | ||
|
|
0c480e2d1e | ||
|
|
03e193f975 | ||
|
|
6498afda47 | ||
|
|
5580d801ee | ||
|
|
1057355b76 | ||
|
|
83697d71e6 | ||
|
|
87798f132a | ||
|
|
751014a9fb | ||
|
|
6cee197b2e | ||
|
|
2cc3a7330c | ||
|
|
9dd5639868 | ||
|
|
c1d60f4786 | ||
|
|
ec99ca58d8 | ||
|
|
5e2e481726 | ||
|
|
7ebe0a5d4b | ||
|
|
5b9d76e08e | ||
|
|
9736d2fd6e | ||
|
|
17540f0b8b | ||
|
|
cd5cd23e71 | ||
|
|
87935ca581 | ||
|
|
3ef2509830 | ||
|
|
c07058a3c4 | ||
|
|
d78a9f76cf | ||
|
|
48d6400905 | ||
|
|
6b7a6fd6e6 | ||
|
|
f5ae2e0848 | ||
|
|
940ba48422 | ||
|
|
47d3d0d254 | ||
|
|
039eb20956 | ||
|
|
2d4b03425f | ||
|
|
9002b1e720 | ||
|
|
4c6488d927 | ||
|
|
6fcad474ab | ||
|
|
c740f33b94 | ||
|
|
8789b077f0 | ||
|
|
499a603d44 | ||
|
|
bd6f2cd612 | ||
|
|
8d944cbb3a | ||
|
|
b08ef824ac | ||
|
|
04ab323216 | ||
|
|
ca4806267c | ||
|
|
8d1ad42d68 | ||
|
|
ef8f839913 |
@@ -0,0 +1,3 @@
|
||||
greet.txt
|
||||
fish_variables
|
||||
secrets.fish
|
||||
@@ -0,0 +1,27 @@
|
||||
# see https://github.com/sigoden/aichat/blob/main/config.example.yaml
|
||||
keybindings: vi
|
||||
editor: nvim
|
||||
model: duskadiy:Qwen3-Coder-30B-Instruct-IQ4_XS
|
||||
clients:
|
||||
- type: openai-compatible
|
||||
name: local
|
||||
api_base: http://192.168.0.204:11343/v1
|
||||
models:
|
||||
- name: Qwen3.5-27B-UD-Q3_K_XL
|
||||
- name: Qwen3.5-9B-Q8_0
|
||||
- name: Qwen3-Coder-30B-Instruct-IQ4_XS
|
||||
- name: GLM-4.7-Flash-UD-Q3_K_XL
|
||||
- name: DeepSeek-Coder-V2-Lite-Instruct-Q8_0
|
||||
- name: gemma-4-E4B-it-UD-Q8_K_XL
|
||||
- name: gemma-4-26B-A4B-it-UD-IQ4_XS
|
||||
- type: openai-compatible
|
||||
name: duskadiy
|
||||
api_base: https://llm.duskadiy.com/api/v1
|
||||
models:
|
||||
- name: Qwen3.5-27B-UD-Q3_K_XL
|
||||
- name: Qwen3.5-9B-Q8_0
|
||||
- name: Qwen3-Coder-30B-Instruct-IQ4_XS
|
||||
- name: GLM-4.7-Flash-UD-Q3_K_XL
|
||||
- name: DeepSeek-Coder-V2-Lite-Instruct-Q8_0
|
||||
- name: gemma-4-E4B-it-UD-Q8_K_XL
|
||||
- name: gemma-4-26B-A4B-it-UD-IQ4_XS
|
||||
@@ -0,0 +1,286 @@
|
||||
#? Config file for btop v.1.4.7
|
||||
|
||||
#* 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 = "Default"
|
||||
|
||||
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
||||
theme_background = false
|
||||
|
||||
#* 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
|
||||
|
||||
#* Option to disable presets. Either the default preset, custom presets, or all presets.
|
||||
#* "Off" All presets are enabled.
|
||||
#* "Default" preset is disabled.#* "Custom" presets are disabled.#* "All" presets are disabled.
|
||||
disable_presets = "Off"
|
||||
|
||||
#* 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
|
||||
|
||||
#* Disable all mouse events.
|
||||
disable_mouse = false
|
||||
|
||||
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
||||
rounded_corners = true
|
||||
|
||||
#* 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 = "proc cpu mem 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 lazy"
|
||||
|
||||
#* Reverse sorting order, True or False.
|
||||
proc_reversed = false
|
||||
|
||||
#* Show processes as a tree.
|
||||
proc_tree = true
|
||||
|
||||
#* 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
|
||||
|
||||
#* Should the process list follow the selected process when detailed view is open.
|
||||
proc_follow_detailed = true
|
||||
|
||||
#* In tree-view, always accumulate child process resources in the parent process.
|
||||
proc_aggregate = false
|
||||
|
||||
#* Should cpu and memory usage display be preserved for dead processes when paused.
|
||||
keep_dead_proc_usage = 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 = ""
|
||||
|
||||
#* Swap the positions of the upload and download speed graphs. When true, upload will be on top.
|
||||
swap_upload_download = false
|
||||
|
||||
#* 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 "~/.local/state/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"
|
||||
|
||||
#* Automatically save current settings to config file on exit.
|
||||
save_config_on_exit = true
|
||||
|
||||
#* 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 apple"
|
||||
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 = ""
|
||||
@@ -0,0 +1,40 @@
|
||||
|
||||
2024/11/19 (20:36:51) | ===> btop++ v.1.4.0
|
||||
2024/11/19 (20:36:51) | WARNING: Intel GPU: Failed to initialize PMU
|
||||
2024/11/19 (20:37:28) | INFO: Logger set to INFO
|
||||
|
||||
2024/11/26 (00:47:27) | ===> btop++ v.1.4.0
|
||||
2024/11/26 (00:47:27) | WARNING: Intel GPU: Failed to initialize PMU
|
||||
|
||||
2024/11/26 (00:47:32) | ===> btop++ v.1.4.0
|
||||
2024/11/26 (00:47:32) | WARNING: Intel GPU: Failed to initialize PMU
|
||||
|
||||
2024/12/16 (20:32:28) | ===> btop++ v.1.4.0
|
||||
2024/12/16 (20:32:28) | WARNING: Intel GPU: Failed to initialize PMU
|
||||
|
||||
2025/01/06 (01:34:00) | ===> btop++ v.1.4.0
|
||||
2025/01/06 (01:34:00) | WARNING: Intel GPU: Failed to initialize PMU
|
||||
|
||||
2025/02/23 (01:19:32) | ===> btop++ v.1.4.0
|
||||
2025/02/23 (01:19:32) | WARNING: Intel GPU: Failed to initialize PMU
|
||||
|
||||
2025/03/12 (19:08:38) | ===> btop++ v.1.4.0
|
||||
2025/03/12 (19:08:38) | WARNING: Intel GPU: Failed to initialize PMU
|
||||
|
||||
2025/03/13 (00:34:24) | ===> btop++ v.1.4.0
|
||||
2025/03/13 (00:34:24) | WARNING: Intel GPU: Failed to initialize PMU
|
||||
|
||||
2025/03/19 (17:51:06) | ===> btop++ v.1.4.0
|
||||
2025/03/19 (17:51:06) | WARNING: Intel GPU: Failed to initialize PMU
|
||||
|
||||
2025/03/22 (05:43:25) | ===> btop++ v.1.4.0
|
||||
2025/03/22 (05:43:25) | WARNING: Intel GPU: Failed to initialize PMU
|
||||
|
||||
2025/03/22 (05:43:39) | ===> btop++ v.1.4.0
|
||||
2025/03/22 (05:43:39) | WARNING: Intel GPU: Failed to initialize PMU
|
||||
|
||||
2025/03/24 (02:13:29) | ===> btop++ v.1.4.0
|
||||
2025/03/24 (02:13:29) | WARNING: Intel GPU: Failed to initialize PMU
|
||||
|
||||
2025/03/25 (22:21:48) | ===> btop++ v.1.4.0
|
||||
2025/03/25 (22:21:48) | WARNING: Intel GPU: Failed to initialize PMU
|
||||
@@ -0,0 +1,13 @@
|
||||
|
||||
[color]
|
||||
|
||||
gradient = 1
|
||||
gradient_count = 8
|
||||
gradient_color_1 = '#332952'
|
||||
gradient_color_2 = '#463A6B'
|
||||
gradient_color_3 = '#7D4B5F'
|
||||
gradient_color_4 = '#8F576D'
|
||||
gradient_color_5 = '#A36578'
|
||||
gradient_color_6 = '#C27A90'
|
||||
gradient_color_7 = '#E69A9D'
|
||||
gradient_color_8 = '#F0AAAD'
|
||||
@@ -0,0 +1,117 @@
|
||||
#version 330
|
||||
|
||||
// this shader was stolen from shadertoy user ChunderFPV
|
||||
|
||||
#define SCALE 8.0
|
||||
#define PI radians(180.0)
|
||||
#define TAU (PI * 2.0)
|
||||
#define CS(a) vec2(cos(a), sin(a))
|
||||
#define PT(u, r) smoothstep(0.0, r, r - length(u))
|
||||
|
||||
in vec2 fragCoord;
|
||||
out vec4 fragColor;
|
||||
|
||||
uniform float bars[512];
|
||||
|
||||
uniform int bars_count; // number of bars (left + right) (configurable)
|
||||
uniform float shader_time; // shader execution time s
|
||||
uniform int bar_width; // bar width (configurable), not used here
|
||||
uniform int bar_spacing; // space bewteen bars (configurable)
|
||||
|
||||
uniform vec3 u_resolution; // window resolution
|
||||
|
||||
// colors, configurable in cava config file (r,g,b) (0.0 - 1.0)
|
||||
uniform vec3 bg_color; // background color
|
||||
uniform vec3 fg_color; // foreground color
|
||||
|
||||
uniform int gradient_count;
|
||||
uniform vec3 gradient_colors[8]; // gradient colors
|
||||
|
||||
// gradient map ( color, equation, time, width, shadow, reciprocal )
|
||||
vec3 gm(vec3 c, float n, float t, float w, float d, bool i) {
|
||||
float g = min(abs(n), 1.0 / abs(n));
|
||||
float s = abs(sin(n * PI - t));
|
||||
if (i)
|
||||
s = min(s, abs(sin(PI / n + t)));
|
||||
return (1.0 - pow(abs(s), w)) * c * pow(g, d) * 6.0;
|
||||
}
|
||||
|
||||
// denominator spiral, use 1/n for numerator
|
||||
// ( screen xy, spiral exponent, decimal, line width, hardness, rotation )
|
||||
float ds(vec2 u, float e, float n, float w, float h, float ro) {
|
||||
float ur = length(u); // unit radius
|
||||
float sr = pow(ur, e); // spiral radius
|
||||
float a = round(sr) * n * TAU; // arc
|
||||
vec2 xy = CS(a + ro) * ur; // xy coords
|
||||
float l = PT(u - xy, w); // line
|
||||
float s = mod(sr + 0.5, 1.0); // gradient smooth
|
||||
s = min(s, 1.0 - s); // darken filter
|
||||
return l * s * h;
|
||||
}
|
||||
|
||||
void main() {
|
||||
float t = shader_time / PI * 2.0;
|
||||
vec4 m = vec4(0, 0, 0, 0); // iMouse;
|
||||
m.xy = m.xy * 2.0 / u_resolution.xy - 1.0; // ±1x, ±1y
|
||||
if (m.z > 0.0)
|
||||
t += m.y * SCALE; // move time with mouse y
|
||||
float z = (m.z > 0.0) ? pow(1.0 - abs(m.y), sign(m.y)) : 1.0; // zoom (+)
|
||||
float e = (m.z > 0.0) ? pow(1.0 - abs(m.x), -sign(m.x))
|
||||
: 1.0; // screen exponent (+)
|
||||
float se = (m.z > 0.0) ? e * -sign(m.y) : 1.0; // spiral exponent
|
||||
vec3 bg = vec3(0); // black background
|
||||
|
||||
float aa = 3.0; // anti-aliasing
|
||||
|
||||
for (float j = 0.0; j < aa; j++)
|
||||
for (float k = 0.0; k < aa; k++) {
|
||||
vec3 c = vec3(0);
|
||||
vec2 o = vec2(j, k) / aa;
|
||||
vec2 uv = (fragCoord * u_resolution.xy - 0.5 * u_resolution.xy + o) /
|
||||
u_resolution.y * SCALE * z; // apply cartesian, scale and zoom
|
||||
if (m.z > 0.0)
|
||||
uv =
|
||||
exp(log(abs(uv)) * e) * sign(uv); // warp screen space with exponent
|
||||
|
||||
float px = length(fwidth(uv)); // pixel width
|
||||
float x = uv.x; // every pixel on x
|
||||
float y = uv.y; // every pixel on y
|
||||
float l = length(uv); // hypot of xy: sqrt(x*x+y*y)
|
||||
|
||||
float mc = (x * x + y * y - 1.0) / y; // metallic circle at xy
|
||||
float g = min(abs(mc), 1.0 / abs(mc)); // gradient
|
||||
vec3 gold = vec3(1.0, 0.6, 0.0) * g * l;
|
||||
vec3 blue = vec3(0.3, 0.5, 0.9) * (1.0 - g);
|
||||
vec3 rgb = max(gold, blue);
|
||||
|
||||
float w = 0.1; // line width
|
||||
float d = 0.4; // shadow depth
|
||||
c = max(c, gm(rgb, mc, -t, w * bars[0], d, false)); // metallic
|
||||
c = max(c, gm(rgb, abs(y / x) * sign(y), -t, w * bars[1], d,
|
||||
false)); // tangent
|
||||
c = max(c, gm(rgb, (x * x) / (y * y) * sign(y), -t, w * bars[2], d,
|
||||
false)); // sqrt cotangent
|
||||
c = max(c, gm(rgb, (x * x) + (y * y), t, w * bars[3], d,
|
||||
true)); // sqrt circles
|
||||
|
||||
c += rgb * ds(uv, se, t / TAU, px * 2.0 * bars[4], 2.0, 0.0); // spiral 1a
|
||||
c += rgb * ds(uv, se, t / TAU, px * 2.0 * bars[5], 2.0, PI); // spiral 1b
|
||||
c +=
|
||||
rgb * ds(uv, -se, t / TAU, px * 2.0 * bars[6], 2.0, 0.0); // spiral 2a
|
||||
c += rgb * ds(uv, -se, t / TAU, px * 2.0 * bars[7], 2.0, PI); // spiral 2b
|
||||
c = max(c, 0.0); // clear negative color
|
||||
|
||||
c += pow(max(1.0 - l, 0.0), 3.0 / z); // center glow
|
||||
|
||||
if (m.z > 0.0) // display grid on click
|
||||
{
|
||||
vec2 xyg = abs(fract(uv + 0.5) - 0.5) / px; // xy grid
|
||||
c.gb += 0.2 * (1.0 - min(min(xyg.x, xyg.y), 1.0));
|
||||
}
|
||||
bg += c;
|
||||
}
|
||||
bg /= aa * aa;
|
||||
bg *= sqrt(bg) * 1.5;
|
||||
|
||||
fragColor = vec4(bg, 1.0);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
[color]
|
||||
background = '#001e26'
|
||||
foreground = '#708183'
|
||||
|
||||
gradient = 1
|
||||
gradient_color_1 = '#268bd2'
|
||||
gradient_color_2 = '#6c71c4'
|
||||
gradient_color_3 = '#cb4b16'
|
||||
|
||||
horizontal_gradient = 1
|
||||
horizontal_gradient_color_1 = '#586e75'
|
||||
horizontal_gradient_color_2 = '#b58900'
|
||||
horizontal_gradient_color_3 = '#839496'
|
||||
|
||||
blend_direction = 'up'
|
||||
@@ -0,0 +1,10 @@
|
||||
[color]
|
||||
horizontal_gradient = 1
|
||||
horizontal_gradient_color_1 = '#c45161'
|
||||
horizontal_gradient_color_2 = '#e094a0'
|
||||
horizontal_gradient_color_3 = '#f2b6c0'
|
||||
horizontal_gradient_color_4 = '#f2dde1'
|
||||
horizontal_gradient_color_5 = '#cbc7d8'
|
||||
horizontal_gradient_color_6 = '#8db7d2'
|
||||
horizontal_gradient_color_7 = '#5e62a9'
|
||||
horizontal_gradient_color_8 = '#434279'
|
||||
@@ -0,0 +1,17 @@
|
||||
|
||||
function __fish_pipx_complete
|
||||
set -x _ARGCOMPLETE 1
|
||||
set -x _ARGCOMPLETE_DFS \t
|
||||
set -x _ARGCOMPLETE_IFS \n
|
||||
set -x _ARGCOMPLETE_SUPPRESS_SPACE 1
|
||||
set -x _ARGCOMPLETE_SHELL fish
|
||||
set -x COMP_LINE (commandline -p)
|
||||
set -x COMP_POINT (string length (commandline -cp))
|
||||
set -x COMP_TYPE
|
||||
if set -q _ARC_DEBUG
|
||||
pipx 8>&1 9>&2 1>&9 2>&1
|
||||
else
|
||||
pipx 8>&1 9>&2 1>/dev/null 2>&1
|
||||
end
|
||||
end
|
||||
complete --command pipx -f -a '(__fish_pipx_complete)'
|
||||
@@ -0,0 +1,3 @@
|
||||
set --global fish_key_bindings fish_vi_key_bindings
|
||||
|
||||
set --erase --universal fish_key_bindings
|
||||
@@ -0,0 +1,38 @@
|
||||
set --global fish_color_autosuggestion 4D5566
|
||||
set --global fish_color_cancel -r
|
||||
set --global fish_color_command 39BAE6
|
||||
set --global fish_color_comment 626A73
|
||||
set --global fish_color_cwd 59C2FF
|
||||
set --global fish_color_cwd_root red
|
||||
set --global fish_color_end F29668
|
||||
set --global fish_color_error FF3333
|
||||
set --global fish_color_escape 95E6CB
|
||||
set --global fish_color_history_current --bold
|
||||
set --global fish_color_host normal
|
||||
set --global fish_color_host_remote yellow
|
||||
set --global fish_color_keyword 39BAE6
|
||||
set --global fish_color_match F07178
|
||||
set --global fish_color_normal B3B1AD
|
||||
set --global fish_color_operator E6B450
|
||||
set --global fish_color_option B3B1AD
|
||||
set --global fish_color_param B3B1AD
|
||||
set --global fish_color_quote C2D94C
|
||||
set --global fish_color_redirection FFEE99
|
||||
set --global fish_color_search_match --background=E6B450
|
||||
set --global fish_color_selection --background=E6B450
|
||||
set --global fish_color_status red
|
||||
set --global fish_color_user brgreen
|
||||
set --global fish_color_valid_path --underline
|
||||
set --global fish_pager_color_background
|
||||
set --global fish_pager_color_completion normal
|
||||
set --global fish_pager_color_description B3A06D yellow
|
||||
set --global fish_pager_color_prefix normal --bold --underline
|
||||
set --global fish_pager_color_progress brwhite --background=cyan
|
||||
set --global fish_pager_color_secondary_background
|
||||
set --global fish_pager_color_secondary_completion
|
||||
set --global fish_pager_color_secondary_description
|
||||
set --global fish_pager_color_secondary_prefix
|
||||
set --global fish_pager_color_selected_background --background=E6B450
|
||||
set --global fish_pager_color_selected_completion
|
||||
set --global fish_pager_color_selected_description
|
||||
set --global fish_pager_color_selected_prefix
|
||||
@@ -0,0 +1 @@
|
||||
fnm env --use-on-cd --shell fish | source
|
||||
+68
-44
@@ -1,39 +1,41 @@
|
||||
set -gx QT_FONT_DPI 96
|
||||
set -gx EDITOR nvim
|
||||
set -gx PAGER less
|
||||
# set -Ux BAT_THEME gruvbox
|
||||
set -gx PATH "/run/user/1000/fnm_multishells/14287_1763490645306/bin" $PATH;
|
||||
set -gx FNM_MULTISHELL_PATH "/run/user/1000/fnm_multishells/14287_1763490645306";
|
||||
set -gx FNM_VERSION_FILE_STRATEGY "local";
|
||||
set -gx FNM_DIR "/home/anon/.local/share/fnm";
|
||||
set -gx FNM_LOGLEVEL "info";
|
||||
set -gx FNM_NODE_DIST_MIRROR "https://nodejs.org/dist";
|
||||
set -gx FNM_COREPACK_ENABLED "false";
|
||||
set -gx FNM_RESOLVE_ENGINES "true";
|
||||
set -gx FNM_ARCH "x64";
|
||||
set -Ux MANPAGER "nvim +Man!"
|
||||
set -g fish_greeting
|
||||
set -g fish_cursor_insert line
|
||||
set -g fish_cursor_default block
|
||||
set -g fish_cursor_visual underscore
|
||||
set -g fish_user_key_bindings
|
||||
set -g ask
|
||||
# set -gx DUSKADIY_API_KEY "*****"
|
||||
set -x NEWT_COLORS 'root=black,black;window=black,black;border=white,black;listbox=white,black;label=blue,black;checkbox=red,black;title=green,black;button=white,red;actsellistbox=white,red;actlistbox=white,gray;compactbutton=white,gray;actcheckbox=white,blue;entry=lightgray,black;textbox=blue,black' nmtui
|
||||
# set -gx BAT_THEME "Catppuccin Mocha"
|
||||
|
||||
set -gx PNPM_HOME "/home/coja/.local/share/pnpm"
|
||||
if not string match -q -- $PNPM_HOME $PATH
|
||||
set -gx PATH "$PNPM_HOME" $PATH
|
||||
end
|
||||
|
||||
#set -xU MANPAGER 'less -R --use-color -Dd+r -Du+b'
|
||||
#set -xU MANROFFOPT '-P -c'
|
||||
|
||||
alias grep="grep --color=auto"
|
||||
alias fzf="fzf --preview color='always {}'"
|
||||
alias pacs="sudo pacman -Syu"
|
||||
alias nmaps="sudo nmap -sn 192.168.0.0/24"
|
||||
alias mem="df -H --output=source,size,used,avail | grep 480G | sort -u"
|
||||
alias kittyimg="kitten icat"
|
||||
alias dmz="cat ~/.config/fish/dmz.txt"
|
||||
alias xremaps="sudo xremap ~/.config/xremap/config.yml"
|
||||
# alias llama="~/projects/llama.cpp/build/bin/llama-server -m /home/anon/projects/llama.cpp/models/Llama-3.2-3B-Instruct-F16.gguf"
|
||||
alias cdots="cd ~/.dotfiles/.config/"
|
||||
alias dots="cd ~/.dotfiles/.config/ && nvim"
|
||||
alias keybinds="cd ~/.dotfiles/.config/ && nvim ./hypr/keybindings.conf"
|
||||
alias aliases="bat ~/.config/fish/config.fish"
|
||||
alias notes="cd ~/sync/notes && nvim"
|
||||
alias ipadd="sudo ip route add 192.168.0.1 dev wg0"
|
||||
alias copy="wl-copy"
|
||||
alias current="cd ~/projects/wingman/website/ && nvim"
|
||||
alias matrix="~/projects/random-clones/matrix/matrix"
|
||||
alias nmatrix="neo-matrix -DS 3"
|
||||
|
||||
# LLMs
|
||||
alias llamasrv="~/projects/pkgs/llama.cpp/build/bin/llama-server"
|
||||
abbr llamastart "llamasrv --host 0.0.0.0 --port 11343 --models-max 3 --models-preset ~/Documents/models/config.ini"
|
||||
|
||||
# Shorts
|
||||
alias fzf="fzf --multi --preview 'bat --style=numbers --color=always {}' | xargs -n 1 nvim"
|
||||
alias grep="grep --color=auto"
|
||||
|
||||
# Git
|
||||
alias gs="git status --short"
|
||||
alias gca="git add -p . && git commit"
|
||||
alias gd="git diff --word-diff"
|
||||
alias gl="git log --graph --show-signature"
|
||||
alias gla="git log --all --decorate --oneline --graph"
|
||||
alias gls="serie"
|
||||
alias gm="git merge"
|
||||
alias gm="git merge"
|
||||
|
||||
# List Directory
|
||||
alias ls="lsd"
|
||||
@@ -42,13 +44,28 @@ alias la="ls -a"
|
||||
alias lla="ls -la"
|
||||
alias lt="ls --tree"
|
||||
|
||||
# Git
|
||||
alias gs="git status"
|
||||
alias gca="git add -p . && git commit"
|
||||
alias gd="git diff --word-diff"
|
||||
alias gl="git log --graph --show-signature"
|
||||
alias gla="git log --all --decorate --oneline --graph"
|
||||
alias gm="git merge"
|
||||
alias cdots="cd ~/.dotfiles/.config/"
|
||||
alias cpnotes="cd ~/sync/PersonalNotes/"
|
||||
abbr dots "cdots && nvim"
|
||||
abbr pnotes "cpnotes && nvim"
|
||||
abbr todo "cpnotes && nvim ToDoNext.md"
|
||||
|
||||
abbr cat "bat -p"
|
||||
abbr copy "wl-copy"
|
||||
abbr img "kitten icat"
|
||||
abbr fm "yazi" ## file manager
|
||||
abbr lg "lazygit"
|
||||
abbr mkdir "mkdir -p"
|
||||
abbr faillock "sudo faillock --reset"
|
||||
abbr ipadd "sudo ip route add 192.168.0.234 dev wg0"
|
||||
abbr xremaps "sudo xremap --watch ~/.config/xremap/config.yml"
|
||||
abbr pacs "sudo pacman -Syu --noconfirm"
|
||||
abbr yays "yay --noconfirm --sudoloop"
|
||||
abbr nmaps "sudo nmap -sn 192.168.0.0/24"
|
||||
abbr scrcpyc 'scrcpy -wSK -m 1920 --window-borderless --always-on-top --power-off-on-close'
|
||||
abbr scrcpys 'scrcpy -wS --power-off-on-close'
|
||||
abbr aliases "bat ~/.config/fish/config.fish"
|
||||
abbr tts "tt -notheme -bold -showwpm -json"
|
||||
|
||||
# Handy change dir shortcuts
|
||||
abbr .. "cd .."
|
||||
@@ -57,13 +74,20 @@ abbr .3 "cd ../../.."
|
||||
abbr .4 "cd ../../../.."
|
||||
abbr .5 "cd ../../../../.."
|
||||
|
||||
# Always mkdir a path (this doesn't inhibit functionality to make a single dir)
|
||||
abbr mkdir "mkdir -p"
|
||||
|
||||
abbr pwwa "~/projects/wingman/website/src/assets/"
|
||||
abbr scrp "~/projects/scripts/"
|
||||
|
||||
zoxide init --cmd cd fish | source
|
||||
export PATH="$HOME/.cargo/bin:$PATH"
|
||||
thefuck --alias | source
|
||||
|
||||
# Created by `pipx` on 2025-05-31 20:14:06
|
||||
set PATH $PATH /home/anon/.local/bin
|
||||
|
||||
# pnpm
|
||||
set -gx PNPM_HOME "/home/anon/.local/share/pnpm"
|
||||
if not string match -q -- $PNPM_HOME $PATH
|
||||
set -gx PATH "$PNPM_HOME" $PATH
|
||||
end
|
||||
# pnpm end
|
||||
|
||||
|
||||
|
||||
fnm env --use-on-cd --shell fish | source
|
||||
|
||||
@@ -1,46 +1,7 @@
|
||||
# This file contains fish universal variable definitions.
|
||||
# VERSION: 3.0
|
||||
SETUVAR --export BAT_THEME:gruvbox
|
||||
SETUVAR --export EDITOR:nvim
|
||||
SETUVAR --export MANPAGER:nvim\x20\x2bMan\x21
|
||||
SETUVAR --export MANROFFOPT:\x2dP\x20\x2dc
|
||||
SETUVAR __fish_initialized:3800
|
||||
SETUVAR fish_color_autosuggestion:4D5566
|
||||
SETUVAR fish_color_cancel:\x2dr
|
||||
SETUVAR fish_color_command:39BAE6
|
||||
SETUVAR fish_color_comment:626A73
|
||||
SETUVAR fish_color_cwd:59C2FF
|
||||
SETUVAR fish_color_cwd_root:red
|
||||
SETUVAR fish_color_end:F29668
|
||||
SETUVAR fish_color_error:FF3333
|
||||
SETUVAR fish_color_escape:95E6CB
|
||||
SETUVAR fish_color_history_current:\x2d\x2dbold
|
||||
SETUVAR fish_color_host:normal
|
||||
SETUVAR fish_color_host_remote:yellow
|
||||
SETUVAR fish_color_keyword:39BAE6
|
||||
SETUVAR fish_color_match:F07178
|
||||
SETUVAR fish_color_normal:B3B1AD
|
||||
SETUVAR fish_color_operator:E6B450
|
||||
SETUVAR fish_color_option:B3B1AD
|
||||
SETUVAR fish_color_param:B3B1AD
|
||||
SETUVAR fish_color_quote:C2D94C
|
||||
SETUVAR fish_color_redirection:FFEE99
|
||||
SETUVAR fish_color_search_match:\x2d\x2dbackground\x3dE6B450
|
||||
SETUVAR fish_color_selection:\x2d\x2dbackground\x3dE6B450
|
||||
SETUVAR fish_color_status:red
|
||||
SETUVAR fish_color_user:brgreen
|
||||
SETUVAR fish_color_valid_path:\x2d\x2dunderline
|
||||
SETUVAR fish_key_bindings:fish_vi_key_bindings
|
||||
SETUVAR fish_pager_color_background:\x1d
|
||||
SETUVAR fish_pager_color_completion:normal
|
||||
SETUVAR fish_pager_color_description:B3A06D\x1eyellow
|
||||
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
|
||||
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
||||
SETUVAR fish_pager_color_secondary_background:\x1d
|
||||
SETUVAR fish_pager_color_secondary_completion:\x1d
|
||||
SETUVAR fish_pager_color_secondary_description:\x1d
|
||||
SETUVAR fish_pager_color_secondary_prefix:\x1d
|
||||
SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3dE6B450
|
||||
SETUVAR fish_pager_color_selected_completion:\x1d
|
||||
SETUVAR fish_pager_color_selected_description:\x1d
|
||||
SETUVAR fish_pager_color_selected_prefix:\x1d
|
||||
SETUVAR TMP:/tmp/tmp\x2eYYqSsNsses
|
||||
SETUVAR __fish_initialized:4300
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
function askllama --description 'answer from llama'
|
||||
~/projects/pkgs/llama.cpp/build/bin/llama-simple -m ~/Documents/models/Qwen3-4B-Instruct-2507.Q4_K_M.gguf $(string join '+' $argv[1..])
|
||||
end
|
||||
@@ -0,0 +1,3 @@
|
||||
function bashs --description 'raw bash command'
|
||||
bash -c "$argv"
|
||||
end
|
||||
@@ -0,0 +1,24 @@
|
||||
function c2-worktree
|
||||
if test (count $argv) -ne 1
|
||||
echo "Usage: pkg-worktree <branch-name>"
|
||||
echo "Example: pkg-worktree package/package-update"
|
||||
return 1
|
||||
end
|
||||
|
||||
set branch $argv[1]
|
||||
set dir (basename $branch)
|
||||
|
||||
git checkout -b $branch
|
||||
or return 1
|
||||
|
||||
git checkout master
|
||||
or return 1
|
||||
|
||||
git worktree add $dir $branch
|
||||
or return 1
|
||||
|
||||
cd $dir
|
||||
or return 1
|
||||
|
||||
pnpm i
|
||||
end
|
||||
@@ -0,0 +1,3 @@
|
||||
function clis --description 'fzf select cli'
|
||||
eval (string split "\n" (cat $HOME/.config/misc/clis.txt) | bashs "fzf --multi")
|
||||
end
|
||||
@@ -5,4 +5,6 @@ function fish_user_key_bindings
|
||||
bind -M default ctrl-e end-of-line
|
||||
bind -M insert ctrl-space accept-autosuggestion
|
||||
bind -M insert ctrl-g 'git diff' repaint
|
||||
bind -M insert ctrl-o execute yazi
|
||||
bind -M insert ctrl-l clear-screen ls repaint
|
||||
end
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
function opencodes --description 'bubblewraped opencode'
|
||||
bwrap --unshare-all \
|
||||
--new-session \
|
||||
--clearenv \
|
||||
--die-with-parent \
|
||||
--share-net \
|
||||
--dev /dev \
|
||||
--proc /proc \
|
||||
--ro-bind /usr /usr \
|
||||
--ro-bind /lib /lib \
|
||||
--ro-bind /lib64 /lib64 \
|
||||
--ro-bind /bin /bin \
|
||||
--ro-bind /etc /etc \
|
||||
--ro-bind ~/.config/opencode ~/.config/opencode \
|
||||
--tmpfs /tmp/node-compile-cache \
|
||||
--bind ~/.local/state/opencode ~/.local/state/opencode \
|
||||
--bind ~/.local/share/opencode ~/.local/share/opencode \
|
||||
--bind "$(pwd)" "$(pwd)" \
|
||||
opencode
|
||||
end
|
||||
# strace -f -e trace=%file opencode
|
||||
@@ -0,0 +1,3 @@
|
||||
function sshf --description 'fzf select for ssh hosts'
|
||||
ssh $(grep Host -w ~/.ssh/config | awk '{print $2}' | bashs "fzf --multi")
|
||||
end
|
||||
@@ -0,0 +1,3 @@
|
||||
function tuis --description 'fzf select tui'
|
||||
eval (string split "\n" (cat $HOME/.config/misc/tuis.txt) | bashs "fzf --multi")
|
||||
end
|
||||
@@ -1,27 +1,21 @@
|
||||
|
||||
#! ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
#! █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Animations/
|
||||
# HyDE Controlled content // DO NOT EDIT
|
||||
# Edit or add animations in the ./hypr/animations/ directory
|
||||
# and run the 'animations.sh select' command to update this file
|
||||
|
||||
# animations {
|
||||
# enabled = yes
|
||||
# bezier = wind, 0.05, 0.9, 0.1, 1.05
|
||||
# bezier = winIn, 0.1, 1.1, 0.1, 1.1
|
||||
# bezier = winOut, 0.3, -0.3, 0, 1
|
||||
# bezier = liner, 1, 1, 1, 1
|
||||
# animation = windows, 1, 6, wind, slide
|
||||
# animation = windowsIn, 1, 6, winIn, slide
|
||||
# animation = windowsOut, 1, 5, winOut, slide
|
||||
# animation = windowsMove, 1, 5, wind, slide
|
||||
# animation = border, 1, 1, liner
|
||||
# animation = borderangle, 1, 30, liner, loop
|
||||
# animation = fade, 1, 10, default
|
||||
# animation = workspaces, 1, 5, wind
|
||||
# }
|
||||
$ANIMATION=theme
|
||||
$ANIMATION_PATH=~/.config/hypr/animations/theme.conf
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
bezier = wind, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = winIn, 0.1, 1.1, 0.1, 1.1
|
||||
bezier = winOut, 0.3, -0.3, 0, 1
|
||||
bezier = liner, 1, 1, 1, 1
|
||||
animation = windows, 1, 6, wind, slide
|
||||
animation = windowsIn, 1, 6, winIn, slide
|
||||
animation = windowsOut, 1, 5, winOut, slide
|
||||
animation = windowsMove, 1, 5, wind, slide
|
||||
animation = border, 1, 1, liner
|
||||
animation = borderangle, 1, 30, liner, loop
|
||||
animation = fade, 1, 10, default
|
||||
animation = workspaces, 1, 5, wind
|
||||
}
|
||||
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Get the current battery percentage
|
||||
battery_percentage=$(cat /sys/class/power_supply/BAT0/capacity)
|
||||
|
||||
# Get the battery status (Charging or Discharging)
|
||||
battery_status=$(cat /sys/class/power_supply/BAT0/status)
|
||||
|
||||
# Define the battery icons for each 10% segment
|
||||
battery_icons=("" "" "" "" "" "" "" "" "" "")
|
||||
|
||||
# Define the charging icon
|
||||
charging_icon=""
|
||||
|
||||
# Calculate the index for the icon array
|
||||
icon_index=$((battery_percentage / 10))
|
||||
|
||||
# Get the corresponding icon
|
||||
battery_icon=${battery_icons[icon_index]}
|
||||
|
||||
# Check if the battery is charging
|
||||
if [ "$battery_status" = "Charging" ]; then
|
||||
battery_icon="$charging_icon"
|
||||
fi
|
||||
|
||||
# Output the battery percentage and icon
|
||||
echo "$battery_percentage% $battery_icon"
|
||||
+18
-26
@@ -10,41 +10,33 @@
|
||||
$LOCKSCREEN = lockscreen.sh # Calls $LOCKSCREEN set from hyprland
|
||||
|
||||
general {
|
||||
lock_cmd = $LOCKSCREEN
|
||||
unlock_cmd = #notify-send "unlock!" # same as above, but unlock
|
||||
before_sleep_cmd = $LOCKSCREEN # command ran before sleep
|
||||
after_sleep_cmd = # notify-send "Awake!" # command ran after sleep
|
||||
ignore_dbus_inhibit = 0
|
||||
lock_cmd = pidof hyprlock || hyprlock
|
||||
on_unlock_cmd = bash -c 'notify-send "Welcome back!"'
|
||||
before_sleep_cmd = loginctl lock-session
|
||||
after_sleep_cmd = bash -c 'brightnessctl -r; brightnessctl -d tpacpi::kbd_backlight set 1; hyprctl dispatch dpms on'
|
||||
}
|
||||
|
||||
# Dims the display
|
||||
listener {
|
||||
timeout = 120
|
||||
on-timeout = { brightnessctl -s && brightnessctl s 1% ;}
|
||||
on-resume = brightnessctl -r
|
||||
timeout = 180
|
||||
on-timeout = bash -c 'brightnessctl -s set 50'
|
||||
on-resume = bash -c 'brightnessctl -r'
|
||||
}
|
||||
|
||||
# Lock it first before dpms off so that screen won't show for a moment after wake up.
|
||||
listener {
|
||||
timeout = 240
|
||||
on-timeout = $LOCKSCREEN
|
||||
timeout = 250 # 5min
|
||||
on-timeout = loginctl lock-session # lock screen when timeout has passed
|
||||
}
|
||||
|
||||
# DPMS off
|
||||
listener {
|
||||
timeout = 2300
|
||||
on-timeout = hyprctl dispatch dpms off #do not turn off display while media is playing
|
||||
on-resume = hyprctl dispatch dpms on
|
||||
timeout = 350 # 3.6 minutes
|
||||
on-timeout = bash -c 'brightnessctl -r; brightnessctl -s set 10; brightnessctl -d tpacpi::kbd_backlight set 0; hyprctl dispatch dpms off'
|
||||
on-resume = bash -c 'brightnessctl -r; brightnessctl -d tpacpi::kbd_backlight set 1; hyprctl dispatch dpms on'
|
||||
}
|
||||
|
||||
# Suspend
|
||||
# listener {
|
||||
# timeout = 500
|
||||
# on-timeout = systemctl suspend
|
||||
# }
|
||||
|
||||
# hyprlang noerror true
|
||||
# Source anything from this path if you want to add your own listener
|
||||
# source command actually do not exist yet
|
||||
source = ~/.config/hypridle/*
|
||||
# hyprlang noerror false
|
||||
listener {
|
||||
timeout = 550 # 5.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.
|
||||
}
|
||||
|
||||
|
||||
+138
-101
@@ -1,118 +1,155 @@
|
||||
#! ░▒▒▒░░░▓▓ ___________
|
||||
#! ░░▒▒▒░░░░░▓▓ //___________/
|
||||
#! ░░▒▒▒░░░░░▓▓ _ _ _ _ _____
|
||||
#! ░░▒▒░░░░░▓▓▓▓▓▓ | | | | | | | __/
|
||||
#! ░▒▒░░░░▓▓ ▓▓ | |_| | |_/ /| |___
|
||||
#! ░▒▒░░▓▓ ▓▓ \__ |____/ |____/
|
||||
#! ░▒▓▓ ▓▓ //____/
|
||||
|
||||
#? HyDE's Hyprland Configuration
|
||||
# First, let's understand the structure of the configuration file
|
||||
# It is divided into 3 sections: Boilerplate, Overrides, and Users
|
||||
#* 1. Boilerplate
|
||||
# - This section is for the default configuration of HyDE
|
||||
# - It is recommended to not change this section
|
||||
# - Filepath: $XDG_DATA_HOME/share/hyde/hyprland.conf
|
||||
#* 2. Overrides
|
||||
# - This section is for overriding the default configuration of HyDE
|
||||
# - Change this section if you intended to:
|
||||
# - Change the startup and env variables
|
||||
# - Stop a app/service from starting
|
||||
# - Override HyDE specific variables
|
||||
# - Filepath: $XDG_CONFIG_HOME/hypr/hyde.conf
|
||||
#* 3. Users
|
||||
# - This section is for user configuration
|
||||
# - It is recommended to change this section to your liking
|
||||
# - Filepath: ./keybindings.conf, ./windowrules.conf, ./monitors.conf, ./userprefs.conf
|
||||
# ░▒▒▒░░░░░▓▓ ___________
|
||||
# ░░▒▒▒░░░░░▓▓ //___________/
|
||||
# ░░▒▒▒░░░░░▓▓ _ _ _ _ _____
|
||||
# ░░▒▒░░░░░▓▓▓▓▓▓ | | | | | | | __/
|
||||
# ░▒▒░░░░▓▓ ▓▓ | |_| | |_/ /| |___
|
||||
# ░▒▒░░▓▓ ▓▓ \__ |____/ |____/
|
||||
# ░▒▓▓ ▓▓ //____/
|
||||
|
||||
|
||||
$scrPath = $HOME/.local/share/bin # set scripts path
|
||||
|
||||
|
||||
# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█
|
||||
# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
|
||||
# monitor = ,preferred,auto,auto
|
||||
|
||||
|
||||
# █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
|
||||
# █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
|
||||
exec-once = $scrPath/resetxdgportal.sh # reset XDPH for screenshare
|
||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
|
||||
exec-once = dbus-update-activation-environment --systemd --all # for XDPH
|
||||
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
|
||||
exec-once = $scrPath/polkitkdeauth.sh # authentication dialogue for GUI apps
|
||||
exec-once = waybar # launch the system bar
|
||||
exec-once = blueman-applet # systray app for Bluetooth
|
||||
exec-once = udiskie --no-automount --smart-tray # front-end that allows to manage removable media
|
||||
exec-once = nm-applet --indicator # systray app for Network/Wifi
|
||||
exec-once = dunst # start notification demon
|
||||
exec-once = wl-paste --type text --watch cliphist store # clipboard store text data
|
||||
exec-once = wl-paste --type image --watch cliphist store # clipboard store image data
|
||||
exec-once = $scrPath/swwwallpaper.sh # start wallpaper daemon
|
||||
exec-once = $scrPath/batterynotify.sh # battery notification
|
||||
exec-once = xremap --watch ~/.config/xremap/config.yml
|
||||
exec-once = hypridle
|
||||
|
||||
|
||||
|
||||
#? Boilerplate
|
||||
source = ~/.local/share/hyde/hyprland.conf
|
||||
# █▀▀ █▄░█ █░█
|
||||
# ██▄ █░▀█ ▀▄▀
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
||||
|
||||
env = PATH,$PATH:$scrPath
|
||||
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||
env = XDG_SESSION_TYPE,wayland
|
||||
env = XDG_SESSION_DESKTOP,Hyprland
|
||||
env = QT_QPA_PLATFORM,wayland;xcb
|
||||
env = QT_QPA_PLATFORMTHEME,qt6ct
|
||||
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
||||
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
||||
env = MOZ_ENABLE_WAYLAND,1
|
||||
env = GDK_SCALE,1
|
||||
|
||||
|
||||
#? Overrides
|
||||
# Overriding startup and env variables
|
||||
# To avoid breaking and conflicts, HyDE will use variables to store the env and startup variables
|
||||
# See ~/.config/hypr/hyde.conf for overriding the default env and startup variables
|
||||
#* startup:
|
||||
# - The startup variables are the variables that are set when the shell starts
|
||||
# - $start.BAR=waybar will launch waybar on startup (default waybar)
|
||||
# - $start.BAR= will unset the variable
|
||||
# - $start.BAR=other_bar will launch other_bar on startup, overriding the default (waybar)
|
||||
#* env:
|
||||
# - The env variables are the variables that are set when the shell starts
|
||||
# - $env.QT_QPA_PLATFORMTHEME= will unset the variable
|
||||
# - $env.QT_QPA_PLATFORMTHEME=qt6ct will set the variable to qt6ct
|
||||
# for updated configuration, see the https://github.com/HyDE-Project/HyDE/blob/master/Configs/.config/hypr/hyde.conf
|
||||
# █ █▄░█ █▀█ █░█ ▀█▀
|
||||
# █ █░▀█ █▀▀ █▄█ ░█░
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/
|
||||
|
||||
# keyremap
|
||||
input {
|
||||
kb_layout = us
|
||||
# kb_options=caps:swapescape
|
||||
# kb_options=caps:ctrl_modifier
|
||||
# follow_mouse = 1
|
||||
|
||||
touchpad {
|
||||
natural_scroll = no
|
||||
}
|
||||
|
||||
force_no_accel = 0
|
||||
sensitivity = +1.0
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#executing
|
||||
|
||||
device {
|
||||
name = ps/2-generic-mouse
|
||||
sensitivity = +1.0
|
||||
middle_button_emulation = true
|
||||
}
|
||||
|
||||
device {
|
||||
name = synps/2-synaptics-touchpad
|
||||
sensitivity = 0.1
|
||||
}
|
||||
|
||||
device {
|
||||
name = xremap
|
||||
sensitivity = +1.0
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/
|
||||
|
||||
# gestures {
|
||||
# workspace_swipe = true
|
||||
# workspace_swipe_fingers = 3
|
||||
# }
|
||||
|
||||
|
||||
#? Users
|
||||
# These files are for user configuration
|
||||
# Edit the files to your liking
|
||||
# Refer to https://wiki.hyprland.org
|
||||
source = ./keybindings.conf # Keyboard shortcuts
|
||||
source = ./windowrules.conf # Window rules
|
||||
source = ./monitors.conf # Monitor configuration
|
||||
source = ./userprefs.conf # Personal hyprland configuration
|
||||
# █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀
|
||||
# █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/
|
||||
|
||||
dwindle {
|
||||
# pseudotile = yes
|
||||
preserve_split = yes
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/
|
||||
|
||||
master {
|
||||
new_status = master
|
||||
}
|
||||
|
||||
|
||||
# █▀▄▀█ █ █▀ █▀▀
|
||||
# █░▀░█ █ ▄█ █▄▄
|
||||
|
||||
#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/
|
||||
|
||||
#? █▀█ █▀▀ █▀▀ █▀▀ █▀█ █▀▀ █▄░█ █▀▀ █▀▀
|
||||
#? █▀▄ ██▄ █▀░ ██▄ █▀▄ ██▄ █░▀█ █▄▄ ██▄
|
||||
misc {
|
||||
vrr = 0
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = true
|
||||
force_default_wallpaper = 0
|
||||
}
|
||||
|
||||
#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄
|
||||
xwayland {
|
||||
force_zero_scaling = true
|
||||
}
|
||||
|
||||
|
||||
#? Reference
|
||||
# Configurations below are for reference ONLY
|
||||
# They are not essential for HyDE to work but can be used to enhance QOL
|
||||
# Copy the config line and paste it in the Users section to use it
|
||||
# This is to prevent bloating users configuration files when not needed
|
||||
# █▀ █▀█ █░█ █▀█ █▀▀ █▀▀
|
||||
# ▄█ █▄█ █▄█ █▀▄ █▄▄ ██▄
|
||||
|
||||
# // █▀▀ █▄░█ █░█
|
||||
# // ██▄ █░▀█ ▀▄▀
|
||||
source = ~/.config/hypr/animations.conf
|
||||
source = ~/.config/hypr/keybindings.conf
|
||||
source = ~/.config/hypr/windowrules.conf
|
||||
source = ~/.config/hypr/themes/common.conf # shared theme settings
|
||||
source = ~/.config/hypr/themes/theme.conf # theme specific settings
|
||||
source = ~/.config/hypr/themes/colors.conf # wallbash color override
|
||||
source = ~/.config/hypr/monitors.conf # initially empty, to be configured by user and remains static
|
||||
source = ~/.config/hypr/userprefs.conf # initially empty, to be configured by user and remains static
|
||||
|
||||
# env = MANGOHUD,1
|
||||
# env = MANGOHUD_DLSYM,1
|
||||
|
||||
|
||||
# // █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
|
||||
# // █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
|
||||
|
||||
# bind = Ctrl+Alt+Shift, R, pass, ^(com\.obsproject\.Studio)$ # toggle obs screen recording // install obs flatpak
|
||||
# bind = $mainMod+Shift, G, exec, pkill -x rofi || $scrPath/gamelauncher.sh # launch steam game launcher // install steam
|
||||
# bind = $mainMod, Period, exec, emote # launch emoji selector // install emote
|
||||
# bind = $mainMod+Alt, XF86MonBrightnessDown, exec, hyprshade on blue-light-filter # enable blue light filter // install hyprshade
|
||||
# bind = $mainMod+Alt, XF86MonBrightnessUp, exec, hyprshade off # disable blue light filter // install hyprshade
|
||||
|
||||
|
||||
# // █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
|
||||
# // █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
|
||||
|
||||
# exec-once = swayidle -w timeout 600 'swaylock' timeout 900 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' # lock after 10 mins, sleep after 15 mins // install swayidle
|
||||
# exec-once = swayidle -w timeout 1200 'swaylock; hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' timeout 1800 'systemctl suspend' # lock and sleep after 20 mins, suspend after 30 mins // install swayidle
|
||||
|
||||
# exec-once = libinput-gestures // install libinput-gestures
|
||||
|
||||
# exec-once = swayosd-server # enable swayosd service
|
||||
# exec-once = `pkexec swayosd-libinput-backend` # swayosd service for keyboard input (requires to be run in a subshell)
|
||||
|
||||
# // █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█ █▀█ █░█ █░░ █▀▀ █▀
|
||||
# // ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀ █▀▄ █▄█ █▄▄ ██▄ ▄█
|
||||
|
||||
# windowrulev2 = opacity 0.60 0.60,class:^(Steam)$
|
||||
# windowrulev2 = opacity 0.60 0.60,class:^(steam)$
|
||||
# windowrulev2 = opacity 0.60 0.60,class:^(steamwebhelper)$
|
||||
# windowrulev2 = opacity 0.60 0.60,class:^(Spotify)$
|
||||
|
||||
|
||||
# // █░█ █▀▄▀█
|
||||
# // ▀▄▀ █░▀░█
|
||||
|
||||
# bind = Ctrl+Alt_L, V, submap, passthrough
|
||||
# submap = passthrough
|
||||
# bind = Ctrl+Alt_L, V, submap, reset
|
||||
# submap = reset
|
||||
# Note: as userprefs.conf is sourced at the end, settings configured in this file will override the defaults
|
||||
|
||||
+108
-76
@@ -2,83 +2,115 @@
|
||||
#! █▀█ ░█░ █▀▀ █▀▄ █▄▄ █▄█ █▄▄ █░█
|
||||
|
||||
#* Hyprlock Configuration File
|
||||
# Please do not edit this file manually.
|
||||
# Follow the instructions below on how to make changes.
|
||||
|
||||
$fontColor = rgba(255,255,255,0.5)
|
||||
$fontFamily = SourceCodeVF ExtraBold
|
||||
$timeFontFamily = Cantarell ExtraBold
|
||||
|
||||
general {
|
||||
no_fade_in = true
|
||||
grade = 1
|
||||
ignore_empty_input = true
|
||||
text_trim = true
|
||||
fade_in_time = 0.8
|
||||
disable_loading_bar = 0
|
||||
}
|
||||
|
||||
background {
|
||||
monitor =
|
||||
path = ~/sync/Drive/pics/foss-world-crop.png
|
||||
blur_passes = 2
|
||||
blur_size = 4
|
||||
contrast = 0.7
|
||||
brightness = 0.3
|
||||
vibrancy = 0.15
|
||||
vibrancy_darkness = 0.5
|
||||
}
|
||||
|
||||
image {
|
||||
monitor =
|
||||
path = ~/sync/Drive/pics/matrixom-crop.png
|
||||
position = 0, 80
|
||||
reload_time = -1
|
||||
reload_cmd =
|
||||
}
|
||||
|
||||
input-field {
|
||||
monitor =
|
||||
size = 20%, 5%
|
||||
position = 0, -60
|
||||
outline_thickness = 3
|
||||
dots_size = 0.08
|
||||
dots_spacing = 0.2
|
||||
dots_center = true
|
||||
outer_color = rgba(0,0,0,0.1)
|
||||
inner_color = $fontColor
|
||||
fade_on_empty = true
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:5000] echo "<span alpha='40%'>$(uptime -p)</span>"
|
||||
color = $fontColor
|
||||
font_family = $fontFamily
|
||||
font_size = 15
|
||||
position = 0, 350
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:300000] echo "<span alpha='50%'>$(cat ~/.config/fish/greet.txt)</span>"
|
||||
color = $fontColor
|
||||
font_family = $fontFamily
|
||||
font_size = 14
|
||||
position = 0, 310
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "<span alpha='50%'>$(date +"%H:%M")</span>"
|
||||
color = $fontColor
|
||||
font_family = $timeFontFamily
|
||||
font_size = 120
|
||||
position = 0, -180
|
||||
animation = pulse 2s infinite
|
||||
opacity = 0.5
|
||||
shadow_passes = 1
|
||||
shadow_size = 1
|
||||
shadow_color = rgba(0, 0, 0, 0.5)
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "<span alpha='50%'>$(LC_TIME=en_US.UF-8 date +'%A, %B %d')</span>"
|
||||
color = $fontColor
|
||||
font_family = $fontFamily
|
||||
font_size = 25
|
||||
position = 0, -300
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo -e "<span alpha='50%'>$(~/.config/hypr/battery.sh)</span>"
|
||||
color = $fontColor
|
||||
font_family = $fontFamily
|
||||
font_size = 14
|
||||
position = -50, 30
|
||||
halign = right
|
||||
valign = bottom
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
color = $fontColor
|
||||
text = cmd[] echo "<span alpha='50%'>⏻ </span>"
|
||||
font-size=24
|
||||
onclick = systemctl poweroff
|
||||
position = 50, 30
|
||||
halign = left
|
||||
valign = bottom
|
||||
}
|
||||
|
||||
|
||||
#* Hyprlock active layout path:
|
||||
# Set the layout path to be used by Hyprlock.
|
||||
# Check the available layouts in the './hyprlock/' directory.
|
||||
# Example: /=/path/to/anurati
|
||||
$LAYOUT_PATH=~/.config/hypr/hyprlock/theme.conf
|
||||
|
||||
#* Persistent layout declaration
|
||||
# If a persistent layout path is declared in $XDG_CONFIG_HOME/hypr/hyde.conf,
|
||||
# the above layout setting will be ignored.
|
||||
# this should be the full path to the layout file.
|
||||
|
||||
#* All boilerplate configurations are handled by HyDE
|
||||
source = ~/.local/share/hyde/hyprlock.conf
|
||||
|
||||
#* Making a custom layout
|
||||
# To create a custom layout, make a file in the './hyprlock/' directory.
|
||||
# Example: './hyprlock/your_custom.conf'
|
||||
# To use the custom layout, set the following variable:
|
||||
# $LAYOUT_PATH=your_custom
|
||||
# The custom layout will be sourced automatically.
|
||||
# Alternatively, you can statically source the layout in '~/.config/hypr/hyde.conf'.
|
||||
# This will take precedence over the variable in '~/.config/hypr/hyprlock.conf'.
|
||||
|
||||
|
||||
#* Command Variables
|
||||
# Hyprlock ships with there default variables that can be used to customize the lock screen.
|
||||
# - https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#label
|
||||
# HyDE also provides custom variables that extend the functionality of Hyprlock.
|
||||
|
||||
# $BACKGROUND_PATH
|
||||
# - The path to the wallpaper image.
|
||||
|
||||
# $HYPRLOCK_BACKGROUND
|
||||
# - The path to the static hyprlock wallpaper image.
|
||||
# - Can be set to set a static wallpaper for Hyprlock.
|
||||
|
||||
# $MPRIS_IMAGE
|
||||
# - The path to the MPRIS image.
|
||||
# - If MPRIS is not available, it will show the ~/.face.icon image
|
||||
# - if available, otherwise, it will show the HyDE logo.
|
||||
|
||||
# $PROFILE_IMAGE
|
||||
# - The path to the profile image.
|
||||
# - If the image is not available, it will show the ~/.face.icon image
|
||||
# - if available, otherwise, it will show the HyDE logo.
|
||||
|
||||
# $GREET_TEXT
|
||||
# - A greeting text to be displayed on the lock screen.
|
||||
# - The text will be updated every hour.
|
||||
|
||||
# $resolve.font
|
||||
# - Resolves the font name and download link.
|
||||
# - HyDE will run 'font.sh resolve' to install the font for you.
|
||||
# - Note that you needed to have a network connection to download the font.
|
||||
# - You also need to restart Hyprlock to apply the font.
|
||||
|
||||
# cmd [update:1000] $MPRIS_TEXT
|
||||
# - Text from media players in "Title Author" format.
|
||||
|
||||
|
||||
# cmd [update:1000] $SPLASH_CMD
|
||||
# - Outputs the song title when MPRIS is available,
|
||||
# - otherwise, it will output the splash command.
|
||||
|
||||
# cmd [update:1] $CAVA_CMD
|
||||
# - The command to be executed to get the CAVA output.
|
||||
# - ⚠️ (Use with caution as it eats up the CPU.)
|
||||
|
||||
# cmd [update:5000] $BATTERY_ICON
|
||||
# - The battery icon to be displayed on the lock screen.
|
||||
# - Only works if the battery is available.
|
||||
|
||||
# cmd [update:1000] $KEYBOARD_LAYOUT
|
||||
# - The current keyboard layout
|
||||
# - SUPER + K to change the keyboard layout (or any binding you set)
|
||||
|
||||
|
||||
+170
-199
@@ -1,54 +1,109 @@
|
||||
## █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
|
||||
## █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
|
||||
# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
|
||||
# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
|
||||
|
||||
# see https://wiki.hyprland.org/configuring/keywords/ for more
|
||||
# example binds, see https://wiki.hyprland.org/configuring/binds/ for more
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
# & https://wiki.hyprland.org/Configuring/Binds/
|
||||
|
||||
# Grouping of binds for easier management
|
||||
# $d=[Group Name|Subgroup Name1|Subgroup Name2|...]
|
||||
# '$d' is a variable that is used to group binds together (or use another variable)
|
||||
# This is only for organization purposes and is not a defined hyprland variable
|
||||
# What we did here is to modify the Description of the binds to include the group name
|
||||
# The $d will be parsed as a separate key to be use for a GUI or something pretty
|
||||
# [Main|Subgroup1|Subgroup2|...]
|
||||
# Main - The main groupname
|
||||
# Subgroup1.. - The subgroup names can be use to avoid repeating the same description
|
||||
# Main modifier
|
||||
$mainMod = Super # super / meta / windows key
|
||||
|
||||
|
||||
#* Variables
|
||||
# Default if commented out
|
||||
# $mainMod = Super # super / meta / windows key
|
||||
# Assign apps
|
||||
# $TERMINAL = kitty
|
||||
# $EDITOR = code
|
||||
# $EXPLORER = dolphin
|
||||
# $BROWSER = firefox
|
||||
$term = kitty # fish alacritty
|
||||
$file = dolphin
|
||||
$browser = librewolf
|
||||
$yt = freetube
|
||||
|
||||
$wm=Window Management
|
||||
$d=[$wm]
|
||||
bindd = $mainMod, Q, $d close focused window, exec, $scrPath/dontkillsteam.sh
|
||||
bindd = Alt, F4, $d close focused window, exec, $scrPath/dontkillsteam.sh
|
||||
bindd = $mainMod, Delete, $d kill hyprland session, exit
|
||||
bindd = $mainMod, W, $d toggle float, togglefloating, #
|
||||
bindd = $mainMod Shift, G, $d toggle group, togglegroup
|
||||
bindd = Shift, F11, $d toggle fullscreen, fullscreen
|
||||
bindd = Alt, Return, $d toggle fullscreen, fullscreen
|
||||
bindd = $mainMod, L, $d lock screen, exec, lockscreen.sh
|
||||
bindd = $mainMod Shift, F, $d toggle pin on focused window, exec, $scrPath/windowpin.sh
|
||||
bindd = Control Alt, Delete, $d logout menu, exec, $scrPath/logoutlaunch.sh
|
||||
bindd = Control Alt, W, $d toggle waybar and reload config, exec, killall waybar || waybar
|
||||
# bindd = Alt_R, Control_R, W, $d toggle waybar and reload config, exec, killall waybar || (env reload_flag=1 $scrPath/wbarconfgen.sh) # was throwing error
|
||||
# bindd = ALT_R, Control_R,toggle waybar, exec, killall waybar || waybar # toggle waybar without reloading, this is faster
|
||||
|
||||
# Window/Session actions
|
||||
bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # close focused window
|
||||
bind = Alt, F4, exec, $scrPath/dontkillsteam.sh # close focused window
|
||||
bind = $mainMod, Delete, exit, # kill hyprland session
|
||||
bind = $mainMod, W, togglefloating, # toggle the window between focus and float
|
||||
bind = $mainMod, G, togglegroup, # toggle the window between focus and group
|
||||
bind = Alt, Return, fullscreen, # toggle the window between focus and fullscreen
|
||||
bind = $mainMod, L, exec, hyprlock --immediate #& sleep 0.3 && hyprctl dispatch dpms off
|
||||
bind = Ctrl+Alt, W, exec, killall waybar || waybar # toggle waybar
|
||||
# bind = $mainMod+Shift, F, exec, $scrPath/windowpin.sh # toggle pin on focused window
|
||||
# bind = $mainMod, Backspace, exec, $scrPath/logoutlaunch.sh # launch logout menu
|
||||
|
||||
$d=[$wm|Group Navigation]
|
||||
bindd = $mainMod Control, H, $d change active group backwards , changegroupactive, b
|
||||
bindd = $mainMod Control, L, $d change active group forwards , changegroupactive, f
|
||||
# Application shortcuts
|
||||
bind = $mainMod, T, exec, $term
|
||||
bind = Ctrl+Alt, T, exec, $term # launch terminal emulator
|
||||
bind = Ctrl+Shift+Alt, T, exec, st # launch tilix terminal emulator - using for ssh
|
||||
bind = $mainMod+Shift, T, exec, st
|
||||
bind = $mainMod+Ctrl, T, exec, tilix # launch tilix terminal emulator
|
||||
bind = $mainMod, E, exec, $file # launch file manager
|
||||
bind = $mainMod, F, exec, $yt # launch yt alternative
|
||||
bind = $mainMod, B, exec, $browser # launch web browser
|
||||
bind = $mainMod + Shift, B, exec, chromium
|
||||
bind = $mainMod + Ctrl, B, exec, thorium-browser
|
||||
bind = $mainMod, G, exec, gajim # launch messanger
|
||||
bind = $mainMod, K, exec, keepassxc # launch password manager
|
||||
bind = $mainMod, Escape, exec, dunstctl close
|
||||
bindd = $mainMod, N, Neovim, exec, $term -e nvim
|
||||
bindd = $mainMod, R, $d pyradio, exec, kitty --session ~/.config/kitty/music.conf
|
||||
bindd = $mainMod, I, $d c2, exec, kitty --session ~/.config/kitty/c2.conf
|
||||
bindd = $mainMod, O, $d runners, exec, kitty --session ~/.config/kitty/runners.conf
|
||||
bindd = Ctrl+Shift, Escape, Btop, exec, kitty -e btop
|
||||
bindd = Ctrl+Alt, Delete, Btop, exec, kitty -e btop
|
||||
# bind = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top)
|
||||
|
||||
$d=[$wm|Change focus]
|
||||
bindd = $mainMod, Left, $d focus left, movefocus, l
|
||||
bindd = $mainMod, Right, $d focus right , movefocus, r
|
||||
bindd = $mainMod, Up, $d focus up , movefocus, u
|
||||
bindd = $mainMod, Down , $d focus down, movefocus, d
|
||||
|
||||
# Rofi menus
|
||||
bind = $mainMod, A, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher
|
||||
bind = $mainMod, Tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # launch window switcher
|
||||
bind = $mainMod+Shift, E, exec, pkill -x rofi || $scrPath/rofilaunch.sh f # launch file explorer
|
||||
|
||||
# Audio control
|
||||
# bindl = , F10, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
|
||||
# bindel = , F11, exec, $scrPath/volumecontrol.sh -o d # decrease volume
|
||||
# bindel = , F12, exec, $scrPath/volumecontrol.sh -o i # increase volume
|
||||
bindl = , XF86AudioMute, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
|
||||
bindl = , XF86AudioMicMute, exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute
|
||||
bindel = , XF86AudioLowerVolume, exec, $scrPath/volumecontrol.sh -o d # decrease volume
|
||||
bindel = , XF86AudioRaiseVolume, exec, $scrPath/volumecontrol.sh -o i # increase volume
|
||||
|
||||
# Media control
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause # toggle between media play and pause
|
||||
bindl = , XF86AudioPause, exec, playerctl play-pause # toggle between media play and pause
|
||||
bindl = , XF86AudioNext, exec, playerctl next # media next
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous # media previous
|
||||
|
||||
# Brightness control
|
||||
bindel = , XF86MonBrightnessUp, exec, $scrPath/brightnesscontrol.sh i # increase brightness
|
||||
bindel = , XF86MonBrightnessDown, exec, $scrPath/brightnesscontrol.sh d # decrease brightness
|
||||
|
||||
# Move between grouped windows
|
||||
# bind = $mainMod CTRL , H, changegroupactive, b
|
||||
# bind = $mainMod CTRL , L, changegroupactive, f
|
||||
|
||||
# Screenshot/Screencapture
|
||||
bind = $mainMod, P, exec, $scrPath/screenshot.sh s # partial screenshot capture
|
||||
bind = $mainMod+Ctrl, P, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen)
|
||||
bind = $mainMod+Alt, P, exec, $scrPath/screenshot.sh m # monitor screenshot capture
|
||||
bind = $mainMod+Shift, P, exec, hyprpicker # colorpicker
|
||||
bind = , Print, exec, $scrPath/screenshot.sh p # all monitors screenshot capture
|
||||
|
||||
# Custom scripts
|
||||
bind = $mainMod+Alt, G, exec, $scrPath/gamemode.sh # disable hypr effects for gamemode
|
||||
# bind = $mainMod+Alt, Right, exec, $scrPath/swwwallpaper.sh -n # next wallpaper
|
||||
# bind = $mainMod+Alt, Left, exec, $scrPath/swwwallpaper.sh -p # previous wallpaper
|
||||
# bind = $mainMod+Alt, Up, exec, $scrPath/wbarconfgen.sh n # next waybar mode
|
||||
# bind = $mainMod+Alt, Down, exec, $scrPath/wbarconfgen.sh p # previous waybar mode
|
||||
bind = $mainMod+Shift, R, exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # launch wallbash mode select menu
|
||||
# bind = $mainMod+Shift, T, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu
|
||||
bind = $mainMod+Shift, A, exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu
|
||||
bind = $mainMod+Shift, W, exec, pkill -x rofi || $scrPath/swwwallselect.sh # launch wallpaper select menu
|
||||
bind = $mainMod, V, exec, pkill -x rofi || $scrPath/cliphist.sh c # launch clipboard
|
||||
# bind = $mainMod, K, exec, $scrPath/keyboardswitch.sh # switch keyboard layout
|
||||
bind = $mainMod, slash, exec, pkill -x rofi || $scrPath/keybinds_hint.sh c # launch keybinds hint
|
||||
|
||||
# Move/Change window focus
|
||||
bind = $mainMod, Left, movefocus, l #chage focus to left window
|
||||
bind = $mainMod, Right, movefocus, r
|
||||
bind = $mainMod, Up, movefocus, u
|
||||
bind = $mainMod, Down, movefocus, d
|
||||
bindd = $mainMod Control, Left, $d focus left, movefocus, l
|
||||
bindd = $mainMod Control, Right, $d focus right , movefocus, r
|
||||
bindd = $mainMod Control, Up, $d focus up , movefocus, u
|
||||
@@ -67,17 +122,6 @@ bindd = Alt Control, k, $d focus up , movefocus, u
|
||||
bindd = Alt Control, j , $d focus down, movefocus, d
|
||||
bindd = Alt, Tab, $d focus , movefocus, d
|
||||
|
||||
$d=[$wm|Resize Active Window]
|
||||
# Resize windows
|
||||
bindde = $mainMod Shift, Right, $d resize window right , resizeactive, 30 0
|
||||
bindde = $mainMod Shift, Left, $d resize window left, resizeactive, -30 0
|
||||
bindde = $mainMod Shift, Up, $d resize window up, resizeactive, 0 -30
|
||||
bindde = $mainMod Shift, Down, $d resize window down, resizeactive, 0 30
|
||||
bindde = $mainMod Shift, l, $d resize window right , resizeactive, 30 0
|
||||
bindde = $mainMod Shift, h, $d resize window left, resizeactive, -30 0
|
||||
bindde = $mainMod Shift, k, $d resize window up, resizeactive, 0 -30
|
||||
bindde = $mainMod Shift, j, $d resize window down, resizeactive, 0 30
|
||||
|
||||
# Move active window around current workspace with mainMod + Shift + Control [←→↑↓]
|
||||
$d=[$wm|Move active window across workspace]
|
||||
$moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive
|
||||
@@ -90,161 +134,88 @@ bindde = $mainMod Alt, l, Move activewindow to the right, exec, $moveactivewindo
|
||||
bindde = $mainMod Alt, k, Move activewindow up, exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u
|
||||
bindde = $mainMod Alt, j, Move activewindow down, exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d
|
||||
|
||||
# Move/Resize focused window
|
||||
$d=[$wm|Move & Resize with mouse]
|
||||
binddm = $mainMod, mouse:272, $d hold to move window, movewindow
|
||||
binddm = $mainMod, mouse:273, $d hold to resize window, resizewindow
|
||||
binddm = $mainMod, Z, $d hold to move window , movewindow
|
||||
binddm = $mainMod, X, $d hold to resize window, resizewindow
|
||||
# Switch workspaces with mod + [0-9]
|
||||
bind = $mainMod, 1, workspace, r~1
|
||||
bind = $mainMod, 2, workspace, r~2
|
||||
bind = $mainMod, 3, workspace, r~3
|
||||
bind = $mainMod, 4, workspace, r~4
|
||||
bind = $mainMod, 5, workspace, r~5
|
||||
bind = $mainMod, 6, workspace, r~6
|
||||
bind = $mainMod, 7, workspace, r~7
|
||||
bind = $mainMod, 8, workspace, r~8
|
||||
bind = $mainMod, 9, workspace, r~9
|
||||
bind = $mainMod, 0, workspace, r~10
|
||||
|
||||
# Move focused window to a workspace
|
||||
bind = $mainMod+Ctrl, 1, movetoworkspace, r~1
|
||||
bind = $mainMod+Ctrl, 2, movetoworkspace, r~2
|
||||
bind = $mainMod+Ctrl, 3, movetoworkspace, r~3
|
||||
bind = $mainMod+Ctrl, 4, movetoworkspace, r~4
|
||||
bind = $mainMod+Ctrl, 5, movetoworkspace, r~5
|
||||
bind = $mainMod+Ctrl, 6, movetoworkspace, r~6
|
||||
bind = $mainMod+Ctrl, 7, movetoworkspace, r~7
|
||||
bind = $mainMod+Ctrl, 8, movetoworkspace, r~8
|
||||
bind = $mainMod+Ctrl, 9, movetoworkspace, r~9
|
||||
bind = $mainMod+Ctrl, 0, movetoworkspace, r~10
|
||||
|
||||
# Move focused window to a workspace silently
|
||||
bind = $mainMod+Alt, 1, movetoworkspacesilent, r~1
|
||||
bind = $mainMod+Alt, 2, movetoworkspacesilent, r~2
|
||||
bind = $mainMod+Alt, 3, movetoworkspacesilent, r~3
|
||||
bind = $mainMod+Alt, 4, movetoworkspacesilent, r~4
|
||||
bind = $mainMod+Alt, 5, movetoworkspacesilent, r~5
|
||||
bind = $mainMod+Alt, 6, movetoworkspacesilent, r~6
|
||||
bind = $mainMod+Alt, 7, movetoworkspacesilent, r~7
|
||||
bind = $mainMod+Alt, 8, movetoworkspacesilent, r~8
|
||||
bind = $mainMod+Alt, 9, movetoworkspacesilent, r~9
|
||||
bind = $mainMod+Alt, 0, movetoworkspacesilent, r~10
|
||||
|
||||
# Move/Switch to special workspace (scratchpad)
|
||||
bind = $mainMod+Alt, S, movetoworkspacesilent, special
|
||||
bind = $mainMod, S, togglespecialworkspace,
|
||||
|
||||
# Toggle focused window split
|
||||
$d=[$wm]
|
||||
bindd = $mainMod, J, $d toggle split, togglesplit
|
||||
|
||||
$l=Launcher
|
||||
$d=[$l|Apps]
|
||||
bindd = $mainMod, T, $d terminal emulator , exec, $TERMINAL
|
||||
bindd = Control Alt, T, $d terminal emulator , exec, $TERMINAL
|
||||
# bindd = Control Shift, Alt, T, $d terminal emulator , exec, tilix # launch tilix terminal emulator - using for ssh
|
||||
bindd = $mainMod Control, T, $d terminal emulator, exec, tilix # launch tilix terminal emulator
|
||||
bindd = $mainMod, E, $d file explorer , exec, $EXPLORER
|
||||
bindd = $mainMod, C, $d text editor , exec, $EDITOR
|
||||
bindd = $mainMod, B, $d web browser , exec, $BROWSER
|
||||
bindd = $mainMod Shift, B, $d web browser , exec, librewolf
|
||||
bindd = Control Shift, Escape, $d system monitor , exec, $scrPath/sysmonlaunch.sh
|
||||
bindd = $mainMod, F, $d web browser , exec, freetube
|
||||
bindd = $mainMod, K, $d password manager , exec, keepassxc # launch password manager
|
||||
bindd = $mainMod, G, $d messanger, exec, gajim # launch messanger
|
||||
|
||||
# bindd = $mainMod, M, exec, $notes # launch notes app
|
||||
# bindd = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top)
|
||||
|
||||
$d=[$l|Rofi menus]
|
||||
$rofi-launch=$scrPath/rofilaunch.sh
|
||||
bindd = $mainMod, A, $d application finder , exec, pkill -x rofi || $rofi-launch d
|
||||
bindd = $mainMod, TAB, $d window switcher , exec, pkill -x rofi || $rofi-launch w
|
||||
bindd = $mainMod Shift, E, $d file finder , exec, pkill -x rofi || $rofi-launch f
|
||||
bindd = $mainMod, slash, $d keybindings hint, exec, pkill -x rofi || $scrPath/keybinds_hint.sh c # launch keybinds hint
|
||||
bindd = $mainMod, comma, $d emoji picker , exec, pkill -x rofi || $scrPath/emoji-picker.sh # launch emoji picker
|
||||
bindd = $mainMod, period, $d glyph picker , exec, pkill -x rofi || $scrPath/glyph-picker.sh # launch glyph picker
|
||||
bindd = $mainMod, V, $d clipboard , exec, pkill -x rofi || $scrPath/cliphist.sh -c # launch clipboard,
|
||||
bindd = $mainMod Shift, V, $d clipboard manager , exec, pkill -x rofi || $scrPath/cliphist.sh # launch clipboard Manager
|
||||
bindd = $mainMod Shift, A, $d select rofi launcher , exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu
|
||||
|
||||
|
||||
$hc=Hardware Controls
|
||||
$d=[$hc|Audio]
|
||||
binddl = , F10, $d toggle mute output , exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
|
||||
binddl = , XF86AudioMute,$d toggle mute output, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
|
||||
binddel = , F11, $d decrease volume , exec, $scrPath/volumecontrol.sh -o d # decrease volume
|
||||
binddel = , F12, $d increase volume , exec, $scrPath/volumecontrol.sh -o i # increase volume
|
||||
binddl = , XF86AudioMicMute,$d un/mute microphone , exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute
|
||||
binddel = , XF86AudioLowerVolume, $d decrease volume , exec, $scrPath/volumecontrol.sh -o d # decrease volume
|
||||
binddel = , XF86AudioRaiseVolume, $d increase volume , exec, $scrPath/volumecontrol.sh -o i # increase volume
|
||||
|
||||
$d=[$hc|Media]
|
||||
binddl = , XF86AudioPlay,$d play media, exec, playerctl play-pause # toggle between media play and pause
|
||||
binddl = , XF86AudioPause,$d pause media, exec, playerctl play-pause # toggle between media play and pause
|
||||
binddl = , XF86AudioNext,$d next media , exec, playerctl next # media next
|
||||
binddl = , XF86AudioPrev,$d previous media , exec, playerctl previous # media previous
|
||||
|
||||
$d=[$hc|Brightness]
|
||||
binddel = , XF86MonBrightnessUp, $d increase brightness , exec, $scrPath/brightnesscontrol.sh i # increase brightness
|
||||
binddel = , XF86MonBrightnessDown, $d decrease brightness , exec, $scrPath/brightnesscontrol.sh d # decrease brightness
|
||||
|
||||
|
||||
$ut=Utilities
|
||||
$d=[$ut]
|
||||
# binddl = $mainMod, K, $d toggle keyboard layout , exec, $scrPath/keyboardswitch.sh # switch keyboard layout
|
||||
bindd = $mainMod Alt, G, $d game mode , exec, $scrPath/gamemode.sh # disable hypr effects for gamemode
|
||||
|
||||
$d=[$ut|Screen Capture]
|
||||
bindd = $mainMod Shift, P, $d color picker, exec, hyprpicker -an # Pick color (Hex) >> clipboard#
|
||||
bindd = $mainMod, P, $d snip screen , exec, $scrPath/screenshot.sh s # partial screenshot capture
|
||||
bindd = $mainMod Control, P, $d freeze and snip screen, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen)
|
||||
binddl = $mainMod Alt, P, $d print monitor , exec, $scrPath/screenshot.sh m # monitor screenshot capture
|
||||
binddl = , Print, $d print all monitors , exec, $scrPath/screenshot.sh p # all monitors screenshot capture
|
||||
|
||||
# TODO Make a main rofi menu for these selectors
|
||||
$rice=Theming and Wallpaper
|
||||
$d=[$rice]
|
||||
bindd = $mainMod Alt Control Shift, Right, $d next global wallpaper , exec, $scrPath/wallpaper.sh -Gn # next global wallpaper
|
||||
bindd = $mainMod Alt Control Shift, Left, $d previous global wallpaper , exec, $scrPath/wallpaper.sh -Gp # previous global wallpaper
|
||||
bindd = $mainMod Shift, W, $d select a global wallpaper , exec, pkill -x rofi || $scrPath/wallpaper.sh -SG # launch wallpaper select menu
|
||||
# bindd = $mainMod Alt, Up, $d next waybar layout , exec, $scrPath/wbarconfgen.sh n # next waybar mode
|
||||
# bindd = $mainMod Alt, Down, $d previous waybar layout , exec, $scrPath/wbarconfgen.sh p # previous waybar mode
|
||||
# bindd = $mainMod Shift, R, $d wallbash mode selector , exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # launch wallbash mode select menu
|
||||
# bindd = $mainMod Shift, T, $d select a theme, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu
|
||||
|
||||
|
||||
|
||||
$ws=Workspaces
|
||||
$d=[$ws|Navigation]
|
||||
bindd = $mainMod, 1, $d navigate to workspace 1 , workspace, 1
|
||||
bindd = $mainMod, 2, $d navigate to workspace 2 , workspace, 2
|
||||
bindd = $mainMod, 3, $d navigate to workspace 3 , workspace, 3
|
||||
bindd = $mainMod, 4, $d navigate to workspace 4 , workspace, 4
|
||||
bindd = $mainMod, 5, $d navigate to workspace 5 , workspace, 5
|
||||
bindd = $mainMod, 6, $d navigate to workspace 6 , workspace, 6
|
||||
bindd = $mainMod, 7, $d navigate to workspace 7 , workspace, 7
|
||||
bindd = $mainMod, 8, $d navigate to workspace 8 , workspace, 8
|
||||
bindd = $mainMod, 9, $d navigate to workspace 9 , workspace, 9
|
||||
bindd = $mainMod, 0, $d navigate to workspace 10 , workspace, 10
|
||||
bindd = $mainMod, J, $d toggle split, layoutmsg, togglesplit
|
||||
|
||||
$d=[$ws|Navigation|Relative workspace]
|
||||
bindd = $mainMod Control Shift, Right, $d change active workspace forwards , workspace, r+1
|
||||
bindd = $mainMod Control Shift, Left, $d change active workspace backwards , workspace, r-1
|
||||
bindd = $mainMod Control Shift, L, $d change active workspace forwards , workspace, r+1 # doesnt work
|
||||
bindd = $mainMod Control Shift, H, $d change active workspace backwards , workspace, r-1 # doesnt work
|
||||
bindd = $mainMod Control Shift, L, $d change active workspace forwards , workspace, r+1
|
||||
bindd = $mainMod Control Shift, H, $d change active workspace backwards , workspace, r-1
|
||||
|
||||
$d=[$ws|Navigation]
|
||||
bindd = $mainMod Control, Down, $d navigate to the nearest empty workspace , workspace, empty
|
||||
# Resize windows
|
||||
binde = $mainMod+Shift, Right, resizeactive, 30 0
|
||||
binde = $mainMod+Shift, Left, resizeactive, -30 0
|
||||
binde = $mainMod+Shift, Up, resizeactive, 0 -30
|
||||
binde = $mainMod+Shift, Down, resizeactive, 0 30
|
||||
bindde = $mainMod Shift, l, $d resize window right , resizeactive, 30 0
|
||||
bindde = $mainMod Shift, h, $d resize window left, resizeactive, -30 0
|
||||
bindde = $mainMod Shift, k, $d resize window up, resizeactive, 0 -30
|
||||
bindde = $mainMod Shift, j, $d resize window down, resizeactive, 0 30
|
||||
|
||||
# Move focused window to a workspace
|
||||
$d=[$ws|Move window to workspace]
|
||||
bindd = $mainMod Control, 1, $d move to workspace 1 , movetoworkspace, 1
|
||||
bindd = $mainMod Control, 2, $d move to worksCtrl2 , movetoworkspace, 2
|
||||
bindd = $mainMod Control, 3, $d move to worksCtrl3 , movetoworkspace, 3
|
||||
bindd = $mainMod Control, 4, $d move to worksCtrl4 , movetoworkspace, 4
|
||||
bindd = $mainMod Control, 5, $d move to worksCtrl5 , movetoworkspace, 5
|
||||
bindd = $mainMod Control, 6, $d move to worksCtrl6 , movetoworkspace, 6
|
||||
bindd = $mainMod Control, 7, $d move to worksCtrl7 , movetoworkspace, 7
|
||||
bindd = $mainMod Control, 8, $d move to worksCtrl8 , movetoworkspace, 8
|
||||
bindd = $mainMod Control, 9, $d move to worksCtrl9 , movetoworkspace, 9
|
||||
bindd = $mainMod Control, 0, $d move to worksCtrl10 , movetoworkspace, 10
|
||||
# added that to mimic i3's behavior, where pushing a workspace to another monitor also focuses it
|
||||
# bind = $mainMod SHIFT, P, focusmonitor, +1
|
||||
# bind = $mainMod SHIFT, P, movecurrentworkspacetomonitor, +1
|
||||
|
||||
# Move focused window to a relative workspace
|
||||
$d=[$ws]
|
||||
bindd = $mainMod Control Alt, Right, $d move window to next relative workspace , movetoworkspace, r+1
|
||||
bindd = $mainMod Control Alt, Left, $d move window to previous relative workspace , movetoworkspace, r-1
|
||||
bindd = $mainMod Control Alt, l, $d move window to next relative workspace , movetoworkspace, r+1
|
||||
bindd = $mainMod Control Alt, h, $d move window to previous relative workspace , movetoworkspace, r-1
|
||||
# Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓]
|
||||
# $moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive
|
||||
binded = $mainMod+Shift+Ctrl, left,Move activewindow to the left,exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l
|
||||
binded = $mainMod+Shift+Ctrl, right,Move activewindow to the right,exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r
|
||||
binded = $mainMod+Shift+Ctrl, up,Move activewindow to the up,exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u
|
||||
binded = $mainMod+Shift+Ctrl, down,Move activewindow to the down,exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d
|
||||
|
||||
binded = $mainMod+Shift+Ctrl, h,Move activewindow to the left,exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l
|
||||
binded = $mainMod+Shift+Ctrl, l,Move activewindow to the right,exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r
|
||||
binded = $mainMod+Shift+Ctrl, k,Move activewindow to the up,exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u
|
||||
binded = $mainMod+Shift+Ctrl, j,Move activewindow to the down,exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d
|
||||
|
||||
# Scroll through existing workspaces
|
||||
$d=[$ws|Navigation]
|
||||
bindd = $mainMod, mouse_down, $d next workspace, workspace, e+1
|
||||
bindd = $mainMod, mouse_up, $d previous workspace, workspace, e-1
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/Resize focused window
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
bindm = $mainMod, Z, movewindow
|
||||
bindm = $mainMod, X, resizewindow
|
||||
|
||||
# Move/Switch to special workspace (scratchpad)
|
||||
$d=[$ws|Navigation|Special workspace]
|
||||
bindd = $mainMod Shift, S, $d move to scratchpad , movetoworkspace, special
|
||||
bindd = $mainMod Alt, S, $d move to scratchpad (silent) , movetoworkspacesilent, special
|
||||
bindd = $mainMod, S, $d toggle scratchpad , togglespecialworkspace
|
||||
|
||||
# Move focused window to a workspace silently
|
||||
$d=[$ws|Navigation|Move window silently]
|
||||
bindd = $mainMod Alt, 1, $d move to workspace 1 (silent), movetoworkspacesilent, 1
|
||||
bindd = $mainMod Alt, 2, $d move to workspace 2 (silent), movetoworkspacesilent, 2
|
||||
bindd = $mainMod Alt, 3, $d move to workspace 3 (silent), movetoworkspacesilent, 3
|
||||
bindd = $mainMod Alt, 4, $d move to workspace 4 (silent), movetoworkspacesilent, 4
|
||||
bindd = $mainMod Alt, 5, $d move to workspace 5 (silent), movetoworkspacesilent, 5
|
||||
bindd = $mainMod Alt, 6, $d move to workspace 6 (silent), movetoworkspacesilent, 6
|
||||
bindd = $mainMod Alt, 7, $d move to workspace 7 (silent), movetoworkspacesilent, 7
|
||||
bindd = $mainMod Alt, 8, $d move to workspace 8 (silent), movetoworkspacesilent, 8
|
||||
bindd = $mainMod Alt, 9, $d move to workspace 9 (silent), movetoworkspacesilent, 9
|
||||
bindd = $mainMod Alt, 0, $d move to workspace 10 (silent), movetoworkspacesilent, 10
|
||||
|
||||
|
||||
|
||||
$d=#! unset the group name
|
||||
|
||||
@@ -6,18 +6,25 @@
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
# For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/monitors.t2
|
||||
|
||||
|
||||
|
||||
$mainScreen = HDMI-A-1
|
||||
$mainScreen = eDP-1
|
||||
$leftScreen = DP-2
|
||||
$rightScreen = eDP-1
|
||||
$rightScreen = HDMI-A-1
|
||||
|
||||
monitor = $mainScreen, 3840x2160@59.99, 0x0, 1.25 # main screen
|
||||
# monitor = $mainScreen, 1920x1080@59.99, 0x0, 2 # main screen
|
||||
# monitor = $leftScreen, 1920x1080@60, -1920x0, 1 # left
|
||||
# monitor = $rightScreen, 1920x1080@60,1366x0, 1 # right
|
||||
monitor = $mainScreen, 1366x768@60.14, 0x0, 1 # main screen
|
||||
monitor = $leftScreen, 1920x1080@60, -1920x0, 1 # left
|
||||
monitor = $rightScreen, 1920x1080@60,1366x0, 1 # right
|
||||
|
||||
# monitor=HDMI-A-1,1920x1080@60,-1366x0,1 # hdmi on left
|
||||
# monitor=HDMI-A-1,1920x1080@60,0x-768,1 # hdmi on top
|
||||
# monitor=DP-2,640x480@59.94Hz,0x0,1 # vga
|
||||
|
||||
# monitor = HDMI-A-1, 1366x768@60.00Hz, auto , 1, mirror, eDP-1 #mirror lapscreen
|
||||
# monitor = DP-2, 1920x1080@60.00Hz, auto , 1, mirror, eDP-1 #mirror lapscreen jag3
|
||||
# monitor = eDP-1, 1920x1080@60.00Hz, auto , 1, mirror, HDMI-A-1 #main hdmi, lapscreen mirrors
|
||||
# monitor = eDP-1, 1920x1080@60.00Hz, auto , 1, mirror, DP-2 #main VGA, lapscreen mirrors
|
||||
|
||||
# monitor = , preferred, auto, 1, mirror, DP-2 # dmz projector
|
||||
# monitor = eDP-1, 1920x1080@60, auto , 1, mirror, DP-2 #mirror vga test
|
||||
|
||||
#Main Monitor
|
||||
workspace = 1, monitor:$mainScreen, default:true
|
||||
@@ -54,3 +61,4 @@ workspace = 27, monitor:$leftScreen
|
||||
workspace = 28, monitor:$leftScreen
|
||||
workspace = 29, monitor:$leftScreen
|
||||
workspace = 30, monitor:$leftScreen
|
||||
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
# Autogenerated colors by wallbash
|
||||
# This can be sourced in by any hyprlang configuration file
|
||||
|
||||
# Color group 1
|
||||
|
||||
$wallbash_pry1 = 1C0725 # primary color 1
|
||||
$wallbash_txt1 = FFFFFF # text color 1
|
||||
$wallbash_1xa1 = 452952 # accent color 1 for primary color 1
|
||||
$wallbash_1xa2 = 5C3A6B # accent color 2 for primary color 1
|
||||
$wallbash_1xa3 = 6E4B7D # accent color 3 for primary color 1
|
||||
$wallbash_1xa4 = 7E578F # accent color 4 for primary color 1
|
||||
$wallbash_1xa5 = 9165A3 # accent color 5 for primary color 1
|
||||
$wallbash_1xa6 = AC7AC2 # accent color 6 for primary color 1
|
||||
$wallbash_1xa7 = CF9AE6 # accent color 7 for primary color 1
|
||||
$wallbash_1xa8 = DBAAF0 # accent color 8 for primary color 1
|
||||
$wallbash_1xa9 = F0CCFF # accent color 9 for primary color 1
|
||||
|
||||
# in rgba format
|
||||
$wallbash_pry1_rgba = rgba(28,7,37,0.95) # primary color 1
|
||||
$wallbash_txt1_rgba = rgba(255,255,255,0.95) # text color 1
|
||||
$wallbash_1xa1_rgba = rgba(69,41,82,0.95) # accent color 1 for primary color 1
|
||||
$wallbash_1xa2_rgba = rgba(92,58,107,0.95) # accent color 2 for primary color 1
|
||||
$wallbash_1xa3_rgba = rgba(110,75,125,0.95) # accent color 3 for primary color 1
|
||||
$wallbash_1xa4_rgba = rgba(126,87,143,0.95) # accent color 4 for primary color 1
|
||||
$wallbash_1xa5_rgba = rgba(145,101,163,0.95) # accent color 5 for primary color 1
|
||||
$wallbash_1xa6_rgba = rgba(172,122,194,0.95) # accent color 6 for primary color 1
|
||||
$wallbash_1xa7_rgba = rgba(207,154,230,0.95) # accent color 7 for primary color 1
|
||||
$wallbash_1xa8_rgba = rgba(219,170,240,0.95) # accent color 8 for primary color 1
|
||||
$wallbash_1xa9_rgba = rgba(240,204,255,0.95) # accent color 9 for primary color 1
|
||||
|
||||
|
||||
# Color group 2
|
||||
|
||||
$wallbash_pry2 = 4A1442 # primary color 2
|
||||
$wallbash_txt2 = FFFFFF # text color 2
|
||||
$wallbash_2xa1 = 52294C # accent color 1 for primary color 2
|
||||
$wallbash_2xa2 = 6B3A64 # accent color 2 for primary color 2
|
||||
$wallbash_2xa3 = 7D4B76 # accent color 3 for primary color 2
|
||||
$wallbash_2xa4 = 8F5787 # accent color 4 for primary color 2
|
||||
$wallbash_2xa5 = A3659A # accent color 5 for primary color 2
|
||||
$wallbash_2xa6 = C27AB7 # accent color 6 for primary color 2
|
||||
$wallbash_2xa7 = E69ADA # accent color 7 for primary color 2
|
||||
$wallbash_2xa8 = F0AAE5 # accent color 8 for primary color 2
|
||||
$wallbash_2xa9 = FFCCF7 # accent color 9 for primary color 2
|
||||
|
||||
# in rgba format
|
||||
$wallbash_pry2_rgba = rgba(74,20,66,0.95) # primary color 2
|
||||
$wallbash_txt2_rgba = rgba(255,255,255,0.95) # text color 2
|
||||
$wallbash_2xa1_rgba = rgba(82,41,76,0.95) # accent color 1 for primary color 2
|
||||
$wallbash_2xa2_rgba = rgba(107,58,100,0.95) # accent color 2 for primary color 2
|
||||
$wallbash_2xa3_rgba = rgba(125,75,118,0.95) # accent color 3 for primary color 2
|
||||
$wallbash_2xa4_rgba = rgba(143,87,135,0.95) # accent color 4 for primary color 2
|
||||
$wallbash_2xa5_rgba = rgba(163,101,154,0.95) # accent color 5 for primary color 2
|
||||
$wallbash_2xa6_rgba = rgba(194,122,183,0.95) # accent color 6 for primary color 2
|
||||
$wallbash_2xa7_rgba = rgba(230,154,218,0.95) # accent color 7 for primary color 2
|
||||
$wallbash_2xa8_rgba = rgba(240,170,229,0.95) # accent color 8 for primary color 2
|
||||
$wallbash_2xa9_rgba = rgba(255,204,247,0.95) # accent color 9 for primary color 2
|
||||
|
||||
# Color group 3
|
||||
|
||||
$wallbash_pry3 = 9154A0 # primary color 3
|
||||
$wallbash_txt3 = FAFAFA # text color 3
|
||||
$wallbash_3xa1 = 4A2952 # accent color 1 for primary color 3
|
||||
$wallbash_3xa2 = 613A6B # accent color 2 for primary color 3
|
||||
$wallbash_3xa3 = 734B7D # accent color 3 for primary color 3
|
||||
$wallbash_3xa4 = 84578F # accent color 4 for primary color 3
|
||||
$wallbash_3xa5 = 9765A3 # accent color 5 for primary color 3
|
||||
$wallbash_3xa6 = B47AC2 # accent color 6 for primary color 3
|
||||
$wallbash_3xa7 = D79AE6 # accent color 7 for primary color 3
|
||||
$wallbash_3xa8 = E2AAF0 # accent color 8 for primary color 3
|
||||
$wallbash_3xa9 = F5CCFF # accent color 9 for primary color 3
|
||||
|
||||
# in rgba format
|
||||
$wallbash_pry3_rgba = rgba(145,84,160,0.95) # primary color 3
|
||||
$wallbash_txt3_rgba = rgba(250,250,250,0.95) # text color 3
|
||||
$wallbash_3xa1_rgba = rgba(74,41,82,0.95) # accent color 1 for primary color 3
|
||||
$wallbash_3xa2_rgba = rgba(97,58,107,0.95) # accent color 2 for primary color 3
|
||||
$wallbash_3xa3_rgba = rgba(115,75,125,0.95) # accent color 3 for primary color 3
|
||||
$wallbash_3xa4_rgba = rgba(132,87,143,0.95) # accent color 4 for primary color 3
|
||||
$wallbash_3xa5_rgba = rgba(151,101,163,0.95) # accent color 5 for primary color 3
|
||||
$wallbash_3xa6_rgba = rgba(180,122,194,0.95) # accent color 6 for primary color 3
|
||||
$wallbash_3xa7_rgba = rgba(215,154,230,0.95) # accent color 7 for primary color 3
|
||||
$wallbash_3xa8_rgba = rgba(226,170,240,0.95) # accent color 8 for primary color 3
|
||||
$wallbash_3xa9_rgba = rgba(245,204,255,0.95) # accent color 9 for primary color 3
|
||||
|
||||
# Color group 4
|
||||
|
||||
$wallbash_pry4 = ECE8BB # primary color 4
|
||||
$wallbash_txt4 = 070707 # text color 4
|
||||
$wallbash_4xa1 = 524E29 # accent color 1 for primary color 4
|
||||
$wallbash_4xa2 = 6B673A # accent color 2 for primary color 4
|
||||
$wallbash_4xa3 = 7D794B # accent color 3 for primary color 4
|
||||
$wallbash_4xa4 = 8F8A57 # accent color 4 for primary color 4
|
||||
$wallbash_4xa5 = A39E65 # accent color 5 for primary color 4
|
||||
$wallbash_4xa6 = C2BC7A # accent color 6 for primary color 4
|
||||
$wallbash_4xa7 = E6DF9A # accent color 7 for primary color 4
|
||||
$wallbash_4xa8 = F0EAAA # accent color 8 for primary color 4
|
||||
$wallbash_4xa9 = FFFBCC # accent color 9 for primary color 4
|
||||
|
||||
# in rgba format
|
||||
$wallbash_pry4_rgba = rgba(236,232,187,0.95) # primary color 4
|
||||
$wallbash_txt4_rgba = rgba(7,7,7,0.95) # text color 4
|
||||
$wallbash_4xa1_rgba = rgba(82,78,41,0.95) # accent color 1 for primary color 4
|
||||
$wallbash_4xa2_rgba = rgba(107,103,58,0.95) # accent color 2 for primary color 4
|
||||
$wallbash_4xa3_rgba = rgba(125,121,75,0.95) # accent color 3 for primary color 4
|
||||
$wallbash_4xa4_rgba = rgba(143,138,87,0.95) # accent color 4 for primary color 4
|
||||
$wallbash_4xa5_rgba = rgba(163,158,101,0.95) # accent color 5 for primary color 4
|
||||
$wallbash_4xa6_rgba = rgba(194,188,122,0.95) # accent color 6 for primary color 4
|
||||
$wallbash_4xa7_rgba = rgba(230,223,154,0.95) # accent color 7 for primary color 4
|
||||
$wallbash_4xa8_rgba = rgba(240,234,170,0.95) # accent color 8 for primary color 4
|
||||
$wallbash_4xa9_rgba = rgba(255,251,204,0.95) # accent color 9 for primary color 4
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
# █▀▀ █░█ █▀█ █▀ █▀█ █▀█
|
||||
# █▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄
|
||||
|
||||
exec = hyprctl setcursor Bibata-Modern-Ice 20
|
||||
exec = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice'
|
||||
exec = gsettings set org.gnome.desktop.interface cursor-size 20
|
||||
|
||||
|
||||
# █▀▀ █▀█ █▄░█ ▀█▀
|
||||
# █▀░ █▄█ █░▀█ ░█░
|
||||
|
||||
exec = gsettings set org.gnome.desktop.interface font-name 'Cantarell 10'
|
||||
exec = gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10'
|
||||
exec = gsettings set org.gnome.desktop.interface monospace-font-name 'CaskaydiaCove Nerd Font Mono 9'
|
||||
exec = gsettings set org.gnome.desktop.interface font-antialiasing 'rgba'
|
||||
exec = gsettings set org.gnome.desktop.interface font-hinting 'full'
|
||||
|
||||
|
||||
# █▀ █▀█ █▀▀ █▀▀ █ ▄▀█ █░░
|
||||
# ▄█ █▀▀ ██▄ █▄▄ █ █▀█ █▄▄
|
||||
|
||||
decoration {
|
||||
dim_special = 0.3
|
||||
blur {
|
||||
special = true
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,6 @@
|
||||
# // P̳r̳a̳s̳a̳n̳t̳h̳ R̳a̳n̳g̳a̳n̳
|
||||
|
||||
$GTK_THEME=Catppuccin-Mocha
|
||||
$ICON_THEME = Tela-circle-dracula
|
||||
$COLOR_SCHEME = prefer-dark
|
||||
|
||||
# Optional: The varibles above will be set automatically when the theme is loaded
|
||||
# This exec commands will soon be deprecated
|
||||
|
||||
exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-dracula'
|
||||
exec = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Mocha'
|
||||
exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
|
||||
|
||||
general {
|
||||
gaps_in = 2 #3
|
||||
@@ -26,9 +20,8 @@ group {
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 6 #10
|
||||
shadow:enabled = false
|
||||
|
||||
rounding = 4 #10
|
||||
# drop_shadow = true #false
|
||||
blur {
|
||||
enabled = yes
|
||||
size = 6
|
||||
@@ -39,4 +32,4 @@ decoration {
|
||||
}
|
||||
}
|
||||
|
||||
layerrule = blur,waybar
|
||||
# layerrule = blur,waybar
|
||||
|
||||
+54
-13
@@ -3,23 +3,64 @@
|
||||
# █▄█ ▄█ ██▄ █▀▄ █▀▀ █▀▄ ██▄ █▀░ ▄█
|
||||
|
||||
# Set your personal hyprland configuration here
|
||||
# For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/userprefs.t2
|
||||
#
|
||||
|
||||
|
||||
########################
|
||||
|
||||
# // █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
|
||||
# // █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
|
||||
|
||||
# █▀▀ █▄░█ █░█
|
||||
# ██▄ █░▀█ ▀▄▀
|
||||
|
||||
exec-once = xremap ~/.config/xremap/config.yml # enable xremap service
|
||||
exec-once = ferdium
|
||||
env = SSH_AUTH_SOCK,$XDG_RUNTIME_DIR/ssh-agent.socket # ssh on start
|
||||
env = WLR_DRM_NO_ATOMIC,1 # electron flickering
|
||||
env = ELECTRON_OZONE_PLATFORM_HINT,x11 # Disable after hyprland fixes electron flickering
|
||||
# env = MANGOHUD,1
|
||||
# env = MANGOHUD_DLSYM,1
|
||||
|
||||
|
||||
# I know there is like two 'solutions' already, so have third one - (tested GTX 1060, 555.58.02 drivers) - run flickery apps with --disable-gpu-compositing. This makes apps slightly less smooth (GPU still used tho), but fixes the issue. I think this is better then to disable damage_tracking, which works too.
|
||||
# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
|
||||
# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
|
||||
|
||||
# bind = Ctrl+Alt+Shift, R, pass, ^(com\.obsproject\.Studio)$ # toggle obs screen recording // install obs flatpak
|
||||
# bind = $mainMod+Shift, G, exec, pkill -x rofi || $scrPath/gamelauncher.sh # launch steam game launcher // install steam
|
||||
# bind = $mainMod, Period, exec, emote # launch emoji selector // install emote
|
||||
bind = $mainMod+Alt, XF86MonBrightnessDown, exec, hyprshade on blue-light-filter # enable blue light filter // install hyprshade
|
||||
bind = $mainMod+Alt, XF86MonBrightnessUp, exec, hyprshade off # disable blue light filter // install hyprshade
|
||||
|
||||
|
||||
# █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
|
||||
# █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
|
||||
|
||||
# exec-once = libinput-gestures // install libinput-gestures
|
||||
# exec-once = swayosd-server # enable swayosd service
|
||||
# exec-once = `pkexec swayosd-libinput-backend` # swayosd service for keyboard input (requires to be run in a subshell)
|
||||
|
||||
# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█ █▀█ █░█ █░░ █▀▀ █▀
|
||||
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀ █▀▄ █▄█ █▄▄ ██▄ ▄█
|
||||
|
||||
windowrule = opacity 0.90 0.90, match:class ^(neovide)$
|
||||
windowrule = opacity 0.90 0.90, match:class ^(firefox)$
|
||||
windowrule = opacity 0.80 0.80, match:class ^(betterbird)$
|
||||
windowrule = opacity 0.80 0.80, match:class ^(org.qbittorrent.qBittorrent)$
|
||||
windowrule = opacity 0.80 0.80, match:class ^(org.gajim.Gajim)$
|
||||
windowrule = opacity 0.80 0.80, match:class ^(FreeTube)$
|
||||
windowrule = opacity 0.80 0.80, match:class ^(librewolf)$
|
||||
windowrule = opacity 0.80 0.60, match:class ^(obsidian)$
|
||||
windowrule = opacity 0.80 0.80, match:class ^(VSCodium)$
|
||||
windowrule = opacity 0.80 0.80, match:class ^(codium-url-handler)$
|
||||
windowrule = opacity 0.80 0.80, match:class ^(code-oss)$
|
||||
windowrule = opacity 0.80 0.80, match:class ^(Code)$
|
||||
windowrule = opacity 0.80 0.80, match:class ^(kitty)$
|
||||
windowrule = opacity 0.70 0.70, match:class ^(chromium)$
|
||||
windowrule = opacity 0.70 0.70, match:class ^(tilix)$
|
||||
windowrule = opacity 0.70 0.70, match:class ^(rustdesk)$
|
||||
windowrule = opacity 0.70 0.70, match:class ^(Ferdium)$
|
||||
windowrule = opacity 0.70 0.70, match:class ^(org.keepassxc.KeePassXC)$
|
||||
|
||||
# █░█ █▀▄▀█
|
||||
# ▀▄▀ █░▀░█
|
||||
|
||||
# bind = Ctrl+Alt_L, V, submap, passthrough
|
||||
# submap = passthrough
|
||||
# bind = Ctrl+Alt_L, V, submap, reset
|
||||
# submap = reset
|
||||
|
||||
# render {
|
||||
# explicit_sync = 1
|
||||
# explicit_sync_kms = 1
|
||||
# direct_scanout = no
|
||||
# }
|
||||
|
||||
@@ -3,108 +3,70 @@
|
||||
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀ █▀▄ █▄█ █▄▄ ██▄ ▄█
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/
|
||||
# hyprctl clients to get names
|
||||
|
||||
# '$&' is a hyde specific shorthand for "override" \\ analogous to a reference
|
||||
# This symbol indicates that the following values will override the default configuration
|
||||
$&=override
|
||||
windowrule = opacity 0.80 0.80, match:class ^(code-url-handler)$
|
||||
windowrule = opacity 0.80 0.80, match:class ^(code-insiders-url-handler)$
|
||||
windowrule = opacity 0.80 0.80, match:class ^(org.kde.dolphin)$
|
||||
windowrule = opacity 0.80 0.80, float on, match:class ^(org.kde.ark)$
|
||||
windowrule = opacity 0.80 0.80, float on, match:class ^(nwg-look)$
|
||||
windowrule = opacity 0.80 0.80, float on, match:class ^(qt5ct)$
|
||||
windowrule = opacity 0.80 0.80, float on, match:class ^(qt6ct)$
|
||||
windowrule = opacity 0.80 0.80, float on, match:class ^(kvantummanager)$
|
||||
windowrule = opacity 0.80 0.70, float on, match:class ^(org.pulseaudio.pavucontrol)$
|
||||
windowrule = opacity 0.80 0.70, match:class ^(lagrange)$
|
||||
windowrule = opacity 0.60 0.60, match:class ^(com.github.wwmm.easyeffects)$
|
||||
windowrule = opacity 0.80 0.70, float on, match:class ^(blueman-manager)$
|
||||
windowrule = opacity 0.80 0.70, float on, match:class ^(nm-applet)$
|
||||
windowrule = opacity 0.80 0.70, float on, match:class ^(nm-connection-editor)$
|
||||
windowrule = opacity 0.80 0.70, float on, match:class ^(org.kde.polkit-kde-authentication-agent-1)$
|
||||
windowrule = opacity 0.80 0.70, match:class ^(polkit-gnome-authentication-agent-1)$
|
||||
windowrule = opacity 0.80 0.70, match:class ^(org.freedesktop.impl.portal.desktop.gtk)$
|
||||
windowrule = opacity 0.80 0.70, match:class ^(org.freedesktop.impl.portal.desktop.hyprland)$
|
||||
windowrule = opacity 0.70 0.70, match:class ^([Ss]team)$
|
||||
|
||||
windowrulev2 = opacity 0.90 $& 0.90 $& 1,class:^(firefox)$
|
||||
# windowrulev2 = opacity 0.90 $& 0.90 $& 1,class:^(Brave-browser)$
|
||||
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(code-oss)$
|
||||
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^([Cc]ode)$
|
||||
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(code-url-handler)$
|
||||
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(code-insiders-url-handler)$
|
||||
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(kitty)$
|
||||
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(org.kde.dolphin)$
|
||||
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(org.kde.ark)$
|
||||
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(nwg-look)$
|
||||
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(qt5ct)$
|
||||
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(qt6ct)$
|
||||
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(kvantummanager)$
|
||||
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(org.pulseaudio.pavucontrol)$
|
||||
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(blueman-manager)$
|
||||
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(nm-applet)$
|
||||
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(nm-connection-editor)$
|
||||
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(org.kde.polkit-kde-authentication-agent-1)$
|
||||
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(polkit-gnome-authentication-agent-1)$
|
||||
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(org.freedesktop.impl.portal.desktop.gtk)$
|
||||
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(org.freedesktop.impl.portal.desktop.hyprland)$
|
||||
windowrulev2 = opacity 0.70 $& 0.70 $& 1,class:^([Ss]team)$
|
||||
windowrulev2 = opacity 0.70 $& 0.70 $& 1,class:^(steamwebhelper)$
|
||||
# windowrulev2 = opacity 0.70 $& 0.70 $& 1,class:^([Ss]potify)$
|
||||
# windowrulev2 = opacity 0.70 $& 0.70 $& 1,initialTitle:^(Spotify Free)$
|
||||
# windowrulev2 = opacity 0.70 $& 0.70 $& 1,initialTitle:^(Spotify Premium)$
|
||||
windowrule = opacity 0.90 0.90, float on, match:class ^(com.github.rafostar.Clapper)$ # Clapper-Gtk
|
||||
windowrule = opacity 0.80 0.80, match:class ^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk
|
||||
windowrule = opacity 0.80 0.80, match:class ^(hu.kramo.Cartridges)$ # Cartridges-Gtk
|
||||
windowrule = opacity 0.80 0.80, match:class ^(com.obsproject.Studio)$ # Obs-Qt
|
||||
windowrule = opacity 0.80 0.80, match:class ^(gnome-boxes)$ # Boxes-Gtk
|
||||
windowrule = opacity 0.80 0.80, match:class ^(discord)$ # Discord-Electron
|
||||
windowrule = opacity 0.80 0.80, match:class ^(WebCord)$ # WebCord-Electron
|
||||
windowrule = opacity 0.80 0.80, match:class ^(ArmCord)$ # ArmCord-Electron
|
||||
windowrule = opacity 0.80 0.80, float on, match:class ^(app.drey.Warp)$ # Warp-Gtk
|
||||
windowrule = opacity 0.80 0.80, float on, match:class ^(net.davidotek.pupgui2)$ # ProtonUp-Qt
|
||||
windowrule = opacity 0.80 0.80, float on, match:class ^(yad)$ # Protontricks-Gtk
|
||||
windowrule = opacity 0.80 0.80, float on, match:class ^(Signal)$ # Signal-Gtk
|
||||
windowrule = opacity 0.80 0.80, float on, match:class ^(io.github.alainm23.planify)$ # planify-Gtk
|
||||
windowrule = opacity 0.80 0.80, float on, match:class ^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
|
||||
windowrule = opacity 0.80 0.80, match:class ^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gtk
|
||||
windowrule = opacity 0.80 0.80, float on, match:class ^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
|
||||
windowrule = opacity 0.80 0.80, float on, match:class ^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
|
||||
windowrule = opacity 0.80 0.80, match:class ^(io.github.flattool.Warehouse)$ # Warehouse-Gtk
|
||||
|
||||
windowrulev2 = opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ # Cartridges-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ # Obs-Qt
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ # Boxes-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(vesktop)$ # Vesktop
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(discord)$ # Discord-Electron
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(WebCord)$ # WebCord-Electron
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(ArmCord)$ # ArmCord-Electron
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(app.drey.Warp)$ # Warp-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(yad)$ # Protontricks-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(Signal)$ # Signal-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(io.github.alainm23.planify)$ # planify-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(io.github.flattool.Warehouse)$ # Warehouse-Gtk
|
||||
windowrule = float on, match:class ^(org.kde.dolphin)$, match:title ^(Progress Dialog — Dolphin)$
|
||||
windowrule = float on, match:class ^(org.kde.dolphin)$, match:title ^(Copying — Dolphin)$
|
||||
windowrule = float on, match:title ^(About Mozilla Firefox)$
|
||||
windowrule = float on, match:class ^(firefox)$, match:title ^(Picture-in-Picture)$
|
||||
windowrule = float on, match:class ^(firefox)$, match:title ^(Library)$
|
||||
windowrule = float on, match:class ^(kitty)$, match:title ^(top)$
|
||||
windowrule = float on, match:class ^(kitty)$, match:title ^(btop)$
|
||||
windowrule = float on, match:class ^(kitty)$, match:title ^(htop)$
|
||||
windowrule = float on, match:class ^(vlc)$
|
||||
|
||||
windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$
|
||||
windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$
|
||||
windowrulev2 = float,title:^(About Mozilla Firefox)$
|
||||
windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$
|
||||
windowrulev2 = float,class:^(firefox)$,title:^(Library)$
|
||||
windowrulev2 = float,class:^(kitty)$,title:^(top)$
|
||||
windowrulev2 = float,class:^(kitty)$,title:^(btop)$
|
||||
windowrulev2 = float,class:^(kitty)$,title:^(htop)$
|
||||
windowrulev2 = float,class:^(vlc)$
|
||||
windowrulev2 = float,class:^(kvantummanager)$
|
||||
windowrulev2 = float,class:^(qt5ct)$
|
||||
windowrulev2 = float,class:^(qt6ct)$
|
||||
windowrulev2 = float,class:^(nwg-look)$
|
||||
windowrulev2 = float,class:^(org.kde.ark)$
|
||||
windowrulev2 = float,class:^(org.pulseaudio.pavucontrol)$
|
||||
windowrulev2 = float,class:^(blueman-manager)$
|
||||
windowrulev2 = float,class:^(nm-applet)$
|
||||
windowrulev2 = float,class:^(nm-connection-editor)$
|
||||
windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$
|
||||
windowrule = float on, match:class ^(eog)$ # Imageviewer-Gtk
|
||||
windowrule = float on, match:class ^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk
|
||||
|
||||
windowrulev2 = float,class:^(Signal)$ # Signal-Gtk
|
||||
windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk
|
||||
windowrulev2 = float,class:^(app.drey.Warp)$ # Warp-Gtk
|
||||
windowrulev2 = float,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt
|
||||
windowrulev2 = float,class:^(yad)$ # Protontricks-Gtk
|
||||
windowrulev2 = float,class:^(eog)$ # Imageviewer-Gtk
|
||||
windowrulev2 = float,class:^(io.github.alainm23.planify)$ # planify-Gtk
|
||||
windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
|
||||
windowrulev2 = float,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk
|
||||
windowrulev2 = float,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
|
||||
windowrulev2 = float,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
|
||||
|
||||
# common modals
|
||||
windowrule = float,initialtitle:^(Open File)$
|
||||
windowrule = float,initialTitle:^(Open File)$
|
||||
windowrule = float,title:^(Choose Files)$
|
||||
windowrule = float,title:^(Save As)$
|
||||
windowrule = float,title:^(Confirm to replace files)$
|
||||
windowrule = float,title:^(File Operation Progress)$
|
||||
windowrulev2 = float,class:^(xdg-desktop-portal-gtk)$
|
||||
|
||||
# █░░ ▄▀█ █▄█ █▀▀ █▀█ █▀█ █░█ █░░ █▀▀ █▀
|
||||
# █▄▄ █▀█ ░█░ ██▄ █▀▄ █▀▄ █▄█ █▄▄ ██▄ ▄█
|
||||
|
||||
layerrule = blur,rofi
|
||||
layerrule = ignorezero,rofi
|
||||
layerrule = blur,notifications
|
||||
layerrule = ignorezero,notifications
|
||||
layerrule = blur,swaync-notification-window
|
||||
layerrule = ignorezero,swaync-notification-window
|
||||
layerrule = blur,swaync-control-center
|
||||
layerrule = ignorezero,swaync-control-center
|
||||
layerrule = blur,logout_dialog
|
||||
# layerrule = blur,rofi
|
||||
# layerrule = ignorezero,rofi
|
||||
# layerrule = blur,notifications
|
||||
# layerrule = ignorezero,notifications
|
||||
# layerrule = blur,swaync-notification-window
|
||||
# layerrule = ignorezero,swaync-notification-window
|
||||
# layerrule = blur,swaync-control-center
|
||||
# layerrule = ignorezero,swaync-control-center
|
||||
# layerrule = blur,logout_dialog
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
# run with `kitty --session ~/.config/kitty/c2.conf`
|
||||
layout tall
|
||||
|
||||
# create a new tab
|
||||
new_tab c2
|
||||
|
||||
cd ~/projects/wingman/c2/
|
||||
launch --var window=first nvim
|
||||
|
||||
new_tab git
|
||||
|
||||
cd ~/projects/wingman/c2/
|
||||
launch --var window=second lazygit
|
||||
|
||||
# focus neovim
|
||||
# focus first
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
include theme.conf
|
||||
|
||||
font_size 9.0
|
||||
font_family CaskaydiaCove Nerd Font Mono
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
window_padding_width 25
|
||||
enable_audio_bell no
|
||||
|
||||
font_size 14.0
|
||||
window_padding_width 25
|
||||
include theme.conf
|
||||
#background_opacity 0.60
|
||||
tab_bar_style powerline
|
||||
tab_powerline_style slanted
|
||||
|
||||
confirm_os_window_close 0
|
||||
background_opacity 0.70
|
||||
#hide_window_decorations yes
|
||||
#confirm_os_window_close 0
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
# run with `kitty --session ~/.config/kitty/music.conf`
|
||||
layout tall
|
||||
|
||||
# os_window_size 220c 64c
|
||||
# create a new tab
|
||||
new_tab music
|
||||
|
||||
# set the working directory for windows in the current tab
|
||||
cd
|
||||
|
||||
launch --var window=first cava
|
||||
# create additional terminals
|
||||
launch --location=hsplit pyradio
|
||||
resize_window taller 10
|
||||
focus pyradio
|
||||
launch --location=vsplit pipes-rs
|
||||
resize_window wider 20
|
||||
@@ -0,0 +1,20 @@
|
||||
# run with `kitty --session ~/.config/kitty/runners.conf`
|
||||
layout stack
|
||||
|
||||
# create a new tab
|
||||
new_tab runners
|
||||
|
||||
cd ~/projects/wingman/c2/
|
||||
|
||||
launch --var window=first pnpm dev
|
||||
|
||||
launch --location=hsplit react-devtools
|
||||
resize_window narrower 20
|
||||
|
||||
launch --location=hsplit lazydocker
|
||||
resize_window wider 120
|
||||
|
||||
# new_tab simulator
|
||||
# cd ~/wmclient
|
||||
# launch --var window=first wmsimulator.sh
|
||||
|
||||
@@ -0,0 +1,489 @@
|
||||
# Config relating to the Lazygit UI
|
||||
gui:
|
||||
# The number of lines you scroll by when scrolling the main window
|
||||
scrollHeight: 2
|
||||
# If true, allow scrolling past the bottom of the content in the main window
|
||||
scrollPastBottom: true
|
||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#scroll-off-margin
|
||||
scrollOffMargin: 2
|
||||
# One of: 'margin' (default) | 'jump'
|
||||
scrollOffBehavior: margin
|
||||
# If true, capture mouse events.
|
||||
# When mouse events are captured, it's a little harder to select text: e.g. requiring you to hold the option key when on macOS.
|
||||
mouseEvents: true
|
||||
# If true, do not show a warning when discarding changes in the staging view.
|
||||
skipDiscardChangeWarning: false
|
||||
# If true, do not show warning when applying/popping the stash
|
||||
skipStashWarning: false
|
||||
# If true, do not show a warning when attempting to commit without any staged files; instead stage all unstaged files.
|
||||
skipNoStagedFilesWarning: false
|
||||
# If true, do not show a warning when rewording a commit via an external editor
|
||||
skipRewordInEditorWarning: false
|
||||
# Fraction of the total screen width to use for the left side section. You may want to pick a small number (e.g. 0.2) if you're using a narrow screen, so that you can see more of the main section.
|
||||
# Number from 0 to 1.0.
|
||||
sidePanelWidth: 0.3333
|
||||
# If true, increase the height of the focused side window; creating an accordion effect.
|
||||
expandFocusedSidePanel: true
|
||||
# The weight of the expanded side panel, relative to the other panels. 2 means
|
||||
# twice as tall as the other panels. Only relevant if `expandFocusedSidePanel` is true.
|
||||
expandedSidePanelWeight: 3
|
||||
# Sometimes the main window is split in two (e.g. when the selected file has both staged and unstaged changes). This setting controls how the two sections are split.
|
||||
# Options are:
|
||||
# - 'horizontal': split the window horizontally
|
||||
# - 'vertical': split the window vertically
|
||||
# - 'flexible': (default) split the window horizontally if the window is wide enough, otherwise split vertically
|
||||
mainPanelSplitMode: flexible
|
||||
# How the window is split when in half screen mode (i.e. after hitting '+' once).
|
||||
# Possible values:
|
||||
# - 'left': split the window horizontally (side panel on the left, main view on the right)
|
||||
# - 'top': split the window vertically (side panel on top, main view below)
|
||||
enlargedSideViewLocation: left
|
||||
# If true, wrap lines in the staging view to the width of the view. This
|
||||
# makes it much easier to work with diffs that have long lines, e.g.
|
||||
# paragraphs of markdown text.
|
||||
wrapLinesInStagingView: true
|
||||
# One of 'auto' (default) | 'en' | 'zh-CN' | 'zh-TW' | 'pl' | 'nl' | 'ja' | 'ko' | 'ru'
|
||||
language: auto
|
||||
# Format used when displaying time e.g. commit time.
|
||||
# Uses Go's time format syntax: https://pkg.go.dev/time#Time.Format
|
||||
timeFormat: 02 Jan 06
|
||||
# Format used when displaying time if the time is less than 24 hours ago.
|
||||
# Uses Go's time format syntax: https://pkg.go.dev/time#Time.Format
|
||||
shortTimeFormat: 3:04PM
|
||||
# Config relating to colors and styles.
|
||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#color-attributes
|
||||
theme:
|
||||
# Border color of focused window
|
||||
activeBorderColor:
|
||||
- green
|
||||
- bold
|
||||
# Border color of non-focused windows
|
||||
inactiveBorderColor:
|
||||
- default
|
||||
# Border color of focused window when searching in that window
|
||||
searchingActiveBorderColor:
|
||||
- cyan
|
||||
- bold
|
||||
# Color of keybindings help text in the bottom line
|
||||
optionsTextColor:
|
||||
- blue
|
||||
# Background color of selected line.
|
||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#highlighting-the-selected-line
|
||||
selectedRangeBgColor:
|
||||
- "#444444"
|
||||
selectedLineBgColor:
|
||||
- "#444444"
|
||||
# Background color of selected line when view doesn't have focus.
|
||||
inactiveViewSelectedLineBgColor:
|
||||
- bold
|
||||
# Foreground color of copied commit
|
||||
cherryPickedCommitFgColor:
|
||||
- blue
|
||||
# Background color of copied commit
|
||||
cherryPickedCommitBgColor:
|
||||
- cyan
|
||||
# Foreground color of marked base commit (for rebase)
|
||||
markedBaseCommitFgColor:
|
||||
- blue
|
||||
# Background color of marked base commit (for rebase)
|
||||
markedBaseCommitBgColor:
|
||||
- yellow
|
||||
# Color for file with unstaged changes
|
||||
unstagedChangesColor:
|
||||
- red
|
||||
# Default text color
|
||||
defaultFgColor:
|
||||
- default
|
||||
# Config relating to the commit length indicator
|
||||
commitLength:
|
||||
# If true, show an indicator of commit message length
|
||||
show: true
|
||||
# If true, show the '5 of 20' footer at the bottom of list views
|
||||
showListFooter: true
|
||||
# If true, display the files in the file views as a tree. If false, display the files as a flat list.
|
||||
# This can be toggled from within Lazygit with the '~' key, but that will not change the default.
|
||||
showFileTree: true
|
||||
# If true, show the number of lines changed per file in the Files view
|
||||
showNumstatInFilesView: false
|
||||
# If true, show a random tip in the command log when Lazygit starts
|
||||
showRandomTip: true
|
||||
# If true, show the command log
|
||||
showCommandLog: true
|
||||
# If true, show the bottom line that contains keybinding info and useful buttons. If false, this line will be hidden except to display a loader for an in-progress action.
|
||||
showBottomLine: true
|
||||
# If true, show jump-to-window keybindings in window titles.
|
||||
showPanelJumps: true
|
||||
# Deprecated: use nerdFontsVersion instead
|
||||
showIcons: false
|
||||
# Nerd fonts version to use.
|
||||
# One of: '2' | '3' | empty string (default)
|
||||
# If empty, do not show icons.
|
||||
nerdFontsVersion: ""
|
||||
# If true (default), file icons are shown in the file views. Only relevant if NerdFontsVersion is not empty.
|
||||
showFileIcons: true
|
||||
# Length of author name in (non-expanded) commits view. 2 means show initials only.
|
||||
commitAuthorShortLength: 2
|
||||
# Length of author name in expanded commits view. 2 means show initials only.
|
||||
commitAuthorLongLength: 17
|
||||
# Length of commit hash in commits view. 0 shows '*' if NF icons aren't on.
|
||||
commitHashLength: 8
|
||||
# If true, show commit hashes alongside branch names in the branches view.
|
||||
showBranchCommitHash: false
|
||||
# Whether to show the divergence from the base branch in the branches view.
|
||||
# One of: 'none' | 'onlyArrow' | 'arrowAndNumber'
|
||||
showDivergenceFromBaseBranch: none
|
||||
# Height of the command log view
|
||||
commandLogSize: 8
|
||||
# Whether to split the main window when viewing file changes.
|
||||
# One of: 'auto' | 'always'
|
||||
# If 'auto', only split the main window when a file has both staged and unstaged changes
|
||||
splitDiff: auto
|
||||
# Default size for focused window. Window size can be changed from within Lazygit with '+' and '_' (but this won't change the default).
|
||||
# One of: 'normal' (default) | 'half' | 'full'
|
||||
screenMode: normal
|
||||
# Window border style.
|
||||
# One of 'rounded' (default) | 'single' | 'double' | 'hidden'
|
||||
border: rounded
|
||||
# If true, show a seriously epic explosion animation when nuking the working tree.
|
||||
animateExplosion: true
|
||||
# Whether to stack UI components on top of each other.
|
||||
# One of 'auto' (default) | 'always' | 'never'
|
||||
portraitMode: auto
|
||||
# How things are filtered when typing '/'.
|
||||
# One of 'substring' (default) | 'fuzzy'
|
||||
filterMode: substring
|
||||
# Config relating to the spinner.
|
||||
spinner:
|
||||
# The frames of the spinner animation.
|
||||
frames:
|
||||
- '|'
|
||||
- /
|
||||
- '-'
|
||||
- \
|
||||
# The "speed" of the spinner in milliseconds.
|
||||
rate: 50
|
||||
# Status panel view.
|
||||
# One of 'dashboard' (default) | 'allBranchesLog'
|
||||
statusPanelView: dashboard
|
||||
# If true, jump to the Files panel after popping a stash
|
||||
switchToFilesAfterStashPop: true
|
||||
# If true, jump to the Files panel after applying a stash
|
||||
switchToFilesAfterStashApply: true
|
||||
# If true, when using the panel jump keys (default 1 through 5) and target panel is already active, go to next tab instead
|
||||
switchTabsWithPanelJumpKeys: false
|
||||
# Config relating to git
|
||||
git:
|
||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Pagers.md
|
||||
pagers:
|
||||
- # Value of the --color arg in the git diff command. Some pagers want this to be set to 'always' and some want it set to 'never'
|
||||
colorArg: always
|
||||
# e.g.
|
||||
# diff-so-fancy
|
||||
# delta --dark --paging=never
|
||||
# ydiff -p cat -s --wrap --width={{columnWidth}}
|
||||
pager: ""
|
||||
# If true, Lazygit will use whatever pager is specified in `$GIT_PAGER`, `$PAGER`, or your *git config*. If the pager ends with something like ` | less` we will strip that part out, because less doesn't play nice with our rendering approach. If the custom pager uses less under the hood, that will also break rendering (hence the `--paging=never` flag for the `delta` pager).
|
||||
useConfig: false
|
||||
# e.g. 'difft --color=always'
|
||||
externalDiffCommand: ""
|
||||
# Config relating to committing
|
||||
commit:
|
||||
# If true, pass '--signoff' flag when committing
|
||||
signOff: false
|
||||
# Automatic WYSIWYG wrapping of the commit message as you type
|
||||
autoWrapCommitMessage: true
|
||||
# If autoWrapCommitMessage is true, the width to wrap to
|
||||
autoWrapWidth: 72
|
||||
# Config relating to merging
|
||||
merging:
|
||||
# If true, run merges in a subprocess so that if a commit message is required, Lazygit will not hang
|
||||
# Only applicable to unix users.
|
||||
manualCommit: false
|
||||
# Extra args passed to `git merge`, e.g. --no-ff
|
||||
args: ""
|
||||
# The commit message to use for a squash merge commit. Can contain "{{selectedRef}}" and "{{currentBranch}}" placeholders.
|
||||
squashMergeMessage: Squash merge {{selectedRef}} into {{currentBranch}}
|
||||
# list of branches that are considered 'main' branches, used when displaying commits
|
||||
mainBranches:
|
||||
- master
|
||||
- main
|
||||
# Prefix to use when skipping hooks. E.g. if set to 'WIP', then pre-commit hooks will be skipped when the commit message starts with 'WIP'
|
||||
skipHookPrefix: WIP
|
||||
# If true, periodically fetch from remote
|
||||
autoFetch: true
|
||||
# If true, periodically refresh files and submodules
|
||||
autoRefresh: true
|
||||
# If true, pass the --all arg to git fetch
|
||||
fetchAll: true
|
||||
# If true, lazygit will automatically stage files that used to have merge
|
||||
# conflicts but no longer do; and it will also ask you if you want to
|
||||
# continue a merge or rebase if you've resolved all conflicts. If false, it
|
||||
# won't do either of these things.
|
||||
autoStageResolvedConflicts: true
|
||||
# Command used when displaying the current branch git log in the main window
|
||||
branchLogCmd: git log --graph --color=always --abbrev-commit --decorate --date=relative --pretty=medium {{branchName}} --
|
||||
# If true, do not spawn a separate process when using GPG
|
||||
overrideGpg: false
|
||||
# If true, do not allow force pushes
|
||||
disableForcePushing: false
|
||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#predefined-commit-message-prefix
|
||||
commitPrefix:
|
||||
- # pattern to match on. E.g. for 'feature/AB-123' to match on the AB-123 use "^\\w+\\/(\\w+-\\w+).*"
|
||||
pattern: ""
|
||||
# Replace directive. E.g. for 'feature/AB-123' to start the commit message with 'AB-123 ' use "[$1] "
|
||||
replace: ""
|
||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#predefined-branch-name-prefix
|
||||
branchPrefix: ""
|
||||
# If true, parse emoji strings in commit messages e.g. render :rocket: as 🚀
|
||||
# (This should really be under 'gui', not 'git')
|
||||
parseEmoji: false
|
||||
# Config for showing the log in the commits view
|
||||
log:
|
||||
# One of: 'date-order' | 'author-date-order' | 'topo-order' | 'default'
|
||||
# 'topo-order' makes it easier to read the git log graph, but commits may not
|
||||
# appear chronologically. See https://git-scm.com/docs/
|
||||
#
|
||||
# Deprecated: Configure this with `Log menu -> Commit sort order` (<c-l> in the commits window by default).
|
||||
order: topo-order
|
||||
# This determines whether the git graph is rendered in the commits panel
|
||||
# One of 'always' | 'never' | 'when-maximised'
|
||||
#
|
||||
# Deprecated: Configure this with `Log menu -> Show git graph` (<c-l> in the commits window by default).
|
||||
showGraph: always
|
||||
# displays the whole git graph by default in the commits view (equivalent to passing the `--all` argument to `git log`)
|
||||
showWholeGraph: false
|
||||
# When copying commit hashes to the clipboard, truncate them to this
|
||||
# length. Set to 40 to disable truncation.
|
||||
truncateCopiedCommitHashesTo: 12
|
||||
allBranchesLogCmds:
|
||||
- git log --graph --all --color=always --abbrev-commit --decorate --date=relative --pretty=medium
|
||||
# Periodic update checks
|
||||
update:
|
||||
# One of: 'prompt' (default) | 'background' | 'never'
|
||||
method: prompt
|
||||
# Period in days between update checks
|
||||
days: 14
|
||||
# Background refreshes
|
||||
refresher:
|
||||
# File/submodule refresh interval in seconds.
|
||||
# Auto-refresh can be disabled via option 'git.autoRefresh'.
|
||||
refreshInterval: 10
|
||||
# Re-fetch interval in seconds.
|
||||
# Auto-fetch can be disabled via option 'git.autoFetch'.
|
||||
fetchInterval: 60
|
||||
# If true, show a confirmation popup before quitting Lazygit
|
||||
confirmOnQuit: false
|
||||
# If true, exit Lazygit when the user presses escape in a context where there is nothing to cancel/close
|
||||
quitOnTopLevelReturn: false
|
||||
# Config relating to things outside of Lazygit like how files are opened, copying to clipboard, etc
|
||||
os:
|
||||
# Command for editing a file. Should contain "{{filename}}".
|
||||
edit: ""
|
||||
# Command for editing a file at a given line number. Should contain
|
||||
# "{{filename}}", and may optionally contain "{{line}}".
|
||||
editAtLine: ""
|
||||
# Same as EditAtLine, except that the command needs to wait until the
|
||||
# window is closed.
|
||||
editAtLineAndWait: ""
|
||||
# For opening a directory in an editor
|
||||
openDirInEditor: ""
|
||||
# A built-in preset that sets all of the above settings. Supported presets
|
||||
# are defined in the getPreset function in editor_presets.go.
|
||||
editPreset: ""
|
||||
# Command for opening a file, as if the file is double-clicked. Should
|
||||
# contain "{{filename}}", but doesn't support "{{line}}".
|
||||
open: ""
|
||||
# Command for opening a link. Should contain "{{link}}".
|
||||
openLink: ""
|
||||
# EditCommand is the command for editing a file.
|
||||
# Deprecated: use Edit instead. Note that semantics are different:
|
||||
# EditCommand is just the command itself, whereas Edit contains a
|
||||
# "{{filename}}" variable.
|
||||
editCommand: ""
|
||||
# EditCommandTemplate is the command template for editing a file
|
||||
# Deprecated: use EditAtLine instead.
|
||||
editCommandTemplate: ""
|
||||
# OpenCommand is the command for opening a file
|
||||
# Deprecated: use Open instead.
|
||||
openCommand: ""
|
||||
# OpenLinkCommand is the command for opening a link
|
||||
# Deprecated: use OpenLink instead.
|
||||
openLinkCommand: ""
|
||||
# CopyToClipboardCmd is the command for copying to clipboard.
|
||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-command-for-copying-to-and-pasting-from-clipboard
|
||||
copyToClipboardCmd: ""
|
||||
# ReadFromClipboardCmd is the command for reading the clipboard.
|
||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-command-for-copying-to-and-pasting-from-clipboard
|
||||
readFromClipboardCmd: ""
|
||||
# If true, don't display introductory popups upon opening Lazygit.
|
||||
disableStartupPopups: false
|
||||
# What to do when opening Lazygit outside of a git repo.
|
||||
# - 'prompt': (default) ask whether to initialize a new repo or open in the most recent repo
|
||||
# - 'create': initialize a new repo
|
||||
# - 'skip': open most recent repo
|
||||
# - 'quit': exit Lazygit
|
||||
notARepository: prompt
|
||||
# If true, display a confirmation when subprocess terminates. This allows you to view the output of the subprocess before returning to Lazygit.
|
||||
promptToReturnFromSubprocess: true
|
||||
# Keybindings
|
||||
keybinding:
|
||||
universal:
|
||||
quit: q
|
||||
quit-alt1: <c-c>
|
||||
return: <esc>
|
||||
quitWithoutChangingDirectory: Q
|
||||
togglePanel: <tab>
|
||||
prevItem: <up>
|
||||
nextItem: <down>
|
||||
prevItem-alt: k
|
||||
nextItem-alt: j
|
||||
prevPage: ','
|
||||
nextPage: .
|
||||
scrollLeft: H
|
||||
scrollRight: L
|
||||
gotoTop: <
|
||||
gotoBottom: '>'
|
||||
toggleRangeSelect: v
|
||||
rangeSelectDown: <s-down>
|
||||
rangeSelectUp: <s-up>
|
||||
prevBlock: <left>
|
||||
nextBlock: <right>
|
||||
prevBlock-alt: h
|
||||
nextBlock-alt: l
|
||||
nextBlock-alt2: <tab>
|
||||
prevBlock-alt2: <backtab>
|
||||
jumpToBlock:
|
||||
- "1"
|
||||
- "2"
|
||||
- "3"
|
||||
- "4"
|
||||
- "5"
|
||||
nextMatch: "n"
|
||||
prevMatch: "N"
|
||||
startSearch: /
|
||||
optionMenu: <disabled>
|
||||
optionMenu-alt1: '?'
|
||||
select: <space>
|
||||
goInto: <enter>
|
||||
confirm: <enter>
|
||||
confirmInEditor: <a-enter>
|
||||
remove: d
|
||||
new: "n"
|
||||
edit: e
|
||||
openFile: o
|
||||
scrollUpMain: <pgup>
|
||||
scrollDownMain: <pgdown>
|
||||
scrollUpMain-alt1: K
|
||||
scrollDownMain-alt1: J
|
||||
scrollUpMain-alt2: <c-u>
|
||||
scrollDownMain-alt2: <c-d>
|
||||
executeShellCommand: ':'
|
||||
createRebaseOptionsMenu: m
|
||||
# 'Files' appended for legacy reasons
|
||||
pushFiles: P
|
||||
# 'Files' appended for legacy reasons
|
||||
pullFiles: p
|
||||
refresh: R
|
||||
createPatchOptionsMenu: <c-p>
|
||||
nextTab: ']'
|
||||
prevTab: '['
|
||||
nextScreenMode: +
|
||||
prevScreenMode: _
|
||||
undo: z
|
||||
redo: <c-z>
|
||||
filteringMenu: <c-s>
|
||||
diffingMenu: W
|
||||
diffingMenu-alt: <c-e>
|
||||
copyToClipboard: <c-o>
|
||||
openRecentRepos: <c-r>
|
||||
submitEditorText: <enter>
|
||||
extrasMenu: '@'
|
||||
toggleWhitespaceInDiffView: <c-w>
|
||||
increaseContextInDiffView: '}'
|
||||
decreaseContextInDiffView: '{'
|
||||
increaseRenameSimilarityThreshold: )
|
||||
decreaseRenameSimilarityThreshold: (
|
||||
openDiffTool: <c-t>
|
||||
status:
|
||||
checkForUpdate: u
|
||||
recentRepos: <enter>
|
||||
allBranchesLogGraph: a
|
||||
files:
|
||||
commitChanges: c
|
||||
commitChangesWithoutHook: w
|
||||
amendLastCommit: A
|
||||
commitChangesWithEditor: C
|
||||
findBaseCommitForFixup: <c-f>
|
||||
confirmDiscard: x
|
||||
ignoreFile: i
|
||||
refreshFiles: r
|
||||
stashAllChanges: s
|
||||
viewStashOptions: S
|
||||
toggleStagedAll: a
|
||||
viewResetOptions: D
|
||||
fetch: f
|
||||
toggleTreeView: '`'
|
||||
openMergeOptions: M
|
||||
openStatusFilter: <c-b>
|
||||
copyFileInfoToClipboard: "y"
|
||||
branches:
|
||||
createPullRequest: o
|
||||
viewPullRequestOptions: O
|
||||
copyPullRequestURL: <c-y>
|
||||
checkoutBranchByName: c
|
||||
forceCheckoutBranch: F
|
||||
rebaseBranch: r
|
||||
renameBranch: R
|
||||
mergeIntoCurrentBranch: M
|
||||
viewGitFlowOptions: i
|
||||
fastForward: f
|
||||
createTag: T
|
||||
pushTag: P
|
||||
setUpstream: u
|
||||
fetchRemote: f
|
||||
sortOrder: s
|
||||
worktrees:
|
||||
viewWorktreeOptions: w
|
||||
commits:
|
||||
squashDown: s
|
||||
renameCommit: r
|
||||
renameCommitWithEditor: R
|
||||
viewResetOptions: g
|
||||
markCommitAsFixup: f
|
||||
createFixupCommit: F
|
||||
squashAboveCommits: S
|
||||
moveDownCommit: <c-j>
|
||||
moveUpCommit: <c-k>
|
||||
amendToCommit: A
|
||||
resetCommitAuthor: a
|
||||
pickCommit: p
|
||||
revertCommit: t
|
||||
cherryPickCopy: C
|
||||
pasteCommits: V
|
||||
markCommitAsBaseForRebase: B
|
||||
tagCommit: T
|
||||
checkoutCommit: <space>
|
||||
copyCommitAttributeToClipboard: "y"
|
||||
openLogMenu: <c-l>
|
||||
openInBrowser: o
|
||||
viewBisectOptions: b
|
||||
startInteractiveRebase: i
|
||||
amendAttribute:
|
||||
resetAuthor: a
|
||||
setAuthor: A
|
||||
addCoAuthor: c
|
||||
stash:
|
||||
popStash: g
|
||||
renameStash: r
|
||||
commitFiles:
|
||||
checkoutCommitFile: c
|
||||
main:
|
||||
toggleSelectHunk: a
|
||||
pickBothHunks: b
|
||||
editSelectHunk: E
|
||||
submodules:
|
||||
init: i
|
||||
update: u
|
||||
bulkMenu: b
|
||||
commitMessage:
|
||||
commitMenu: <c-o>
|
||||
@@ -0,0 +1,29 @@
|
||||
cal
|
||||
calc
|
||||
speedtest
|
||||
aichat -e
|
||||
askllama
|
||||
ask
|
||||
tldr
|
||||
man
|
||||
info
|
||||
rsync -avkP
|
||||
lsd
|
||||
zioxide
|
||||
httpie
|
||||
bat
|
||||
xxd
|
||||
mpv
|
||||
nix
|
||||
distrobox
|
||||
scrcpy
|
||||
adb
|
||||
watch
|
||||
unzip
|
||||
open
|
||||
nmcli
|
||||
iwctl
|
||||
lsusb
|
||||
thefuck
|
||||
fastfetch
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
browsh
|
||||
wiki-tui
|
||||
wikiman
|
||||
yazi
|
||||
tdf
|
||||
dysk
|
||||
dust
|
||||
ncdu
|
||||
systemctl-tui
|
||||
btop
|
||||
bandwhich
|
||||
mtr
|
||||
gping
|
||||
bmon
|
||||
profanity
|
||||
nmtui
|
||||
bluetui
|
||||
drawterm
|
||||
hunk
|
||||
lazygit
|
||||
lazydocker
|
||||
lazyjorunal
|
||||
pastel
|
||||
hexyl
|
||||
pyradio
|
||||
kew
|
||||
tt
|
||||
gittype
|
||||
matrix
|
||||
cava
|
||||
tetrigo
|
||||
tui-mines
|
||||
nyaa
|
||||
stig
|
||||
tmux
|
||||
zellij
|
||||
nvim
|
||||
vim
|
||||
tuios
|
||||
llmfit
|
||||
battop
|
||||
subtui
|
||||
@@ -0,0 +1,21 @@
|
||||
# Volume
|
||||
9 add volume -5
|
||||
0 add volume 5
|
||||
|
||||
UP add volume 2
|
||||
DOWN add volume -2
|
||||
|
||||
k add volume 2
|
||||
j add volume -2
|
||||
|
||||
# Seek backward / forward
|
||||
LEFT seek -5
|
||||
RIGHT seek 5
|
||||
|
||||
l seek 5
|
||||
h seek -5
|
||||
|
||||
# Bigger jumps
|
||||
Shift+LEFT seek -30
|
||||
Shift+RIGHT seek 30
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
[pyradio]
|
||||
volume=50
|
||||
|
||||
|
||||
|
||||
@@ -1,32 +1,6 @@
|
||||
vim.g.base46_cache = vim.fn.stdpath "data" .. "/base46/"
|
||||
vim.g.mapleader = " "
|
||||
|
||||
----- custom config -----
|
||||
|
||||
if vim.g.neovide then
|
||||
vim.g.neovide_transparency = 0.7
|
||||
vim.g.neovide_scale_factor = 0.7
|
||||
vim.g.neovide_window_blurred = true
|
||||
vim.g.neovide_floating_blur_amount_x = 1.0
|
||||
vim.g.neovide_floating_blur_amount_y = 1.0
|
||||
vim.g.neovide_floating_shadow = true
|
||||
vim.g.neovide_floating_z_height = 0
|
||||
vim.g.neovide_hide_mouse_when_typing = true
|
||||
vim.g.neovide_padding_top = 15
|
||||
vim.g.neovide_padding_right = 5
|
||||
vim.g.neovide_padding_left = 5
|
||||
-- vim.g.neovide_fullscreen = true
|
||||
-- vim.g.neovide_padding_bottom = 0
|
||||
-- vim.g.neovide_light_radius = 5
|
||||
-- vim.g.neovide_show_border = false
|
||||
-- vim.g.neovide_light_angle_degrees = 45
|
||||
end
|
||||
|
||||
vim.opt.relativenumber = true
|
||||
vim.opt.wrap = false
|
||||
|
||||
----- end of custom -----
|
||||
|
||||
|
||||
-- bootstrap lazy and all plugins
|
||||
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
||||
|
||||
+27
-24
@@ -1,29 +1,32 @@
|
||||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
|
||||
"NvChad": { "branch": "v2.5", "commit": "46b15ef1b9d10a83ab7df26b14f474d15c01e770" },
|
||||
"base46": { "branch": "v3.0", "commit": "80358ecdb5779b199130ed03031c34c0c2bca3fc" },
|
||||
"LuaSnip": { "branch": "master", "commit": "a62e1083a3cfe8b6b206e7d3d33a51091df25357" },
|
||||
"NvChad": { "branch": "v2.5", "commit": "d042cc975247c2aa55fcb228e5d146dc1dc6c648" },
|
||||
"base46": { "branch": "v2.5", "commit": "fde7a2cd54599e148d376f82980407c2d24b0fa2" },
|
||||
"cmp-async-path": { "branch": "main", "commit": "f8af3f726e07f2e9d37672eaa9102581aefce149" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
|
||||
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
|
||||
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
|
||||
"cmp-nvim-lua": { "branch": "main", "commit": "e3a22cb071eb9d6508a156306b102c45cd2d573d" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||
"conform.nvim": { "branch": "master", "commit": "eebc724d12c5579d733d1f801386e0ceb909d001" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "31f2a2657b6261724313281fe0d8ba6f43f4a4fa" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "fcfa7a989cd6fed10abf02d9880dc76d7a38167d" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
|
||||
"menu": { "branch": "main", "commit": "8adb036ec34c679050913864cbc98cc64eb91f6c" },
|
||||
"codecompanion.nvim": { "branch": "main", "commit": "680c445eb357c72129d175ea5d481aa9e92ae6a5" },
|
||||
"conform.nvim": { "branch": "master", "commit": "086a40dc7ed8242c03be9f47fbcee68699cc2395" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "6d808f99bd63303646794406e270bd553ad7792e" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
||||
"mason.nvim": { "branch": "main", "commit": "12ddd182d9efbdc848b540f16484a583d52da0fb" },
|
||||
"menu": { "branch": "main", "commit": "7a0a4a2896b715c066cfbe320bdc048091874cc6" },
|
||||
"minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "81920264a264144bd075f7f48f0c4356fc2c6236" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "5bea2b37523a31288e0fcab42f3be5c1bd4516bb" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "7bbed4b548d9a81c14351bda93d16336edefd067" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "c90dee4e930ab9f49fa6d77f289bff335b49e972" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" },
|
||||
"ui": { "branch": "v3.0", "commit": "9201de37eb4992bef5fec974618a9a14082765fe" },
|
||||
"volt": { "branch": "main", "commit": "c45d5f48da8e802e608b5c6da471ca4d84276dfb" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
|
||||
"nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "a1d504892f2bc56c2e79b65c6faded2fd21f3eca" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "e146efacbafed3789ac568abcc5a981c5decaa58" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "d277467fc0d1d0e2bca88165a1de6b526f9f6fe8" },
|
||||
"nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "c72328a5494b4502947a022fe69c0c47e53b6aa6" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
|
||||
"render-markdown.nvim": { "branch": "main", "commit": "d67113f11384c0dad96fced2f7b91f1fc811e97f" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "ad9ede6a9cddf16cedbd31b8932d6dcdee9b716e" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "028d9a0695a0cc4cfa893889f8c408ed7ccc8adc" },
|
||||
"ui": { "branch": "v3.0", "commit": "cb75908a86720172594b30de147272c1b3a7f452" },
|
||||
"volt": { "branch": "main", "commit": "620de1321f275ec9d80028c68d1b88b409c0c8b1" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
||||
}
|
||||
|
||||
+49
-10
@@ -1,18 +1,57 @@
|
||||
-- This file needs to have same structure as nvconfig.lua
|
||||
-- This file needs to have same structure as nvconfig.lua
|
||||
-- https://github.com/NvChad/ui/blob/v3.0/lua/nvconfig.lua
|
||||
-- Please read that file to know all available options :(
|
||||
-- Please read that file to know all available options :(
|
||||
|
||||
---@type ChadrcConfig
|
||||
local M = {}
|
||||
|
||||
M.base46 = {
|
||||
theme = "onedark",
|
||||
transparency = true
|
||||
local M = {
|
||||
base46 = {
|
||||
theme = "onedark",
|
||||
transparency = true,
|
||||
lsp = { signature = true },
|
||||
hl_override = {
|
||||
NvimTreeGitDirty = {
|
||||
fg = "#DBA55D",
|
||||
},
|
||||
},
|
||||
-- Comment = { italic = true },
|
||||
-- ["@comment"] = { italic = true },
|
||||
},
|
||||
|
||||
-- hl_override = {
|
||||
-- Comment = { italic = true },
|
||||
-- ["@comment"] = { italic = true },
|
||||
-- },
|
||||
nvdash = {
|
||||
load_on_startup = false,
|
||||
-- buttons = {
|
||||
-- { txt = " Find File", keys = "Spc f f", cmd = "Telescope find_files custom" },
|
||||
-- { txt = " Recent Files", keys = "Spc f o", cmd = "Telescope oldfiles" },
|
||||
-- -- more... check nvconfig.lua file for full list of buttons
|
||||
-- },
|
||||
},
|
||||
|
||||
ui = {
|
||||
-- lazyload it when there are 1+ buffers
|
||||
tabufline = {
|
||||
enabled = true,
|
||||
lazyload = true,
|
||||
order = { "treeOffset", "buffers", "tabs", "btns" },
|
||||
modules = nil,
|
||||
bufwidth = 21,
|
||||
transparency = true,
|
||||
},
|
||||
},
|
||||
|
||||
term = {
|
||||
base46_colors = true,
|
||||
winopts = { number = false },
|
||||
sizes = { sp = 0.5, vsp = 0.2, ["bo sp"] = 0.3, ["bo vsp"] = 0.2 },
|
||||
float = {
|
||||
relative = "editor",
|
||||
row = 0.05,
|
||||
col = 0.05,
|
||||
width = 0.9,
|
||||
height = 0.8,
|
||||
border = "single",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
return M
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
local model = "Qwen3-Coder-30B-Instruct-IQ4_XS"
|
||||
|
||||
return {
|
||||
adapters = {
|
||||
http = {
|
||||
llama_cpp = function()
|
||||
return require("codecompanion.adapters").extend("openai_compatible", {
|
||||
env = {
|
||||
url = "http://localhost:11343",
|
||||
chat_url = "/v1/chat/completions",
|
||||
models_endpoint = "/v1/models",
|
||||
api_key = "dummy",
|
||||
},
|
||||
schema = {
|
||||
model = {
|
||||
default = model,
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
},
|
||||
interactions = {
|
||||
chat = {
|
||||
adapter = "llama_cpp",
|
||||
},
|
||||
inline = {
|
||||
adapter = "llama_cpp",
|
||||
},
|
||||
cmd = {
|
||||
adapter = "llama_cpp",
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,16 +1,23 @@
|
||||
local options = {
|
||||
formatters_by_ft = {
|
||||
lua = { "stylua" },
|
||||
css = { "prettier" },
|
||||
html = { "prettier" },
|
||||
javascript = { "prettier" },
|
||||
javascriptreact = { "prettier" },
|
||||
typescript = { "prettier" },
|
||||
typescriptreact = { "prettier" },
|
||||
json = { "prettier" },
|
||||
html = { "prettier" },
|
||||
yaml = { "prettier" },
|
||||
markdown = { "prettier" },
|
||||
css = { "prettier", "stylelint" },
|
||||
scss = { "prettier", "stylelint" },
|
||||
},
|
||||
|
||||
-- format_on_save = {
|
||||
-- -- These options will be passed to conform.format()
|
||||
-- timeout_ms = 500,
|
||||
-- lsp_fallback = true,
|
||||
-- },
|
||||
format_on_save = {
|
||||
-- These options will be passed to conform.format()
|
||||
timeout_ms = 500,
|
||||
lsp_format = "fallback",
|
||||
},
|
||||
}
|
||||
|
||||
return options
|
||||
|
||||
@@ -1,24 +1,28 @@
|
||||
-- load defaults i.e lua_lsp
|
||||
require("nvchad.configs.lspconfig").defaults()
|
||||
|
||||
local lspconfig = require "lspconfig"
|
||||
local servers = { "html", "cssls", "ts_ls", "eslint", "yamlls" }
|
||||
vim.lsp.enable(servers)
|
||||
|
||||
-- EXAMPLE
|
||||
local servers = { "html", "cssls", "ts_ls" }
|
||||
local nvlsp = require "nvchad.configs.lspconfig"
|
||||
|
||||
-- lsps with default config
|
||||
for _, lsp in ipairs(servers) do
|
||||
lspconfig[lsp].setup {
|
||||
on_attach = nvlsp.on_attach,
|
||||
on_init = nvlsp.on_init,
|
||||
capabilities = nvlsp.capabilities,
|
||||
}
|
||||
end
|
||||
|
||||
-- configuring single server, example: typescript
|
||||
-- local lspconfig = require "lspconfig"
|
||||
-- local nvlsp = require "nvchad.configs.lspconfig"
|
||||
--
|
||||
-- -- lsps with default config
|
||||
-- for _, lsp in ipairs(servers) do
|
||||
-- lspconfig[lsp].setup {
|
||||
-- on_attach = nvlsp.on_attach,
|
||||
-- on_init = nvlsp.on_init,
|
||||
-- capabilities = nvlsp.capabilities,
|
||||
-- }
|
||||
-- end
|
||||
--
|
||||
-- -- configuring single server, example: typescript
|
||||
-- lspconfig.ts_ls.setup {
|
||||
-- on_attach = nvlsp.on_attach,
|
||||
-- on_init = nvlsp.on_init,
|
||||
-- capabilities = nvlsp.capabilities,
|
||||
-- filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue', 'markdown' },
|
||||
-- }
|
||||
--
|
||||
-- -- configuring single server, example: typescript
|
||||
-- -- lspconfig.ts_ls.setup {
|
||||
-- -- on_attach = nvlsp.on_attach,
|
||||
-- -- on_init = nvlsp.on_init,
|
||||
-- -- capabilities = nvlsp.capabilities,
|
||||
-- -- }
|
||||
|
||||
@@ -0,0 +1,851 @@
|
||||
return {
|
||||
-- Whether markdown should be rendered by default.
|
||||
enabled = true,
|
||||
-- Vim modes that will show a rendered view of the markdown file, :h mode(), for all enabled
|
||||
-- components. Individual components can be enabled for other modes. Remaining modes will be
|
||||
-- unaffected by this plugin.
|
||||
render_modes = { "i", "n", "c", "t" },
|
||||
-- Maximum file size (in MB) that this plugin will attempt to render.
|
||||
-- Any file larger than this will effectively be ignored.
|
||||
max_file_size = 10.0,
|
||||
-- Milliseconds that must pass before updating marks, updates occur.
|
||||
-- within the context of the visible window, not the entire buffer.
|
||||
debounce = 100,
|
||||
-- Pre configured settings that will attempt to mimic various target user experiences.
|
||||
-- Any user provided settings will take precedence.
|
||||
-- | obsidian | mimic Obsidian UI |
|
||||
-- | lazy | will attempt to stay up to date with LazyVim configuration |
|
||||
-- | none | does nothing |
|
||||
preset = "none",
|
||||
-- The level of logs to write to file: vim.fn.stdpath('state') .. '/render-markdown.log'.
|
||||
-- Only intended to be used for plugin development / debugging.
|
||||
log_level = "error",
|
||||
-- Print runtime of main update method.
|
||||
-- Only intended to be used for plugin development / debugging.
|
||||
log_runtime = false,
|
||||
-- Filetypes this plugin will run on.
|
||||
file_types = { "markdown", "gitcommit", "codecompanion" },
|
||||
-- Takes buffer as input, if it returns true this plugin will not attach to the buffer
|
||||
ignore = function()
|
||||
return false
|
||||
end,
|
||||
-- Additional events that will trigger this plugin's render loop.
|
||||
change_events = {},
|
||||
injections = {
|
||||
-- Out of the box language injections for known filetypes that allow markdown to be interpreted
|
||||
-- in specified locations, see :h treesitter-language-injections.
|
||||
-- Set enabled to false in order to disable.
|
||||
|
||||
gitcommit = {
|
||||
enabled = true,
|
||||
query = [[
|
||||
((message) @injection.content
|
||||
(#set! injection.combined)
|
||||
(#set! injection.include-children)
|
||||
(#set! injection.language "markdown"))
|
||||
]],
|
||||
},
|
||||
},
|
||||
patterns = {
|
||||
-- Highlight patterns to disable for filetypes, i.e. lines concealed around code blocks
|
||||
|
||||
markdown = {
|
||||
disable = true,
|
||||
directives = {
|
||||
{ id = 17, name = "conceal_lines" },
|
||||
{ id = 18, name = "conceal_lines" },
|
||||
},
|
||||
},
|
||||
},
|
||||
anti_conceal = {
|
||||
-- This enables hiding any added text on the line the cursor is on.
|
||||
enabled = true,
|
||||
-- Modes to disable anti conceal feature.
|
||||
disabled_modes = false,
|
||||
-- Number of lines above cursor to show.
|
||||
above = 0,
|
||||
-- Number of lines below cursor to show.
|
||||
below = 0,
|
||||
-- Which elements to always show, ignoring anti conceal behavior. Values can either be
|
||||
-- booleans to fix the behavior or string lists representing modes where anti conceal
|
||||
-- behavior will be ignored. Valid values are:
|
||||
-- bullet
|
||||
-- callout
|
||||
-- check_icon, check_scope
|
||||
-- code_background, code_border, code_language
|
||||
-- dash
|
||||
-- head_background, head_border, head_icon
|
||||
-- indent
|
||||
-- link
|
||||
-- quote
|
||||
-- sign
|
||||
-- table_border
|
||||
-- virtual_lines
|
||||
ignore = {
|
||||
code_background = true,
|
||||
indent = true,
|
||||
sign = true,
|
||||
virtual_lines = true,
|
||||
},
|
||||
},
|
||||
padding = {
|
||||
-- Highlight to use when adding whitespace, should match background.
|
||||
highlight = "Normal",
|
||||
},
|
||||
latex = {
|
||||
-- Turn on / off latex rendering.
|
||||
enabled = true,
|
||||
-- Additional modes to render latex.
|
||||
render_modes = false,
|
||||
-- Executable used to convert latex formula to rendered unicode.
|
||||
converter = "latex2text",
|
||||
-- Highlight for latex blocks.
|
||||
highlight = "RenderMarkdownMath",
|
||||
-- Determines where latex formula is rendered relative to block.
|
||||
-- | above | above latex block |
|
||||
-- | below | below latex block |
|
||||
position = "above",
|
||||
-- Number of empty lines above latex blocks.
|
||||
top_pad = 0,
|
||||
-- Number of empty lines below latex blocks.
|
||||
bottom_pad = 0,
|
||||
},
|
||||
on = {
|
||||
-- Called when plugin initially attaches to a buffer.
|
||||
attach = function() end,
|
||||
-- Called before adding marks to the buffer for the first time.
|
||||
initial = function() end,
|
||||
-- Called after plugin renders a buffer.
|
||||
render = function() end,
|
||||
-- Called after plugin clears a buffer.
|
||||
clear = function() end,
|
||||
},
|
||||
completions = {
|
||||
-- Settings for blink.cmp completions source
|
||||
blink = { enabled = false },
|
||||
-- Settings for coq_nvim completions source
|
||||
coq = { enabled = false },
|
||||
-- Settings for in-process language server completions
|
||||
lsp = { enabled = false },
|
||||
filter = {
|
||||
callout = function()
|
||||
-- example to exclude obsidian callouts
|
||||
-- return value.category ~= 'obsidian'
|
||||
return true
|
||||
end,
|
||||
checkbox = function()
|
||||
return true
|
||||
end,
|
||||
},
|
||||
},
|
||||
heading = {
|
||||
-- Useful context to have when evaluating values.
|
||||
-- | level | the number of '#' in the heading marker |
|
||||
-- | sections | for each level how deeply nested the heading is |
|
||||
|
||||
-- Turn on / off heading icon & background rendering.
|
||||
enabled = true,
|
||||
-- Additional modes to render headings.
|
||||
render_modes = false,
|
||||
-- Turn on / off atx heading rendering.
|
||||
atx = true,
|
||||
-- Turn on / off setext heading rendering.
|
||||
setext = true,
|
||||
-- Turn on / off any sign column related rendering.
|
||||
sign = true,
|
||||
-- Replaces '#+' of 'atx_h._marker'.
|
||||
-- Output is evaluated depending on the type.
|
||||
-- | function | `value(context)` |
|
||||
-- | string[] | `cycle(value, context.level)` |
|
||||
icons = { " ", " ", " ", " ", " ", " " },
|
||||
-- Determines how icons fill the available space.
|
||||
-- | right | '#'s are concealed and icon is appended to right side |
|
||||
-- | inline | '#'s are concealed and icon is inlined on left side |
|
||||
-- | overlay | icon is left padded with spaces and inserted on left hiding any additional '#' |
|
||||
position = "overlay",
|
||||
-- Added to the sign column if enabled.
|
||||
-- Output is evaluated by `cycle(value, context.level)`.
|
||||
signs = { " " },
|
||||
-- Width of the heading background.
|
||||
-- | block | width of the heading text |
|
||||
-- | full | full width of the window |
|
||||
-- Can also be a list of the above values evaluated by `clamp(value, context.level)`.
|
||||
width = "full",
|
||||
-- Amount of margin to add to the left of headings.
|
||||
-- Margin available space is computed after accounting for padding.
|
||||
-- If a float < 1 is provided it is treated as a percentage of available window space.
|
||||
-- Can also be a list of numbers evaluated by `clamp(value, context.level)`.
|
||||
left_margin = 0,
|
||||
-- Amount of padding to add to the left of headings.
|
||||
-- Output is evaluated using the same logic as 'left_margin'.
|
||||
left_pad = 0,
|
||||
-- Amount of padding to add to the right of headings when width is 'block'.
|
||||
-- Output is evaluated using the same logic as 'left_margin'.
|
||||
right_pad = 0,
|
||||
-- Minimum width to use for headings when width is 'block'.
|
||||
-- Can also be a list of integers evaluated by `clamp(value, context.level)`.
|
||||
min_width = 0,
|
||||
-- Determines if a border is added above and below headings.
|
||||
-- Can also be a list of booleans evaluated by `clamp(value, context.level)`.
|
||||
border = false,
|
||||
-- Always use virtual lines for heading borders instead of attempting to use empty lines.
|
||||
border_virtual = false,
|
||||
-- Highlight the start of the border using the foreground highlight.
|
||||
border_prefix = false,
|
||||
-- Used above heading for border.
|
||||
above = "▄",
|
||||
-- Used below heading for border.
|
||||
below = "▀",
|
||||
-- Highlight for the heading icon and extends through the entire line.
|
||||
-- Output is evaluated by `clamp(value, context.level)`.
|
||||
backgrounds = {
|
||||
"RenderMarkdownH1Bg",
|
||||
"RenderMarkdownH2Bg",
|
||||
"RenderMarkdownH3Bg",
|
||||
"RenderMarkdownH4Bg",
|
||||
"RenderMarkdownH5Bg",
|
||||
"RenderMarkdownH6Bg",
|
||||
},
|
||||
-- Highlight for the heading and sign icons.
|
||||
-- Output is evaluated using the same logic as 'backgrounds'.
|
||||
foregrounds = {
|
||||
"RenderMarkdownH1",
|
||||
"RenderMarkdownH2",
|
||||
"RenderMarkdownH3",
|
||||
"RenderMarkdownH4",
|
||||
"RenderMarkdownH5",
|
||||
"RenderMarkdownH6",
|
||||
},
|
||||
-- Define custom heading patterns which allow you to override various properties based on
|
||||
-- the contents of a heading.
|
||||
-- The key is for healthcheck and to allow users to change its values, value type below.
|
||||
-- | pattern | matched against the heading text @see :h lua-patterns |
|
||||
-- | icon | optional override for the icon |
|
||||
-- | background | optional override for the background |
|
||||
-- | foreground | optional override for the foreground |
|
||||
custom = {},
|
||||
},
|
||||
paragraph = {
|
||||
-- Useful context to have when evaluating values.
|
||||
-- | text | text value of the node |
|
||||
|
||||
-- Turn on / off paragraph rendering.
|
||||
enabled = true,
|
||||
-- Additional modes to render paragraphs.
|
||||
render_modes = false,
|
||||
-- Amount of margin to add to the left of paragraphs.
|
||||
-- If a float < 1 is provided it is treated as a percentage of available window space.
|
||||
-- Output is evaluated depending on the type.
|
||||
-- | function | `value(context)` |
|
||||
-- | number | `value` |
|
||||
left_margin = 0,
|
||||
-- Amount of padding to add to the first line of each paragraph.
|
||||
-- Output is evaluated using the same logic as 'left_margin'.
|
||||
indent = 0,
|
||||
-- Minimum width to use for paragraphs.
|
||||
min_width = 0,
|
||||
},
|
||||
code = {
|
||||
-- Turn on / off code block & inline code rendering.
|
||||
enabled = true,
|
||||
-- Additional modes to render code blocks.
|
||||
render_modes = false,
|
||||
-- Turn on / off any sign column related rendering.
|
||||
sign = true,
|
||||
-- Determines how code blocks & inline code are rendered.
|
||||
-- | none | disables all rendering |
|
||||
-- | normal | background highlighting + padding |
|
||||
-- | language | language heading with icon + sign column |
|
||||
-- | full | normal + language |
|
||||
style = "full",
|
||||
-- Whether to conceal nodes at the top and bottom of code blocks.
|
||||
conceal_delimiters = true,
|
||||
-- Turn on / off any language heading related rendering.
|
||||
language = true,
|
||||
-- Determines where language icon is rendered.
|
||||
-- | right | right side of code block |
|
||||
-- | left | left side of code block |
|
||||
position = "left",
|
||||
-- Whether to include the language icon above code blocks.
|
||||
language_icon = true,
|
||||
-- Whether to include the language name above code blocks.
|
||||
language_name = true,
|
||||
-- Whether to include the language info above code blocks.
|
||||
language_info = true,
|
||||
-- Amount of padding to add around the language.
|
||||
-- If a float < 1 is provided it is treated as a percentage of available window space.
|
||||
language_pad = 0,
|
||||
-- A list of language names for which background highlighting will be disabled.
|
||||
-- Likely because that language has background highlights itself.
|
||||
-- Use a boolean to make behavior apply to all languages.
|
||||
-- Borders above & below blocks will continue to be rendered.
|
||||
disable_background = { "diff" },
|
||||
-- Width of the code block background.
|
||||
-- | block | width of the code block |
|
||||
-- | full | full width of the window |
|
||||
width = "full",
|
||||
-- Amount of margin to add to the left of code blocks.
|
||||
-- If a float < 1 is provided it is treated as a percentage of available window space.
|
||||
-- Margin available space is computed after accounting for padding.
|
||||
left_margin = 0,
|
||||
-- Amount of padding to add to the left of code blocks.
|
||||
-- If a float < 1 is provided it is treated as a percentage of available window space.
|
||||
left_pad = 0,
|
||||
-- Amount of padding to add to the right of code blocks when width is 'block'.
|
||||
-- If a float < 1 is provided it is treated as a percentage of available window space.
|
||||
right_pad = 0,
|
||||
-- Minimum width to use for code blocks when width is 'block'.
|
||||
min_width = 0,
|
||||
-- Determines how the top / bottom of code block are rendered.
|
||||
-- | none | do not render a border |
|
||||
-- | thick | use the same highlight as the code body |
|
||||
-- | thin | when lines are empty overlay the above & below icons |
|
||||
-- | hide | conceal lines unless language name or icon is added |
|
||||
border = "hide",
|
||||
-- Used above code blocks to fill remaining space around language.
|
||||
language_border = "█",
|
||||
-- Added to the left of language.
|
||||
language_left = "",
|
||||
-- Added to the right of language.
|
||||
language_right = "",
|
||||
-- Used above code blocks for thin border.
|
||||
above = "▄",
|
||||
-- Used below code blocks for thin border.
|
||||
below = "▀",
|
||||
-- Icon to add to the left of inline code.
|
||||
inline_left = "",
|
||||
-- Icon to add to the right of inline code.
|
||||
inline_right = "",
|
||||
-- Padding to add to the left & right of inline code.
|
||||
inline_pad = 0,
|
||||
-- Highlight for code blocks.
|
||||
highlight = "RenderMarkdownCode",
|
||||
-- Highlight for code info section, after the language.
|
||||
highlight_info = "RenderMarkdownCodeInfo",
|
||||
-- Highlight for language, overrides icon provider value.
|
||||
highlight_language = nil,
|
||||
-- Highlight for border, use false to add no highlight.
|
||||
highlight_border = "RenderMarkdownCodeBorder",
|
||||
-- Highlight for language, used if icon provider does not have a value.
|
||||
highlight_fallback = "RenderMarkdownCodeFallback",
|
||||
-- Highlight for inline code.
|
||||
highlight_inline = "RenderMarkdownCodeInline",
|
||||
},
|
||||
dash = {
|
||||
-- Turn on / off thematic break rendering.
|
||||
enabled = true,
|
||||
-- Additional modes to render dash.
|
||||
render_modes = false,
|
||||
-- Replaces '---'|'***'|'___'|'* * *' of 'thematic_break'.
|
||||
-- The icon gets repeated across the window's width.
|
||||
icon = "─",
|
||||
-- Width of the generated line.
|
||||
-- | <number> | a hard coded width value |
|
||||
-- | full | full width of the window |
|
||||
-- If a float < 1 is provided it is treated as a percentage of available window space.
|
||||
width = "full",
|
||||
-- Amount of margin to add to the left of dash.
|
||||
-- If a float < 1 is provided it is treated as a percentage of available window space.
|
||||
left_margin = 0,
|
||||
-- Highlight for the whole line generated from the icon.
|
||||
highlight = "RenderMarkdownDash",
|
||||
},
|
||||
document = {
|
||||
-- Turn on / off document rendering.
|
||||
enabled = true,
|
||||
-- Additional modes to render document.
|
||||
render_modes = false,
|
||||
-- Ability to conceal arbitrary ranges of text based on lua patterns, @see :h lua-patterns.
|
||||
-- Relies entirely on user to set patterns that handle their edge cases.
|
||||
conceal = {
|
||||
-- Matched ranges will be concealed using character level conceal.
|
||||
char_patterns = {},
|
||||
-- Matched ranges will be concealed using line level conceal.
|
||||
line_patterns = {},
|
||||
},
|
||||
},
|
||||
bullet = {
|
||||
-- Useful context to have when evaluating values.
|
||||
-- | level | how deeply nested the list is, 1-indexed |
|
||||
-- | index | how far down the item is at that level, 1-indexed |
|
||||
-- | value | text value of the marker node |
|
||||
|
||||
-- Turn on / off list bullet rendering
|
||||
enabled = true,
|
||||
-- Additional modes to render list bullets
|
||||
render_modes = false,
|
||||
-- Replaces '-'|'+'|'*' of 'list_item'.
|
||||
-- If the item is a 'checkbox' a conceal is used to hide the bullet instead.
|
||||
-- Output is evaluated depending on the type.
|
||||
-- | function | `value(context)` |
|
||||
-- | string | `value` |
|
||||
-- | string[] | `cycle(value, context.level)` |
|
||||
-- | string[][] | `clamp(cycle(value, context.level), context.index)` |
|
||||
icons = { "●", "○", "◆", "◇" },
|
||||
-- Replaces 'n.'|'n)' of 'list_item'.
|
||||
-- Output is evaluated using the same logic as 'icons'.
|
||||
ordered_icons = function(ctx)
|
||||
local value = vim.trim(ctx.value)
|
||||
local index = tonumber(value:sub(1, #value - 1))
|
||||
return ("%d."):format(index > 1 and index or ctx.index)
|
||||
end,
|
||||
-- Padding to add to the left of bullet point.
|
||||
-- Output is evaluated depending on the type.
|
||||
-- | function | `value(context)` |
|
||||
-- | integer | `value` |
|
||||
left_pad = 0,
|
||||
-- Padding to add to the right of bullet point.
|
||||
-- Output is evaluated using the same logic as 'left_pad'.
|
||||
right_pad = 0,
|
||||
-- Highlight for the bullet icon.
|
||||
-- Output is evaluated using the same logic as 'icons'.
|
||||
highlight = "RenderMarkdownBullet",
|
||||
-- Highlight for item associated with the bullet point.
|
||||
-- Output is evaluated using the same logic as 'icons'.
|
||||
scope_highlight = {},
|
||||
},
|
||||
checkbox = {
|
||||
-- Checkboxes are a special instance of a 'list_item' that start with a 'shortcut_link'.
|
||||
-- There are two special states for unchecked & checked defined in the markdown grammar.
|
||||
|
||||
-- Turn on / off checkbox state rendering.
|
||||
enabled = true,
|
||||
-- Additional modes to render checkboxes.
|
||||
render_modes = false,
|
||||
-- Render the bullet point before the checkbox.
|
||||
bullet = false,
|
||||
-- Padding to add to the right of checkboxes.
|
||||
right_pad = 1,
|
||||
unchecked = {
|
||||
-- Replaces '[ ]' of 'task_list_marker_unchecked'.
|
||||
icon = " ",
|
||||
-- Highlight for the unchecked icon.
|
||||
highlight = "RenderMarkdownUnchecked",
|
||||
-- Highlight for item associated with unchecked checkbox.
|
||||
scope_highlight = nil,
|
||||
},
|
||||
checked = {
|
||||
-- Replaces '[x]' of 'task_list_marker_checked'.
|
||||
icon = " ",
|
||||
-- Highlight for the checked icon.
|
||||
highlight = "RenderMarkdownChecked",
|
||||
-- Highlight for item associated with checked checkbox.
|
||||
scope_highlight = nil,
|
||||
},
|
||||
-- Define custom checkbox states, more involved, not part of the markdown grammar.
|
||||
-- As a result this requires neovim >= 0.10.0 since it relies on 'inline' extmarks.
|
||||
-- The key is for healthcheck and to allow users to change its values, value type below.
|
||||
-- | raw | matched against the raw text of a 'shortcut_link' |
|
||||
-- | rendered | replaces the 'raw' value when rendering |
|
||||
-- | highlight | highlight for the 'rendered' icon |
|
||||
-- | scope_highlight | optional highlight for item associated with custom checkbox |
|
||||
-- stylua: ignore
|
||||
custom = {
|
||||
todo = { raw = '[-]', rendered = ' ', highlight = 'RenderMarkdownTodo', scope_highlight = nil },
|
||||
},
|
||||
},
|
||||
quote = {
|
||||
-- Turn on / off block quote & callout rendering.
|
||||
enabled = true,
|
||||
-- Additional modes to render quotes.
|
||||
render_modes = false,
|
||||
-- Replaces '>' of 'block_quote'.
|
||||
icon = "▋",
|
||||
-- Whether to repeat icon on wrapped lines. Requires neovim >= 0.10. This will obscure text
|
||||
-- if incorrectly configured with :h 'showbreak', :h 'breakindent' and :h 'breakindentopt'.
|
||||
-- A combination of these that is likely to work follows.
|
||||
-- | showbreak | ' ' (2 spaces) |
|
||||
-- | breakindent | true |
|
||||
-- | breakindentopt | '' (empty string) |
|
||||
-- These are not validated by this plugin. If you want to avoid adding these to your main
|
||||
-- configuration then set them in win_options for this plugin.
|
||||
repeat_linebreak = false,
|
||||
-- Highlight for the quote icon.
|
||||
-- If a list is provided output is evaluated by `cycle(value, level)`.
|
||||
highlight = {
|
||||
"RenderMarkdownQuote1",
|
||||
"RenderMarkdownQuote2",
|
||||
"RenderMarkdownQuote3",
|
||||
"RenderMarkdownQuote4",
|
||||
"RenderMarkdownQuote5",
|
||||
"RenderMarkdownQuote6",
|
||||
},
|
||||
},
|
||||
pipe_table = {
|
||||
-- Turn on / off pipe table rendering.
|
||||
enabled = true,
|
||||
-- Additional modes to render pipe tables.
|
||||
render_modes = false,
|
||||
-- Pre configured settings largely for setting table border easier.
|
||||
-- | heavy | use thicker border characters |
|
||||
-- | double | use double line border characters |
|
||||
-- | round | use round border corners |
|
||||
-- | none | does nothing |
|
||||
preset = "none",
|
||||
-- Determines how the table as a whole is rendered.
|
||||
-- | none | disables all rendering |
|
||||
-- | normal | applies the 'cell' style rendering to each row of the table |
|
||||
-- | full | normal + a top & bottom line that fill out the table when lengths match |
|
||||
style = "full",
|
||||
-- Determines how individual cells of a table are rendered.
|
||||
-- | overlay | writes completely over the table, removing conceal behavior and highlights |
|
||||
-- | raw | replaces only the '|' characters in each row, leaving the cells unmodified |
|
||||
-- | padded | raw + cells are padded to maximum visual width for each column |
|
||||
-- | trimmed | padded except empty space is subtracted from visual width calculation |
|
||||
cell = "padded",
|
||||
-- Amount of space to put between cell contents and border.
|
||||
padding = 1,
|
||||
-- Minimum column width to use for padded or trimmed cell.
|
||||
min_width = 0,
|
||||
-- Characters used to replace table border.
|
||||
-- Correspond to top(3), delimiter(3), bottom(3), vertical, & horizontal.
|
||||
-- stylua: ignore
|
||||
border = {
|
||||
'┌', '┬', '┐',
|
||||
'├', '┼', '┤',
|
||||
'└', '┴', '┘',
|
||||
'│', '─',
|
||||
},
|
||||
-- Always use virtual lines for table borders instead of attempting to use empty lines.
|
||||
-- Will be automatically enabled if indentation module is enabled.
|
||||
border_virtual = false,
|
||||
-- Gets placed in delimiter row for each column, position is based on alignment.
|
||||
alignment_indicator = "━",
|
||||
-- Highlight for table heading, delimiter, and the line above.
|
||||
head = "RenderMarkdownTableHead",
|
||||
-- Highlight for everything else, main table rows and the line below.
|
||||
row = "RenderMarkdownTableRow",
|
||||
-- Highlight for inline padding used to add back concealed space.
|
||||
filler = "RenderMarkdownTableFill",
|
||||
},
|
||||
callout = {
|
||||
-- Callouts are a special instance of a 'block_quote' that start with a 'shortcut_link'.
|
||||
-- The key is for healthcheck and to allow users to change its values, value type below.
|
||||
-- | raw | matched against the raw text of a 'shortcut_link', case insensitive |
|
||||
-- | rendered | replaces the 'raw' value when rendering |
|
||||
-- | highlight | highlight for the 'rendered' text and quote markers |
|
||||
-- | quote_icon | optional override for quote.icon value for individual callout |
|
||||
-- | category | optional metadata useful for filtering |
|
||||
|
||||
note = {
|
||||
raw = "[!NOTE]",
|
||||
rendered = " Note",
|
||||
highlight = "RenderMarkdownInfo",
|
||||
category = "github",
|
||||
},
|
||||
tip = {
|
||||
raw = "[!TIP]",
|
||||
rendered = " Tip",
|
||||
highlight = "RenderMarkdownSuccess",
|
||||
category = "github",
|
||||
},
|
||||
important = {
|
||||
raw = "[!IMPORTANT]",
|
||||
rendered = " Important",
|
||||
highlight = "RenderMarkdownHint",
|
||||
category = "github",
|
||||
},
|
||||
warning = {
|
||||
raw = "[!WARNING]",
|
||||
rendered = " Warning",
|
||||
highlight = "RenderMarkdownWarn",
|
||||
category = "github",
|
||||
},
|
||||
caution = {
|
||||
raw = "[!CAUTION]",
|
||||
rendered = " Caution",
|
||||
highlight = "RenderMarkdownError",
|
||||
category = "github",
|
||||
},
|
||||
-- Obsidian: https://help.obsidian.md/Editing+and+formatting/Callouts
|
||||
abstract = {
|
||||
raw = "[!ABSTRACT]",
|
||||
rendered = " Abstract",
|
||||
highlight = "RenderMarkdownInfo",
|
||||
category = "obsidian",
|
||||
},
|
||||
summary = {
|
||||
raw = "[!SUMMARY]",
|
||||
rendered = " Summary",
|
||||
highlight = "RenderMarkdownInfo",
|
||||
category = "obsidian",
|
||||
},
|
||||
tldr = {
|
||||
raw = "[!TLDR]",
|
||||
rendered = " Tldr",
|
||||
highlight = "RenderMarkdownInfo",
|
||||
category = "obsidian",
|
||||
},
|
||||
info = {
|
||||
raw = "[!INFO]",
|
||||
rendered = " Info",
|
||||
highlight = "RenderMarkdownInfo",
|
||||
category = "obsidian",
|
||||
},
|
||||
todo = {
|
||||
raw = "[!TODO]",
|
||||
rendered = " Todo",
|
||||
highlight = "RenderMarkdownInfo",
|
||||
category = "obsidian",
|
||||
},
|
||||
hint = {
|
||||
raw = "[!HINT]",
|
||||
rendered = " Hint",
|
||||
highlight = "RenderMarkdownSuccess",
|
||||
category = "obsidian",
|
||||
},
|
||||
success = {
|
||||
raw = "[!SUCCESS]",
|
||||
rendered = " Success",
|
||||
highlight = "RenderMarkdownSuccess",
|
||||
category = "obsidian",
|
||||
},
|
||||
check = {
|
||||
raw = "[!CHECK]",
|
||||
rendered = " Check",
|
||||
highlight = "RenderMarkdownSuccess",
|
||||
category = "obsidian",
|
||||
},
|
||||
done = {
|
||||
raw = "[!DONE]",
|
||||
rendered = " Done",
|
||||
highlight = "RenderMarkdownSuccess",
|
||||
category = "obsidian",
|
||||
},
|
||||
question = {
|
||||
raw = "[!QUESTION]",
|
||||
rendered = " Question",
|
||||
highlight = "RenderMarkdownWarn",
|
||||
category = "obsidian",
|
||||
},
|
||||
help = {
|
||||
raw = "[!HELP]",
|
||||
rendered = " Help",
|
||||
highlight = "RenderMarkdownWarn",
|
||||
category = "obsidian",
|
||||
},
|
||||
faq = {
|
||||
raw = "[!FAQ]",
|
||||
rendered = " Faq",
|
||||
highlight = "RenderMarkdownWarn",
|
||||
category = "obsidian",
|
||||
},
|
||||
attention = {
|
||||
raw = "[!ATTENTION]",
|
||||
rendered = " Attention",
|
||||
highlight = "RenderMarkdownWarn",
|
||||
category = "obsidian",
|
||||
},
|
||||
failure = {
|
||||
raw = "[!FAILURE]",
|
||||
rendered = " Failure",
|
||||
highlight = "RenderMarkdownError",
|
||||
category = "obsidian",
|
||||
},
|
||||
fail = {
|
||||
raw = "[!FAIL]",
|
||||
rendered = " Fail",
|
||||
highlight = "RenderMarkdownError",
|
||||
category = "obsidian",
|
||||
},
|
||||
missing = {
|
||||
raw = "[!MISSING]",
|
||||
rendered = " Missing",
|
||||
highlight = "RenderMarkdownError",
|
||||
category = "obsidian",
|
||||
},
|
||||
danger = {
|
||||
raw = "[!DANGER]",
|
||||
rendered = " Danger",
|
||||
highlight = "RenderMarkdownError",
|
||||
category = "obsidian",
|
||||
},
|
||||
error = {
|
||||
raw = "[!ERROR]",
|
||||
rendered = " Error",
|
||||
highlight = "RenderMarkdownError",
|
||||
category = "obsidian",
|
||||
},
|
||||
bug = {
|
||||
raw = "[!BUG]",
|
||||
rendered = " Bug",
|
||||
highlight = "RenderMarkdownError",
|
||||
category = "obsidian",
|
||||
},
|
||||
example = {
|
||||
raw = "[!EXAMPLE]",
|
||||
rendered = " Example",
|
||||
highlight = "RenderMarkdownHint",
|
||||
category = "obsidian",
|
||||
},
|
||||
quote = {
|
||||
raw = "[!QUOTE]",
|
||||
rendered = " Quote",
|
||||
highlight = "RenderMarkdownQuote",
|
||||
category = "obsidian",
|
||||
},
|
||||
cite = {
|
||||
raw = "[!CITE]",
|
||||
rendered = " Cite",
|
||||
highlight = "RenderMarkdownQuote",
|
||||
category = "obsidian",
|
||||
},
|
||||
},
|
||||
link = {
|
||||
-- Turn on / off inline link icon rendering.
|
||||
enabled = true,
|
||||
-- Additional modes to render links.
|
||||
render_modes = false,
|
||||
-- How to handle footnote links, start with a '^'.
|
||||
footnote = {
|
||||
-- Turn on / off footnote rendering.
|
||||
enabled = true,
|
||||
-- Replace value with superscript equivalent.
|
||||
superscript = true,
|
||||
-- Added before link content.
|
||||
prefix = "",
|
||||
-- Added after link content.
|
||||
suffix = "",
|
||||
},
|
||||
-- Inlined with 'image' elements.
|
||||
image = " ",
|
||||
-- Inlined with 'email_autolink' elements.
|
||||
email = " ",
|
||||
-- Fallback icon for 'inline_link' and 'uri_autolink' elements.
|
||||
hyperlink = " ",
|
||||
-- Applies to the inlined icon as a fallback.
|
||||
highlight = "RenderMarkdownLink",
|
||||
-- Applies to WikiLink elements.
|
||||
wiki = {
|
||||
icon = " ",
|
||||
body = function()
|
||||
return nil
|
||||
end,
|
||||
highlight = "RenderMarkdownWikiLink",
|
||||
},
|
||||
-- Define custom destination patterns so icons can quickly inform you of what a link
|
||||
-- contains. Applies to 'inline_link', 'uri_autolink', and wikilink nodes. When multiple
|
||||
-- patterns match a link the one with the longer pattern is used.
|
||||
-- The key is for healthcheck and to allow users to change its values, value type below.
|
||||
-- | pattern | matched against the destination text |
|
||||
-- | icon | gets inlined before the link text |
|
||||
-- | kind | optional determines how pattern is checked |
|
||||
-- | | pattern | @see :h lua-patterns, is the default if not set |
|
||||
-- | | suffix | @see :h vim.endswith() |
|
||||
-- | priority | optional used when multiple match, uses pattern length if empty |
|
||||
-- | highlight | optional highlight for 'icon', uses fallback highlight if empty |
|
||||
custom = {
|
||||
web = { pattern = "^http", icon = " " },
|
||||
discord = { pattern = "discord%.com", icon = " " },
|
||||
github = { pattern = "github%.com", icon = " " },
|
||||
gitlab = { pattern = "gitlab%.com", icon = " " },
|
||||
google = { pattern = "google%.com", icon = " " },
|
||||
neovim = { pattern = "neovim%.io", icon = " " },
|
||||
reddit = { pattern = "reddit%.com", icon = " " },
|
||||
stackoverflow = { pattern = "stackoverflow%.com", icon = " " },
|
||||
wikipedia = { pattern = "wikipedia%.org", icon = " " },
|
||||
youtube = { pattern = "youtube%.com", icon = " " },
|
||||
},
|
||||
},
|
||||
sign = {
|
||||
-- Turn on / off sign rendering.
|
||||
enabled = true,
|
||||
-- Applies to background of sign text.
|
||||
highlight = "RenderMarkdownSign",
|
||||
},
|
||||
inline_highlight = {
|
||||
-- Mimics Obsidian inline highlights when content is surrounded by double equals.
|
||||
-- The equals on both ends are concealed and the inner content is highlighted.
|
||||
|
||||
-- Turn on / off inline highlight rendering.
|
||||
enabled = true,
|
||||
-- Additional modes to render inline highlights.
|
||||
render_modes = false,
|
||||
-- Applies to background of surrounded text.
|
||||
highlight = "RenderMarkdownInlineHighlight",
|
||||
},
|
||||
indent = {
|
||||
-- Mimic org-indent-mode behavior by indenting everything under a heading based on the
|
||||
-- level of the heading. Indenting starts from level 2 headings onward by default.
|
||||
|
||||
-- Turn on / off org-indent-mode.
|
||||
enabled = false,
|
||||
-- Additional modes to render indents.
|
||||
render_modes = false,
|
||||
-- Amount of additional padding added for each heading level.
|
||||
per_level = 2,
|
||||
-- Heading levels <= this value will not be indented.
|
||||
-- Use 0 to begin indenting from the very first level.
|
||||
skip_level = 1,
|
||||
-- Do not indent heading titles, only the body.
|
||||
skip_heading = false,
|
||||
-- Prefix added when indenting, one per level.
|
||||
icon = "▎",
|
||||
-- Priority to assign to extmarks.
|
||||
priority = 0,
|
||||
-- Applied to icon.
|
||||
highlight = "RenderMarkdownIndent",
|
||||
},
|
||||
html = {
|
||||
-- Turn on / off all HTML rendering.
|
||||
enabled = true,
|
||||
-- Additional modes to render HTML.
|
||||
render_modes = false,
|
||||
comment = {
|
||||
-- Turn on / off HTML comment concealing.
|
||||
conceal = true,
|
||||
-- Optional text to inline before the concealed comment.
|
||||
text = nil,
|
||||
-- Highlight for the inlined text.
|
||||
highlight = "RenderMarkdownHtmlComment",
|
||||
},
|
||||
-- HTML tags whose start and end will be hidden and icon shown.
|
||||
-- The key is matched against the tag name, value type below.
|
||||
-- | icon | gets inlined at the start |
|
||||
-- | highlight | highlight for the icon |
|
||||
tag = {},
|
||||
},
|
||||
win_options = {
|
||||
-- Window options to use that change between rendered and raw view.
|
||||
|
||||
-- @see :h 'conceallevel'
|
||||
conceallevel = {
|
||||
-- Used when not being rendered, get user setting.
|
||||
default = vim.o.conceallevel,
|
||||
-- Used when being rendered, concealed text is completely hidden.
|
||||
rendered = 3,
|
||||
},
|
||||
-- @see :h 'concealcursor'
|
||||
concealcursor = {
|
||||
-- Used when not being rendered, get user setting.
|
||||
default = vim.o.concealcursor,
|
||||
-- Used when being rendered, show concealed text in all modes.
|
||||
rendered = "",
|
||||
},
|
||||
},
|
||||
overrides = {
|
||||
-- More granular configuration mechanism, allows different aspects of buffers to have their own
|
||||
-- behavior. Values default to the top level configuration if no override is provided. Supports
|
||||
-- the following fields:
|
||||
-- enabled, max_file_size, debounce, render_modes, anti_conceal, padding, heading, paragraph,
|
||||
-- code, dash, bullet, checkbox, quote, pipe_table, callout, link, sign, indent, latex, html,
|
||||
-- win_options
|
||||
|
||||
-- Override for different buflisted values, @see :h 'buflisted'.
|
||||
buflisted = {},
|
||||
-- Override for different buftype values, @see :h 'buftype'.
|
||||
buftype = {
|
||||
nofile = {
|
||||
render_modes = true,
|
||||
padding = { highlight = "NormalFloat" },
|
||||
sign = { enabled = false },
|
||||
},
|
||||
},
|
||||
-- Override for different filetype values, @see :h 'filetype'.
|
||||
filetype = {},
|
||||
},
|
||||
custom_handlers = {
|
||||
-- Mapping from treesitter language to user defined handlers.
|
||||
-- @see [Custom Handlers](doc/custom-handlers.md)
|
||||
},
|
||||
}
|
||||
@@ -4,8 +4,23 @@ require "nvchad.mappings"
|
||||
|
||||
local map = vim.keymap.set
|
||||
|
||||
map("n", ";", ":", { desc = "CMD enter command mode" })
|
||||
map({ "n", "i", "v" }, "<leader>dg", "<cmd> lua vim.diagnostic.open_float()<cr>", { desc = "Float diagnostic" })
|
||||
|
||||
-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")
|
||||
|
||||
map("n", "gd", vim.lsp.buf.definition, { desc = "Go to definition" })
|
||||
map("n", "gD", "<cmd>Telescope lsp_definitions<CR>", { desc = "Go to Definitions" })
|
||||
map("n", "grr", "<cmd>Telescope lsp_references<CR>", { desc = "Go to references" })
|
||||
map("n", "<leader>da", ":lua vim.lsp.buf.code_action()<cr>", { desc = "Code actions", noremap = true, silent = true })
|
||||
map("n", "<leader>dh", ":lua vim.diagnostic.open_float()<CR>", { desc = "Show diagnostics" })
|
||||
map("n", "<leader>dj", ":lua vim.diagnostic.goto_next()<CR>", { desc = "Go to next" })
|
||||
map("n", "<leader>dk", ":lua vim.diagnostic.goto_prev()<CR>", { desc = "Go to previous" })
|
||||
-- Telescope
|
||||
map("n", "<leader>fr", ":Telescope resume<CR>", { desc = "Resume last search" })
|
||||
map("n", "<leader>fs", ":Telescope grep_string<CR>", { desc = "Find selected string" })
|
||||
map("n", "<leader>fk", ":Telescope keymaps<CR>", { desc = "Find keymaps" })
|
||||
map("n", "<leader>fd", ":Telescope diagnostics<CR>", { desc = "Diagnostics" })
|
||||
-- CodeCompanion
|
||||
map({ "n", "v" }, "<leader>ge", ":CodeCompanion<CR>", { desc = "CodeCompanion" })
|
||||
map({ "n", "v" }, "<leader>ga", ":CodeCompanionActions<CR>", { desc = "CodeCompanion actions" })
|
||||
map("n", "<leader>gc", ":CodeCompanionChat Toggle<CR>", { desc = "CodeCompanion chat" })
|
||||
map("v", "<leader>gc", ":CodeCompanionChat Add<CR>", { desc = "Send selection to CodeCompanion chat" })
|
||||
-- Remaps
|
||||
map({ "n", "v" }, "x", '"_x', { desc = "Delete char without yanking" })
|
||||
map({ "n", "v" }, "c", '"_c', { desc = "Change without yanking" })
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
return {
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
-- event = 'BufWritePre', -- uncomment for format on save
|
||||
event = "BufWritePre",
|
||||
opts = require "configs.conform",
|
||||
},
|
||||
|
||||
-- These are some examples, uncomment them if you want to see them work!
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
config = function()
|
||||
@@ -14,17 +13,77 @@ return {
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
"olimorris/codecompanion.nvim",
|
||||
version = "^19.0.0",
|
||||
lazy = false,
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
opts = function()
|
||||
return require "configs.codecompanion"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"MeanderingProgrammer/render-markdown.nvim",
|
||||
ft = { "markdown", "gitcommit", "codecompanion" },
|
||||
opts = function()
|
||||
return require "configs.render-markdown"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"folke/snacks.nvim",
|
||||
priority = 1000,
|
||||
lazy = false,
|
||||
---@type snacks.Config
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"vim",
|
||||
"lua",
|
||||
"vimdoc",
|
||||
"html",
|
||||
"css",
|
||||
"typescript",
|
||||
"javascript",
|
||||
},
|
||||
-- your configuration comes here
|
||||
-- or leave it empty to use the default settings
|
||||
-- refer to the configuration section below
|
||||
bigfile = { enabled = false },
|
||||
dashboard = { enabled = false },
|
||||
explorer = { enabled = true },
|
||||
indent = { enabled = true },
|
||||
input = { enabled = true },
|
||||
picker = { enabled = false },
|
||||
notifier = { enabled = true },
|
||||
quickfile = { enabled = true },
|
||||
scope = { enabled = true },
|
||||
scroll = { enabled = true },
|
||||
statuscolumn = { enabled = true },
|
||||
words = { enabled = true },
|
||||
},
|
||||
},
|
||||
|
||||
-- {
|
||||
-- "jacob411/Ollama-Copilot",
|
||||
-- opts = {
|
||||
-- model_name = "llama3:3b",
|
||||
-- stream_suggestion = false,
|
||||
-- python_command = "python3",
|
||||
-- filetypes = { "python", "lua", "vim", "markdown", "javascript", "typescript" },
|
||||
-- ollama_model_opts = {
|
||||
-- num_predict = 40,
|
||||
-- temperature = 0.1,
|
||||
-- },
|
||||
-- keymaps = {
|
||||
-- suggestion = "<leader>os",
|
||||
-- reject = "<leader>or",
|
||||
-- insert_accept = "<Tab>",
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
|
||||
-- These are some examples, uncomment them if you want to see them work!
|
||||
--
|
||||
-- {
|
||||
-- "nvim-treesitter/nvim-treesitter",
|
||||
-- opts = {
|
||||
-- ensure_installed = {
|
||||
-- "vim", "lua", "vimdoc",
|
||||
-- "html", "css"
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
--
|
||||
}
|
||||
|
||||
@@ -0,0 +1,278 @@
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"model": "duskadiy/gemma-4-26B-A4B-it-UD-IQ4_XS",
|
||||
"small_model": "duskadiy/gemma-4-E4B-it-UD-Q8_K_XL",
|
||||
"instructions": ["CLAUDE.md", "AGENTS.md"],
|
||||
"share": "disabled",
|
||||
"autoupdate": "notify",
|
||||
"disabled_providers": [
|
||||
"gemini",
|
||||
"anthropic",
|
||||
"groq",
|
||||
"openrouter",
|
||||
"opencode"
|
||||
],
|
||||
"permission": {
|
||||
"edit": "deny",
|
||||
"webfetch": "ask",
|
||||
"websearch": "ask",
|
||||
"external_directory": "ask",
|
||||
"read": {
|
||||
"*": "allow",
|
||||
"**/.env*": "deny",
|
||||
"**/*.env": "deny",
|
||||
"**/*.pem": "deny",
|
||||
"**/*.key": "deny",
|
||||
"**/*.p12": "deny",
|
||||
"**/*.pfx": "deny",
|
||||
"**/*.keystore": "deny",
|
||||
"**/id_rsa*": "deny",
|
||||
"**/.ssh/**": "deny",
|
||||
"**/.aws/**": "deny",
|
||||
"**/.npmrc": "deny",
|
||||
"**/.netrc": "deny"
|
||||
},
|
||||
"bash": {
|
||||
"*": "ask",
|
||||
|
||||
"ls *": "allow",
|
||||
"cat *": "allow",
|
||||
"grep *": "allow",
|
||||
"rg *": "allow",
|
||||
"find *": "allow",
|
||||
"fd *": "allow",
|
||||
"which *": "allow",
|
||||
"file *": "allow",
|
||||
"stat *": "allow",
|
||||
"wc *": "allow",
|
||||
"tree *": "allow",
|
||||
"diff *": "allow",
|
||||
"sort *": "allow",
|
||||
"uniq *": "allow",
|
||||
"echo *": "allow",
|
||||
"pwd": "allow",
|
||||
"date": "allow",
|
||||
"whoami": "allow",
|
||||
"jq *": "allow",
|
||||
"tsc *": "allow",
|
||||
"mkdir *": "allow",
|
||||
"touch *": "allow",
|
||||
|
||||
"git *": "ask",
|
||||
"git status": "allow",
|
||||
"git status *": "allow",
|
||||
"git diff": "allow",
|
||||
"git diff *": "allow",
|
||||
"git log": "allow",
|
||||
"git log *": "allow",
|
||||
"git show *": "allow",
|
||||
"git branch": "allow",
|
||||
"git remote -v": "allow",
|
||||
|
||||
"npm *": "ask",
|
||||
"pnpm *": "ask",
|
||||
"npx *": "ask",
|
||||
"npm list": "allow",
|
||||
"npm help": "allow",
|
||||
"npm version": "allow",
|
||||
"pnpm list": "allow",
|
||||
"pnpm help": "allow",
|
||||
"npx --version": "allow",
|
||||
|
||||
"curl *": "ask",
|
||||
"wget *": "ask",
|
||||
|
||||
"rm *": "deny",
|
||||
"rmdir *": "deny",
|
||||
"dd *": "deny",
|
||||
"mkfs*": "deny",
|
||||
"shred *": "deny",
|
||||
"chmod -R *": "deny",
|
||||
"sudo *": "deny",
|
||||
"doas *": "deny",
|
||||
|
||||
"npm install*": "deny",
|
||||
"npm i": "deny",
|
||||
"npm i *": "deny",
|
||||
"npm ci*": "deny",
|
||||
"pnpm install*": "deny",
|
||||
"pnpm i": "deny",
|
||||
"pnpm i *": "deny",
|
||||
"pnpm add*": "deny",
|
||||
"yarn add*": "deny",
|
||||
"yarn install*": "deny",
|
||||
"pip install*": "deny",
|
||||
"pip3 install*": "deny",
|
||||
"pipx install*": "deny",
|
||||
"cargo install*": "deny",
|
||||
"go install*": "deny",
|
||||
"gem install*": "deny",
|
||||
"brew install*": "deny",
|
||||
|
||||
"pacman *": "deny",
|
||||
"yay *": "deny",
|
||||
"apt *": "deny",
|
||||
"apt-get *": "deny",
|
||||
"dnf *": "deny",
|
||||
|
||||
"cat .env*": "deny",
|
||||
"cat *.env": "deny",
|
||||
"cat *.pem": "deny",
|
||||
"cat *.key": "deny",
|
||||
"cat *id_rsa*": "deny",
|
||||
"cat *secret*": "deny",
|
||||
"cat *credential*": "deny",
|
||||
"cat ~/.ssh/*": "deny",
|
||||
"cat ~/.aws/*": "deny",
|
||||
"grep .env*": "deny",
|
||||
"grep * .env*": "deny"
|
||||
}
|
||||
},
|
||||
"provider": {
|
||||
"duskadiy": {
|
||||
"npm": "@ai-sdk/openai-compatible",
|
||||
"name": "DuskaDIY",
|
||||
"options": {
|
||||
"baseURL": "https://llm.duskadiy.com/api/v1"
|
||||
},
|
||||
"models": {
|
||||
"gemma-4-26B-A4B-it-UD-IQ4_XS": {
|
||||
"name": "Gemma 4 26B (remote)",
|
||||
"limit": {
|
||||
"context": 81920,
|
||||
"output": 8192
|
||||
}
|
||||
},
|
||||
"DeepSeek-Coder-V2-Lite-Instruct-Q8_0": {
|
||||
"name": "DeepSeek Coder V2 (remote)",
|
||||
"limit": {
|
||||
"context": 81920,
|
||||
"output": 8192
|
||||
}
|
||||
},
|
||||
"Qwen3-Coder-30B-Instruct-IQ4_XS": {
|
||||
"name": "Qwen3 Coder A3B (remote)",
|
||||
"limit": {
|
||||
"context": 81920,
|
||||
"output": 8192
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"llama.cpp": {
|
||||
"npm": "@ai-sdk/openai-compatible",
|
||||
"name": "llamacpp",
|
||||
"options": {
|
||||
"baseURL": "http://192.168.0.204:11343/v1"
|
||||
},
|
||||
"models": {
|
||||
"DeepSeek-Coder-V2-Lite-Instruct-Q8_0": {
|
||||
"name": "DeepSeek Coder V2",
|
||||
"limit": {
|
||||
"context": 81920,
|
||||
"output": 8192
|
||||
}
|
||||
},
|
||||
"gemma-4-E4B-it-UD-Q8_K_XL": {
|
||||
"name": "Gemma 4 E4B",
|
||||
"limit": {
|
||||
"context": 81920,
|
||||
"output": 8192
|
||||
}
|
||||
},
|
||||
"gemma-4-26B-A4B-it-UD-IQ4_XS": {
|
||||
"name": "Gemma 4 26B",
|
||||
"limit": {
|
||||
"context": 81920,
|
||||
"output": 8192
|
||||
}
|
||||
},
|
||||
"Qwen3-Coder-30B-Instruct-IQ4_XS": {
|
||||
"name": "Qwen3 Coder A3B",
|
||||
"limit": {
|
||||
"context": 81920,
|
||||
"output": 8192
|
||||
}
|
||||
},
|
||||
"Qwen3.6-27B-UD-IQ3_XXS.gguf": {
|
||||
"name": "Qwen3.6 27B",
|
||||
"limit": {
|
||||
"context": 81920,
|
||||
"output": 8192
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"agent": {
|
||||
"plan": {
|
||||
"mode": "primary",
|
||||
"model": "llama.cpp/gemma-4-26B-A4B-it-UD-IQ4_XS",
|
||||
"permission": {
|
||||
"edit": "deny"
|
||||
}
|
||||
},
|
||||
"build": {
|
||||
"mode": "primary",
|
||||
"model": "llama.cpp/gemma-4-26B-A4B-it-UD-IQ4_XS",
|
||||
"permission": {
|
||||
"edit": {
|
||||
"*": "allow",
|
||||
"**/.env*": "deny",
|
||||
"**/*.env": "deny",
|
||||
"**/*.pem": "deny",
|
||||
"**/*.key": "deny",
|
||||
"**/id_rsa*": "deny",
|
||||
"**/.ssh/**": "deny",
|
||||
"**/.aws/**": "deny",
|
||||
"**/.git/**": "deny",
|
||||
"**/.npmrc": "deny",
|
||||
"**/.netrc": "deny"
|
||||
}
|
||||
}
|
||||
},
|
||||
"code-reviewer": {
|
||||
"description": "Reviews code for best practices and potential issues",
|
||||
"prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
|
||||
"mode": "subagent",
|
||||
"model": "llama.cpp/DeepSeek-Coder-V2-Lite-Instruct-Q8_0",
|
||||
"permission": {
|
||||
"edit": "deny"
|
||||
}
|
||||
},
|
||||
"test-runner": {
|
||||
"description": "Runs and interprets test suites",
|
||||
"prompt": "You are a test runner. Focus on identifying failing tests and providing clear reproduction steps.",
|
||||
"mode": "subagent",
|
||||
"model": "llama.cpp/DeepSeek-Coder-V2-Lite-Instruct-Q8_0",
|
||||
"permission": {
|
||||
"edit": "deny"
|
||||
}
|
||||
},
|
||||
"doc-writer": {
|
||||
"description": "Maintains project documentation and docstrings",
|
||||
"prompt": "You are a technical writer. Focus on clarity, accuracy, and keeping documentation in sync with code changes.",
|
||||
"mode": "subagent",
|
||||
"model": "llama.cpp/gemma-4-26B-A4B-it-UD-IQ4_XS",
|
||||
"permission": {
|
||||
"edit": {
|
||||
"*": "deny",
|
||||
"**/*.md": "allow",
|
||||
"**/*.mdx": "allow",
|
||||
"**/*.markdown": "allow",
|
||||
"**/*.txt": "allow",
|
||||
"**/*.rst": "allow"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security-auditor": {
|
||||
"description": "Scans for security vulnerabilities and hardcoded secrets",
|
||||
"prompt": "You are a security auditor. Focus on OWASP principles, secret detection, and dependency vulnerabilities.",
|
||||
"mode": "subagent",
|
||||
"model": "llama.cpp/DeepSeek-Coder-V2-Lite-Instruct-Q8_0",
|
||||
"permission": {
|
||||
"edit": "deny"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,48 +1,68 @@
|
||||
Chillout (Groove Salad - SomaFM),http://somafm.com/startstream=groovesalad.pls,,
|
||||
Alternative (BAGeL Radio),https://ais-sa3.cdnstream1.com/2606_128.aac,,
|
||||
Ambient Psychill [1.FM],http://strm112.1.fm/ambientpsy_mobile_mp3,,
|
||||
Goa Psychill [SomaFM],http://ice3.somafm.com/suburbsofgoa-128-mp3,,
|
||||
Chilli Zet,https://ch.cdn.eurozet.pl/chi-net.mp3,,
|
||||
Chilltrax,http://server1.chilltrax.com:9000/,,
|
||||
Chillout [psyradio*fm],http://streamer.psyradio.org:8020/;listen.mp3,,
|
||||
Chillout [Psyndora],http://cast.magicstreams.gr:9125/stream,,
|
||||
Chillout (Groove Salad) [SomaFM],https://hls.somafm.com/hls/groovesalad/320k/program.m3u8,,
|
||||
Groove Salad Classic (Early 2000s Ambient),https://somafm.com/gsclassic.pls,,
|
||||
Ambient and Experimental [n5MD],https://somafm.com/n5md.pls,,
|
||||
Suomisaundi [Caprice],http://79.120.77.11:8004/suomisaundi,,
|
||||
Vaporwaves [SomaFM],https://somafm.com/vaporwaves.pls,,
|
||||
Cliq Hop [SomaFM],http://somafm.com/startstream=cliqhop.pls,,
|
||||
Lounge (Illinois Street) [SomaFM],http://somafm.com/illstreet.pls,,
|
||||
Space [SomaFM],http://ice.somafm.com/spacestation,,
|
||||
Space Music [Synphaera],https://somafm.com/synphaera.pls,,
|
||||
Deep Space [SomaFM], http://ice.somafm.com/deepspaceone,,
|
||||
Downtempo (Secret Agent) [SomaFM],http://somafm.com/secretagent.pls,,
|
||||
Dub Step (Beyond) [SomaFM],http://somafm.com/dubstep.pls,,
|
||||
Dub Techno [Schizoid], http://94.130.113.214:8000/dubtechno,,
|
||||
Dubplate.fm,https://sc2.dubplate.fm/radio/8030/dnb/uhifi,,
|
||||
MansionNET,https://radio.inthemansion.com/listen/mansionnet/radio.mp3,,
|
||||
Liquid funk [Caprice], http://79.111.119.111:9115/,,
|
||||
Liquid funk,https://radiorecord.hostingradio.ru/liquidfunk96.aacp,,
|
||||
Liqui Radio,https://stream-162.zeno.fm/ug59eq099yzuv?zs=zaqVusVSQuWMN3O5gnh8xA,,
|
||||
Liquid DnB,http://95.47.244.172:8000/live,,
|
||||
Acid Techno,https://radiorecord.hostingradio.ru/techno96.aacp,,
|
||||
Dark Techno [Caprice],http://79.111.14.76:8000/darktechno,,
|
||||
Deep Techno/House [1.FM],http://strm112.1.fm/deeptech_mobile_mp3,,
|
||||
90s90s Techno,http://streams.90s90s.de/techno/mp3-192/radiode/,,
|
||||
The Trip: [SomaFM],https://somafm.com/thetrip.pls,,
|
||||
ToXoRs minimalRADIO,http://95.216.245.239:8000/stream/1/,,
|
||||
Minimalradio.de,https://azurafallback.de:8010/320.mp3,,
|
||||
Minimal [Technolovers],https://stream.technolovers.fm/minimal,,
|
||||
Suomisaundi / Freeform Psytrance / Spugedelic Trance [Caprice],http://79.120.77.11:8000/suomisaundi,,
|
||||
Psychedelic Secret,https://solid48.streamupsolutions.com/proxy/bglsokon?mp=/=stream,,
|
||||
Full-on psytrance [Caprice],http://79.111.14.76:9019/,,
|
||||
Magnathospere Morning,https://listen7.myradio24.com/magnatos,,
|
||||
Psytrance [Psyndora],https://cast.magicstreams.gr/sc/psyndora/stream,,
|
||||
Hirschmilch Psytrance,https://hirschmilch.de:7001/psytrance.mp3,,
|
||||
Bluffphonica,http://bluffphonica.stream.laut.fm/bluffphonica?pl=m3u&t302=2024-09-17_23-09-40&uuid=ce6a1b0b-1654-4d08-afbc-31b028f8f23b,,
|
||||
Radio Caprice - Suomisaundi,http://79.120.77.11:8004/suomisaundi,,
|
||||
psyradio * fm - chillout,http://streamer.psyradio.org:8020/;listen.mp3,,
|
||||
Full-on psytrance,http://79.111.14.76:9019/,,
|
||||
Vasilis Cfu psy trance,https://stream-40.zeno.fm/c2t7d9p6mf9uv?zs=_D-E0xBPQcGB_V9n7LLuqA,,
|
||||
BOM Psytrance [1.FM],http://strm112.1.fm/psytrance_mobile_mp3,,
|
||||
TL_Psytrance,https://stream.technolovers.fm/psytrance,,
|
||||
Record Goa Psy,https://radiorecord.hostingradio.ru/goa96.aacp,,
|
||||
1.FM - BOM Psytrance Radio,http://strm112.1.fm/psytrance_mobile_mp3,,
|
||||
Anima Amoris [Goa Psy Trance],http://amoris.sknt.ru/goa.mp3,,
|
||||
DMT FM Psytrance 24/7,https://dc1.serverse.com/proxy/ywycfrxn/live,,
|
||||
radiOzora Trance,http://trance.out.airtime.pro:8000/trance_a,,
|
||||
Psyndora Psytrance,http://cast.magicstreams.gr:9111/stream,,
|
||||
Celtic (ThistleRadio - SomaFM),http://somafm.com/thistle.pls,,
|
||||
Groove Salad Classic (Early 2000s Ambient),https://somafm.com/gsclassic.pls,,
|
||||
n5MD Radio (Ambient and Experimental),https://somafm.com/n5md.pls,,
|
||||
Vaporwaves [SomaFM],https://somafm.com/vaporwaves.pls,,
|
||||
Commodore 64 Remixes (Slay Radio),http://www.slayradio.org/tune_in.php/128kbps/listen.m3u,,
|
||||
Covers (SomaFM),http://somafm.com/covers.pls,,
|
||||
Downtempo (Secret Agent - SomaFM),http://somafm.com/secretagent.pls,,
|
||||
Dub Step (Dub Step Beyond - SomaFM),http://somafm.com/dubstep.pls,,
|
||||
Electronic/Dance (Electronic Culture),http://www.shouted.fm/tunein/electro-dsl.m3u,,
|
||||
House (Beat Blender - SomaFM),http://somafm.com/startstream=beatblender.pls,,
|
||||
Indie Pop (Indie Pop Rocks! - SomaFM),http://somafm.com/indiepop130.pls,,
|
||||
Intelligent dance music (Cliq Hop - SomaFM),http://somafm.com/startstream=cliqhop.pls,,
|
||||
Jazz (Sonic Universe - SomaFM),http://somafm.com/startstream=sonicuniverse.pls,,
|
||||
Lounge (Illinois Street Lounge - SomaFM),http://somafm.com/illstreet.pls,,
|
||||
The Trip: [SomaFM],https://somafm.com/thetrip.pls,,
|
||||
Pop (PopTron! - SomaFM),http://somafm.com/poptron.pls,,
|
||||
Psytrance 24/7 [DMT FM],https://dc1.serverse.com/proxy/ywycfrxn/live,,
|
||||
Trance [RadiOzora],http://trance.out.airtime.pro:8000/trance_a,,
|
||||
Uplifting trance [Technolovers],https://0nlineradio.stream13.radiohost.de/technolovers-uplifting-trance,,
|
||||
Uplift [RadioRecord],https://radiorecord.hostingradio.ru/uplift96.aacp,,
|
||||
Alternative [BAGeL],https://ais-sa3.cdnstream1.com/2606_128.aac,,
|
||||
Celtic (ThistleRadio) [SomaFM],http://somafm.com/thistle.pls,,
|
||||
Commodore 64 Remixes [Slay],http://www.slayradio.org/tune_in.php/128kbps/listen.m3u,,
|
||||
Covers [SomaFM],http://somafm.com/covers.pls,,
|
||||
Indie Pop [SomaFM],http://somafm.com/indiepop130.pls,,
|
||||
Jazz (Sonic Universe) [SomaFM],http://somafm.com/startstream=sonicuniverse.pls,,
|
||||
Pop (PopTron) [SomaFM],http://somafm.com/poptron.pls,,
|
||||
Pop/Rock/Urban (Frequence 3 - Paris),http://streams.frequence3.net/hd-mp3.m3u,,
|
||||
Progressive (Tags Trance Trip - SomaFM),http://somafm.com/tagstrance.pls,,
|
||||
Progressive (Tags Trance Trip) [SomaFM],http://somafm.com/tagstrance.pls,,
|
||||
Public Radio (NPR National Public Radio Stream),https://npr-ice.streamguys1.com/live.mp3,,
|
||||
Reggae Dancehall (Ragga Kings),https://raggakings.radio:8443/stream.ogg,,
|
||||
Heavyweight Reggae,https://somafm.com/reggae.pls,,
|
||||
Rock (Digitalis - SomaFM),http://somafm.com/digitalis.pls,,
|
||||
Rock (Digitalis) [SomaFM],http://somafm.com/digitalis.pls,,
|
||||
Metal Detector,https://somafm.com/metal.pls,,
|
||||
DanceUK,https://www.internet-radio.com/servers/tools/playlistgenerator/?u=http://uk2.internet-radio.com:8024/listen.pls&t=.pls,,
|
||||
JazzGroove,https://www.internet-radio.com/servers/tools/playlistgenerator/?u=http://199.180.72.2:8015/listen.pls?sid=1&t=.pls,,
|
||||
Radio Paradise - Main Mix,http://stream.radioparadise.com/aac-128,,
|
||||
Radio Paradise - Mellow Mix,http://stream.radioparadise.com/mellow-128,,
|
||||
Radio Paradise - Rock Mix,http://stream.radioparadise.com/rock-128,,
|
||||
Radio Paradise - Eclectic Mix,http://stream.radioparadise.com/eclectic-128,,
|
||||
Main Mix [Paradise],http://stream.radioparadise.com/aac-128,,
|
||||
Mellow Mix [Paradise] ,http://stream.radioparadise.com/mellow-128,,
|
||||
Rock Mix [Paradise],http://stream.radioparadise.com/rock-128,,
|
||||
Eclectic Mix [Paradise],http://stream.radioparadise.com/eclectic-128,,
|
||||
Echoes of Bluemars,http://streams.echoesofbluemars.org:8000/bluemars.m3u,,
|
||||
Echoes of Bluemars - Cryosleep,http://streams.echoesofbluemars.org:8000/cryosleep.m3u,,
|
||||
Echoes of Bluemars - Voices from Within,http://streams.echoesofbluemars.org:8000/voicesfromwithin.m3u,,
|
||||
Synphaera Radio (Space Music),https://somafm.com/synphaera.pls,,
|
||||
Cryosleep [Echoes of Bluemars] ,http://streams.echoesofbluemars.org:8000/cryosleep.m3u,,
|
||||
Voices from Within [Echoes of Bluemars],http://streams.echoesofbluemars.org:8000/voicesfromwithin.m3u,,
|
||||
|
||||
|
@@ -0,0 +1,242 @@
|
||||
# TUIOS Configuration File
|
||||
# This file allows you to customize appearance and keybindings
|
||||
#
|
||||
# Configuration location: /home/coja/.config/tuios/config.toml
|
||||
# Documentation: https://github.com/Gaurav-Gosain/tuios
|
||||
# For keybindings documentation, run: tuios keybinds list
|
||||
|
||||
# ============================================================================
|
||||
# APPEARANCE SETTINGS
|
||||
# ============================================================================
|
||||
# border_style: Window border style
|
||||
# Options: rounded, normal, thick, double, hidden, block, ascii,
|
||||
# outer-half-block, inner-half-block
|
||||
# Default: rounded
|
||||
#
|
||||
# dockbar_position: Position of the dockbar
|
||||
# Options: bottom, top, hidden
|
||||
# Default: bottom
|
||||
#
|
||||
# hide_window_buttons: Hide window control buttons (minimize, maximize, close)
|
||||
# Options: true, false
|
||||
# Default: false
|
||||
#
|
||||
# scrollback_lines: Number of lines to keep in scrollback buffer
|
||||
# Range: 100 to 1000000
|
||||
# Default: 10000
|
||||
# ============================================================================
|
||||
|
||||
[appearance]
|
||||
border_style = 'rounded'
|
||||
hide_window_buttons = false
|
||||
scrollback_lines = 10000
|
||||
dockbar_position = 'bottom'
|
||||
preferred_shell = ''
|
||||
whichkey_position = ''
|
||||
window_title_position = ''
|
||||
hide_clock = false
|
||||
animations_enabled = false
|
||||
show_cpu = true
|
||||
show_ram = true
|
||||
confirm_quit = true
|
||||
# shared_borders=true
|
||||
|
||||
[keybindings]
|
||||
leader_key = 'ctrl+b'
|
||||
# leader_key = 'shift+space'
|
||||
|
||||
[keybindings.window_management]
|
||||
close_window = ['w', 'x']
|
||||
minimize_window = ['m']
|
||||
new_window = ['n']
|
||||
next_window = ['tab']
|
||||
prev_window = ['shift+tab']
|
||||
rename_window = ['r']
|
||||
restore_all = ['M']
|
||||
select_window_1 = ['1']
|
||||
select_window_2 = ['2']
|
||||
select_window_3 = ['3']
|
||||
select_window_4 = ['4']
|
||||
select_window_5 = ['5']
|
||||
select_window_6 = ['6']
|
||||
select_window_7 = ['7']
|
||||
select_window_8 = ['8']
|
||||
select_window_9 = ['9']
|
||||
|
||||
[keybindings.workspaces]
|
||||
move_and_follow_1 = ['alt+shift+1']
|
||||
move_and_follow_2 = ['alt+shift+2']
|
||||
move_and_follow_3 = ['alt+shift+3']
|
||||
move_and_follow_4 = ['alt+shift+4']
|
||||
move_and_follow_5 = ['alt+shift+5']
|
||||
move_and_follow_6 = ['alt+shift+6']
|
||||
move_and_follow_7 = ['alt+shift+7']
|
||||
move_and_follow_8 = ['alt+shift+8']
|
||||
move_and_follow_9 = ['alt+shift+9']
|
||||
switch_workspace_1 = ['alt+1']
|
||||
switch_workspace_2 = ['alt+2']
|
||||
switch_workspace_3 = ['alt+3']
|
||||
switch_workspace_4 = ['alt+4']
|
||||
switch_workspace_5 = ['alt+5']
|
||||
switch_workspace_6 = ['alt+6']
|
||||
switch_workspace_7 = ['alt+7']
|
||||
switch_workspace_8 = ['alt+8']
|
||||
switch_workspace_9 = ['alt+9']
|
||||
|
||||
[keybindings.layout]
|
||||
equalize_splits = ['=']
|
||||
preselect_down = ['alt+j']
|
||||
preselect_left = ['alt+h']
|
||||
preselect_right = ['alt+l']
|
||||
preselect_up = ['alt+k']
|
||||
resize_height_grow = ['}', 'shift+]']
|
||||
resize_height_grow_top = [']']
|
||||
resize_height_shrink = ['{', 'shift+[']
|
||||
resize_height_shrink_top = ['[']
|
||||
resize_master_grow = ['>', 'shift+.']
|
||||
resize_master_grow_left = ['.']
|
||||
resize_master_shrink = ['<', 'shift+,']
|
||||
resize_master_shrink_left = [',']
|
||||
rotate_split = ['R']
|
||||
snap_corner_1 = ['1']
|
||||
snap_corner_2 = ['2']
|
||||
snap_corner_3 = ['3']
|
||||
snap_corner_4 = ['4']
|
||||
snap_fullscreen = ['f']
|
||||
snap_left = ['h']
|
||||
snap_right = ['l']
|
||||
split_horizontal = ['-']
|
||||
split_vertical = ['|', '\']
|
||||
swap_down = ['J', 'ctrl+down']
|
||||
swap_left = ['H', 'ctrl+left']
|
||||
swap_right = ['L', 'ctrl+right']
|
||||
swap_up = ['K', 'ctrl+up']
|
||||
toggle_tiling = ['t']
|
||||
unsnap = ['u']
|
||||
|
||||
[keybindings.mode_control]
|
||||
enter_terminal_mode = ['i', 'enter']
|
||||
enter_window_mode = ['esc', 'ctrl+z']
|
||||
quit = ['q']
|
||||
toggle_help = ['?']
|
||||
|
||||
[keybindings.system]
|
||||
|
||||
[keybindings.navigation]
|
||||
extend_down = ['shift+down']
|
||||
extend_left = ['shift+left']
|
||||
extend_right = ['shift+right']
|
||||
extend_up = ['shift+up']
|
||||
nav_down = ['down']
|
||||
nav_left = ['left']
|
||||
nav_right = ['right']
|
||||
nav_up = ['up']
|
||||
|
||||
[keybindings.restore_minimized]
|
||||
restore_minimized_1 = ['shift+1', '!']
|
||||
restore_minimized_2 = ['shift+2', '@']
|
||||
restore_minimized_3 = ['shift+3', '#']
|
||||
restore_minimized_4 = ['shift+4', '$']
|
||||
restore_minimized_5 = ['shift+5', '%']
|
||||
restore_minimized_6 = ['shift+6', '^']
|
||||
restore_minimized_7 = ['shift+7', '&']
|
||||
restore_minimized_8 = ['shift+8', '*']
|
||||
restore_minimized_9 = ['shift+9', '(']
|
||||
|
||||
[keybindings.prefix_mode]
|
||||
prefix_close_window = ['x']
|
||||
prefix_debug = ['D']
|
||||
prefix_detach = ['d', 'esc']
|
||||
prefix_equalize_splits = ['=']
|
||||
prefix_fullscreen = ['z']
|
||||
prefix_help = ['?']
|
||||
prefix_minimize = ['m']
|
||||
prefix_new_window = ['c']
|
||||
prefix_next_window = ['n', 'tab']
|
||||
prefix_prev_window = ['p', 'shift+tab']
|
||||
prefix_quit = ['q']
|
||||
prefix_rename_window = [',', 'r']
|
||||
prefix_rotate_split = ['R']
|
||||
prefix_select_0 = ['0']
|
||||
prefix_select_1 = ['1']
|
||||
prefix_select_2 = ['2']
|
||||
prefix_select_3 = ['3']
|
||||
prefix_select_4 = ['4']
|
||||
prefix_select_5 = ['5']
|
||||
prefix_select_6 = ['6']
|
||||
prefix_select_7 = ['7']
|
||||
prefix_select_8 = ['8']
|
||||
prefix_select_9 = ['9']
|
||||
prefix_selection = ['[']
|
||||
prefix_split_horizontal = ['-']
|
||||
prefix_split_vertical = ['|', '\']
|
||||
prefix_tape = ['T']
|
||||
prefix_toggle_tiling = ['space']
|
||||
prefix_window = ['t']
|
||||
prefix_workspace = ['w']
|
||||
|
||||
[keybindings.window_prefix]
|
||||
window_prefix_cancel = ['esc']
|
||||
window_prefix_close = ['x']
|
||||
window_prefix_new = ['n']
|
||||
window_prefix_next = ['tab']
|
||||
window_prefix_prev = ['shift+tab']
|
||||
window_prefix_rename = ['r']
|
||||
window_prefix_tiling = ['t']
|
||||
|
||||
[keybindings.minimize_prefix]
|
||||
minimize_prefix_cancel = ['esc']
|
||||
minimize_prefix_focused = ['m']
|
||||
minimize_prefix_restore_1 = ['1']
|
||||
minimize_prefix_restore_2 = ['2']
|
||||
minimize_prefix_restore_3 = ['3']
|
||||
minimize_prefix_restore_4 = ['4']
|
||||
minimize_prefix_restore_5 = ['5']
|
||||
minimize_prefix_restore_6 = ['6']
|
||||
minimize_prefix_restore_7 = ['7']
|
||||
minimize_prefix_restore_8 = ['8']
|
||||
minimize_prefix_restore_9 = ['9']
|
||||
minimize_prefix_restore_all = ['M']
|
||||
|
||||
[keybindings.workspace_prefix]
|
||||
workspace_prefix_cancel = ['esc']
|
||||
workspace_prefix_move_1 = ['!']
|
||||
workspace_prefix_move_2 = ['@']
|
||||
workspace_prefix_move_3 = ['#']
|
||||
workspace_prefix_move_4 = ['$']
|
||||
workspace_prefix_move_5 = ['%']
|
||||
workspace_prefix_move_6 = ['^']
|
||||
workspace_prefix_move_7 = ['&']
|
||||
workspace_prefix_move_8 = ['*']
|
||||
workspace_prefix_move_9 = ['(']
|
||||
workspace_prefix_switch_1 = ['1']
|
||||
workspace_prefix_switch_2 = ['2']
|
||||
workspace_prefix_switch_3 = ['3']
|
||||
workspace_prefix_switch_4 = ['4']
|
||||
workspace_prefix_switch_5 = ['5']
|
||||
workspace_prefix_switch_6 = ['6']
|
||||
workspace_prefix_switch_7 = ['7']
|
||||
workspace_prefix_switch_8 = ['8']
|
||||
workspace_prefix_switch_9 = ['9']
|
||||
|
||||
[keybindings.debug_prefix]
|
||||
debug_prefix_animations = ['a']
|
||||
debug_prefix_cache = ['c']
|
||||
debug_prefix_cancel = ['esc']
|
||||
debug_prefix_logs = ['l']
|
||||
|
||||
[keybindings.tape_prefix]
|
||||
tape_prefix_cancel = ['esc']
|
||||
tape_prefix_manager = ['m']
|
||||
tape_prefix_record = ['r']
|
||||
tape_prefix_stop = ['s']
|
||||
|
||||
[keybindings.terminal_mode]
|
||||
terminal_exit_mode = ['alt+esc']
|
||||
terminal_next_window = ['alt+n']
|
||||
terminal_prev_window = ['alt+p']
|
||||
|
||||
[daemon]
|
||||
log_level = 'off'
|
||||
default_codec = 'gob'
|
||||
socket_path = ''
|
||||
@@ -59,6 +59,7 @@
|
||||
"(.*)Gajim": " Gajim"
|
||||
}
|
||||
},
|
||||
|
||||
"hyprland/workspaces": {
|
||||
"window-rewrite-default":"",
|
||||
"disable-scroll": true,
|
||||
@@ -69,6 +70,16 @@
|
||||
"on-scroll-up": "hyprctl dispatch workspace -1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace +1",
|
||||
"persistent-workspaces": {}
|
||||
// "format":"{icon}",
|
||||
// "format-icons": {
|
||||
// "1": "",
|
||||
// "2": "",
|
||||
// "3": "",
|
||||
// "4": "",
|
||||
// "5": "",
|
||||
// "6": ""
|
||||
// }
|
||||
// }
|
||||
},
|
||||
|
||||
"bluetooth": {
|
||||
@@ -82,6 +93,7 @@
|
||||
"tooltip-format-enumerate-connected": "{device_alias}",
|
||||
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{icon} {device_battery_percentage}%"
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"interval": 10,
|
||||
"format": " {usage}%",
|
||||
@@ -152,6 +164,7 @@
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"format": "{:%H:%M}",
|
||||
"rotate": 0,
|
||||
@@ -260,6 +273,8 @@
|
||||
"interval": 1
|
||||
},
|
||||
|
||||
//not used atm
|
||||
|
||||
"battery": {
|
||||
"states": {
|
||||
"good": 95,
|
||||
@@ -312,6 +327,7 @@
|
||||
"on-scroll-down": "brightnessctl set 1%-",
|
||||
"min-length": 6
|
||||
},
|
||||
|
||||
// modules for padding //
|
||||
|
||||
"custom/l_end": {
|
||||
|
||||
@@ -8,6 +8,6 @@
|
||||
"format-disconnected": " ",
|
||||
"tooltip-format-disconnected": "Disconnected",
|
||||
"format-alt": "<span foreground='#99ffdd'> {bandwidthDownBytes}</span> <span foreground='#ffcc66'> {bandwidthUpBytes}</span>",
|
||||
"interval": 2,
|
||||
},
|
||||
"interval": 2
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ modmap:
|
||||
# keymap:
|
||||
# - name: Alt+hjkl to Arrows
|
||||
# remap:
|
||||
# # Alt-H: Alt+left #back
|
||||
# Alt-h: left
|
||||
# Alt-l: right
|
||||
# Alt-j: down
|
||||
|
||||
@@ -0,0 +1,497 @@
|
||||
//
|
||||
// THIS FILE WAS AUTOGENERATED BY ZELLIJ, THE PREVIOUS FILE AT THIS LOCATION WAS COPIED TO: /home/coja/.config/zellij/config.kdl.bak
|
||||
//
|
||||
|
||||
keybinds clear-defaults=true {
|
||||
locked {
|
||||
bind "Alt g" { SwitchToMode "normal"; }
|
||||
}
|
||||
pane {
|
||||
bind "h" "left" { MoveFocus "left"; }
|
||||
bind "j" "down" { MoveFocus "down"; }
|
||||
bind "k" "up" { MoveFocus "up"; }
|
||||
bind "j" "right" { MoveFocus "right"; }
|
||||
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
|
||||
bind "d" { NewPane "down"; SwitchToMode "normal"; }
|
||||
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
|
||||
bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; }
|
||||
bind "h" { MoveFocus "left"; }
|
||||
bind "i" { TogglePanePinned; SwitchToMode "normal"; }
|
||||
bind "j" { MoveFocus "down"; }
|
||||
bind "k" { MoveFocus "up"; }
|
||||
bind "l" { MoveFocus "right"; }
|
||||
bind "n" { NewPane; SwitchToMode "normal"; }
|
||||
bind "p" { SwitchFocus; }
|
||||
bind "Alt p" { SwitchToMode "normal"; }
|
||||
bind "r" { NewPane "right"; SwitchToMode "normal"; }
|
||||
bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; }
|
||||
bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
|
||||
}
|
||||
tab {
|
||||
bind "h" "left" { GoToPreviousTab; }
|
||||
bind "j" "down" { GoToNextTab; }
|
||||
bind "k" "up" { GoToPreviousTab; }
|
||||
bind "j" "right" { GoToNextTab; }
|
||||
bind "1" { GoToTab 1; SwitchToMode "normal"; }
|
||||
bind "2" { GoToTab 2; SwitchToMode "normal"; }
|
||||
bind "3" { GoToTab 3; SwitchToMode "normal"; }
|
||||
bind "4" { GoToTab 4; SwitchToMode "normal"; }
|
||||
bind "5" { GoToTab 5; SwitchToMode "normal"; }
|
||||
bind "6" { GoToTab 6; SwitchToMode "normal"; }
|
||||
bind "7" { GoToTab 7; SwitchToMode "normal"; }
|
||||
bind "8" { GoToTab 8; SwitchToMode "normal"; }
|
||||
bind "9" { GoToTab 9; SwitchToMode "normal"; }
|
||||
bind "[" { BreakPaneLeft; SwitchToMode "normal"; }
|
||||
bind "]" { BreakPaneRight; SwitchToMode "normal"; }
|
||||
bind "b" { BreakPane; SwitchToMode "normal"; }
|
||||
bind "h" { GoToPreviousTab; }
|
||||
bind "j" { GoToNextTab; }
|
||||
bind "k" { GoToPreviousTab; }
|
||||
bind "l" { GoToNextTab; }
|
||||
bind "n" { NewTab; SwitchToMode "normal"; }
|
||||
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
|
||||
bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; }
|
||||
bind "Alt t" { SwitchToMode "normal"; }
|
||||
bind "x" { CloseTab; SwitchToMode "normal"; }
|
||||
bind "tab" { ToggleTab; }
|
||||
}
|
||||
resize {
|
||||
bind "h" "left" { Resize "Increase left"; }
|
||||
bind "j" "down" { Resize "Increase down"; }
|
||||
bind "k" "up" { Resize "Increase up"; }
|
||||
bind "j" "right" { Resize "Increase right"; }
|
||||
bind "+" { Resize "Increase"; }
|
||||
bind "-" { Resize "Decrease"; }
|
||||
bind "=" { Resize "Increase"; }
|
||||
bind "H" { Resize "Decrease left"; }
|
||||
bind "J" { Resize "Decrease down"; }
|
||||
bind "K" { Resize "Decrease up"; }
|
||||
bind "L" { Resize "Decrease right"; }
|
||||
bind "h" { Resize "Increase left"; }
|
||||
bind "j" { Resize "Increase down"; }
|
||||
bind "k" { Resize "Increase up"; }
|
||||
bind "l" { Resize "Increase right"; }
|
||||
bind "Alt n" { SwitchToMode "normal"; }
|
||||
}
|
||||
move {
|
||||
bind "h" "left" { MovePane "left"; }
|
||||
bind "j" "down" { MovePane "down"; }
|
||||
bind "k" "up" { MovePane "up"; }
|
||||
bind "j" "right" { MovePane "right"; }
|
||||
bind "h" { MovePane "left"; }
|
||||
bind "Alt h" { SwitchToMode "normal"; }
|
||||
bind "j" { MovePane "down"; }
|
||||
bind "k" { MovePane "up"; }
|
||||
bind "l" { MovePane "right"; }
|
||||
bind "n" { MovePane; }
|
||||
bind "p" { MovePaneBackwards; }
|
||||
bind "tab" { MovePane; }
|
||||
}
|
||||
scroll {
|
||||
bind "Alt left" { MoveFocusOrTab "left"; SwitchToMode "normal"; }
|
||||
bind "Alt down" { MoveFocus "down"; SwitchToMode "normal"; }
|
||||
bind "Alt up" { MoveFocus "up"; SwitchToMode "normal"; }
|
||||
bind "Alt right" { MoveFocusOrTab "right"; SwitchToMode "normal"; }
|
||||
bind "e" { EditScrollback; SwitchToMode "normal"; }
|
||||
bind "Alt j" { MoveFocus "down"; SwitchToMode "normal"; }
|
||||
bind "Alt k" { MoveFocus "up"; SwitchToMode "normal"; }
|
||||
bind "Alt l" { MoveFocusOrTab "right"; SwitchToMode "normal"; }
|
||||
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
|
||||
bind "Alt s" { SwitchToMode "normal"; }
|
||||
}
|
||||
search {
|
||||
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
||||
bind "n" { Search "down"; }
|
||||
bind "o" { SearchToggleOption "WholeWord"; }
|
||||
bind "p" { Search "up"; }
|
||||
bind "Ctrl s" { SwitchToMode "normal"; }
|
||||
bind "w" { SearchToggleOption "Wrap"; }
|
||||
}
|
||||
session {
|
||||
bind "a" {
|
||||
LaunchOrFocusPlugin "zellij:about" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
}
|
||||
SwitchToMode "normal"
|
||||
}
|
||||
bind "c" {
|
||||
LaunchOrFocusPlugin "configuration" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
}
|
||||
SwitchToMode "normal"
|
||||
}
|
||||
bind "Alt o" { SwitchToMode "normal"; }
|
||||
bind "p" {
|
||||
LaunchOrFocusPlugin "plugin-manager" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
}
|
||||
SwitchToMode "normal"
|
||||
}
|
||||
bind "w" {
|
||||
LaunchOrFocusPlugin "session-manager" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
}
|
||||
SwitchToMode "normal"
|
||||
}
|
||||
}
|
||||
shared_among "normal" "locked" {
|
||||
bind "Ctrl Alt left" { MoveFocusOrTab "left"; }
|
||||
bind "Ctrl Alt down" { MoveFocus "down"; }
|
||||
bind "Ctrl Alt up" { MoveFocus "up"; }
|
||||
bind "Ctrl Alt right" { MoveFocusOrTab "right"; }
|
||||
bind "Ctrl Alt +" { Resize "Increase"; }
|
||||
bind "Ctrl Alt -" { Resize "Decrease"; }
|
||||
bind "Ctrl Alt =" { Resize "Increase"; }
|
||||
bind "Ctrl Alt [" { PreviousSwapLayout; }
|
||||
bind "Ctrl Alt ]" { NextSwapLayout; }
|
||||
bind "Ctrl Alt f" { ToggleFloatingPanes; }
|
||||
bind "Ctrl Alt h" { MoveFocusOrTab "left"; }
|
||||
bind "Ctrl Alt i" { MoveTab "left"; }
|
||||
bind "Ctrl Alt j" { MoveFocus "down"; }
|
||||
bind "Ctrl Alt k" { MoveFocus "up"; }
|
||||
bind "Ctrl Alt l" { MoveFocusOrTab "right"; }
|
||||
bind "Ctrl Alt n" { NewPane; }
|
||||
bind "Ctrl Alt o" { MoveTab "right"; }
|
||||
}
|
||||
shared_except "locked" "entersearch" "renametab" "renamepane" "move" "prompt" "tmux" {
|
||||
bind "Alt h" { SwitchToMode "move"; }
|
||||
}
|
||||
shared_except "locked" "entersearch" "renametab" "renamepane" "prompt" "tmux" {
|
||||
bind "Alt g" { SwitchToMode "locked"; }
|
||||
bind "Alt q" { Quit; }
|
||||
}
|
||||
shared_except "locked" "entersearch" "renametab" "renamepane" "session" "prompt" "tmux" {
|
||||
bind "Alt o" { SwitchToMode "session"; }
|
||||
}
|
||||
shared_except "locked" "scroll" "search" "tmux" {
|
||||
bind "Ctrl b" { SwitchToMode "tmux"; }
|
||||
}
|
||||
shared_except "locked" "scroll" "entersearch" "renametab" "renamepane" "prompt" "tmux" {
|
||||
bind "Alt s" { SwitchToMode "scroll"; }
|
||||
}
|
||||
shared_except "locked" "tab" "entersearch" "renametab" "renamepane" "prompt" "tmux" {
|
||||
bind "Alt t" { SwitchToMode "tab"; }
|
||||
}
|
||||
shared_except "locked" "pane" "entersearch" "renametab" "renamepane" "prompt" "tmux" {
|
||||
bind "Alt p" { SwitchToMode "pane"; }
|
||||
}
|
||||
shared_except "locked" "resize" "entersearch" "renametab" "renamepane" "prompt" "tmux" {
|
||||
bind "Alt n" { SwitchToMode "resize"; }
|
||||
}
|
||||
shared_except "normal" "locked" {
|
||||
bind "Alt +" { Resize "Increase"; }
|
||||
bind "Alt -" { Resize "Decrease"; }
|
||||
bind "Alt =" { Resize "Increase"; }
|
||||
bind "Alt [" { PreviousSwapLayout; }
|
||||
bind "Alt ]" { NextSwapLayout; }
|
||||
bind "Alt f" { ToggleFloatingPanes; }
|
||||
bind "Alt i" { MoveTab "left"; }
|
||||
}
|
||||
shared_except "normal" "locked" "entersearch" {
|
||||
bind "enter" { SwitchToMode "normal"; }
|
||||
}
|
||||
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
|
||||
bind "esc" { SwitchToMode "normal"; }
|
||||
}
|
||||
shared_except "normal" "locked" "scroll" {
|
||||
bind "Alt left" { MoveFocusOrTab "left"; }
|
||||
bind "Alt down" { MoveFocus "down"; }
|
||||
bind "Alt up" { MoveFocus "up"; }
|
||||
bind "Alt right" { MoveFocusOrTab "right"; }
|
||||
bind "Alt j" { MoveFocus "down"; }
|
||||
bind "Alt k" { MoveFocus "up"; }
|
||||
bind "Alt l" { MoveFocusOrTab "right"; }
|
||||
}
|
||||
shared_among "pane" "tmux" {
|
||||
bind "x" { CloseFocus; SwitchToMode "normal"; }
|
||||
}
|
||||
shared_among "scroll" "search" {
|
||||
bind "PageDown" { PageScrollDown; }
|
||||
bind "PageUp" { PageScrollUp; }
|
||||
bind "left" { PageScrollUp; }
|
||||
bind "down" { ScrollDown; }
|
||||
bind "up" { ScrollUp; }
|
||||
bind "right" { PageScrollDown; }
|
||||
bind "Ctrl b" { PageScrollUp; }
|
||||
bind "Ctrl c" { ScrollToBottom; SwitchToMode "normal"; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "Ctrl f" { PageScrollDown; }
|
||||
bind "h" { PageScrollUp; }
|
||||
bind "j" { ScrollDown; }
|
||||
bind "k" { ScrollUp; }
|
||||
bind "l" { PageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
}
|
||||
entersearch {
|
||||
bind "Ctrl c" { SwitchToMode "scroll"; }
|
||||
bind "esc" { SwitchToMode "scroll"; }
|
||||
bind "enter" { SwitchToMode "search"; }
|
||||
}
|
||||
shared_among "entersearch" "renametab" "renamepane" "prompt" "tmux" {
|
||||
bind "Ctrl g" { SwitchToMode "locked"; }
|
||||
bind "Ctrl h" { SwitchToMode "move"; }
|
||||
bind "Alt h" { MoveFocusOrTab "left"; }
|
||||
bind "Ctrl n" { SwitchToMode "resize"; }
|
||||
bind "Alt n" { NewPane; }
|
||||
bind "Ctrl o" { SwitchToMode "session"; }
|
||||
bind "Alt o" { MoveTab "right"; }
|
||||
bind "Ctrl p" { SwitchToMode "pane"; }
|
||||
bind "Ctrl q" { Quit; }
|
||||
bind "Ctrl s" { SwitchToMode "scroll"; }
|
||||
bind "Ctrl t" { SwitchToMode "tab"; }
|
||||
}
|
||||
renametab {
|
||||
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
|
||||
}
|
||||
shared_among "renametab" "renamepane" {
|
||||
bind "Ctrl c" { SwitchToMode "normal"; }
|
||||
}
|
||||
renamepane {
|
||||
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
|
||||
}
|
||||
shared_among "session" "tmux" {
|
||||
bind "d" { Detach; }
|
||||
}
|
||||
tmux {
|
||||
bind "left" { MoveFocus "left"; SwitchToMode "normal"; }
|
||||
bind "down" { MoveFocus "down"; SwitchToMode "normal"; }
|
||||
bind "up" { MoveFocus "up"; SwitchToMode "normal"; }
|
||||
bind "right" { MoveFocus "right"; SwitchToMode "normal"; }
|
||||
bind "space" { NextSwapLayout; }
|
||||
bind "\"" { NewPane "down"; SwitchToMode "normal"; }
|
||||
bind "%" { NewPane "right"; SwitchToMode "normal"; }
|
||||
bind "," { SwitchToMode "renametab"; }
|
||||
bind "[" { SwitchToMode "scroll"; }
|
||||
bind "Ctrl b" { Write 2; SwitchToMode "normal"; }
|
||||
bind "c" { NewTab; SwitchToMode "normal"; }
|
||||
bind "h" { MoveFocus "left"; SwitchToMode "normal"; }
|
||||
bind "j" { MoveFocus "down"; SwitchToMode "normal"; }
|
||||
bind "k" { MoveFocus "up"; SwitchToMode "normal"; }
|
||||
bind "l" { MoveFocus "right"; SwitchToMode "normal"; }
|
||||
bind "n" { GoToNextTab; SwitchToMode "normal"; }
|
||||
bind "o" { FocusNextPane; }
|
||||
bind "p" { GoToPreviousTab; SwitchToMode "normal"; }
|
||||
bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; }
|
||||
}
|
||||
}
|
||||
|
||||
// Plugin aliases - can be used to change the implementation of Zellij
|
||||
// changing these requires a restart to take effect
|
||||
plugins {
|
||||
about location="zellij:about"
|
||||
compact-bar location="zellij:compact-bar"
|
||||
configuration location="zellij:configuration"
|
||||
filepicker location="zellij:strider" {
|
||||
cwd "/"
|
||||
}
|
||||
plugin-manager location="zellij:plugin-manager"
|
||||
session-manager location="zellij:session-manager"
|
||||
status-bar location="zellij:status-bar"
|
||||
strider location="zellij:strider"
|
||||
tab-bar location="zellij:tab-bar"
|
||||
welcome-screen location="zellij:session-manager" {
|
||||
welcome_screen true
|
||||
}
|
||||
}
|
||||
|
||||
// Plugins to load in the background when a new session starts
|
||||
// eg. "file:/path/to/my-plugin.wasm"
|
||||
// eg. "https://example.com/my-plugin.wasm"
|
||||
load_plugins {
|
||||
}
|
||||
|
||||
// Use a simplified UI without special fonts (arrow glyphs)
|
||||
// Options:
|
||||
// - true
|
||||
// - false (Default)
|
||||
//
|
||||
// simplified_ui true
|
||||
|
||||
// Choose the theme that is specified in the themes section.
|
||||
// Default: default
|
||||
//
|
||||
// theme "dracula"
|
||||
|
||||
// Choose the base input mode of zellij.
|
||||
// Default: normal
|
||||
//
|
||||
default_mode "normal"
|
||||
|
||||
// Choose the path to the default shell that zellij will use for opening new panes
|
||||
// Default: $SHELL
|
||||
//
|
||||
// default_shell "fish"
|
||||
|
||||
// Choose the path to override cwd that zellij will use for opening new panes
|
||||
//
|
||||
// default_cwd "/tmp"
|
||||
|
||||
// The name of the default layout to load on startup
|
||||
// Default: "default"
|
||||
//
|
||||
// default_layout "compact"
|
||||
|
||||
// The folder in which Zellij will look for layouts
|
||||
// (Requires restart)
|
||||
//
|
||||
// layout_dir "/tmp"
|
||||
|
||||
// The folder in which Zellij will look for themes
|
||||
// (Requires restart)
|
||||
//
|
||||
// theme_dir "/tmp"
|
||||
|
||||
// Toggle enabling the mouse mode.
|
||||
// On certain configurations, or terminals this could
|
||||
// potentially interfere with copying text.
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// mouse_mode false
|
||||
|
||||
// Toggle having pane frames around the panes
|
||||
// Options:
|
||||
// - true (default, enabled)
|
||||
// - false
|
||||
//
|
||||
// pane_frames false
|
||||
|
||||
// When attaching to an existing session with other users,
|
||||
// should the session be mirrored (true)
|
||||
// or should each user have their own cursor (false)
|
||||
// (Requires restart)
|
||||
// Default: false
|
||||
//
|
||||
// mirror_session true
|
||||
|
||||
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
|
||||
// eg. when terminal window with an active zellij session is closed
|
||||
// (Requires restart)
|
||||
// Options:
|
||||
// - detach (Default)
|
||||
// - quit
|
||||
//
|
||||
// on_force_close "quit"
|
||||
|
||||
// Configure the scroll back buffer size
|
||||
// This is the number of lines zellij stores for each pane in the scroll back
|
||||
// buffer. Excess number of lines are discarded in a FIFO fashion.
|
||||
// (Requires restart)
|
||||
// Valid values: positive integers
|
||||
// Default value: 10000
|
||||
//
|
||||
// scroll_buffer_size 10000
|
||||
|
||||
// Provide a command to execute when copying text. The text will be piped to
|
||||
// the stdin of the program to perform the copy. This can be used with
|
||||
// terminal emulators which do not support the OSC 52 ANSI control sequence
|
||||
// that will be used by default if this option is not set.
|
||||
// Examples:
|
||||
//
|
||||
// copy_command "xclip -selection clipboard" // x11
|
||||
// copy_command "wl-copy" // wayland
|
||||
// copy_command "pbcopy" // osx
|
||||
//
|
||||
// copy_command "pbcopy"
|
||||
|
||||
// Choose the destination for copied text
|
||||
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
|
||||
// Does not apply when using copy_command.
|
||||
// Options:
|
||||
// - system (default)
|
||||
// - primary
|
||||
//
|
||||
// copy_clipboard "primary"
|
||||
|
||||
// Enable automatic copying (and clearing) of selection when releasing mouse
|
||||
// Default: true
|
||||
//
|
||||
// copy_on_select true
|
||||
|
||||
// Path to the default editor to use to edit pane scrollbuffer
|
||||
// Default: $EDITOR or $VISUAL
|
||||
// scrollback_editor "/usr/bin/vim"
|
||||
|
||||
// A fixed name to always give the Zellij session.
|
||||
// Consider also setting `attach_to_session true,`
|
||||
// otherwise this will error if such a session exists.
|
||||
// Default: <RANDOM>
|
||||
//
|
||||
// session_name "My singleton session"
|
||||
|
||||
// When `session_name` is provided, attaches to that session
|
||||
// if it is already running or creates it otherwise.
|
||||
// Default: false
|
||||
//
|
||||
// attach_to_session true
|
||||
|
||||
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// auto_layout false
|
||||
|
||||
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// session_serialization false
|
||||
|
||||
// Whether pane viewports are serialized along with the session, default is false
|
||||
// Options:
|
||||
// - true
|
||||
// - false (default)
|
||||
//
|
||||
// serialize_pane_viewport false
|
||||
|
||||
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
|
||||
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
|
||||
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
|
||||
//
|
||||
// scrollback_lines_to_serialize 10000
|
||||
|
||||
// Enable or disable the rendering of styled and colored underlines (undercurl).
|
||||
// May need to be disabled for certain unsupported terminals
|
||||
// (Requires restart)
|
||||
// Default: true
|
||||
//
|
||||
// styled_underlines false
|
||||
|
||||
// How often in seconds sessions are serialized
|
||||
//
|
||||
// serialization_interval 10000
|
||||
|
||||
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
|
||||
// metadata info on this session)
|
||||
// (Requires restart)
|
||||
// Default: false
|
||||
//
|
||||
// disable_session_metadata false
|
||||
|
||||
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
|
||||
// (Requires restart)
|
||||
// Default: true (if the host terminal supports it)
|
||||
//
|
||||
// support_kitty_keyboard_protocol false
|
||||
|
||||
// Whether to stack panes when resizing beyond a certain size
|
||||
// Default: true
|
||||
//
|
||||
// stacked_resize false
|
||||
|
||||
// Whether to show tips on startup
|
||||
// Default: true
|
||||
//
|
||||
// show_startup_tips false
|
||||
|
||||
// Whether to show release notes on first version run
|
||||
// Default: true
|
||||
//
|
||||
// show_release_notes false
|
||||
@@ -0,0 +1,452 @@
|
||||
keybinds clear-defaults=true {
|
||||
locked {
|
||||
bind "Ctrl g" { SwitchToMode "normal"; }
|
||||
}
|
||||
pane {
|
||||
bind "left" { MoveFocus "left"; }
|
||||
bind "down" { MoveFocus "down"; }
|
||||
bind "up" { MoveFocus "up"; }
|
||||
bind "right" { MoveFocus "right"; }
|
||||
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
|
||||
bind "d" { NewPane "down"; SwitchToMode "normal"; }
|
||||
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
|
||||
bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; }
|
||||
bind "h" { MoveFocus "left"; }
|
||||
bind "i" { TogglePanePinned; SwitchToMode "normal"; }
|
||||
bind "j" { MoveFocus "down"; }
|
||||
bind "k" { MoveFocus "up"; }
|
||||
bind "l" { MoveFocus "right"; }
|
||||
bind "n" { NewPane; SwitchToMode "normal"; }
|
||||
bind "p" { SwitchFocus; }
|
||||
bind "Ctrl p" { SwitchToMode "normal"; }
|
||||
bind "r" { NewPane "right"; SwitchToMode "normal"; }
|
||||
bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; }
|
||||
bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
|
||||
}
|
||||
tab {
|
||||
bind "left" { GoToPreviousTab; }
|
||||
bind "down" { GoToNextTab; }
|
||||
bind "up" { GoToPreviousTab; }
|
||||
bind "right" { GoToNextTab; }
|
||||
bind "1" { GoToTab 1; SwitchToMode "normal"; }
|
||||
bind "2" { GoToTab 2; SwitchToMode "normal"; }
|
||||
bind "3" { GoToTab 3; SwitchToMode "normal"; }
|
||||
bind "4" { GoToTab 4; SwitchToMode "normal"; }
|
||||
bind "5" { GoToTab 5; SwitchToMode "normal"; }
|
||||
bind "6" { GoToTab 6; SwitchToMode "normal"; }
|
||||
bind "7" { GoToTab 7; SwitchToMode "normal"; }
|
||||
bind "8" { GoToTab 8; SwitchToMode "normal"; }
|
||||
bind "9" { GoToTab 9; SwitchToMode "normal"; }
|
||||
bind "[" { BreakPaneLeft; SwitchToMode "normal"; }
|
||||
bind "]" { BreakPaneRight; SwitchToMode "normal"; }
|
||||
bind "b" { BreakPane; SwitchToMode "normal"; }
|
||||
bind "h" { GoToPreviousTab; }
|
||||
bind "j" { GoToNextTab; }
|
||||
bind "k" { GoToPreviousTab; }
|
||||
bind "l" { GoToNextTab; }
|
||||
bind "n" { NewTab; SwitchToMode "normal"; }
|
||||
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
|
||||
bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; }
|
||||
bind "Ctrl t" { SwitchToMode "normal"; }
|
||||
bind "x" { CloseTab; SwitchToMode "normal"; }
|
||||
bind "tab" { ToggleTab; }
|
||||
}
|
||||
resize {
|
||||
bind "left" { Resize "Increase left"; }
|
||||
bind "down" { Resize "Increase down"; }
|
||||
bind "up" { Resize "Increase up"; }
|
||||
bind "right" { Resize "Increase right"; }
|
||||
bind "+" { Resize "Increase"; }
|
||||
bind "-" { Resize "Decrease"; }
|
||||
bind "=" { Resize "Increase"; }
|
||||
bind "H" { Resize "Decrease left"; }
|
||||
bind "J" { Resize "Decrease down"; }
|
||||
bind "K" { Resize "Decrease up"; }
|
||||
bind "L" { Resize "Decrease right"; }
|
||||
bind "h" { Resize "Increase left"; }
|
||||
bind "j" { Resize "Increase down"; }
|
||||
bind "k" { Resize "Increase up"; }
|
||||
bind "l" { Resize "Increase right"; }
|
||||
bind "Ctrl n" { SwitchToMode "normal"; }
|
||||
}
|
||||
move {
|
||||
bind "left" { MovePane "left"; }
|
||||
bind "down" { MovePane "down"; }
|
||||
bind "up" { MovePane "up"; }
|
||||
bind "right" { MovePane "right"; }
|
||||
bind "h" { MovePane "left"; }
|
||||
bind "Ctrl h" { SwitchToMode "normal"; }
|
||||
bind "j" { MovePane "down"; }
|
||||
bind "k" { MovePane "up"; }
|
||||
bind "l" { MovePane "right"; }
|
||||
bind "n" { MovePane; }
|
||||
bind "p" { MovePaneBackwards; }
|
||||
bind "tab" { MovePane; }
|
||||
}
|
||||
scroll {
|
||||
bind "e" { EditScrollback; SwitchToMode "normal"; }
|
||||
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
|
||||
}
|
||||
search {
|
||||
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
||||
bind "n" { Search "down"; }
|
||||
bind "o" { SearchToggleOption "WholeWord"; }
|
||||
bind "p" { Search "up"; }
|
||||
bind "w" { SearchToggleOption "Wrap"; }
|
||||
}
|
||||
session {
|
||||
bind "a" {
|
||||
LaunchOrFocusPlugin "zellij:about" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
}
|
||||
SwitchToMode "normal"
|
||||
}
|
||||
bind "c" {
|
||||
LaunchOrFocusPlugin "configuration" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
}
|
||||
SwitchToMode "normal"
|
||||
}
|
||||
bind "Ctrl o" { SwitchToMode "normal"; }
|
||||
bind "p" {
|
||||
LaunchOrFocusPlugin "plugin-manager" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
}
|
||||
SwitchToMode "normal"
|
||||
}
|
||||
bind "w" {
|
||||
LaunchOrFocusPlugin "session-manager" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
}
|
||||
SwitchToMode "normal"
|
||||
}
|
||||
}
|
||||
shared_except "locked" {
|
||||
bind "Alt left" { MoveFocusOrTab "left"; }
|
||||
bind "Alt down" { MoveFocus "down"; }
|
||||
bind "Alt up" { MoveFocus "up"; }
|
||||
bind "Alt right" { MoveFocusOrTab "right"; }
|
||||
bind "Alt +" { Resize "Increase"; }
|
||||
bind "Alt -" { Resize "Decrease"; }
|
||||
bind "Alt =" { Resize "Increase"; }
|
||||
bind "Alt [" { PreviousSwapLayout; }
|
||||
bind "Alt ]" { NextSwapLayout; }
|
||||
bind "Alt f" { ToggleFloatingPanes; }
|
||||
bind "Ctrl g" { SwitchToMode "locked"; }
|
||||
bind "Alt h" { MoveFocusOrTab "left"; }
|
||||
bind "Alt i" { MoveTab "left"; }
|
||||
bind "Alt j" { MoveFocus "down"; }
|
||||
bind "Alt k" { MoveFocus "up"; }
|
||||
bind "Alt l" { MoveFocusOrTab "right"; }
|
||||
bind "Alt n" { NewPane; }
|
||||
bind "Alt o" { MoveTab "right"; }
|
||||
bind "Ctrl q" { Quit; }
|
||||
}
|
||||
shared_except "locked" "move" {
|
||||
bind "Ctrl h" { SwitchToMode "move"; }
|
||||
}
|
||||
shared_except "locked" "session" {
|
||||
bind "Ctrl o" { SwitchToMode "session"; }
|
||||
}
|
||||
shared_except "locked" "scroll" "search" "tmux" {
|
||||
bind "Ctrl b" { SwitchToMode "tmux"; }
|
||||
}
|
||||
shared_except "locked" "scroll" "search" {
|
||||
bind "Ctrl s" { SwitchToMode "scroll"; }
|
||||
}
|
||||
shared_except "locked" "tab" {
|
||||
bind "Ctrl t" { SwitchToMode "tab"; }
|
||||
}
|
||||
shared_except "locked" "pane" {
|
||||
bind "Ctrl p" { SwitchToMode "pane"; }
|
||||
}
|
||||
shared_except "locked" "resize" {
|
||||
bind "Ctrl n" { SwitchToMode "resize"; }
|
||||
}
|
||||
shared_except "normal" "locked" "entersearch" {
|
||||
bind "enter" { SwitchToMode "normal"; }
|
||||
}
|
||||
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
|
||||
bind "esc" { SwitchToMode "normal"; }
|
||||
}
|
||||
shared_among "pane" "tmux" {
|
||||
bind "x" { CloseFocus; SwitchToMode "normal"; }
|
||||
}
|
||||
shared_among "scroll" "search" {
|
||||
bind "PageDown" { PageScrollDown; }
|
||||
bind "PageUp" { PageScrollUp; }
|
||||
bind "left" { PageScrollUp; }
|
||||
bind "down" { ScrollDown; }
|
||||
bind "up" { ScrollUp; }
|
||||
bind "right" { PageScrollDown; }
|
||||
bind "Ctrl b" { PageScrollUp; }
|
||||
bind "Ctrl c" { ScrollToBottom; SwitchToMode "normal"; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "Ctrl f" { PageScrollDown; }
|
||||
bind "h" { PageScrollUp; }
|
||||
bind "j" { ScrollDown; }
|
||||
bind "k" { ScrollUp; }
|
||||
bind "l" { PageScrollDown; }
|
||||
bind "Ctrl s" { SwitchToMode "normal"; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
}
|
||||
entersearch {
|
||||
bind "Ctrl c" { SwitchToMode "scroll"; }
|
||||
bind "esc" { SwitchToMode "scroll"; }
|
||||
bind "enter" { SwitchToMode "search"; }
|
||||
}
|
||||
renametab {
|
||||
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
|
||||
}
|
||||
shared_among "renametab" "renamepane" {
|
||||
bind "Ctrl c" { SwitchToMode "normal"; }
|
||||
}
|
||||
renamepane {
|
||||
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
|
||||
}
|
||||
shared_among "session" "tmux" {
|
||||
bind "d" { Detach; }
|
||||
}
|
||||
tmux {
|
||||
bind "left" { MoveFocus "left"; SwitchToMode "normal"; }
|
||||
bind "down" { MoveFocus "down"; SwitchToMode "normal"; }
|
||||
bind "up" { MoveFocus "up"; SwitchToMode "normal"; }
|
||||
bind "right" { MoveFocus "right"; SwitchToMode "normal"; }
|
||||
bind "space" { NextSwapLayout; }
|
||||
bind "\"" { NewPane "down"; SwitchToMode "normal"; }
|
||||
bind "%" { NewPane "right"; SwitchToMode "normal"; }
|
||||
bind "," { SwitchToMode "renametab"; }
|
||||
bind "[" { SwitchToMode "scroll"; }
|
||||
bind "Ctrl b" { Write 2; SwitchToMode "normal"; }
|
||||
bind "c" { NewTab; SwitchToMode "normal"; }
|
||||
bind "h" { MoveFocus "left"; SwitchToMode "normal"; }
|
||||
bind "j" { MoveFocus "down"; SwitchToMode "normal"; }
|
||||
bind "k" { MoveFocus "up"; SwitchToMode "normal"; }
|
||||
bind "l" { MoveFocus "right"; SwitchToMode "normal"; }
|
||||
bind "n" { GoToNextTab; SwitchToMode "normal"; }
|
||||
bind "o" { FocusNextPane; }
|
||||
bind "p" { GoToPreviousTab; SwitchToMode "normal"; }
|
||||
bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; }
|
||||
}
|
||||
}
|
||||
|
||||
// Plugin aliases - can be used to change the implementation of Zellij
|
||||
// changing these requires a restart to take effect
|
||||
plugins {
|
||||
about location="zellij:about"
|
||||
compact-bar location="zellij:compact-bar"
|
||||
configuration location="zellij:configuration"
|
||||
filepicker location="zellij:strider" {
|
||||
cwd "/"
|
||||
}
|
||||
plugin-manager location="zellij:plugin-manager"
|
||||
session-manager location="zellij:session-manager"
|
||||
status-bar location="zellij:status-bar"
|
||||
strider location="zellij:strider"
|
||||
tab-bar location="zellij:tab-bar"
|
||||
welcome-screen location="zellij:session-manager" {
|
||||
welcome_screen true
|
||||
}
|
||||
}
|
||||
|
||||
// Plugins to load in the background when a new session starts
|
||||
// eg. "file:/path/to/my-plugin.wasm"
|
||||
// eg. "https://example.com/my-plugin.wasm"
|
||||
load_plugins {
|
||||
}
|
||||
|
||||
// Use a simplified UI without special fonts (arrow glyphs)
|
||||
// Options:
|
||||
// - true
|
||||
// - false (Default)
|
||||
//
|
||||
// simplified_ui true
|
||||
|
||||
// Choose the theme that is specified in the themes section.
|
||||
// Default: default
|
||||
//
|
||||
// theme "dracula"
|
||||
|
||||
// Choose the base input mode of zellij.
|
||||
// Default: normal
|
||||
//
|
||||
// default_mode "locked"
|
||||
|
||||
// Choose the path to the default shell that zellij will use for opening new panes
|
||||
// Default: $SHELL
|
||||
//
|
||||
// default_shell "fish"
|
||||
|
||||
// Choose the path to override cwd that zellij will use for opening new panes
|
||||
//
|
||||
// default_cwd "/tmp"
|
||||
|
||||
// The name of the default layout to load on startup
|
||||
// Default: "default"
|
||||
//
|
||||
// default_layout "compact"
|
||||
|
||||
// The folder in which Zellij will look for layouts
|
||||
// (Requires restart)
|
||||
//
|
||||
// layout_dir "/tmp"
|
||||
|
||||
// The folder in which Zellij will look for themes
|
||||
// (Requires restart)
|
||||
//
|
||||
// theme_dir "/tmp"
|
||||
|
||||
// Toggle enabling the mouse mode.
|
||||
// On certain configurations, or terminals this could
|
||||
// potentially interfere with copying text.
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// mouse_mode false
|
||||
|
||||
// Toggle having pane frames around the panes
|
||||
// Options:
|
||||
// - true (default, enabled)
|
||||
// - false
|
||||
//
|
||||
// pane_frames false
|
||||
|
||||
// When attaching to an existing session with other users,
|
||||
// should the session be mirrored (true)
|
||||
// or should each user have their own cursor (false)
|
||||
// (Requires restart)
|
||||
// Default: false
|
||||
//
|
||||
// mirror_session true
|
||||
|
||||
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
|
||||
// eg. when terminal window with an active zellij session is closed
|
||||
// (Requires restart)
|
||||
// Options:
|
||||
// - detach (Default)
|
||||
// - quit
|
||||
//
|
||||
// on_force_close "quit"
|
||||
|
||||
// Configure the scroll back buffer size
|
||||
// This is the number of lines zellij stores for each pane in the scroll back
|
||||
// buffer. Excess number of lines are discarded in a FIFO fashion.
|
||||
// (Requires restart)
|
||||
// Valid values: positive integers
|
||||
// Default value: 10000
|
||||
//
|
||||
// scroll_buffer_size 10000
|
||||
|
||||
// Provide a command to execute when copying text. The text will be piped to
|
||||
// the stdin of the program to perform the copy. This can be used with
|
||||
// terminal emulators which do not support the OSC 52 ANSI control sequence
|
||||
// that will be used by default if this option is not set.
|
||||
// Examples:
|
||||
//
|
||||
// copy_command "xclip -selection clipboard" // x11
|
||||
// copy_command "wl-copy" // wayland
|
||||
// copy_command "pbcopy" // osx
|
||||
//
|
||||
// copy_command "pbcopy"
|
||||
|
||||
// Choose the destination for copied text
|
||||
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
|
||||
// Does not apply when using copy_command.
|
||||
// Options:
|
||||
// - system (default)
|
||||
// - primary
|
||||
//
|
||||
// copy_clipboard "primary"
|
||||
|
||||
// Enable automatic copying (and clearing) of selection when releasing mouse
|
||||
// Default: true
|
||||
//
|
||||
// copy_on_select true
|
||||
|
||||
// Path to the default editor to use to edit pane scrollbuffer
|
||||
// Default: $EDITOR or $VISUAL
|
||||
// scrollback_editor "/usr/bin/vim"
|
||||
|
||||
// A fixed name to always give the Zellij session.
|
||||
// Consider also setting `attach_to_session true,`
|
||||
// otherwise this will error if such a session exists.
|
||||
// Default: <RANDOM>
|
||||
//
|
||||
// session_name "My singleton session"
|
||||
|
||||
// When `session_name` is provided, attaches to that session
|
||||
// if it is already running or creates it otherwise.
|
||||
// Default: false
|
||||
//
|
||||
// attach_to_session true
|
||||
|
||||
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// auto_layout false
|
||||
|
||||
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// session_serialization false
|
||||
|
||||
// Whether pane viewports are serialized along with the session, default is false
|
||||
// Options:
|
||||
// - true
|
||||
// - false (default)
|
||||
//
|
||||
// serialize_pane_viewport false
|
||||
|
||||
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
|
||||
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
|
||||
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
|
||||
//
|
||||
// scrollback_lines_to_serialize 10000
|
||||
|
||||
// Enable or disable the rendering of styled and colored underlines (undercurl).
|
||||
// May need to be disabled for certain unsupported terminals
|
||||
// (Requires restart)
|
||||
// Default: true
|
||||
//
|
||||
// styled_underlines false
|
||||
|
||||
// How often in seconds sessions are serialized
|
||||
//
|
||||
// serialization_interval 10000
|
||||
|
||||
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
|
||||
// metadata info on this session)
|
||||
// (Requires restart)
|
||||
// Default: false
|
||||
//
|
||||
// disable_session_metadata false
|
||||
|
||||
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
|
||||
// (Requires restart)
|
||||
// Default: true (if the host terminal supports it)
|
||||
//
|
||||
// support_kitty_keyboard_protocol false
|
||||
|
||||
// Whether to stack panes when resizing beyond a certain size
|
||||
// Default: true
|
||||
//
|
||||
// stacked_resize false
|
||||
|
||||
// Whether to show tips on startup
|
||||
// Default: true
|
||||
//
|
||||
// show_startup_tips false
|
||||
|
||||
// Whether to show release notes on first version run
|
||||
// Default: true
|
||||
//
|
||||
// show_release_notes false
|
||||
@@ -0,0 +1,120 @@
|
||||
themes {
|
||||
gruvbox-dark {
|
||||
text_unselected {
|
||||
base 251 241 199
|
||||
background 60 56 54
|
||||
emphasis_0 214 93 14
|
||||
emphasis_1 104 157 106
|
||||
emphasis_2 152 151 26
|
||||
emphasis_3 177 98 134
|
||||
}
|
||||
text_selected {
|
||||
base 251 241 199
|
||||
background 80 73 69
|
||||
emphasis_0 214 93 14
|
||||
emphasis_1 104 157 106
|
||||
emphasis_2 152 151 26
|
||||
emphasis_3 177 98 134
|
||||
}
|
||||
ribbon_selected {
|
||||
base 60 56 54
|
||||
background 152 151 26
|
||||
emphasis_0 204 36 29
|
||||
emphasis_1 214 93 14
|
||||
emphasis_2 177 98 134
|
||||
emphasis_3 69 133 136
|
||||
}
|
||||
ribbon_unselected {
|
||||
base 60 56 54
|
||||
background 235 219 178
|
||||
emphasis_0 204 36 29
|
||||
emphasis_1 251 241 199
|
||||
emphasis_2 69 133 136
|
||||
emphasis_3 177 98 134
|
||||
}
|
||||
table_title {
|
||||
base 152 151 26
|
||||
background 0
|
||||
emphasis_0 214 93 14
|
||||
emphasis_1 104 157 106
|
||||
emphasis_2 152 151 26
|
||||
emphasis_3 177 98 134
|
||||
}
|
||||
table_cell_selected {
|
||||
base 251 241 199
|
||||
background 80 73 69
|
||||
emphasis_0 214 93 14
|
||||
emphasis_1 104 157 106
|
||||
emphasis_2 152 151 26
|
||||
emphasis_3 177 98 134
|
||||
}
|
||||
table_cell_unselected {
|
||||
base 251 241 199
|
||||
background 60 56 54
|
||||
emphasis_0 214 93 14
|
||||
emphasis_1 104 157 106
|
||||
emphasis_2 152 151 26
|
||||
emphasis_3 177 98 134
|
||||
}
|
||||
list_selected {
|
||||
base 251 241 199
|
||||
background 80 73 69
|
||||
emphasis_0 214 93 14
|
||||
emphasis_1 104 157 106
|
||||
emphasis_2 152 151 26
|
||||
emphasis_3 177 98 134
|
||||
}
|
||||
list_unselected {
|
||||
base 251 241 199
|
||||
background 60 56 54
|
||||
emphasis_0 214 93 14
|
||||
emphasis_1 104 157 106
|
||||
emphasis_2 152 151 26
|
||||
emphasis_3 177 98 134
|
||||
}
|
||||
frame_selected {
|
||||
base 152 151 26
|
||||
background 0
|
||||
emphasis_0 214 93 14
|
||||
emphasis_1 104 157 106
|
||||
emphasis_2 177 98 134
|
||||
emphasis_3 0
|
||||
}
|
||||
frame_highlight {
|
||||
base 214 93 14
|
||||
background 0
|
||||
emphasis_0 177 98 134
|
||||
emphasis_1 214 93 14
|
||||
emphasis_2 214 93 14
|
||||
emphasis_3 214 93 14
|
||||
}
|
||||
exit_code_success {
|
||||
base 152 151 26
|
||||
background 0
|
||||
emphasis_0 104 157 106
|
||||
emphasis_1 60 56 54
|
||||
emphasis_2 177 98 134
|
||||
emphasis_3 69 133 136
|
||||
}
|
||||
exit_code_error {
|
||||
base 204 36 29
|
||||
background 0
|
||||
emphasis_0 215 153 33
|
||||
emphasis_1 0
|
||||
emphasis_2 0
|
||||
emphasis_3 0
|
||||
}
|
||||
multiplayer_user_colors {
|
||||
player_1 177 98 134
|
||||
player_2 69 133 136
|
||||
player_3 0
|
||||
player_4 215 153 33
|
||||
player_5 104 157 106
|
||||
player_6 0
|
||||
player_7 204 36 29
|
||||
player_8 0
|
||||
player_9 0
|
||||
player_10 0
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
# Vi mode
|
||||
set editing-mode vi
|
||||
set keymap vi
|
||||
set show-mode-in-prompt on
|
||||
set vi-ins-mode-string "\1\e[32m\2[I] \1\e[0m\2"
|
||||
set vi-cmd-mode-string "\1\e[31m\2[N] \1\e[0m\2"
|
||||
|
||||
# exclude .dotfles
|
||||
set match-hidden-files off
|
||||
|
||||
set show-all-if-ambiguous on
|
||||
set show-all-if-unmodified on
|
||||
set colored-stats on
|
||||
set colored-completion-prefix on
|
||||
set mark-symlinked-directories on
|
||||
set completion-ignore-case on
|
||||
|
||||
# Ignore duplicates in history where supported
|
||||
set skip-completed-text on
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"localcpp": {
|
||||
"type": "api_key",
|
||||
"key": "no-key-required"
|
||||
},
|
||||
"duskadiy": {
|
||||
"type": "api_key",
|
||||
"key": "$DUSKADIY_API_KEY"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,190 @@
|
||||
{
|
||||
"providers": {
|
||||
"duskadiy": {
|
||||
"baseUrl": "https://llm.duskadiy.com/api/v1",
|
||||
"api": "openai-completions",
|
||||
"apiKey": "no-key-required",
|
||||
"compat": {
|
||||
"supportsDeveloperRole": false,
|
||||
"supportsReasoningEffort": false,
|
||||
"maxTokensField": "max_tokens"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "DeepSeek-Coder-V2-Lite-Instruct-Q8_0",
|
||||
"name": "DeepSeek Coder V2",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "gemma-4-E4B-it-UD-Q8_K_XL",
|
||||
"name": "Gemma 4 E4B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "gemma-4-26B-A4B-it-UD-IQ4_XS",
|
||||
"name": "Gemma 4 26B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3-Coder-30B-Instruct-IQ4_XS",
|
||||
"name": "Qwen3 Coder A3B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 8192,
|
||||
"maxTokens": 4096,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3.6-27B-UD-IQ3_XXS",
|
||||
"name": "Qwen3.6 27B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3.5-27B-UD-Q3_K_XL",
|
||||
"name": "Qwen3.5 27B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3.5-9B-Q8_0",
|
||||
"name": "Qwen3.5 9B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3.6-27B-Uncensored-HauhauCS-Aggressive-IQ3_M",
|
||||
"name": "Qwen3.6 27B Uncensored",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "GLM-4.7-Flash-UD-Q3_K_XL",
|
||||
"name": "GLM-4.7 Flash",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
}
|
||||
]
|
||||
},
|
||||
"localcpp": {
|
||||
"baseUrl": "http://192.168.0.204:11343/v1",
|
||||
"api": "openai-completions",
|
||||
"apiKey": "no-key-required",
|
||||
"compat": {
|
||||
"supportsDeveloperRole": false,
|
||||
"supportsReasoningEffort": false,
|
||||
"maxTokensField": "max_tokens"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "DeepSeek-Coder-V2-Lite-Instruct-Q8_0",
|
||||
"name": "DeepSeek Coder V2",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "gemma-4-E4B-it-UD-Q8_K_XL",
|
||||
"name": "Gemma 4 E4B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "gemma-4-26B-A4B-it-UD-IQ4_XS",
|
||||
"name": "Gemma 4 26B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3-Coder-30B-Instruct-IQ4_XS",
|
||||
"name": "Qwen3 Coder A3B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 8192,
|
||||
"maxTokens": 4096,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3.6-27B-UD-IQ3_XXS",
|
||||
"name": "Qwen3.6 27B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3.5-27B-UD-Q3_K_XL",
|
||||
"name": "Qwen3.5 27B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3.5-9B-Q8_0",
|
||||
"name": "Qwen3.5 9B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3.6-27B-Uncensored-HauhauCS-Aggressive-IQ3_M",
|
||||
"name": "Qwen3.6 27B Uncensored",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "GLM-4.7-Flash-UD-Q3_K_XL",
|
||||
"name": "GLM-4.7 Flash",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
description: Write a Conventional Commits message for the staged changes
|
||||
argument-hint: "[extra context]"
|
||||
---
|
||||
Inspect the staged changes with `git diff --cached` (and `git status` for context). Then write a single Conventional Commits message:
|
||||
|
||||
- A `<type>(<scope>): <subject>` summary line, imperative mood, ≤72 chars (types: feat, fix, refactor, docs, chore, test, perf, build).
|
||||
- An optional short body explaining the *why* only when it isn't obvious from the diff.
|
||||
- Do NOT run `git commit`. Output only the message inside a code block so I can review it.
|
||||
|
||||
Extra context to incorporate: ${1:-none}
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
description: Review the current diff for bugs and issues
|
||||
argument-hint: "[focus area]"
|
||||
---
|
||||
Review the current changes. Check both `git diff` (unstaged) and `git diff --cached` (staged). Focus on:
|
||||
|
||||
- Correctness and logic bugs
|
||||
- Error handling and missing edge cases
|
||||
- Security issues (injection, secrets, unsafe input)
|
||||
- Anything that doesn't match the surrounding code's conventions
|
||||
|
||||
List concrete findings as `file:line — issue — suggested fix`, ordered by severity. Be concise; skip praise. If nothing is wrong, say so.
|
||||
|
||||
Extra focus this round: ${1:-general correctness}
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"defaultProvider": "duskadiy",
|
||||
"defaultModel": "gemma-4-E4B-it-UD-Q8_K_XL",
|
||||
"defaultThinkingLevel": "off",
|
||||
"theme": "catppuccin-mocha",
|
||||
"quietStartup": false,
|
||||
"defaultProjectTrust": "ask",
|
||||
"enableInstallTelemetry": false,
|
||||
"enabledModels": [
|
||||
"localcpp/*",
|
||||
"duskadiy/*"
|
||||
],
|
||||
"compaction": {
|
||||
"enabled": true,
|
||||
"reserveTokens": 16384,
|
||||
"keepRecentTokens": 20000
|
||||
},
|
||||
"retry": {
|
||||
"enabled": true,
|
||||
"maxRetries": 3,
|
||||
"baseDelayMs": 2000,
|
||||
"provider": {
|
||||
"timeoutMs": 3600000
|
||||
}
|
||||
},
|
||||
"httpIdleTimeoutMs": 600000,
|
||||
"npmCommand": [
|
||||
"fnm",
|
||||
"exec",
|
||||
"--using=22",
|
||||
"--",
|
||||
"npm"
|
||||
],
|
||||
"showHardwareCursor": true,
|
||||
"lastChangelogVersion": "0.80.2"
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
|
||||
"name": "catppuccin-mocha",
|
||||
"vars": {
|
||||
"rosewater": "#f5e0dc",
|
||||
"flamingo": "#f2cdcd",
|
||||
"pink": "#f5c2e7",
|
||||
"mauve": "#cba6f7",
|
||||
"red": "#f38ba8",
|
||||
"maroon": "#eba0ac",
|
||||
"peach": "#fab387",
|
||||
"yellow": "#f9e2af",
|
||||
"green": "#a6e3a1",
|
||||
"teal": "#94e2d5",
|
||||
"sky": "#89dceb",
|
||||
"sapphire": "#74c7ec",
|
||||
"blue": "#89b4fa",
|
||||
"lavender": "#b4befe",
|
||||
"fg": "#cdd6f4",
|
||||
"subtext1": "#bac2de",
|
||||
"subtext0": "#a6adc8",
|
||||
"overlay2": "#9399b2",
|
||||
"overlay1": "#7f849c",
|
||||
"overlay0": "#6c7086",
|
||||
"surface2": "#585b70",
|
||||
"surface1": "#45475a",
|
||||
"surface0": "#313244",
|
||||
"base": "#1e1e2e",
|
||||
"mantle": "#181825",
|
||||
"crust": "#11111b"
|
||||
},
|
||||
"colors": {
|
||||
"accent": "mauve",
|
||||
"border": "surface1",
|
||||
"borderAccent": "mauve",
|
||||
"borderMuted": "surface0",
|
||||
"success": "green",
|
||||
"error": "red",
|
||||
"warning": "yellow",
|
||||
"muted": "subtext0",
|
||||
"dim": "overlay0",
|
||||
"text": "fg",
|
||||
"thinkingText": "overlay1",
|
||||
"selectedBg": "surface0",
|
||||
"userMessageBg": "surface0",
|
||||
"userMessageText": "fg",
|
||||
"customMessageBg": "surface0",
|
||||
"customMessageText": "fg",
|
||||
"customMessageLabel": "mauve",
|
||||
"toolPendingBg": "mantle",
|
||||
"toolSuccessBg": "#1e2b22",
|
||||
"toolErrorBg": "#2b1e22",
|
||||
"toolTitle": "mauve",
|
||||
"toolOutput": "fg",
|
||||
"mdHeading": "mauve",
|
||||
"mdLink": "blue",
|
||||
"mdLinkUrl": "sapphire",
|
||||
"mdCode": "green",
|
||||
"mdCodeBlock": "fg",
|
||||
"mdCodeBlockBorder": "surface1",
|
||||
"mdQuote": "subtext0",
|
||||
"mdQuoteBorder": "surface2",
|
||||
"mdHr": "surface1",
|
||||
"mdListBullet": "mauve",
|
||||
"toolDiffAdded": "green",
|
||||
"toolDiffRemoved": "red",
|
||||
"toolDiffContext": "overlay0",
|
||||
"syntaxComment": "overlay0",
|
||||
"syntaxKeyword": "mauve",
|
||||
"syntaxFunction": "blue",
|
||||
"syntaxVariable": "fg",
|
||||
"syntaxString": "green",
|
||||
"syntaxNumber": "peach",
|
||||
"syntaxType": "yellow",
|
||||
"syntaxOperator": "sky",
|
||||
"syntaxPunctuation": "overlay2",
|
||||
"thinkingOff": "surface1",
|
||||
"thinkingMinimal": "overlay0",
|
||||
"thinkingLow": "blue",
|
||||
"thinkingMedium": "teal",
|
||||
"thinkingHigh": "peach",
|
||||
"thinkingXhigh": "red",
|
||||
"bashMode": "peach"
|
||||
},
|
||||
"export": {
|
||||
"pageBg": "#11111b",
|
||||
"cardBg": "#1e1e2e",
|
||||
"infoBg": "#313244"
|
||||
}
|
||||
}
|
||||
+190
@@ -0,0 +1,190 @@
|
||||
{
|
||||
"providers": {
|
||||
"duskadiy": {
|
||||
"baseUrl": "https://llm.duskadiy.com/api/v1",
|
||||
"api": "openai-completions",
|
||||
"apiKey": "$DUSKADIY_API_KEY",
|
||||
"compat": {
|
||||
"supportsDeveloperRole": false,
|
||||
"supportsReasoningEffort": false,
|
||||
"maxTokensField": "max_tokens"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "DeepSeek-Coder-V2-Lite-Instruct-Q8_0",
|
||||
"name": "DeepSeek Coder V2",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "gemma-4-E4B-it-UD-Q8_K_XL",
|
||||
"name": "Gemma 4 E4B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "gemma-4-26B-A4B-it-UD-IQ4_XS",
|
||||
"name": "Gemma 4 26B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3-Coder-30B-Instruct-IQ4_XS",
|
||||
"name": "Qwen3 Coder A3B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 8192,
|
||||
"maxTokens": 4096,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3.6-27B-UD-IQ3_XXS",
|
||||
"name": "Qwen3.6 27B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3.5-27B-UD-Q3_K_XL",
|
||||
"name": "Qwen3.5 27B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3.5-9B-Q8_0",
|
||||
"name": "Qwen3.5 9B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3.6-27B-Uncensored-HauhauCS-Aggressive-IQ3_M",
|
||||
"name": "Qwen3.6 27B Uncensored",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "GLM-4.7-Flash-UD-Q3_K_XL",
|
||||
"name": "GLM-4.7 Flash",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
}
|
||||
]
|
||||
},
|
||||
"localcpp": {
|
||||
"baseUrl": "http://192.168.0.204:11343/v1",
|
||||
"api": "openai-completions",
|
||||
"apiKey": "no-key-required",
|
||||
"compat": {
|
||||
"supportsDeveloperRole": false,
|
||||
"supportsReasoningEffort": false,
|
||||
"maxTokensField": "max_tokens"
|
||||
},
|
||||
"models": [
|
||||
{
|
||||
"id": "DeepSeek-Coder-V2-Lite-Instruct-Q8_0",
|
||||
"name": "DeepSeek Coder V2",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "gemma-4-E4B-it-UD-Q8_K_XL",
|
||||
"name": "Gemma 4 E4B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "gemma-4-26B-A4B-it-UD-IQ4_XS",
|
||||
"name": "Gemma 4 26B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3-Coder-30B-Instruct-IQ4_XS",
|
||||
"name": "Qwen3 Coder A3B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 8192,
|
||||
"maxTokens": 4096,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3.6-27B-UD-IQ3_XXS",
|
||||
"name": "Qwen3.6 27B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3.5-27B-UD-Q3_K_XL",
|
||||
"name": "Qwen3.5 27B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3.5-9B-Q8_0",
|
||||
"name": "Qwen3.5 9B",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "Qwen3.6-27B-Uncensored-HauhauCS-Aggressive-IQ3_M",
|
||||
"name": "Qwen3.6 27B Uncensored",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
},
|
||||
{
|
||||
"id": "GLM-4.7-Flash-UD-Q3_K_XL",
|
||||
"name": "GLM-4.7 Flash",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": 81920,
|
||||
"maxTokens": 16384,
|
||||
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
description: Write a Conventional Commits message for the staged changes
|
||||
argument-hint: "[extra context]"
|
||||
---
|
||||
Inspect the staged changes with `git diff --cached` (and `git status` for context). Then write a single Conventional Commits message:
|
||||
|
||||
- A `<type>(<scope>): <subject>` summary line, imperative mood, ≤72 chars (types: feat, fix, refactor, docs, chore, test, perf, build).
|
||||
- An optional short body explaining the *why* only when it isn't obvious from the diff.
|
||||
- Do NOT run `git commit`. Output only the message inside a code block so I can review it.
|
||||
|
||||
Extra context to incorporate: ${1:-none}
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
description: Review the current diff for bugs and issues
|
||||
argument-hint: "[focus area]"
|
||||
---
|
||||
Review the current changes. Check both `git diff` (unstaged) and `git diff --cached` (staged). Focus on:
|
||||
|
||||
- Correctness and logic bugs
|
||||
- Error handling and missing edge cases
|
||||
- Security issues (injection, secrets, unsafe input)
|
||||
- Anything that doesn't match the surrounding code's conventions
|
||||
|
||||
List concrete findings as `file:line — issue — suggested fix`, ordered by severity. Be concise; skip praise. If nothing is wrong, say so.
|
||||
|
||||
Extra focus this round: ${1:-general correctness}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"defaultProvider": "duskadiy",
|
||||
"defaultModel": "gemma-4-26B-A4B-it-UD-IQ4_XS",
|
||||
"defaultThinkingLevel": "on",
|
||||
"theme": "catppuccin-mocha",
|
||||
"quietStartup": false,
|
||||
"defaultProjectTrust": "ask",
|
||||
"enableInstallTelemetry": false,
|
||||
"enabledModels": [
|
||||
"localcpp/*",
|
||||
"duskadiy/*"
|
||||
],
|
||||
"compaction": {
|
||||
"enabled": true,
|
||||
"reserveTokens": 16384,
|
||||
"keepRecentTokens": 20000
|
||||
},
|
||||
"retry": {
|
||||
"enabled": true,
|
||||
"maxRetries": 3,
|
||||
"baseDelayMs": 2000,
|
||||
"provider": {
|
||||
"timeoutMs": 3600000
|
||||
}
|
||||
},
|
||||
"httpIdleTimeoutMs": 600000,
|
||||
"npmCommand": ["fnm", "exec", "--using=22", "--", "npm"],
|
||||
"showHardwareCursor": true,
|
||||
"lastChangelogVersion": "0.80.1"
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
|
||||
"name": "catppuccin-mocha",
|
||||
"vars": {
|
||||
"rosewater": "#f5e0dc",
|
||||
"flamingo": "#f2cdcd",
|
||||
"pink": "#f5c2e7",
|
||||
"mauve": "#cba6f7",
|
||||
"red": "#f38ba8",
|
||||
"maroon": "#eba0ac",
|
||||
"peach": "#fab387",
|
||||
"yellow": "#f9e2af",
|
||||
"green": "#a6e3a1",
|
||||
"teal": "#94e2d5",
|
||||
"sky": "#89dceb",
|
||||
"sapphire": "#74c7ec",
|
||||
"blue": "#89b4fa",
|
||||
"lavender": "#b4befe",
|
||||
"fg": "#cdd6f4",
|
||||
"subtext1": "#bac2de",
|
||||
"subtext0": "#a6adc8",
|
||||
"overlay2": "#9399b2",
|
||||
"overlay1": "#7f849c",
|
||||
"overlay0": "#6c7086",
|
||||
"surface2": "#585b70",
|
||||
"surface1": "#45475a",
|
||||
"surface0": "#313244",
|
||||
"base": "#1e1e2e",
|
||||
"mantle": "#181825",
|
||||
"crust": "#11111b"
|
||||
},
|
||||
"colors": {
|
||||
"accent": "mauve",
|
||||
"border": "surface1",
|
||||
"borderAccent": "mauve",
|
||||
"borderMuted": "surface0",
|
||||
"success": "green",
|
||||
"error": "red",
|
||||
"warning": "yellow",
|
||||
"muted": "subtext0",
|
||||
"dim": "overlay0",
|
||||
"text": "fg",
|
||||
"thinkingText": "overlay1",
|
||||
"selectedBg": "surface0",
|
||||
"userMessageBg": "surface0",
|
||||
"userMessageText": "fg",
|
||||
"customMessageBg": "surface0",
|
||||
"customMessageText": "fg",
|
||||
"customMessageLabel": "mauve",
|
||||
"toolPendingBg": "mantle",
|
||||
"toolSuccessBg": "#1e2b22",
|
||||
"toolErrorBg": "#2b1e22",
|
||||
"toolTitle": "mauve",
|
||||
"toolOutput": "fg",
|
||||
"mdHeading": "mauve",
|
||||
"mdLink": "blue",
|
||||
"mdLinkUrl": "sapphire",
|
||||
"mdCode": "green",
|
||||
"mdCodeBlock": "fg",
|
||||
"mdCodeBlockBorder": "surface1",
|
||||
"mdQuote": "subtext0",
|
||||
"mdQuoteBorder": "surface2",
|
||||
"mdHr": "surface1",
|
||||
"mdListBullet": "mauve",
|
||||
"toolDiffAdded": "green",
|
||||
"toolDiffRemoved": "red",
|
||||
"toolDiffContext": "overlay0",
|
||||
"syntaxComment": "overlay0",
|
||||
"syntaxKeyword": "mauve",
|
||||
"syntaxFunction": "blue",
|
||||
"syntaxVariable": "fg",
|
||||
"syntaxString": "green",
|
||||
"syntaxNumber": "peach",
|
||||
"syntaxType": "yellow",
|
||||
"syntaxOperator": "sky",
|
||||
"syntaxPunctuation": "overlay2",
|
||||
"thinkingOff": "surface1",
|
||||
"thinkingMinimal": "overlay0",
|
||||
"thinkingLow": "blue",
|
||||
"thinkingMedium": "teal",
|
||||
"thinkingHigh": "peach",
|
||||
"thinkingXhigh": "red",
|
||||
"bashMode": "peach"
|
||||
},
|
||||
"export": {
|
||||
"pageBg": "#11111b",
|
||||
"cardBg": "#1e1e2e",
|
||||
"infoBg": "#313244"
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,13 @@
|
||||
|
||||
using `gnu stow`
|
||||
|
||||
```
|
||||
https://github.com/HyDE-Project/HyDE
|
||||
```
|
||||
`hyde`, `waybar` and `fish` are from hyprdots with edits
|
||||
Customized [Hyde](https://github.com/HyDE-Project/HyDE)
|
||||
|
||||
`hyde`, `waybar` and `fish` are from hyprdots with customizations
|
||||
|
||||
`nvim` is [nvchad](https://nvchad.com/) custom conf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user