Compare commits

...
31 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
38 changed files with 1564 additions and 503 deletions
+2
View File
@@ -1 +1,3 @@
greet.txt greet.txt
fish_variables
secrets.fish
+17 -3
View File
@@ -1,13 +1,27 @@
# see https://github.com/sigoden/aichat/blob/main/config.example.yaml # see https://github.com/sigoden/aichat/blob/main/config.example.yaml
keybindings: vi keybindings: vi
editor: nvim editor: nvim
model: local:Qwen3-Coder-30B-Instruct-IQ4_XS model: duskadiy:Qwen3-Coder-30B-Instruct-IQ4_XS
clients: clients:
- type: openai-compatible - type: openai-compatible
name: local name: local
api_base: http://192.168.0.204:11343/v1 api_base: http://192.168.0.204:11343/v1
models: models:
- name: Qwen3.5-27B-UD-Q3_K_XL
- name: Qwen3.5-9B-Q8_0
- name: Qwen3-Coder-30B-Instruct-IQ4_XS - name: Qwen3-Coder-30B-Instruct-IQ4_XS
- name: Qwen3-Coder-30B-A3B-Instruct-UD-Q3_K_XL
- name: llama-3.1-8b-instruct
- name: GLM-4.7-Flash-UD-Q3_K_XL - 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
+17 -3
View File
@@ -1,4 +1,4 @@
#? Config file for btop v.1.4.6 #? Config file for btop v.1.4.7
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. #* 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" #* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
@@ -14,6 +14,11 @@ truecolor = true
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. #* 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 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. #* 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. #* 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. #* Use whitespace " " as separator between different presets.
@@ -24,6 +29,9 @@ presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:defaul
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. #* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = true vim_keys = true
#* Disable all mouse events.
disable_mouse = false
#* Rounded corners on boxes, is ignored if TTY mode is ON. #* Rounded corners on boxes, is ignored if TTY mode is ON.
rounded_corners = true rounded_corners = true
@@ -60,7 +68,7 @@ update_ms = 2000
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", #* 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. #* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "cpu direct" proc_sorting = "cpu lazy"
#* Reverse sorting order, True or False. #* Reverse sorting order, True or False.
proc_reversed = false proc_reversed = false
@@ -92,6 +100,9 @@ proc_left = false
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). #* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
proc_filter_kernel = false 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. #* In tree-view, always accumulate child process resources in the parent process.
proc_aggregate = false proc_aggregate = false
@@ -208,6 +219,9 @@ io_graph_combined = false
#* Example: "/mnt/media:100 /:20 /boot:1". #* Example: "/mnt/media:100 /:20 /boot:1".
io_graph_speeds = "" 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. #* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
net_download = 100 net_download = 100
@@ -250,7 +264,7 @@ rsmi_measure_pcie_speeds = true
#* Horizontally mirror the GPU graph. #* Horizontally mirror the GPU graph.
gpu_mirror_graph = true gpu_mirror_graph = true
#* Set which GPU vendors to show. Available values are "nvidia amd intel" #* Set which GPU vendors to show. Available values are "nvidia amd intel apple"
shown_gpus = "nvidia amd intel" shown_gpus = "nvidia amd intel"
#* Custom gpu0 model name, empty string to disable. #* Custom gpu0 model name, empty string to disable.
+87 -87
View File
@@ -1,33 +1,33 @@
## configuration file for cava. ## Configuration file for CAVA.
# remove the ; to change parameters. # Remove the ; to change parameters.
[general] [general]
# smoothing mode. can be 'normal', 'scientific' or 'waves'. deprecated as of 0.6.0 # Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
mode = scientific mode = scientific
# accepts only non-negative values. # Accepts only non-negative values.
framerate = 60 framerate = 60
# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off # 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
# new as of 0.6.0 autosens of low values (dynamic range) # new as of 0.6.0 autosens of low values (dynamic range)
# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. deprecated as of 0.6.0 # 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
autosens = 1 autosens = 1
; overshoot = 20 ; overshoot = 20
# manual sensitivity in %. if autosens is enabled, this will only be the initial value. # Manual sensitivity in %. If autosens is enabled, this will only be the initial value.
# 200 means double height. accepts only non-negative values. # 200 means double height. Accepts only non-negative values.
; sensitivity = 100 ; sensitivity = 100
# the number of bars (0-512). 0 sets it to auto (fill up console). # The number of bars (0-512). 0 sets it to auto (fill up console).
# bars' width and space between bars in number of characters. # Bars' width and space between bars in number of characters.
; bars = 0 ; bars = 0
; bar_width = 2 ; bar_width = 2
; bar_spacing = 1 ; bar_spacing = 1
# bar_height is only used for output in "noritake" format # bar_height is only used for output in "noritake" format
; bar_height = 32 ; bar_height = 32
# for sdl width and space between bars is in pixels, defaults are: # For SDL width and space between bars is in pixels, defaults are:
; bar_width = 20 ; bar_width = 20
; bar_spacing = 5 ; bar_spacing = 5
@@ -42,47 +42,47 @@ autosens = 1
; max_height = 100 ; max_height = 100
# lower and higher cutoff frequencies for lowest and highest bars # Lower and higher cutoff frequencies for lowest and highest bars
# the bandwidth of the visualizer. # the bandwidth of the visualizer.
# note: there is a minimum total bandwidth of 43mhz x number of bars. # Note: there is a minimum total bandwidth of 43Mhz x number of bars.
# cava will automatically increase the higher cutoff if a too low band is specified. # Cava will automatically increase the higher cutoff if a too low band is specified.
; lower_cutoff_freq = 50 ; lower_cutoff_freq = 50
; higher_cutoff_freq = 10000 ; higher_cutoff_freq = 10000
# seconds with no input before cava goes to sleep mode. cava will not perform fft or drawing and # Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
# only check for input once per second. cava will wake up once input is detected. 0 = disable. # only check for input once per second. Cava will wake up once input is detected. 0 = disable.
; sleep_timer = 0 ; sleep_timer = 0
[input] [input]
# audio capturing method. possible methods are: 'fifo', 'portaudio', 'pipewire', 'alsa', 'pulse', 'sndio', 'oss', 'jack' or 'shmem' # Audio capturing method. Possible methods are: 'fifo', 'portaudio', 'pipewire', 'alsa', 'pulse', 'sndio', 'oss', 'jack' or 'shmem'
# defaults to 'oss', 'pipewire', 'sndio', 'jack', 'pulse', 'alsa', 'portaudio' or 'fifo', in that order, dependent on what support cava was built with. # Defaults to 'oss', 'pipewire', 'sndio', 'jack', 'pulse', 'alsa', 'portaudio' or 'fifo', in that order, dependent on what support cava was built with.
# on mac it defaults to 'portaudio' or 'fifo' # On Mac it defaults to 'portaudio' or 'fifo'
# on windows this is automatic and no input settings are needed. # On windows this is automatic and no input settings are needed.
# #
# all input methods uses the same config variable 'source' # All input methods uses the same config variable 'source'
# to define where it should get the audio. # to define where it should get the audio.
# #
# for pulseaudio and pipewire 'source' will be the source. default: 'auto', which uses the monitor source of the default sink # For pulseaudio and pipewire 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them). # (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
# #
# for pipewire 'source' will be the object name or object.serial of the device to capture from. # For pipewire 'source' will be the object name or object.serial of the device to capture from.
# both input and output devices are supported. to capture the monitor source of a sink node, append '.monitor' to the sink's object name. # Both input and output devices are supported. To capture the monitor source of a sink node, append '.monitor' to the sink's object name.
# #
# for alsa 'source' will be the capture device. # For alsa 'source' will be the capture device.
# for fifo 'source' will be the path to fifo-file. # For fifo 'source' will be the path to fifo-file.
# for shmem 'source' will be /squeezelite-aa:bb:cc:dd:ee:ff where 'aa:bb:cc:dd:ee:ff' will be squeezelite's mac address # For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
# #
# for sndio 'source' will be a raw recording audio descriptor or a monitoring sub-device, e.g. 'rsnd/2' or 'snd/1'. default: 'default'. # For sndio 'source' will be a raw recording audio descriptor or a monitoring sub-device, e.g. 'rsnd/2' or 'snd/1'. Default: 'default'.
# readme.md contains further information on how to setup cava for sndio. # README.md contains further information on how to setup CAVA for sndio.
# #
# for oss 'source' will be the path to a audio device, e.g. '/dev/dsp2'. default: '/dev/dsp', i.e. the default audio device. # For oss 'source' will be the path to a audio device, e.g. '/dev/dsp2'. Default: '/dev/dsp', i.e. the default audio device.
# readme.md contains further information on how to setup cava for oss on freebsd. # README.md contains further information on how to setup CAVA for OSS on FreeBSD.
# #
# for jack 'source' will be the name of the jack server to connect to, e.g. 'foobar'. default: 'default'. # For jack 'source' will be the name of the JACK server to connect to, e.g. 'foobar'. Default: 'default'.
# readme.md contains further information on how to setup cava for jack. # README.md contains further information on how to setup CAVA for JACK.
# #
; method = pulse ; method = pulse
; source = auto ; source = auto
@@ -91,13 +91,13 @@ autosens = 1
; source = auto ; source = auto
; method = alsa ; method = alsa
; source = hw:loopback,1 ; source = hw:Loopback,1
; method = fifo ; method = fifo
; source = /tmp/mpd.fifo ; source = /tmp/mpd.fifo
; method = shmem ; method = shmem
; source = /squeezelite-aa:bb:cc:dd:ee:ff ; source = /squeezelite-AA:BB:CC:DD:EE:FF
; method = portaudio ; method = portaudio
; source = auto ; source = auto
@@ -111,16 +111,16 @@ autosens = 1
; method = jack ; method = jack
; source = default ; source = default
# the options 'sample_rate', 'sample_bits', 'channels' and 'autoconnect' can be configured for some input methods: # The options 'sample_rate', 'sample_bits', 'channels' and 'autoconnect' can be configured for some input methods:
# sample_rate: fifo, pipewire, sndio, oss # sample_rate: fifo, pipewire, sndio, oss
# sample_bits: fifo, pipewire, sndio, oss # sample_bits: fifo, pipewire, sndio, oss
# channels: sndio, oss, jack # channels: sndio, oss, jack
# autoconnect: jack # autoconnect: jack
# other methods ignore these settings. # Other methods ignore these settings.
# #
# for 'sndio' and 'oss' they are only preferred values, i.e. if the values are not supported # For 'sndio' and 'oss' they are only preferred values, i.e. if the values are not supported
# by the chosen audio device, the device will use other supported values instead. # by the chosen audio device, the device will use other supported values instead.
# example: 48000, 32 and 2, but the device only supports 44100, 16 and 1, then it # Example: 48000, 32 and 2, but the device only supports 44100, 16 and 1, then it
# will use 44100, 16 and 1. # will use 44100, 16 and 1.
# #
; sample_rate = 44100 ; sample_rate = 44100
@@ -131,33 +131,33 @@ autosens = 1
[output] [output]
# output method. can be 'ncurses', 'noncurses', 'raw', 'noritake', 'sdl' # Output method. Can be 'ncurses', 'noncurses', 'raw', 'noritake', 'sdl'
# or 'sdl_glsl'. # or 'sdl_glsl'.
# 'noncurses' (default) uses a buffer and cursor movements to only print # 'noncurses' (default) uses a buffer and cursor movements to only print
# changes from frame to frame in the terminal. uses less resources and is less # changes from frame to frame in the terminal. Uses less resources and is less
# prone to tearing (vsync issues) than 'ncurses'. # prone to tearing (vsync issues) than 'ncurses'.
# #
# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data # 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
# stream of the bar heights that can be used to send to other applications. # stream of the bar heights that can be used to send to other applications.
# 'raw' defaults to 1024 bars stereo (512 bars mono), which can be adjusted in the 'bars' option above. # 'raw' defaults to 1024 bars stereo (512 bars mono), which can be adjusted in the 'bars' option above.
# #
# 'noritake' outputs a bitmap in the format expected by a noritake vfd display # 'noritake' outputs a bitmap in the format expected by a Noritake VFD display
# in graphic mode. it only support the 3000 series graphical vfds for now. # in graphic mode. It only support the 3000 series graphical VFDs for now.
# #
# 'sdl' uses the simple directmedia layer to render in a graphical context. # 'sdl' uses the Simple DirectMedia Layer to render in a graphical context.
# 'sdl_glsl' uses sdl to create an opengl context. write your own shaders or # 'sdl_glsl' uses SDL to create an OpenGL context. Write your own shaders or
# use one of the predefined ones. # use one of the predefined ones.
; method = noncurses ; method = noncurses
# orientation of the visualization. can be 'bottom', 'top', 'left', 'right' or # Orientation of the visualization. Can be 'bottom', 'top', 'left', 'right' or
# 'horizontal'. default is 'bottom'. 'left and 'right' are only supported on sdl # 'horizontal'. Default is 'bottom'. 'left and 'right' are only supported on sdl
# and ncruses output. 'horizontal' (bars go up and down from center) is only supported # and ncruses output. 'horizontal' (bars go up and down from center) is only supported
# on noncurses output. # on noncurses output.
# note: many fonts have weird or missing glyphs for characters used in orientations # Note: many fonts have weird or missing glyphs for characters used in orientations
# other than 'bottom', which can make output not look right. # other than 'bottom', which can make output not look right.
; orientation = bottom ; orientation = bottom
# visual channels. can be 'stereo' or 'mono'. # Visual channels. Can be 'stereo' or 'mono'.
# 'stereo' mirrors both channels with low frequencies in center. # 'stereo' mirrors both channels with low frequencies in center.
# 'mono' outputs left to right lowest to highest frequencies. # 'mono' outputs left to right lowest to highest frequencies.
# 'mono_option' set mono to either take input from 'left', 'right' or 'average'. # 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
@@ -166,22 +166,22 @@ autosens = 1
; mono_option = average ; mono_option = average
; reverse = 0 ; reverse = 0
# raw output target. # Raw output target.
# on linux, a fifo will be created if target does not exist. # On Linux, a fifo will be created if target does not exist.
# on windows, a named pipe will be created if target does not exist. # On Windows, a named pipe will be created if target does not exist.
; raw_target = /dev/stdout ; raw_target = /dev/stdout
# raw data format. can be 'binary' or 'ascii'. # Raw data format. Can be 'binary' or 'ascii'.
; data_format = binary ; data_format = binary
# binary bit format, can be '8bit' (0-255) or '16bit' (0-65530). # Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
; bit_format = 16bit ; bit_format = 16bit
# ascii max value. in 'ascii' mode range will run from 0 to value specified here # Ascii max value. In 'ascii' mode range will run from 0 to value specified here
; ascii_max_range = 1000 ; ascii_max_range = 1000
# ascii delimiters. in ascii format each bar and frame is separated by a delimiters. # Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
# use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)). # Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
; bar_delimiter = 59 ; bar_delimiter = 59
; frame_delimiter = 10 ; frame_delimiter = 10
@@ -192,9 +192,9 @@ autosens = 1
; sdl_y= -1 ; sdl_y= -1
; sdl_full_screen = 0 ; sdl_full_screen = 0
# set label on bars on the x-axis. can be 'frequency' or 'none'. default: 'none' # set label on bars on the x-axis. Can be 'frequency' or 'none'. Default: 'none'
# 'frequency' displays the lower cut off frequency of the bar above. # 'frequency' displays the lower cut off frequency of the bar above.
# only supported on ncurses and noncurses output. # Only supported on ncurses and noncurses output.
; xaxis = none ; xaxis = none
# enable synchronized sync. 1 = on, 0 = off # enable synchronized sync. 1 = on, 0 = off
@@ -202,7 +202,7 @@ autosens = 1
# defaults to off since the behaviour in other terminal emulators is unknown # defaults to off since the behaviour in other terminal emulators is unknown
; synchronized_sync = 0 ; synchronized_sync = 0
# shaders for sdl_glsl, located in $home/.config/cava/shaders # Shaders for sdl_glsl, located in $HOME/.config/cava/shaders
; vertex_shader = pass_through.vert ; vertex_shader = pass_through.vert
; fragment_shader = bar_spectrum.frag ; fragment_shader = bar_spectrum.frag
@@ -210,7 +210,7 @@ autosens = 1
; continuous_rendering = 0 ; continuous_rendering = 0
# disable console blank (screen saver) in tty # disable console blank (screen saver) in tty
# (not supported on freebsd) # (Not supported on FreeBSD)
; disable_blanking = 0 ; disable_blanking = 0
# show a flat bar at the bottom of the screen when idle, 1 = on, 0 = off # show a flat bar at the bottom of the screen when idle, 1 = on, 0 = off
@@ -221,21 +221,21 @@ autosens = 1
[color] [color]
# colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow. # Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
# or defined by hex code '#xxxxxx' (hex code must be within ''). user defined colors requires # Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
# a terminal that can change color definitions such as gnome-terminal or rxvt. # a terminal that can change color definitions such as Gnome-terminal or rxvt.
# default is to keep current terminal color # default is to keep current terminal color
; background = default ; background = default
; foreground = default ; foreground = default
# sdl and sdl_glsl only support hex code colors, these are the default: # SDL and sdl_glsl only support hex code colors, these are the default:
; background = '#111111' ; background = '#111111'
; foreground = '#d34b11' ; foreground = '#D34b11'
# ; foreground = '#d34b11' # ; foreground = '#D34b11'
# gradient mode, only hex defined colors are supported, # Gradient mode, only hex defined colors are supported,
# background must also be defined in hex or remain commented out. 1 = on, 0 = off. # background must also be defined in hex or remain commented out. 1 = on, 0 = off.
# you can define as many as 8 different colors. they range from bottom to top of screen # You can define as many as 8 different colors. They range from bottom to top of screen
gradient = 1 gradient = 1
gradient_color_1 = '#d34b11' gradient_color_1 = '#d34b11'
gradient_color_2 = '#cc5933' gradient_color_2 = '#cc5933'
@@ -246,8 +246,8 @@ gradient_color_6 = '#a6cc33'
gradient_color_7 = '#80cc33' gradient_color_7 = '#80cc33'
gradient_color_8 = '#59cc33' gradient_color_8 = '#59cc33'
# horizontal is only supported on noncurses output. # Horizontal is only supported on noncurses output.
# only one color will be calculated per bar. # Only one color will be calculated per bar.
; horizontal_gradient = 1 ; horizontal_gradient = 1
; horizontal_gradient_color_1 = '#c45161' ; horizontal_gradient_color_1 = '#c45161'
; horizontal_gradient_color_2 = '#e094a0' ; horizontal_gradient_color_2 = '#e094a0'
@@ -259,39 +259,39 @@ gradient_color_8 = '#59cc33'
; horizontal_gradient_color_8 = '#434279' ; horizontal_gradient_color_8 = '#434279'
# if both vertical and horizontal gradient is enabled, vertical will be blended in this direction. # If both vertical and horizontal gradient is enabled, vertical will be blended in this direction.
# can be 'up', 'down', 'left' or 'right'. 'up' means the vertical gradient will be blended in from # Can be 'up', 'down', 'left' or 'right'. 'up' means the vertical gradient will be blended in from
# bottom to top. i.e. the bottom will be only the horizontal # bottom to top. I.e. the bottom will be only the horizontal
# and top will be only the color of the vertical gradient. # and top will be only the color of the vertical gradient.
; blend_direction = 'up' ; blend_direction = 'up'
# use theme file instead of defining colors in this file # use theme file instead of defining colors in this file
# themes are located in $home/.config/cava/themes # themes are located in $HOME/.config/cava/themes
; theme = 'none' ; theme = 'none'
[smoothing] [smoothing]
# percentage value for integral smoothing. takes values from 0 - 100. # Percentage value for integral smoothing. Takes values from 0 - 100.
# higher values means smoother, but less precise. 0 to disable. # Higher values means smoother, but less precise. 0 to disable.
# deprecated as of 0.8.0, use noise_reduction instead # DEPRECATED as of 0.8.0, use noise_reduction instead
; integral = 77 ; integral = 77
# disables or enables the so-called "monstercat smoothing" with or without "waves". set to 0 to disable. # Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
; monstercat = 0 ; monstercat = 0
; waves = 0 ; waves = 0
# set gravity percentage for "drop off". higher values means bars will drop faster. # Set gravity percentage for "drop off". Higher values means bars will drop faster.
# accepts only non-negative values. 50 means half gravity, 200 means double. set to 0 to disable "drop off". # Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
# deprecated as of 0.8.0, use noise_reduction instead # DEPRECATED as of 0.8.0, use noise_reduction instead
; gravity = 100 ; gravity = 100
# in bar height, bars that would have been lower that this will not be drawn. # In bar height, bars that would have been lower that this will not be drawn.
# deprecated as of 0.8.0 # DEPRECATED as of 0.8.0
; ignore = 0 ; ignore = 0
# noise reduction, int 0 - 100. default 77 # Noise reduction, int 0 - 100. default 77
# the raw visualization is very noisy, this factor adjusts the integral and gravity filters to keep the signal smooth # the raw visualization is very noisy, this factor adjusts the integral and gravity filters to keep the signal smooth
# 100 will be very slow and smooth, 0 will be fast but noisy. # 100 will be very slow and smooth, 0 will be fast but noisy.
; noise_reduction = 77 ; noise_reduction = 77
@@ -299,9 +299,9 @@ gradient_color_8 = '#59cc33'
[eq] [eq]
# this one is tricky. you can have as much keys as you want. # This one is tricky. You can have as much keys as you want.
# remember to uncomment more than one key! more keys = more precision. # Remember to uncomment more than one key! More keys = more precision.
# look at readme.md on github for further explanations and examples. # Look at readme.md on github for further explanations and examples.
; 1 = 1 # bass ; 1 = 1 # bass
; 2 = 1 ; 2 = 1
; 3 = 1 # midtone ; 3 = 1 # midtone
+1
View File
@@ -0,0 +1 @@
fnm env --use-on-cd --shell fish | source
+3
View File
@@ -11,6 +11,7 @@ set -gx FNM_COREPACK_ENABLED "false";
set -gx FNM_RESOLVE_ENGINES "true"; set -gx FNM_RESOLVE_ENGINES "true";
set -gx FNM_ARCH "x64"; set -gx FNM_ARCH "x64";
set -Ux MANPAGER "nvim +Man!" set -Ux MANPAGER "nvim +Man!"
# 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 -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 BAT_THEME "Catppuccin Mocha"
@@ -88,3 +89,5 @@ if not string match -q -- $PNPM_HOME $PATH
end end
# pnpm end # pnpm end
fnm env --use-on-cd --shell fish | source
+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
+1 -1
View File
@@ -1,3 +1,3 @@
function tuis --description 'fzf select tui' function tuis --description 'fzf select tui'
eval (string split "\n" (cat $HOME/.dots/tuis.txt) | bashs "fzf --multi") eval (string split "\n" (cat $HOME/.config/misc/tuis.txt) | bashs "fzf --multi")
end end
+1 -1
View File
@@ -112,7 +112,7 @@ device {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/
dwindle { dwindle {
pseudotile = yes # pseudotile = yes
preserve_split = yes preserve_split = yes
} }
+3 -6
View File
@@ -1,4 +1,3 @@
# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀ # █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█ # █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
@@ -14,10 +13,7 @@ $file = dolphin
$browser = librewolf $browser = librewolf
$yt = freetube $yt = freetube
$wm=Window Management $wm=Window Management
$d=[$wm]
# Window/Session actions # Window/Session actions
bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # close focused window bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # close focused window
@@ -40,6 +36,8 @@ bind = $mainMod+Ctrl, T, exec, tilix # launch tilix terminal emulator
bind = $mainMod, E, exec, $file # launch file manager bind = $mainMod, E, exec, $file # launch file manager
bind = $mainMod, F, exec, $yt # launch yt alternative bind = $mainMod, F, exec, $yt # launch yt alternative
bind = $mainMod, B, exec, $browser # launch web browser 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, G, exec, gajim # launch messanger
bind = $mainMod, K, exec, keepassxc # launch password manager bind = $mainMod, K, exec, keepassxc # launch password manager
bind = $mainMod, Escape, exec, dunstctl close bind = $mainMod, Escape, exec, dunstctl close
@@ -50,7 +48,6 @@ bindd = $mainMod, O, $d runners, exec, kitty --session ~/.config/kitty/runners.c
bindd = Ctrl+Shift, Escape, Btop, exec, kitty -e btop bindd = Ctrl+Shift, Escape, Btop, exec, kitty -e btop
bindd = Ctrl+Alt, Delete, 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) # bind = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top)
# bind = $mainMod+Shift, B, exec, $browser, title: ^(LibreWolf Private Browsing)$ # launch private web browser
# Rofi menus # Rofi menus
@@ -178,7 +175,7 @@ bind = $mainMod+Alt, S, movetoworkspacesilent, special
bind = $mainMod, S, togglespecialworkspace, bind = $mainMod, S, togglespecialworkspace,
# Toggle focused window split # Toggle focused window split
bind = $mainMod, J, togglesplit bindd = $mainMod, J, $d toggle split, layoutmsg, togglesplit
$d=[$ws|Navigation|Relative workspace] $d=[$ws|Navigation|Relative workspace]
bindd = $mainMod Control Shift, Right, $d change active workspace forwards , workspace, r+1 bindd = $mainMod Control Shift, Right, $d change active workspace forwards , workspace, r+1
-1
View File
@@ -463,7 +463,6 @@ keybinding:
markCommitAsBaseForRebase: B markCommitAsBaseForRebase: B
tagCommit: T tagCommit: T
checkoutCommit: <space> checkoutCommit: <space>
resetCherryPick: <c-R>
copyCommitAttributeToClipboard: "y" copyCommitAttributeToClipboard: "y"
openLogMenu: <c-l> openLogMenu: <c-l>
openInBrowser: o openInBrowser: 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
+11 -22
View File
@@ -15,15 +15,13 @@ bmon
profanity profanity
nmtui nmtui
bluetui bluetui
drawterm
hunk
lazygit lazygit
lazydocker lazydocker
lazyjorunal lazyjorunal
pastel pastel
hexyl hexyl
tmux
zellij
nvim
vim
pyradio pyradio
kew kew
tt tt
@@ -32,22 +30,13 @@ matrix
cava cava
tetrigo tetrigo
tui-mines tui-mines
clx
lnav
asciinema
bookokrat
dar
hulak
gpk
dayra
openentropy
onefetch
gittop
netwatch
lazytail
vimalender
eilmeldung
calcure
nyaa nyaa
witr stig
tmux
zellij
nvim
vim
tuios
llmfit
battop
subtui
+11 -10
View File
@@ -1,30 +1,31 @@
{ {
"LuaSnip": { "branch": "master", "commit": "a62e1083a3cfe8b6b206e7d3d33a51091df25357" }, "LuaSnip": { "branch": "master", "commit": "a62e1083a3cfe8b6b206e7d3d33a51091df25357" },
"NvChad": { "branch": "v2.5", "commit": "f437558f23c8f50c36cd09748121ab2c822e8ec9" }, "NvChad": { "branch": "v2.5", "commit": "d042cc975247c2aa55fcb228e5d146dc1dc6c648" },
"base46": { "branch": "v2.5", "commit": "fde7a2cd54599e148d376f82980407c2d24b0fa2" }, "base46": { "branch": "v2.5", "commit": "fde7a2cd54599e148d376f82980407c2d24b0fa2" },
"cmp-async-path": { "branch": "main", "commit": "f8af3f726e07f2e9d37672eaa9102581aefce149" }, "cmp-async-path": { "branch": "main", "commit": "f8af3f726e07f2e9d37672eaa9102581aefce149" },
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" }, "cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
"cmp-nvim-lua": { "branch": "main", "commit": "e3a22cb071eb9d6508a156306b102c45cd2d573d" }, "cmp-nvim-lua": { "branch": "main", "commit": "e3a22cb071eb9d6508a156306b102c45cd2d573d" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"codecompanion.nvim": { "branch": "main", "commit": "83f5c9c99d9c0687cc94197976d81ce619727986" }, "codecompanion.nvim": { "branch": "main", "commit": "680c445eb357c72129d175ea5d481aa9e92ae6a5" },
"conform.nvim": { "branch": "master", "commit": "086a40dc7ed8242c03be9f47fbcee68699cc2395" }, "conform.nvim": { "branch": "master", "commit": "086a40dc7ed8242c03be9f47fbcee68699cc2395" },
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" }, "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
"gitsigns.nvim": { "branch": "main", "commit": "0d797daee85366bc242580e352a4f62d67557b84" }, "gitsigns.nvim": { "branch": "main", "commit": "6d808f99bd63303646794406e270bd553ad7792e" },
"indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" }, "indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"mason.nvim": { "branch": "main", "commit": "b03fb0f20bc1d43daf558cda981a2be22e73ac42" }, "mason.nvim": { "branch": "main", "commit": "12ddd182d9efbdc848b540f16484a583d52da0fb" },
"menu": { "branch": "main", "commit": "7a0a4a2896b715c066cfbe320bdc048091874cc6" }, "menu": { "branch": "main", "commit": "7a0a4a2896b715c066cfbe320bdc048091874cc6" },
"minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" }, "minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" },
"nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" }, "nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" },
"nvim-cmp": { "branch": "main", "commit": "a1d504892f2bc56c2e79b65c6faded2fd21f3eca" }, "nvim-cmp": { "branch": "main", "commit": "a1d504892f2bc56c2e79b65c6faded2fd21f3eca" },
"nvim-lspconfig": { "branch": "master", "commit": "bedca8b426b2fee0ccac596d167d71bbe971253f" }, "nvim-lspconfig": { "branch": "master", "commit": "e146efacbafed3789ac568abcc5a981c5decaa58" },
"nvim-tree.lua": { "branch": "master", "commit": "509962f21ab7289d8dcd28568af539be39a8c01e" }, "nvim-tree.lua": { "branch": "master", "commit": "d277467fc0d1d0e2bca88165a1de6b526f9f6fe8" },
"nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" }, "nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" },
"nvim-web-devicons": { "branch": "master", "commit": "95b7a002d5dba1a42eb58f5fac5c565a485eefd0" }, "nvim-web-devicons": { "branch": "master", "commit": "c72328a5494b4502947a022fe69c0c47e53b6aa6" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
"render-markdown.nvim": { "branch": "main", "commit": "4ae2f2e8e8c66d070f33cfb57cb6f867e3baf5d9" }, "render-markdown.nvim": { "branch": "main", "commit": "d67113f11384c0dad96fced2f7b91f1fc811e97f" },
"telescope.nvim": { "branch": "master", "commit": "7ef4d6dccb78ee71e552bbd866176762ad328afa" }, "snacks.nvim": { "branch": "main", "commit": "ad9ede6a9cddf16cedbd31b8932d6dcdee9b716e" },
"telescope.nvim": { "branch": "master", "commit": "028d9a0695a0cc4cfa893889f8c408ed7ccc8adc" },
"ui": { "branch": "v3.0", "commit": "cb75908a86720172594b30de147272c1b3a7f452" }, "ui": { "branch": "v3.0", "commit": "cb75908a86720172594b30de147272c1b3a7f452" },
"volt": { "branch": "main", "commit": "620de1321f275ec9d80028c68d1b88b409c0c8b1" }, "volt": { "branch": "main", "commit": "620de1321f275ec9d80028c68d1b88b409c0c8b1" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" } "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
+15 -7
View File
@@ -1,15 +1,23 @@
local options = { local options = {
formatters_by_ft = { formatters_by_ft = {
lua = { "stylua" }, lua = { "stylua" },
-- css = { "prettier" }, javascript = { "prettier" },
-- html = { "prettier" }, javascriptreact = { "prettier" },
typescript = { "prettier" },
typescriptreact = { "prettier" },
json = { "prettier" },
html = { "prettier" },
yaml = { "prettier" },
markdown = { "prettier" },
css = { "prettier", "stylelint" },
scss = { "prettier", "stylelint" },
}, },
-- format_on_save = { format_on_save = {
-- -- These options will be passed to conform.format() -- These options will be passed to conform.format()
-- timeout_ms = 500, timeout_ms = 500,
-- lsp_fallback = true, lsp_format = "fallback",
-- }, },
} }
return options return options
+1 -1
View File
@@ -1,6 +1,6 @@
require("nvchad.configs.lspconfig").defaults() require("nvchad.configs.lspconfig").defaults()
local servers = { "html", "cssls", "ts_ls", "eslint" } local servers = { "html", "cssls", "ts_ls", "eslint", "yamlls" }
vim.lsp.enable(servers) vim.lsp.enable(servers)
-- local lspconfig = require "lspconfig" -- local lspconfig = require "lspconfig"
+24 -1
View File
@@ -1,7 +1,7 @@
return { return {
{ {
"stevearc/conform.nvim", "stevearc/conform.nvim",
-- event = 'BufWritePre', -- uncomment for format on save event = "BufWritePre",
opts = require "configs.conform", opts = require "configs.conform",
}, },
@@ -31,6 +31,29 @@ return {
return require "configs.render-markdown" return require "configs.render-markdown"
end, end,
}, },
{
"folke/snacks.nvim",
priority = 1000,
lazy = false,
---@type snacks.Config
opts = {
-- 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", -- "jacob411/Ollama-Copilot",
+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"
}
}
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
# PyRadio User Configuration File # PyRadio User Configuration File
# To get a full list of options execute: pyradio -pc # To get a full list of options execute: pyradio -pc
# or examine the file: /usr/lib/python3.12/site-packages/pyradio/config # or examine the file: /usr/lib/python3.13/site-packages/pyradio/config
# #
theme = blue-by-boxer theme = blue-by-boxer
use_transparency = True use_transparency = True
+54 -47
View File
@@ -1,61 +1,68 @@
psyradio * fm - chillout,http://streamer.psyradio.org:8020/;listen.mp3,, Ambient Psychill [1.FM],http://strm112.1.fm/ambientpsy_mobile_mp3,,
Caprice - Suomisaundi,http://79.120.77.11:8004/suomisaundi,, Goa Psychill [SomaFM],http://ice3.somafm.com/suburbsofgoa-128-mp3,,
Chillout (Groove Salad - SomaFM),http://somafm.com/startstream=groovesalad.pls,, Chilli Zet,https://ch.cdn.eurozet.pl/chi-net.mp3,,
Soma FM Space,http://ice.somafm.com/spacestation,, Chilltrax,http://server1.chilltrax.com:9000/,,
Soma FM Deep Space, http://ice.somafm.com/deepspaceone,, Chillout [psyradio*fm],http://streamer.psyradio.org:8020/;listen.mp3,,
SomaFM: Goa Psychill,http://ice3.somafm.com/suburbsofgoa-128-mp3,, Chillout [Psyndora],http://cast.magicstreams.gr:9125/stream,,
Caprice Liquid funk, http://79.111.119.111:9115/,, 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,, 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,, Liqui Radio,https://stream-162.zeno.fm/ug59eq099yzuv?zs=zaqVusVSQuWMN3O5gnh8xA,,
Boris Brejcha,https://live.radiospinner.com/brsbrjch-96,, Liquid DnB,http://95.47.244.172:8000/live,,
Acid Techno,https://radiorecord.hostingradio.ru/techno96.aacp,, Acid Techno,https://radiorecord.hostingradio.ru/techno96.aacp,,
ToXoRs minimalRADIO (320k),http://95.216.245.239:8000/stream/1/,, Dark Techno [Caprice],http://79.111.14.76:8000/darktechno,,
minimalradio.de,https://azurafallback.de:8010/320.mp3,, Deep Techno/House [1.FM],http://strm112.1.fm/deeptech_mobile_mp3,,
Technolovers - minimal,https://stream.technolovers.fm/minimal,, 90s90s Techno,http://streams.90s90s.de/techno/mp3-192/radiode/,,
Full-on psytrance,http://79.111.14.76:9019/,, 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,, Magnathospere Morning,https://listen7.myradio24.com/magnatos,,
PsyndoraTrance,http://cast.magicstreams.gr:9111/stream/,, Psytrance [Psyndora],https://cast.magicstreams.gr/sc/psyndora/stream,,
Hirschmilch Psytrance,https://hirschmilch.de:7001/psytrance.mp3,, 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,, Bluffphonica,http://bluffphonica.stream.laut.fm/bluffphonica?pl=m3u&amp;t302=2024-09-17_23-09-40&amp;uuid=ce6a1b0b-1654-4d08-afbc-31b028f8f23b,,
1.FM - BOM Psytrance Radio,http://strm112.1.fm/psytrance_mobile_mp3,, BOM Psytrance [1.FM],http://strm112.1.fm/psytrance_mobile_mp3,,
Vasilis Cfu psy trance,https://stream-40.zeno.fm/c2t7d9p6mf9uv?zs=_D-E0xBPQcGB_V9n7LLuqA,,
TL_Psytrance,https://stream.technolovers.fm/psytrance,, TL_Psytrance,https://stream.technolovers.fm/psytrance,,
Record Goa Psy,https://radiorecord.hostingradio.ru/goa96.aacp,, Record Goa Psy,https://radiorecord.hostingradio.ru/goa96.aacp,,
Anima Amoris [Goa Psy Trance],http://amoris.sknt.ru/goa.mp3,, Psytrance 24/7 [DMT FM],https://dc1.serverse.com/proxy/ywycfrxn/live,,
DMT FM Psytrance 24/7,https://dc1.serverse.com/proxy/ywycfrxn/live,, Trance [RadiOzora],http://trance.out.airtime.pro:8000/trance_a,,
radiOzora Trance,http://trance.out.airtime.pro:8000/trance_a,, Uplifting trance [Technolovers],https://0nlineradio.stream13.radiohost.de/technolovers-uplifting-trance,,
Psyndora Psytrance,http://cast.magicstreams.gr:9111/stream,, Uplift [RadioRecord],https://radiorecord.hostingradio.ru/uplift96.aacp,,
Alternative (BAGeL Radio),https://ais-sa3.cdnstream1.com/2606_128.aac,, Alternative [BAGeL],https://ais-sa3.cdnstream1.com/2606_128.aac,,
Celtic (ThistleRadio - SomaFM),http://somafm.com/thistle.pls,, Celtic (ThistleRadio) [SomaFM],http://somafm.com/thistle.pls,,
Groove Salad Classic (Early 2000s Ambient),https://somafm.com/gsclassic.pls,, Commodore 64 Remixes [Slay],http://www.slayradio.org/tune_in.php/128kbps/listen.m3u,,
n5MD Radio (Ambient and Experimental),https://somafm.com/n5md.pls,, Covers [SomaFM],http://somafm.com/covers.pls,,
Vaporwaves [SomaFM],https://somafm.com/vaporwaves.pls,, Indie Pop [SomaFM],http://somafm.com/indiepop130.pls,,
Commodore 64 Remixes (Slay Radio),http://www.slayradio.org/tune_in.php/128kbps/listen.m3u,, Jazz (Sonic Universe) [SomaFM],http://somafm.com/startstream=sonicuniverse.pls,,
Covers (SomaFM),http://somafm.com/covers.pls,, Pop (PopTron) [SomaFM],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,,
Pop/Rock/Urban (Frequence 3 - Paris),http://streams.frequence3.net/hd-mp3.m3u,, 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,, 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,, 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,, 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,, 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,, Main Mix [Paradise],http://stream.radioparadise.com/aac-128,,
Radio Paradise - Mellow Mix,http://stream.radioparadise.com/mellow-128,, Mellow Mix [Paradise] ,http://stream.radioparadise.com/mellow-128,,
Radio Paradise - Rock Mix,http://stream.radioparadise.com/rock-128,, Rock Mix [Paradise],http://stream.radioparadise.com/rock-128,,
Radio Paradise - Eclectic Mix,http://stream.radioparadise.com/eclectic-128,, Eclectic Mix [Paradise],http://stream.radioparadise.com/eclectic-128,,
Echoes of Bluemars,http://streams.echoesofbluemars.org:8000/bluemars.m3u,, Echoes of Bluemars,http://streams.echoesofbluemars.org:8000/bluemars.m3u,,
Echoes of Bluemars - Cryosleep,http://streams.echoesofbluemars.org:8000/cryosleep.m3u,, Cryosleep [Echoes of Bluemars] ,http://streams.echoesofbluemars.org:8000/cryosleep.m3u,,
Echoes of Bluemars - Voices from Within,http://streams.echoesofbluemars.org:8000/voicesfromwithin.m3u,, Voices from Within [Echoes of Bluemars],http://streams.echoesofbluemars.org:8000/voicesfromwithin.m3u,,
Synphaera Radio (Space Music),https://somafm.com/synphaera.pls,,
1 psyradio * fm - chillout Ambient Psychill [1.FM] http://streamer.psyradio.org:8020/;listen.mp3 http://strm112.1.fm/ambientpsy_mobile_mp3
2 Caprice - Suomisaundi Goa Psychill [SomaFM] http://79.120.77.11:8004/suomisaundi http://ice3.somafm.com/suburbsofgoa-128-mp3
3 Chillout (Groove Salad - SomaFM) Chilli Zet http://somafm.com/startstream=groovesalad.pls https://ch.cdn.eurozet.pl/chi-net.mp3
4 Soma FM Space Chilltrax http://ice.somafm.com/spacestation http://server1.chilltrax.com:9000/
5 Soma FM Deep Space Chillout [psyradio*fm] http://ice.somafm.com/deepspaceone http://streamer.psyradio.org:8020/;listen.mp3
6 SomaFM: Goa Psychill Chillout [Psyndora] http://ice3.somafm.com/suburbsofgoa-128-mp3 http://cast.magicstreams.gr:9125/stream
7 Caprice Liquid funk Chillout (Groove Salad) [SomaFM] http://79.111.119.111:9115/ 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 Dubplate.fm https://sc2.dubplate.fm/radio/8030/dnb/uhifi 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 Liqui Radio https://stream-162.zeno.fm/ug59eq099yzuv?zs=zaqVusVSQuWMN3O5gnh8xA https://stream-162.zeno.fm/ug59eq099yzuv?zs=zaqVusVSQuWMN3O5gnh8xA
25 Boris Brejcha Liquid DnB https://live.radiospinner.com/brsbrjch-96 http://95.47.244.172:8000/live
26 Acid Techno Acid Techno https://radiorecord.hostingradio.ru/techno96.aacp https://radiorecord.hostingradio.ru/techno96.aacp
27 ToXoRs minimalRADIO (320k) Dark Techno [Caprice] http://95.216.245.239:8000/stream/1/ http://79.111.14.76:8000/darktechno
28 minimalradio.de Deep Techno/House [1.FM] https://azurafallback.de:8010/320.mp3 http://strm112.1.fm/deeptech_mobile_mp3
29 Technolovers - minimal 90s90s Techno https://stream.technolovers.fm/minimal http://streams.90s90s.de/techno/mp3-192/radiode/
30 Full-on psytrance The Trip: [SomaFM] http://79.111.14.76:9019/ 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 Magnathospere Morning https://listen7.myradio24.com/magnatos https://listen7.myradio24.com/magnatos
38 PsyndoraTrance Psytrance [Psyndora] http://cast.magicstreams.gr:9111/stream/ 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 1.FM - BOM Psytrance Radio BOM Psytrance [1.FM] http://strm112.1.fm/psytrance_mobile_mp3 http://strm112.1.fm/psytrance_mobile_mp3
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 Anima Amoris [Goa Psy Trance] Psytrance 24/7 [DMT FM] http://amoris.sknt.ru/goa.mp3 https://dc1.serverse.com/proxy/ywycfrxn/live
45 DMT FM Psytrance 24/7 Trance [RadiOzora] https://dc1.serverse.com/proxy/ywycfrxn/live http://trance.out.airtime.pro:8000/trance_a
46 radiOzora Trance Uplifting trance [Technolovers] http://trance.out.airtime.pro:8000/trance_a https://0nlineradio.stream13.radiohost.de/technolovers-uplifting-trance
47 Psyndora Psytrance Uplift [RadioRecord] http://cast.magicstreams.gr:9111/stream https://radiorecord.hostingradio.ru/uplift96.aacp
48 Alternative (BAGeL Radio) Alternative [BAGeL] https://ais-sa3.cdnstream1.com/2606_128.aac 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
-37
View File
@@ -1,37 +0,0 @@
daemonize
show-failed-attempts
clock
effect-blur=10x10
effect-vignette=1:1
color=6c2430
font="Inter"
indicator
indicator-radius=200
indicator-thickness=20
line-color=1f1d2e
ring-color=191724
inside-color=1f1d2e
key-hl-color=eb6f92
separator-color=00000000
text-color=e0def4
text-caps-lock-color=""
line-ver-color=eb6f92
ring-ver-color=eb6f92
inside-ver-color=1f1d2e
text-ver-color=e0def4
ring-wrong-color=31748f
text-wrong-color=31748f
inside-wrong-color=1f1d2e
inside-clear-color=1f1d2e
text-clear-color=e0def4
ring-clear-color=9ccfd8
line-clear-color=1f1d2e
line-wrong-color=1f1d2e
bs-hl-color=31748f
grace=2
grace-no-mouse
grace-no-touch
datestr=%a, %B %e
timestr=%H:%M
fade-in=0.5
ignore-empty-password
-231
View File
@@ -1,231 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="1920"
height="1080"
viewBox="0 0 1920 1080"
version="1.1"
id="svg1"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
sodipodi:docname="wall.svg"
inkscape:export-filename="../png/blob.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview1"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="px"
inkscape:zoom="0.72158227"
inkscape:cx="960.38946"
inkscape:cy="540.47891"
inkscape:window-width="1920"
inkscape:window-height="1050"
inkscape:window-x="0"
inkscape:window-y="30"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" /><defs
id="defs1" /><g
inkscape:label="base"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"><path
id="rect1"
style="fill:#223333;fill-opacity:1;stroke:none;stroke-width:0.132296;stroke-dasharray:none;stroke-opacity:1"
inkscape:label="bg"
sodipodi:type="inkscape:offset"
inkscape:radius="0"
inkscape:original="M -1919.9473 0 L -1919.9473 1080 L 0.052734375 1080 L 0.052734375 0 L -1919.9473 0 z "
d="M -1919.9473,0 V 1080 H 0.05273437 V 0 Z"
transform="matrix(-1,0,0,1,0.05273437,0)" /></g><g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="grid"
style="display:inline;fill:#B5D900;fill-opacity:1"><path
style="fill:#B5D900;fill-opacity:1;stroke:none;stroke-width:0.132283;stroke-dasharray:none"
d="m 1902.9475,47 v 29 h -3 V 50 h -26 v -3"
id="path6"
sodipodi:nodetypes="cccccc"
inkscape:label="tl" /><path
style="fill:#B5D900;fill-opacity:1;stroke:none;stroke-width:0.132283;stroke-dasharray:none"
d="m 1902.9475,1063 v -29 h -3 v 26 h -26 v 3"
id="path6-6"
sodipodi:nodetypes="cccccc"
inkscape:label="bl" /><path
style="fill:#B5D900;fill-opacity:1;stroke:none;stroke-width:0.132283;stroke-dasharray:none"
d="m 961.9475,47 v 29.000001 h 3 V 50 h 26 v -3"
id="path6-6-2"
sodipodi:nodetypes="cccccc"
inkscape:label="tml" /><path
style="fill:#B5D900;fill-opacity:1;stroke:none;stroke-width:0.132283;stroke-dasharray:none"
d="m 957.9475,47 v 29 h -3 V 50 h -26 v -3"
id="path6-6-2-3"
sodipodi:nodetypes="cccccc"
inkscape:label="tmr" /><path
style="fill:#B5D900;fill-opacity:1;stroke:none;stroke-width:0.132283;stroke-dasharray:none"
d="m 16.94749,47 v 29 h 3 V 50 h 26 v -3"
id="path6-6-2-3-2"
sodipodi:nodetypes="cccccc"
inkscape:label="tr" /><path
style="fill:#B5D900;fill-opacity:1;stroke:none;stroke-width:0.132283;stroke-dasharray:none"
d="m 961.9475,1063 v -29 h 3 v 26 h 26 v 3"
id="path6-6-2-9"
sodipodi:nodetypes="cccccc"
inkscape:label="bml" /><path
style="fill:#B5D900;fill-opacity:1;stroke:none;stroke-width:0.132283;stroke-dasharray:none"
d="m 957.9475,557 v 29 h -3 v -26 h -26 v -3"
id="path6-6-2-3-7"
sodipodi:nodetypes="cccccc"
inkscape:label="mbr" /><path
style="fill:#B5D900;fill-opacity:1;stroke:none;stroke-width:0.132283;stroke-dasharray:none"
d="m 957.9475,553 v -29 h -3 v 26 h -26 v 3"
id="path6-6-2-3-7-2"
sodipodi:nodetypes="cccccc"
inkscape:label="mtr" /></g><g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="stripes"
style="display:inline"><rect
style="display:inline;fill:none;fill-opacity:1;stroke:#B5D900;stroke-width:1.99433;stroke-dasharray:none;stroke-opacity:1"
id="rect10-0-9"
width="10"
height="50"
x="-64.862267"
y="244.1246"
transform="scale(-1,1)"
inkscape:label="bottom" /><rect
style="display:inline;fill:none;fill-opacity:1;stroke:#B5D900;stroke-width:1.99433;stroke-dasharray:none;stroke-opacity:1"
id="rect10-0"
width="10"
height="50"
x="-64.950287"
y="165.06091"
transform="scale(-1,1)"
inkscape:label="middle" /><rect
style="fill:none;fill-opacity:1;stroke:#B5D900;stroke-width:1.99433;stroke-dasharray:none;stroke-opacity:1"
id="rect10"
width="10"
height="50"
x="-64.774261"
y="85.997215"
transform="scale(-1,1)"
inkscape:label="top" /></g><g
id="g141"
inkscape:label="barcode"
transform="matrix(-0.31914079,0,0,0.31914079,2692.5631,33.471493)"
style="fill:#B5D900;fill-opacity:1"><path
id="path92"
d="m 4960.1305,2682.9599 h 14.5254 v 51.44 h -14.5254 v -51.44"
style="fill:#B5D900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133333" /><path
id="path93"
d="m 4908.9439,2682.9599 h 38.736 v 51.44 h -38.736 v -51.44"
style="fill:#B5D900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133333" /><path
id="path94"
d="m 4284.3372,2682.9599 h 14.5254 v 51.44 h -14.5254 v -51.44"
style="fill:#B5D900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133333" /><path
id="path95"
d="m 4233.1506,2682.9599 h 38.736 v 51.44 h -38.736 v -51.44"
style="fill:#B5D900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133333" /><path
id="path96"
d="m 4098.9599,2682.9599 h 60.8707 v 51.44 h -60.8707 v -51.44"
style="fill:#B5D900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133333" /><path
id="path97"
d="m 4034.6319,2682.9599 h 40.1187 v 51.44 h -40.1187 v -51.44"
style="fill:#B5D900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133333" /><path
id="path98"
d="m 4573.2386,2682.9599 h 38.7346 v 51.44 h -38.7346 v -51.44"
style="fill:#B5D900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133333" /><path
id="path99"
d="m 4446.6559,2682.9599 h 78.624 v 51.44 h -78.624 v -51.44"
style="fill:#B5D900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133333" /><path
id="path100"
d="m 4739.1319,2682.9599 h 3.804 v 51.44 h -3.804 v -51.44"
style="fill:#B5D900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133333" /><path
id="path101"
d="m 4557.2132,2682.9599 h 3.8054 v 51.44 h -3.8054 v -51.44"
style="fill:#B5D900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133333" /><path
id="path102"
d="m 4537.4999,2682.9599 h 7.4933 v 51.44 h -7.4933 v -51.44"
style="fill:#B5D900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133333" /><path
id="path103"
d="m 4720.1092,2682.9599 h 10.0307 v 51.44 h -10.0307 v -51.44"
style="fill:#B5D900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133333" /><path
id="path104"
d="m 4685.5239,2682.9599 h 20.06 v 51.44 h -20.06 v -51.44"
style="fill:#B5D900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133333" /><path
id="path105"
d="m 4404.3466,2682.9599 h 3.8053 v 51.44 h -3.8053 v -51.44"
style="fill:#B5D900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133333" /><path
id="path106"
d="m 4385.3252,2682.9599 h 10.0294 v 51.44 h -10.0294 v -51.44"
style="fill:#B5D900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133333" /><path
id="path107"
d="m 4350.7399,2682.9599 h 20.06 v 51.44 h -20.06 v -51.44"
style="fill:#B5D900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133333" /><path
id="path108"
d="m 4774.7545,2682.9599 h 102.372 v 51.44 h -102.372 v -51.44"
style="fill:#B5D900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133333" /></g><g
inkscape:groupmode="layer"
id="layer6"
inkscape:label="blob"
transform="matrix(0.92789232,0,0,0.92789232,-25.44431,97.68614)"><g
id="g7"
transform="matrix(-1.4724076,0,0,1.4724076,2705.8149,-90.935334)"
inkscape:label="blobShadow"
style="fill:#22AA22;fill-opacity:1;stroke:none"><path
id="path7-3"
style="fill:#22AA22;fill-opacity:1;stroke:none;stroke-width:3"
d="m 1319.875,319.66769 -40.2566,40.25649 v 359.38173 l 240.0757,-239.34377 h 434.5261 V 359.92429 H 1480 l -40,-40.2566 z"
inkscape:label="topBlob"
sodipodi:nodetypes="ccccccccc" /><path
style="fill:#22AA22;fill-opacity:1;stroke:none;stroke-width:3;stroke-dasharray:none;stroke-opacity:1"
d="m 1171.2916,872.28098 360.1135,-360.11356 h 434.0393 v 360.11356 z"
id="path7"
sodipodi:nodetypes="ccccc"
inkscape:label="bottomBlob" /></g><g
id="g7-0"
transform="matrix(-1.4724076,0,0,1.4724076,2737.1245,-174.94402)"
inkscape:label="blobBody"><path
id="path7-3-7"
style="fill:none;fill-opacity:0.2;stroke:#B5D900;stroke-width:2.19581;stroke-dasharray:none"
d="m 1319.875,319.66769 -40.2566,40.25649 v 359.38173 l 240.0757,-239.34377 h 434.5261 V 359.92429 H 1480 l -40,-40.2566 z"
inkscape:label="topBlob"
sodipodi:nodetypes="ccccccccc" /><path
style="fill:none;fill-opacity:1;stroke:#B5D900;stroke-width:2.19581;stroke-dasharray:none;stroke-opacity:1"
d="m 1171.2916,872.28098 360.1135,-360.11356 h 434.0393 v 360.11356 z"
id="path7-8"
sodipodi:nodetypes="ccccc"
inkscape:label="bottomBlob" /></g></g><g
inkscape:groupmode="layer"
id="layer8"
inkscape:label="line"
transform="translate(-242)"><path
style="fill:none;fill-opacity:1;stroke:#B5D900;stroke-width:3;stroke-dasharray:none;stroke-opacity:1"
d="m 1731.8957,1163.8483 v -157.4509 l -70.4868,-70.48678 H 1198.8475 L 1008.058,745.46435"
id="path9"
sodipodi:nodetypes="ccccc" /><path
style="fill:none;fill-opacity:1;stroke:#B5D900;stroke-width:3;stroke-dasharray:none;stroke-opacity:1"
d="M 690.27389,427.56586 590.07549,327.36749 V -51.651298"
id="path10"
sodipodi:nodetypes="ccc" /></g><g
id="g1"
inkscape:label="logo"
transform="translate(38,12)"><path
id="path2"
style="fill:#22AA22;fill-opacity:1;stroke:none;stroke-width:3.15901;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 1470.6146,183.27896 a 52.662275,52.821568 0 0 0 -52.6606,52.82014 52.662275,52.821568 0 0 0 52.6606,52.82298 52.662275,52.821568 0 0 0 28.6606,-8.59257 l 138.1852,137.97117 a 52.662275,52.821568 0 0 0 -7.2878,19.56819 h -107.6914 a 52.662275,52.821568 0 0 0 -51.8666,-44.07853 52.662275,52.821568 0 0 0 -51.2819,44.07853 h -107.1976 a 52.662275,52.821568 0 0 0 -51.8667,-44.07853 52.662275,52.821568 0 0 0 -52.6609,52.82325 52.662275,52.821568 0 0 0 52.6609,52.81986 52.662275,52.821568 0 0 0 51.2578,-43.92047 H 1419.36 a 52.662275,52.821568 0 0 0 39.5456,42.06034 l -0.1396,108.4457 a 52.662275,52.821568 0 0 0 -40.8215,50.94169 52.662275,52.821568 0 0 0 52.6607,52.82014 52.662275,52.821568 0 0 0 52.6637,-52.82014 52.662275,52.821568 0 0 0 -10.9635,-32.17284 l 136.9763,-136.658 a 52.662275,52.821568 0 0 0 32.1666,11.30358 52.662275,52.821568 0 0 0 52.6612,-52.81986 52.662275,52.821568 0 0 0 -52.6612,-52.82325 52.662275,52.821568 0 0 0 -32.2303,11.36754 L 1512.2166,268.37849 a 52.662275,52.821568 0 0 0 11.0516,-32.27939 52.662275,52.821568 0 0 0 -52.6639,-52.82014 z m 51.2575,272.23402 H 1630.2 a 52.662275,52.821568 0 0 0 7.3001,19.48927 l -138.1154,137.79793 a 52.662275,52.821568 0 0 0 -23.0154,-8.33421 l 0.1395,-105.96541 a 52.662275,52.821568 0 0 0 45.3768,-42.98758 z"
inkscape:label="logo-shadow" /><path
id="path2-2"
style="fill:none;fill-opacity:1;stroke:#B5D900;stroke-width:3.15901;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 1488.6708,160.72107 a 52.662275,52.821568 0 0 0 -52.6606,52.82014 52.662275,52.821568 0 0 0 52.6606,52.82298 52.662275,52.821568 0 0 0 28.6606,-8.59257 l 138.1852,137.97118 a 52.662275,52.821568 0 0 0 -7.2878,19.56818 h -107.6914 a 52.662275,52.821568 0 0 0 -51.8666,-44.07853 52.662275,52.821568 0 0 0 -51.282,44.07853 h -107.1975 a 52.662275,52.821568 0 0 0 -51.8666,-44.07853 52.662275,52.821568 0 0 0 -52.661,52.82325 52.662275,52.821568 0 0 0 52.661,52.81986 52.662275,52.821568 0 0 0 51.2577,-43.92047 h 107.8338 a 52.662275,52.821568 0 0 0 39.5456,42.06034 l -0.1396,108.4457 a 52.662275,52.821568 0 0 0 -40.8215,50.94169 52.662275,52.821568 0 0 0 52.6606,52.82014 52.662275,52.821568 0 0 0 52.6638,-52.82014 52.662275,52.821568 0 0 0 -10.9635,-32.17285 l 136.9763,-136.65799 a 52.662275,52.821568 0 0 0 32.1666,11.30358 52.662275,52.821568 0 0 0 52.6611,-52.81986 52.662275,52.821568 0 0 0 -52.6611,-52.82325 52.662275,52.821568 0 0 0 -32.2304,11.36754 L 1530.2727,245.8206 a 52.662275,52.821568 0 0 0 11.0517,-32.27939 52.662275,52.821568 0 0 0 -52.6639,-52.82014 z m 51.2575,272.23402 h 108.3279 a 52.662275,52.821568 0 0 0 7.3001,19.48928 l -138.1154,137.79792 a 52.662275,52.821568 0 0 0 -23.0154,-8.33421 l 0.1394,-105.9654 a 52.662275,52.821568 0 0 0 45.3768,-42.98759 z"
inkscape:label="logo" /></g></svg>

Before

Width:  |  Height:  |  Size: 13 KiB

+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 = ''
+2 -2
View File
@@ -8,6 +8,6 @@
"format-disconnected": "󰖪 ", "format-disconnected": "󰖪 ",
"tooltip-format-disconnected": "Disconnected", "tooltip-format-disconnected": "Disconnected",
"format-alt": "<span foreground='#99ffdd'> {bandwidthDownBytes}</span> <span foreground='#ffcc66'> {bandwidthUpBytes}</span>", "format-alt": "<span foreground='#99ffdd'> {bandwidthDownBytes}</span> <span foreground='#ffcc66'> {bandwidthUpBytes}</span>",
"interval": 2, "interval": 2
}, }
+36 -27
View File
@@ -1,5 +1,5 @@
// //
// THIS FILE WAS AUTOGENERATED BY ZELLIJ, THE PREVIOUS FILE AT THIS LOCATION WAS COPIED TO: /home/anon/.config/zellij/config.kdl.bak // 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 { keybinds clear-defaults=true {
@@ -7,10 +7,10 @@ keybinds clear-defaults=true {
bind "Alt g" { SwitchToMode "normal"; } bind "Alt g" { SwitchToMode "normal"; }
} }
pane { pane {
bind "left" { MoveFocus "left"; } bind "h" "left" { MoveFocus "left"; }
bind "down" { MoveFocus "down"; } bind "j" "down" { MoveFocus "down"; }
bind "up" { MoveFocus "up"; } bind "k" "up" { MoveFocus "up"; }
bind "right" { MoveFocus "right"; } bind "j" "right" { MoveFocus "right"; }
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; } bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
bind "d" { NewPane "down"; SwitchToMode "normal"; } bind "d" { NewPane "down"; SwitchToMode "normal"; }
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; } bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
@@ -28,10 +28,10 @@ keybinds clear-defaults=true {
bind "z" { TogglePaneFrames; SwitchToMode "normal"; } bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
} }
tab { tab {
bind "left" { GoToPreviousTab; } bind "h" "left" { GoToPreviousTab; }
bind "down" { GoToNextTab; } bind "j" "down" { GoToNextTab; }
bind "up" { GoToPreviousTab; } bind "k" "up" { GoToPreviousTab; }
bind "right" { GoToNextTab; } bind "j" "right" { GoToNextTab; }
bind "1" { GoToTab 1; SwitchToMode "normal"; } bind "1" { GoToTab 1; SwitchToMode "normal"; }
bind "2" { GoToTab 2; SwitchToMode "normal"; } bind "2" { GoToTab 2; SwitchToMode "normal"; }
bind "3" { GoToTab 3; SwitchToMode "normal"; } bind "3" { GoToTab 3; SwitchToMode "normal"; }
@@ -56,10 +56,10 @@ keybinds clear-defaults=true {
bind "tab" { ToggleTab; } bind "tab" { ToggleTab; }
} }
resize { resize {
bind "left" { Resize "Increase left"; } bind "h" "left" { Resize "Increase left"; }
bind "down" { Resize "Increase down"; } bind "j" "down" { Resize "Increase down"; }
bind "up" { Resize "Increase up"; } bind "k" "up" { Resize "Increase up"; }
bind "right" { Resize "Increase right"; } bind "j" "right" { Resize "Increase right"; }
bind "+" { Resize "Increase"; } bind "+" { Resize "Increase"; }
bind "-" { Resize "Decrease"; } bind "-" { Resize "Decrease"; }
bind "=" { Resize "Increase"; } bind "=" { Resize "Increase"; }
@@ -74,10 +74,10 @@ keybinds clear-defaults=true {
bind "Alt n" { SwitchToMode "normal"; } bind "Alt n" { SwitchToMode "normal"; }
} }
move { move {
bind "left" { MovePane "left"; } bind "h" "left" { MovePane "left"; }
bind "down" { MovePane "down"; } bind "j" "down" { MovePane "down"; }
bind "up" { MovePane "up"; } bind "k" "up" { MovePane "up"; }
bind "right" { MovePane "right"; } bind "j" "right" { MovePane "right"; }
bind "h" { MovePane "left"; } bind "h" { MovePane "left"; }
bind "Alt h" { SwitchToMode "normal"; } bind "Alt h" { SwitchToMode "normal"; }
bind "j" { MovePane "down"; } bind "j" { MovePane "down"; }
@@ -88,7 +88,14 @@ keybinds clear-defaults=true {
bind "tab" { MovePane; } bind "tab" { MovePane; }
} }
scroll { 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 "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 "s" { SwitchToMode "entersearch"; SearchInput 0; }
bind "Alt s" { SwitchToMode "normal"; } bind "Alt s" { SwitchToMode "normal"; }
} }
@@ -176,10 +183,6 @@ keybinds clear-defaults=true {
bind "Alt n" { SwitchToMode "resize"; } bind "Alt n" { SwitchToMode "resize"; }
} }
shared_except "normal" "locked" { shared_except "normal" "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 "Increase"; }
bind "Alt -" { Resize "Decrease"; } bind "Alt -" { Resize "Decrease"; }
bind "Alt =" { Resize "Increase"; } bind "Alt =" { Resize "Increase"; }
@@ -187,9 +190,6 @@ keybinds clear-defaults=true {
bind "Alt ]" { NextSwapLayout; } bind "Alt ]" { NextSwapLayout; }
bind "Alt f" { ToggleFloatingPanes; } bind "Alt f" { ToggleFloatingPanes; }
bind "Alt i" { MoveTab "left"; } bind "Alt i" { MoveTab "left"; }
bind "Alt j" { MoveFocus "down"; }
bind "Alt k" { MoveFocus "up"; }
bind "Alt l" { MoveFocusOrTab "right"; }
} }
shared_except "normal" "locked" "entersearch" { shared_except "normal" "locked" "entersearch" {
bind "enter" { SwitchToMode "normal"; } bind "enter" { SwitchToMode "normal"; }
@@ -197,6 +197,15 @@ keybinds clear-defaults=true {
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" { shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
bind "esc" { SwitchToMode "normal"; } 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" { shared_among "pane" "tmux" {
bind "x" { CloseFocus; SwitchToMode "normal"; } bind "x" { CloseFocus; SwitchToMode "normal"; }
} }
@@ -304,13 +313,13 @@ load_plugins {
// Choose the theme that is specified in the themes section. // Choose the theme that is specified in the themes section.
// Default: default // Default: default
//
theme "one-half-dark" // theme "dracula"
// Choose the base input mode of zellij. // Choose the base input mode of zellij.
// Default: normal // Default: normal
// //
// default_mode "locked" default_mode "normal"
// Choose the path to the default shell that zellij will use for opening new panes // Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL // Default: $SHELL
+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"
}
}