Compare commits

..

51 Commits

Author SHA1 Message Date
Henrik Bakken 5c052509c4 yazi fix config 2026-05-29 11:26:21 +02:00
Henrik Bakken 03a9ca5060 vesktop->discord, heif image support 2026-05-27 09:50:29 +02:00
Henrik Bakken 9f17fbcb37 btop update 2026-05-23 00:34:36 +02:00
Henrik Bakken c42475c571 nvim better completeopt 2026-05-23 00:33:52 +02:00
Henrik Bakken 0d1702456e nvim stop ftplugin hijacking omnifunc 2026-05-09 02:01:23 +02:00
Henrik Bakken 2914b79ded nvim ty disable autoimports 2026-05-09 02:01:18 +02:00
Henrik Bakken 1c8d5284ca nvim lspconfig 2026-05-09 02:01:18 +02:00
Henrik Bakken 640379c105 sway+tmux added bash emergency brakes 2026-05-06 13:43:03 +02:00
Henrik Bakken 379ae0f786 qutebrowser gemini tips
- finn.no maps showing (webgl)
- altinn login
- avoid dangerous lowercase normal-mode mapping
2026-04-26 21:03:31 +02:00
Henrik Bakken fe08de4f9a nvim-lint simplified, no timeout 2026-04-26 00:49:39 +02:00
Henrik Bakken 2d0f0470a0 nvim which-key fix and enable TreeWalker in python 2026-04-26 00:49:10 +02:00
Henrik Bakken 99ab844325 nvim remove bugged guicursor setting 2026-04-25 21:25:12 +02:00
Henrik Bakken 927f556aef nvim + tmux tweaks 2026-04-18 02:52:32 +02:00
Henrik Bakken f0e19a1f71 nvim + tmux tweaks 2026-04-18 01:53:01 +02:00
Henrik Bakken 608d9b8cf7 Merge remote-tracking branch 'hjarl/main' 2026-04-09 19:33:32 +02:00
Henrik Bakken adbe1641ec nvim tweaks 2026-04-09 19:31:03 +02:00
Henrik Bakken 0509989016 remove edge 2026-03-31 12:18:44 +02:00
Henrik Bakken 49dae6be39 misc edits: foot, nvim, sway, qute 2026-03-30 16:04:15 +02:00
Henrik Bakken 4c362b4a71 newsboat -> eilmeldung 2026-03-25 15:34:39 +01:00
Henrik Bakken 0a1940c966 nvim bugfixes 2026-03-22 23:35:37 +01:00
Henrik Bakken ddd7cb9fc4 nvim treesitter fix 2026-03-22 23:30:55 +01:00
Henrik Bakken 749c89da0c nvim mini.bracketed 2026-03-20 01:09:49 +01:00
Henrik Bakken 1466a808c9 nvim sensible notification history view 2026-03-20 01:09:29 +01:00
Henrik Bakken a9f9a69887 nvim bugfix coloring bigfiles 2026-03-20 01:09:20 +01:00
Henrik Bakken bd2c3c5303 nvim with neoscroll+smear 2026-03-20 01:09:04 +01:00
Henrik Bakken 98d8281d28 foot fix deprecation 2026-03-19 23:58:45 +01:00
Henrik Bakken 49e474caeb nvim treewalker (OMG!) 2026-03-19 23:57:59 +01:00
Henrik Bakken 04e1114959 nvim tweaks (gemini) 2026-03-19 23:53:37 +01:00
Henrik Bakken 45e614e0c8 nvim tweaks 2026-03-19 22:50:20 +01:00
Henrik Bakken c9d9c39900 vim.o -> vim.opt 2026-03-19 22:49:48 +01:00
Henrik Bakken 180e3e18e1 sway thunderbird floating window fix attempt 2026-03-11 10:25:27 +01:00
Henrik Bakken 63f288c103 nvim tweaks (gemini) 2026-03-11 02:33:17 +01:00
Henrik Bakken 2d1994a042 zsh bugfix catai 2026-03-11 02:22:11 +01:00
Henrik Bakken b04ac36fb8 removed helix themes 2026-03-11 00:54:13 +01:00
Henrik Bakken 5310712394 codex tips 2026-03-10 22:01:15 +01:00
Henrik Bakken e2e5716f80 zshrc added catai 2026-03-10 00:23:48 +01:00
Henrik Bakken fdfefd1d16 nvim better gitsign hunks 2026-03-07 23:08:11 +01:00
Henrik Bakken c08828490c atuin use absolute time 2026-03-07 23:07:52 +01:00
Henrik Bakken f9545c9a5d nvim snacks.picker git_grep ignorecase 2026-03-04 01:10:22 +01:00
Henrik Bakken ed1b0297db nvim undo-tree -> atone 2026-03-04 01:10:12 +01:00
Henrik Bakken ed551d49ab sway rebind menu key 2026-02-21 15:04:28 +01:00
Henrik Bakken 775b156dba endos.py bugfix: make parent dirs 2026-02-21 14:57:31 +01:00
Henrik Bakken ee1344aca6 swayidle don't reduce brightness 2026-02-21 14:47:33 +01:00
Henrik Bakken 93d36adea8 nvim better repeat-goto-next 2026-02-21 00:15:46 +01:00
Henrik Bakken c8e3d09a09 atuin preview multi-line commands 2026-02-21 00:15:21 +01:00
Henrik Bakken f2494ee53e sore thumb relief: dual alt keyboard 2026-02-21 00:13:04 +01:00
Henrik Bakken 8fb6d19af1 btop+tmux 2026-01-27 10:24:53 +01:00
Henrik Bakken 27776b26cd xournalpp config 2026-01-23 13:46:46 +01:00
Henrik Bakken 69fbd7cd0e tweaks 2025-12-04 20:57:42 +01:00
Henrik Bakken be85a81057 added virtwin 2025-12-01 11:22:46 +01:00
Henrik Bakken 54feaab93c qutebrowser+mimeapps 2025-11-29 21:02:34 +01:00
26 changed files with 985 additions and 1837 deletions
+4 -1
View File
@@ -126,7 +126,7 @@ history_filter = [
## Configure the maximum height of the preview to show. ## Configure the maximum height of the preview to show.
## Useful when you have long scripts in your history that you want to distinguish ## Useful when you have long scripts in your history that you want to distinguish
## by more than the first few lines. ## by more than the first few lines.
# max_preview_height = 4 max_preview_height = 20
## Configure whether or not to show the help row, which includes the current Atuin ## Configure whether or not to show the help row, which includes the current Atuin
## version (and whether an update is available), a keymap hint, and the total ## version (and whether an update is available), a keymap hint, and the total
@@ -279,3 +279,6 @@ records = true
## The "workspace" mode is skipped when not in a workspace or workspaces = false. ## The "workspace" mode is skipped when not in a workspace or workspaces = false.
## Default filter mode can be overridden with the filter_mode setting. ## Default filter mode can be overridden with the filter_mode setting.
# filters = [ "global", "host", "session", "workspace", "directory" ] # filters = [ "global", "host", "session", "workspace", "directory" ]
[ui]
columns = ["datetime", "duration", "host", "command"]
+79 -50
View File
@@ -1,18 +1,23 @@
#? Config file for btop v. 1.4.5 #? 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"
color_theme = "Default" color_theme = "Default"
#* If the theme set background should be shown, set to False if you want terminal background transparency. #* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = True theme_background = true
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. #* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = True truecolor = true
#* Set to true to force tty mode regardless if a real tty has been detected or not. #* Set to true to force tty mode regardless if a real tty has been detected or not.
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. #* 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.
@@ -22,10 +27,16 @@ presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:defaul
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. #* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. #* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = False vim_keys = false
#* 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
#* Use terminal synchronized output sequences to reduce flickering on supported terminals.
terminal_sync = true
#* Default symbols to use for graph creation, "braille", "block" or "tty". #* Default symbols to use for graph creation, "braille", "block" or "tty".
#* "braille" offers the highest resolution but might not be included in all fonts. #* "braille" offers the highest resolution but might not be included in all fonts.
@@ -50,47 +61,53 @@ graph_symbol_net = "default"
graph_symbol_proc = "default" graph_symbol_proc = "default"
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace. #* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
shown_boxes = "cpu mem net proc gpu0" shown_boxes = "gpu0 cpu mem net proc"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. #* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
update_ms = 2000 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 lazy" proc_sorting = "memory"
#* Reverse sorting order, True or False. #* Reverse sorting order, True or False.
proc_reversed = False proc_reversed = false
#* Show processes as a tree. #* Show processes as a tree.
proc_tree = False proc_tree = false
#* Use the cpu graph colors in the process list. #* Use the cpu graph colors in the process list.
proc_colors = True proc_colors = true
#* Use a darkening gradient in the process list. #* Use a darkening gradient in the process list.
proc_gradient = True proc_gradient = true
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power. #* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
proc_per_core = False proc_per_core = false
#* Show process memory as bytes instead of percent. #* Show process memory as bytes instead of percent.
proc_mem_bytes = True proc_mem_bytes = true
#* Show cpu graph for each process. #* Show cpu graph for each process.
proc_cpu_graphs = True proc_cpu_graphs = true
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) #* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
proc_info_smaps = False proc_info_smaps = false
#* Show proc box on left side of screen instead of right. #* Show proc box on left side of screen instead of right.
proc_left = False 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
#* Should cpu and memory usage display be preserved for dead processes when paused.
keep_dead_proc_usage = false
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. #* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu. #* Select from a list of detected attributes from the options menu.
@@ -104,28 +121,28 @@ cpu_graph_lower = "Auto"
show_gpu_info = "Auto" show_gpu_info = "Auto"
#* Toggles if the lower CPU graph should be inverted. #* Toggles if the lower CPU graph should be inverted.
cpu_invert_lower = True cpu_invert_lower = true
#* Set to True to completely disable the lower CPU graph. #* Set to True to completely disable the lower CPU graph.
cpu_single_graph = False cpu_single_graph = false
#* Show cpu box at bottom of screen instead of top. #* Show cpu box at bottom of screen instead of top.
cpu_bottom = False cpu_bottom = false
#* Shows the system uptime in the CPU box. #* Shows the system uptime in the CPU box.
show_uptime = True show_uptime = true
#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo. #* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo.
show_cpu_watts = True show_cpu_watts = true
#* Show cpu temperature. #* Show cpu temperature.
check_temp = True check_temp = true
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. #* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
cpu_sensor = "Auto" cpu_sensor = "Auto"
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found. #* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
show_coretemp = True show_coretemp = true
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. #* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. #* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
@@ -137,17 +154,20 @@ cpu_core_map = ""
temp_scale = "celsius" temp_scale = "celsius"
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. #* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
base_10_sizes = False base_10_sizes = false
#* Show CPU frequency. #* Show CPU frequency.
show_cpu_freq = True show_cpu_freq = true
#* How to calculate CPU frequency, available values: "first", "range", "lowest", "highest" and "average".
freq_mode = "first"
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable. #* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime #* Special formatting: /host = hostname | /user = username | /uptime = system uptime
clock_format = "%X" clock_format = "%X"
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. #* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
background_update = True background_update = true
#* Custom cpu model name, empty string to disable. #* Custom cpu model name, empty string to disable.
custom_cpu_name = "" custom_cpu_name = ""
@@ -157,58 +177,61 @@ custom_cpu_name = ""
disks_filter = "" disks_filter = ""
#* Show graphs instead of meters for memory values. #* Show graphs instead of meters for memory values.
mem_graphs = True mem_graphs = true
#* Show mem box below net box instead of above. #* Show mem box below net box instead of above.
mem_below_net = False mem_below_net = false
#* Count ZFS ARC in cached and available memory. #* Count ZFS ARC in cached and available memory.
zfs_arc_cached = True zfs_arc_cached = true
#* If swap memory should be shown in memory box. #* If swap memory should be shown in memory box.
show_swap = True show_swap = true
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. #* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
swap_disk = True swap_disk = true
#* If mem box should be split to also show disks info. #* If mem box should be split to also show disks info.
show_disks = False show_disks = false
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. #* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = True only_physical = true
#* Read disks list from /etc/fstab. This also disables only_physical. #* Read disks list from /etc/fstab. This also disables only_physical.
use_fstab = True use_fstab = true
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) #* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
zfs_hide_datasets = False zfs_hide_datasets = false
#* Set to true to show available disk space for privileged users. #* Set to true to show available disk space for privileged users.
disk_free_priv = False disk_free_priv = false
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. #* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
show_io_stat = True show_io_stat = true
#* Toggles io mode for disks, showing big graphs for disk read/write speeds. #* Toggles io mode for disks, showing big graphs for disk read/write speeds.
io_mode = False io_mode = false
#* Set to True to show combined read/write io graphs in io mode. #* Set to True to show combined read/write io graphs in io mode.
io_graph_combined = False io_graph_combined = false
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". #* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
#* Example: "/mnt/media:100 /:20 /boot:1". #* 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
net_upload = 100 net_upload = 100
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. #* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
net_auto = True net_auto = true
#* Sync the auto scaling for download and upload to whichever currently has the highest scale. #* Sync the auto scaling for download and upload to whichever currently has the highest scale.
net_sync = True net_sync = true
#* Starts with the Network Interface specified here. #* Starts with the Network Interface specified here.
net_iface = "" net_iface = ""
@@ -217,26 +240,32 @@ net_iface = ""
base_10_bitrate = "Auto" base_10_bitrate = "Auto"
#* Show battery stats in top right if battery is present. #* Show battery stats in top right if battery is present.
show_battery = True show_battery = true
#* Which battery to use if multiple are present. "Auto" for auto detection. #* Which battery to use if multiple are present. "Auto" for auto detection.
selected_battery = "Auto" selected_battery = "Auto"
#* Show power stats of battery next to charge indicator. #* Show power stats of battery next to charge indicator.
show_battery_watts = True show_battery_watts = true
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". #* Set loglevel for "~/.local/state/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. #* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
log_level = "WARNING" log_level = "WARNING"
#* Automatically save current settings to config file on exit.
save_config_on_exit = true
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards. #* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
nvml_measure_pcie_speeds = True nvml_measure_pcie_speeds = true
#* Measure PCIe throughput on AMD cards, may impact performance on certain cards. #* Measure PCIe throughput on AMD cards, may impact performance on certain cards.
rsmi_measure_pcie_speeds = True 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 apple"
shown_gpus = "nvidia amd intel"
#* Custom gpu0 model name, empty string to disable. #* Custom gpu0 model name, empty string to disable.
custom_gpu_name0 = "" custom_gpu_name0 = ""
+6 -47
View File
@@ -32,6 +32,9 @@ dpi-aware=yes
# selection-target=primary # selection-target=primary
# workers=<number of logical CPUs> # workers=<number of logical CPUs>
[main]
include=/usr/share/foot/themes/gruvbox
[environment] [environment]
SYSTEMD_EDITOR=/usr/bin/nvim SYSTEMD_EDITOR=/usr/bin/nvim
EDITOR=/usr/bin/nvim EDITOR=/usr/bin/nvim
@@ -68,50 +71,6 @@ lines=100000
# hide-when-typing=no # hide-when-typing=no
# alternate-scroll-mode=yes # alternate-scroll-mode=yes
[colors]
alpha=0.9 # Adjust alpha to change transparency level
foreground=cdd6f4
background=1e1e2e
cursor=11111b f5e0dc
regular0=45475a
regular1=f38ba8
regular2=a6e3a1
regular3=f9e2af
regular4=89b4fa
regular5=f5c2e7
regular6=94e2d5
regular7=bac2de
bright0=585b70
bright1=f38ba8
bright2=a6e3a1
bright3=f9e2af
bright4=89b4fa
bright5=f5c2e7
bright6=94e2d5
bright7=a6adc8
## dimmed colors (see foot.ini(5) man page)
# dim0=<not set>
# ...
# dim7=<not-set>
## The remaining 256-color palette
16=fab387
17=f5e0dc
# ...
# 255 = <256-color palette #255>
# Misc colors
selection-foreground=cdd6f4
selection-background=414356
jump-labels=11111b fab387
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
search-box-no-match=11111b f38ba8
search-box-match=cdd6f4 313244
urls=89b4fa
[csd] [csd]
# preferred=server # preferred=server
size=0 size=0
@@ -137,9 +96,9 @@ size=0
# clipboard-paste=Control+Shift+v XF86Paste # clipboard-paste=Control+Shift+v XF86Paste
# primary-paste=Shift+Insert # primary-paste=Shift+Insert
search-start=Control+Shift+f search-start=Control+Shift+f
# font-increase=Control+plus Control+equal Control+KP_Add font-increase=Control+plus
# font-decrease=Control+minus Control+KP_Subtract font-decrease=Control+minus
# font-reset=Control+0 Control+KP_0 font-reset=Control+equal
# spawn-terminal=Control+Shift+n # spawn-terminal=Control+Shift+n
# minimize=none # minimize=none
# maximize=none # maximize=none
-156
View File
@@ -1,156 +0,0 @@
# Syntax highlighting
# -------------------
"attribute" = "yellow"
"type" = "yellow"
"type.enum.variant" = "teal"
"constructor" = "sapphire"
"constant" = "peach"
"constant.character" = "teal"
"constant.character.escape" = "pink"
"string" = "green"
"string.regexp" = "pink"
"string.special" = "blue"
"string.special.symbol" = "red"
"comment" = { fg = "overlay2", modifiers = ["italic"] }
"variable" = "text"
"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
"variable.builtin" = "red"
"variable.other.member" = "teal"
"label" = "sapphire" # used for lifetimes
"punctuation" = "overlay2"
"punctuation.special" = "sky"
"keyword" = "mauve"
"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
"operator" = "sky"
"function" = "blue"
"function.macro" = "mauve"
"tag" = "blue"
"namespace" = { fg = "yellow", modifiers = ["italic"] }
"special" = "blue" # fuzzy highlight
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
"markup.heading.1" = "lavender"
"markup.heading.2" = "mauve"
"markup.heading.3" = "green"
"markup.heading.4" = "yellow"
"markup.heading.5" = "pink"
"markup.heading.6" = "teal"
"markup.list" = "mauve"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.link.url" = { fg = "blue", modifiers = ["italic", "underlined"] }
"markup.link.text" = "blue"
"markup.raw" = "flamingo"
"diff.plus" = "green"
"diff.minus" = "red"
"diff.delta" = "blue"
# User Interface
# --------------
"ui.background" = { fg = "text", bg = "base" }
"ui.linenr" = { fg = "surface1" }
"ui.linenr.selected" = { fg = "lavender" }
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
"ui.popup" = { fg = "text", bg = "surface0" }
"ui.window" = { fg = "crust" }
"ui.help" = { fg = "overlay2", bg = "surface0" }
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
"ui.bufferline.background" = { bg = "crust" }
"ui.text" = "text"
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
"ui.text.inactive" = { fg = "overlay1" }
"ui.virtual" = "overlay0"
"ui.virtual.ruler" = { bg = "surface0" }
"ui.virtual.indent-guide" = "surface0"
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
"ui.selection" = { bg = "surface1" }
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
"ui.cursorline.primary" = { bg = "cursorline" }
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
"ui.menu" = { fg = "overlay2", bg = "surface0" }
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
error = "red"
warning = "yellow"
info = "sky"
hint = "teal"
[palette]
rosewater = "#f2d5cf"
flamingo = "#eebebe"
pink = "#f4b8e4"
mauve = "#ca9ee6"
red = "#e78284"
maroon = "#ea999c"
peach = "#ef9f76"
yellow = "#e5c890"
green = "#a6d189"
teal = "#81c8be"
sky = "#99d1db"
sapphire = "#85c1dc"
blue = "#8caaee"
lavender = "#babbf1"
text = "#c6d0f5"
subtext1 = "#b5bfe2"
subtext0 = "#a5adce"
overlay2 = "#949cbb"
overlay1 = "#838ba7"
overlay0 = "#737994"
surface2 = "#626880"
surface1 = "#51576d"
surface0 = "#414559"
base = "#303446"
mantle = "#292c3c"
crust = "#232634"
cursorline = "#3b3f52"
secondary_cursor = "#b8a5a6"
secondary_cursor_normal = "#9192be"
secondary_cursor_insert = "#83a275"
-156
View File
@@ -1,156 +0,0 @@
# Syntax highlighting
# -------------------
"attribute" = "yellow"
"type" = "yellow"
"type.enum.variant" = "teal"
"constructor" = "sapphire"
"constant" = "peach"
"constant.character" = "teal"
"constant.character.escape" = "pink"
"string" = "green"
"string.regexp" = "pink"
"string.special" = "blue"
"string.special.symbol" = "red"
"comment" = { fg = "overlay2", modifiers = ["italic"] }
"variable" = "text"
"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
"variable.builtin" = "red"
"variable.other.member" = "teal"
"label" = "sapphire" # used for lifetimes
"punctuation" = "overlay2"
"punctuation.special" = "sky"
"keyword" = "mauve"
"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
"operator" = "sky"
"function" = "blue"
"function.macro" = "mauve"
"tag" = "blue"
"namespace" = { fg = "yellow", modifiers = ["italic"] }
"special" = "blue" # fuzzy highlight
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
"markup.heading.1" = "lavender"
"markup.heading.2" = "mauve"
"markup.heading.3" = "green"
"markup.heading.4" = "yellow"
"markup.heading.5" = "pink"
"markup.heading.6" = "teal"
"markup.list" = "mauve"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.link.url" = { fg = "blue", modifiers = ["italic", "underlined"] }
"markup.link.text" = "blue"
"markup.raw" = "flamingo"
"diff.plus" = "green"
"diff.minus" = "red"
"diff.delta" = "blue"
# User Interface
# --------------
"ui.background" = { fg = "text", bg = "base" }
"ui.linenr" = { fg = "surface1" }
"ui.linenr.selected" = { fg = "lavender" }
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
"ui.popup" = { fg = "text", bg = "surface0" }
"ui.window" = { fg = "crust" }
"ui.help" = { fg = "overlay2", bg = "surface0" }
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
"ui.bufferline.background" = { bg = "crust" }
"ui.text" = "text"
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
"ui.text.inactive" = { fg = "overlay1" }
"ui.virtual" = "overlay0"
"ui.virtual.ruler" = { bg = "surface0" }
"ui.virtual.indent-guide" = "surface0"
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
"ui.selection" = { bg = "surface1" }
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
"ui.cursorline.primary" = { bg = "cursorline" }
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
"ui.menu" = { fg = "overlay2", bg = "surface0" }
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
error = "red"
warning = "yellow"
info = "sky"
hint = "teal"
[palette]
rosewater = "#dc8a78"
flamingo = "#dd7878"
pink = "#ea76cb"
mauve = "#8839ef"
red = "#d20f39"
maroon = "#e64553"
peach = "#fe640b"
yellow = "#df8e1d"
green = "#40a02b"
teal = "#179299"
sky = "#04a5e5"
sapphire = "#209fb5"
blue = "#1e66f5"
lavender = "#7287fd"
text = "#4c4f69"
subtext1 = "#5c5f77"
subtext0 = "#6c6f85"
overlay2 = "#7c7f93"
overlay1 = "#8c8fa1"
overlay0 = "#9ca0b0"
surface2 = "#acb0be"
surface1 = "#bcc0cc"
surface0 = "#ccd0da"
base = "#eff1f5"
mantle = "#e6e9ef"
crust = "#dce0e8"
cursorline = "#e8ecf1"
secondary_cursor = "#e1a99d"
secondary_cursor_normal = "#97a7fb"
secondary_cursor_insert = "#74b867"
@@ -1,159 +0,0 @@
# Syntax highlighting
# -------------------
"attribute" = "yellow"
"type" = "yellow"
"type.enum.variant" = "teal"
"constructor" = "sapphire"
"constant" = "peach"
"constant.character" = "teal"
"constant.character.escape" = "pink"
"string" = "green"
"string.regexp" = "pink"
"string.special" = "blue"
"string.special.symbol" = "red"
"comment" = { fg = "overlay2", modifiers = ["italic"] }
"variable" = "text"
"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
"variable.builtin" = "red"
"variable.other.member" = "teal"
"label" = "sapphire" # used for lifetimes
"punctuation" = "overlay2"
"punctuation.special" = "sky"
"keyword" = "mauve"
"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
"operator" = "sky"
"function" = "blue"
"function.macro" = "mauve"
"tag" = "blue"
"namespace" = { fg = "yellow", modifiers = ["italic"] }
"special" = "blue" # fuzzy highlight
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
"markup.heading.1" = "lavender"
"markup.heading.2" = "mauve"
"markup.heading.3" = "green"
"markup.heading.4" = "yellow"
"markup.heading.5" = "pink"
"markup.heading.6" = "teal"
"markup.list" = "mauve"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.link.url" = { fg = "blue", modifiers = ["italic", "underlined"] }
"markup.link.text" = "blue"
"markup.raw" = "flamingo"
"diff.plus" = "green"
"diff.minus" = "red"
"diff.delta" = "blue"
# User Interface
# --------------
# fix issue with background color getting messed up in tmux...
"ui.background" = { }
# "ui.background" = { fg = "text", bg = "base" }
"ui.linenr" = { fg = "surface1" }
"ui.linenr.selected" = { fg = "lavender" }
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
"ui.popup" = { fg = "text", bg = "surface0" }
"ui.window" = { fg = "crust" }
"ui.help" = { fg = "overlay2", bg = "surface0" }
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
"ui.bufferline.background" = { bg = "crust" }
"ui.text" = "text"
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
"ui.text.inactive" = { fg = "overlay1" }
"ui.virtual" = "overlay0"
"ui.virtual.ruler" = { bg = "surface0" }
"ui.virtual.indent-guide" = "surface0"
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
"ui.selection" = { bg = "surface1" }
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
"ui.cursorline.primary" = { bg = "cursorline" }
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
"ui.menu" = { fg = "overlay2", bg = "surface0" }
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
error = "red"
warning = "yellow"
info = "sky"
hint = "teal"
[palette]
rosewater = "#f4dbd6"
flamingo = "#f0c6c6"
pink = "#f5bde6"
mauve = "#c6a0f6"
red = "#ed8796"
maroon = "#ee99a0"
peach = "#f5a97f"
yellow = "#eed49f"
green = "#a6da95"
teal = "#8bd5ca"
sky = "#91d7e3"
sapphire = "#7dc4e4"
blue = "#8aadf4"
lavender = "#b7bdf8"
text = "#cad3f5"
subtext1 = "#b8c0e0"
subtext0 = "#a5adcb"
overlay2 = "#939ab7"
overlay1 = "#8087a2"
overlay0 = "#6e738d"
surface2 = "#5b6078"
surface1 = "#494d64"
surface0 = "#363a4f"
base = "#24273a"
mantle = "#1e2030"
crust = "#181926"
cursorline = "#303347"
secondary_cursor = "#b6a6a7"
secondary_cursor_normal = "#8b91bf"
secondary_cursor_insert = "#80a57a"
-156
View File
@@ -1,156 +0,0 @@
# Syntax highlighting
# -------------------
"attribute" = "yellow"
"type" = "yellow"
"type.enum.variant" = "teal"
"constructor" = "sapphire"
"constant" = "peach"
"constant.character" = "teal"
"constant.character.escape" = "pink"
"string" = "green"
"string.regexp" = "pink"
"string.special" = "blue"
"string.special.symbol" = "red"
"comment" = { fg = "overlay2", modifiers = ["italic"] }
"variable" = "text"
"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
"variable.builtin" = "red"
"variable.other.member" = "teal"
"label" = "sapphire" # used for lifetimes
"punctuation" = "overlay2"
"punctuation.special" = "sky"
"keyword" = "mauve"
"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
"operator" = "sky"
"function" = "blue"
"function.macro" = "mauve"
"tag" = "blue"
"namespace" = { fg = "yellow", modifiers = ["italic"] }
"special" = "blue" # fuzzy highlight
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
"markup.heading.1" = "lavender"
"markup.heading.2" = "mauve"
"markup.heading.3" = "green"
"markup.heading.4" = "yellow"
"markup.heading.5" = "pink"
"markup.heading.6" = "teal"
"markup.list" = "mauve"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.link.url" = { fg = "blue", modifiers = ["italic", "underlined"] }
"markup.link.text" = "blue"
"markup.raw" = "flamingo"
"diff.plus" = "green"
"diff.minus" = "red"
"diff.delta" = "blue"
# User Interface
# --------------
"ui.background" = { fg = "text", bg = "base" }
"ui.linenr" = { fg = "surface1" }
"ui.linenr.selected" = { fg = "lavender" }
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
"ui.popup" = { fg = "text", bg = "surface0" }
"ui.window" = { fg = "crust" }
"ui.help" = { fg = "overlay2", bg = "surface0" }
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
"ui.bufferline.background" = { bg = "crust" }
"ui.text" = "text"
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
"ui.text.inactive" = { fg = "overlay1" }
"ui.virtual" = "overlay0"
"ui.virtual.ruler" = { bg = "surface0" }
"ui.virtual.indent-guide" = "surface0"
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
"ui.selection" = { bg = "surface1" }
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
"ui.cursorline.primary" = { bg = "cursorline" }
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
"ui.menu" = { fg = "overlay2", bg = "surface0" }
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
error = "red"
warning = "yellow"
info = "sky"
hint = "teal"
[palette]
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"
text = "#cdd6f4"
subtext1 = "#bac2de"
subtext0 = "#a6adc8"
overlay2 = "#9399b2"
overlay1 = "#7f849c"
overlay0 = "#6c7086"
surface2 = "#585b70"
surface1 = "#45475a"
surface0 = "#313244"
base = "#1e1e2e"
mantle = "#181825"
crust = "#11111b"
cursorline = "#2a2b3c"
secondary_cursor = "#b5a6a8"
secondary_cursor_normal = "#878ec0"
secondary_cursor_insert = "#7ea87f"
@@ -1,156 +0,0 @@
# Syntax highlighting
# -------------------
"attribute" = "yellow"
"type" = "yellow"
"type.enum.variant" = "teal"
"constructor" = "sapphire"
"constant" = "peach"
"constant.character" = "teal"
"constant.character.escape" = "pink"
"string" = "green"
"string.regexp" = "pink"
"string.special" = "blue"
"string.special.symbol" = "red"
"comment" = { fg = "overlay2" }
"variable" = "text"
"variable.parameter" = { fg = "maroon" }
"variable.builtin" = "red"
"variable.other.member" = "teal"
"label" = "sapphire" # used for lifetimes
"punctuation" = "overlay2"
"punctuation.special" = "sky"
"keyword" = "mauve"
"keyword.control.conditional" = { fg = "mauve" }
"operator" = "sky"
"function" = "blue"
"function.macro" = "mauve"
"tag" = "blue"
"namespace" = { fg = "yellow" }
"special" = "blue" # fuzzy highlight
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
"markup.heading.1" = "lavender"
"markup.heading.2" = "mauve"
"markup.heading.3" = "green"
"markup.heading.4" = "yellow"
"markup.heading.5" = "pink"
"markup.heading.6" = "teal"
"markup.list" = "mauve"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
"markup.link.text" = "blue"
"markup.raw" = "flamingo"
"diff.plus" = "green"
"diff.minus" = "red"
"diff.delta" = "blue"
# User Interface
# --------------
"ui.background" = { fg = "text", bg = "base" }
"ui.linenr" = { fg = "surface1" }
"ui.linenr.selected" = { fg = "lavender" }
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
"ui.popup" = { fg = "text", bg = "surface0" }
"ui.window" = { fg = "crust" }
"ui.help" = { fg = "overlay2", bg = "surface0" }
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
"ui.bufferline.background" = { bg = "crust" }
"ui.text" = "text"
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
"ui.text.inactive" = { fg = "overlay1" }
"ui.virtual" = "overlay0"
"ui.virtual.ruler" = { bg = "surface0" }
"ui.virtual.indent-guide" = "surface0"
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
"ui.selection" = { bg = "surface1" }
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
"ui.cursorline.primary" = { bg = "cursorline" }
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
"ui.menu" = { fg = "overlay2", bg = "surface0" }
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
error = "red"
warning = "yellow"
info = "sky"
hint = "teal"
[palette]
rosewater = "#f2d5cf"
flamingo = "#eebebe"
pink = "#f4b8e4"
mauve = "#ca9ee6"
red = "#e78284"
maroon = "#ea999c"
peach = "#ef9f76"
yellow = "#e5c890"
green = "#a6d189"
teal = "#81c8be"
sky = "#99d1db"
sapphire = "#85c1dc"
blue = "#8caaee"
lavender = "#babbf1"
text = "#c6d0f5"
subtext1 = "#b5bfe2"
subtext0 = "#a5adce"
overlay2 = "#949cbb"
overlay1 = "#838ba7"
overlay0 = "#737994"
surface2 = "#626880"
surface1 = "#51576d"
surface0 = "#414559"
base = "#303446"
mantle = "#292c3c"
crust = "#232634"
cursorline = "#3b3f52"
secondary_cursor = "#b8a5a6"
secondary_cursor_normal = "#9192be"
secondary_cursor_insert = "#83a275"
@@ -1,156 +0,0 @@
# Syntax highlighting
# -------------------
"attribute" = "yellow"
"type" = "yellow"
"type.enum.variant" = "teal"
"constructor" = "sapphire"
"constant" = "peach"
"constant.character" = "teal"
"constant.character.escape" = "pink"
"string" = "green"
"string.regexp" = "pink"
"string.special" = "blue"
"string.special.symbol" = "red"
"comment" = { fg = "overlay2" }
"variable" = "text"
"variable.parameter" = { fg = "maroon" }
"variable.builtin" = "red"
"variable.other.member" = "teal"
"label" = "sapphire" # used for lifetimes
"punctuation" = "overlay2"
"punctuation.special" = "sky"
"keyword" = "mauve"
"keyword.control.conditional" = { fg = "mauve" }
"operator" = "sky"
"function" = "blue"
"function.macro" = "mauve"
"tag" = "blue"
"namespace" = { fg = "yellow" }
"special" = "blue" # fuzzy highlight
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
"markup.heading.1" = "lavender"
"markup.heading.2" = "mauve"
"markup.heading.3" = "green"
"markup.heading.4" = "yellow"
"markup.heading.5" = "pink"
"markup.heading.6" = "teal"
"markup.list" = "mauve"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
"markup.link.text" = "blue"
"markup.raw" = "flamingo"
"diff.plus" = "green"
"diff.minus" = "red"
"diff.delta" = "blue"
# User Interface
# --------------
"ui.background" = { fg = "text", bg = "base" }
"ui.linenr" = { fg = "surface1" }
"ui.linenr.selected" = { fg = "lavender" }
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
"ui.popup" = { fg = "text", bg = "surface0" }
"ui.window" = { fg = "crust" }
"ui.help" = { fg = "overlay2", bg = "surface0" }
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
"ui.bufferline.background" = { bg = "crust" }
"ui.text" = "text"
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
"ui.text.inactive" = { fg = "overlay1" }
"ui.virtual" = "overlay0"
"ui.virtual.ruler" = { bg = "surface0" }
"ui.virtual.indent-guide" = "surface0"
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
"ui.selection" = { bg = "surface1" }
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
"ui.cursorline.primary" = { bg = "cursorline" }
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
"ui.menu" = { fg = "overlay2", bg = "surface0" }
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
error = "red"
warning = "yellow"
info = "sky"
hint = "teal"
[palette]
rosewater = "#dc8a78"
flamingo = "#dd7878"
pink = "#ea76cb"
mauve = "#8839ef"
red = "#d20f39"
maroon = "#e64553"
peach = "#fe640b"
yellow = "#df8e1d"
green = "#40a02b"
teal = "#179299"
sky = "#04a5e5"
sapphire = "#209fb5"
blue = "#1e66f5"
lavender = "#7287fd"
text = "#4c4f69"
subtext1 = "#5c5f77"
subtext0 = "#6c6f85"
overlay2 = "#7c7f93"
overlay1 = "#8c8fa1"
overlay0 = "#9ca0b0"
surface2 = "#acb0be"
surface1 = "#bcc0cc"
surface0 = "#ccd0da"
base = "#eff1f5"
mantle = "#e6e9ef"
crust = "#dce0e8"
cursorline = "#e8ecf1"
secondary_cursor = "#e1a99d"
secondary_cursor_normal = "#97a7fb"
secondary_cursor_insert = "#74b867"
@@ -1,156 +0,0 @@
# Syntax highlighting
# -------------------
"attribute" = "yellow"
"type" = "yellow"
"type.enum.variant" = "teal"
"constructor" = "sapphire"
"constant" = "peach"
"constant.character" = "teal"
"constant.character.escape" = "pink"
"string" = "green"
"string.regexp" = "pink"
"string.special" = "blue"
"string.special.symbol" = "red"
"comment" = { fg = "overlay2" }
"variable" = "text"
"variable.parameter" = { fg = "maroon" }
"variable.builtin" = "red"
"variable.other.member" = "teal"
"label" = "sapphire" # used for lifetimes
"punctuation" = "overlay2"
"punctuation.special" = "sky"
"keyword" = "mauve"
"keyword.control.conditional" = { fg = "mauve" }
"operator" = "sky"
"function" = "blue"
"function.macro" = "mauve"
"tag" = "blue"
"namespace" = { fg = "yellow" }
"special" = "blue" # fuzzy highlight
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
"markup.heading.1" = "lavender"
"markup.heading.2" = "mauve"
"markup.heading.3" = "green"
"markup.heading.4" = "yellow"
"markup.heading.5" = "pink"
"markup.heading.6" = "teal"
"markup.list" = "mauve"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
"markup.link.text" = "blue"
"markup.raw" = "flamingo"
"diff.plus" = "green"
"diff.minus" = "red"
"diff.delta" = "blue"
# User Interface
# --------------
"ui.background" = { fg = "text", bg = "base" }
"ui.linenr" = { fg = "surface1" }
"ui.linenr.selected" = { fg = "lavender" }
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
"ui.popup" = { fg = "text", bg = "surface0" }
"ui.window" = { fg = "crust" }
"ui.help" = { fg = "overlay2", bg = "surface0" }
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
"ui.bufferline.background" = { bg = "crust" }
"ui.text" = "text"
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
"ui.text.inactive" = { fg = "overlay1" }
"ui.virtual" = "overlay0"
"ui.virtual.ruler" = { bg = "surface0" }
"ui.virtual.indent-guide" = "surface0"
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
"ui.selection" = { bg = "surface1" }
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
"ui.cursorline.primary" = { bg = "cursorline" }
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
"ui.menu" = { fg = "overlay2", bg = "surface0" }
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
error = "red"
warning = "yellow"
info = "sky"
hint = "teal"
[palette]
rosewater = "#f4dbd6"
flamingo = "#f0c6c6"
pink = "#f5bde6"
mauve = "#c6a0f6"
red = "#ed8796"
maroon = "#ee99a0"
peach = "#f5a97f"
yellow = "#eed49f"
green = "#a6da95"
teal = "#8bd5ca"
sky = "#91d7e3"
sapphire = "#7dc4e4"
blue = "#8aadf4"
lavender = "#b7bdf8"
text = "#cad3f5"
subtext1 = "#b8c0e0"
subtext0 = "#a5adcb"
overlay2 = "#939ab7"
overlay1 = "#8087a2"
overlay0 = "#6e738d"
surface2 = "#5b6078"
surface1 = "#494d64"
surface0 = "#363a4f"
base = "#24273a"
mantle = "#1e2030"
crust = "#181926"
cursorline = "#303347"
secondary_cursor = "#b6a6a7"
secondary_cursor_normal = "#8b91bf"
secondary_cursor_insert = "#80a57a"
@@ -1,156 +0,0 @@
# Syntax highlighting
# -------------------
"attribute" = "yellow"
"type" = "yellow"
"type.enum.variant" = "teal"
"constructor" = "sapphire"
"constant" = "peach"
"constant.character" = "teal"
"constant.character.escape" = "pink"
"string" = "green"
"string.regexp" = "pink"
"string.special" = "blue"
"string.special.symbol" = "red"
"comment" = { fg = "overlay2" }
"variable" = "text"
"variable.parameter" = { fg = "maroon" }
"variable.builtin" = "red"
"variable.other.member" = "teal"
"label" = "sapphire" # used for lifetimes
"punctuation" = "overlay2"
"punctuation.special" = "sky"
"keyword" = "mauve"
"keyword.control.conditional" = { fg = "mauve" }
"operator" = "sky"
"function" = "blue"
"function.macro" = "mauve"
"tag" = "blue"
"namespace" = { fg = "yellow" }
"special" = "blue" # fuzzy highlight
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
"markup.heading.1" = "lavender"
"markup.heading.2" = "mauve"
"markup.heading.3" = "green"
"markup.heading.4" = "yellow"
"markup.heading.5" = "pink"
"markup.heading.6" = "teal"
"markup.list" = "mauve"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
"markup.link.text" = "blue"
"markup.raw" = "flamingo"
"diff.plus" = "green"
"diff.minus" = "red"
"diff.delta" = "blue"
# User Interface
# --------------
"ui.background" = { fg = "text", bg = "base" }
"ui.linenr" = { fg = "surface1" }
"ui.linenr.selected" = { fg = "lavender" }
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
"ui.popup" = { fg = "text", bg = "surface0" }
"ui.window" = { fg = "crust" }
"ui.help" = { fg = "overlay2", bg = "surface0" }
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
"ui.bufferline.background" = { bg = "crust" }
"ui.text" = "text"
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
"ui.text.inactive" = { fg = "overlay1" }
"ui.virtual" = "overlay0"
"ui.virtual.ruler" = { bg = "surface0" }
"ui.virtual.indent-guide" = "surface0"
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
"ui.selection" = { bg = "surface1" }
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
"ui.cursorline.primary" = { bg = "cursorline" }
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
"ui.menu" = { fg = "overlay2", bg = "surface0" }
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
error = "red"
warning = "yellow"
info = "sky"
hint = "teal"
[palette]
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"
text = "#cdd6f4"
subtext1 = "#bac2de"
subtext0 = "#a6adc8"
overlay2 = "#9399b2"
overlay1 = "#7f849c"
overlay0 = "#6c7086"
surface2 = "#585b70"
surface1 = "#45475a"
surface0 = "#313244"
base = "#1e1e2e"
mantle = "#181825"
crust = "#11111b"
cursorline = "#2a2b3c"
secondary_cursor = "#b5a6a8"
secondary_cursor_normal = "#878ec0"
secondary_cursor_insert = "#7ea87f"
+9 -2
View File
@@ -28,10 +28,17 @@ application/x-bittorrent=org.qbittorrent.qBittorrent.desktop;
inode/directory=yazi.desktop; inode/directory=yazi.desktop;
x-scheme-handler/msteams=teams.desktop; x-scheme-handler/msteams=teams.desktop;
text/calendar=userapp-khalimport.desktop; text/calendar=userapp-khalimport.desktop;
x-scheme-handler/discord=vesktop.desktop: x-scheme-handler/discord=discord.desktop
application/vnd.openxmlformats-officedocument.wordprocessingml.document=org.kde.okular.desktop; application/vnd.openxmlformats-officedocument.wordprocessingml.document=org.kde.okular.desktop;
text/markdown=org.kde.okular.desktop; text/markdown=org.kde.okular.desktop;
application/zip=userapp-file-roller.desktop application/zip=userapp-file-roller.desktop;
x-scheme-handler/rdp=org.remmina.Remmina.desktop;
x-scheme-handler/spice=org.remmina.Remmina.desktop;
x-scheme-handler/vnc=org.remmina.Remmina.desktop;
x-scheme-handler/remmina=org.remmina.Remmina.desktop;
application/x-remmina=org.remmina.Remmina.desktop;
application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop;
image/heif=qimgv.desktop
[Added Associations] [Added Associations]
-98
View File
@@ -1,98 +0,0 @@
# ttrss
ttrss-flag-publish "b"
ttrss-flag-star "a"
ttrss-login "admin"
ttrss-mode "multi"
ttrss-passwordeval "pass show ttrss"
ttrss-url "https://rss.hjarl.com/"
urls-source "ttrss"
# data
cache-file "~/.cache/newsboat/cache.db"
cookie-cache "~/.cache/newsboat/cookies.txt"
# feeds
auto-reload yes
delete-read-articles-on-quit yes
feed-sort-order unreadarticlecount-asc
prepopulate-query-feeds yes
reload-threads 11
reload-time 30
scrolloff 15
# display
article-sort-order date
datetime-format "%D %R"
download-full-page yes
external-url-viewer "urlscan"
html-renderer "w3m -dump -T text/html"
show-read-articles no
show-read-feeds no
text-width 72
# navigation
browser "$BROWSER %u >/dev/null 2>&1 &"
#browser "w3m %u"
goto-next-feed yes
goto-first-unread no
mark-as-read-on-hover yes
# bindings
# original bindings here https://raw.githubusercontent.com/newsboat/newsboat/master/src/keymap.cpp
# unbind
unbind-key f
unbind-key F
unbind-key C
unbind-key n
unbind-key p
unbind-key ^k
unbind-key ,
# bind
bind SPACE everywhere macro-prefix
bind l everywhere open
bind h everywhere quit
bind j everywhere down
bind k everywhere up
bind J everywhere next-feed
bind K everywhere prev-feed
bind J article next
bind K article prev
bind n everywhere next
bind p everywhere prev
bind g everywhere home
bind G everywhere end
bind ^F everywhere halfpagedown
bind ^B everywhere halfpageup
bind ^D everywhere pagedown
bind ^U everywhere pageup
bind d everywhere delete-article
bind D everywhere delete-all-articles
bind $ everywhere purge-deleted
bind a everywhere mark-all-above-as-read
bind A everywhere mark-feed-read
bind ^A everywhere mark-all-feeds-read
bind i everywhere sort
bind I everywhere rev-sort
bind T everywhere set-tag
bind t everywhere toggle-article-read
bind b everywhere toggle-source-view
bind U everywhere toggle-show-read-feeds
# macros
macro w set browser "w3m %u"; open-in-browser ; set browser "$BROWSER %u >/dev/null 2>&1 &"
macro l set browser "links %u"; open-in-browser ; set browser "$BROWSER %u >/dev/null 2>&1 &"
macro m set browser "mpv %u"; open-in-browser ; set browser "$BROWSER %u >/dev/null 2>&1 &"
# format
feedlist-title-format "(%u unread, %t total) Your feeds%?T? - tag %T&?"
articlelist-title-format "(%u unread, %t total) Articles in feed %T - %U"
searchresult-title-format "(%u unread, %t total) Search result"
itemview-title-format "(%u unread, %t total) Article %T"
filebrowser-title-format "%?O?Open File&Save File? - %f"
help-title-format "Help"
selecttag-title-format "Select Tag"
selectfilter-title-format "Select Filter"
urlview-title-format "URLs"
dialogs-title-format "Dialogs"
include "~/.config/newsboat/themes/catppuccin.dark"
-19
View File
@@ -1,19 +0,0 @@
# https://raw.githubusercontent.com/catppuccin/newsboat/refs/heads/main/themes/dark
color listnormal color15 default
color listnormal_unread color2 default
color listfocus_unread color2 color0
color listfocus default color0
color background default default
color article default default
color end-of-text-marker color8 default
color info color4 color8
color hint-separator default color8
color hint-description default color8
color title color14 color8
highlight article "^(Feed|Title|Author|Link|Date): .+" color4 default bold
highlight article "^(Feed|Title|Author|Link|Date):" color14 default bold
highlight article "\\((link|image|video)\\)" color8 default
highlight article "https?://[^ ]+" color4 default
highlight article "\[[0-9]+\]" color6 default bold
-19
View File
@@ -1,19 +0,0 @@
# https://raw.githubusercontent.com/catppuccin/newsboat/refs/heads/main/themes/latte
color listnormal color15 default
color listnormal_unread color2 default
color listfocus_unread color2 color15
color listfocus default color15
color background default default
color article default default
color end-of-text-marker color8 default
color info color4 color7
color hint-separator default color7
color hint-description default color7
color title color14 color7
highlight article "^(Feed|Title|Author|Link|Date): .+" color4 default bold
highlight article "^(Feed|Title|Author|Link|Date):" color14 default bold
highlight article "\\((link|image|video)\\)" color8 default
highlight article "https?://[^ ]+" color4 default
highlight article "\[[0-9]+\]" color6 default bold
+1
View File
@@ -2,3 +2,4 @@ vim.o.colorcolumn = "100"
vim.opt.tabstop = 4 vim.opt.tabstop = 4
vim.opt.shiftwidth = 4 vim.opt.shiftwidth = 4
vim.opt.softtabstop = 4 vim.opt.softtabstop = 4
vim.g.no_python_maps = 1
+414 -280
View File
File diff suppressed because it is too large Load Diff
+30 -17
View File
@@ -1,22 +1,27 @@
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
if TYPE_CHECKING: if TYPE_CHECKING:
from typing import Any from qutebrowser.config.config import ConfigContainer
from qutebrowser.config.configfiles import ConfigAPI
config: Any = None c: "ConfigContainer" = c # type: ignore # noqa: F821
c: Any = None config: "ConfigAPI" = config # type: ignore # noqa: F821
from typing import TYPE_CHECKING
config.load_autoconfig(True) config.load_autoconfig(True)
config.bind("<", "tab-move -") config.bind("<", "tab-move -")
config.bind("<Ctrl+Shift+Tab>", "tab-prev") config.bind("<Ctrl+Shift+Tab>", "tab-prev")
config.bind("<Ctrl+Tab>", "tab-next") config.bind("<Ctrl+Tab>", "tab-next")
config.bind("<Ctrl+l>", "cmd-set-text :open {url:pretty}") config.bind("<Ctrl+l>", "cmd-set-text :open {url:pretty}")
config.bind("<Ctrl+r>", "reload") config.unbind("r", mode="normal")
config.bind("<Ctrl+r>", "reload -f")
config.bind("R", "reload", mode="normal")
config.bind("<Ctrl+n>", "tab-clone -w") config.bind("<Ctrl+n>", "tab-clone -w")
config.bind("<Ctrl+t>", "tab-clone -t") config.bind("<Ctrl+t>", "tab-clone -t")
config.bind("<Ctrl+Shift+r>", "restart", mode="normal") config.bind("<Ctrl+Shift+r>", "restart", mode="normal")
config.bind("<Ctrl+h>", "history") config.bind("<Ctrl+h>", "history")
config.bind("<F8>", "config-cycle colors.webpage.darkmode.enabled true false") config.bind("<F2>", "edit-url")
config.bind("<F10>", "config-cycle colors.webpage.darkmode.enabled true false")
config.bind("<F11>", "config-cycle tabs.position top left") config.bind("<F11>", "config-cycle tabs.position top left")
config.bind("<F12>", "devtools") config.bind("<F12>", "devtools")
config.bind("<Shift+F12>", "view-source") config.bind("<Shift+F12>", "view-source")
@@ -45,8 +50,8 @@ config.bind("wk", "forward -w", mode="normal")
config.bind("ø", "cmd-set-text :") config.bind("ø", "cmd-set-text :")
config.bind("m", 'cmd-set-text :quickmark-add {url:pretty} "', mode="normal") config.bind("m", 'cmd-set-text :quickmark-add {url:pretty} "', mode="normal")
config.bind("D", "tab-close") config.bind("D", "tab-close")
config.bind(",m", "hint links spawn mpv {hint-url}", mode="normal") config.bind(",m", "hint links spawn -d mpv {hint-url}", mode="normal")
config.bind(",M", "spawn mpv {url}", mode="normal") config.bind(",M", "spawn -d mpv {url}", mode="normal")
config.unbind("co") # close all tabs except this one config.unbind("co") # close all tabs except this one
config.unbind("<Ctrl+x>") # navigate decrement config.unbind("<Ctrl+x>") # navigate decrement
config.unbind("<Ctrl+a>") # navigate increment config.unbind("<Ctrl+a>") # navigate increment
@@ -68,7 +73,7 @@ c.completion.open_categories = [
c.content.register_protocol_handler = False c.content.register_protocol_handler = False
c.content.blocking.enabled = True c.content.blocking.enabled = True
c.content.fullscreen.window = True c.content.fullscreen.window = True
c.content.blocking.method = "both" c.content.blocking.method = "adblock"
c.content.blocking.adblock.lists = [ c.content.blocking.adblock.lists = [
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt", "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt",
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/badware.txt", "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/badware.txt",
@@ -106,6 +111,14 @@ urlconfigs: dict[str, list[tuple[str, bool | str | dict[str, str]]]] = {
{"X-YouTube-Client-Name": "85", "X-YouTube-Client-Version": "2.0"}, {"X-YouTube-Client-Name": "85", "X-YouTube-Client-Version": "2.0"},
) )
], ],
"https://*.altinn.no": [
("content.cookies.accept", "all"),
("content.javascript.can_open_tabs_automatically", True),
],
"https://*.bankid.no": [
("content.cookies.accept", "all"),
("content.javascript.can_open_tabs_automatically", True),
],
} }
for url, urlconfig in urlconfigs.items(): for url, urlconfig in urlconfigs.items():
for setting, value in urlconfig: for setting, value in urlconfig:
@@ -114,12 +127,11 @@ for url, urlconfig in urlconfigs.items():
c.downloads.position = "bottom" c.downloads.position = "bottom"
c.downloads.prevent_mixed_content = False c.downloads.prevent_mixed_content = False
c.editor.command = [ c.editor.command = [
"foot", "footclient",
"-title", "--app-id",
"scratchpad", "floating_shell",
"-geometry", "--window-size-chars",
"86x24+40+60", "80x45",
"-e",
"nvim", "nvim",
"-f", "-f",
"{}", "{}",
@@ -130,6 +142,7 @@ c.input.insert_mode.auto_load = True
c.input.insert_mode.auto_leave = False c.input.insert_mode.auto_leave = False
c.input.insert_mode.plugins = True c.input.insert_mode.plugins = True
c.messages.timeout = 5000 c.messages.timeout = 5000
c.qt.force_platform = "wayland"
c.qt.highdpi = True c.qt.highdpi = True
c.scrolling.bar = "always" c.scrolling.bar = "always"
c.scrolling.smooth = False c.scrolling.smooth = False
@@ -162,10 +175,10 @@ c.tabs.tabs_are_windows = False
c.tabs.title.format = "{index}.{current_title}" c.tabs.title.format = "{index}.{current_title}"
c.tabs.undo_stack_size = 1000 c.tabs.undo_stack_size = 1000
c.tabs.width = "15%" c.tabs.width = "15%"
c.url.start_pages = "http://www.google.com/search?hl=en&source=hp" c.url.start_pages = "https://www.google.com/search?hl=en&source=hp"
c.url.default_page = "http://www.google.com/search?hl=en&source=hp" c.url.default_page = "https://www.google.com/search?hl=en&source=hp"
c.url.searchengines = dict( c.url.searchengines = dict(
DEFAULT="http://www.google.com/search?hl=en&source=hp&q={}", DEFAULT="https://www.google.com/search?hl=en&source=hp&q={}",
aw="https://wiki.archlinux.org/?search={}", aw="https://wiki.archlinux.org/?search={}",
ap="https://www.archlinux.org/packages/?q={}", ap="https://www.archlinux.org/packages/?q={}",
gh="https://github.com/search?q={}&type=repositories", gh="https://github.com/search?q={}&type=repositories",
+14 -14
View File
@@ -67,7 +67,7 @@ set $powermenu ~/.config/sway/scripts/power_menu.sh
# ------------------------------------------ # ------------------------------------------
# Launch the terminal # Launch the terminal
bindsym $mod+Return exec $term bindsym $mod+Return exec $term
bindsym $mod+Shift+Return exec foot bindsym Mod4+Shift+Return exec foot bash
# Kill focused window # Kill focused window
bindsym $mod+Shift+q kill bindsym $mod+Shift+q kill
# Lock screen # Lock screen
@@ -157,15 +157,15 @@ bindsym {
floating_modifier $mod normal floating_modifier $mod normal
bindsym { bindsym {
# Resize with arrow keys # Resize with arrow keys
$mod+ctrl+Right resize shrink width 10 px $mod+ctrl+Right resize shrink width 100 px
$mod+ctrl+Up resize grow height 10 px $mod+ctrl+Up resize grow height 100 px
$mod+ctrl+Down resize shrink height 10 px $mod+ctrl+Down resize shrink height 100 px
$mod+ctrl+Left resize grow width 10 px $mod+ctrl+Left resize grow width 100 px
# Resize with Vim keys # Resize with Vim keys
$mod+ctrl+$right resize shrink width 10 px $mod+ctrl+$right resize shrink width 100 px
$mod+ctrl+$up resize grow height 10 px $mod+ctrl+$up resize grow height 100 px
$mod+ctrl+$down resize shrink height 10 px $mod+ctrl+$down resize shrink height 100 px
$mod+ctrl+$left resize grow width 10 px $mod+ctrl+$left resize grow width 100 px
} }
# Resize floating windows with mouse scroll # Resize floating windows with mouse scroll
bindsym --whole-window --border { bindsym --whole-window --border {
@@ -287,7 +287,6 @@ exec hash dbus-update-activation-environment 2>/dev/null && \
# Idle configuration # Idle configuration
exec_always swayidle -w \ exec_always swayidle -w \
timeout 240 'brightnessctl set 1' resume 'brightnessctl -r' \
timeout 1200 'gtklock -d' \ timeout 1200 'gtklock -d' \
timeout 2400 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ timeout 2400 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
before-sleep 'gtklock -d' \ before-sleep 'gtklock -d' \
@@ -295,7 +294,7 @@ exec_always swayidle -w \
idlehint 240 idlehint 240
# Start foot server # Start foot server
exec_always --no-startup-id foot --server exec systemctl --user enable --now foot-server.service
exec { exec {
# Desktop notifications # Desktop notifications
@@ -350,6 +349,8 @@ for_window [app_id="floating_shell"] floating enable, border pixel 1, sticky ena
for_window [title="Picture in picture"] floating enable, sticky enable for_window [title="Picture in picture"] floating enable, sticky enable
for_window [title="Save File"] floating enable for_window [title="Save File"] floating enable
for_window [app_id="firefox" title="Firefox — Sharing Indicator"] kill for_window [app_id="firefox" title="Firefox — Sharing Indicator"] kill
# only thunderbird main window as float
for_window [app_id="org.mozilla.Thunderbird" title="^((?!Mozilla Thunderbird).)*$"] floating enable
# steam # steam
# https://github.com/ValveSoftware/steam-for-linux/issues/1040 # https://github.com/ValveSoftware/steam-for-linux/issues/1040
@@ -376,9 +377,8 @@ input type:touchpad {
} }
input type:keyboard { input type:keyboard {
xkb_layout "us" xkb_layout "us_custom,us_norwegian"
xkb_variant "altgr-weur" xkb_options "grp:shifts_toggle,caps:escape"
xkb_options "caps:escape"
} }
input type:mouse { input type:mouse {
+24 -10
View File
@@ -12,9 +12,14 @@ set -g allow-passthrough
set -g history-limit 100000 set -g history-limit 100000
set -g focus-events on set -g focus-events on
# screen colors # Advertise tmux correctly to programs running inside it.
set -g default-terminal "tmux-256color" set -g default-terminal "tmux-256color"
set -sa terminal-features ",xterm-256color:RGB"
# Tell tmux which features the outer Foot client supports.
set -as terminal-features ',foot*:RGB,clipboard,focus,title'
# Allow image passthrough
set -gq allow-passthrough on
# Start with index 1 # Start with index 1
set -g base-index 1 set -g base-index 1
@@ -28,11 +33,8 @@ bg_active_window="color252"
bg_highlight="red" bg_highlight="red"
# pane title # pane title
ps_pid='#(pgrep -P "#{pane_pid}" | tr "\n" " ")'
cmd='#(ps --no-headers -o args $(pgrep -P "#{pane_pid}"))'
# cmd='#(ps --no-headers -t #{pane_tty} -o args -O-c | tr "\n" " ")'
setw -g pane-border-status top setw -g pane-border-status top
setw -g pane-border-format " #{pane_current_path} #{=/-20/…:pane_current_command} ${ps_pid}[${cmd}] #{?alternate_on,<Alt Mode> ,}" setw -g pane-border-format " #{pane_current_path} #{=/-40/…:pane_current_command} #{?alternate_on,<Alt Mode> ,}"
set -g pane-border-style "fg=${fg_inactive_pane}" set -g pane-border-style "fg=${fg_inactive_pane}"
set -g pane-active-border-style "fg=${fg_active_pane}" set -g pane-active-border-style "fg=${fg_active_pane}"
@@ -65,11 +67,12 @@ set -g set-titles on
# Note : you can press super key by set M. # Note : you can press super key by set M.
# (tested with tty only) # (tested with tty only)
set -g prefix M-a set -g prefix M-a
bind M-a send-prefix
# First remove *all* keybindings # First remove *all* keybindings
unbind -a unbind -a
bind M-a send-prefix
# Basic bindings # Basic bindings
bind ? list-keys bind ? list-keys
bind d detach-client bind d detach-client
@@ -77,18 +80,23 @@ bind D choose-client
bind : command-prompt bind : command-prompt
bind '~' show-messages bind '~' show-messages
# Fix Home and End keys
bind-key -n Home send-keys "\033[H"
bind-key -n End send-keys "\033[F"
# Copy mode # Copy mode
bind c copy-mode bind c copy-mode
# clipboard control # clipboard control
bind p paste-buffer bind p paste-buffer
bind -T copy-mode-vi v send-keys -X begin-selection bind -T copy-mode-vi v send-keys -X begin-selection
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -i -f -selection primary | xclip -i -selection clipboard" bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "wl-copy"
bind -T copy-mode-vi Enter send-keys -X copy-selection-and-cancel
bind -T copy-mode-vi r send-keys -X rectangle-toggle bind -T copy-mode-vi r send-keys -X rectangle-toggle
bind -T copy-mode-vi Escape send-keys -X cancel bind -T copy-mode-vi Escape send-keys -X cancel
bind -T copy-mode-vi q send-keys -X clear-selection bind -T copy-mode-vi q send-keys -X clear-selection
bind -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection primary -filter | xclip -selection clipboard" bind -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "wl-copy"
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection primary -filter | xclip -selection clipboard" bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "wl-copy"
# Rename window # Rename window
bind , command-prompt "rename-window %%" bind , command-prompt "rename-window %%"
@@ -99,6 +107,10 @@ bind t clock-mode
# Show pane numbers # Show pane numbers
bind i display-panes bind i display-panes
ps_pid='#(pgrep -P "#{pane_pid}" | tr "\n" " ")'
cmd='#(ps --no-headers -o args $(pgrep -P "#{pane_pid}"))'
bind P display-message -d 100000 "${cmd} FOLDER:#{pane_current_path} CMD:#{=/-20/…:pane_current_command} PID:${ps_pid}"
# Config Reloads # Config Reloads
bind r source-file ~/.config/tmux/tmux.conf \; refresh-client \; display-message "Config reloaded" bind r source-file ~/.config/tmux/tmux.conf \; refresh-client \; display-message "Config reloaded"
@@ -114,6 +126,8 @@ bind v split-window -h -c "#{pane_current_path}"
bind s split-window -v -c "#{pane_current_path}" bind s split-window -v -c "#{pane_current_path}"
bind V split-window -fh -c "#{pane_current_path}" bind V split-window -fh -c "#{pane_current_path}"
bind S split-window -fv -c "#{pane_current_path}" bind S split-window -fv -c "#{pane_current_path}"
bind x split-window -fh bash
# Change layouts # Change layouts
bind o rotate-window bind o rotate-window
+6
View File
@@ -0,0 +1,6 @@
partial alphanumeric_keys
xkb_symbols "basic" {
include "us(basic)"
name[Group1]= "US Custom";
key <MENU> { [ Super_L ] };
};
+16
View File
@@ -0,0 +1,16 @@
partial alphanumeric_keys
xkb_symbols "basic" {
include "us(basic)"
name[Group1]= "US Custom Norwegian";
key <MENU> { [ Super_L ] };
key <AD01> { [ q, Q, aring, Aring ] };
key <AD11> { [ bracketleft, braceleft, aring, Aring ] };
key <AD02> { [ w, W, ae, AE ] };
key <AC11> { [apostrophe, quotedbl, ae, AE ] };
key <AD05> { [ t, T, oslash, Oslash ] };
key <AC10> { [ semicolon, colon, oslash, Oslash ] };
key <AC03> { [ d, D, eacute, Eacute ] };
include "level3(ralt_switch)"
};
+314
View File
@@ -0,0 +1,314 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--The Xournal++ settings file. Do not edit this file! Most settings are available in the Settings dialog, the others are commented in this file, but handle with care!-->
<settings>
<property name="pressureSensitivity" value="true"/>
<property name="minimumPressure" value="0.05"/>
<property name="pressureMultiplier" value="1"/>
<property name="zoomGesturesEnabled" value="true"/>
<property name="selectedToolbar" value="Portrait"/>
<property name="lastSavePath" value="/home/hjalmarlucius/Downloads"/>
<property name="lastOpenPath" value=""/>
<property name="lastImagePath" value=""/>
<property name="edgePanSpeed" value="20"/>
<property name="edgePanMaxMult" value="5"/>
<property name="zoomStep" value="10"/>
<property name="zoomStepScroll" value="2"/>
<property name="displayDpi" value="72"/>
<property name="mainWndWidth" value="1702"/>
<property name="mainWndHeight" value="1398"/>
<property name="maximized" value="false"/>
<property name="showToolbar" value="true"/>
<property name="showSidebar" value="true"/>
<property name="sidebarWidth" value="159"/>
<property name="sidebarNumberingStyle" value="1"/>
<property name="sidebarOnRight" value="false"/>
<property name="scrollbarOnLeft" value="false"/>
<property name="menubarVisible" value="false"/>
<property name="filepathShownInTitlebar" value="false"/>
<property name="pageNumberShownInTitlebar" value="false"/>
<property name="numColumns" value="1"/>
<property name="numRows" value="1"/>
<property name="viewFixedRows" value="false"/>
<property name="showPairedPages" value="false"/>
<property name="layoutVertical" value="false"/>
<property name="layoutRightToLeft" value="false"/>
<property name="layoutBottomToTop" value="false"/>
<property name="numPairsOffset" value="1"/>
<!--The icon theme, allowed values are "disabled", "onDrawOfLastPage", and "onScrollOfLastPage"-->
<property name="emptyLastPageAppend" value="onScrollOfLastPage"/>
<property name="presentationMode" value="false"/>
<!--Which GUI elements are shown in default view mode, separated by a colon (,)-->
<property name="defaultViewModeAttributes" value="showMenubar,showToolbar"/>
<!--Which GUI elements are shown in fullscreen view mode, separated by a colon (,)-->
<property name="fullscreenViewModeAttributes" value="goFullscren,showToolbar,showSidebar"/>
<!--Which GUI elements are shown in presentation view mode, separated by a colon (,)-->
<property name="presentationViewModeAttributes" value="goFullscren,showToolbar"/>
<!--The cursor icon used with a stylus, allowed values are "none", "dot", "big", "arrow"-->
<property name="stylusCursorType" value="dot"/>
<!--The eraser cursor visibility used with a stylus, allowed values are "never", "always", "hover", "touch"-->
<property name="eraserVisibility" value="always"/>
<!--The icon theme, allowed values are "iconsColor", "iconsLucide"-->
<property name="iconTheme" value="iconsColor"/>
<!--Dark/light mode, allowed values are "useSystem", "forceLight", "forceDark"-->
<property name="themeVariant" value="useSystem"/>
<property name="highlightPosition" value="true"/>
<property name="cursorHighlightColor" value="2164260608"/>
<property name="cursorHighlightBorderColor" value="2147483903"/>
<property name="cursorHighlightRadius" value="30"/>
<property name="cursorHighlightBorderWidth" value="0"/>
<property name="useStockIcons" value="false"/>
<property name="disableScrollbarFadeout" value="false"/>
<property name="disableAudio" value="false"/>
<!--Hides scroolbars in the main window, allowed values: "none", "horizontal", "vertical", "both"-->
<property name="scrollbarHideType" value="none"/>
<property name="autoloadMostRecent" value="false"/>
<property name="autoloadPdfXoj" value="true"/>
<property name="defaultSaveName" value="%F-Note-%H-%M"/>
<property name="defaultPdfExportName" value="%{name}_annotated"/>
<property name="autosaveEnabled" value="true"/>
<property name="autosaveTimeout" value="3"/>
<property name="addHorizontalSpace" value="false"/>
<property name="addHorizontalSpaceAmountRight" value="150"/>
<property name="addHorizontalSpaceAmountLeft" value="150"/>
<property name="addVerticalSpace" value="false"/>
<property name="addVerticalSpaceAmountAbove" value="150"/>
<property name="addVerticalSpaceAmountBelow" value="150"/>
<property name="unlimitedScrolling" value="false"/>
<property name="drawDirModsEnabled" value="false"/>
<property name="drawDirModsRadius" value="50"/>
<property name="snapRotation" value="true"/>
<property name="snapRotationTolerance" value="0.3"/>
<property name="snapGrid" value="false"/>
<property name="snapGridTolerance" value="0.5"/>
<property name="snapGridSize" value="14.17"/>
<property name="strokeRecognizerMinSize" value="40"/>
<property name="touchDrawing" value="false"/>
<property name="gtkTouchInertialScrolling" value="true"/>
<property name="pressureGuessing" value="false"/>
<property name="recolor.enabled" value="false"/>
<property name="recolor.sidebar" value="false"/>
<property name="recolor.dark" value="4281349190"/>
<property name="recolor.light" value="4291219701"/>
<property name="selectionBorderColor" value="4294901760"/>
<property name="backgroundColor" value="4292664021"/>
<property name="selectionMarkerColor" value="4285702095"/>
<property name="activeSelectionColor" value="4286381056"/>
<property name="touchZoomStartThreshold" value="0"/>
<property name="pageRerenderThreshold" value="5"/>
<!--The count of rendered PDF pages which will be cached.-->
<property name="pdfPageCacheSize" value="10"/>
<property name="preloadPagesBefore" value="3"/>
<property name="preloadPagesAfter" value="5"/>
<property name="eagerPageCleanup" value="true"/>
<!--Config for new pages-->
<property name="pageTemplate" value="xoj/template&#10;copyLastPageSettings=true&#10;size=595.275591x841.889764&#10;backgroundType=lined&#10;backgroundColor=#ffffff&#10;"/>
<property name="sizeUnit" value=""/>
<property name="audioFolder" value=""/>
<property name="audioInputDevice" value="-1"/>
<property name="audioOutputDevice" value="-1"/>
<property name="audioSampleRate" value="44100"/>
<property name="audioGain" value="1"/>
<property name="defaultSeekTime" value="5"/>
<property name="pluginEnabled" value=""/>
<property name="pluginDisabled" value=""/>
<property name="strokeFilterIgnoreTime" value="150"/>
<property name="strokeFilterIgnoreLength" value="1"/>
<property name="strokeFilterSuccessiveTime" value="500"/>
<property name="strokeFilterEnabled" value="false"/>
<property name="doActionOnStrokeFiltered" value="false"/>
<property name="trySelectOnStrokeFiltered" value="false"/>
<property name="snapRecognizedShapesEnabled" value="false"/>
<property name="restoreLineWidthEnabled" value="false"/>
<property name="numIgnoredStylusEvents" value="0"/>
<property name="inputSystemTPCButton" value="false"/>
<property name="inputSystemDrawOutsideWindow" value="true"/>
<property name="preferredLocale" value=""/>
<property name="useSpacesForTab" value="false"/>
<property name="numberOfSpacesForTab" value="4"/>
<property name="laserPointerFadeOutTime" value="500"/>
<property name="stabilizerAveragingMethod" value="0"/>
<property name="stabilizerPreprocessor" value="0"/>
<property name="stabilizerBuffersize" value="20"/>
<property name="stabilizerSigma" value="0.5"/>
<property name="stabilizerDeadzoneRadius" value="1.3"/>
<property name="stabilizerDrag" value="0.4"/>
<property name="stabilizerMass" value="5"/>
<property name="stabilizerCuspDetection" value="true"/>
<property name="stabilizerFinalizeStroke" value="true"/>
<property name="colorPalette" value="/usr/share/xournalpp/palettes/xournal.gpl"/>
<property name="latexSettings.autoCheckDependencies" value="true"/>
<property name="latexSettings.defaultText" value="x^2"/>
<property name="latexSettings.globalTemplatePath" value="/usr/share/xournalpp/resources/default_template.tex"/>
<property name="latexSettings.genCmd" value="pdflatex -halt-on-error -interaction=nonstopmode '{}'"/>
<property name="latexSettings.sourceViewThemeId" value="classic"/>
<property name="latexSettings.editorFont" value="Monospace 12"/>
<property name="latexSettings.useCustomEditorFont" value="false"/>
<property name="latexSettings.editorWordWrap" value="true"/>
<property name="latexSettings.sourceViewAutoIndent" value="true"/>
<property name="latexSettings.sourceViewSyntaxHighlight" value="true"/>
<property name="latexSettings.sourceViewShowLineNumbers" value="false"/>
<property name="latexSettings.useExternalEditor" value="false"/>
<property name="latexSettings.externalEditorAutoConfirm" value="false"/>
<property name="latexSettings.externalEditorCmd" value=""/>
<property name="latexSettings.temporaryFileExt" value="tex"/>
<property name="font" font="Sans" size="12"/>
<data name="buttonConfig">
<data name="default">
<attribute name="color" type="hex" value="ff000000"/>
<attribute name="drawingType" type="string" value="default"/>
<attribute name="size" type="string" value="thin"/>
<attribute name="strokeType" type="string" value="none"/>
<attribute name="tool" type="string" value="pen"/>
</data>
<data name="eraser">
<attribute name="eraserMode" type="string" value="none"/>
<attribute name="size" type="string" value="none"/>
<attribute name="tool" type="string" value="eraser"/>
</data>
<data name="left">
<attribute name="tool" type="string" value="none"/>
</data>
<data name="middle">
<attribute name="tool" type="string" value="hand"/>
</data>
<data name="right">
<attribute name="tool" type="string" value="none"/>
</data>
<data name="stylus">
<attribute name="color" type="hex" value="ffffff00"/>
<attribute name="drawingType" type="string" value="default"/>
<attribute name="size" type="string" value="none"/>
<attribute name="tool" type="string" value="highlighter"/>
</data>
<data name="stylus2">
<attribute name="tool" type="string" value="none"/>
</data>
<data name="touch">
<attribute name="device" type="string" value=""/>
<attribute name="disableDrawing" type="boolean" value="false"/>
<attribute name="tool" type="string" value="none"/>
</data>
</data>
<data name="deviceClasses">
<data name="">
<attribute name="deviceClass" type="int" value="0"/>
<attribute name="deviceSource" type="int" value="0"/>
</data>
<data name="Wacom Co.,Ltd. Wacom One pen tablet small">
<attribute name="deviceClass" type="int" value="2"/>
<attribute name="deviceSource" type="int" value="1"/>
</data>
<data name="Wacom Co.,Ltd. Wacom One pen tablet small (Eraser)">
<attribute name="deviceClass" type="int" value="3"/>
<attribute name="deviceSource" type="int" value="2"/>
</data>
<data name="Wayland Pointer">
<attribute name="deviceClass" type="int" value="1"/>
<attribute name="deviceSource" type="int" value="0"/>
</data>
<data name="Wayland Wheel Scrolling">
<attribute name="deviceClass" type="int" value="1"/>
<attribute name="deviceSource" type="int" value="0"/>
</data>
</data>
<data name="tools">
<attribute name="current" type="string" value="pen"/>
<data name="drawArrow">
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="drawCoordinateSystem">
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="drawDoubleArrow">
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="drawEllipse">
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="drawRect">
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="drawSpline">
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="eraser">
<attribute name="drawingType" type="string" value="default"/>
<attribute name="size" type="string" value="MEDIUM"/>
<attribute name="type" type="string" value="default"/>
</data>
<data name="hand">
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="highlighter">
<attribute name="color" type="hex" value="ffffff00"/>
<attribute name="drawingType" type="string" value="default"/>
<attribute name="fill" type="int" value="0"/>
<attribute name="fillAlpha" type="int" value="128"/>
<attribute name="size" type="string" value="MEDIUM"/>
</data>
<data name="image">
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="laserPointerHighlighter">
<attribute name="color" type="hex" value="ffff0000"/>
<attribute name="drawingType" type="string" value="default"/>
<attribute name="size" type="string" value="MEDIUM"/>
</data>
<data name="laserPointerPen">
<attribute name="color" type="hex" value="ffff0000"/>
<attribute name="drawingType" type="string" value="default"/>
<attribute name="size" type="string" value="MEDIUM"/>
</data>
<data name="pen">
<attribute name="color" type="hex" value="ffff00ff"/>
<attribute name="drawingType" type="string" value="default"/>
<attribute name="fill" type="int" value="0"/>
<attribute name="fillAlpha" type="int" value="128"/>
<attribute name="size" type="string" value="THIN"/>
<attribute name="style" type="string" value="plain"/>
</data>
<data name="playObject">
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="selectMultiLayerRect">
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="selectMultiLayerRegion">
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="selectObject">
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="selectPdfTextLinear">
<attribute name="color" type="hex" value="ff000000"/>
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="selectPdfTextRect">
<attribute name="color" type="hex" value="ff000000"/>
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="selectRect">
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="selectRegion">
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="showFloatingToolbox">
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="text">
<attribute name="color" type="hex" value="ff000000"/>
<attribute name="drawingType" type="string" value="default"/>
</data>
<data name="verticalSpace">
<attribute name="drawingType" type="string" value="default"/>
</data>
</data>
<data name="touch">
<attribute name="cmdDisable" type="string" value=""/>
<attribute name="cmdEnable" type="string" value=""/>
<attribute name="disableTouch" type="boolean" value="false"/>
<attribute name="method" type="string" value="auto"/>
<attribute name="timeout" type="int" value="1000"/>
</data>
</settings>
+15 -15
View File
@@ -12,7 +12,7 @@ max_height = 1500
[open] [open]
prepend_rules = [ prepend_rules = [
{ name = "*.csv", use = "text" }, { url = "*.csv", use = "text" },
] ]
[opener] [opener]
@@ -24,36 +24,36 @@ text = [
[input] [input]
cursor_blink = true cursor_blink = true
[[plugin.append_previewers]]
url = "*"
run = "file-extra-metadata"
[[plugin.prepend_fetchers]] [[plugin.prepend_fetchers]]
id = "git" group = "git"
name = "*" url = "*"
run = "git" run = "git"
[[plugin.prepend_fetchers]] [[plugin.prepend_fetchers]]
id = "git" group = "git"
name = "*/" url = "*/"
run = "git" run = "git"
[[plugin.prepend_previewers]] [[plugin.prepend_previewers]]
name = "*.tar*" url = "*.tar*"
run = 'piper --format=url -- tar tf "$1"' run = 'piper --format=url -- tar tf "$1"'
[[plugin.prepend_previewers]] [[plugin.prepend_previewers]]
name = "*.csv" url = "*.csv"
run = 'piper -- bat -p --color=always "$1"' run = 'piper -- bat -p --color=always "$1"'
[[plugin.prepend_previewers]] [[plugin.prepend_previewers]]
name = "*.md" url = "*.md"
run = 'piper -- CLICOLOR_FORCE=1 glow -w=$w -s=dark "$1"' run = 'piper -- CLICOLOR_FORCE=1 glow -w=$w -s=dark "$1"'
[[plugin.prepend_previewers]] [[plugin.prepend_previewers]]
name = "*/" url = "*/"
run = 'piper -- eza -TL=3 --color=always --icons=always --group-directories-first --no-quotes "$1"' run = 'piper -- eza -TL=3 --color=always --icons=always --group-directories-first --no-quotes "$1"'
[[plugin.append_previewers]]
name = "*"
run = 'file-extra-metadata'
[[plugin.prepend_spotters]] [[plugin.prepend_spotters]]
name = "*" url = "*"
run = 'file-extra-metadata' run = "file-extra-metadata"
+8
View File
@@ -13,6 +13,14 @@ export SAVEHIST=200000
alias ls='ls --color=auto -Ah' alias ls='ls --color=auto -Ah'
alias ..='cd ..' alias ..='cd ..'
alias ...='cd ../..' alias ...='cd ../..'
catai () {
rg -l --hidden --glob '!.git/*' '^' -- "$@" | while IFS= read -r f; do
printf "\n── %s ──\n" "$f"
echo '```'
cat "$f"
echo '```'
done
}
# --- basic keybinds --- # --- basic keybinds ---
bindkey '^[[Z' reverse-menu-complete # shift-tab bindkey '^[[Z' reverse-menu-complete # shift-tab
+45 -14
View File
@@ -6,7 +6,6 @@
# ] # ]
# /// # ///
# TODO # TODO
# fix btop colors
# pre-luks remote ssh # pre-luks remote ssh
# add ufw setup # add ufw setup
# - sudo ufw allow 22/tcp comment "ssh" # - sudo ufw allow 22/tcp comment "ssh"
@@ -15,6 +14,7 @@
# - ... etc # - ... etc
# - sudo enable ufw # - sudo enable ufw
from difflib import unified_diff from difflib import unified_diff
from getpass import getuser
from os.path import lexists from os.path import lexists
from pathlib import Path from pathlib import Path
from shutil import rmtree from shutil import rmtree
@@ -22,14 +22,15 @@ from subprocess import run
from urllib.request import urlretrieve from urllib.request import urlretrieve
HOSTNAME = open("/etc/hostname").read().strip() HOSTNAME = open("/etc/hostname").read().strip()
HOME_TGT = Path("~").expanduser() HOME_TGT = Path.home()
ROOT_TGT = Path("/") ROOT_TGT = Path("/")
DOTFILES = HOME_TGT / "dotfiles" DOTFILES = Path(__file__).resolve().parent
HOME_SRC = DOTFILES / "HOME" HOME_SRC = DOTFILES / "HOME"
ROOT_SRC = DOTFILES / "ROOT" ROOT_SRC = DOTFILES / "ROOT"
CFG_TGT = HOME_TGT / ".config" CFG_TGT = HOME_TGT / ".config"
CFG_SRC = DOTFILES / "CONFIG" CFG_SRC = DOTFILES / "CONFIG"
CUSTOM_SRC = DOTFILES / f"custom-{HOSTNAME}" CUSTOM_SRC = DOTFILES / f"custom-{HOSTNAME}"
USERNAME = getuser()
installmap = dict( installmap = dict(
fonts=( fonts=(
"noto-fonts-emoji", "noto-fonts-emoji",
@@ -87,6 +88,7 @@ installmap = dict(
"v4l-utils", "v4l-utils",
# photos # photos
"qimgv", "qimgv",
"kimageformats5", # heif support
"digikam", "digikam",
# music # music
"quodlibet", "quodlibet",
@@ -112,7 +114,6 @@ installmap = dict(
"qutebrowser", "qutebrowser",
"firefox", "firefox",
"google-chrome", "google-chrome",
"microsoft-edge-stable-bin",
"w3m", "w3m",
"python-adblock", # for qutebrowser ad blocker "python-adblock", # for qutebrowser ad blocker
"python-tldextract", "python-tldextract",
@@ -123,12 +124,11 @@ installmap = dict(
"khard", # contacts "khard", # contacts
"khal", # calendar "khal", # calendar
"aerc", # email "aerc", # email
"newsboat", # rss reader "eilmeldung", # rss reader
"vdirsyncer", # sync calendar+contacts "vdirsyncer", # sync calendar+contacts
"pandoc", # md2html for aerc "pandoc", # md2html for aerc
"pass", # password manager for aerc and newsboat "pass", # password manager for aerc
"w3m", # terminal browser for aerc and newsboat "w3m", # terminal browser for aerc
"urlscan", # url finder for newsboat
"python-aiohttp-oauthlib", # for google vdirsyncer "python-aiohttp-oauthlib", # for google vdirsyncer
), ),
monitors=( monitors=(
@@ -140,7 +140,7 @@ installmap = dict(
"bandwhich", # network "bandwhich", # network
"sysstat", "sysstat",
), ),
apps=("keepassxc", "bitwarden", "qalculate-gtk", "vesktop"), apps=("keepassxc", "bitwarden", "qalculate-gtk", "discord"),
sway=( sway=(
"xdg-terminal-exec", "xdg-terminal-exec",
# visuals # visuals
@@ -175,6 +175,18 @@ installmap = dict(
"dracut-crypt-ssh", "dracut-crypt-ssh",
"dropbear", "dropbear",
), ),
virtwin=(
"qemu-full", # the emulator itself
"libvirt", # the backend manager - handles running qemu
"virt-manager", # the graphical dashboard
"virt-viewer", # the display window
"iptables-nft", # for using iptables instead of nft
"dnsmasq", # lightweight DHCP and DNS server
"bridge-utils", # tools for creating network bridges
"vde2", # networking plumbing
"openbsd-netcat", # networking plumbing
"swtpm", # win11 requirement
),
) )
@@ -199,7 +211,7 @@ def helper_maybe_copy(
src = src_folder.expanduser() / sub src = src_folder.expanduser() / sub
tgt = tgt_folder.expanduser() / sub tgt = tgt_folder.expanduser() / sub
assert src.exists() assert src.exists()
tgt.parent.mkdir(exist_ok=True) tgt.parent.mkdir(exist_ok=True, parents=True)
if lexists(tgt): if lexists(tgt):
if not overwrite: if not overwrite:
if diff := compare(src, tgt): if diff := compare(src, tgt):
@@ -226,7 +238,7 @@ def helper_clone_foldercontents(
) -> None: ) -> None:
src_folder = src_parent.expanduser() / folder src_folder = src_parent.expanduser() / folder
tgt_folder = tgt_parent.expanduser() / folder tgt_folder = tgt_parent.expanduser() / folder
tgt_folder.mkdir(exist_ok=True) tgt_folder.mkdir(exist_ok=True, parents=True)
assert src_folder.is_dir() assert src_folder.is_dir()
assert tgt_folder.is_dir() or tgt_folder.is_symlink() assert tgt_folder.is_dir() or tgt_folder.is_symlink()
for src in src_folder.iterdir(): for src in src_folder.iterdir():
@@ -253,7 +265,7 @@ def helper_install(*pkgs: str, reinstall: bool) -> None:
def install_fonts(reinstall: bool) -> None: def install_fonts(reinstall: bool) -> None:
tgt = Path("~/.local/share/fonts/Akkurat-Mono.otf").expanduser() tgt = Path("~/.local/share/fonts/Akkurat-Mono.otf").expanduser()
tgt.parent.mkdir(exist_ok=True) tgt.parent.mkdir(exist_ok=True, parents=True)
urlretrieve( urlretrieve(
"https://raw.githubusercontent.com/SUNET/static_sunet_se/refs/heads/master/fonts/Akkurat-Mono.otf", "https://raw.githubusercontent.com/SUNET/static_sunet_se/refs/heads/master/fonts/Akkurat-Mono.otf",
tgt, tgt,
@@ -297,6 +309,7 @@ def install_gittools(overwrite: bool, reinstall: bool) -> None:
def install_readers(overwrite: bool, reinstall: bool) -> None: def install_readers(overwrite: bool, reinstall: bool) -> None:
helper_install(*installmap["readers"], reinstall=reinstall) helper_install(*installmap["readers"], reinstall=reinstall)
helper_clone_foldercontents(CFG_SRC, CFG_TGT, "xournalpp", overwrite)
helper_clone_foldercontents(CFG_SRC, CFG_TGT, "sioyek", overwrite) helper_clone_foldercontents(CFG_SRC, CFG_TGT, "sioyek", overwrite)
helper_clone_foldercontents(CFG_SRC, CFG_TGT, "zathura", overwrite) helper_clone_foldercontents(CFG_SRC, CFG_TGT, "zathura", overwrite)
@@ -344,13 +357,12 @@ def install_monitors(overwrite: bool, reinstall: bool) -> None:
def install_emailcalrss(overwrite: bool, reinstall: bool) -> None: def install_emailcalrss(overwrite: bool, reinstall: bool) -> None:
helper_install(*installmap["emailcalrss"], reinstall=reinstall) helper_install(*installmap["emailcalrss"], reinstall=reinstall)
for tgt in ["vdirsyncer", "khard", "khal", "aerc", "newsboat"]: for tgt in ["vdirsyncer", "khard", "khal", "aerc"]:
helper_clone_foldercontents(CFG_SRC, CFG_TGT, tgt, overwrite) helper_clone_foldercontents(CFG_SRC, CFG_TGT, tgt, overwrite)
tgt = ".local/share/applications/userapp-khalimport.desktop" tgt = ".local/share/applications/userapp-khalimport.desktop"
helper_maybe_copy(HOME_SRC, HOME_TGT, tgt, overwrite, symlink=True) helper_maybe_copy(HOME_SRC, HOME_TGT, tgt, overwrite, symlink=True)
run("systemctl enable --user --now vdirsyncer.timer".split()) run("systemctl enable --user --now vdirsyncer.timer".split())
run(f"chmod 600 {CFG_TGT / 'aerc/accounts.conf'}".split()) run(f"chmod 600 {CFG_TGT / 'aerc/accounts.conf'}".split())
(HOME_TGT / ".cache/newsboat").mkdir(exist_ok=True)
(HOME_TGT / "Calendars").mkdir(exist_ok=True) (HOME_TGT / "Calendars").mkdir(exist_ok=True)
(HOME_TGT / "Contacts").mkdir(exist_ok=True) (HOME_TGT / "Contacts").mkdir(exist_ok=True)
@@ -391,6 +403,7 @@ def install_sway(overwrite: bool, reinstall: bool) -> None:
"nwg-drawer", "nwg-drawer",
"xdg-desktop-portal-wlr", "xdg-desktop-portal-wlr",
"foot", "foot",
"xkb/symbols",
]: ]:
helper_clone_foldercontents(CFG_SRC, CFG_TGT, sub, overwrite) helper_clone_foldercontents(CFG_SRC, CFG_TGT, sub, overwrite)
helper_maybe_copy(CFG_SRC, CFG_TGT, "xdg-terminals.list", overwrite, symlink=True) helper_maybe_copy(CFG_SRC, CFG_TGT, "xdg-terminals.list", overwrite, symlink=True)
@@ -415,6 +428,14 @@ def configure_pytools(overwrite: bool) -> None:
helper_clone_foldercontents(HOME_SRC, HOME_TGT, sub, overwrite) helper_clone_foldercontents(HOME_SRC, HOME_TGT, sub, overwrite)
def install_virtwin(overwrite: bool, reinstall: bool) -> None:
helper_install(*installmap["virtwin"], reinstall=reinstall)
run(["sudo", "usermod", "-aG", "libvirt", USERNAME])
run("sudo virsh net-start default".split())
run("sudo virsh net-autostart default".split())
run("systemctl enable --now libvirtd".split())
def install_k8sreqs(overwrite: bool, reinstall: bool) -> None: def install_k8sreqs(overwrite: bool, reinstall: bool) -> None:
# sudo # sudo
helper_install(*installmap["k8s"], reinstall=reinstall) helper_install(*installmap["k8s"], reinstall=reinstall)
@@ -484,6 +505,7 @@ def installer(
print("installed coolercontrol") print("installed coolercontrol")
if HOSTNAME in ["mothership"]: if HOSTNAME in ["mothership"]:
helper_install(*installmap["docker"], reinstall=reinstall) helper_install(*installmap["docker"], reinstall=reinstall)
install_virtwin(overwrite, reinstall)
helper_clone_foldercontents( helper_clone_foldercontents(
CFG_SRC, CFG_TGT, "homeassistant", overwrite, symlink=False CFG_SRC, CFG_TGT, "homeassistant", overwrite, symlink=False
) )
@@ -518,6 +540,15 @@ def installer(
- docker with non-root daemon - docker with non-root daemon
`sudo groupadd docker && sudo usermod -aG docker $USER` `sudo groupadd docker && sudo usermod -aG docker $USER`
- run home assistant and music assistant scripts to start docker services - run home assistant and music assistant scripts to start docker services
# virtual machine
- /etc/libvirt/network.conf: set `firewall_backend = "iptables"` and restart libvirtd
- download windows + virtio driver ISOs
- vm setup:
- CPUs: Uncheck "Copy host CPU configuration" and select host-passthrough
- Disk (IDE/SATA): Change the "Disk bus" to VirtIO
- NIC (Network): Change "Device model" to virtio
- Add Hardware: Click "Add Hardware" -> "Storage" -> Select "CDROM" -> select virtio driver iso
""") """)