Compare commits

...
91 Commits
Author SHA1 Message Date
coja f62cb40499 [Zelij] vim binds 2026-06-28 04:23:16 +02:00
coja a5a5bc1b1b [Pyradio] station update 2026-06-28 04:22:51 +02:00
coja 9d447e1cd0 [Tuis] update 2026-06-28 04:22:05 +02:00
coja e305c812ef [Fish] update 2026-06-28 04:21:07 +02:00
coja 71addd70ea [Cava] update 2026-06-28 04:20:12 +02:00
coja 077e5acba6 [Btop] conf update 2026-06-28 04:20:00 +02:00
coja 7a8a8fce6f [Pi] llms and keys 2026-06-28 04:19:53 +02:00
coja 0e07bcced0 [Git] gitignore 2026-06-28 04:18:55 +02:00
coja 572a4c2286 [Pi] update 2026-06-28 03:53:37 +02:00
coja b33a45fa1c [Pi] init 2026-06-27 21:23:59 +02:00
coja 3cbf3116c9 [Opencode] cleanup 2026-06-27 20:58:37 +02:00
coja b9398d31fe [Opencode] update 2026-06-27 20:56:55 +02:00
coja 9eb42566db [TuiOS] conf init 2026-06-27 04:33:42 +02:00
coja d314b43943 [Nvim] format on save, formatters 2026-06-27 04:19:13 +02:00
John Doe c14c6bf1af [Tuis] clis and tuis 2026-06-01 19:45:41 +02:00
John Doe f18b85247d [Pyradio] stations update 2026-06-01 19:44:59 +02:00
John Doe f59b36d637 [Fix] update fixes and cleanup 2026-06-01 19:44:50 +02:00
coja f30a7275d0 [Fish] worktree funciton 2026-05-08 14:22:55 +02:00
coja 2163dd70b6 [Pyradio] stations update 2026-05-06 20:35:42 +02:00
coja 076975d384 [Opencode] fail fix 2026-04-20 00:36:06 +02:00
coja d18a799be3 [Opencode] update 2026-04-20 00:34:26 +02:00
coja 3ced0b13d9 [Gitignore] update 2026-04-19 01:26:13 +02:00
coja 68d6cc3109 [Opencode] init 2026-04-19 01:25:09 +02:00
coja 8f73757604 [Nvim] snacks 2026-04-19 01:24:37 +02:00
coja dad966c3be [Keybinds] browsers 2026-04-19 01:24:24 +02:00
coja 7b2a2e5447 [Aichat] models update 2026-04-19 01:24:06 +02:00
coja 6cd73dc865 [AIchat] fix 2026-04-18 22:53:32 +02:00
coja 63c9bc520a [Fish] llm api key todo 2026-04-18 10:25:13 +02:00
coja 3c336fa1b3 [Swaylock] remove 2026-04-18 10:24:52 +02:00
coja 2a5d020110 [Pyradio] stations update 2026-04-18 09:06:25 +02:00
coja c6f63eb958 [Pyradio] stations update 2026-04-17 04:05:07 +02:00
coja a9f3dd28de [Nvim] mappings 2026-04-12 00:51:10 +02:00
coja f0dfb66fc2 [Nvim] gen -> codecompanion 2026-04-12 00:51:01 +02:00
coja 62f68b6570 [Hypr] hypridle fix 2026-04-12 00:50:46 +02:00
coja 01d7666f51 [Fish] cleanup 2026-04-12 00:49:43 +02:00
coja a4675f15b9 [Nvim] mappings 2026-04-11 05:13:37 +02:00
coja 3705c90fda [Nvim] mappings without yanking 2026-04-11 05:05:50 +02:00
coja b7e2599094 [Nvim] remove gen import 2026-04-11 02:59:11 +02:00
coja bdb669bb73 [Nvim] Gen -> CodeCompanion 2026-04-11 02:19:46 +02:00
coja e7da0a5f93 [Nvim] gen 2026-04-11 01:43:20 +02:00
coja f413a68803 [Nvim] fix render-markdown 2026-04-11 01:26:24 +02:00
coja e72c0b648c [Mpv] binds 2026-04-10 23:41:19 +02:00
coja 581001db0b [Fish] fzf and bashs 2026-04-10 23:41:08 +02:00
coja 9a154c71ec [Nvim] term 2026-04-10 23:06:31 +02:00
coja d8a08b8b14 [Lazygit] init 2026-04-10 23:05:38 +02:00
coja 19faeed49e [Hypr] hyprlock, hypridle 2026-04-10 23:05:23 +02:00
coja d943a80530 [Fish] fzf, xremap 2026-04-10 23:02:01 +02:00
coja 535d28900d [Btop] init 2026-04-10 23:01:22 +02:00
coja 0c480e2d1e [Nvim] cleanup 2026-04-10 01:06:00 +02:00
coja 03e193f975 [Nvim] mappings, floating term 2026-04-10 01:05:49 +02:00
coja 6498afda47 [Lazygit] selected color 2026-04-10 00:44:47 +02:00
coja 5580d801ee [Fish] cleanup 2026-04-10 00:40:25 +02:00
coja 1057355b76 [Opencode] typo 2026-04-10 00:40:17 +02:00
coja 83697d71e6 [Tui] update 2026-04-10 00:38:53 +02:00
coja 87798f132a [Opencode] bubblewrap 2026-04-08 01:19:50 +02:00
coja 751014a9fb [Hypr] bindings monitors 2026-04-08 01:17:20 +02:00
coja 6cee197b2e [Nvim] plugins cleanup 2026-04-08 01:16:42 +02:00
coja 2cc3a7330c [Swaylock] changes 2026-04-08 01:16:32 +02:00
coja 9dd5639868 [Nvim] Lazy update 2026-04-08 01:16:10 +02:00
coja c1d60f4786 [Swaylock] fix and bg change 2026-03-08 00:30:04 +01:00
coja ec99ca58d8 [Inputrc] cleanup 2026-03-07 02:45:28 +01:00
coja 5e2e481726 [Inputrc] init 2026-03-07 01:36:30 +01:00
coja 7ebe0a5d4b [Gitignore] greet 2026-03-07 01:35:56 +01:00
coja 5b9d76e08e [Nvim] mappings 2026-03-07 01:35:46 +01:00
coja 9736d2fd6e [Fish] update cleanup 2026-03-07 01:35:33 +01:00
coja 17540f0b8b [Fish] aliases and function 2026-03-07 01:35:09 +01:00
coja cd5cd23e71 [Fish] update cleanup 2026-03-07 01:34:20 +01:00
coja 87935ca581 [AiChat] config 2026-03-07 01:34:01 +01:00
coja 3ef2509830 [Nvim] update and LLM 2026-02-17 18:57:07 +01:00
coja c07058a3c4 [Kitty] conf 2026-02-17 18:56:51 +01:00
coja d78a9f76cf [Fish] update 2026-02-17 18:56:35 +01:00
coja 48d6400905 [Update] changes due to update 2026-02-17 18:55:08 +01:00
coja 6b7a6fd6e6 [Nvim] lint and pkg update 2025-10-11 00:57:02 +02:00
coja f5ae2e0848 [Fish] nmtui theme, bat 2025-10-11 00:56:33 +02:00
coja 940ba48422 [Kitty] music edits 2025-10-11 00:55:52 +02:00
coja 47d3d0d254 [Keybinds] update 2025-10-11 00:54:57 +02:00
coja 039eb20956 [Hypr] bugfix 2025-10-11 00:54:13 +02:00
coja 2d4b03425f [Cava] music visualizer config 2025-10-11 00:54:02 +02:00
coja 9002b1e720 [Doc] Readme edit 2025-10-11 00:52:38 +02:00
coja 4c6488d927 [Tuis] update 2025-10-11 00:52:29 +02:00
coja 6fcad474ab [Kitty] music session conf 2025-10-01 01:25:54 +02:00
coja c740f33b94 [Pyradio] stations update 2025-08-31 00:15:26 +02:00
coja 8789b077f0 [Cava] init 2025-08-31 00:15:19 +02:00
coja 499a603d44 [Fish] thefuck 2025-08-31 00:15:11 +02:00
coja bd6f2cd612 [Fish] updates 2025-08-31 00:14:44 +02:00
coja 8d944cbb3a [Hypr] update 2025-08-04 02:29:31 +02:00
coja b08ef824ac [Resto] update 2025-08-04 02:29:22 +02:00
coja 04ab323216 [Zellij] init 2025-08-04 02:28:41 +02:00
coja ca4806267c [Nvim] update 2025-08-04 02:27:47 +02:00
coja 8d1ad42d68 [Kitty] update 2025-08-04 02:26:52 +02:00
coja ef8f839913 [Fish] update 2025-08-04 02:25:10 +02:00
74 changed files with 5458 additions and 903 deletions
+3
View File
@@ -0,0 +1,3 @@
greet.txt
fish_variables
secrets.fish
+27
View File
@@ -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
+286
View File
@@ -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 = ""
+40
View File
@@ -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
+13
View File
@@ -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'
+117
View File
@@ -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);
}
+15
View File
@@ -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'
+10
View File
@@ -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'
+17
View File
@@ -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
+1
View File
@@ -0,0 +1 @@
fnm env --use-on-cd --shell fish | source
+68 -44
View File
@@ -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
+2 -41
View File
@@ -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
+3
View File
@@ -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
+3
View File
@@ -0,0 +1,3 @@
function bashs --description 'raw bash command'
bash -c "$argv"
end
+24
View File
@@ -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
+3
View File
@@ -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
+21
View File
@@ -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
+3
View File
@@ -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
+3
View File
@@ -0,0 +1,3 @@
function tuis --description 'fzf select tui'
eval (string split "\n" (cat $HOME/.config/misc/tuis.txt) | bashs "fzf --multi")
end
+17 -23
View File
@@ -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
}
+27
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
+16 -8
View File
@@ -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
-111
View File
@@ -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
+28
View File
@@ -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
}
}
+6 -13
View File
@@ -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
View File
@@ -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
# }
+58 -96
View File
@@ -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
+17
View File
@@ -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
+9 -5
View File
@@ -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
+17
View File
@@ -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
+20
View File
@@ -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
+489
View File
@@ -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>
+29
View File
@@ -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
+42
View File
@@ -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
+21
View File
@@ -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
+5
View File
@@ -0,0 +1,5 @@
[pyradio]
volume=50
-26
View File
@@ -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
View File
@@ -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
View File
@@ -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",
},
},
}
+14 -7
View File
@@ -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
+23 -19
View File
@@ -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)
},
}
+20 -5
View File
@@ -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" })
+71 -12
View File
@@ -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"
-- },
-- },
-- },
--
}
+278
View File
@@ -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"
}
}
}
}
+58 -38
View File
@@ -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&amp;t302=2024-09-17_23-09-40&amp;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,,
1 Chillout (Groove Salad - SomaFM) Ambient Psychill [1.FM] http://somafm.com/startstream=groovesalad.pls http://strm112.1.fm/ambientpsy_mobile_mp3
2 Alternative (BAGeL Radio) Goa Psychill [SomaFM] https://ais-sa3.cdnstream1.com/2606_128.aac http://ice3.somafm.com/suburbsofgoa-128-mp3
3 Chilli Zet https://ch.cdn.eurozet.pl/chi-net.mp3
4 Chilltrax http://server1.chilltrax.com:9000/
5 Chillout [psyradio*fm] http://streamer.psyradio.org:8020/;listen.mp3
6 Chillout [Psyndora] http://cast.magicstreams.gr:9125/stream
7 Chillout (Groove Salad) [SomaFM] https://hls.somafm.com/hls/groovesalad/320k/program.m3u8
8 Groove Salad Classic (Early 2000s Ambient) https://somafm.com/gsclassic.pls
9 Ambient and Experimental [n5MD] https://somafm.com/n5md.pls
10 Suomisaundi [Caprice] http://79.120.77.11:8004/suomisaundi
11 Vaporwaves [SomaFM] https://somafm.com/vaporwaves.pls
12 Cliq Hop [SomaFM] http://somafm.com/startstream=cliqhop.pls
13 Lounge (Illinois Street) [SomaFM] http://somafm.com/illstreet.pls
14 Space [SomaFM] http://ice.somafm.com/spacestation
15 Space Music [Synphaera] https://somafm.com/synphaera.pls
16 Deep Space [SomaFM] http://ice.somafm.com/deepspaceone
17 Downtempo (Secret Agent) [SomaFM] http://somafm.com/secretagent.pls
18 Dub Step (Beyond) [SomaFM] http://somafm.com/dubstep.pls
19 Dub Techno [Schizoid] http://94.130.113.214:8000/dubtechno
20 Dubplate.fm https://sc2.dubplate.fm/radio/8030/dnb/uhifi
21 MansionNET https://radio.inthemansion.com/listen/mansionnet/radio.mp3
22 Liquid funk [Caprice] http://79.111.119.111:9115/
23 Liquid funk https://radiorecord.hostingradio.ru/liquidfunk96.aacp
24 Liqui Radio https://stream-162.zeno.fm/ug59eq099yzuv?zs=zaqVusVSQuWMN3O5gnh8xA
25 Liquid DnB http://95.47.244.172:8000/live
26 Acid Techno https://radiorecord.hostingradio.ru/techno96.aacp
27 Dark Techno [Caprice] http://79.111.14.76:8000/darktechno
28 Deep Techno/House [1.FM] http://strm112.1.fm/deeptech_mobile_mp3
29 90s90s Techno http://streams.90s90s.de/techno/mp3-192/radiode/
30 The Trip: [SomaFM] https://somafm.com/thetrip.pls
31 ToXoRs minimalRADIO http://95.216.245.239:8000/stream/1/
32 Minimalradio.de https://azurafallback.de:8010/320.mp3
33 Minimal [Technolovers] https://stream.technolovers.fm/minimal
34 Suomisaundi / Freeform Psytrance / Spugedelic Trance [Caprice] http://79.120.77.11:8000/suomisaundi
35 Psychedelic Secret https://solid48.streamupsolutions.com/proxy/bglsokon?mp=/=stream
36 Full-on psytrance [Caprice] http://79.111.14.76:9019/
37 Magnathospere Morning https://listen7.myradio24.com/magnatos
38 Psytrance [Psyndora] https://cast.magicstreams.gr/sc/psyndora/stream
39 Hirschmilch Psytrance Hirschmilch Psytrance https://hirschmilch.de:7001/psytrance.mp3 https://hirschmilch.de:7001/psytrance.mp3
40 Bluffphonica Bluffphonica http://bluffphonica.stream.laut.fm/bluffphonica?pl=m3u&amp;t302=2024-09-17_23-09-40&amp;uuid=ce6a1b0b-1654-4d08-afbc-31b028f8f23b http://bluffphonica.stream.laut.fm/bluffphonica?pl=m3u&amp;t302=2024-09-17_23-09-40&amp;uuid=ce6a1b0b-1654-4d08-afbc-31b028f8f23b
41 Radio Caprice - Suomisaundi BOM Psytrance [1.FM] http://79.120.77.11:8004/suomisaundi http://strm112.1.fm/psytrance_mobile_mp3
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
42 TL_Psytrance TL_Psytrance https://stream.technolovers.fm/psytrance https://stream.technolovers.fm/psytrance
43 Record Goa Psy Record Goa Psy https://radiorecord.hostingradio.ru/goa96.aacp https://radiorecord.hostingradio.ru/goa96.aacp
44 1.FM - BOM Psytrance Radio Psytrance 24/7 [DMT FM] http://strm112.1.fm/psytrance_mobile_mp3 https://dc1.serverse.com/proxy/ywycfrxn/live
45 Anima Amoris [Goa Psy Trance] Trance [RadiOzora] http://amoris.sknt.ru/goa.mp3 http://trance.out.airtime.pro:8000/trance_a
46 DMT FM Psytrance 24/7 Uplifting trance [Technolovers] https://dc1.serverse.com/proxy/ywycfrxn/live https://0nlineradio.stream13.radiohost.de/technolovers-uplifting-trance
47 radiOzora Trance Uplift [RadioRecord] http://trance.out.airtime.pro:8000/trance_a https://radiorecord.hostingradio.ru/uplift96.aacp
48 Psyndora Psytrance Alternative [BAGeL] http://cast.magicstreams.gr:9111/stream https://ais-sa3.cdnstream1.com/2606_128.aac
49 Celtic (ThistleRadio - SomaFM) Celtic (ThistleRadio) [SomaFM] http://somafm.com/thistle.pls http://somafm.com/thistle.pls
50 Groove Salad Classic (Early 2000s Ambient) Commodore 64 Remixes [Slay] https://somafm.com/gsclassic.pls http://www.slayradio.org/tune_in.php/128kbps/listen.m3u
51 n5MD Radio (Ambient and Experimental) Covers [SomaFM] https://somafm.com/n5md.pls http://somafm.com/covers.pls
52 Vaporwaves [SomaFM] Indie Pop [SomaFM] https://somafm.com/vaporwaves.pls http://somafm.com/indiepop130.pls
53 Commodore 64 Remixes (Slay Radio) Jazz (Sonic Universe) [SomaFM] http://www.slayradio.org/tune_in.php/128kbps/listen.m3u http://somafm.com/startstream=sonicuniverse.pls
54 Covers (SomaFM) Pop (PopTron) [SomaFM] http://somafm.com/covers.pls http://somafm.com/poptron.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
55 Pop/Rock/Urban (Frequence 3 - Paris) Pop/Rock/Urban (Frequence 3 - Paris) http://streams.frequence3.net/hd-mp3.m3u http://streams.frequence3.net/hd-mp3.m3u
56 Progressive (Tags Trance Trip - SomaFM) Progressive (Tags Trance Trip) [SomaFM] http://somafm.com/tagstrance.pls http://somafm.com/tagstrance.pls
57 Public Radio (NPR National Public Radio Stream) Public Radio (NPR National Public Radio Stream) https://npr-ice.streamguys1.com/live.mp3 https://npr-ice.streamguys1.com/live.mp3
Reggae Dancehall (Ragga Kings) https://raggakings.radio:8443/stream.ogg
58 Heavyweight Reggae Heavyweight Reggae https://somafm.com/reggae.pls https://somafm.com/reggae.pls
59 Rock (Digitalis - SomaFM) Rock (Digitalis) [SomaFM] http://somafm.com/digitalis.pls http://somafm.com/digitalis.pls
60 Metal Detector Metal Detector https://somafm.com/metal.pls 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
61 JazzGroove JazzGroove https://www.internet-radio.com/servers/tools/playlistgenerator/?u=http://199.180.72.2:8015/listen.pls?sid=1&t=.pls https://www.internet-radio.com/servers/tools/playlistgenerator/?u=http://199.180.72.2:8015/listen.pls?sid=1&t=.pls
62 Radio Paradise - Main Mix Main Mix [Paradise] http://stream.radioparadise.com/aac-128 http://stream.radioparadise.com/aac-128
63 Radio Paradise - Mellow Mix Mellow Mix [Paradise] http://stream.radioparadise.com/mellow-128 http://stream.radioparadise.com/mellow-128
64 Radio Paradise - Rock Mix Rock Mix [Paradise] http://stream.radioparadise.com/rock-128 http://stream.radioparadise.com/rock-128
65 Radio Paradise - Eclectic Mix Eclectic Mix [Paradise] http://stream.radioparadise.com/eclectic-128 http://stream.radioparadise.com/eclectic-128
66 Echoes of Bluemars Echoes of Bluemars http://streams.echoesofbluemars.org:8000/bluemars.m3u http://streams.echoesofbluemars.org:8000/bluemars.m3u
67 Echoes of Bluemars - Cryosleep Cryosleep [Echoes of Bluemars] http://streams.echoesofbluemars.org:8000/cryosleep.m3u http://streams.echoesofbluemars.org:8000/cryosleep.m3u
68 Echoes of Bluemars - Voices from Within Voices from Within [Echoes of Bluemars] http://streams.echoesofbluemars.org:8000/voicesfromwithin.m3u http://streams.echoesofbluemars.org:8000/voicesfromwithin.m3u
Synphaera Radio (Space Music) https://somafm.com/synphaera.pls
+242
View File
@@ -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 = ''
+16
View File
@@ -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": {
+2 -2
View File
@@ -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
}
+1
View File
@@ -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
+497
View File
@@ -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
+452
View File
@@ -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
+120
View File
@@ -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
}
}
}
+21
View File
@@ -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
+10
View File
@@ -0,0 +1,10 @@
{
"localcpp": {
"type": "api_key",
"key": "no-key-required"
},
"duskadiy": {
"type": "api_key",
"key": "$DUSKADIY_API_KEY"
}
}
+190
View File
@@ -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 }
}
]
}
}
}
+11
View File
@@ -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}
+14
View File
@@ -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}
+36
View File
@@ -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"
}
+90
View File
@@ -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
View File
@@ -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 }
}
]
}
}
}
+11
View File
@@ -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}
+14
View File
@@ -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}
+30
View File
@@ -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"
}
+90
View File
@@ -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"
}
}
+5 -4
View File
@@ -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