diff options
| author | mirenn <me@mirenn.dev> | 2026-09-21 23:09:33 +0200 |
|---|---|---|
| committer | mirenn <me@mirenn.dev> | 2026-10-06 14:13:32 +0200 |
| commit | 8f9c77878f8742a47d34a50748023d1b552cfbf1 (patch) | |
| tree | f749dff061451ab8427100c452f8175de8e39c53 /mirenn/home/files/dotfiles | |
| parent | 8501a38d7c3bbc2e99466e6658be134c72d4f47a (diff) | |
| download | dotfiles-8f9c77878f8742a47d34a50748023d1b552cfbf1.tar.gz dotfiles-8f9c77878f8742a47d34a50748023d1b552cfbf1.zip | |
guix primer
Diffstat (limited to 'mirenn/home/files/dotfiles')
59 files changed, 4047 insertions, 0 deletions
diff --git a/mirenn/home/files/dotfiles/.config/btop/btop.conf b/mirenn/home/files/dotfiles/.config/btop/btop.conf new file mode 100644 index 0000000..d6e4c59 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/btop/btop.conf @@ -0,0 +1,286 @@ +#? Config file for btop v.1.4.7 + +#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. +#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" +color_theme = "TTY" + +#* If the theme set background should be shown, set to False if you want terminal background transparency. +theme_background = false + +#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. +truecolor = true + +#* Set to true to force tty mode regardless if a real tty has been detected or not. +#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. +force_tty = false + +#* Option to disable presets. Either the default preset, custom presets, or all presets. +#* "Off" All presets are enabled. +#* "Default" preset is disabled.#* "Custom" presets are disabled.#* "All" presets are disabled. +disable_presets = "Off" + +#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. +#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. +#* Use whitespace " " as separator between different presets. +#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" +presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" + +#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. +#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. +vim_keys = false + +#* Disable all mouse events. +disable_mouse = false + +#* Rounded corners on boxes, is ignored if TTY mode is ON. +rounded_corners = false + +#* Use terminal synchronized output sequences to reduce flickering on supported terminals. +terminal_sync = true + +#* Default symbols to use for graph creation, "braille", "block" or "tty". +#* "braille" offers the highest resolution but might not be included in all fonts. +#* "block" has half the resolution of braille but uses more common characters. +#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. +#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. +graph_symbol = "braille" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_cpu = "default" + +# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty". +graph_symbol_gpu = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_mem = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_net = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_proc = "default" + +#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace. +shown_boxes = "proc cpu mem net" + +#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. +update_ms = 1000 + +#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", +#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. +proc_sorting = "cpu lazy" + +#* Reverse sorting order, True or False. +proc_reversed = false + +#* Show processes as a tree. +proc_tree = false + +#* Use the cpu graph colors in the process list. +proc_colors = true + +#* Use a darkening gradient in the process list. +proc_gradient = true + +#* If process cpu usage should be of the core it's running on or usage of the total available cpu power. +proc_per_core = true + +#* Show process memory as bytes instead of percent. +proc_mem_bytes = true + +#* Show cpu graph for each process. +proc_cpu_graphs = true + +#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) +proc_info_smaps = false + +#* Show proc box on left side of screen instead of right. +proc_left = false + +#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). +proc_filter_kernel = false + +#* Should the process list follow the selected process when detailed view is open. +proc_follow_detailed = true + +#* In tree-view, always accumulate child process resources in the parent process. +proc_aggregate = false + +#* Should cpu and memory usage display be preserved for dead processes when paused. +keep_dead_proc_usage = false + +#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_upper = "total" + +#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_lower = "total" + +#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off". +show_gpu_info = "Auto" + +#* Toggles if the lower CPU graph should be inverted. +cpu_invert_lower = true + +#* Set to True to completely disable the lower CPU graph. +cpu_single_graph = true + +#* Show cpu box at bottom of screen instead of top. +cpu_bottom = false + +#* Shows the system uptime in the CPU box. +show_uptime = true + +#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo. +show_cpu_watts = true + +#* Show cpu temperature. +check_temp = true + +#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. +cpu_sensor = "Auto" + +#* Show temperatures for cpu cores also if check_temp is True and sensors has been found. +show_coretemp = true + +#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. +#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. +#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. +#* Example: "4:0 5:1 6:3" +cpu_core_map = "" + +#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". +temp_scale = "celsius" + +#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. +base_10_sizes = false + +#* Show CPU frequency. +show_cpu_freq = true + +#* How to calculate CPU frequency, available values: "first", "range", "lowest", "highest" and "average". +freq_mode = "first" + +#* Draw a clock at top of screen, formatting according to strftime, empty string to disable. +#* Special formatting: /host = hostname | /user = username | /uptime = system uptime +clock_format = "%H:%M" + +#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. +background_update = true + +#* Custom cpu model name, empty string to disable. +custom_cpu_name = "" + +#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". +#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user" +disks_filter = "exclude=/boot" + +#* Show graphs instead of meters for memory values. +mem_graphs = true + +#* Show mem box below net box instead of above. +mem_below_net = false + +#* Count ZFS ARC in cached and available memory. +zfs_arc_cached = true + +#* If swap memory should be shown in memory box. +show_swap = true + +#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. +swap_disk = true + +#* If mem box should be split to also show disks info. +show_disks = true + +#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. +only_physical = true + +#* Read disks list from /etc/fstab. This also disables only_physical. +use_fstab = false + +#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) +zfs_hide_datasets = false + +#* Set to true to show available disk space for privileged users. +disk_free_priv = false + +#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. +show_io_stat = true + +#* Toggles io mode for disks, showing big graphs for disk read/write speeds. +io_mode = false + +#* Set to True to show combined read/write io graphs in io mode. +io_graph_combined = false + +#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". +#* Example: "/mnt/media:100 /:20 /boot:1". +io_graph_speeds = "" + +#* Swap the positions of the upload and download speed graphs. When true, upload will be on top. +swap_upload_download = false + +#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. +net_download = 100 + +net_upload = 100 + +#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. +net_auto = true + +#* Sync the auto scaling for download and upload to whichever currently has the highest scale. +net_sync = true + +#* Starts with the Network Interface specified here. +net_iface = "br0" + +#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes. +base_10_bitrate = "Auto" + +#* Show battery stats in top right if battery is present. +show_battery = true + +#* Which battery to use if multiple are present. "Auto" for auto detection. +selected_battery = "Auto" + +#* Show power stats of battery next to charge indicator. +show_battery_watts = true + +#* Set loglevel for "~/.local/state/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". +#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. +log_level = "DEBUG" + +#* Automatically save current settings to config file on exit. +save_config_on_exit = true + +#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards. +nvml_measure_pcie_speeds = true + +#* Measure PCIe throughput on AMD cards, may impact performance on certain cards. +rsmi_measure_pcie_speeds = true + +#* Horizontally mirror the GPU graph. +gpu_mirror_graph = true + +#* Set which GPU vendors to show. Available values are "nvidia amd intel apple" +shown_gpus = "nvidia amd intel" + +#* Custom gpu0 model name, empty string to disable. +custom_gpu_name0 = "" + +#* Custom gpu1 model name, empty string to disable. +custom_gpu_name1 = "" + +#* Custom gpu2 model name, empty string to disable. +custom_gpu_name2 = "" + +#* Custom gpu3 model name, empty string to disable. +custom_gpu_name3 = "" + +#* Custom gpu4 model name, empty string to disable. +custom_gpu_name4 = "" + +#* Custom gpu5 model name, empty string to disable. +custom_gpu_name5 = "" diff --git a/mirenn/home/files/dotfiles/.config/fastfetch/config.jsonc b/mirenn/home/files/dotfiles/.config/fastfetch/config.jsonc new file mode 100644 index 0000000..bfebe37 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/fastfetch/config.jsonc @@ -0,0 +1,76 @@ +// _____ _____ _____ _____ _____ _____ _____ _____ _____ +// | __| _ | __|_ _| __| __|_ _| | | | +// | __| |__ | | | | __| __| | | | --| | +// |__| |__|__|_____| |_| |__| |_____| |_| |_____|__|__| GUIX +// +// by Bina, modified by mirenn + + +// execute with: fastfetch --colors-block-range-start 9 --colors-block-width 3 + +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "source": "guix_small", + "padding": { + "top": 1, + } + }, + "display": { + "separator": " " + }, + "modules": [ + "break", + // { + // "type": "title", + // "keyWidth": 10 + // }, + { + "type": "os", + "key": " ", + "keyColor": "30", // = color3 + }, + { + "type": "kernel", + "key": " ", + "keyColor": "31", + }, + { + "type": "packages", + "format": "{guix-all} (guix)", + "combined": true, + "key": " ", + "keyColor": "32", + }, + { + "type": "shell", + "key": " ", + "keyColor": "33", + }, + { + "type": "terminal", + "key": " ", + "keyColor": "34", + }, + { + "type": "wm", + "key": " ", + "keyColor": "35", + }, + { + "type": "uptime", + "key": " ", + "keyColor": "36", + }, + { + "type": "media", + "key": " ", + "keyColor": "37", + }, + "break", + { + "type": "colors", + "block": { "width": 3, "range": [8, 15]} + } + ] +} diff --git a/mirenn/home/files/dotfiles/.config/fish/conf.d/interactive.fish b/mirenn/home/files/dotfiles/.config/fish/conf.d/interactive.fish new file mode 100644 index 0000000..8f82c33 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/fish/conf.d/interactive.fish @@ -0,0 +1,5 @@ +if status is-interactive + fish_add_path -p ~/.cargo/bin ~/.ghcup/bin + set -g fish_greeting + zoxide init fish | source +end diff --git a/mirenn/home/files/dotfiles/.config/fish/conf.d/theme.fish b/mirenn/home/files/dotfiles/.config/fish/conf.d/theme.fish new file mode 100644 index 0000000..9b5e536 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/fish/conf.d/theme.fish @@ -0,0 +1,38 @@ +set --global fish_color_autosuggestion brblack +set --global fish_color_cancel --reverse +set --global fish_color_command blue +set --global fish_color_comment red +set --global fish_color_cwd green +set --global fish_color_cwd_root red +set --global fish_color_end green +set --global fish_color_error brred +set --global fish_color_escape brcyan +set --global fish_color_history_current --bold +set --global fish_color_host normal +set --global fish_color_host_remote yellow +set --global fish_color_keyword normal +set --global fish_color_match --background=brblue +set --global fish_color_normal normal +set --global fish_color_operator brcyan +set --global fish_color_option cyan +set --global fish_color_param cyan +set --global fish_color_quote yellow +set --global fish_color_redirection cyan --bold +set --global fish_color_search_match bryellow --background=brblack +set --global fish_color_selection white --bold --background=brblack +set --global fish_color_status red +set --global fish_color_user brgreen +set --global fish_color_valid_path --underline +set --global fish_pager_color_background +set --global fish_pager_color_completion normal +set --global fish_pager_color_description yellow --italics +set --global fish_pager_color_prefix normal --bold --underline +set --global fish_pager_color_progress brwhite --background=cyan +set --global fish_pager_color_secondary_background +set --global fish_pager_color_secondary_completion +set --global fish_pager_color_secondary_description +set --global fish_pager_color_secondary_prefix +set --global fish_pager_color_selected_background --reverse +set --global fish_pager_color_selected_completion +set --global fish_pager_color_selected_description +set --global fish_pager_color_selected_prefix diff --git a/mirenn/home/files/dotfiles/.config/fish/functions/cat.fish b/mirenn/home/files/dotfiles/.config/fish/functions/cat.fish new file mode 100644 index 0000000..73b5541 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/fish/functions/cat.fish @@ -0,0 +1,3 @@ +function cat --wraps=bat --description 'alias cat bat' + bat $argv +end diff --git a/mirenn/home/files/dotfiles/.config/fish/functions/fish_prompt.fish b/mirenn/home/files/dotfiles/.config/fish/functions/fish_prompt.fish new file mode 100644 index 0000000..e0df61e --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/fish/functions/fish_prompt.fish @@ -0,0 +1,7 @@ +function fish_prompt + printf (if fish_is_root_user + echo '%s%s%s # ' + else + echo '%s%s%s $ ' + end) (set_color $fish_color_cwd) (prompt_pwd --full-length-dirs 5) (set_color normal) +end diff --git a/mirenn/home/files/dotfiles/.config/fish/functions/rm.fish b/mirenn/home/files/dotfiles/.config/fish/functions/rm.fish new file mode 100644 index 0000000..7d8fe20 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/fish/functions/rm.fish @@ -0,0 +1,3 @@ +function rm --wraps=trash --description 'alias rm trash' + trash $argv +end diff --git a/mirenn/home/files/dotfiles/.config/fish/functions/shrekfetch.fish b/mirenn/home/files/dotfiles/.config/fish/functions/shrekfetch.fish new file mode 100644 index 0000000..191c64f --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/fish/functions/shrekfetch.fish @@ -0,0 +1,3 @@ +function shrekfetch --wraps='fastfetch -l ~/Pictures/shrek.jpg --logo-type sixel --logo-width 30' --description 'alias shrekfetch fastfetch -l ~/Pictures/shrek.jpg --logo-type sixel --logo-width 30' + fastfetch -l ~/Pictures/shrek.jpg --logo-type sixel --logo-width 30 $argv +end diff --git a/mirenn/home/files/dotfiles/.config/nvim/.luarc.json b/mirenn/home/files/dotfiles/.config/nvim/.luarc.json new file mode 100644 index 0000000..3f7714a --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/.luarc.json @@ -0,0 +1,7 @@ +{ + "diagnostics.globals": [ + "vim", + "_lazygit_toggle", + "config" + ] +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/init.lua b/mirenn/home/files/dotfiles/.config/nvim/init.lua new file mode 100644 index 0000000..dbc863e --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/init.lua @@ -0,0 +1 @@ +require("config") diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/config/globals.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/config/globals.lua new file mode 100644 index 0000000..6ef2cd8 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/config/globals.lua @@ -0,0 +1,2 @@ +vim.g.mapleader = " " +vim.g.maplocalleader = " " diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/config/init.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/config/init.lua new file mode 100644 index 0000000..03722bd --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/config/init.lua @@ -0,0 +1,3 @@ +require("config.lazy") +require("config.keymaps") +require("config.options") diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/config/keymaps.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/config/keymaps.lua new file mode 100644 index 0000000..d81308d --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/config/keymaps.lua @@ -0,0 +1,39 @@ +-- define common options +local keymap = vim.keymap +local opts = { + noremap = true, -- non-recursive + silent = true, -- do not show message +} + +-- Pane Navigation +keymap.set("n", "<C-h>", "<C-w>h", opts) +keymap.set("n", "<C-j>", "<C-w>j", opts) +keymap.set("n", "<C-k>", "<C-w>k", opts) +keymap.set("n", "<C-l>", "<C-w>l", opts) + +-- Window Resize +keymap.set("n", "<C-Up>", ":resize -2<Enter>", opts) +keymap.set("n", "<C-Down>", ":resize +2<Enter>", opts) +keymap.set("n", "<C-Left>", ":vertical resize -2<Enter>", opts) +keymap.set("n", "<C-Right>", ":vertical resize +2<Enter>", opts) + +-- Window Managment +keymap.set("n", "<Space>sv", ":vsplit<Enter>", opts) +keymap.set("n", "<Space>sh", ":split<Enter>", opts) + +-- Indending +keymap.set("v", "<", "<gv") +keymap.set("v", ">", ">gv") + +-- Comments +vim.api.nvim_set_keymap("n", "<C-c>", "gcc", { noremap = false }) +vim.api.nvim_set_keymap("v", "<C-c>", "gb", { noremap = false }) + +-- Buffer kill +-- keymap.set("n", "<C-q>", ":bunload<Enter>", opts) + +-- Working +keymap.set("n", "<C-s>", ":w<Enter>", opts) + +-- Format All +keymap.set("n", "fa", "ggVG=<C-o>", opts) diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/config/lazy.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/config/lazy.lua new file mode 100644 index 0000000..135704c --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/config/lazy.lua @@ -0,0 +1,47 @@ +-- bootstrap lazy +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + vim.fn.system({ + "git", + "clone", + "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", + "--branch=stable", -- latest stable release + lazypath, + }) +end +vim.opt.rtp:prepend(lazypath) + +require("config.globals") + +local opts = { + defaults = { + lazy = true, + }, + rtp = { + disabled_plugins = { + "gzip", + "matchit", + "matchparen", + "netrw", + "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + } + }, + change_detection = { + notify = false, + }, + ui = { + border = "rounded", + backdrop = 100, + }, + checker = { + enabled = true, + }, + lockfile = vim.fn.stdpath("state") .. "/lazy-lock.json", +} + +require("lazy").setup("plugins", opts) diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/config/options.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/config/options.lua new file mode 100644 index 0000000..e465418 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/config/options.lua @@ -0,0 +1,51 @@ +local opt = vim.opt + +-- Indent +opt.tabstop = 2 +opt.softtabstop = 2 +opt.shiftwidth = 2 +opt.expandtab = false +opt.smartindent = true +opt.wrap = false +vim.api.nvim_create_autocmd("FileType", { + pattern = "bend", + callback = function() + vim.opt_local.expandtab = true + vim.opt_local.tabstop = 4 + vim.opt_local.shiftwidth = 4 + end, +}) + + +-- Appearance +opt.number = true +opt.relativenumber = false +opt.cursorline = true +opt.termguicolors = true +opt.showmode = true +opt.colorcolumn = "100" +opt.signcolumn = "yes" +opt.cmdheight = 1 +opt.scrolloff = 10 +opt.completeopt = "menuone,noinsert,noselect" +opt.conceallevel = 3 + +-- Search +opt.incsearch = true +opt.hlsearch = false +opt.ignorecase = true +opt.smartcase = true + +-- Behaviuor +opt.hidden = true +opt.errorbells = false +opt.swapfile = false +opt.backup = false +opt.backspace = "indent,eol,start" +opt.splitright = true +opt.splitbelow = true +opt.autochdir = false +opt.mouse = "a" +opt.clipboard = "unnamedplus" +opt.modifiable = true +opt.encoding = "UTF-8" diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/comment.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/comment.lua new file mode 100644 index 0000000..559fd3c --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/comment.lua @@ -0,0 +1,6 @@ +return { + "numToStr/Comment.nvim", + lazy = true, + event = { "BufReadPost", "BufWritePost", "BufNewFile" }, + opts = {} +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/gitsigns.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/gitsigns.lua new file mode 100644 index 0000000..2df9a2e --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/gitsigns.lua @@ -0,0 +1,57 @@ +local opts = { + signs = { + add = { text = '┃' }, + change = { text = '┃' }, + delete = { text = '_' }, + topdelete = { text = '‾' }, + changedelete = { text = '~' }, + untracked = { text = '┆' }, + }, + signs_staged = { + add = { text = '┃' }, + change = { text = '┃' }, + delete = { text = '_' }, + topdelete = { text = '‾' }, + changedelete = { text = '~' }, + untracked = { text = '┆' }, + }, + signs_staged_enable = true, + signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` + numhl = false, -- Toggle with `:Gitsigns toggle_numhl` + linehl = false, -- Toggle with `:Gitsigns toggle_linehl` + word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` + watch_gitdir = { + follow_files = true + }, + auto_attach = true, + attach_to_untracked = false, + current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` + current_line_blame_opts = { + virt_text = true, + virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align' + delay = 1000, + ignore_whitespace = false, + virt_text_priority = 100, + use_focus = true, + }, + current_line_blame_formatter = '<author>, <author_time:%R> - <summary>', + sign_priority = 6, + update_debounce = 100, + status_formatter = nil, -- Use default + max_file_length = 40000, -- Disable if file is longer than this (in lines) + preview_config = { + -- Options passed to nvim_open_win + style = 'minimal', + relative = 'cursor', + row = 0, + col = 1 + }, +} + +return { + "lewis6991/gitsigns.nvim", + lazy = true, + event = "VeryLazy", + -- event = { "BufReadPost", "BufWritePost", "BufNewFile" }, + opts = opts, +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/indent-blankline.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/indent-blankline.lua new file mode 100644 index 0000000..af9cff8 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/indent-blankline.lua @@ -0,0 +1,16 @@ +return { + "lukas-reineke/indent-blankline.nvim", + lazy = true, + event = { "BufReadPost", "BufWritePost", "BufNewFile" }, + main = "ibl", + ---@module "ibl" + ---@type ibl.config + opts = { + exclude = { + filetypes = { + "dashboard", + "norg" + }, + }, + }, +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazy.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazy.lua new file mode 100644 index 0000000..d48db7e --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazy.lua @@ -0,0 +1,12 @@ +local init = function() + local keymap = vim.keymap + keymap.set("n", "<Space>p", ":Lazy home<Enter>", + { noremap = true, silent = true, desc = "Plugin Manager (Lazy)" }) +end + + +return { + "folke/lazy.nvim", + lazy = false, + init = init +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazydev.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazydev.lua new file mode 100644 index 0000000..704d963 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazydev.lua @@ -0,0 +1,5 @@ +return { + "folke/lazydev.nvim", + ft = "lua", -- only load on lua files + opts = {} +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lspsaga.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lspsaga.lua new file mode 100644 index 0000000..86e949f --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lspsaga.lua @@ -0,0 +1,34 @@ +local config = function() + vim.diagnostic.config({ + severity_sort = true, + virtual_lines = true, + virtual_text = false + }) + require("lspsaga").setup({ + ui = { + code_action = "", + }, + outline = { + keys = { + toggle_or_jump = "<Enter>" + } + }, + finder = { + keys = { + toggle_or_open = "<Enter>", + shuttle = "<Tab>", + } + }, + }) +end + +return { + "nvimdev/lspsaga.nvim", + lazy = true, + event = { "BufReadPost", "BufWritePost", "BufNewFile" }, + config = config, + dependencies = { + "nvim-treesitter/nvim-treesitter", -- optional + "nvim-tree/nvim-web-devicons", -- optional + }, +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lualine.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lualine.lua new file mode 100644 index 0000000..495822e --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lualine.lua @@ -0,0 +1,32 @@ +local opts = { + options = { + theme = "auto", + globalstatus = true, + disabled_filetypes = { "toggleterm", "lazy", "oil", "dashboard", "TelescopePrompt", "oil_preview", "ministarter" } + }, + sections = { + lualine_a = { "mode" }, + lualine_b = { "branch", "diff", + { + "diagnostics", + sections = { "error", "warn", "info", "hint" }, + symbols = { error = " ", warn = " ", info = " ", hint = " " }, + } + }, + lualine_c = { + { + require("lazy.status").updates, + cond = require("lazy.status").has_updates, + color = { fg = "#ff9e64" }, + }, + }, + }, +} + +return { + "nvim-lualine/lualine.nvim", + lazy = true, + event = "VeryLazy", + -- event = { "BufReadPost", "BufWritePost", "BufNewFile" }, + opts = opts, +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/mini-starter.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/mini-starter.lua new file mode 100644 index 0000000..67aae04 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/mini-starter.lua @@ -0,0 +1,227 @@ +Headers = { + [[ + ███╗ ██╗ ███████╗ ██████╗ ██╗ ██╗ ██╗ ███╗ ███╗ + ████╗ ██║ ██╔════╝██╔═══██╗ ██║ ██║ ██║ ████╗ ████║ + ██╔██╗ ██║ █████╗ ██║ ██║ ██║ ██║ ██║ ██╔████╔██║ + ██║╚██╗██║ ██╔══╝ ██║ ██║ ╚██╗ ██╔╝ ██║ ██║╚██╔╝██║ + ██║ ╚████║ ███████╗╚██████╔╝ ╚████╔╝ ██║ ██║ ╚═╝ ██║ + ╚═╝ ╚═══╝ ╚══════╝ ╚═════╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝ + ]], + [[ + ███▄ █ ▓█████ ▒█████ ██▒ █▓ ██▓ ███▄ ▄███▓ + ██ ▀█ █ ▓█ ▀ ▒██▒ ██▒▓██░ █▒▓██▒▓██▒▀█▀ ██▒ + ▓██ ▀█ ██▒▒███ ▒██░ ██▒ ▓██ █▒░▒██▒▓██ ▓██░ + ▓██▒ ▐▌██▒▒▓█ ▄ ▒██ ██░ ▒██ █░░░██░▒██ ▒██ + ▒██░ ▓██░░▒████▒░ ████▓▒░ ▒▀█░ ░██░▒██▒ ░██▒ + ░ ▒░ ▒ ▒ ░░ ▒░ ░░ ▒░▒░▒░ ░ ▐░ ░▓ ░ ▒░ ░ ░ + ░ ░░ ░ ▒░ ░ ░ ░ ░ ▒ ▒░ ░ ░░ ▒ ░░ ░ ░ + ░ ░ ░ ░ ░ ░ ░ ▒ ░░ ▒ ░░ ░ + ░ ░ ░ ░ ░ ░ ░ ░ + ░ + ]], + [[ + ██████ █████ █████ █████ ███ + ░░██████ ░░███ ░░███ ░░███ ░░░ + ░███░███ ░███ ██████ ██████ ░███ ░███ ████ █████████████ + ░███░░███░███ ███░░███ ███░░███ ░███ ░███ ░░███ ░░███░░███░░███ + ░███ ░░██████ ░███████ ░███ ░███ ░░███ ███ ░███ ░███ ░███ ░███ + ░███ ░░█████ ░███░░░ ░███ ░███ ░░░█████░ ░███ ░███ ░███ ░███ + █████ ░░█████░░██████ ░░██████ ░░███ █████ █████░███ █████ + ░░░░░ ░░░░░ ░░░░░░ ░░░░░░ ░░░ ░░░░░ ░░░░░ ░░░ ░░░░░ + ]], + [[ + ▐ ▄ ▄▄▄ . ▌ ▐·▪ • ▌ ▄ ·. + •█▌▐█▀▄.▀· ▄█▀▄ ▪█·█▌██ ·██ ▐███▪ + ▐█▐▐▌▐▀▀▪▄▐█▌.▐▌▐█▐█•▐█·▐█ ▌▐▌▐█· + ██▐█▌▐█▄▄▌▐█▌.▐▌ ███ ▐█▌██ ██▌▐█▌ + ▀▀ █▪ ▀▀▀ ▀█▄▀▪. ▀ ▀▀▀▀▀ █▪▀▀▀ + ]], + [[ + __ __ ________ ______ __ __ ______ __ __ + | \ | \ \/ \| \ | \ \ \ / \ + | ▓▓\ | ▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓\ ▓▓ | ▓▓\▓▓▓▓▓▓ ▓▓\ / ▓▓ + | ▓▓▓\| ▓▓ ▓▓__ | ▓▓ | ▓▓ ▓▓ | ▓▓ | ▓▓ | ▓▓▓\ / ▓▓▓ + | ▓▓▓▓\ ▓▓ ▓▓ \ | ▓▓ | ▓▓\▓▓\ / ▓▓ | ▓▓ | ▓▓▓▓\ ▓▓▓▓ + | ▓▓\▓▓ ▓▓ ▓▓▓▓▓ | ▓▓ | ▓▓ \▓▓\ ▓▓ | ▓▓ | ▓▓\▓▓ ▓▓ ▓▓ + | ▓▓ \▓▓▓▓ ▓▓_____| ▓▓__/ ▓▓ \▓▓ ▓▓ _| ▓▓_| ▓▓ \▓▓▓| ▓▓ + | ▓▓ \▓▓▓ ▓▓ \\▓▓ ▓▓ \▓▓▓ | ▓▓ \ ▓▓ \▓ | ▓▓ + \▓▓ \▓▓\▓▓▓▓▓▓▓▓ \▓▓▓▓▓▓ \▓ \▓▓▓▓▓▓\▓▓ \▓▓ + ]], + [[ + ▀███▄ ▀███▀███▀▀▀███ ▄▄█▀▀██▄ ▀████▀ ▀███▀████▀████▄ ▄███▀ + ███▄ █ ██ ▀█▄██▀ ▀██▄ ▀██ ▄█ ██ ████ ████ + █ ███ █ ██ █ ██▀ ▀██ ██▄ ▄█ ██ █ ██ ▄█ ██ + █ ▀██▄ █ ██████ ██ ██ ██▄ █▀ ██ █ █▓ █▀ ██ + █ ▀██▄▓ ██ █ ▄█ ██ ▀▓█ ▓▀ █▓ ▓ █▓▄█▀ ██ + ▓ ▓█▓ █▓ ▄███ ██▀ ▓██▄ █▓ ▓ ▀▓█▀ ██ + ▓ ▀▓▓▓▓ ▓▓ ▓ ▓██ ▓█▓ ▓▓ ▓▀ ▓▓ ▓ ▓▓▓▓▀ ▓▓ + ▓ ▓▓▓ ▓▓ ▓▓█▓▓▓ ▓▓▓ ▓▓▒▒ ▒▓ ▒ ▀▓▓▀ ▓▓ + ▒ ▒ ▒ ▒▓▓▒ ▒▒▒▓▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒▓▒ ▒▒ ▒▒▒ ▒ ▒ ▒▒▒ + ]], + [[ + ⣴⣶⣤⡤⠦⣤⣀⣤⠆ ⣈⣭⣿⣶⣿⣦⣼⣆ + ⠉⠻⢿⣿⠿⣿⣿⣶⣦⠤⠄⡠⢾⣿⣿⡿⠋⠉⠉⠻⣿⣿⡛⣦ + ⠈⢿⣿⣟⠦ ⣾⣿⣿⣷ ⠻⠿⢿⣿⣧⣄ + ⣸⣿⣿⢧ ⢻⠻⣿⣿⣷⣄⣀⠄⠢⣀⡀⠈⠙⠿⠄ + ⢠⣿⣿⣿⠈ ⣻⣿⣿⣿⣿⣿⣿⣿⣛⣳⣤⣀⣀ + ⢠⣧⣶⣥⡤⢄ ⣸⣿⣿⠘ ⢀⣴⣿⣿⡿⠛⣿⣿⣧⠈⢿⠿⠟⠛⠻⠿⠄ + ⣰⣿⣿⠛⠻⣿⣿⡦⢹⣿⣷ ⢊⣿⣿⡏ ⢸⣿⣿⡇ ⢀⣠⣄⣾⠄ + ⣠⣿⠿⠛ ⢀⣿⣿⣷⠘⢿⣿⣦⡀ ⢸⢿⣿⣿⣄ ⣸⣿⣿⡇⣪⣿⡿⠿⣿⣷⡄ + ⠙⠃ ⣼⣿⡟ ⠈⠻⣿⣿⣦⣌⡇⠻⣿⣿⣷⣿⣿⣿ ⣿⣿⡇ ⠛⠻⢷⣄ + ⢻⣿⣿⣄ ⠈⠻⣿⣿⣿⣷⣿⣿⣿⣿⣿⡟ ⠫⢿⣿⡆ + ⠻⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⡟⢀⣀⣤⣾⡿⠃ + ]], + [[ + ,-. _,---._ __ / \ + / ) .-' `./ / \ + ( ( ,' `/ /| + \ `-" \'\ / | + `. , \ \ / | + /`. ,'-`----Y | + ( ; | ' + | ,-. ,-' | / + | | ( | | / + ) | \ `.___________|/ + `--' `--' + ]], + [[ + |\ _,,,---,,_ + ZZZzz /,`.-'`' -. ;-;;,_ + |,4- ) )-,_. ,\ ( `'-' + '---''(_/--' `-'\_) + ]], + [[ + ╭╮╭┬─╮╭─╮┬ ┬┬╭┬╮ + │││├┤ │ │╰┐┌╯││││ + ╯╰╯╰─╯╰─╯ ╰╯ ┴┴ ┴ + ]], +} + +Quotes = { + [[ + I don't care that they stole my idea... I care that they don't have any of their own. + ~ Nikola Tesla + ]], + [[ + Make everything as simple as possible, but not simpler. + ~ Albert Einstein + ]], + [[ + Code never lies, comments sometimes do. + ~ Ron Jeffries + ]], + [[ + Good code is its own best documentation. + ~ Steve McConnell + ]], + [[ + I do not fear computers. I fear the lack of them. + ~ Isaac Asimov + ]], + [[ + If a machine is expected to be infallible, it cannot also be intelligent. + ~ Alan Turing + ]], + [[ + Mathematical reasoning may be regarded. + ~ Alan Turing + ]], + [[ + Anti-social behavior is a trait of intelligence in a world full of conformists. + ~ Nikola Tesla + ]], + [[ + We are very, very small, but we are profoundly capable of very, very big things. + ~ Stephen Hawking + ]], + [[ + Quiet people have the loudest minds. + ~ Stephen Hawking + ]], + [[ + An idiot admires complexity, a genius admires simplicity. + ~ Terry Davis + ]], + [[ + It's hardware that makes a machine fast. It's software that makes a fast machine slow. + ~ Craig Reucassel + ]], + [[ + Computer science is no more about computers than astronomy is about telescopes. + ~ Edsger Dijkstra + ]], + [[ + An algorithm must be seen to be believed. + ~ Donald Knuth + ]], + [[ + In theory there is no difference between theory and practice. + In practice there is. + ~ Yogi Berra + ]], + [[ + If Java had true garbage collection, most programs would delete themselves upon execution. + ~ Robert Sewell + ]], + [[ + If debugging is the process of removing software bugs, + then programming must be the process of putting them in. + ~ Edsger Dijkstra + ]], + [[ + Most of you are familiar with the virtues of a programmer. + There are three, of course: laziness, impatience, and hubris. + ~ Larry Wall + ]], + [[ + The question of whether computers can think is like the question of whether submarines can swim. + ~ Edsger Dijkstra + ]], + [[ + Of course, I'd also suggest that whoever was the genius who thought it was a good idea to read + things ONE F*CKING BYTE AT A TIME with system calls for each byte should be retroactively aborted. + Who the f*ck does idiotic things like that? How did they not die as babies, considering that they + were likely too stupid to find a tit to suck on? + ~ Linus Torvalds + ]] +} + + +math.randomseed(os.time()) + +local header = function() + return Headers[math.random(#Headers)] +end + +local footer = function() + return Quotes[math.random(#Quotes)] +end + + +local config = function() + local starter = require("mini.starter") + vim.keymap.set("n", "<Space>d", starter.open, { desc = "Dashboard" }) + starter.setup({ + autoopen = true, + evaluate_single = false, + items = { + starter.sections.recent_files(5, false, true), + { name = "Plugin Manager", action = "Lazy", section = "Actions" }, + { name = "File Browser", action = "Oil --float", section = "Actions" }, + { name = "Neorg Index", action = "Neorg index", section = "Actions" }, + { name = 'Edit new buffer', action = 'enew', section = 'Actions' }, + { name = 'Quit Neovim', action = 'qall', section = 'Actions' }, + }, + header = header, + footer = footer, + content_hooks = nil, + query_updaters = "abcdefghijklmnopqrstuvwxyz0123456789_-.", + silent = false, + }) +end + +return { + "echasnovski/mini.starter", + lazy = false, + config = config +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neopywal.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neopywal.lua new file mode 100644 index 0000000..7c37dbe --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neopywal.lua @@ -0,0 +1,26 @@ +local init = function() + vim.cmd.colorscheme("neopywal") +end + +local config = function() + require("neopywal").setup({ + plugins = { + treesitter = true + }, + custom_colors = {}, + custom_highlights = {}, + use_palette = { + light = "wallust", + dark = "wallust", + }, + }) +end + +return { + "RedsXDD/neopywal.nvim", + lazy = false, + name = "neopywal", + init = init, + config = config, + priority = 1000, +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neorg.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neorg.lua new file mode 100644 index 0000000..b6480b8 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neorg.lua @@ -0,0 +1,127 @@ +local config = function() + vim.api.nvim_create_autocmd("Filetype", { + pattern = "norg", + callback = function() + -- remap keybinds + vim.keymap.set("n", "<Space>nn", "<Plug>(neorg.dirman.new-note)", { buffer = true }) + vim.keymap.set("n", "<Space>tc", "<cmd>Neorg toc<CR>", { buffer = true }) + + vim.keymap.set("i", "<C-d>", "<Plug>(neorg.promo.demote)", { buffer = true }) + vim.keymap.set("i", "<C-t>", "<Plug>(neorg.promo.promote)", { buffer = true }) + vim.keymap.set("i", "<M-CR>", "<Plug>(neorg.itero.next-iteration)", { buffer = true }) + vim.keymap.set("i", "<M-d>", "<Plug>(neorg.tempus.insert-date.insert-mode)", { buffer = true }) + + vim.keymap.set("n", "<.", "<Plug>(neorg.promo.demote)", { buffer = true }) + vim.keymap.set("n", "<<", "<Plug>(neorg.promo.demote.nested)", { buffer = true }) + vim.keymap.set("n", "<C-Space>", "<Plug>(neorg.qol.todo-items.todo.task-cycle)", + { buffer = true }) + vim.keymap.set("n", "<CR>", "<Plug>(neorg.esupports.hop.hop-link)", { buffer = true }) + vim.keymap.set("n", "<Space>cm", "<Plug>(neorg.looking-glass.magnify-code-block)", + { buffer = true }) + vim.keymap.set("n", "<Space>id", "<Plug>(neorg.tempus.insert-date)", { buffer = true }) + vim.keymap.set("n", "<Space>li", "<Plug>(neorg.pivot.list.invert)", { buffer = true }) + vim.keymap.set("n", "<Space>lt", "<Plug>(neorg.pivot.list.toggle)", { buffer = true }) + vim.keymap.set("n", "<Space>ma", "<Plug>(neorg.qol.todo-items.todo.task-ambiguous)", + { buffer = true }) + vim.keymap.set("n", "<Space>mc", "<Plug>(neorg.qol.todo-items.todo.task-cancelled)", + { buffer = true }) + vim.keymap.set("n", "<Space>md", "<Plug>(neorg.qol.todo-items.todo.task-done)", { buffer = true }) + vim.keymap.set("n", "<Space>mh", "<Plug>(neorg.qol.todo-items.todo.task-on-hold)", + { buffer = true }) + vim.keymap.set("n", "<Space>mi", "<Plug>(neorg.qol.todo-items.todo.task-important)", + { buffer = true }) + vim.keymap.set("n", "<Space>mp", "<Plug>(neorg.qol.todo-items.todo.task-pending)", + { buffer = true }) + vim.keymap.set("n", "<Space>mr", "<Plug>(neorg.qol.todo-items.todo.task-recurring)", + { buffer = true }) + vim.keymap.set("n", "<Space>mu", "<Plug>(neorg.qol.todo-items.todo.task-undone)", + { buffer = true }) + vim.keymap.set("n", "<M-CR>", "<Plug>(neorg.esupports.hop.hop-link.vsplit)", { buffer = true }) + vim.keymap.set("n", "<M-t>", "<Plug>(neorg.esupports.hop.hop-link.tab-drop)", { buffer = true }) + vim.keymap.set("n", ">.", "Plug>(neorg.promo.promote)", { buffer = true }) + vim.keymap.set("n", ">>", "Plug>(neorg.promo.promote.nested)", { buffer = true }) + + vim.keymap.set("v", "<", "<Plug>(neorg.promo.demote.range)", { buffer = true }) + vim.keymap.set("v", ">", "<Plug>(neorg.promo.promote.range)", { buffer = true }) + end, + }) + + require("neorg").setup({ + load = { + ["core.defaults"] = { + config = { + disable = { + "core.esupports.metagen", + "core.journal", + } + } + }, + ["core.keybinds"] = { + config = { + default_keybinds = false + } + }, + ["core.summary"] = {}, + -- ["core.latex.renderer"] = {}, + ["core.export"] = {}, + ["core.dirman"] = { + config = { + default_workspace = "documents", + workspaces = { + documents = "~/Documents/neorg", + physics = "~/Documents/neorg/uni/fisica", + asd = "~/Documents/neorg/uni/algoritmi-strutture-dati", + }, + index = "index.norg" + } + }, + ["core.completion"] = { + config = { + engine = "nvim-cmp" + } + }, + ["core.journal"] = { + config = { + journal_folder = "journal", + workspace = "documents" + } + }, + ["core.esupports.metagen"] = { + config = { + timezone = "implicit-local", + type = "auto" + } + }, + ["core.concealer"] = { + config = { + folds = false, + icons = { + heading = { + icons = { "", "", "", "", "", "" }, + }, + todo = { + cancelled = { icon = "" }, + pending = { icon = "" }, + uncertain = { icon = "" }, + urgent = { icon = "" }, + }, + code_block = { + conceal = true, + } + } + } + } + } + }) +end + +return { + "nvim-neorg/neorg", + enabled = false, + lazy = true, + ft = "norg", + cmd = "Neorg", + version = "*", -- Pin Neorg to the latest stable release + config = config, + -- dependencies = { "3rd/image.nvim" } +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/noice.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/noice.lua new file mode 100644 index 0000000..43a12b2 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/noice.lua @@ -0,0 +1,28 @@ +local opts = { + lsp = { + -- override markdown rendering so that **cmp** and other plugins use **Treesitter** + override = { + ["vim.lsp.util.convert_input_to_markdown_lines"] = true, + ["vim.lsp.util.stylize_markdown"] = true, + ["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp + }, + }, + -- you can enable a preset for easier configuration + presets = { + bottom_search = true, -- use a classic bottom cmdline for search + command_palette = true, -- position the cmdline and popupmenu together + long_message_to_split = true, -- long messages will be sent to a split + inc_rename = false, -- enables an input dialog for inc-rename.nvim + lsp_doc_border = true, -- add a border to hover docs and signature help + }, +} + +return { + "folke/noice.nvim", + lazy = true, + event = "VeryLazy", + opts = opts, + dependencies = { + "MunifTanjim/nui.nvim", + }, +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-autopairs.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-autopairs.lua new file mode 100644 index 0000000..d92a8cc --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-autopairs.lua @@ -0,0 +1,6 @@ +return { + "windwp/nvim-autopairs", + lazy = true, + event = "InsertEnter", + config = true +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-cmp.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-cmp.lua new file mode 100644 index 0000000..b7d71a3 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-cmp.lua @@ -0,0 +1,64 @@ +local config = function() + local cmp = require("cmp") + vim.opt.completeopt = "menu,menuone" + + cmp.setup({ + formatting = { + expandable_indicator = false, + fields = { "abbr", "kind" }, + format = require("lspkind").cmp_format({ + mode = "text_symbol", + maxwidth = function() return math.floor(0.45 * vim.o.columns) end, + ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first) + before = function(_, vim_item) + vim_item.menu = "" + return vim_item + end + }) + }, + snippet = { + expand = function(args) + vim.snippet.expand(args.body) + end, + }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + mapping = { + ["<TAB>"] = cmp.mapping.select_next_item(), + ["<C-b>"] = cmp.mapping.scroll_docs(-4), + ["<C-f>"] = cmp.mapping.scroll_docs(4), + ["<C-Space>"] = cmp.mapping.complete(), + ["<C-e>"] = cmp.mapping.abort(), + ["<CR>"] = cmp.mapping.confirm({ select = true }), + }, + sources = cmp.config.sources( + { + { name = "lazydev", group_index = 0 } + }, { + { name = "neorg" } + }, { + { name = "nvim_lsp" }, + }, { + { name = "path" }, + }, { + { name = "buffer" }, + } + ) + }) +end + +return { + "hrsh7th/nvim-cmp", + lazy = true, + event = "InsertEnter", + config = config, + dependencies = { + "neovim/nvim-lspconfig", + "onsails/lspkind.nvim", + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-buffer", + "hrsh7th/cmp-path", + }, +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-lspconfig.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-lspconfig.lua new file mode 100644 index 0000000..4c69816 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-lspconfig.lua @@ -0,0 +1,138 @@ +local config = function() + local lsp = vim.lsp + local capabilities = require("cmp_nvim_lsp").default_capabilities() + + -- setting custom signs + vim.diagnostic.config({ + signs = { + text = { + [vim.diagnostic.severity.ERROR] = '', + [vim.diagnostic.severity.WARN] = '', + [vim.diagnostic.severity.HINT] = '', + [vim.diagnostic.severity.INFO] = '', + }, + linehl = { + [vim.diagnostic.severity.ERROR] = 'ErrorMsg', + }, + numhl = { + [vim.diagnostic.severity.WARN] = 'WarningMsg', + }, + }, + }) + + vim.api.nvim_create_autocmd('LspAttach', { + callback = function(ev) + local client = lsp.get_client_by_id(ev.data.client_id) + local keymap = vim.keymap + local opts = { noremap = true, silent = true, buffer = ev.buf, desc = "" } + + -- setting custom keymaps + opts.desc = "Finder" + keymap.set("n", "<Space>lf", ":Lspsaga finder<Enter>", opts) -- go to definition + opts.desc = "Peek Definition (Lspsaga)" + keymap.set("n", "<Space>lp", ":Lspsaga peek_definition<Enter>", opts) -- peak definition + opts.desc = "Goto Definition (Lspsaga)" + keymap.set("n", "<Space>lg", ":Lspsaga goto_definition<Enter>", opts) -- go to definition + opts.desc = "Code Action (Lspsaga)" + keymap.set("n", "<Space>la", ":Lspsaga code_action<Enter>", opts) -- see available code actions + opts.desc = "Rename (Lspsaga)" + keymap.set("n", "<Space>lr", ":Lspsaga rename<Enter>", opts) -- smart rename + opts.desc = "Hover Documentation (Lspsaga)" + keymap.set("n", "<Space>lk", lsp.buf.hover, opts) -- show documentation for what is under cursor + opts.desc = "Outline (Lspsaga)" + keymap.set("n", "<Space>lo", ":Lspsaga outline<Enter>", opts) -- show outline + opts.desc = "Diagnostic (Lspsaga)" + keymap.set("n", "<Space>ld", ":Lspsaga show_workspace_diagnostics<Enter>", opts) -- show diagnostics + + -- enable auto formatting on save + if client ~= nil and client:supports_method("textDocument/formatting") then + vim.api.nvim_create_autocmd("BufWritePre", { + buffer = ev.buf, + callback = function() + lsp.buf.format({ async = true }) + end, + }) + end + end + }) + + vim.api.nvim_create_autocmd('LspDetach', { + callback = function(ev) + local client = lsp.get_client_by_id(ev.data.client_id) + local keymap = vim.keymap + keymap.del("n", "<Space>lf") + keymap.del("n", "<Space>lp") + keymap.del("n", "<Space>lg") + keymap.del("n", "<Space>la") + keymap.del("n", "<Space>lr") + keymap.del("n", "<Space>lk") + keymap.del("n", "<Space>lo") + keymap.del("n", "<Space>ld") + if client ~= nil and client:supports_method('textDocument/formatting') then + vim.api.nvim_clear_autocmds({ + event = 'BufWritePre', + buffer = ev.buf, + }) + end + end, + }) + + -- C/C++ + lsp.enable("clangd") + lsp.config("clangd", { + capabilities = capabilities, + }) + -- Rust + lsp.enable("rust_analyzer") + lsp.config("rust_analyzer", { + capabilities = capabilities, + }) + -- Haskell + lsp.enable("hls") + lsp.config("hls", { + capabilities = capabilities, + settings = { + ['haskell'] = { + cabalFormattingProvider = "cabalfmt", + formattingProvider = "ormolu" + }, + }, + }) + -- Lua + lsp.enable("lua_ls") + lsp.config("lua_ls", { + capabilities = capabilities, + }) + -- JavaScript/Typescript + lsp.enable("ts_ls") + lsp.config("ts_ls", { + capabilities = capabilities, + }) + -- CSS + lsp.enable("cssls") + lsp.config("cssls", { + capabilities = capabilities, + }) + -- Meson + lsp.enable("mesonlsp") + lsp.config("mesonlsp", { + capabilities = capabilities, + }) + -- Zig + lsp.enable("zls") + lsp.config("zls", { + capabilities = capabilities, + }) + -- Python + lsp.enable("pyright") + lsp.config("pyright", { + capabilities = capabilities, + }) +end + +return { + "neovim/nvim-lspconfig", + config = config, + lazy = true, + event = { "FileType" }, +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-treesitter.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-treesitter.lua new file mode 100644 index 0000000..15d88b1 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-treesitter.lua @@ -0,0 +1,54 @@ +local config = function() + require("nvim-treesitter.config").setup { + install_dir = vim.fn.stdpath('data') .. '/site', + auto_install = false, + sync_install = false, + highlight = { + enable = true, + additional_vim_regex_highlighting = false, + }, + incremental_selection = { + enable = true + }, + indent = { + enable = true, + }, + autotag = { + enable = true, + }, + } + + local parsers = { + "c", + "lua", + "markdown", + "vim", + "vimdoc", + "query", + "regex", + "diff", + "cmake", + "meson", + "markdown_inline", + "bash", + "toml", + "latex", + "cpp", + "rust", + "haskell", + "nix", + "javascript", + "norg", + "fish", + "kdl", + } + -- require("nvim-treesitter").install(parsers) +end + +return { + "nvim-treesitter/nvim-treesitter", + lazy = false, + branch = "main", + -- build = ":TSUpdate", + config = config +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/oil.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/oil.lua new file mode 100644 index 0000000..0d90db2 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/oil.lua @@ -0,0 +1,63 @@ +local init = function() + local keymap = vim.keymap + keymap.set("n", "<Space>b", ":Oil --float .<Enter>", + { noremap = true, silent = true, desc = "File browser (Oil)" }) -- Oil +end + +local config = function() + local detail = false + require("oil").setup({ + float = { + border = "rounded", + }, + confirmation = { + border = "rounded", + }, + progress = { + border = "rounded", + }, + ssh = { + border = "rounded", + }, + keymaps_help = { + border = "rounded", + }, + default_file_explorer = true, + delete_to_trash = true, + skip_confirm_for_simple_edits = true, + keymaps = { + ["b?"] = "actions.show_help", + ["<CR>"] = "actions.select", + ["bp"] = "actions.preview", + ["q"] = "actions.close", + ["br"] = "actions.refresh", + ["-"] = "actions.parent", + ["_"] = "actions.open_cwd", + ["~"] = "actions.cd", + ["bs"] = "actions.change_sort", + ["b."] = "actions.toggle_hidden", + ["bt"] = "actions.toggle_trash", + ["bd"] = { + desc = "Toggle file detail view", + callback = function() + detail = not detail + if detail then + require("oil").set_columns({ "icon", "permissions", "size", "mtime" }) + else + require("oil").set_columns({ "icon" }) + end + end, + }, + }, + use_default_keymaps = false, + }) +end + +return { + "stevearc/oil.nvim", + dependencies = { "nvim-tree/nvim-web-devicons" }, + lazy = true, + cmd = "Oil", + init = init, + config = config +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/parinfer-rust.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/parinfer-rust.lua new file mode 100644 index 0000000..2b31d8a --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/parinfer-rust.lua @@ -0,0 +1,6 @@ +return { + "eraserhd/parinfer-rust", + build = "cargo build --release", + lazy = true, + ft = { "scheme", "lisp" } +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/telescope.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/telescope.lua new file mode 100644 index 0000000..0f6d853 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/telescope.lua @@ -0,0 +1,42 @@ +local init = function() + local keymap = vim.keymap + local opts = { noremap = true, silent = true, desc = "" } + opts.desc = "Keymaps (Telescope)" + keymap.set("n", "<Space>tk", ":Telescope keymaps<Enter>", opts) -- Keymaps + opts.desc = "Help (Telescope)" + keymap.set("n", "<Space>th", ":Telescope help_tags<Enter>", opts) -- Help + opts.desc = "Find files (Telescope)" + keymap.set("n", "<Space>tf", ":Telescope find_files<Enter>", opts) -- Find files + opts.desc = "All commands (Telescope)" + keymap.set("n", "<Space>ta", ":Telescope<Enter>", opts) -- All commands + opts.desc = "Find words (Telescope)" + keymap.set("n", "<Space>tw", ":Telescope live_grep<Enter>", opts) -- Find words + opts.desc = "Buffers (Telescope)" + keymap.set("n", "<Space>tb", ":Telescope buffers<Enter>", opts) -- Buffers +end + +local config = function() + require("telescope").setup({ + defaults = require("telescope.themes").get_ivy(), + pickers = { + find_files = { + hidden = true, + }, + builtin = { + previewer = false, + }, + help_tags = { + previewer = false, + } + }, + }) +end + +return { + "nvim-telescope/telescope.nvim", + dependencies = { "nvim-lua/plenary.nvim" }, + lazy = true, + cmd = "Telescope", + init = init, + config = config, +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/todo-comments.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/todo-comments.lua new file mode 100644 index 0000000..1ae4a83 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/todo-comments.lua @@ -0,0 +1,36 @@ +local opts = { + keywords = { + FIX = { icon = "", color = "error", alt = { "FIXME", "BUG", "FIXIT", "ISSUE" } }, + TODO = { icon = "", color = "info" }, + HACK = { icon = "", color = "hack" }, + WARN = { icon = "", color = "warning", alt = { "WARNING", "XXX" } }, + PERF = { icon = "", color = "perf", alt = { "OPTIM", "PERFORMANCE", "OPTIMIZE" } }, + NOTE = { icon = "", color = "hint", alt = { "INFO" } }, + TEST = { icon = "", color = "test", alt = { "TESTING", "PASSED", "FAILED" } }, + }, + colors = { + error = "@text.title.1.markdown", + info = "DiagnosticInfo", + hack = "@text.title.2.markdown", + warning = "@text.title.3.markdown", + perf = "@text.title.4.markdown", + hint = "@text.title.5.markdown", + test = "@text.title.6.markdown", + } +} + +return { + "folke/todo-comments.nvim", + dependencies = { "nvim-lua/plenary.nvim" }, + lazy = true, + event = { "BufReadPost", "BufWritePost", "BufNewFile" }, + opts = opts +} + +-- FIX: ciao +-- TODO: ciao +-- HACK: ciao +-- WARN: ciao +-- PERF: ciao +-- NOTE: ciao +-- TEST: ciao diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/toggleterm.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/toggleterm.lua new file mode 100644 index 0000000..9bd1b78 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/toggleterm.lua @@ -0,0 +1,64 @@ +local init = function() + local keymap = vim.keymap + --[[ keymap.set("n", "<C-t>", ":ToggleTerm<Enter>", + { noremap = true, silent = true, desc = "Terminal (ToggleTerm)" }) -- Terminal + keymap.set("t", "<C-t>", "<C-\\><C-n>:ToggleTerm<Enter>") ]] + keymap.set("n", "<Space>g", ":ToggleLazyGit<Enter>", + { noremap = true, silent = true, desc = "LazyGit (ToggleTerm)" }) -- LazyGit +end + +local config = function() + --[[ require("toggleterm").setup { + autochdir = false, + direction = "float", + open_mapping = "<c-t>", + terminal_mappings = true, + start_in_insert = true, + float_opts = { + border = "curved", + }, + on_open = function(term) + local cwd = vim.fn.getcwd() + if term.dir ~= cwd then + term:send("cd " .. cwd .. " && clear") + term.dir = cwd + end + end, + } ]] + local Terminal = require("toggleterm.terminal").Terminal + local opts = { + noremap = true, -- non-recursive + silent = true, -- do not show message + } + + -- LazyGit + local lazygit = Terminal:new({ + cmd = "lazygit", + dir = "git_dir", + direction = "float", + float_opts = { + border = "curved", + }, + -- function to run on opening the terminal + on_open = function(term) + vim.cmd("startinsert!") + vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", ":close<Enter>", opts) + end, + -- function to run on closing the terminal + on_close = function() + vim.cmd("startinsert!") + end, + }) + local function toggle_lazygit() + lazygit:toggle() + end + vim.api.nvim_create_user_command("ToggleLazyGit", toggle_lazygit, {}) +end + +return { + "akinsho/toggleterm.nvim", + lazy = true, + cmd = { "ToggleTerm", "ToggleLazyGit" }, + init = init, + config = config, +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-highlightedyank.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-highlightedyank.lua new file mode 100644 index 0000000..9405e9e --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-highlightedyank.lua @@ -0,0 +1,8 @@ +return { + "machakann/vim-highlightedyank", + lazy = true, + keys = { + { "y", mode = "n" }, + { "y", mode = "v" } + } +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-illuminate.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-illuminate.lua new file mode 100644 index 0000000..f44b6c9 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-illuminate.lua @@ -0,0 +1,5 @@ +return { + "RRethy/vim-illuminate", + lazy = true, + event = { "BufReadPost", "BufWritePost", "BufNewFile" }, +} diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/which-key.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/which-key.lua new file mode 100644 index 0000000..4e391f9 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/which-key.lua @@ -0,0 +1,25 @@ +local config = function() + require("which-key").setup() + vim.o.timeout = true + vim.o.timeoutlen = 500 +end + +return { + "folke/which-key.nvim", + lazy = true, + event = "VeryLazy", + config = config, + keys = { + { + "<leader>?", + function() + require("which-key").show({ global = false }) + end, + desc = "Buffer Local Keymaps (which-key)", + }, + }, + dependencies = { + "echasnovski/mini.icons", + "nvim-tree/nvim-web-devicons", -- optional + }, +} diff --git a/mirenn/home/files/dotfiles/.config/scripts/powermenu b/mirenn/home/files/dotfiles/.config/scripts/powermenu new file mode 100755 index 0000000..d118a69 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/scripts/powermenu @@ -0,0 +1,27 @@ +#!/usr/bin/env fish + +set poweroff "" +set reboot "" +set lock "" +set exit "" +set sleep "" +set hibernate "" + +set chosen (echo -e "$poweroff\n$reboot\n$lock\n$exit\n$sleep\n$hibernate" | rofi -dmenu -theme ~/.config/rofi/powermenu.rasi) + +switch $chosen +case $poweroff + loginctl poweroff +case $reboot + loginctl reboot +case $lock + loginctl lock-session +case $exit + niri msg action quit +case $sleep + loginctl suspend +case $hibernate + loginctl hibernate +case '*' + exit 1 +end diff --git a/mirenn/home/files/dotfiles/.config/scripts/set_background b/mirenn/home/files/dotfiles/.config/scripts/set_background new file mode 100755 index 0000000..7fea3d9 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/scripts/set_background @@ -0,0 +1,18 @@ +#!/usr/bin/env fish + +if test (count $argv) -lt 1; or not test -f $argv[1] + echo "Usage: $(status filename) <img>" + exit 1 +end + +wallust run $argv[1] -Ts; and begin + niri msg action do-screen-transition + set -U IMG $argv[1] & + wallust -q run $IMG & + killall swaybg ; swaybg -i $IMG -m fill & + makoctl reload & + notify-send -i $IMG "Wallust" "Changed wallpaper and palette." +end; or begin + notify-send -i $argv[1] -u critical "Wallust" "Failed to change palette" +end; + diff --git a/mirenn/home/files/dotfiles/.config/scripts/set_random b/mirenn/home/files/dotfiles/.config/scripts/set_random new file mode 100755 index 0000000..33cf267 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/scripts/set_random @@ -0,0 +1,8 @@ +#!/usr/bin/env fish + +if test (count $argv) -lt 1; or not test -d $argv[1] + echo "Usage: $(status filename) <dir>" + exit 1 +end + +~/.config/scripts/set_background "$(fd -a -t f -d 1 -E "$(basename "$IMG")" -e jpg -e png -e webp . "$argv[1]" | shuf -n1)" diff --git a/mirenn/home/files/dotfiles/.config/scripts/wallpapermenu b/mirenn/home/files/dotfiles/.config/scripts/wallpapermenu new file mode 100755 index 0000000..2d6e1a8 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/scripts/wallpapermenu @@ -0,0 +1,12 @@ +#!/usr/bin/env fish + +if test (count $argv) -lt 1; or not test -d $argv[1] + echo "Usage: $(status filename) <dir>" + exit 1 +end + +~/.config/scripts/set_background ( + for file in (fd -a -t f -d 1 -E "$(basename "$IMG")" -e jpg -e png -e webp . "$argv[1]") + echo -en "$file\0icon\x1fthumbnail://$file\n" + end | rofi -dmenu -p " " -show-icons -theme ~/.config/rofi/wallpapermenu.rasi +) diff --git a/mirenn/home/files/dotfiles/.config/swayidle/config b/mirenn/home/files/dotfiles/.config/swayidle/config new file mode 100644 index 0000000..d6ba83a --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/swayidle/config @@ -0,0 +1,5 @@ +lock 'physlock -l ; swaylock -fe ; physlock -L' +before-sleep 'loginctl lock-session ; niri msg output eDP-1 off' +after-resume 'niri msg output eDP-1 on' +timeout 300 'brightnessctl -se set 10%' resume 'brightnessctl -r' +timeout 360 'loginctl suspend' diff --git a/mirenn/home/files/dotfiles/.config/wallust/templates/foot b/mirenn/home/files/dotfiles/.config/wallust/templates/foot new file mode 100644 index 0000000..6dfe5e6 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/foot @@ -0,0 +1,33 @@ +font=Cica:size=10 +pad=10x10x10x10 center +dpi-aware=yes + +[cursor] +style=block +blink=yes + +[scrollback] +indicator-position=none + +[colors-dark] +foreground={{foreground | strip}} +background={{background | strip}} + +regular0={{color0 | strip}} +regular1={{color1 | strip}} +regular2={{color2 | strip}} +regular3={{color3 | strip}} +regular4={{color4 | strip}} +regular5={{color5 | strip}} +regular6={{color6 | strip}} +regular7={{color7 | strip}} + +bright0={{color8 | strip}} +bright1={{color9 | strip}} +bright2={{color10 | strip}} +bright3={{color11 | strip}} +bright4={{color12 | strip}} +bright5={{color13 | strip}} +bright6={{color14 | strip}} +bright7={{color15 | strip}} + diff --git a/mirenn/home/files/dotfiles/.config/wallust/templates/mako b/mirenn/home/files/dotfiles/.config/wallust/templates/mako new file mode 100644 index 0000000..e06ab00 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/mako @@ -0,0 +1,25 @@ +layer=overlay +background-color={{background}} +border-size=1 +border-color={{color2}} +border-radius=0 +default-timeout=5000 +ignore-timeout=1 +font=Cica 10 +text-color={{foreground}} +outer-margin=0,5,15,0 +anchor=bottom-right + +[urgency=high] +border-color={{color4}} +default-timeout=0 + +[urgency=low] +border-color={{color0}} + +[category=mpd] +default-timeout=2000 +group-by=category + +[app-name="Steam"] +invisible=1 diff --git a/mirenn/home/files/dotfiles/.config/wallust/templates/niri b/mirenn/home/files/dotfiles/.config/wallust/templates/niri new file mode 100644 index 0000000..95760b9 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/niri @@ -0,0 +1,300 @@ +prefer-no-csd +screenshot-path "~/Pictures/Screenshots/%Y%m%d-%H%M%S.png" +spawn-sh-at-startup "fish -c 'swaybg -i $IMG &'" +spawn-at-startup "waybar" +spawn-at-startup "swayidle" "-w" + +environment { + QT_QPA_PLATFORM "wayland" + DISPLAY ":0" +} + +hotkey-overlay { + skip-at-startup +} + +cursor { + // xcursor-theme "breeze_cursors" + // xcursor-size 48 + + // hide-when-typing + // hide-after-inactive-ms 5000 +} + +gestures { + hot-corners { + off + } +} + +input { + keyboard { + xkb { + layout "it" + } + } + + touchpad { + tap + natural-scroll + } + + mouse { + // off + // natural-scroll + // accel-speed 0.2 + // accel-profile "flat" + // scroll-factor 1.0 + // scroll-method "no-scroll" + // scroll-button 273 + // left-handed + // middle-emulation + } + + // disable-power-key-handling + // warp-mouse-to-focus + // focus-follows-mouse max-scroll-amount="0%" + // workspace-auto-back-and-forth +} + +output "eDP-1" { + // off + mode "2560x1600@60.000" + scale 2.0 + transform "normal" + position x=0 y=0 +} + +output "HDMI-A-1" { + +} + +layout { + gaps 5 + center-focused-column "on-overflow" + // empty-workspace-above-first + background-color "transparent" + + preset-column-widths { + proportion 0.33333 + proportion 0.5 + proportion 0.66667 + } + default-column-width { proportion 0.5; } + + preset-window-heights { + proportion 0.33333 + proportion 0.5 + proportion 0.66667 + } + + focus-ring { + off + } + + border { + // off + width 1 + active-color "{{color1}}" + inactive-color "{{color0}}" + } + + tab-indicator { + place-within-column + gaps-between-tabs 5 + active-color "{{color1}}" + inactive-color "{{color0}}" + length total-proportion=1.0 + } + + insert-hint { + color "{{color1}}" + } +} + +overview { + workspace-shadow { + off + } +} + +animations { + window-resize { + spring damping-ratio=0.75 stiffness=250 epsilon=0.0001 + } + window-open { + duration-ms 250 + curve "ease-out-quad" + custom-shader r" + vec4 zoom_in(vec3 coords_geo, vec3 size_geo) { + float progress = niri_clamped_progress; + float scale = progress; + vec2 coords = (coords_geo.xy - vec2(0.5, 0.5)) * size_geo.xy; + coords = coords / scale; + coords_geo = vec3(coords / size_geo.xy + vec2(0.5, 0.5), 1.0); + vec3 coords_tex = niri_geo_to_tex * coords_geo; + vec4 color = texture2D(niri_tex, coords_tex.st); + color.a *= progress; + + return color; + } + vec4 open_color(vec3 coords_geo, vec3 size_geo) { + return zoom_in(coords_geo, size_geo); + } + " + } + window-close { + duration-ms 500 + curve "linear" + custom-shader r" + // Fall and Rotate + vec4 close_color(vec3 coords_geo, vec3 size_geo) { + float progress = niri_clamped_progress * niri_clamped_progress; + vec2 coords = (coords_geo.xy - vec2(0.5, 1.0)) * size_geo.xy; + coords.y -= progress * 1440.0; + float random = (niri_random_seed - 0.5) / 2.0; + random = sign(random) - random; + float max_angle = 0.5 * random; + float angle = progress * max_angle; + mat2 rotate = mat2(cos(angle), -sin(angle), sin(angle), cos(angle)); + coords = rotate * coords; + coords_geo = vec3(coords / size_geo.xy + vec2(0.5, 1.0), 1.0); + vec3 coords_tex = niri_geo_to_tex * coords_geo; + return texture2D(niri_tex, coords_tex.st); + } + " + } +} + +layer-rule { + match namespace="^wallpaper$" + place-within-backdrop true +} + +window-rule { + match title="btop" + match title="nmtui" + default-column-width { proportion 1.0; } +} +window-rule { + //geometry-corner-radius 10 + clip-to-geometry true +} +window-rule { + match app-id="SFML" + open-floating true +} +window-rule { + match is-floating=true + shadow { + on + } +} + +switch-events { + lid-open { spawn "niri" "msg" "action" "power-on-monitors"; } +} + +binds { + Mod+Backslash { show-hotkey-overlay; } + + Mod+Return hotkey-overlay-title="Spawn Terminal" { spawn "foot"; } + Mod+Space hotkey-overlay-title="Spawn Applauncher" { spawn "rofi" "-show" "drun" "-theme" "~/.config/rofi/applauncher.rasi"; } + Mod+Escape hotkey-overlay-title="Spawn Powermenu" { spawn "~/.config/scripts/powermenu"; } + Mod+W hotkey-overlay-title="Spawn Wallpapermenu" { spawn-sh "~/.config/scripts/wallpapermenu ~/Pictures/Backgrounds/"; } + Mod+Shift+W hotkey-overlay-title="Random Wallpaper" { spawn-sh "~/.config/scripts/set_random ~/Pictures/Backgrounds/"; } + // Mod+Alt+W { spawn-sh "~/.config/scripts/wallpapermenu ~/Pictures/Backgrounds/Alt/"; } + // Mod+Alt+Shift+W { spawn-sh "~/.config/scripts/set_random ~/Pictures/Backgrounds/Alt/"; } + + XF86AudioRaiseVolume allow-when-locked=true { spawn "pamixer" "-i" "5"; } + XF86AudioLowerVolume allow-when-locked=true { spawn "pamixer" "-d" "5"; } + XF86AudioMute allow-when-locked=true { spawn "pamixer" "-t"; } + XF86AudioMicMute allow-when-locked=true { spawn "pamixer" "--default-source" "-t"; } + XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "-e" "s" "+5%"; } + XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "-e" "s" "5%-"; } + + Mod+Q { close-window; } + + Mod+H { focus-column-left; } + Mod+J { focus-window-down; } + Mod+K { focus-window-up; } + Mod+L { focus-column-right; } + Mod+Ctrl+H { move-column-left; } + Mod+Ctrl+J { move-window-down; } + Mod+Ctrl+K { move-window-up; } + Mod+Ctrl+L { move-column-right; } + + Mod+N { focus-column-first; } + Mod+M { focus-column-last; } + Mod+Ctrl+N { move-column-to-first; } + Mod+Ctrl+M { move-column-to-last; } + + Mod+Shift+H { focus-monitor-left; } + Mod+Shift+J { focus-monitor-down; } + Mod+Shift+K { focus-monitor-up; } + Mod+Shift+L { focus-monitor-right; } + Mod+Shift+Ctrl+H { move-column-to-monitor-left; } + Mod+Shift+Ctrl+J { move-column-to-monitor-down; } + Mod+Shift+Ctrl+K { move-column-to-monitor-up; } + Mod+Shift+Ctrl+L { move-column-to-monitor-right; } + + Mod+U { focus-workspace-down; } + Mod+I { focus-workspace-up; } + Mod+Ctrl+U { move-column-to-workspace-down; } + Mod+Ctrl+I { move-column-to-workspace-up; } + Mod+Shift+U { move-workspace-down; } + Mod+Shift+I { move-workspace-up; } + + Mod+1 { focus-workspace 1; } + Mod+2 { focus-workspace 2; } + Mod+3 { focus-workspace 3; } + Mod+4 { focus-workspace 4; } + Mod+5 { focus-workspace 5; } + Mod+6 { focus-workspace 6; } + Mod+7 { focus-workspace 7; } + Mod+8 { focus-workspace 8; } + Mod+9 { focus-workspace 9; } + Mod+Ctrl+1 { move-column-to-workspace 1; } + Mod+Ctrl+2 { move-column-to-workspace 2; } + Mod+Ctrl+3 { move-column-to-workspace 3; } + Mod+Ctrl+4 { move-column-to-workspace 4; } + Mod+Ctrl+5 { move-column-to-workspace 5; } + Mod+Ctrl+6 { move-column-to-workspace 6; } + Mod+Ctrl+7 { move-column-to-workspace 7; } + Mod+Ctrl+8 { move-column-to-workspace 8; } + Mod+Ctrl+9 { move-column-to-workspace 9; } + + Mod+Z { focus-workspace-previous; } + + Mod+Comma { consume-window-into-column; } + Mod+Period { expel-window-from-column; } + Mod+O { consume-or-expel-window-left; } + Mod+P { consume-or-expel-window-right; } + + Mod+R { switch-preset-column-width; } + Mod+Shift+R { switch-preset-window-height; } + Mod+Ctrl+R { reset-window-height; } + Mod+F { maximize-column; } + Mod+Shift+F { fullscreen-window; } + Mod+Ctrl+F { maximize-window-to-edges; } + Mod+C { center-column; } + + Mod+Minus { set-column-width "-1%"; } + Mod+Plus { set-column-width "+1%"; } + + Mod+Shift+Minus { set-window-height "-1%"; } + Mod+Shift+Plus { set-window-height "+1%"; } + + Print { screenshot; } + Ctrl+Print { screenshot-screen; } + Alt+Print { screenshot-window; } + + Mod+Ctrl+V { toggle-window-floating; } + Mod+V { switch-focus-between-floating-and-tiling; } + + Mod+T { toggle-column-tabbed-display; } + + Mod+Tab { toggle-overview; } + + Mod+Shift+E { quit; } +} diff --git a/mirenn/home/files/dotfiles/.config/wallust/templates/nvim b/mirenn/home/files/dotfiles/.config/wallust/templates/nvim new file mode 100644 index 0000000..c5e966d --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/nvim @@ -0,0 +1,19 @@ +let background = "{{background}}" +let foreground = "{{foreground}}" +let cursor = "{{cursor}}" +let color0 = "{{color0}}" +let color1 = "{{color1}}" +let color2 = "{{color2}}" +let color3 = "{{color3}}" +let color4 = "{{color4}}" +let color5 = "{{color5}}" +let color6 = "{{color6}}" +let color7 = "{{color7}}" +let color8 = "{{color8}}" +let color9 = "{{color9}}" +let color10 = "{{color10}}" +let color11 = "{{color11}}" +let color12 = "{{color12}}" +let color13 = "{{color13}}" +let color14 = "{{color14}}" +let color15 = "{{color15}}" diff --git a/mirenn/home/files/dotfiles/.config/wallust/templates/rofi-applauncher b/mirenn/home/files/dotfiles/.config/wallust/templates/rofi-applauncher new file mode 100644 index 0000000..5a07aae --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/rofi-applauncher @@ -0,0 +1,41 @@ +@theme "/dev/null" + +configuration { + drun-display-format: "{name}"; + show-icons: true; + icon-theme: "Papirus"; + terminal: "foot -o pad=0x0"; + run-command: "sh -c '{cmd}'"; +} +* { + background-color: {{background}}; + color: {{foreground}}; + font: "Cica 10"; +} +window { + location: north west; + anchor: center; + width: 710; + y-offset: -22; + x-offset: 220; + padding: 3 5 3 3; +} +mainbox { + orientation: horizontal; +} +inputbar { + children: [ entry ]; +} +entry { + enabled: false; +} +listview { + spacing: 5; + layout: horizontal; +} +element-text { + color: inherit; +} +element selected { + color: {{color1}}; +} diff --git a/mirenn/home/files/dotfiles/.config/wallust/templates/rofi-powermenu b/mirenn/home/files/dotfiles/.config/wallust/templates/rofi-powermenu new file mode 100644 index 0000000..0ce26aa --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/rofi-powermenu @@ -0,0 +1,40 @@ +@theme "/dev/null" + +configuration { + show-icons: false; +} +* { + background-color: {{background}}; +} +window { + location: north east; + children: [ box ]; + border: 1; + border-color: {{color1}}; + padding: 5; + width: 60px; +} +box { + orientation: vertical; + children: [ listview ]; +} +listview { + layout: vertical; + spacing: 5; + lines: 6; +} +element { + text-color: {{foreground}}; + background-color: {{color0}}; + padding: 15; +} +element-text { + font: "Symbols Nerd Font Mono 13"; + text-color: inherit; + background-color: inherit; + vertical-align: 0.5; +} +element selected{ + text-color: inherit; + background-color: {{color4}}; +} diff --git a/mirenn/home/files/dotfiles/.config/wallust/templates/rofi-wallpapermenu b/mirenn/home/files/dotfiles/.config/wallust/templates/rofi-wallpapermenu new file mode 100644 index 0000000..70cd711 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/rofi-wallpapermenu @@ -0,0 +1,45 @@ +@theme "/dev/null" + +* { + background-color: {{background}}; + color: {{foreground}}; + font: "Cica 10"; +} +window { + border: 1; + border-color: {{color1}}; + padding: 5; + width: 1197; +} +mainbox { + spacing: 5; +} +inputbar { + border: 1; + border-color: {{color1}}; + padding: 5; +} +listview { + spacing: 5; + columns: 3; + lines: 3; + fixed-columns: true; + fixed-height: true; + cycle: true; +} +element { + border-color: {{color0}}; + border: 1; + children: [ element-icon ]; +} +element-icon { + expand: true; + size: 50%; + margin: -100 0; + squared: true; +} +element selected { + text-color: inherit; + border: 5; + border-color: {{color4}}; +} diff --git a/mirenn/home/files/dotfiles/.config/wallust/templates/swaylock b/mirenn/home/files/dotfiles/.config/wallust/templates/swaylock new file mode 100644 index 0000000..5e4e273 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/swaylock @@ -0,0 +1,36 @@ +indicator-caps-lock +indicator-idle-visible +indicator-radius=100 + +font=Cica +font-size=50 + +clock +timestr=%H:%M:%S +datestr=%a %d/%m/%y + +image={{wallpaper}} +effect-blur=5x2 + +key-hl-color={{color6 | strip}} +caps-lock-key-hl-color={{color6 | strip}} +bs-hl-color={{color5 | strip}} +caps-lock-bs-hl-color={{color5 | strip}} + +inside-color={{background}} +inside-clear-color={{background}} +inside-caps-lock-color={{background}} +inside-ver-color={{background}} +inside-wrong-color={{background}} + +ring-color={{color0 | strip}} +ring-clear-color={{color5 | strip}} +ring-caps-lock-color={{color2 | strip}} +ring-ver-color={{color4 | strip}} +ring-wrong-color={{color3 | strip}} + +text-color={{foreground | strip}} +text-clear-color={{color5 | strip}} +text-caps-lock-color={{color2 | strip}} +text-ver-color={{color4 | strip}} +text-wrong-color={{color3 | strip}} diff --git a/mirenn/home/files/dotfiles/.config/wallust/templates/waybar b/mirenn/home/files/dotfiles/.config/wallust/templates/waybar new file mode 100644 index 0000000..3ff730c --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/waybar @@ -0,0 +1,93 @@ +* { + font-family: Cica; +} + +window#waybar { + background: {{background}}; + color: {{foreground}}; +} + +.modules-left, .modules-center, .modules-right { + padding: 1px; +} + +#clock,#network,#bluetooth,#backlight,#pulseaudio, #idle_inhibitor, +#battery,#disk,#temperature,#memory,#cpu { + padding-left: 3px; + padding-right: 3px; + border-color: {{color8}}; + border-style: solid; + border-width: 1px; +} +#network,#bluetooth,#backlight,#pulseaudio, #idle_inhibitor { + border-left-width: 0px; +} +#disk,#temperature,#memory,#cpu { + border-right-width: 0px; +} + +#clock, #idle_inhibitor { + background: {{color6}}; +} +#network { + background: {{color5}}; +} +#bluetooth { + background: {{color3}}; +} +#backlight { + background: {{color4}}; +} +#pulseaudio { + background: {{color2}}; +} +#battery { + background: {{color6}}; +} +#disk { + background: {{color5}}; +} +#temperature { + background: {{color3}}; +} +#memory { + background: {{color4}}; +} +#cpu { + background: {{color2}}; +} + +tooltip { + background: {{color0}}; +} +tooltip label { + color: {{foreground}}; +} + +#tray menu { + background: {{color0}}; + color: {{foreground}}; +} + +#bluetooth.off, #pulseaudio.muted, #network.disconnected, #battery.warning, #battery.notempty, #idle_inhibitor.deactivated { + background: {{color0}}; +} +#bluetooth.off { + color: {{color3}}; +} +#pulseaudio.muted { + color: {{color2}}; +} +#network.disconnected { + color: {{color5}}; +} +#battery.warning, #battery.notempty { + color: {{color6}}; +} +#battery.charging { + background: {{color6}}; + color: {{foreground}}; +} +#idle_inhibitor.deactivated { + color: {{color6}} +} diff --git a/mirenn/home/files/dotfiles/.config/wallust/wallust.toml b/mirenn/home/files/dotfiles/.config/wallust/wallust.toml new file mode 100644 index 0000000..9a63624 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/wallust/wallust.toml @@ -0,0 +1,16 @@ +backend = "full" +check_contrast = true +color_space = "salience" +fallback_generator = "complementary" +palette = "dark16" + +[templates] +foot = { src = "foot", dst = "~/.config/foot/foot.ini" } +nvim = { src = "nvim", dst = "~/.cache/wallust/colors_neopywal.vim" } +niri = { src = "niri", dst = "~/.config/niri/config.kdl" } +swaylock = { src = "swaylock", dst = "~/.config/swaylock/config" } +mako = { src = "mako", dst = "~/.config/mako/config" } +waybar = { src = "waybar", dst = "~/.config/waybar/style.css" } +rofi-applauncher = { src = "rofi-applauncher", dst = "~/.config/rofi/applauncher.rasi" } +rofi-powermenu = { src = "rofi-powermenu", dst = "~/.config/rofi/powermenu.rasi" } +rofi-wallpapermenu = { src = "rofi-wallpapermenu", dst = "~/.config/rofi/wallpapermenu.rasi" } diff --git a/mirenn/home/files/dotfiles/.config/waybar/config b/mirenn/home/files/dotfiles/.config/waybar/config new file mode 100644 index 0000000..ae38d5f --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/waybar/config @@ -0,0 +1,129 @@ +{ + "layer": "top", + "spacing": 0, + "margin": 0, + "height": 22, + "reload_style_on_change": true, + "fixed-center": false, + "modules-left": ["clock", "network", "bluetooth", "backlight", "pulseaudio", "idle_inhibitor"], + "modules-center": ["tray"], + "modules-right": ["cpu", "memory", "temperature", "disk", "battery"], + "tray": { + "icon-size": 20, + "spacing": 5, + }, + "bluetooth": { + "format-on": "<span font-family='Symbols Nerd Font Mono'></span>", + "format-off": "<span font-family='Symbols Nerd Font Mono'></span>", + "format-connected": "<span font-family='Symbols Nerd Font Mono'></span>", + "tooltip-format-connecte": "{device_alias}", + "tooltip-format-connected-battery": "{device_alias} ({device_battery_percentage}%)", + "on-click": "bzmenu -l rofi" + }, + "network": { + "format-wifi": "<span font-family='Symbols Nerd Font Mono'></span>", + "format-disconnected": "<span font-family='Symbols Nerd Font Mono'></span>", + "tooltip-format": "{essid}", + "on-click": "foot -T nmtui -o pad=0x0 nmtui" + }, + "pulseaudio": { + "states": { + "notempty": 9, + "notfull": 99, + }, + "format": "<span font-family='Symbols Nerd Font Mono'>{icon}</span>{volume}%", + "format-notfull": "<span font-family='Symbols Nerd Font Mono'>{icon}</span> {volume}%", + "format-notempty": "<span font-family='Symbols Nerd Font Mono'>{icon}</span> {volume}%", + "format-muted": "<span font-family='Symbols Nerd Font Mono'></span>{volume}%", + "format-muted-notfull": "<span font-family='Symbols Nerd Font Mono'></span> {volume}%", + "format-muted-notempty": "<span font-family='Symbols Nerd Font Mono'></span> {volume}%", + "format-bluetooth": "<span font-family='Symbols Nerd Font Mono'>{icon}</span>{volume}%", + "format-bluetooth-notfull": "<span font-family='Symbols Nerd Font Mono'>{icon}</span> {volume}%", + "format-bluetooth-notempty": "<span font-family='Symbols Nerd Font Mono'>{icon}</span> {volume}%", + "format-icons": { + "default": ["", "", ""], + }, + "on-click": "foot pulsemixer" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "<span font-family='Symbols Nerd Font Mono'></span>", + "deactivated": "<span font-family='Symbols Nerd Font Mono'></span>" + }, + "tooltip-format-activated": "Inhibiting", + "tooltip-format-deactivated": "" + }, + "backlight": { + "device": "intel_backlight", + "states": { + "notempty": 10, + "notfull": 100, + }, + "format": "<span font-family='Symbols Nerd Font Mono'>{icon}</span> {percent}%", + "format-notfull": "<span font-family='Symbols Nerd Font Mono'>{icon}</span>{percent}%", + "format-notempty": "<span font-family='Symbols Nerd Font Mono'>{icon}</span> {percent}%", + "format-icons": ["", "", "", "", "", "", "", "", ""], + "tooltip": false + }, + "cpu": { + "interval": 1, + "format": "<span font-family='Symbols Nerd Font Mono'> </span>{icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}{icon8}{icon9}{icon10}{icon11}{icon12}{icon13}{icon14}{icon15}", + "format-icons": [ + "<span>▁</span>", + "<span>▂</span>", + "<span>▃</span>", + "<span>▄</span>", + "<span>▅</span>", + "<span>▆</span>", + "<span>▇</span>", + "<span>█</span>" + ], + "on-click": "foot -T btop -o pad=0x0 btop", + }, + "temperature": { + "interval": 5, + "hwmon-path-abs": "/sys/devices/platform/coretemp.0/hwmon", + "input-filename": "temp1_input", + "format": "<span font-family='Symbols Nerd Font Mono'>{icon}</span> {temperatureC}°", + "format-icons": ["", "", "", "", ""], + "tooltip": false + }, + "memory": { + "interval": 5, + "format": "<span font-family='Symbols Nerd Font Mono'></span> {used:0.1f}GiB", + "tooltip-format": "{used:0.1f}GiB / {total:0.1f}GiB" + }, + "disk": { + "states": { + "notempty": 10, + "notfull": 100, + }, + "format": "<span font-family='Symbols Nerd Font Mono'></span> {percentage_used}%", + "format-notfull": "<span font-family='Symbols Nerd Font Mono'></span>{percentage_used}%", + "format-notempty": "<span font-family='Symbols Nerd Font Mono'></span> {percentage_used}%", + "tooltip-format": "{used} / {total}" + }, + "battery": { + "interval": 5, + "states": { + "notempty": 9, + "warning": 25, + "notfull": 99, + }, + "format": "<span font-family='Symbols Nerd Font Mono'>{icon}</span>{capacity}%", + "format-notfull": "<span font-family='Symbols Nerd Font Mono'>{icon}</span> {capacity}%", + "format-warning": "<span font-family='Symbols Nerd Font Mono'>{icon}</span> {capacity}%", + "format-notempty": "<span font-family='Symbols Nerd Font Mono'>{icon}</span> {capacity}%", + "format-charging": "<span font-family='Symbols Nerd Font Mono'></span>{capacity}%", + "format-charging-notfull": "<span font-family='Symbols Nerd Font Mono'></span> {capacity}%", + "format-charging-warning": "<span font-family='Symbols Nerd Font Mono'></span> {capacity}%", + "format-charging-notempty": "<span font-family='Symbols Nerd Font Mono'></span> {capacity}%", + "format-icons": ["","","","","","","","","","",""], + }, + "clock": { + "format": "<span font-family='Symbols Nerd Font Mono'></span> {:%H:%M}", + "tooltip-format": "{:%A, %d %B %Y}" + } +} + diff --git a/mirenn/home/files/dotfiles/.config/yazi/init.lua b/mirenn/home/files/dotfiles/.config/yazi/init.lua new file mode 100644 index 0000000..6c283c4 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/yazi/init.lua @@ -0,0 +1 @@ +require("full-border"):setup() diff --git a/mirenn/home/files/dotfiles/.config/yazi/keymap.toml b/mirenn/home/files/dotfiles/.config/yazi/keymap.toml new file mode 100644 index 0000000..397b2ec --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/yazi/keymap.toml @@ -0,0 +1,368 @@ +# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config. +# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas. +"$schema" = "https://yazi-rs.github.io/schemas/keymap.json" + +[mgr] + +keymap = [ + { on = "<Esc>", run = "escape", desc = "Exit visual mode, clear selection, or cancel search" }, + { on = "<C-[>", run = "escape", desc = "Exit visual mode, clear selection, or cancel search" }, + { on = "q", run = "quit", desc = "Quit the process" }, + { on = "Q", run = "quit --no-cwd-file", desc = "Quit without outputting cwd-file" }, + { on = "<C-c>", run = "close", desc = "Close the current tab, or quit if it's last" }, + { on = "<C-z>", run = "suspend", desc = "Suspend the process" }, + + # Hopping + { on = "k", run = "arrow prev", desc = "Previous file" }, + { on = "j", run = "arrow next", desc = "Next file" }, + + { on = "<Up>", run = "arrow prev", desc = "Previous file" }, + { on = "<Down>", run = "arrow next", desc = "Next file" }, + + { on = "<C-u>", run = "arrow -50%", desc = "Move cursor up half page" }, + { on = "<C-d>", run = "arrow 50%", desc = "Move cursor down half page" }, + { on = "<C-b>", run = "arrow -100%", desc = "Move cursor up one page" }, + { on = "<C-f>", run = "arrow 100%", desc = "Move cursor down one page" }, + + { on = "<S-PageUp>", run = "arrow -50%", desc = "Move cursor up half page" }, + { on = "<S-PageDown>", run = "arrow 50%", desc = "Move cursor down half page" }, + { on = "<PageUp>", run = "arrow -100%", desc = "Move cursor up one page" }, + { on = "<PageDown>", run = "arrow 100%", desc = "Move cursor down one page" }, + + { on = [ "g", "g" ], run = "arrow top", desc = "Go to top" }, + { on = "G", run = "arrow bot", desc = "Go to bottom" }, + + # Navigation + { on = "h", run = "leave", desc = "Back to the parent directory" }, + { on = "l", run = "enter", desc = "Enter the child directory" }, + + { on = "<Left>", run = "leave", desc = "Back to the parent directory" }, + { on = "<Right>", run = "enter", desc = "Enter the child directory" }, + + { on = "H", run = "back", desc = "Back to previous directory" }, + { on = "L", run = "forward", desc = "Forward to next directory" }, + + # Toggle + { on = "<Space>", run = [ "toggle", "arrow next" ], desc = "Toggle the current selection state" }, + { on = "<C-a>", run = "toggle_all --state=on", desc = "Select all files" }, + { on = "<C-r>", run = "toggle_all", desc = "Invert selection of all files" }, + + # Visual mode + { on = "v", run = "visual_mode", desc = "Enter visual mode (selection mode)" }, + { on = "V", run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" }, + + # Seeking + { on = "K", run = "seek -5", desc = "Seek up 5 units in the preview" }, + { on = "J", run = "seek 5", desc = "Seek down 5 units in the preview" }, + + # Spotting + { on = "<Tab>", run = "spot", desc = "Spot hovered file" }, + + # Operation + { on = "o", run = "open", desc = "Open selected files" }, + { on = "O", run = "open --interactive", desc = "Open selected files interactively" }, + { on = "<Enter>", run = "open", desc = "Open selected files" }, + { on = "<S-Enter>", run = "open --interactive", desc = "Open selected files interactively" }, + { on = "y", run = "yank", desc = "Yank selected files (copy)" }, + { on = "x", run = "yank --cut", desc = "Yank selected files (cut)" }, + { on = "p", run = "paste", desc = "Paste yanked files" }, + { on = "P", run = "paste --force", desc = "Paste yanked files (overwrite if the destination exists)" }, + { on = "-", run = "link", desc = "Symlink the absolute path of yanked files" }, + { on = "_", run = "link --relative", desc = "Symlink the relative path of yanked files" }, + { on = "<C-->", run = "hardlink", desc = "Hardlink yanked files" }, + { on = "Y", run = "unyank", desc = "Cancel the yank status" }, + { on = "X", run = "unyank", desc = "Cancel the yank status" }, + { on = "d", run = "remove", desc = "Trash selected files" }, + { on = "D", run = "remove --permanently", desc = "Permanently delete selected files" }, + { on = "a", run = "create", desc = "Create a file (ends with / for directories)" }, + { on = "r", run = "rename --cursor=before_ext", desc = "Rename selected file(s)" }, + { on = ";", run = "shell --interactive", desc = "Run a shell command" }, + { on = ":", run = "shell --block --interactive", desc = "Run a shell command (block until finishes)" }, + { on = ".", run = "hidden toggle", desc = "Toggle the visibility of hidden files" }, + { on = "s", run = "search --via=fd", desc = "Search files by name via fd" }, + { on = "S", run = "search --via=rg", desc = "Search files by content via ripgrep" }, + { on = "<C-s>", run = "escape --search", desc = "Cancel the ongoing search" }, + { on = "z", run = "plugin fzf", desc = "Jump to a file/directory via fzf" }, + { on = "Z", run = "plugin zoxide", desc = "Jump to a directory via zoxide" }, + + # Linemode + { on = [ "m", "s" ], run = "linemode size", desc = "Linemode: size" }, + { on = [ "m", "p" ], run = "linemode permissions", desc = "Linemode: permissions" }, + { on = [ "m", "b" ], run = "linemode btime", desc = "Linemode: btime" }, + { on = [ "m", "m" ], run = "linemode mtime", desc = "Linemode: mtime" }, + { on = [ "m", "o" ], run = "linemode owner", desc = "Linemode: owner" }, + { on = [ "m", "n" ], run = "linemode none", desc = "Linemode: none" }, + + # Copy + { on = [ "c", "c" ], run = "copy path", desc = "Copy the file path" }, + { on = [ "c", "d" ], run = "copy dirname", desc = "Copy the directory path" }, + { on = [ "c", "f" ], run = "copy filename", desc = "Copy the filename" }, + { on = [ "c", "n" ], run = "copy name_without_ext", desc = "Copy the filename without extension" }, + + # Filter + { on = "f", run = "filter --smart", desc = "Filter files" }, + + # Find + { on = "/", run = "find --smart", desc = "Find next file" }, + { on = "?", run = "find --previous --smart", desc = "Find previous file" }, + { on = "n", run = "find_arrow", desc = "Next found" }, + { on = "N", run = "find_arrow --previous", desc = "Previous found" }, + + # Sorting + { on = [ ",", "m" ], run = [ "sort mtime --reverse=no", "linemode mtime" ], desc = "Sort by modified time" }, + { on = [ ",", "M" ], run = [ "sort mtime --reverse", "linemode mtime" ], desc = "Sort by modified time (reverse)" }, + { on = [ ",", "b" ], run = [ "sort btime --reverse=no", "linemode btime" ], desc = "Sort by birth time" }, + { on = [ ",", "B" ], run = [ "sort btime --reverse", "linemode btime" ], desc = "Sort by birth time (reverse)" }, + { on = [ ",", "e" ], run = "sort extension --reverse=no", desc = "Sort by extension" }, + { on = [ ",", "E" ], run = "sort extension --reverse", desc = "Sort by extension (reverse)" }, + { on = [ ",", "a" ], run = "sort alphabetical --reverse=no", desc = "Sort alphabetically" }, + { on = [ ",", "A" ], run = "sort alphabetical --reverse", desc = "Sort alphabetically (reverse)" }, + { on = [ ",", "n" ], run = "sort natural --reverse=no", desc = "Sort naturally" }, + { on = [ ",", "N" ], run = "sort natural --reverse", desc = "Sort naturally (reverse)" }, + { on = [ ",", "s" ], run = [ "sort size --reverse=no", "linemode size" ], desc = "Sort by size" }, + { on = [ ",", "S" ], run = [ "sort size --reverse", "linemode size" ], desc = "Sort by size (reverse)" }, + { on = [ ",", "r" ], run = "sort random --reverse=no", desc = "Sort randomly" }, + + # Goto + { on = [ "g", "h" ], run = "cd ~", desc = "Go home" }, + { on = [ "g", "c" ], run = "cd ~/.config", desc = "Go ~/.config" }, + { on = [ "g", "d" ], run = "cd ~/Downloads", desc = "Go ~/Downloads" }, + { on = [ "g", "<Space>" ], run = "cd --interactive", desc = "Jump interactively" }, + { on = [ "g", "f" ], run = "follow", desc = "Follow hovered symlink" }, + + # Tabs + { on = "t", run = "tab_create --current", desc = "Create a new tab with CWD" }, + + { on = "1", run = "tab_switch 0", desc = "Switch to first tab" }, + { on = "2", run = "tab_switch 1", desc = "Switch to second tab" }, + { on = "3", run = "tab_switch 2", desc = "Switch to third tab" }, + { on = "4", run = "tab_switch 3", desc = "Switch to fourth tab" }, + { on = "5", run = "tab_switch 4", desc = "Switch to fifth tab" }, + { on = "6", run = "tab_switch 5", desc = "Switch to sixth tab" }, + { on = "7", run = "tab_switch 6", desc = "Switch to seventh tab" }, + { on = "8", run = "tab_switch 7", desc = "Switch to eighth tab" }, + { on = "9", run = "tab_switch 8", desc = "Switch to ninth tab" }, + + { on = "[", run = "tab_switch -1 --relative", desc = "Switch to previous tab" }, + { on = "]", run = "tab_switch 1 --relative", desc = "Switch to next tab" }, + + { on = "{", run = "tab_swap -1", desc = "Swap current tab with previous tab" }, + { on = "}", run = "tab_swap 1", desc = "Swap current tab with next tab" }, + + # Tasks + { on = "w", run = "tasks:show", desc = "Show task manager" }, + + # Help + { on = "~", run = "help", desc = "Open help" }, + { on = "<F1>", run = "help", desc = "Open help" }, +] + +[tasks] + +keymap = [ + { on = "<Esc>", run = "close", desc = "Close task manager" }, + { on = "<C-[>", run = "close", desc = "Close task manager" }, + { on = "<C-c>", run = "close", desc = "Close task manager" }, + { on = "w", run = "close", desc = "Close task manager" }, + + { on = "k", run = "arrow prev", desc = "Previous task" }, + { on = "j", run = "arrow next", desc = "Next task" }, + + { on = "<Up>", run = "arrow prev", desc = "Previous task" }, + { on = "<Down>", run = "arrow next", desc = "Next task" }, + + { on = "<Enter>", run = "inspect", desc = "Inspect the task" }, + { on = "x", run = "cancel", desc = "Cancel the task" }, + + # Help + { on = "~", run = "help", desc = "Open help" }, + { on = "<F1>", run = "help", desc = "Open help" }, +] + +[spot] + +keymap = [ + { on = "<Esc>", run = "close", desc = "Close the spot" }, + { on = "<C-[>", run = "close", desc = "Close the spot" }, + { on = "<C-c>", run = "close", desc = "Close the spot" }, + { on = "<Tab>", run = "close", desc = "Close the spot" }, + + { on = "k", run = "arrow prev", desc = "Previous line" }, + { on = "j", run = "arrow next", desc = "Next line" }, + { on = "h", run = "swipe prev", desc = "Swipe to previous file" }, + { on = "l", run = "swipe next", desc = "Swipe to next file" }, + + { on = "<Up>", run = "arrow prev", desc = "Previous line" }, + { on = "<Down>", run = "arrow next", desc = "Next line" }, + { on = "<Left>", run = "swipe prev", desc = "Swipe to previous file" }, + { on = "<Right>", run = "swipe next", desc = "Swipe to next file" }, + + # Copy + { on = [ "c", "c" ], run = "copy cell", desc = "Copy selected cell" }, + + # Help + { on = "~", run = "help", desc = "Open help" }, + { on = "<F1>", run = "help", desc = "Open help" }, +] + +[pick] + +keymap = [ + { on = "<Esc>", run = "close", desc = "Cancel pick" }, + { on = "<C-[>", run = "close", desc = "Cancel pick" }, + { on = "<C-c>", run = "close", desc = "Cancel pick" }, + { on = "<Enter>", run = "close --submit", desc = "Submit the pick" }, + + { on = "k", run = "arrow prev", desc = "Previous option" }, + { on = "j", run = "arrow next", desc = "Next option" }, + + { on = "<Up>", run = "arrow prev", desc = "Previous option" }, + { on = "<Down>", run = "arrow next", desc = "Next option" }, + + # Help + { on = "~", run = "help", desc = "Open help" }, + { on = "<F1>", run = "help", desc = "Open help" }, +] + +[input] + +keymap = [ + { on = "<C-c>", run = "close", desc = "Cancel input" }, + { on = "<Enter>", run = "close --submit", desc = "Submit input" }, + { on = "<Esc>", run = "escape", desc = "Back to normal mode, or cancel input" }, + { on = "<C-[>", run = "escape", desc = "Back to normal mode, or cancel input" }, + + # Mode + { on = "i", run = "insert", desc = "Enter insert mode" }, + { on = "I", run = [ "move first-char", "insert" ], desc = "Move to the BOL, and enter insert mode" }, + { on = "a", run = "insert --append", desc = "Enter append mode" }, + { on = "A", run = [ "move eol", "insert --append" ], desc = "Move to the EOL, and enter append mode" }, + { on = "v", run = "visual", desc = "Enter visual mode" }, + { on = "r", run = "replace", desc = "Replace a single character" }, + + # Selection + { on = "V", run = [ "move bol", "visual", "move eol" ], desc = "Select from BOL to EOL" }, + { on = "<C-A>", run = [ "move eol", "visual", "move bol" ], desc = "Select from EOL to BOL" }, + { on = "<C-E>", run = [ "move bol", "visual", "move eol" ], desc = "Select from BOL to EOL" }, + + # Character-wise movement + { on = "h", run = "move -1", desc = "Move back a character" }, + { on = "l", run = "move 1", desc = "Move forward a character" }, + { on = "<Left>", run = "move -1", desc = "Move back a character" }, + { on = "<Right>", run = "move 1", desc = "Move forward a character" }, + { on = "<C-b>", run = "move -1", desc = "Move back a character" }, + { on = "<C-f>", run = "move 1", desc = "Move forward a character" }, + + # Word-wise movement + { on = "b", run = "backward", desc = "Move back to the start of the current or previous word" }, + { on = "B", run = "backward --far", desc = "Move back to the start of the current or previous WORD" }, + { on = "w", run = "forward", desc = "Move forward to the start of the next word" }, + { on = "W", run = "forward --far", desc = "Move forward to the start of the next WORD" }, + { on = "e", run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" }, + { on = "E", run = "forward --far --end-of-word", desc = "Move forward to the end of the current or next WORD" }, + { on = "<A-b>", run = "backward", desc = "Move back to the start of the current or previous word" }, + { on = "<A-f>", run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" }, + + # Line-wise movement + { on = "0", run = "move bol", desc = "Move to the BOL" }, + { on = "$", run = "move eol", desc = "Move to the EOL" }, + { on = "_", run = "move first-char", desc = "Move to the first non-whitespace character" }, + { on = "^", run = "move first-char", desc = "Move to the first non-whitespace character" }, + { on = "<C-a>", run = "move bol", desc = "Move to the BOL" }, + { on = "<C-e>", run = "move eol", desc = "Move to the EOL" }, + { on = "<Home>", run = "move bol", desc = "Move to the BOL" }, + { on = "<End>", run = "move eol", desc = "Move to the EOL" }, + + # Delete + { on = "<Backspace>", run = "backspace", desc = "Delete the character before the cursor" }, + { on = "<Delete>", run = "backspace --under", desc = "Delete the character under the cursor" }, + { on = "<C-h>", run = "backspace", desc = "Delete the character before the cursor" }, + { on = "<C-d>", run = "backspace --under", desc = "Delete the character under the cursor" }, + + # Kill + { on = "<C-u>", run = "kill bol", desc = "Kill backwards to the BOL" }, + { on = "<C-k>", run = "kill eol", desc = "Kill forwards to the EOL" }, + { on = "<C-w>", run = "kill backward", desc = "Kill backwards to the start of the current word" }, + { on = "<A-d>", run = "kill forward", desc = "Kill forwards to the end of the current word" }, + + # Cut/Yank/Paste + { on = "d", run = "delete --cut", desc = "Cut selected characters" }, + { on = "D", run = [ "delete --cut", "move eol" ], desc = "Cut until EOL" }, + { on = "c", run = "delete --cut --insert", desc = "Cut selected characters, and enter insert mode" }, + { on = "C", run = [ "delete --cut --insert", "move eol" ], desc = "Cut until EOL, and enter insert mode" }, + { on = "s", run = [ "delete --cut --insert", "move 1" ], desc = "Cut current character, and enter insert mode" }, + { on = "S", run = [ "move bol", "delete --cut --insert", "move eol" ], desc = "Cut from BOL until EOL, and enter insert mode" }, + { on = "x", run = [ "delete --cut", "move 1 --in-operating" ], desc = "Cut current character" }, + { on = "y", run = "yank", desc = "Copy selected characters" }, + { on = "p", run = "paste", desc = "Paste copied characters after the cursor" }, + { on = "P", run = "paste --before", desc = "Paste copied characters before the cursor" }, + + # Undo/Redo + { on = "u", run = "undo", desc = "Undo the last operation" }, + { on = "<C-r>", run = "redo", desc = "Redo the last operation" }, + + # Help + { on = "~", run = "help", desc = "Open help" }, + { on = "<F1>", run = "help", desc = "Open help" }, +] + +[confirm] + +keymap = [ + { on = "<Esc>", run = "close", desc = "Cancel the confirm" }, + { on = "<C-[>", run = "close", desc = "Cancel the confirm" }, + { on = "<C-c>", run = "close", desc = "Cancel the confirm" }, + { on = "<Enter>", run = "close --submit", desc = "Submit the confirm" }, + + { on = "n", run = "close", desc = "Cancel the confirm" }, + { on = "y", run = "close --submit", desc = "Submit the confirm" }, + + { on = "k", run = "arrow prev", desc = "Previous line" }, + { on = "j", run = "arrow next", desc = "Next line" }, + + { on = "<Up>", run = "arrow prev", desc = "Previous line" }, + { on = "<Down>", run = "arrow next", desc = "Next line" }, + + # Help + { on = "~", run = "help", desc = "Open help" }, + { on = "<F1>", run = "help", desc = "Open help" }, +] + +[cmp] + +keymap = [ + { on = "<C-c>", run = "close", desc = "Cancel completion" }, + { on = "<Tab>", run = "close --submit", desc = "Submit the completion" }, + { on = "<Enter>", run = [ "close --submit", "input:close --submit" ], desc = "Complete and submit the input" }, + + { on = "<A-k>", run = "arrow prev", desc = "Previous item" }, + { on = "<A-j>", run = "arrow next", desc = "Next item" }, + + { on = "<Up>", run = "arrow prev", desc = "Previous item" }, + { on = "<Down>", run = "arrow next", desc = "Next item" }, + + { on = "<C-p>", run = "arrow prev", desc = "Previous item" }, + { on = "<C-n>", run = "arrow next", desc = "Next item" }, + + # Help + { on = "~", run = "help", desc = "Open help" }, + { on = "<F1>", run = "help", desc = "Open help" }, +] + +[help] + +keymap = [ + { on = "<Esc>", run = "escape", desc = "Clear the filter, or hide the help" }, + { on = "<C-[>", run = "escape", desc = "Clear the filter, or hide the help" }, + { on = "<C-c>", run = "close", desc = "Hide the help" }, + + # Navigation + { on = "k", run = "arrow prev", desc = "Previous line" }, + { on = "j", run = "arrow next", desc = "Next line" }, + + { on = "<Up>", run = "arrow prev", desc = "Previous line" }, + { on = "<Down>", run = "arrow next", desc = "Next line" }, + + # Filtering + { on = "f", run = "filter", desc = "Filter help items" }, +] diff --git a/mirenn/home/files/dotfiles/.config/yazi/package.toml b/mirenn/home/files/dotfiles/.config/yazi/package.toml new file mode 100644 index 0000000..da4281b --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/yazi/package.toml @@ -0,0 +1,7 @@ +[[plugin.deps]] +use = "yazi-rs/plugins:full-border" +rev = "eaf6920" +hash = "3996fc74044bc44144b323686f887e1" + +[flavor] +deps = [] diff --git a/mirenn/home/files/dotfiles/.config/yazi/theme.toml b/mirenn/home/files/dotfiles/.config/yazi/theme.toml new file mode 100644 index 0000000..8bb3558 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/yazi/theme.toml @@ -0,0 +1,959 @@ +# If the user's terminal is in dark mode, Yazi will load `theme-dark.toml` on startup; otherwise, `theme-light.toml`. +# You can override any parts of them that are not related to the dark/light mode in your own `theme.toml`. + +# If you want to dynamically override their content based on dark/light mode, you can specify two different flavors +# for dark and light modes under `[flavor]`, and do so in those flavors instead. +"$schema" = "https://yazi-rs.github.io/schemas/theme.json" + +# vim:fileencoding=utf-8:foldmethod=marker + +# : Flavor {{{ + +[flavor] +dark = "" +light = "" + +# : }}} + + +# : Manager {{{ + +[mgr] +cwd = { fg = "cyan" } + +# Hovered +hovered = { reversed = true } +preview_hovered = { underline = true } + +# Find +find_keyword = { fg = "yellow", bold = true, italic = true, underline = true } +find_position = { fg = "magenta", bg = "reset", bold = true, italic = true } + +# Symlink +symlink_target = { italic = true } + +# Marker +marker_copied = { fg = "lightgreen", bg = "lightgreen" } +marker_cut = { fg = "lightred", bg = "lightred" } +marker_marked = { fg = "lightcyan", bg = "lightcyan" } +marker_selected = { fg = "lightyellow", bg = "lightyellow" } + +# Count +count_copied = { fg = "white", bg = "green" } +count_cut = { fg = "white", bg = "red" } +count_selected = { fg = "white", bg = "yellow" } + +# Border +border_symbol = "│" +border_style = { fg = "gray" } + +# Highlighting +syntect_theme = "" + +# : }}} + + +# : Tabs {{{ + +[tabs] +active = { bg = "blue", bold = true } +inactive = { fg = "blue", bg = "gray" } + +# Separator +sep_inner = { open = "", close = "" } +sep_outer = { open = "", close = "" } + +# : }}} + + +# : Mode {{{ + +[mode] +normal_main = { bg = "blue", bold = true } +normal_alt = { fg = "blue", bg = "gray" } + +# Select mode +select_main = { bg = "red", bold = true } +select_alt = { fg = "red", bg = "gray" } + +# Unset mode +unset_main = { bg = "red", bold = true } +unset_alt = { fg = "red", bg = "gray" } + +# : }}} + + +# : Status bar {{{ + +[status] +overall = {} +sep_left = { open = "", close = "" } +sep_right = { open = "", close = "" } + + +# Permissions +perm_sep = { fg = "darkgray" } +perm_type = { fg = "green" } +perm_read = { fg = "yellow" } +perm_write = { fg = "red" } +perm_exec = { fg = "cyan" } + +# Progress +progress_label = { bold = true } +progress_normal = { fg = "blue", bg = "black" } +progress_error = { fg = "red", bg = "black" } + +# : }}} + + +# : Which {{{ + +[which] +cols = 3 +mask = { bg = "black" } +cand = { fg = "lightcyan" } +rest = { fg = "darkgray" } +desc = { fg = "lightmagenta" } +separator = " " +separator_style = { fg = "darkgray" } + +# : }}} + + +# : Confirmation {{{ + +[confirm] +border = { fg = "blue" } +title = { fg = "blue" } +content = {} +list = {} +btn_yes = { reversed = true } +btn_no = {} +btn_labels = [ " [Y]es ", " (N)o " ] + +# : }}} + + +# : Spotter {{{ + +[spot] +border = { fg = "blue" } +title = { fg = "blue" } + +# Table +tbl_col = { fg = "blue" } +tbl_cell = { fg = "yellow", reversed = true } + +# : }}} + + +# : Notification {{{ + +[notify] +title_info = { fg = "green" } +title_warn = { fg = "yellow" } +title_error = { fg = "red" } + +# Icons +icon_info = "" +icon_warn = "" +icon_error = "" + +# : }}} + + +# : Picker {{{ + +[pick] +border = { fg = "blue" } +active = { fg = "magenta", bold = true } +inactive = {} + +# : }}} + + +# : Input {{{ + +[input] +border = { fg = "blue" } +title = {} +value = {} +selected = { reversed = true } + +# : }}} + + +# : Completion {{{ + +[cmp] +border = { fg = "blue" } +active = { reversed = true } +inactive = {} + +# Icons +icon_file = "" +icon_folder = "" +icon_command = "" + +# : }}} + + +# : Task manager {{{ + +[tasks] +border = { fg = "blue" } +title = {} +hovered = { fg = "magenta", underline = true } + +# : }}} + + +# : Help menu {{{ + +[help] +on = { fg = "cyan" } +run = { fg = "magenta" } +desc = {} +hovered = { reversed = true, bold = true } +footer = { fg = "black", bg = "white" } + +# : }}} + + +# : File-specific styles {{{ + +[filetype] +rules = [ + # Images + { mime = "image/*", fg = "yellow" }, + + # Media + { mime = "{audio,video}/*", fg = "magenta" }, + + # Archives + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "red" }, + + # Documents + { mime = "application/{pdf,doc,rtf}", fg = "cyan" }, + + # Empty files + # { mime = "inode/empty", fg = "red" }, + + # Special files + { name = "*", is = "orphan", bg = "red" }, + { name = "*", is = "exec" , fg = "green" }, + + # Dummy files + { name = "*", is = "dummy", bg = "red" }, + { name = "*/", is = "dummy", bg = "red" }, + + # Fallback + # { name = "*", fg = "white" }, + { name = "*/", fg = "blue" } +] + +# : }}} + + +# : Icons {{{ + +[icon] +globs = [] +dirs = [ + { name = ".config", text = "" }, + { name = ".git", text = "" }, + { name = ".github", text = "" }, + { name = ".npm", text = "" }, + { name = "Desktop", text = "" }, + { name = "Development", text = "" }, + { name = "Documents", text = "" }, + { name = "Downloads", text = "" }, + { name = "Library", text = "" }, + { name = "Movies", text = "" }, + { name = "Music", text = "" }, + { name = "Pictures", text = "" }, + { name = "Public", text = "" }, + { name = "Videos", text = "" }, +] +files = [ + { name = ".babelrc", text = "", fg = "#cbcb41" }, + { name = ".bash_profile", text = "", fg = "#89e051" }, + { name = ".bashrc", text = "", fg = "#89e051" }, + { name = ".clang-format", text = "", fg = "#6d8086" }, + { name = ".clang-tidy", text = "", fg = "#6d8086" }, + { name = ".codespellrc", text = "", fg = "#35da60" }, + { name = ".condarc", text = "", fg = "#43b02a" }, + { name = ".dockerignore", text = "", fg = "#458ee6" }, + { name = ".ds_store", text = "", fg = "#41535b" }, + { name = ".editorconfig", text = "", fg = "#fff2f2" }, + { name = ".env", text = "", fg = "#faf743" }, + { name = ".eslintignore", text = "", fg = "#4b32c3" }, + { name = ".eslintrc", text = "", fg = "#4b32c3" }, + { name = ".git-blame-ignore-revs", text = "", fg = "#f54d27" }, + { name = ".gitattributes", text = "", fg = "#f54d27" }, + { name = ".gitconfig", text = "", fg = "#f54d27" }, + { name = ".gitignore", text = "", fg = "#f54d27" }, + { name = ".gitlab-ci.yml", text = "", fg = "#e24329" }, + { name = ".gitmodules", text = "", fg = "#f54d27" }, + { name = ".gtkrc-2.0", text = "", fg = "#ffffff" }, + { name = ".gvimrc", text = "", fg = "#019833" }, + { name = ".justfile", text = "", fg = "#6d8086" }, + { name = ".luacheckrc", text = "", fg = "#00a2ff" }, + { name = ".luaurc", text = "", fg = "#00a2ff" }, + { name = ".mailmap", text = "", fg = "#f54d27" }, + { name = ".nanorc", text = "", fg = "#440077" }, + { name = ".npmignore", text = "", fg = "#e8274b" }, + { name = ".npmrc", text = "", fg = "#e8274b" }, + { name = ".nuxtrc", text = "", fg = "#00c58e" }, + { name = ".nvmrc", text = "", fg = "#5fa04e" }, + { name = ".pre-commit-config.yaml", text = "", fg = "#f8b424" }, + { name = ".prettierignore", text = "", fg = "#4285f4" }, + { name = ".prettierrc", text = "", fg = "#4285f4" }, + { name = ".prettierrc.cjs", text = "", fg = "#4285f4" }, + { name = ".prettierrc.js", text = "", fg = "#4285f4" }, + { name = ".prettierrc.json", text = "", fg = "#4285f4" }, + { name = ".prettierrc.json5", text = "", fg = "#4285f4" }, + { name = ".prettierrc.mjs", text = "", fg = "#4285f4" }, + { name = ".prettierrc.toml", text = "", fg = "#4285f4" }, + { name = ".prettierrc.yaml", text = "", fg = "#4285f4" }, + { name = ".prettierrc.yml", text = "", fg = "#4285f4" }, + { name = ".pylintrc", text = "", fg = "#6d8086" }, + { name = ".settings.json", text = "", fg = "#854cc7" }, + { name = ".SRCINFO", text = "", fg = "#0f94d2" }, + { name = ".vimrc", text = "", fg = "#019833" }, + { name = ".Xauthority", text = "", fg = "#e54d18" }, + { name = ".xinitrc", text = "", fg = "#e54d18" }, + { name = ".Xresources", text = "", fg = "#e54d18" }, + { name = ".xsession", text = "", fg = "#e54d18" }, + { name = ".zprofile", text = "", fg = "#89e051" }, + { name = ".zshenv", text = "", fg = "#89e051" }, + { name = ".zshrc", text = "", fg = "#89e051" }, + { name = "_gvimrc", text = "", fg = "#019833" }, + { name = "_vimrc", text = "", fg = "#019833" }, + { name = "AUTHORS", text = "", fg = "#a172ff" }, + { name = "AUTHORS.txt", text = "", fg = "#a172ff" }, + { name = "brewfile", text = "", fg = "#701516" }, + { name = "bspwmrc", text = "", fg = "#2f2f2f" }, + { name = "build", text = "", fg = "#89e051" }, + { name = "build.gradle", text = "", fg = "#005f87" }, + { name = "build.zig.zon", text = "", fg = "#f69a1b" }, + { name = "bun.lock", text = "", fg = "#eadcd1" }, + { name = "bun.lockb", text = "", fg = "#eadcd1" }, + { name = "cantorrc", text = "", fg = "#1c99f3" }, + { name = "checkhealth", text = "", fg = "#75b4fb" }, + { name = "cmakelists.txt", text = "", fg = "#dce3eb" }, + { name = "code_of_conduct", text = "", fg = "#e41662" }, + { name = "code_of_conduct.md", text = "", fg = "#e41662" }, + { name = "commit_editmsg", text = "", fg = "#f54d27" }, + { name = "commitlint.config.js", text = "", fg = "#2b9689" }, + { name = "commitlint.config.ts", text = "", fg = "#2b9689" }, + { name = "compose.yaml", text = "", fg = "#458ee6" }, + { name = "compose.yml", text = "", fg = "#458ee6" }, + { name = "config", text = "", fg = "#6d8086" }, + { name = "containerfile", text = "", fg = "#458ee6" }, + { name = "copying", text = "", fg = "#cbcb41" }, + { name = "copying.lesser", text = "", fg = "#cbcb41" }, + { name = "Directory.Build.props", text = "", fg = "#00a2ff" }, + { name = "Directory.Build.targets", text = "", fg = "#00a2ff" }, + { name = "Directory.Packages.props", text = "", fg = "#00a2ff" }, + { name = "docker-compose.yaml", text = "", fg = "#458ee6" }, + { name = "docker-compose.yml", text = "", fg = "#458ee6" }, + { name = "dockerfile", text = "", fg = "#458ee6" }, + { name = "eslint.config.cjs", text = "", fg = "#4b32c3" }, + { name = "eslint.config.js", text = "", fg = "#4b32c3" }, + { name = "eslint.config.mjs", text = "", fg = "#4b32c3" }, + { name = "eslint.config.ts", text = "", fg = "#4b32c3" }, + { name = "ext_typoscript_setup.txt", text = "", fg = "#ff8700" }, + { name = "favicon.ico", text = "", fg = "#cbcb41" }, + { name = "fp-info-cache", text = "", fg = "#ffffff" }, + { name = "fp-lib-table", text = "", fg = "#ffffff" }, + { name = "FreeCAD.conf", text = "", fg = "#cb333b" }, + { name = "Gemfile", text = "", fg = "#701516" }, + { name = "gnumakefile", text = "", fg = "#6d8086" }, + { name = "go.mod", text = "", fg = "#00add8" }, + { name = "go.sum", text = "", fg = "#00add8" }, + { name = "go.work", text = "", fg = "#00add8" }, + { name = "gradle-wrapper.properties", text = "", fg = "#005f87" }, + { name = "gradle.properties", text = "", fg = "#005f87" }, + { name = "gradlew", text = "", fg = "#005f87" }, + { name = "groovy", text = "", fg = "#4a687c" }, + { name = "gruntfile.babel.js", text = "", fg = "#e37933" }, + { name = "gruntfile.coffee", text = "", fg = "#e37933" }, + { name = "gruntfile.js", text = "", fg = "#e37933" }, + { name = "gruntfile.ts", text = "", fg = "#e37933" }, + { name = "gtkrc", text = "", fg = "#ffffff" }, + { name = "gulpfile.babel.js", text = "", fg = "#cc3e44" }, + { name = "gulpfile.coffee", text = "", fg = "#cc3e44" }, + { name = "gulpfile.js", text = "", fg = "#cc3e44" }, + { name = "gulpfile.ts", text = "", fg = "#cc3e44" }, + { name = "hypridle.conf", text = "", fg = "#00aaae" }, + { name = "hyprland.conf", text = "", fg = "#00aaae" }, + { name = "hyprlandd.conf", text = "", fg = "#00aaae" }, + { name = "hyprlock.conf", text = "", fg = "#00aaae" }, + { name = "hyprpaper.conf", text = "", fg = "#00aaae" }, + { name = "i18n.config.js", text = "", fg = "#7986cb" }, + { name = "i18n.config.ts", text = "", fg = "#7986cb" }, + { name = "i3blocks.conf", text = "", fg = "#e8ebee" }, + { name = "i3status.conf", text = "", fg = "#e8ebee" }, + { name = "index.theme", text = "", fg = "#2db96f" }, + { name = "ionic.config.json", text = "", fg = "#4f8ff7" }, + { name = "justfile", text = "", fg = "#6d8086" }, + { name = "kalgebrarc", text = "", fg = "#1c99f3" }, + { name = "kdeglobals", text = "", fg = "#1c99f3" }, + { name = "kdenlive-layoutsrc", text = "", fg = "#83b8f2" }, + { name = "kdenliverc", text = "", fg = "#83b8f2" }, + { name = "kritadisplayrc", text = "", fg = "#f245fb" }, + { name = "kritarc", text = "", fg = "#f245fb" }, + { name = "license", text = "", fg = "#d0bf41" }, + { name = "license.md", text = "", fg = "#d0bf41" }, + { name = "lxde-rc.xml", text = "", fg = "#909090" }, + { name = "lxqt.conf", text = "", fg = "#0192d3" }, + { name = "makefile", text = "", fg = "#6d8086" }, + { name = "mix.lock", text = "", fg = "#a074c4" }, + { name = "mpv.conf", text = "", fg = "#3b1342" }, + { name = "node_modules", text = "", fg = "#e8274b" }, + { name = "nuxt.config.cjs", text = "", fg = "#00c58e" }, + { name = "nuxt.config.js", text = "", fg = "#00c58e" }, + { name = "nuxt.config.mjs", text = "", fg = "#00c58e" }, + { name = "nuxt.config.ts", text = "", fg = "#00c58e" }, + { name = "package-lock.json", text = "", fg = "#7a0d21" }, + { name = "package.json", text = "", fg = "#e8274b" }, + { name = "PKGBUILD", text = "", fg = "#0f94d2" }, + { name = "platformio.ini", text = "", fg = "#f6822b" }, + { name = "pom.xml", text = "", fg = "#7a0d21" }, + { name = "prettier.config.cjs", text = "", fg = "#4285f4" }, + { name = "prettier.config.js", text = "", fg = "#4285f4" }, + { name = "prettier.config.mjs", text = "", fg = "#4285f4" }, + { name = "prettier.config.ts", text = "", fg = "#4285f4" }, + { name = "procfile", text = "", fg = "#a074c4" }, + { name = "PrusaSlicer.ini", text = "", fg = "#ec6b23" }, + { name = "PrusaSlicerGcodeViewer.ini", text = "", fg = "#ec6b23" }, + { name = "py.typed", text = "", fg = "#ffbc03" }, + { name = "QtProject.conf", text = "", fg = "#40cd52" }, + { name = "rakefile", text = "", fg = "#701516" }, + { name = "readme", text = "", fg = "#ededed" }, + { name = "readme.md", text = "", fg = "#ededed" }, + { name = "rmd", text = "", fg = "#519aba" }, + { name = "robots.txt", text = "", fg = "#5d7096" }, + { name = "security", text = "", fg = "#bec4c9" }, + { name = "security.md", text = "", fg = "#bec4c9" }, + { name = "settings.gradle", text = "", fg = "#005f87" }, + { name = "svelte.config.js", text = "", fg = "#ff3e00" }, + { name = "sxhkdrc", text = "", fg = "#2f2f2f" }, + { name = "sym-lib-table", text = "", fg = "#ffffff" }, + { name = "tailwind.config.js", text = "", fg = "#20c2e3" }, + { name = "tailwind.config.mjs", text = "", fg = "#20c2e3" }, + { name = "tailwind.config.ts", text = "", fg = "#20c2e3" }, + { name = "tmux.conf", text = "", fg = "#14ba19" }, + { name = "tmux.conf.local", text = "", fg = "#14ba19" }, + { name = "tsconfig.json", text = "", fg = "#519aba" }, + { name = "unlicense", text = "", fg = "#d0bf41" }, + { name = "vagrantfile", text = "", fg = "#1563ff" }, + { name = "vercel.json", text = "", fg = "#ffffff" }, + { name = "vlcrc", text = "", fg = "#ee7a00" }, + { name = "webpack", text = "", fg = "#519aba" }, + { name = "weston.ini", text = "", fg = "#ffbb01" }, + { name = "workspace", text = "", fg = "#89e051" }, + { name = "wrangler.jsonc", text = "", fg = "#f48120" }, + { name = "wrangler.toml", text = "", fg = "#f48120" }, + { name = "xmobarrc", text = "", fg = "#fd4d5d" }, + { name = "xmobarrc.hs", text = "", fg = "#fd4d5d" }, + { name = "xmonad.hs", text = "", fg = "#fd4d5d" }, + { name = "xorg.conf", text = "", fg = "#e54d18" }, + { name = "xsettingsd.conf", text = "", fg = "#e54d18" }, +] +exts = [ + { name = "3gp", text = "", fg = "#fd971f" }, + { name = "3mf", text = "", fg = "#888888" }, + { name = "7z", text = "", fg = "#eca517" }, + { name = "a", text = "", fg = "#dcddd6" }, + { name = "aac", text = "", fg = "#00afff" }, + { name = "ada", text = "", fg = "#599eff" }, + { name = "adb", text = "", fg = "#599eff" }, + { name = "ads", text = "", fg = "#a074c4" }, + { name = "ai", text = "", fg = "#cbcb41" }, + { name = "aif", text = "", fg = "#00afff" }, + { name = "aiff", text = "", fg = "#00afff" }, + { name = "android", text = "", fg = "#34a853" }, + { name = "ape", text = "", fg = "#00afff" }, + { name = "apk", text = "", fg = "#34a853" }, + { name = "apl", text = "", fg = "#24a148" }, + { name = "app", text = "", fg = "#9f0500" }, + { name = "applescript", text = "", fg = "#6d8085" }, + { name = "asc", text = "", fg = "#576d7f" }, + { name = "asm", text = "", fg = "#0091bd" }, + { name = "ass", text = "", fg = "#ffb713" }, + { name = "astro", text = "", fg = "#e23f67" }, + { name = "avif", text = "", fg = "#a074c4" }, + { name = "awk", text = "", fg = "#4d5a5e" }, + { name = "azcli", text = "", fg = "#0078d4" }, + { name = "bak", text = "", fg = "#6d8086" }, + { name = "bash", text = "", fg = "#89e051" }, + { name = "bat", text = "", fg = "#c1f12e" }, + { name = "bazel", text = "", fg = "#89e051" }, + { name = "bib", text = "", fg = "#cbcb41" }, + { name = "bicep", text = "", fg = "#519aba" }, + { name = "bicepparam", text = "", fg = "#9f74b3" }, + { name = "bin", text = "", fg = "#9f0500" }, + { name = "blade.php", text = "", fg = "#f05340" }, + { name = "blend", text = "", fg = "#ea7600" }, + { name = "blp", text = "", fg = "#5796e2" }, + { name = "bmp", text = "", fg = "#a074c4" }, + { name = "bqn", text = "", fg = "#24a148" }, + { name = "brep", text = "", fg = "#839463" }, + { name = "bz", text = "", fg = "#eca517" }, + { name = "bz2", text = "", fg = "#eca517" }, + { name = "bz3", text = "", fg = "#eca517" }, + { name = "bzl", text = "", fg = "#89e051" }, + { name = "c", text = "", fg = "#599eff" }, + { name = "c++", text = "", fg = "#f34b7d" }, + { name = "cache", text = "", fg = "#ffffff" }, + { name = "cast", text = "", fg = "#fd971f" }, + { name = "cbl", text = "", fg = "#005ca5" }, + { name = "cc", text = "", fg = "#f34b7d" }, + { name = "ccm", text = "", fg = "#f34b7d" }, + { name = "cfg", text = "", fg = "#6d8086" }, + { name = "cjs", text = "", fg = "#cbcb41" }, + { name = "clj", text = "", fg = "#8dc149" }, + { name = "cljc", text = "", fg = "#8dc149" }, + { name = "cljd", text = "", fg = "#519aba" }, + { name = "cljs", text = "", fg = "#519aba" }, + { name = "cmake", text = "", fg = "#dce3eb" }, + { name = "cob", text = "", fg = "#005ca5" }, + { name = "cobol", text = "", fg = "#005ca5" }, + { name = "coffee", text = "", fg = "#cbcb41" }, + { name = "conda", text = "", fg = "#43b02a" }, + { name = "conf", text = "", fg = "#6d8086" }, + { name = "config.ru", text = "", fg = "#701516" }, + { name = "cow", text = "", fg = "#965824" }, + { name = "cp", text = "", fg = "#519aba" }, + { name = "cpp", text = "", fg = "#519aba" }, + { name = "cppm", text = "", fg = "#519aba" }, + { name = "cpy", text = "", fg = "#005ca5" }, + { name = "cr", text = "", fg = "#c8c8c8" }, + { name = "crdownload", text = "", fg = "#44cda8" }, + { name = "cs", text = "", fg = "#596706" }, + { name = "csh", text = "", fg = "#4d5a5e" }, + { name = "cshtml", text = "", fg = "#512bd4" }, + { name = "cson", text = "", fg = "#cbcb41" }, + { name = "csproj", text = "", fg = "#512bd4" }, + { name = "css", text = "", fg = "#663399" }, + { name = "csv", text = "", fg = "#89e051" }, + { name = "cts", text = "", fg = "#519aba" }, + { name = "cu", text = "", fg = "#89e051" }, + { name = "cue", text = "", fg = "#ed95ae" }, + { name = "cuh", text = "", fg = "#a074c4" }, + { name = "cxx", text = "", fg = "#519aba" }, + { name = "cxxm", text = "", fg = "#519aba" }, + { name = "d", text = "", fg = "#b03931" }, + { name = "d.ts", text = "", fg = "#d59855" }, + { name = "dart", text = "", fg = "#03589c" }, + { name = "db", text = "", fg = "#dad8d8" }, + { name = "dconf", text = "", fg = "#ffffff" }, + { name = "desktop", text = "", fg = "#563d7c" }, + { name = "diff", text = "", fg = "#41535b" }, + { name = "dll", text = "", fg = "#4d2c0b" }, + { name = "doc", text = "", fg = "#185abd" }, + { name = "Dockerfile", text = "", fg = "#458ee6" }, + { name = "dockerignore", text = "", fg = "#458ee6" }, + { name = "docx", text = "", fg = "#185abd" }, + { name = "dot", text = "", fg = "#30638e" }, + { name = "download", text = "", fg = "#44cda8" }, + { name = "drl", text = "", fg = "#ffafaf" }, + { name = "dropbox", text = "", fg = "#0061fe" }, + { name = "dump", text = "", fg = "#dad8d8" }, + { name = "dwg", text = "", fg = "#839463" }, + { name = "dxf", text = "", fg = "#839463" }, + { name = "ebook", text = "", fg = "#eab16d" }, + { name = "ebuild", text = "", fg = "#4c416e" }, + { name = "edn", text = "", fg = "#519aba" }, + { name = "eex", text = "", fg = "#a074c4" }, + { name = "ejs", text = "", fg = "#cbcb41" }, + { name = "el", text = "", fg = "#8172be" }, + { name = "elc", text = "", fg = "#8172be" }, + { name = "elf", text = "", fg = "#9f0500" }, + { name = "elm", text = "", fg = "#519aba" }, + { name = "eln", text = "", fg = "#8172be" }, + { name = "env", text = "", fg = "#faf743" }, + { name = "eot", text = "", fg = "#ececec" }, + { name = "epp", text = "", fg = "#ffa61a" }, + { name = "epub", text = "", fg = "#eab16d" }, + { name = "erb", text = "", fg = "#701516" }, + { name = "erl", text = "", fg = "#b83998" }, + { name = "ex", text = "", fg = "#a074c4" }, + { name = "exe", text = "", fg = "#9f0500" }, + { name = "exs", text = "", fg = "#a074c4" }, + { name = "f#", text = "", fg = "#519aba" }, + { name = "f3d", text = "", fg = "#839463" }, + { name = "f90", text = "", fg = "#734f96" }, + { name = "fbx", text = "", fg = "#888888" }, + { name = "fcbak", text = "", fg = "#cb333b" }, + { name = "fcmacro", text = "", fg = "#cb333b" }, + { name = "fcmat", text = "", fg = "#cb333b" }, + { name = "fcparam", text = "", fg = "#cb333b" }, + { name = "fcscript", text = "", fg = "#cb333b" }, + { name = "fcstd", text = "", fg = "#cb333b" }, + { name = "fcstd1", text = "", fg = "#cb333b" }, + { name = "fctb", text = "", fg = "#cb333b" }, + { name = "fctl", text = "", fg = "#cb333b" }, + { name = "fdmdownload", text = "", fg = "#44cda8" }, + { name = "feature", text = "", fg = "#00a818" }, + { name = "fish", text = "", fg = "#4d5a5e" }, + { name = "flac", text = "", fg = "#0075aa" }, + { name = "flc", text = "", fg = "#ececec" }, + { name = "flf", text = "", fg = "#ececec" }, + { name = "fnl", text = "", fg = "#fff3d7" }, + { name = "fodg", text = "", fg = "#fffb57" }, + { name = "fodp", text = "", fg = "#fe9c45" }, + { name = "fods", text = "", fg = "#78fc4e" }, + { name = "fodt", text = "", fg = "#2dcbfd" }, + { name = "fs", text = "", fg = "#519aba" }, + { name = "fsi", text = "", fg = "#519aba" }, + { name = "fsscript", text = "", fg = "#519aba" }, + { name = "fsx", text = "", fg = "#519aba" }, + { name = "gcode", text = "", fg = "#1471ad" }, + { name = "gd", text = "", fg = "#6d8086" }, + { name = "gemspec", text = "", fg = "#701516" }, + { name = "gif", text = "", fg = "#a074c4" }, + { name = "git", text = "", fg = "#f14c28" }, + { name = "glb", text = "", fg = "#ffb13b" }, + { name = "gleam", text = "", fg = "#ffaff3" }, + { name = "gnumakefile", text = "", fg = "#6d8086" }, + { name = "go", text = "", fg = "#00add8" }, + { name = "godot", text = "", fg = "#6d8086" }, + { name = "gpr", text = "", fg = "#6d8086" }, + { name = "gql", text = "", fg = "#e535ab" }, + { name = "gradle", text = "", fg = "#005f87" }, + { name = "graphql", text = "", fg = "#e535ab" }, + { name = "gresource", text = "", fg = "#ffffff" }, + { name = "gv", text = "", fg = "#30638e" }, + { name = "gz", text = "", fg = "#eca517" }, + { name = "h", text = "", fg = "#a074c4" }, + { name = "haml", text = "", fg = "#eaeae1" }, + { name = "hbs", text = "", fg = "#f0772b" }, + { name = "heex", text = "", fg = "#a074c4" }, + { name = "hex", text = "", fg = "#2e63ff" }, + { name = "hh", text = "", fg = "#a074c4" }, + { name = "hpp", text = "", fg = "#a074c4" }, + { name = "hrl", text = "", fg = "#b83998" }, + { name = "hs", text = "", fg = "#a074c4" }, + { name = "htm", text = "", fg = "#e34c26" }, + { name = "html", text = "", fg = "#e44d26" }, + { name = "http", text = "", fg = "#008ec7" }, + { name = "huff", text = "", fg = "#4242c7" }, + { name = "hurl", text = "", fg = "#ff0288" }, + { name = "hx", text = "", fg = "#ea8220" }, + { name = "hxx", text = "", fg = "#a074c4" }, + { name = "ical", text = "", fg = "#2b2e83" }, + { name = "icalendar", text = "", fg = "#2b2e83" }, + { name = "ico", text = "", fg = "#cbcb41" }, + { name = "ics", text = "", fg = "#2b2e83" }, + { name = "ifb", text = "", fg = "#2b2e83" }, + { name = "ifc", text = "", fg = "#839463" }, + { name = "ige", text = "", fg = "#839463" }, + { name = "iges", text = "", fg = "#839463" }, + { name = "igs", text = "", fg = "#839463" }, + { name = "image", text = "", fg = "#d0bec8" }, + { name = "img", text = "", fg = "#d0bec8" }, + { name = "import", text = "", fg = "#ececec" }, + { name = "info", text = "", fg = "#ffffcd" }, + { name = "ini", text = "", fg = "#6d8086" }, + { name = "ino", text = "", fg = "#56b6c2" }, + { name = "ipynb", text = "", fg = "#f57d01" }, + { name = "iso", text = "", fg = "#d0bec8" }, + { name = "ixx", text = "", fg = "#519aba" }, + { name = "java", text = "", fg = "#cc3e44" }, + { name = "jl", text = "", fg = "#a270ba" }, + { name = "jpeg", text = "", fg = "#a074c4" }, + { name = "jpg", text = "", fg = "#a074c4" }, + { name = "js", text = "", fg = "#cbcb41" }, + { name = "json", text = "", fg = "#cbcb41" }, + { name = "json5", text = "", fg = "#cbcb41" }, + { name = "jsonc", text = "", fg = "#cbcb41" }, + { name = "jsx", text = "", fg = "#20c2e3" }, + { name = "jwmrc", text = "", fg = "#0078cd" }, + { name = "jxl", text = "", fg = "#a074c4" }, + { name = "kbx", text = "", fg = "#737672" }, + { name = "kdb", text = "", fg = "#529b34" }, + { name = "kdbx", text = "", fg = "#529b34" }, + { name = "kdenlive", text = "", fg = "#83b8f2" }, + { name = "kdenlivetitle", text = "", fg = "#83b8f2" }, + { name = "kicad_dru", text = "", fg = "#ffffff" }, + { name = "kicad_mod", text = "", fg = "#ffffff" }, + { name = "kicad_pcb", text = "", fg = "#ffffff" }, + { name = "kicad_prl", text = "", fg = "#ffffff" }, + { name = "kicad_pro", text = "", fg = "#ffffff" }, + { name = "kicad_sch", text = "", fg = "#ffffff" }, + { name = "kicad_sym", text = "", fg = "#ffffff" }, + { name = "kicad_wks", text = "", fg = "#ffffff" }, + { name = "ko", text = "", fg = "#dcddd6" }, + { name = "kpp", text = "", fg = "#f245fb" }, + { name = "kra", text = "", fg = "#f245fb" }, + { name = "krz", text = "", fg = "#f245fb" }, + { name = "ksh", text = "", fg = "#4d5a5e" }, + { name = "kt", text = "", fg = "#7f52ff" }, + { name = "kts", text = "", fg = "#7f52ff" }, + { name = "lck", text = "", fg = "#bbbbbb" }, + { name = "leex", text = "", fg = "#a074c4" }, + { name = "less", text = "", fg = "#563d7c" }, + { name = "lff", text = "", fg = "#ececec" }, + { name = "lhs", text = "", fg = "#a074c4" }, + { name = "lib", text = "", fg = "#4d2c0b" }, + { name = "license", text = "", fg = "#cbcb41" }, + { name = "liquid", text = "", fg = "#95bf47" }, + { name = "lock", text = "", fg = "#bbbbbb" }, + { name = "log", text = "", fg = "#dddddd" }, + { name = "lrc", text = "", fg = "#ffb713" }, + { name = "lua", text = "", fg = "#51a0cf" }, + { name = "luac", text = "", fg = "#51a0cf" }, + { name = "luau", text = "", fg = "#00a2ff" }, + { name = "m", text = "", fg = "#599eff" }, + { name = "m3u", text = "", fg = "#ed95ae" }, + { name = "m3u8", text = "", fg = "#ed95ae" }, + { name = "m4a", text = "", fg = "#00afff" }, + { name = "m4v", text = "", fg = "#fd971f" }, + { name = "magnet", text = "", fg = "#a51b16" }, + { name = "makefile", text = "", fg = "#6d8086" }, + { name = "markdown", text = "", fg = "#dddddd" }, + { name = "material", text = "", fg = "#b83998" }, + { name = "md", text = "", fg = "#dddddd" }, + { name = "md5", text = "", fg = "#8c86af" }, + { name = "mdx", text = "", fg = "#519aba" }, + { name = "mint", text = "", fg = "#87c095" }, + { name = "mjs", text = "", fg = "#f1e05a" }, + { name = "mk", text = "", fg = "#6d8086" }, + { name = "mkv", text = "", fg = "#fd971f" }, + { name = "ml", text = "", fg = "#e37933" }, + { name = "mli", text = "", fg = "#e37933" }, + { name = "mm", text = "", fg = "#519aba" }, + { name = "mo", text = "", fg = "#9772fb" }, + { name = "mobi", text = "", fg = "#eab16d" }, + { name = "mojo", text = "", fg = "#ff4c1f" }, + { name = "mov", text = "", fg = "#fd971f" }, + { name = "mp3", text = "", fg = "#00afff" }, + { name = "mp4", text = "", fg = "#fd971f" }, + { name = "mpp", text = "", fg = "#519aba" }, + { name = "msf", text = "", fg = "#137be1" }, + { name = "mts", text = "", fg = "#519aba" }, + { name = "mustache", text = "", fg = "#e37933" }, + { name = "nfo", text = "", fg = "#ffffcd" }, + { name = "nim", text = "", fg = "#f3d400" }, + { name = "nix", text = "", fg = "#7ebae4" }, + { name = "norg", text = "", fg = "#4878be" }, + { name = "nswag", text = "", fg = "#85ea2d" }, + { name = "nu", text = "", fg = "#3aa675" }, + { name = "o", text = "", fg = "#9f0500" }, + { name = "obj", text = "", fg = "#888888" }, + { name = "odf", text = "", fg = "#ff5a96" }, + { name = "odg", text = "", fg = "#fffb57" }, + { name = "odin", text = "", fg = "#3882d2" }, + { name = "odp", text = "", fg = "#fe9c45" }, + { name = "ods", text = "", fg = "#78fc4e" }, + { name = "odt", text = "", fg = "#2dcbfd" }, + { name = "oga", text = "", fg = "#0075aa" }, + { name = "ogg", text = "", fg = "#0075aa" }, + { name = "ogv", text = "", fg = "#fd971f" }, + { name = "ogx", text = "", fg = "#fd971f" }, + { name = "opus", text = "", fg = "#0075aa" }, + { name = "org", text = "", fg = "#77aa99" }, + { name = "otf", text = "", fg = "#ececec" }, + { name = "out", text = "", fg = "#9f0500" }, + { name = "part", text = "", fg = "#44cda8" }, + { name = "patch", text = "", fg = "#41535b" }, + { name = "pck", text = "", fg = "#6d8086" }, + { name = "pcm", text = "", fg = "#0075aa" }, + { name = "pdf", text = "", fg = "#b30b00" }, + { name = "php", text = "", fg = "#a074c4" }, + { name = "pl", text = "", fg = "#519aba" }, + { name = "pls", text = "", fg = "#ed95ae" }, + { name = "ply", text = "", fg = "#888888" }, + { name = "pm", text = "", fg = "#519aba" }, + { name = "png", text = "", fg = "#a074c4" }, + { name = "po", text = "", fg = "#2596be" }, + { name = "pot", text = "", fg = "#2596be" }, + { name = "pp", text = "", fg = "#ffa61a" }, + { name = "ppt", text = "", fg = "#cb4a32" }, + { name = "pptx", text = "", fg = "#cb4a32" }, + { name = "prisma", text = "", fg = "#5a67d8" }, + { name = "pro", text = "", fg = "#e4b854" }, + { name = "ps1", text = "", fg = "#4273ca" }, + { name = "psb", text = "", fg = "#519aba" }, + { name = "psd", text = "", fg = "#519aba" }, + { name = "psd1", text = "", fg = "#6975c4" }, + { name = "psm1", text = "", fg = "#6975c4" }, + { name = "pub", text = "", fg = "#e3c58e" }, + { name = "pxd", text = "", fg = "#5aa7e4" }, + { name = "pxi", text = "", fg = "#5aa7e4" }, + { name = "py", text = "", fg = "#ffbc03" }, + { name = "pyc", text = "", fg = "#ffe291" }, + { name = "pyd", text = "", fg = "#ffe291" }, + { name = "pyi", text = "", fg = "#ffbc03" }, + { name = "pyo", text = "", fg = "#ffe291" }, + { name = "pyw", text = "", fg = "#5aa7e4" }, + { name = "pyx", text = "", fg = "#5aa7e4" }, + { name = "qm", text = "", fg = "#2596be" }, + { name = "qml", text = "", fg = "#40cd52" }, + { name = "qrc", text = "", fg = "#40cd52" }, + { name = "qss", text = "", fg = "#40cd52" }, + { name = "query", text = "", fg = "#90a850" }, + { name = "r", text = "", fg = "#2266ba" }, + { name = "R", text = "", fg = "#2266ba" }, + { name = "rake", text = "", fg = "#701516" }, + { name = "rar", text = "", fg = "#eca517" }, + { name = "razor", text = "", fg = "#512bd4" }, + { name = "rb", text = "", fg = "#701516" }, + { name = "res", text = "", fg = "#cc3e44" }, + { name = "resi", text = "", fg = "#f55385" }, + { name = "rlib", text = "", fg = "#dea584" }, + { name = "rmd", text = "", fg = "#519aba" }, + { name = "rproj", text = "", fg = "#358a5b" }, + { name = "rs", text = "", fg = "#dea584" }, + { name = "rss", text = "", fg = "#fb9d3b" }, + { name = "s", text = "", fg = "#0071c5" }, + { name = "sass", text = "", fg = "#f55385" }, + { name = "sbt", text = "", fg = "#cc3e44" }, + { name = "sc", text = "", fg = "#cc3e44" }, + { name = "scad", text = "", fg = "#f9d72c" }, + { name = "scala", text = "", fg = "#cc3e44" }, + { name = "scm", text = "", fg = "#eeeeee" }, + { name = "scss", text = "", fg = "#f55385" }, + { name = "sh", text = "", fg = "#4d5a5e" }, + { name = "sha1", text = "", fg = "#8c86af" }, + { name = "sha224", text = "", fg = "#8c86af" }, + { name = "sha256", text = "", fg = "#8c86af" }, + { name = "sha384", text = "", fg = "#8c86af" }, + { name = "sha512", text = "", fg = "#8c86af" }, + { name = "sig", text = "", fg = "#e37933" }, + { name = "signature", text = "", fg = "#e37933" }, + { name = "skp", text = "", fg = "#839463" }, + { name = "sldasm", text = "", fg = "#839463" }, + { name = "sldprt", text = "", fg = "#839463" }, + { name = "slim", text = "", fg = "#e34c26" }, + { name = "sln", text = "", fg = "#854cc7" }, + { name = "slnx", text = "", fg = "#854cc7" }, + { name = "slvs", text = "", fg = "#839463" }, + { name = "sml", text = "", fg = "#e37933" }, + { name = "so", text = "", fg = "#dcddd6" }, + { name = "sol", text = "", fg = "#519aba" }, + { name = "spec.js", text = "", fg = "#cbcb41" }, + { name = "spec.jsx", text = "", fg = "#20c2e3" }, + { name = "spec.ts", text = "", fg = "#519aba" }, + { name = "spec.tsx", text = "", fg = "#1354bf" }, + { name = "spx", text = "", fg = "#0075aa" }, + { name = "sql", text = "", fg = "#dad8d8" }, + { name = "sqlite", text = "", fg = "#dad8d8" }, + { name = "sqlite3", text = "", fg = "#dad8d8" }, + { name = "srt", text = "", fg = "#ffb713" }, + { name = "ssa", text = "", fg = "#ffb713" }, + { name = "ste", text = "", fg = "#839463" }, + { name = "step", text = "", fg = "#839463" }, + { name = "stl", text = "", fg = "#888888" }, + { name = "stories.js", text = "", fg = "#ff4785" }, + { name = "stories.jsx", text = "", fg = "#ff4785" }, + { name = "stories.mjs", text = "", fg = "#ff4785" }, + { name = "stories.svelte", text = "", fg = "#ff4785" }, + { name = "stories.ts", text = "", fg = "#ff4785" }, + { name = "stories.tsx", text = "", fg = "#ff4785" }, + { name = "stories.vue", text = "", fg = "#ff4785" }, + { name = "stp", text = "", fg = "#839463" }, + { name = "strings", text = "", fg = "#2596be" }, + { name = "styl", text = "", fg = "#8dc149" }, + { name = "sub", text = "", fg = "#ffb713" }, + { name = "sublime", text = "", fg = "#e37933" }, + { name = "suo", text = "", fg = "#854cc7" }, + { name = "sv", text = "", fg = "#019833" }, + { name = "svelte", text = "", fg = "#ff3e00" }, + { name = "svg", text = "", fg = "#ffb13b" }, + { name = "svgz", text = "", fg = "#ffb13b" }, + { name = "svh", text = "", fg = "#019833" }, + { name = "swift", text = "", fg = "#e37933" }, + { name = "t", text = "", fg = "#519aba" }, + { name = "tbc", text = "", fg = "#1e5cb3" }, + { name = "tcl", text = "", fg = "#1e5cb3" }, + { name = "templ", text = "", fg = "#dbbd30" }, + { name = "terminal", text = "", fg = "#31b53e" }, + { name = "test.js", text = "", fg = "#cbcb41" }, + { name = "test.jsx", text = "", fg = "#20c2e3" }, + { name = "test.ts", text = "", fg = "#519aba" }, + { name = "test.tsx", text = "", fg = "#1354bf" }, + { name = "tex", text = "", fg = "#3d6117" }, + { name = "tf", text = "", fg = "#5f43e9" }, + { name = "tfvars", text = "", fg = "#5f43e9" }, + { name = "tgz", text = "", fg = "#eca517" }, + { name = "tmpl", text = "", fg = "#dbbd30" }, + { name = "tmux", text = "", fg = "#14ba19" }, + { name = "toml", text = "", fg = "#9c4221" }, + { name = "torrent", text = "", fg = "#44cda8" }, + { name = "tres", text = "", fg = "#6d8086" }, + { name = "ts", text = "", fg = "#519aba" }, + { name = "tscn", text = "", fg = "#6d8086" }, + { name = "tsconfig", text = "", fg = "#ff8700" }, + { name = "tsx", text = "", fg = "#1354bf" }, + { name = "ttf", text = "", fg = "#ececec" }, + { name = "twig", text = "", fg = "#8dc149" }, + { name = "txt", text = "", fg = "#89e051" }, + { name = "txz", text = "", fg = "#eca517" }, + { name = "typ", text = "", fg = "#0dbcc0" }, + { name = "typoscript", text = "", fg = "#ff8700" }, + { name = "ui", text = "", fg = "#015bf0" }, + { name = "v", text = "", fg = "#019833" }, + { name = "vala", text = "", fg = "#7b3db9" }, + { name = "vh", text = "", fg = "#019833" }, + { name = "vhd", text = "", fg = "#019833" }, + { name = "vhdl", text = "", fg = "#019833" }, + { name = "vi", text = "", fg = "#fec60a" }, + { name = "vim", text = "", fg = "#019833" }, + { name = "vsh", text = "", fg = "#5d87bf" }, + { name = "vsix", text = "", fg = "#854cc7" }, + { name = "vue", text = "", fg = "#8dc149" }, + { name = "wasm", text = "", fg = "#5c4cdb" }, + { name = "wav", text = "", fg = "#00afff" }, + { name = "webm", text = "", fg = "#fd971f" }, + { name = "webmanifest", text = "", fg = "#f1e05a" }, + { name = "webp", text = "", fg = "#a074c4" }, + { name = "webpack", text = "", fg = "#519aba" }, + { name = "wma", text = "", fg = "#00afff" }, + { name = "woff", text = "", fg = "#ececec" }, + { name = "woff2", text = "", fg = "#ececec" }, + { name = "wrl", text = "", fg = "#888888" }, + { name = "wrz", text = "", fg = "#888888" }, + { name = "wv", text = "", fg = "#00afff" }, + { name = "wvc", text = "", fg = "#00afff" }, + { name = "x", text = "", fg = "#599eff" }, + { name = "xaml", text = "", fg = "#512bd4" }, + { name = "xcf", text = "", fg = "#635b46" }, + { name = "xcplayground", text = "", fg = "#e37933" }, + { name = "xcstrings", text = "", fg = "#2596be" }, + { name = "xls", text = "", fg = "#207245" }, + { name = "xlsx", text = "", fg = "#207245" }, + { name = "xm", text = "", fg = "#519aba" }, + { name = "xml", text = "", fg = "#e37933" }, + { name = "xpi", text = "", fg = "#ff1b01" }, + { name = "xul", text = "", fg = "#e37933" }, + { name = "xz", text = "", fg = "#eca517" }, + { name = "yaml", text = "", fg = "#6d8086" }, + { name = "yml", text = "", fg = "#6d8086" }, + { name = "zig", text = "", fg = "#f69a1b" }, + { name = "zip", text = "", fg = "#eca517" }, + { name = "zsh", text = "", fg = "#89e051" }, + { name = "zst", text = "", fg = "#eca517" }, + { name = "🔥", text = "", fg = "#ff4c1f" }, +] +conds = [ + # Special files + { if = "orphan", text = "" }, + { if = "link", text = "" }, + { if = "block", text = "" }, + { if = "char", text = "" }, + { if = "fifo", text = "" }, + { if = "sock", text = "" }, + { if = "sticky", text = "" }, + { if = "dummy", text = "" }, + + # Fallback + { if = "dir", text = "" }, + { if = "exec", text = "" }, + { if = "!dir", text = "" }, +] + +# : }}} diff --git a/mirenn/home/files/dotfiles/.config/yazi/yazi.toml b/mirenn/home/files/dotfiles/.config/yazi/yazi.toml new file mode 100644 index 0000000..e7c3619 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/yazi/yazi.toml @@ -0,0 +1,213 @@ +# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config. +# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas. +"schema" = "https://yazi-rs.github.io/schemas/yazi.json" + +[mgr] +ratio = [ 1, 4, 3 ] +sort_by = "alphabetical" +sort_sensitive = false +sort_reverse = false +sort_dir_first = true +sort_translit = false +linemode = "none" +show_hidden = false +show_symlink = true +scrolloff = 5 +mouse_events = [ "click", "scroll" ] +title_format = "Yazi: {cwd}" + +[preview] +wrap = "no" +tab_size = 2 +max_width = 600 +max_height = 900 +cache_dir = "" +image_delay = 30 +image_filter = "triangle" +image_quality = 75 +ueberzug_scale = 1 +ueberzug_offset = [ 0, 0, 0, 0 ] + +[opener] +edit = [ + { run = '${EDITOR} "$@"', desc = "$EDITOR", block = true, for = "unix" }, +] +open = [ + { run = 'xdg-open "$1"', desc = "Open", for = "linux" }, +] +reveal = [ + { run = 'xdg-open "$(dirname "$1")"', desc = "Reveal", for = "linux" }, + { run = '''clear; exiftool "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show EXIF", for = "unix" }, +] +extract = [ + { run = 'ya pub extract --list "$@"', desc = "Extract here", for = "unix" }, +] +play = [ + { run = 'mpv --force-window "$@"', orphan = true, for = "unix" }, + { run = '''mediainfo "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show media info", for = "unix" }, +] + +[open] +rules = [ + # Folder + { name = "*/", use = [ "edit", "open", "reveal" ] }, + # Text + { mime = "text/*", use = [ "edit", "reveal" ] }, + # Image + { mime = "image/*", use = [ "open", "reveal" ] }, + # Media + { mime = "{audio,video}/*", use = [ "play", "reveal" ] }, + # Archive + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", use = [ "extract", "reveal" ] }, + # JSON + { mime = "application/{json,ndjson}", use = [ "edit", "reveal" ] }, + { mime = "*/javascript", use = [ "edit", "reveal" ] }, + # Empty file + { mime = "inode/empty", use = [ "edit", "reveal" ] }, + # Fallback + { name = "*", use = [ "open", "reveal" ] }, +] + +[tasks] +micro_workers = 10 +macro_workers = 10 +bizarre_retry = 3 +image_alloc = 536870912 # 512MB +image_bound = [ 5000, 5000 ] +suppress_preload = false + +[plugin] +fetchers = [ + # Mimetype + { id = "mime", name = "*", run = "mime", prio = "high" }, +] +spotters = [ + { name = "*/", run = "folder" }, + # Code + { mime = "text/*", run = "code" }, + { mime = "application/{mbox,javascript,wine-extension-ini}", run = "code" }, + # Image + { mime = "image/{avif,hei?,jxl}", run = "magick" }, + { mime = "image/svg+xml", run = "svg" }, + { mime = "image/*", run = "image" }, + # Video + { mime = "video/*", run = "video" }, + # Fallback + { name = "*", run = "file" }, +] +preloaders = [ + # Image + { mime = "image/{avif,hei?,jxl}", run = "magick" }, + { mime = "image/svg+xml", run = "svg" }, + { mime = "image/*", run = "image" }, + # Video + { mime = "video/*", run = "video" }, + # PDF + { mime = "application/pdf", run = "pdf" }, + # Font + { mime = "font/*", run = "font" }, + { mime = "application/ms-opentype", run = "font" }, +] +previewers = [ + { name = "*/", run = "folder" }, + # Code + { mime = "text/*", run = "code" }, + { mime = "application/{mbox,javascript,wine-extension-ini}", run = "code" }, + # JSON + { mime = "application/{json,ndjson}", run = "json" }, + # Image + { mime = "image/{avif,hei?,jxl}", run = "magick" }, + { mime = "image/svg+xml", run = "svg" }, + { mime = "image/*", run = "image" }, + # Video + { mime = "video/*", run = "video" }, + # PDF + { mime = "application/pdf", run = "pdf" }, + # Archive + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", run = "archive" }, + { mime = "application/{debian*-package,redhat-package-manager,rpm,android.package-archive}", run = "archive" }, + { name = "*.{AppImage,appimage}", run = "archive" }, + # Virtual Disk / Disk Image + { mime = "application/{iso9660-image,qemu-disk,ms-wim,apple-diskimage}", run = "archive" }, + { mime = "application/virtualbox-{vhd,vhdx}", run = "archive" }, + { name = "*.{img,fat,ext,ext2,ext3,ext4,squashfs,ntfs,hfs,hfsx}", run = "archive" }, + # Font + { mime = "font/*", run = "font" }, + { mime = "application/ms-opentype", run = "font" }, + # Empty file + { mime = "inode/empty", run = "empty" }, + # Fallback + { name = "*", run = "file" }, +] + +[input] +cursor_blink = false + +# cd +cd_title = "Change directory:" +cd_origin = "top-center" +cd_offset = [ 0, 2, 50, 3 ] + +# create +create_title = [ "Create:", "Create (dir):" ] +create_origin = "top-center" +create_offset = [ 0, 2, 50, 3 ] + +# rename +rename_title = "Rename:" +rename_origin = "hovered" +rename_offset = [ 0, 1, 50, 3 ] + +# filter +filter_title = "Filter:" +filter_origin = "top-center" +filter_offset = [ 0, 2, 50, 3 ] + +# find +find_title = [ "Find next:", "Find previous:" ] +find_origin = "top-center" +find_offset = [ 0, 2, 50, 3 ] + +# search +search_title = "Search via {n}:" +search_origin = "top-center" +search_offset = [ 0, 2, 50, 3 ] + +# shell +shell_title = [ "Shell:", "Shell (block):" ] +shell_origin = "top-center" +shell_offset = [ 0, 2, 50, 3 ] + +[confirm] +# trash +trash_title = "Trash {n} selected file{s}?" +trash_origin = "center" +trash_offset = [ 0, 0, 70, 20 ] + +# delete +delete_title = "Permanently delete {n} selected file{s}?" +delete_origin = "center" +delete_offset = [ 0, 0, 70, 20 ] + +# overwrite +overwrite_title = "Overwrite file?" +overwrite_content = "Will overwrite the following file:" +overwrite_origin = "center" +overwrite_offset = [ 0, 0, 50, 15 ] + +# quit +quit_title = "Quit?" +quit_content = "The following tasks are still running, are you sure you want to quit?" +quit_origin = "center" +quit_offset = [ 0, 0, 50, 15 ] + +[pick] +open_title = "Open with:" +open_origin = "hovered" +open_offset = [ 0, 1, 50, 7 ] + +[which] +sort_by = "none" +sort_sensitive = false +sort_reverse = false +sort_translit = false |
