Move old nord colorscheme dotfiles & edit README.md
|
@ -0,0 +1,25 @@
|
||||||
|
status is-interactive || exit
|
||||||
|
|
||||||
|
function _puffer_fish_key_bindings --on-variable fish_key_bindings
|
||||||
|
set -l modes
|
||||||
|
if test "$fish_key_bindings" = fish_default_key_bindings
|
||||||
|
set modes default insert
|
||||||
|
else
|
||||||
|
set modes insert default
|
||||||
|
end
|
||||||
|
|
||||||
|
bind --mode $modes[1] . _puffer_fish_expand_dots
|
||||||
|
bind --mode $modes[1] ! _puffer_fish_expand_bang
|
||||||
|
bind --mode $modes[1] '$' _puffer_fish_expand_lastarg
|
||||||
|
bind --mode $modes[2] --erase . ! '$'
|
||||||
|
end
|
||||||
|
|
||||||
|
_puffer_fish_key_bindings
|
||||||
|
|
||||||
|
set -l uninstall_event puffer_fish_key_bindings_uninstall
|
||||||
|
|
||||||
|
function _$uninstall_event --on-event $uninstall_event
|
||||||
|
bind -e .
|
||||||
|
bind -e !
|
||||||
|
bind -e '$'
|
||||||
|
end
|
|
@ -4,3 +4,4 @@ derekstavis/fish-neovim
|
||||||
catppuccin/fish
|
catppuccin/fish
|
||||||
jorgebucaran/autopair.fish
|
jorgebucaran/autopair.fish
|
||||||
joshmedeski/fish-lf-icons
|
joshmedeski/fish-lf-icons
|
||||||
|
nickeb96/puffer-fish
|
||||||
|
|
|
@ -7,45 +7,46 @@ SETUVAR _fisher_jorgebucaran_2F_autopair_2E_fish_files:\x7e/\x2econfig/fish/func
|
||||||
SETUVAR _fisher_jorgebucaran_2F_fisher_files:\x7e/\x2econfig/fish/functions/fisher\x2efish\x1e\x7e/\x2econfig/fish/completions/fisher\x2efish
|
SETUVAR _fisher_jorgebucaran_2F_fisher_files:\x7e/\x2econfig/fish/functions/fisher\x2efish\x1e\x7e/\x2econfig/fish/completions/fisher\x2efish
|
||||||
SETUVAR _fisher_jorgebucaran_2F_nvm_2E_fish_files:\x7e/\x2econfig/fish/functions/_nvm_index_update\x2efish\x1e\x7e/\x2econfig/fish/functions/_nvm_list\x2efish\x1e\x7e/\x2econfig/fish/functions/_nvm_version_activate\x2efish\x1e\x7e/\x2econfig/fish/functions/_nvm_version_deactivate\x2efish\x1e\x7e/\x2econfig/fish/functions/nvm\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/nvm\x2efish\x1e\x7e/\x2econfig/fish/completions/nvm\x2efish
|
SETUVAR _fisher_jorgebucaran_2F_nvm_2E_fish_files:\x7e/\x2econfig/fish/functions/_nvm_index_update\x2efish\x1e\x7e/\x2econfig/fish/functions/_nvm_list\x2efish\x1e\x7e/\x2econfig/fish/functions/_nvm_version_activate\x2efish\x1e\x7e/\x2econfig/fish/functions/_nvm_version_deactivate\x2efish\x1e\x7e/\x2econfig/fish/functions/nvm\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/nvm\x2efish\x1e\x7e/\x2econfig/fish/completions/nvm\x2efish
|
||||||
SETUVAR _fisher_joshmedeski_2F_fish_2D_lf_2D_icons_files:\x7e/\x2econfig/fish/conf\x2ed/lf\x2dicons\x2efish
|
SETUVAR _fisher_joshmedeski_2F_fish_2D_lf_2D_icons_files:\x7e/\x2econfig/fish/conf\x2ed/lf\x2dicons\x2efish
|
||||||
SETUVAR _fisher_plugins:jorgebucaran/fisher\x1ejorgebucaran/nvm\x2efish\x1ederekstavis/fish\x2dneovim\x1ecatppuccin/fish\x1ejorgebucaran/autopair\x2efish\x1ejoshmedeski/fish\x2dlf\x2dicons
|
SETUVAR _fisher_nickeb96_2F_puffer_2D_fish_files:\x7e/\x2econfig/fish/functions/_puffer_fish_expand_bang\x2efish\x1e\x7e/\x2econfig/fish/functions/_puffer_fish_expand_dots\x2efish\x1e\x7e/\x2econfig/fish/functions/_puffer_fish_expand_lastarg\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/puffer_fish_key_bindings\x2efish
|
||||||
|
SETUVAR _fisher_plugins:jorgebucaran/fisher\x1ejorgebucaran/nvm\x2efish\x1ederekstavis/fish\x2dneovim\x1ecatppuccin/fish\x1ejorgebucaran/autopair\x2efish\x1ejoshmedeski/fish\x2dlf\x2dicons\x1enickeb96/puffer\x2dfish
|
||||||
SETUVAR _fisher_upgraded_to_4_4:\x1d
|
SETUVAR _fisher_upgraded_to_4_4:\x1d
|
||||||
SETUVAR fish_color_autosuggestion:6e738d
|
SETUVAR fish_color_autosuggestion:747369
|
||||||
SETUVAR fish_color_cancel:ed8796
|
SETUVAR fish_color_cancel:\x2d\x2dreverse
|
||||||
SETUVAR fish_color_command:8aadf4
|
SETUVAR fish_color_command:99cc99
|
||||||
SETUVAR fish_color_comment:8087a2
|
SETUVAR fish_color_comment:ffcc66
|
||||||
SETUVAR fish_color_cwd:eed49f
|
SETUVAR fish_color_cwd:green
|
||||||
SETUVAR fish_color_cwd_root:red
|
SETUVAR fish_color_cwd_root:red
|
||||||
SETUVAR fish_color_end:f5a97f
|
SETUVAR fish_color_end:cc99cc
|
||||||
SETUVAR fish_color_error:ed8796
|
SETUVAR fish_color_error:f2777a
|
||||||
SETUVAR fish_color_escape:ee99a0
|
SETUVAR fish_color_escape:66cccc
|
||||||
SETUVAR fish_color_gray:6e738d
|
SETUVAR fish_color_gray:6e738d
|
||||||
SETUVAR fish_color_history_current:\x2d\x2dbold
|
SETUVAR fish_color_history_current:\x2d\x2dbold
|
||||||
SETUVAR fish_color_host:8aadf4
|
SETUVAR fish_color_host:normal
|
||||||
SETUVAR fish_color_host_remote:a6da95
|
SETUVAR fish_color_host_remote:\x1d
|
||||||
SETUVAR fish_color_keyword:ed8796
|
SETUVAR fish_color_keyword:\x1d
|
||||||
SETUVAR fish_color_match:F28779
|
SETUVAR fish_color_match:6699cc
|
||||||
SETUVAR fish_color_normal:cad3f5
|
SETUVAR fish_color_normal:normal
|
||||||
SETUVAR fish_color_operator:f5bde6
|
SETUVAR fish_color_operator:6699cc
|
||||||
SETUVAR fish_color_option:\x1d
|
SETUVAR fish_color_option:\x1d
|
||||||
SETUVAR fish_color_param:f0c6c6
|
SETUVAR fish_color_param:d3d0c8
|
||||||
SETUVAR fish_color_quote:a6da95
|
SETUVAR fish_color_quote:ffcc66
|
||||||
SETUVAR fish_color_redirection:f5bde6
|
SETUVAR fish_color_redirection:d3d0c8
|
||||||
SETUVAR fish_color_search_match:\x2d\x2dbackground\x3d363a4f
|
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
|
||||||
SETUVAR fish_color_selection:\x2d\x2dbackground\x3d363a4f
|
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
|
||||||
SETUVAR fish_color_status:ed8796
|
SETUVAR fish_color_status:ed8796
|
||||||
SETUVAR fish_color_user:8bd5ca
|
SETUVAR fish_color_user:brgreen
|
||||||
SETUVAR fish_color_valid_path:\x2d\x2dunderline
|
SETUVAR fish_color_valid_path:\x2d\x2dunderline
|
||||||
SETUVAR fish_key_bindings:fish_default_key_bindings
|
SETUVAR fish_key_bindings:fish_default_key_bindings
|
||||||
SETUVAR fish_pager_color_background:\x1d
|
SETUVAR fish_pager_color_background:\x1d
|
||||||
SETUVAR fish_pager_color_completion:cad3f5
|
SETUVAR fish_pager_color_completion:normal
|
||||||
SETUVAR fish_pager_color_description:6e738d
|
SETUVAR fish_pager_color_description:B3A06D
|
||||||
SETUVAR fish_pager_color_prefix:f5bde6
|
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
|
||||||
SETUVAR fish_pager_color_progress:6e738d
|
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
||||||
SETUVAR fish_pager_color_secondary_background:\x1d
|
SETUVAR fish_pager_color_secondary_background:\x1d
|
||||||
SETUVAR fish_pager_color_secondary_completion:\x1d
|
SETUVAR fish_pager_color_secondary_completion:\x1d
|
||||||
SETUVAR fish_pager_color_secondary_description:\x1d
|
SETUVAR fish_pager_color_secondary_description:\x1d
|
||||||
SETUVAR fish_pager_color_secondary_prefix:\x1d
|
SETUVAR fish_pager_color_secondary_prefix:\x1d
|
||||||
SETUVAR fish_pager_color_selected_background:\x1d
|
SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3dbrblack
|
||||||
SETUVAR fish_pager_color_selected_completion:\x1d
|
SETUVAR fish_pager_color_selected_completion:\x1d
|
||||||
SETUVAR fish_pager_color_selected_description:\x1d
|
SETUVAR fish_pager_color_selected_description:\x1d
|
||||||
SETUVAR fish_pager_color_selected_prefix:\x1d
|
SETUVAR fish_pager_color_selected_prefix:\x1d
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
function _puffer_fish_expand_bang
|
||||||
|
switch (commandline -t)
|
||||||
|
case '!'
|
||||||
|
commandline -t $history[1]
|
||||||
|
commandline -f repaint
|
||||||
|
case '*'
|
||||||
|
commandline -i '!'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
function _puffer_fish_expand_dots -d 'expand ... to ../.. etc'
|
||||||
|
set -l cmd (commandline --cut-at-cursor)
|
||||||
|
set -l split (string split ' ' $cmd)
|
||||||
|
switch $split[-1]
|
||||||
|
case './*'; commandline --insert '.'
|
||||||
|
case '*..'
|
||||||
|
# Only expand if the string consists of dots and slashes.
|
||||||
|
# We don't want to expand strings like `bazel build target/...`.
|
||||||
|
if string match --quiet --regex '^[/.]*$' $split[-1]
|
||||||
|
commandline --insert '/..'
|
||||||
|
else
|
||||||
|
commandline --insert '.'
|
||||||
|
end
|
||||||
|
case '*'; commandline --insert '.'
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,9 @@
|
||||||
|
function _puffer_fish_expand_lastarg
|
||||||
|
switch (commandline -t)
|
||||||
|
case '!'
|
||||||
|
commandline -t ""
|
||||||
|
commandline -f history-token-search-backward
|
||||||
|
case '*'
|
||||||
|
commandline -i '$'
|
||||||
|
end
|
||||||
|
end
|
|
@ -4,12 +4,12 @@ function fish_prompt --description 'Write out the prompt'
|
||||||
prompt_login
|
prompt_login
|
||||||
|
|
||||||
echo -n ':'
|
echo -n ':'
|
||||||
|
|
||||||
# PWD
|
# PWD
|
||||||
set_color $fish_color_cwd
|
set_color $fish_color_cwd
|
||||||
echo -n (prompt_pwd)
|
echo -n (prompt_pwd)
|
||||||
set_color normal
|
set_color normal
|
||||||
|
|
||||||
set -q __fish_git_prompt_showdirtystate
|
set -q __fish_git_prompt_showdirtystate
|
||||||
or set -g __fish_git_prompt_showdirtystate 1
|
or set -g __fish_git_prompt_showdirtystate 1
|
||||||
set -q __fish_git_prompt_showuntrackedfiles
|
set -q __fish_git_prompt_showuntrackedfiles
|
||||||
|
|
|
@ -8,7 +8,9 @@
|
||||||
# title=foot
|
# title=foot
|
||||||
# locked-title=no
|
# locked-title=no
|
||||||
|
|
||||||
font=JetBrainsMono Nerd Font Mono:size=13
|
# font=JetBrainsMono Nerd Font Mono:size=13
|
||||||
|
|
||||||
|
font=FiraCode Nerd Font:size=13
|
||||||
|
|
||||||
# font=monospace:size=8
|
# font=monospace:size=8
|
||||||
# font-bold=<bold variant of regular font>
|
# font-bold=<bold variant of regular font>
|
||||||
|
@ -69,7 +71,7 @@ alternate-scroll-mode=yes
|
||||||
|
|
||||||
[colors]
|
[colors]
|
||||||
|
|
||||||
alpha = 0.95
|
alpha = 0.85
|
||||||
|
|
||||||
foreground = d8dee9
|
foreground = d8dee9
|
||||||
background = 2e3440
|
background = 2e3440
|
||||||
|
@ -77,6 +79,7 @@ background = 2e3440
|
||||||
# selection-foreground = d8dee9
|
# selection-foreground = d8dee9
|
||||||
# selection-background = 4c566a
|
# selection-background = 4c566a
|
||||||
|
|
||||||
|
|
||||||
regular0 = 3b4252
|
regular0 = 3b4252
|
||||||
regular1 = bf616a
|
regular1 = bf616a
|
||||||
regular2 = a3be8c
|
regular2 = a3be8c
|
||||||
|
|
|
@ -47,12 +47,15 @@ input {
|
||||||
|
|
||||||
general {
|
general {
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
gaps_in = 5
|
gaps_in = 3
|
||||||
gaps_out = 10
|
gaps_out = 7
|
||||||
border_size = 3
|
border_size = 2
|
||||||
|
|
||||||
col.active_border = rgb(88c0d0) 45deg
|
# col.active_border = rgb(88c0d0) 45deg
|
||||||
col.inactive_border = rgb(2e3440)
|
# col.inactive_border = rgb(2e3440)
|
||||||
|
|
||||||
|
col.active_border = rgb(A7c080) 45deg
|
||||||
|
col.inactive_border = rgb(2d353b)
|
||||||
|
|
||||||
layout = dwindle
|
layout = dwindle
|
||||||
}
|
}
|
||||||
|
@ -123,7 +126,6 @@ windowrulev2 = workspace 2 silent,title:^(Kotatogram)$
|
||||||
windowrulev2 = size 641 1022,title:^(Kotatogram)$
|
windowrulev2 = size 641 1022,title:^(Kotatogram)$
|
||||||
windowrulev2 = move 25 45,title:^(Kotatogram)$
|
windowrulev2 = move 25 45,title:^(Kotatogram)$
|
||||||
|
|
||||||
|
|
||||||
windowrulev2 = workspace 1 silent,title:^(chromium-browser)$
|
windowrulev2 = workspace 1 silent,title:^(chromium-browser)$
|
||||||
|
|
||||||
$mainMod = SUPER
|
$mainMod = SUPER
|
||||||
|
|
|
@ -5,10 +5,23 @@ if ok then
|
||||||
vim.notify = notify
|
vim.notify = notify
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Setup colorscheme
|
||||||
local ok, err = pcall(function()
|
local ok, err = pcall(function()
|
||||||
vim.g.diagnostic_sings = {"", "", "", ""}
|
|
||||||
|
local colorscheme = "everforest"
|
||||||
|
|
||||||
|
if colorscheme == "nord" then
|
||||||
|
vim.g.diagnostic_sings = {"", "", "", ""}
|
||||||
|
end
|
||||||
|
|
||||||
|
if colorscheme == "catppuccin-macchiato" then
|
||||||
|
vim.g.diagnostic_sings = {"", "", "", ""}
|
||||||
|
end
|
||||||
|
|
||||||
|
if colorscheme == "everforest" then
|
||||||
|
vim.g.diagnostic_sings = {" ", " ", " ", " "}
|
||||||
|
end
|
||||||
|
|
||||||
-- vim.cmd('colorscheme catppuccin-macchiato')
|
-- vim.cmd('colorscheme catppuccin-macchiato')
|
||||||
-- vim.cmd('colorscheme aquarium')
|
-- vim.cmd('colorscheme aquarium')
|
||||||
opt.termguicolors = true
|
opt.termguicolors = true
|
||||||
|
@ -25,7 +38,7 @@ opt.number = true
|
||||||
opt.relativenumber = true
|
opt.relativenumber = true
|
||||||
|
|
||||||
vim.g.lsp_path = os.getenv("HOME") .. "/.local/share/nvim/mason/bin/"
|
vim.g.lsp_path = os.getenv("HOME") .. "/.local/share/nvim/mason/bin/"
|
||||||
vim.lsp.set_log_level("debug")
|
-- vim.lsp.set_log_level("debug")
|
||||||
vim.g.mapleader = ","
|
vim.g.mapleader = ","
|
||||||
|
|
||||||
opt.list = true
|
opt.list = true
|
||||||
|
|
|
@ -17,36 +17,32 @@ require("lazy").setup({
|
||||||
"lewis6991/impatient.nvim",
|
"lewis6991/impatient.nvim",
|
||||||
config = function() require('impatient') end
|
config = function() require('impatient') end
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Colorchemes
|
|
||||||
-- {
|
-- {
|
||||||
-- "gbprod/nord.nvim",
|
-- "gbprod/nord.nvim",
|
||||||
-- priority = 1000,
|
|
||||||
-- config = function()
|
-- config = function()
|
||||||
-- vim.cmd.colorscheme "nord"
|
-- vim.cmd.colorscheme "nord"
|
||||||
-- end
|
-- end
|
||||||
-- },
|
-- },
|
||||||
|
|
||||||
{
|
{
|
||||||
"ray-x/aurora",
|
"neanias/everforest-nvim",
|
||||||
config = function()
|
config = function()
|
||||||
vim.cmd.colorscheme "aurora"
|
vim.cmd.colorscheme "everforest"
|
||||||
|
require("everforest").setup()
|
||||||
end
|
end
|
||||||
},
|
},
|
||||||
-- {
|
|
||||||
-- "andersevenrud/nordic.nvim",
|
|
||||||
-- config = function()
|
|
||||||
-- vim.cmd.colorscheme "nordic"
|
|
||||||
-- end
|
|
||||||
-- },
|
|
||||||
|
|
||||||
-- use {"catppuccin/nvim", as = "catppuccin"}
|
-- { "rebelot/kanagawa.nvim" },
|
||||||
-- use {"tiagovla/tokyodark.nvim"}
|
-- { "ellisonleao/gruvbox.nvim" },
|
||||||
-- use {'Everblush/everblush.nvim',as = 'everblush'}
|
-- { "ray-x/aurora" },
|
||||||
-- use {"frenzyexists/aquarium-vim"}
|
-- {"catppuccin/nvim"}
|
||||||
-- use {"rebelot/kanagawa.nvim"}
|
-- {"tiagovla/tokyodark.nvim"}
|
||||||
-- use {"projekt0n/github-nvim-theme"}
|
-- {'Everblush/everblush.nvim'}
|
||||||
-- use {"Mofiqul/vscode.nvim"}
|
-- {"frenzyexists/aquarium-vim"}
|
||||||
|
-- {"rebelot/kanagawa.nvim"}
|
||||||
|
-- {"projekt0n/github-nvim-theme"}
|
||||||
|
-- {"Mofiqul/vscode.nvim"}
|
||||||
|
|
||||||
{
|
{
|
||||||
"kyazdani42/nvim-tree.lua",
|
"kyazdani42/nvim-tree.lua",
|
||||||
|
|
|
@ -4,6 +4,22 @@ if not ok then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local keymap = vim.keymap.set
|
||||||
|
|
||||||
|
keymap("n", "<F5>", dap.continue)
|
||||||
|
keymap("n", "<F10>", dap.step_over)
|
||||||
|
keymap("n", "<F11>", dap.step_into)
|
||||||
|
keymap("n", "<F12>", dap.step_out)
|
||||||
|
keymap("n", "<leader>b", dap.toggle_breakpoint)
|
||||||
|
keymap("n", "<leader>B", function()
|
||||||
|
dap.set_breakpoint{vim.fn.input("Breakpoint condition: ")}
|
||||||
|
end)
|
||||||
|
keymap("n", "<leader>lp", function()
|
||||||
|
dap.set_breakpoint{nil, nil, vim.fn.input('Log point message: ')}
|
||||||
|
end)
|
||||||
|
keymap("n", "<leader>dr", dap.repl.open)
|
||||||
|
keymap("n", "<leader>dl", dap.run_last)
|
||||||
|
|
||||||
-- dap.adapters.python = {
|
-- dap.adapters.python = {
|
||||||
-- type = "executable",
|
-- type = "executable",
|
||||||
-- command =
|
-- command =
|
||||||
|
|
Before Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 3.0 MiB |
Before Width: | Height: | Size: 2.0 MiB |
|
@ -0,0 +1,459 @@
|
||||||
|
# See dunst(5) for all configuration options
|
||||||
|
|
||||||
|
[global]
|
||||||
|
### Display ###
|
||||||
|
|
||||||
|
# Which monitor should the notifications be displayed on.
|
||||||
|
monitor = 0
|
||||||
|
|
||||||
|
# Display notification on focused monitor. Possible modes are:
|
||||||
|
# mouse: follow mouse pointer
|
||||||
|
# keyboard: follow window with keyboard focus
|
||||||
|
# none: don't follow anything
|
||||||
|
#
|
||||||
|
# "keyboard" needs a window manager that exports the
|
||||||
|
# _NET_ACTIVE_WINDOW property.
|
||||||
|
# This should be the case for almost all modern window managers.
|
||||||
|
#
|
||||||
|
# If this option is set to mouse or keyboard, the monitor option
|
||||||
|
# will be ignored.
|
||||||
|
follow = none
|
||||||
|
|
||||||
|
### Geometry ###
|
||||||
|
|
||||||
|
# dynamic width from 0 to 300
|
||||||
|
# width = (0, 300)
|
||||||
|
# constant width of 300
|
||||||
|
width = (111,444)
|
||||||
|
|
||||||
|
# The maximum height of a single notification, excluding the frame.
|
||||||
|
height = 200
|
||||||
|
|
||||||
|
# Position the notification in the top right corner
|
||||||
|
origin = top-right
|
||||||
|
|
||||||
|
# Offset from the origin
|
||||||
|
offset = 10x50
|
||||||
|
|
||||||
|
# Scale factor. It is auto-detected if value is 0.
|
||||||
|
scale = 0
|
||||||
|
|
||||||
|
# Maximum number of notification (0 means no limit)
|
||||||
|
notification_limit = 0
|
||||||
|
|
||||||
|
### Progress bar ###
|
||||||
|
|
||||||
|
# Turn on the progess bar. It appears when a progress hint is passed with
|
||||||
|
# for example dunstify -h int:value:12
|
||||||
|
progress_bar = true
|
||||||
|
|
||||||
|
# Set the progress bar height. This includes the frame, so make sure
|
||||||
|
# it's at least twice as big as the frame width.
|
||||||
|
progress_bar_height = 10
|
||||||
|
|
||||||
|
# Set the frame width of the progress bar
|
||||||
|
progress_bar_frame_width = 1
|
||||||
|
|
||||||
|
# Set the minimum width for the progress bar
|
||||||
|
progress_bar_min_width = 150
|
||||||
|
|
||||||
|
# Set the maximum width for the progress bar
|
||||||
|
progress_bar_max_width = 300
|
||||||
|
|
||||||
|
# Show how many messages are currently hidden (because of
|
||||||
|
# notification_limit).
|
||||||
|
indicate_hidden = yes
|
||||||
|
|
||||||
|
# The transparency of the window. Range: [0; 100].
|
||||||
|
# This option will only work if a compositing window manager is
|
||||||
|
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
|
||||||
|
transparency = 0
|
||||||
|
|
||||||
|
# Draw a line of "separator_height" pixel height between two
|
||||||
|
# notifications.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
# If gap_size is greater than 0, this setting will be ignored.
|
||||||
|
separator_height = 2
|
||||||
|
|
||||||
|
# Padding between text and separator.
|
||||||
|
padding = 8
|
||||||
|
|
||||||
|
# Horizontal padding.
|
||||||
|
horizontal_padding = 8
|
||||||
|
|
||||||
|
# Padding between text and icon.
|
||||||
|
text_icon_padding = 0
|
||||||
|
|
||||||
|
# Defines width in pixels of frame around the notification window.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
frame_width = 3
|
||||||
|
|
||||||
|
# Defines color of the frame around the notification window.
|
||||||
|
frame_color = "#16161E"
|
||||||
|
|
||||||
|
# Size of gap to display between notifications - requires a compositor.
|
||||||
|
# If value is greater than 0, separator_height will be ignored and a border
|
||||||
|
# of size frame_width will be drawn around each notification instead.
|
||||||
|
# Click events on gaps do not currently propagate to applications below.
|
||||||
|
gap_size = 0
|
||||||
|
|
||||||
|
# Define a color for the separator.
|
||||||
|
# possible values are:
|
||||||
|
# * auto: dunst tries to find a color fitting to the background;
|
||||||
|
# * foreground: use the same color as the foreground;
|
||||||
|
# * frame: use the same color as the frame;
|
||||||
|
# * anything else will be interpreted as a X color.
|
||||||
|
separator_color = frame
|
||||||
|
|
||||||
|
# Sort messages by urgency.
|
||||||
|
sort = yes
|
||||||
|
|
||||||
|
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||||
|
# for longer than idle_threshold seconds.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
# A client can set the 'transient' hint to bypass this. See the rules
|
||||||
|
# section for how to disable this if necessary
|
||||||
|
# idle_threshold = 120
|
||||||
|
|
||||||
|
### Text ###
|
||||||
|
|
||||||
|
font = Iosevka 10
|
||||||
|
|
||||||
|
# The spacing between lines. If the height is smaller than the
|
||||||
|
# font height, it will get raised to the font height.
|
||||||
|
line_height = 0
|
||||||
|
|
||||||
|
# Possible values are:
|
||||||
|
# full: Allow a small subset of html markup in notifications:
|
||||||
|
# <b>bold</b>
|
||||||
|
# <i>italic</i>
|
||||||
|
# <s>strikethrough</s>
|
||||||
|
# <u>underline</u>
|
||||||
|
#
|
||||||
|
# For a complete reference see
|
||||||
|
# <https://docs.gtk.org/Pango/pango_markup.html>.
|
||||||
|
#
|
||||||
|
# strip: This setting is provided for compatibility with some broken
|
||||||
|
# clients that send markup even though it's not enabled on the
|
||||||
|
# server. Dunst will try to strip the markup but the parsing is
|
||||||
|
# simplistic so using this option outside of matching rules for
|
||||||
|
# specific applications *IS GREATLY DISCOURAGED*.
|
||||||
|
#
|
||||||
|
# no: Disable markup parsing, incoming notifications will be treated as
|
||||||
|
# plain text. Dunst will not advertise that it has the body-markup
|
||||||
|
# capability if this is set as a global setting.
|
||||||
|
#
|
||||||
|
# It's important to note that markup inside the format option will be parsed
|
||||||
|
# regardless of what this is set to.
|
||||||
|
markup = full
|
||||||
|
|
||||||
|
# The format of the message. Possible variables are:
|
||||||
|
# %a appname
|
||||||
|
# %s summary
|
||||||
|
# %b body
|
||||||
|
# %i iconname (including its path)
|
||||||
|
# %I iconname (without its path)
|
||||||
|
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||||
|
# %n progress value if set without any extra characters
|
||||||
|
# %% Literal %
|
||||||
|
# Markup is allowed
|
||||||
|
format = "<b>%s</b>\n%b"
|
||||||
|
|
||||||
|
# Alignment of message text.
|
||||||
|
# Possible values are "left", "center" and "right".
|
||||||
|
alignment = left
|
||||||
|
|
||||||
|
# Vertical alignment of message text and icon.
|
||||||
|
# Possible values are "top", "center" and "bottom".
|
||||||
|
vertical_alignment = center
|
||||||
|
|
||||||
|
# Show age of message if message is older than show_age_threshold
|
||||||
|
# seconds.
|
||||||
|
# Set to -1 to disable.
|
||||||
|
show_age_threshold = 60
|
||||||
|
|
||||||
|
# Specify where to make an ellipsis in long lines.
|
||||||
|
# Possible values are "start", "middle" and "end".
|
||||||
|
ellipsize = middle
|
||||||
|
|
||||||
|
# Ignore newlines '\n' in notifications.
|
||||||
|
ignore_newline = no
|
||||||
|
|
||||||
|
# Stack together notifications with the same content
|
||||||
|
stack_duplicates = true
|
||||||
|
|
||||||
|
# Hide the count of stacked notifications with the same content
|
||||||
|
hide_duplicate_count = false
|
||||||
|
|
||||||
|
# Display indicators for URLs (U) and actions (A).
|
||||||
|
show_indicators = yes
|
||||||
|
|
||||||
|
### Icons ###
|
||||||
|
|
||||||
|
# Recursive icon lookup. You can set a single theme, instead of having to
|
||||||
|
# define all lookup paths.
|
||||||
|
enable_recursive_icon_lookup = true
|
||||||
|
|
||||||
|
# Set icon theme (only used for recursive icon lookup)
|
||||||
|
icon_theme = Adwaita
|
||||||
|
# You can also set multiple icon themes, with the leftmost one being used first.
|
||||||
|
# icon_theme = "Adwaita, breeze"
|
||||||
|
|
||||||
|
# Align icons left/right/top/off
|
||||||
|
icon_position = left
|
||||||
|
|
||||||
|
# Scale small icons up to this size, set to 0 to disable. Helpful
|
||||||
|
# for e.g. small files or high-dpi screens. In case of conflict,
|
||||||
|
# max_icon_size takes precedence over this.
|
||||||
|
min_icon_size = 32
|
||||||
|
|
||||||
|
# Scale larger icons down to this size, set to 0 to disable
|
||||||
|
max_icon_size = 100
|
||||||
|
|
||||||
|
# Paths to default icons (only neccesary when not using recursive icon lookup)
|
||||||
|
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
||||||
|
|
||||||
|
### History ###
|
||||||
|
|
||||||
|
# Should a notification popped up from history be sticky or timeout
|
||||||
|
# as if it would normally do.
|
||||||
|
sticky_history = yes
|
||||||
|
|
||||||
|
# Maximum amount of notifications kept in history
|
||||||
|
history_length = 20
|
||||||
|
|
||||||
|
### Misc/Advanced ###
|
||||||
|
|
||||||
|
# dmenu path.
|
||||||
|
dmenu = /usr/bin/dmenu -p dunst:
|
||||||
|
|
||||||
|
# Browser for opening urls in context menu.
|
||||||
|
browser = /usr/bin/xdg-open
|
||||||
|
|
||||||
|
# Always run rule-defined scripts, even if the notification is suppressed
|
||||||
|
always_run_script = true
|
||||||
|
|
||||||
|
# Define the title of the windows spawned by dunst
|
||||||
|
title = Dunst
|
||||||
|
|
||||||
|
# Define the class of the windows spawned by dunst
|
||||||
|
class = Dunst
|
||||||
|
|
||||||
|
# Define the corner radius of the notification window
|
||||||
|
# in pixel size. If the radius is 0, you have no rounded
|
||||||
|
# corners.
|
||||||
|
# The radius will be automatically lowered if it exceeds half of the
|
||||||
|
# notification height to avoid clipping text and/or icons.
|
||||||
|
corner_radius = 5
|
||||||
|
|
||||||
|
# Ignore the dbus closeNotification message.
|
||||||
|
# Useful to enforce the timeout set by dunst configuration. Without this
|
||||||
|
# parameter, an application may close the notification sent before the
|
||||||
|
# user defined timeout.
|
||||||
|
ignore_dbusclose = false
|
||||||
|
|
||||||
|
### Wayland ###
|
||||||
|
# These settings are Wayland-specific. They have no effect when using X11
|
||||||
|
|
||||||
|
# Uncomment this if you want to let notications appear under fullscreen
|
||||||
|
# applications (default: overlay)
|
||||||
|
# layer = top
|
||||||
|
|
||||||
|
# Set this to true to use X11 output on Wayland.
|
||||||
|
force_xwayland = false
|
||||||
|
|
||||||
|
### Legacy
|
||||||
|
|
||||||
|
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||||
|
# This setting is provided for compatibility with older nVidia drivers that
|
||||||
|
# do not support RandR and using it on systems that support RandR is highly
|
||||||
|
# discouraged.
|
||||||
|
#
|
||||||
|
# By enabling this setting dunst will not be able to detect when a monitor
|
||||||
|
# is connected or disconnected which might break follow mode if the screen
|
||||||
|
# layout changes.
|
||||||
|
force_xinerama = false
|
||||||
|
|
||||||
|
### mouse
|
||||||
|
|
||||||
|
# Defines list of actions for each mouse event
|
||||||
|
# Possible values are:
|
||||||
|
# * none: Don't do anything.
|
||||||
|
# * do_action: Invoke the action determined by the action_name rule. If there is no
|
||||||
|
# such action, open the context menu.
|
||||||
|
# * open_url: If the notification has exactly one url, open it. If there are multiple
|
||||||
|
# ones, open the context menu.
|
||||||
|
# * close_current: Close current notification.
|
||||||
|
# * close_all: Close all notifications.
|
||||||
|
# * context: Open context menu for the notification.
|
||||||
|
# * context_all: Open context menu for all notifications.
|
||||||
|
# These values can be strung together for each mouse event, and
|
||||||
|
# will be executed in sequence.
|
||||||
|
mouse_left_click = close_current
|
||||||
|
mouse_middle_click = do_action, close_current
|
||||||
|
mouse_right_click = close_all
|
||||||
|
|
||||||
|
# Experimental features that may or may not work correctly. Do not expect them
|
||||||
|
# to have a consistent behaviour across releases.
|
||||||
|
[experimental]
|
||||||
|
# Calculate the dpi to use on a per-monitor basis.
|
||||||
|
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||||
|
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||||
|
# using the resolution and physical size. This might be useful in setups
|
||||||
|
# where there are multiple screens with very different dpi values.
|
||||||
|
per_monitor_dpi = false
|
||||||
|
|
||||||
|
|
||||||
|
[urgency_low]
|
||||||
|
# IMPORTANT: colors have to be defined in quotation marks.
|
||||||
|
# Otherwise the "#" and following would be interpreted as a comment.
|
||||||
|
background = "#1A1B26"
|
||||||
|
foreground = "#A9B1D6"
|
||||||
|
highlight = "#A9B1D6"
|
||||||
|
timeout = 6
|
||||||
|
# Icon for notifications with low urgency, uncomment to enable
|
||||||
|
# default_icon = ~/.config/dunst/icons/notification.png
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
background = "#1A1B26"
|
||||||
|
foreground = "#A9B1D6"
|
||||||
|
highlight = "#A9B1D6"
|
||||||
|
timeout = 6
|
||||||
|
# Icon for notifications with normal urgency, uncomment to enable
|
||||||
|
default_icon = /home/q/.config/dunst/icons/notification.png
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
background = "#1A1B26"
|
||||||
|
foreground = "#A9B1D6"
|
||||||
|
highlight = "#A9B1D6"
|
||||||
|
|
||||||
|
timeout = 10
|
||||||
|
# Icon for notifications with critical urgency, uncomment to enable
|
||||||
|
# default_icon = ~/.config/dunst/icons/notification.png
|
||||||
|
|
||||||
|
# Every section that isn't one of the above is interpreted as a rules to
|
||||||
|
# override settings for certain messages.
|
||||||
|
#
|
||||||
|
# Messages can be matched by
|
||||||
|
# appname (discouraged, see desktop_entry)
|
||||||
|
# body
|
||||||
|
# category
|
||||||
|
# desktop_entry
|
||||||
|
# icon
|
||||||
|
# match_transient
|
||||||
|
# msg_urgency
|
||||||
|
# stack_tag
|
||||||
|
# summary
|
||||||
|
#
|
||||||
|
# and you can override the
|
||||||
|
# background
|
||||||
|
# foreground
|
||||||
|
# format
|
||||||
|
# frame_color
|
||||||
|
# fullscreen
|
||||||
|
# new_icon
|
||||||
|
# set_stack_tag
|
||||||
|
# set_transient
|
||||||
|
# set_category
|
||||||
|
# timeout
|
||||||
|
# urgency
|
||||||
|
# icon_position
|
||||||
|
# skip_display
|
||||||
|
# history_ignore
|
||||||
|
# action_name
|
||||||
|
# word_wrap
|
||||||
|
# ellipsize
|
||||||
|
# alignment
|
||||||
|
# hide_text
|
||||||
|
#
|
||||||
|
# Shell-like globbing will get expanded.
|
||||||
|
#
|
||||||
|
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
|
||||||
|
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
||||||
|
# the desktop-entry won't get localized.
|
||||||
|
#
|
||||||
|
# SCRIPTING
|
||||||
|
# You can specify a script that gets run when the rule matches by
|
||||||
|
# setting the "script" option.
|
||||||
|
# The script will be called as follows:
|
||||||
|
# script appname summary body icon urgency
|
||||||
|
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||||
|
#
|
||||||
|
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||||
|
# to find fitting options for rules.
|
||||||
|
|
||||||
|
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
||||||
|
# client
|
||||||
|
#[transient_disable]
|
||||||
|
# match_transient = yes
|
||||||
|
# set_transient = no
|
||||||
|
#
|
||||||
|
# Make the handling of transient notifications more strict by making them not
|
||||||
|
# be placed in history.
|
||||||
|
#[transient_history_ignore]
|
||||||
|
# match_transient = yes
|
||||||
|
# history_ignore = yes
|
||||||
|
|
||||||
|
# fullscreen values
|
||||||
|
# show: show the notifications, regardless if there is a fullscreen window opened
|
||||||
|
# delay: displays the new notification, if there is no fullscreen window active
|
||||||
|
# If the notification is already drawn, it won't get undrawn.
|
||||||
|
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
||||||
|
# withdrawn from screen again and will get delayed like a new notification
|
||||||
|
#[fullscreen_delay_everything]
|
||||||
|
# fullscreen = delay
|
||||||
|
#[fullscreen_show_critical]
|
||||||
|
# msg_urgency = critical
|
||||||
|
# fullscreen = show
|
||||||
|
|
||||||
|
#[espeak]
|
||||||
|
# summary = "*"
|
||||||
|
# script = dunst_espeak.sh
|
||||||
|
|
||||||
|
#[script-test]
|
||||||
|
# summary = "*script*"
|
||||||
|
# script = dunst_test.sh
|
||||||
|
|
||||||
|
#[ignore]
|
||||||
|
# # This notification will not be displayed
|
||||||
|
# summary = "foobar"
|
||||||
|
# skip_display = true
|
||||||
|
|
||||||
|
#[history-ignore]
|
||||||
|
# # This notification will not be saved in history
|
||||||
|
# summary = "foobar"
|
||||||
|
# history_ignore = yes
|
||||||
|
|
||||||
|
#[skip-display]
|
||||||
|
# # This notification will not be displayed, but will be included in the history
|
||||||
|
# summary = "foobar"
|
||||||
|
# skip_display = yes
|
||||||
|
|
||||||
|
#[signed_on]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = "*signed on*"
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[signed_off]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *signed off*
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[says]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *says*
|
||||||
|
# urgency = critical
|
||||||
|
#
|
||||||
|
#[gotify]
|
||||||
|
# appname = Gotify
|
||||||
|
|
||||||
|
#[twitter]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *twitter.com*
|
||||||
|
# urgency = normal
|
||||||
|
#
|
||||||
|
#[stack-volumes]
|
||||||
|
# appname = "some_volume_notifiers"
|
||||||
|
# set_stack_tag = "volume"
|
||||||
|
#
|
||||||
|
# vim: ft=cfg
|
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 2.6 KiB |
|
@ -0,0 +1,7 @@
|
||||||
|
complete --command fisher --exclusive --long help --description "Print help"
|
||||||
|
complete --command fisher --exclusive --long version --description "Print version"
|
||||||
|
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments install --description "Install plugins"
|
||||||
|
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments update --description "Update installed plugins"
|
||||||
|
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments remove --description "Remove installed plugins"
|
||||||
|
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments list --description "List installed plugins matching regex"
|
||||||
|
complete --command fisher --exclusive --condition "__fish_seen_subcommand_from update remove" --arguments "(fisher list)"
|
|
@ -0,0 +1,21 @@
|
||||||
|
complete --command nvm --exclusive
|
||||||
|
complete --command nvm --exclusive --long version --description "Print version"
|
||||||
|
complete --command nvm --exclusive --long help --description "Print help"
|
||||||
|
complete --command nvm --long silent --description "Suppress standard output"
|
||||||
|
|
||||||
|
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments install --description "Download and activate the specified Node version"
|
||||||
|
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments use --description "Activate a version in the current shell"
|
||||||
|
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments list --description "List installed versions"
|
||||||
|
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments list-remote --description "List versions available to install matching optional regex"
|
||||||
|
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments current --description "Print the currently-active version"
|
||||||
|
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from install" --arguments "(
|
||||||
|
test -e $nvm_data && string split ' ' <$nvm_data/.index
|
||||||
|
)"
|
||||||
|
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from use" --arguments "(_nvm_list | string split ' ')"
|
||||||
|
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments uninstall --description "Uninstall a version"
|
||||||
|
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from uninstall" --arguments "(
|
||||||
|
_nvm_list | string split ' ' | string replace system ''
|
||||||
|
)"
|
||||||
|
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from use uninstall" --arguments "(
|
||||||
|
set --query nvm_default_version && echo default
|
||||||
|
)"
|
|
@ -0,0 +1,39 @@
|
||||||
|
status is-interactive || exit
|
||||||
|
|
||||||
|
set --global autopair_left "(" "[" "{" '"' "'"
|
||||||
|
set --global autopair_right ")" "]" "}" '"' "'"
|
||||||
|
set --global autopair_pairs "()" "[]" "{}" '""' "''"
|
||||||
|
|
||||||
|
function _autopair_fish_key_bindings --on-variable fish_key_bindings
|
||||||
|
set --query fish_key_bindings[1] || return
|
||||||
|
|
||||||
|
test $fish_key_bindings = fish_default_key_bindings &&
|
||||||
|
set --local mode default insert ||
|
||||||
|
set --local mode insert default
|
||||||
|
|
||||||
|
bind --mode $mode[-1] --erase \177 \b \t
|
||||||
|
|
||||||
|
bind --mode $mode[1] \177 _autopair_backspace # macOS ⌫
|
||||||
|
bind --mode $mode[1] \b _autopair_backspace
|
||||||
|
bind --mode $mode[1] \t _autopair_tab
|
||||||
|
|
||||||
|
printf "%s\n" $autopair_pairs | while read --local left right --delimiter ""
|
||||||
|
bind --mode $mode[-1] --erase $left $right
|
||||||
|
if test $left = $right
|
||||||
|
bind --mode $mode[1] $left "_autopair_insert_same \\$left"
|
||||||
|
else
|
||||||
|
bind --mode $mode[1] $left "_autopair_insert_left \\$left \\$right"
|
||||||
|
bind --mode $mode[1] $right "_autopair_insert_right \\$right"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
_autopair_fish_key_bindings
|
||||||
|
|
||||||
|
function _autopair_uninstall --on-event autopair_uninstall
|
||||||
|
string collect (
|
||||||
|
bind --all | string replace --filter --regex -- "_autopair.*" --erase
|
||||||
|
set --names | string replace --filter --regex -- "^autopair" "set --erase autopair"
|
||||||
|
) | source
|
||||||
|
functions --erase (functions --all | string match "_autopair_*")
|
||||||
|
end
|
|
@ -0,0 +1,221 @@
|
||||||
|
set -Ux LF_ICONS "\
|
||||||
|
*.7z=:\
|
||||||
|
*.aac=:\
|
||||||
|
*.ace=:\
|
||||||
|
*.alz=:\
|
||||||
|
*.arc=:\
|
||||||
|
*.arj=:\
|
||||||
|
*.asf=:\
|
||||||
|
*.atom=:\
|
||||||
|
*.au=:\
|
||||||
|
*.avi=:\
|
||||||
|
*.bash=:\
|
||||||
|
*.bash_history=:\
|
||||||
|
*.bashprofile=:\
|
||||||
|
*.bashrc=:\
|
||||||
|
*.bmp=:\
|
||||||
|
*.bz2=:\
|
||||||
|
*.bz=:\
|
||||||
|
*.c=:\
|
||||||
|
*.cab=:\
|
||||||
|
*.cc=:\
|
||||||
|
*.cfg=:\
|
||||||
|
*.cgm=:\
|
||||||
|
*.clang-format=:\
|
||||||
|
*.clj=:\
|
||||||
|
*.cmd=:\
|
||||||
|
*.coffee=:\
|
||||||
|
*.cpio=:\
|
||||||
|
*.cpp=:\
|
||||||
|
*.css=:\
|
||||||
|
*.d=:\
|
||||||
|
*.dart=:\
|
||||||
|
*.deb=:\
|
||||||
|
*.dl=:\
|
||||||
|
*.DS_Store=:\
|
||||||
|
*.dwm=:\
|
||||||
|
*.dz=:\
|
||||||
|
*.ear=:\
|
||||||
|
*.emf=:\
|
||||||
|
*.env=:\
|
||||||
|
*.erl=:\
|
||||||
|
*.esd=:\
|
||||||
|
*.exs=:\
|
||||||
|
*.fish=:\
|
||||||
|
*.flac=:\
|
||||||
|
*.flc=:\
|
||||||
|
*.fli=:\
|
||||||
|
*.flv=:\
|
||||||
|
*.fs=:\
|
||||||
|
*.gif=:\
|
||||||
|
*.git=:\
|
||||||
|
*.gitattributes=:\
|
||||||
|
*.gitconfig=:\
|
||||||
|
*.github=:\
|
||||||
|
*.gitignore=:\
|
||||||
|
*.gitignore_global=:\
|
||||||
|
*.gitkeep=:\
|
||||||
|
*.gitmodules=:\
|
||||||
|
*.gl=:\
|
||||||
|
*.go=:\
|
||||||
|
*.gz=:\
|
||||||
|
*.h=:\
|
||||||
|
*.hh=:\
|
||||||
|
*.hidden=:\
|
||||||
|
*.hpp=:\
|
||||||
|
*.hs=:\
|
||||||
|
*.html=:\
|
||||||
|
*.hyper.js=:\
|
||||||
|
*.jar=:\
|
||||||
|
*.java=:\
|
||||||
|
*.jl=:\
|
||||||
|
*.jpeg=:\
|
||||||
|
*.jpg=:\
|
||||||
|
*.js=:\
|
||||||
|
*.json=:\
|
||||||
|
*.jsx=:\
|
||||||
|
*.lha=:\
|
||||||
|
*.lrz=:\
|
||||||
|
*.lua=:\
|
||||||
|
*.lz4=:\
|
||||||
|
*.lz=:\
|
||||||
|
*.lzh=:\
|
||||||
|
*.lzma=:\
|
||||||
|
*.lzo=:\
|
||||||
|
*.m2v=:\
|
||||||
|
*.m4a=:\
|
||||||
|
*.m4v=:\
|
||||||
|
*.map=:\
|
||||||
|
*.md=:\
|
||||||
|
*.mdx=:\
|
||||||
|
*.mid=:\
|
||||||
|
*.midi=:\
|
||||||
|
*.mjpeg=:\
|
||||||
|
*.mjpg=:\
|
||||||
|
*.mka=:\
|
||||||
|
*.mkv=:\
|
||||||
|
*.mng=:\
|
||||||
|
*.mov=:\
|
||||||
|
*.mp3=:\
|
||||||
|
*.mp4=:\
|
||||||
|
*.mp4v=:\
|
||||||
|
*.mpc=:\
|
||||||
|
*.mpeg=:\
|
||||||
|
*.mpg=:\
|
||||||
|
*.nix=:\
|
||||||
|
*.npmignore=:\
|
||||||
|
*.npmrc=:\
|
||||||
|
*.nuv=:\
|
||||||
|
*.nvmrc=:\
|
||||||
|
*.oga=:\
|
||||||
|
*.ogg=:\
|
||||||
|
*.ogm=:\
|
||||||
|
*.ogv=:\
|
||||||
|
*.ogx=:\
|
||||||
|
*.opus=:\
|
||||||
|
*.pbm=:\
|
||||||
|
*.pcx=:\
|
||||||
|
*.pdf=:\
|
||||||
|
*.pgm=:\
|
||||||
|
*.php=:\
|
||||||
|
*.pl=:\
|
||||||
|
*.png=:\
|
||||||
|
*.ppm=:\
|
||||||
|
*.pro=:\
|
||||||
|
*.ps1=:\
|
||||||
|
*.py=:\
|
||||||
|
*.qt=:\
|
||||||
|
*.ra=:\
|
||||||
|
*.rar=:\
|
||||||
|
*.rb=:\
|
||||||
|
*.rm=:\
|
||||||
|
*.rmvb=:\
|
||||||
|
*.rpm=:\
|
||||||
|
*.rs=:\
|
||||||
|
*.rvm=:\
|
||||||
|
*.rz=:\
|
||||||
|
*.sar=:\
|
||||||
|
*.scala=:\
|
||||||
|
*.sh=:\
|
||||||
|
*.skhdrc=:\
|
||||||
|
*.sol=ﲹ:\
|
||||||
|
*.spx=:\
|
||||||
|
*.svg=:\
|
||||||
|
*.svgz=:\
|
||||||
|
*.swm=:\
|
||||||
|
*.t7z=:\
|
||||||
|
*.tar=:\
|
||||||
|
*.taz=:\
|
||||||
|
*.tbz2=:\
|
||||||
|
*.tbz=:\
|
||||||
|
*.tga=:\
|
||||||
|
*.tgz=:\
|
||||||
|
*.tif=:\
|
||||||
|
*.tiff=:\
|
||||||
|
*.tlz=:\
|
||||||
|
*.tmux.conf=:\
|
||||||
|
*.trash=:\
|
||||||
|
*.ts=:\
|
||||||
|
*.tsx=:\
|
||||||
|
*.txz=:\
|
||||||
|
*.tz=:\
|
||||||
|
*.tzo=:\
|
||||||
|
*.tzst=:\
|
||||||
|
*.vim=:\
|
||||||
|
*.vimrc=:\
|
||||||
|
*.vob=:\
|
||||||
|
*.vscode=:\
|
||||||
|
*.war=:\
|
||||||
|
*.wav=:\
|
||||||
|
*.webm=:\
|
||||||
|
*.wim=:\
|
||||||
|
*.xbm=:\
|
||||||
|
*.xcf=:\
|
||||||
|
*.xpm=:\
|
||||||
|
*.xspf=:\
|
||||||
|
*.xwd=:\
|
||||||
|
*.xz=:\
|
||||||
|
*.yabairc=:\
|
||||||
|
*.yaml=פּ:\
|
||||||
|
*.yarn-integrity=:\
|
||||||
|
*.yarnrc=:\
|
||||||
|
*.yml=פּ:\
|
||||||
|
*.yuv=:\
|
||||||
|
*.z=:\
|
||||||
|
*.zip=:\
|
||||||
|
*.zoo=:\
|
||||||
|
*.zprofile=:\
|
||||||
|
*.zprofile=:\
|
||||||
|
*.zsh=:\
|
||||||
|
*.zsh_history=:\
|
||||||
|
*.zshrc=:\
|
||||||
|
*.zst=:\
|
||||||
|
*bin=:\
|
||||||
|
*config=:\
|
||||||
|
*docker-compose.yml=:\
|
||||||
|
*dockerfile=:\
|
||||||
|
*gradle=:\
|
||||||
|
*gruntfile.coffee=:\
|
||||||
|
*gruntfile.js=:\
|
||||||
|
*gruntfile.ls=:\
|
||||||
|
*gulpfile.coffee=:\
|
||||||
|
*gulpfile.js=:\
|
||||||
|
*gulpfile.ls=:\
|
||||||
|
*include=:\
|
||||||
|
*lib=:\
|
||||||
|
*localized=:\
|
||||||
|
*node_modules=:\
|
||||||
|
*package.json=:\
|
||||||
|
*rubydoc=:\
|
||||||
|
*tsconfig.json=:\
|
||||||
|
*yarn.lock=:\
|
||||||
|
di=:\
|
||||||
|
dt=:\
|
||||||
|
ex=:\
|
||||||
|
fi=:\
|
||||||
|
ln=:\
|
||||||
|
or=:\
|
||||||
|
ow=:\
|
||||||
|
st=:\
|
||||||
|
tw=:\
|
||||||
|
"
|
|
@ -0,0 +1,28 @@
|
||||||
|
function _nvm_install --on-event nvm_install
|
||||||
|
set --query nvm_mirror || set --universal nvm_mirror https://nodejs.org/dist
|
||||||
|
set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share
|
||||||
|
set --universal nvm_data $XDG_DATA_HOME/nvm
|
||||||
|
|
||||||
|
test ! -d $nvm_data && command mkdir -p $nvm_data
|
||||||
|
echo "Downloading the Node distribution index..." 2>/dev/null
|
||||||
|
_nvm_index_update
|
||||||
|
end
|
||||||
|
|
||||||
|
function _nvm_update --on-event nvm_update
|
||||||
|
set --query nvm_mirror || set --universal nvm_mirror https://nodejs.org/dist
|
||||||
|
set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share
|
||||||
|
set --universal nvm_data $XDG_DATA_HOME/nvm
|
||||||
|
end
|
||||||
|
|
||||||
|
function _nvm_uninstall --on-event nvm_uninstall
|
||||||
|
command rm -rf $nvm_data
|
||||||
|
|
||||||
|
set --query nvm_current_version && _nvm_version_deactivate $nvm_current_version
|
||||||
|
|
||||||
|
set --names | string replace --filter --regex -- "^nvm" "set --erase nvm" | source
|
||||||
|
functions --erase (functions --all | string match --entire --regex -- "^_nvm_")
|
||||||
|
end
|
||||||
|
|
||||||
|
if status is-interactive && set --query nvm_default_version && ! set --query nvm_current_version
|
||||||
|
nvm use --silent $nvm_default_version
|
||||||
|
end
|
|
@ -0,0 +1,49 @@
|
||||||
|
if status --is-login
|
||||||
|
if test -z "$DISPLAY" -a $XDG_VTNR = 1
|
||||||
|
exec Hyprland > ~/.hyprland.log
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if status is-interactive
|
||||||
|
set -x XDG_CONFIG_HOME "$HOME/.config"
|
||||||
|
set -x XDG_STATE_HOME "$HOME/.local/state"
|
||||||
|
set -x XDG_CACHE_HOME "$HOME/.cache"
|
||||||
|
|
||||||
|
set -x DOCKER_CONFIG "$XDG_CONFIG_HOME/docker"
|
||||||
|
set -x CARGO_HOME "$XDG_DATA_HOME/cargo"
|
||||||
|
set -x RUSTUP_HOME "$XDG_DATA_HOME/rustup"
|
||||||
|
set -x WINEPREFIX "$XDG_DATA_HOME/wine"
|
||||||
|
set -x JUPYTER_CONFIG_DIR "$XDG_CONFIG_HOME/jupyter"
|
||||||
|
set -x ANDROID_HOME "$XDG_DATA_HOME/android"
|
||||||
|
|
||||||
|
alias ls="lsd"
|
||||||
|
|
||||||
|
alias v="vim"
|
||||||
|
alias nv="nvim"
|
||||||
|
|
||||||
|
alias gc="git clone"
|
||||||
|
alias gst="git status"
|
||||||
|
alias bat="bat -p"
|
||||||
|
|
||||||
|
alias la="lsd -la"
|
||||||
|
|
||||||
|
set -U fish_user_paths $HOME/bin $fish_user_paths
|
||||||
|
set -U fish_user_paths $HOME/.local/bin $fish_user_paths
|
||||||
|
alias dotfiles="git --git-dir=/home/q/repos/dotfiles --work-tree=$HOME"
|
||||||
|
alias chromium-browser-stable="chromium-browser-stable --disable-gpu --disable-software-rasterizer"
|
||||||
|
|
||||||
|
set -x PF_INFO "ascii title os kernel wm shell pkgs memory"
|
||||||
|
|
||||||
|
set -x TERM "xterm-256color"
|
||||||
|
set -x EDITOR "nvim"
|
||||||
|
set -x VISUAL "nvim"
|
||||||
|
|
||||||
|
set -x XDG_DATA_HOME $HOME/.local/share
|
||||||
|
|
||||||
|
set srcdir "$HOME/.cache/"
|
||||||
|
set pkgdir "$HOME/.npm/"
|
||||||
|
alias npm="npm --cache $srcir/npm-cache"
|
||||||
|
|
||||||
|
set fish_greeting
|
||||||
|
# Commands to run in interactive sessions can go here
|
||||||
|
end
|
|
@ -0,0 +1,6 @@
|
||||||
|
jorgebucaran/fisher
|
||||||
|
jorgebucaran/nvm.fish
|
||||||
|
derekstavis/fish-neovim
|
||||||
|
catppuccin/fish
|
||||||
|
jorgebucaran/autopair.fish
|
||||||
|
joshmedeski/fish-lf-icons
|
|
@ -0,0 +1,9 @@
|
||||||
|
function _autopair_backspace
|
||||||
|
set --local index (commandline --cursor)
|
||||||
|
set --local buffer (commandline)
|
||||||
|
|
||||||
|
test $index -ge 1 &&
|
||||||
|
contains -- (string sub --start=$index --length=2 -- "$buffer") $autopair_pairs &&
|
||||||
|
commandline --function delete-char
|
||||||
|
commandline --function backward-delete-char
|
||||||
|
end
|
|
@ -0,0 +1,13 @@
|
||||||
|
function _autopair_insert_left --argument-names left right
|
||||||
|
set --local buffer (commandline)
|
||||||
|
set --local before (commandline --cut-at-cursor)
|
||||||
|
|
||||||
|
commandline --insert -- $left
|
||||||
|
|
||||||
|
switch "$buffer"
|
||||||
|
case "$before"{," "\*,$autopair_right\*}
|
||||||
|
set --local index (commandline --cursor)
|
||||||
|
commandline --insert -- $right
|
||||||
|
commandline --cursor $index
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,11 @@
|
||||||
|
function _autopair_insert_right --argument-names key
|
||||||
|
set --local buffer (commandline)
|
||||||
|
set --local before (commandline --cut-at-cursor)
|
||||||
|
|
||||||
|
switch "$buffer"
|
||||||
|
case "$before$key"\*
|
||||||
|
commandline --cursor (math (commandline --cursor) + 1)
|
||||||
|
case \*
|
||||||
|
commandline --insert -- $key
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,20 @@
|
||||||
|
function _autopair_insert_same --argument-names key
|
||||||
|
set --local buffer (commandline)
|
||||||
|
set --local index (commandline --cursor)
|
||||||
|
set --local next (string sub --start=(math $index + 1) --length=1 -- "$buffer")
|
||||||
|
|
||||||
|
if test (math (count (string match --all --regex -- "$key" "$buffer")) % 2) = 0
|
||||||
|
test $key = $next && commandline --cursor (math $index + 1) && return
|
||||||
|
|
||||||
|
commandline --insert -- $key
|
||||||
|
|
||||||
|
if test $index -lt 1 ||
|
||||||
|
contains -- (string sub --start=$index --length=1 -- "$buffer") "" " " $autopair_left &&
|
||||||
|
contains -- $next "" " " $autopair_right
|
||||||
|
commandline --insert -- $key
|
||||||
|
commandline --cursor (math $index + 1)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
commandline --insert -- $key
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,7 @@
|
||||||
|
function _autopair_tab
|
||||||
|
commandline --paging-mode && down-or-search && return
|
||||||
|
|
||||||
|
string match --quiet --regex -- '\$[^\s]*"$' (commandline --current-token) &&
|
||||||
|
commandline --function end-of-line --function backward-delete-char
|
||||||
|
commandline --function complete
|
||||||
|
end
|
|
@ -0,0 +1,20 @@
|
||||||
|
function _nvm_index_update
|
||||||
|
test ! -d $nvm_data && command mkdir -p $nvm_data
|
||||||
|
|
||||||
|
set --local index $nvm_data/.index
|
||||||
|
|
||||||
|
if not command curl --location --silent $nvm_mirror/index.tab >$index.temp
|
||||||
|
command rm -f $index.temp
|
||||||
|
echo "nvm: Can't update index, host unavailable: \"$nvm_mirror\"" >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
command awk -v OFS=\t '
|
||||||
|
/v0.9.12/ { exit } # Unsupported
|
||||||
|
NR > 1 {
|
||||||
|
print $1 (NR == 2 ? " latest" : $10 != "-" ? " lts/" tolower($10) : "")
|
||||||
|
}
|
||||||
|
' $index.temp >$index
|
||||||
|
|
||||||
|
command rm -f $index.temp
|
||||||
|
end
|
|
@ -0,0 +1,11 @@
|
||||||
|
function _nvm_list
|
||||||
|
set --local versions $nvm_data/*
|
||||||
|
set --query versions[1] &&
|
||||||
|
string match --entire --regex -- (string match --regex -- "v\d.+" $versions |
|
||||||
|
string escape --style=regex |
|
||||||
|
string join "|"
|
||||||
|
) <$nvm_data/.index
|
||||||
|
|
||||||
|
command --all node |
|
||||||
|
string match --quiet --invert --regex -- "^$nvm_data" && echo system
|
||||||
|
end
|
|
@ -0,0 +1,4 @@
|
||||||
|
function _nvm_version_activate --argument-names ver
|
||||||
|
set --global --export nvm_current_version $ver
|
||||||
|
set --prepend PATH $nvm_data/$ver/bin
|
||||||
|
end
|
|
@ -0,0 +1,5 @@
|
||||||
|
function _nvm_version_deactivate --argument-names ver
|
||||||
|
test "$nvm_current_version" = "$ver" && set --erase nvm_current_version
|
||||||
|
set --local index (contains --index -- $nvm_data/$ver/bin $PATH) &&
|
||||||
|
set --erase PATH[$index]
|
||||||
|
end
|
|
@ -0,0 +1,56 @@
|
||||||
|
function fish_prompt --description 'Write out the prompt'
|
||||||
|
set -l last_status $status
|
||||||
|
|
||||||
|
prompt_login
|
||||||
|
|
||||||
|
echo -n ':'
|
||||||
|
|
||||||
|
# PWD
|
||||||
|
set_color $fish_color_cwd
|
||||||
|
echo -n (prompt_pwd)
|
||||||
|
set_color normal
|
||||||
|
|
||||||
|
set -q __fish_git_prompt_showdirtystate
|
||||||
|
or set -g __fish_git_prompt_showdirtystate 1
|
||||||
|
set -q __fish_git_prompt_showuntrackedfiles
|
||||||
|
or set -g __fish_git_prompt_showuntrackedfiles 1
|
||||||
|
set -q __fish_git_prompt_showcolorhints
|
||||||
|
or set -g __fish_git_prompt_showcolorhints 1
|
||||||
|
set -q __fish_git_prompt_color_untrackedfiles
|
||||||
|
or set -g __fish_git_prompt_color_untrackedfiles yellow
|
||||||
|
set -q __fish_git_prompt_char_untrackedfiles
|
||||||
|
or set -g __fish_git_prompt_char_untrackedfiles '?'
|
||||||
|
set -q __fish_git_prompt_color_invalidstate
|
||||||
|
or set -g __fish_git_prompt_color_invalidstate red
|
||||||
|
set -q __fish_git_prompt_char_invalidstate
|
||||||
|
or set -g __fish_git_prompt_char_invalidstate '!'
|
||||||
|
set -q __fish_git_prompt_color_dirtystate
|
||||||
|
or set -g __fish_git_prompt_color_dirtystate blue
|
||||||
|
set -q __fish_git_prompt_char_dirtystate
|
||||||
|
or set -g __fish_git_prompt_char_dirtystate '*'
|
||||||
|
set -q __fish_git_prompt_char_stagedstate
|
||||||
|
or set -g __fish_git_prompt_char_stagedstate '✚'
|
||||||
|
set -q __fish_git_prompt_color_cleanstate
|
||||||
|
or set -g __fish_git_prompt_color_cleanstate green
|
||||||
|
set -q __fish_git_prompt_char_cleanstate
|
||||||
|
or set -g __fish_git_prompt_char_cleanstate '✓'
|
||||||
|
set -q __fish_git_prompt_color_stagedstate
|
||||||
|
or set -g __fish_git_prompt_color_stagedstate yellow
|
||||||
|
set -q __fish_git_prompt_color_branch_dirty
|
||||||
|
or set -g __fish_git_prompt_color_branch_dirty red
|
||||||
|
set -q __fish_git_prompt_color_branch_staged
|
||||||
|
or set -g __fish_git_prompt_color_branch_staged yellow
|
||||||
|
set -q __fish_git_prompt_color_branch
|
||||||
|
or set -g __fish_git_prompt_color_branch green
|
||||||
|
set -q __fish_git_prompt_char_stateseparator
|
||||||
|
or set -g __fish_git_prompt_char_stateseparator '⚡'
|
||||||
|
fish_vcs_prompt '|%s'
|
||||||
|
echo
|
||||||
|
|
||||||
|
if not test $last_status -eq 0
|
||||||
|
set_color $fish_color_error
|
||||||
|
end
|
||||||
|
|
||||||
|
echo -n '➤ '
|
||||||
|
set_color normal
|
||||||
|
end
|
|
@ -0,0 +1,240 @@
|
||||||
|
function fisher --argument-names cmd --description "A plugin manager for Fish"
|
||||||
|
set --query fisher_path || set --local fisher_path $__fish_config_dir
|
||||||
|
set --local fisher_version 4.4.2
|
||||||
|
set --local fish_plugins $__fish_config_dir/fish_plugins
|
||||||
|
|
||||||
|
switch "$cmd"
|
||||||
|
case -v --version
|
||||||
|
echo "fisher, version $fisher_version"
|
||||||
|
case "" -h --help
|
||||||
|
echo "Usage: fisher install <plugins...> Install plugins"
|
||||||
|
echo " fisher remove <plugins...> Remove installed plugins"
|
||||||
|
echo " fisher update <plugins...> Update installed plugins"
|
||||||
|
echo " fisher update Update all installed plugins"
|
||||||
|
echo " fisher list [<regex>] List installed plugins matching regex"
|
||||||
|
echo "Options:"
|
||||||
|
echo " -v or --version Print version"
|
||||||
|
echo " -h or --help Print this help message"
|
||||||
|
echo "Variables:"
|
||||||
|
echo " \$fisher_path Plugin installation path. Default: $__fish_config_dir" | string replace --regex -- $HOME \~
|
||||||
|
case ls list
|
||||||
|
string match --entire --regex -- "$argv[2]" $_fisher_plugins
|
||||||
|
case install update remove
|
||||||
|
isatty || read --local --null --array stdin && set --append argv $stdin
|
||||||
|
|
||||||
|
set --local install_plugins
|
||||||
|
set --local update_plugins
|
||||||
|
set --local remove_plugins
|
||||||
|
set --local arg_plugins $argv[2..-1]
|
||||||
|
set --local old_plugins $_fisher_plugins
|
||||||
|
set --local new_plugins
|
||||||
|
|
||||||
|
test -e $fish_plugins && set --local file_plugins (string match --regex -- '^[^\s]+$' <$fish_plugins)
|
||||||
|
|
||||||
|
if ! set --query argv[2]
|
||||||
|
if test "$cmd" != update
|
||||||
|
echo "fisher: Not enough arguments for command: \"$cmd\"" >&2 && return 1
|
||||||
|
else if ! set --query file_plugins
|
||||||
|
echo "fisher: \"$fish_plugins\" file not found: \"$cmd\"" >&2 && return 1
|
||||||
|
end
|
||||||
|
set arg_plugins $file_plugins
|
||||||
|
end
|
||||||
|
|
||||||
|
for plugin in $arg_plugins
|
||||||
|
set plugin (test -e "$plugin" && realpath $plugin || string lower -- $plugin)
|
||||||
|
contains -- "$plugin" $new_plugins || set --append new_plugins $plugin
|
||||||
|
end
|
||||||
|
|
||||||
|
if set --query argv[2]
|
||||||
|
for plugin in $new_plugins
|
||||||
|
if contains -- "$plugin" $old_plugins
|
||||||
|
test "$cmd" = remove &&
|
||||||
|
set --append remove_plugins $plugin ||
|
||||||
|
set --append update_plugins $plugin
|
||||||
|
else if test "$cmd" = install
|
||||||
|
set --append install_plugins $plugin
|
||||||
|
else
|
||||||
|
echo "fisher: Plugin not installed: \"$plugin\"" >&2 && return 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
for plugin in $new_plugins
|
||||||
|
contains -- "$plugin" $old_plugins &&
|
||||||
|
set --append update_plugins $plugin ||
|
||||||
|
set --append install_plugins $plugin
|
||||||
|
end
|
||||||
|
|
||||||
|
for plugin in $old_plugins
|
||||||
|
contains -- "$plugin" $new_plugins || set --append remove_plugins $plugin
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
set --local pid_list
|
||||||
|
set --local source_plugins
|
||||||
|
set --local fetch_plugins $update_plugins $install_plugins
|
||||||
|
set --local fish_path (status fish-path)
|
||||||
|
|
||||||
|
echo (set_color --bold)fisher $cmd version $fisher_version(set_color normal)
|
||||||
|
|
||||||
|
for plugin in $fetch_plugins
|
||||||
|
set --local source (command mktemp -d)
|
||||||
|
set --append source_plugins $source
|
||||||
|
|
||||||
|
command mkdir -p $source/{completions,conf.d,themes,functions}
|
||||||
|
|
||||||
|
$fish_path --command "
|
||||||
|
if test -e $plugin
|
||||||
|
command cp -Rf $plugin/* $source
|
||||||
|
else
|
||||||
|
set temp (command mktemp -d)
|
||||||
|
set repo (string split -- \@ $plugin) || set repo[2] HEAD
|
||||||
|
|
||||||
|
if set path (string replace --regex -- '^(https://)?gitlab.com/' '' \$repo[1])
|
||||||
|
set name (string split -- / \$path)[-1]
|
||||||
|
set url https://gitlab.com/\$path/-/archive/\$repo[2]/\$name-\$repo[2].tar.gz
|
||||||
|
else
|
||||||
|
set url https://api.github.com/repos/\$repo[1]/tarball/\$repo[2]
|
||||||
|
end
|
||||||
|
|
||||||
|
echo Fetching (set_color --underline)\$url(set_color normal)
|
||||||
|
|
||||||
|
if curl --silent -L \$url | tar -xzC \$temp -f - 2>/dev/null
|
||||||
|
command cp -Rf \$temp/*/* $source
|
||||||
|
else
|
||||||
|
echo fisher: Invalid plugin name or host unavailable: \\\"$plugin\\\" >&2
|
||||||
|
command rm -rf $source
|
||||||
|
end
|
||||||
|
|
||||||
|
command rm -rf \$temp
|
||||||
|
end
|
||||||
|
|
||||||
|
set files $source/* && string match --quiet --regex -- .+\.fish\\\$ \$files
|
||||||
|
" &
|
||||||
|
|
||||||
|
set --append pid_list (jobs --last --pid)
|
||||||
|
end
|
||||||
|
|
||||||
|
wait $pid_list 2>/dev/null
|
||||||
|
|
||||||
|
for plugin in $fetch_plugins
|
||||||
|
if set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)] && test ! -e $source
|
||||||
|
if set --local index (contains --index -- "$plugin" $install_plugins)
|
||||||
|
set --erase install_plugins[$index]
|
||||||
|
else
|
||||||
|
set --erase update_plugins[(contains --index -- "$plugin" $update_plugins)]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for plugin in $update_plugins $remove_plugins
|
||||||
|
if set --local index (contains --index -- "$plugin" $_fisher_plugins)
|
||||||
|
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
|
||||||
|
|
||||||
|
if contains -- "$plugin" $remove_plugins
|
||||||
|
for name in (string replace --filter --regex -- '.+/conf\.d/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
||||||
|
emit {$name}_uninstall
|
||||||
|
end
|
||||||
|
printf "%s\n" Removing\ (set_color red --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
|
||||||
|
set --erase _fisher_plugins[$index]
|
||||||
|
end
|
||||||
|
|
||||||
|
command rm -rf (string replace -- \~ ~ $$plugin_files_var)
|
||||||
|
|
||||||
|
functions --erase (string replace --filter --regex -- '.+/functions/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
||||||
|
|
||||||
|
for name in (string replace --filter --regex -- '.+/completions/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
||||||
|
complete --erase --command $name
|
||||||
|
end
|
||||||
|
|
||||||
|
set --erase $plugin_files_var
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if set --query update_plugins[1] || set --query install_plugins[1]
|
||||||
|
command mkdir -p $fisher_path/{functions,themes,conf.d,completions}
|
||||||
|
end
|
||||||
|
|
||||||
|
for plugin in $update_plugins $install_plugins
|
||||||
|
set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)]
|
||||||
|
set --local files $source/{functions,themes,conf.d,completions}/*
|
||||||
|
|
||||||
|
if set --local index (contains --index -- $plugin $install_plugins)
|
||||||
|
set --local user_files $fisher_path/{functions,themes,conf.d,completions}/*
|
||||||
|
set --local conflict_files
|
||||||
|
|
||||||
|
for file in (string replace -- $source/ $fisher_path/ $files)
|
||||||
|
contains -- $file $user_files && set --append conflict_files $file
|
||||||
|
end
|
||||||
|
|
||||||
|
if set --query conflict_files[1] && set --erase install_plugins[$index]
|
||||||
|
echo -s "fisher: Cannot install \"$plugin\": please remove or move conflicting files first:" \n" "$conflict_files >&2
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for file in (string replace -- $source/ "" $files)
|
||||||
|
command cp -Rf $source/$file $fisher_path/$file
|
||||||
|
end
|
||||||
|
|
||||||
|
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
|
||||||
|
|
||||||
|
set --query files[1] && set --universal $plugin_files_var (string replace -- $source $fisher_path $files | string replace -- ~ \~)
|
||||||
|
|
||||||
|
contains -- $plugin $_fisher_plugins || set --universal --append _fisher_plugins $plugin
|
||||||
|
contains -- $plugin $install_plugins && set --local event install || set --local event update
|
||||||
|
|
||||||
|
printf "%s\n" Installing\ (set_color --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
|
||||||
|
|
||||||
|
for file in (string match --regex -- '.+/[^/]+\.fish$' $$plugin_files_var | string replace -- \~ ~)
|
||||||
|
source $file
|
||||||
|
if set --local name (string replace --regex -- '.+conf\.d/([^/]+)\.fish$' '$1' $file)
|
||||||
|
emit {$name}_$event
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
command rm -rf $source_plugins
|
||||||
|
|
||||||
|
if set --query _fisher_plugins[1]
|
||||||
|
set --local commit_plugins
|
||||||
|
|
||||||
|
for plugin in $file_plugins
|
||||||
|
contains -- (string lower -- $plugin) (string lower -- $_fisher_plugins) && set --append commit_plugins $plugin
|
||||||
|
end
|
||||||
|
|
||||||
|
for plugin in $_fisher_plugins
|
||||||
|
contains -- (string lower -- $plugin) (string lower -- $commit_plugins) || set --append commit_plugins $plugin
|
||||||
|
end
|
||||||
|
|
||||||
|
printf "%s\n" $commit_plugins >$fish_plugins
|
||||||
|
else
|
||||||
|
set --erase _fisher_plugins
|
||||||
|
command rm -f $fish_plugins
|
||||||
|
end
|
||||||
|
|
||||||
|
set --local total (count $install_plugins) (count $update_plugins) (count $remove_plugins)
|
||||||
|
|
||||||
|
test "$total" != "0 0 0" && echo (string join ", " (
|
||||||
|
test $total[1] = 0 || echo "Installed $total[1]") (
|
||||||
|
test $total[2] = 0 || echo "Updated $total[2]") (
|
||||||
|
test $total[3] = 0 || echo "Removed $total[3]")
|
||||||
|
) plugin/s
|
||||||
|
case \*
|
||||||
|
echo "fisher: Unknown command: \"$cmd\"" >&2 && return 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if ! set --query _fisher_upgraded_to_4_4
|
||||||
|
set --universal _fisher_upgraded_to_4_4
|
||||||
|
if functions --query _fisher_list
|
||||||
|
set --query XDG_DATA_HOME[1] || set --local XDG_DATA_HOME ~/.local/share
|
||||||
|
command rm -rf $XDG_DATA_HOME/fisher
|
||||||
|
functions --erase _fisher_{list,plugin_parse}
|
||||||
|
fisher update >/dev/null 2>/dev/null
|
||||||
|
else
|
||||||
|
for var in (set --names | string match --entire --regex '^_fisher_.+_files$')
|
||||||
|
set $var (string replace -- ~ \~ $$var)
|
||||||
|
end
|
||||||
|
functions --erase _fisher_fish_postexec
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,230 @@
|
||||||
|
function nvm --description "Node version manager"
|
||||||
|
for silent in --silent -s
|
||||||
|
if set --local index (contains --index -- $silent $argv)
|
||||||
|
set --erase argv[$index] && break
|
||||||
|
end
|
||||||
|
set --erase silent
|
||||||
|
end
|
||||||
|
|
||||||
|
set --local cmd $argv[1]
|
||||||
|
set --local ver $argv[2]
|
||||||
|
|
||||||
|
if set --query silent && ! set --query cmd[1]
|
||||||
|
echo "nvm: Version number not specified (see nvm -h for usage)" >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
if ! set --query ver[1] && contains -- "$cmd" install use
|
||||||
|
for file in .nvmrc .node-version
|
||||||
|
set file (_nvm_find_up $PWD $file) && read ver <$file && break
|
||||||
|
end
|
||||||
|
|
||||||
|
if ! set --query ver[1]
|
||||||
|
echo "nvm: Invalid version or missing \".nvmrc\" file" >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
set --local their_version $ver
|
||||||
|
|
||||||
|
switch "$cmd"
|
||||||
|
case -v --version
|
||||||
|
echo "nvm, version 2.2.11"
|
||||||
|
case "" -h --help
|
||||||
|
echo "Usage: nvm install <version> Download and activate the specified Node version"
|
||||||
|
echo " nvm install Install version from nearest .nvmrc file"
|
||||||
|
echo " nvm use <version> Activate a version in the current shell"
|
||||||
|
echo " nvm use Activate version from nearest .nvmrc file"
|
||||||
|
echo " nvm list List installed versions"
|
||||||
|
echo " nvm list-remote List versions available to install"
|
||||||
|
echo " nvm list-remote <regex> List versions matching a given regular expression"
|
||||||
|
echo " nvm current Print the currently-active version"
|
||||||
|
echo " nvm uninstall <version> Uninstall a version"
|
||||||
|
echo "Options:"
|
||||||
|
echo " -s or --silent Suppress standard output"
|
||||||
|
echo " -v or --version Print version"
|
||||||
|
echo " -h or --help Print this help message"
|
||||||
|
echo "Variables:"
|
||||||
|
echo " nvm_arch Override architecture, e.g. x64-musl"
|
||||||
|
echo " nvm_mirror Use a mirror of the Node binaries"
|
||||||
|
echo " nvm_default_version Set the default version for new shells"
|
||||||
|
echo " nvm_default_packages Install a list of packages every time you install a Node version"
|
||||||
|
case install
|
||||||
|
_nvm_index_update
|
||||||
|
|
||||||
|
string match --entire --regex -- (_nvm_version_match $ver) <$nvm_data/.index | read ver alias
|
||||||
|
|
||||||
|
if ! set --query ver[1]
|
||||||
|
echo "nvm: Invalid version number or alias: \"$their_version\"" >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
if test ! -e $nvm_data/$ver
|
||||||
|
set --local os (command uname -s | string lower)
|
||||||
|
set --local ext tar.gz
|
||||||
|
set --local arch (command uname -m)
|
||||||
|
|
||||||
|
switch $os
|
||||||
|
case aix
|
||||||
|
set arch ppc64
|
||||||
|
case sunos
|
||||||
|
case linux
|
||||||
|
case darwin
|
||||||
|
case {MSYS_NT,MINGW\*_NT}\*
|
||||||
|
set os win
|
||||||
|
set ext zip
|
||||||
|
case \*
|
||||||
|
echo "nvm: Unsupported operating system: \"$os\"" >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
switch $arch
|
||||||
|
case i\*86
|
||||||
|
set arch x86
|
||||||
|
case x86_64
|
||||||
|
set arch x64
|
||||||
|
case arm64
|
||||||
|
string match --regex --quiet "v(?<major>\d+)" $ver
|
||||||
|
if test "$os" = darwin -a $major -lt 16
|
||||||
|
set arch x64
|
||||||
|
end
|
||||||
|
case armv6 armv6l
|
||||||
|
set arch armv6l
|
||||||
|
case armv7 armv7l
|
||||||
|
set arch armv7l
|
||||||
|
case armv8 armv8l aarch64
|
||||||
|
set arch arm64
|
||||||
|
end
|
||||||
|
|
||||||
|
set --query nvm_arch && set arch $nvm_arch
|
||||||
|
|
||||||
|
set --local dir "node-$ver-$os-$arch"
|
||||||
|
set --local url $nvm_mirror/$ver/$dir.$ext
|
||||||
|
|
||||||
|
command mkdir -p $nvm_data/$ver
|
||||||
|
|
||||||
|
if ! set --query silent
|
||||||
|
echo -e "Installing Node \x1b[1m$ver\x1b[22m $alias"
|
||||||
|
echo -e "Fetching \x1b[4m$url\x1b[24m\x1b[7m"
|
||||||
|
end
|
||||||
|
|
||||||
|
if ! command curl $silent --progress-bar --location $url |
|
||||||
|
command tar --extract --gzip --directory $nvm_data/$ver 2>/dev/null
|
||||||
|
command rm -rf $nvm_data/$ver
|
||||||
|
echo -e "\033[F\33[2K\x1b[0mnvm: Invalid mirror or host unavailable: \"$url\"" >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
set --query silent || echo -en "\033[F\33[2K\x1b[0m"
|
||||||
|
|
||||||
|
if test "$os" = win
|
||||||
|
command mv $nvm_data/$ver/$dir $nvm_data/$ver/bin
|
||||||
|
else
|
||||||
|
command mv $nvm_data/$ver/$dir/* $nvm_data/$ver
|
||||||
|
command rm -rf $nvm_data/$ver/$dir
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if test $ver != "$nvm_current_version"
|
||||||
|
set --query nvm_current_version && _nvm_version_deactivate $nvm_current_version
|
||||||
|
_nvm_version_activate $ver
|
||||||
|
|
||||||
|
set --query nvm_default_packages[1] && npm install --global $silent $nvm_default_packages
|
||||||
|
end
|
||||||
|
|
||||||
|
set --query silent || printf "Now using Node %s (npm %s) %s\n" (_nvm_node_info)
|
||||||
|
case use
|
||||||
|
test $ver = default && set ver $nvm_default_version
|
||||||
|
_nvm_list | string match --entire --regex -- (_nvm_version_match $ver) | read ver __
|
||||||
|
|
||||||
|
if ! set --query ver[1]
|
||||||
|
echo "nvm: Can't use Node \"$their_version\", version must be installed first" >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
if test $ver != "$nvm_current_version"
|
||||||
|
set --query nvm_current_version && _nvm_version_deactivate $nvm_current_version
|
||||||
|
test $ver != system && _nvm_version_activate $ver
|
||||||
|
end
|
||||||
|
|
||||||
|
set --query silent || printf "Now using Node %s (npm %s) %s\n" (_nvm_node_info)
|
||||||
|
case uninstall
|
||||||
|
if test -z "$ver"
|
||||||
|
echo "nvm: Not enough arguments for command: \"$cmd\"" >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
test $ver = default && test ! -z "$nvm_default_version" && set ver $nvm_default_version
|
||||||
|
|
||||||
|
_nvm_list | string match --entire --regex -- (_nvm_version_match $ver) | read ver __
|
||||||
|
|
||||||
|
if ! set -q ver[1]
|
||||||
|
echo "nvm: Node version not installed or invalid: \"$their_version\"" >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
set --query silent || printf "Uninstalling Node %s %s\n" $ver (string replace ~ \~ "$nvm_data/$ver/bin/node")
|
||||||
|
|
||||||
|
_nvm_version_deactivate $ver
|
||||||
|
|
||||||
|
command rm -rf $nvm_data/$ver
|
||||||
|
case current
|
||||||
|
_nvm_current
|
||||||
|
case ls list
|
||||||
|
_nvm_list | _nvm_list_format (_nvm_current) $argv[2]
|
||||||
|
case lsr {ls,list}-remote
|
||||||
|
_nvm_index_update || return
|
||||||
|
_nvm_list | command awk '
|
||||||
|
FILENAME == "-" && (is_local[$1] = FNR == NR) { next } {
|
||||||
|
print $0 (is_local[$1] ? " ✓" : "")
|
||||||
|
}
|
||||||
|
' - $nvm_data/.index | _nvm_list_format (_nvm_current) $argv[2]
|
||||||
|
case \*
|
||||||
|
echo "nvm: Unknown command or option: \"$cmd\" (see nvm -h for usage)" >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function _nvm_find_up --argument-names path file
|
||||||
|
test -e "$path/$file" && echo $path/$file || begin
|
||||||
|
test ! -z "$path" || return
|
||||||
|
_nvm_find_up (string replace --regex -- '/[^/]*$' "" $path) $file
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function _nvm_version_match --argument-names ver
|
||||||
|
string replace --regex -- '^v?(\d+|\d+\.\d+)$' 'v$1.' $ver |
|
||||||
|
string replace --filter --regex -- '^v?(\d+)' 'v$1' |
|
||||||
|
string escape --style=regex ||
|
||||||
|
string lower '\b'$ver'(?:/\w+)?$'
|
||||||
|
end
|
||||||
|
|
||||||
|
function _nvm_list_format --argument-names current regex
|
||||||
|
command awk -v current="$current" -v regex="$regex" '
|
||||||
|
$0 ~ regex {
|
||||||
|
aliases[versions[i++] = $1] = $2 " " $3
|
||||||
|
pad = (n = length($1)) > pad ? n : pad
|
||||||
|
}
|
||||||
|
END {
|
||||||
|
if (!i) exit 1
|
||||||
|
while (i--)
|
||||||
|
printf((current == versions[i] ? " ▶ " : " ") "%"pad"s %s\n",
|
||||||
|
versions[i], aliases[versions[i]])
|
||||||
|
}
|
||||||
|
'
|
||||||
|
end
|
||||||
|
|
||||||
|
function _nvm_current
|
||||||
|
command --search --quiet node || return
|
||||||
|
set --query nvm_current_version && echo $nvm_current_version || echo system
|
||||||
|
end
|
||||||
|
|
||||||
|
function _nvm_node_info
|
||||||
|
set --local npm_path (string replace bin/npm-cli.js "" (realpath (command --search npm)))
|
||||||
|
test -f $npm_path/package.json || set --local npm_version_default (command npm --version)
|
||||||
|
command node --eval "
|
||||||
|
console.log(process.version)
|
||||||
|
console.log('$npm_version_default' ? '$npm_version_default': require('$npm_path/package.json').version)
|
||||||
|
console.log(process.execPath.replace(require('os').homedir(), '~'))
|
||||||
|
"
|
||||||
|
end
|
|
@ -0,0 +1,232 @@
|
||||||
|
# -*- conf -*-
|
||||||
|
|
||||||
|
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
|
||||||
|
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
|
||||||
|
# login-shell=no
|
||||||
|
|
||||||
|
# app-id=foot
|
||||||
|
# title=foot
|
||||||
|
# locked-title=no
|
||||||
|
|
||||||
|
font=JetBrainsMono Nerd Font Mono:size=13
|
||||||
|
|
||||||
|
# font=monospace:size=8
|
||||||
|
# font-bold=<bold variant of regular font>
|
||||||
|
# font-italic=<italic variant of regular font>
|
||||||
|
# font-bold-italic=<bold+italic variant of regular font>
|
||||||
|
# line-height=<font metrics>
|
||||||
|
# letter-spacing=0
|
||||||
|
# horizontal-letter-offset=0
|
||||||
|
# vertical-letter-offset=0
|
||||||
|
# underline-offset=<font metrics>
|
||||||
|
# box-drawings-uses-font-glyphs=no
|
||||||
|
# dpi-aware=auto
|
||||||
|
# initial-window-size-pixels=700x500 # Or,
|
||||||
|
# initial-window-size-chars=<COLSxROWS>
|
||||||
|
# initial-window-mode=windowed
|
||||||
|
# pad=2x2 # optionally append 'center'
|
||||||
|
# resize-delay-ms=100
|
||||||
|
|
||||||
|
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
|
||||||
|
|
||||||
|
# bold-text-in-bright=no
|
||||||
|
# word-delimiters=,│`|:"'()[]{}<>
|
||||||
|
# selection-target=primary
|
||||||
|
# workers=<number of logical CPUs>
|
||||||
|
|
||||||
|
[environment]
|
||||||
|
# name=value
|
||||||
|
|
||||||
|
[bell]
|
||||||
|
# urgent=no
|
||||||
|
# notify=no
|
||||||
|
# command=
|
||||||
|
# command-focused=no
|
||||||
|
|
||||||
|
[scrollback]
|
||||||
|
# lines=1000
|
||||||
|
# multiplier=3.0
|
||||||
|
# indicator-position=relative
|
||||||
|
# indicator-format=
|
||||||
|
|
||||||
|
[url]
|
||||||
|
# launch=xdg-open ${url}
|
||||||
|
# label-letters=sadfjklewcmpgh
|
||||||
|
# osc8-underline=url-mode
|
||||||
|
# protocols=http, https, ftp, ftps, file, gemini, gopher
|
||||||
|
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
|
||||||
|
|
||||||
|
[cursor]
|
||||||
|
# style=block
|
||||||
|
# color=<inverse foreground/background>
|
||||||
|
# blink=no
|
||||||
|
# beam-thickness=1.5
|
||||||
|
# underline-thickness=<font underline thickness>
|
||||||
|
|
||||||
|
[mouse]
|
||||||
|
hide-when-typing=no
|
||||||
|
alternate-scroll-mode=yes
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
|
||||||
|
alpha = 0.95
|
||||||
|
|
||||||
|
foreground = d8dee9
|
||||||
|
background = 2e3440
|
||||||
|
|
||||||
|
# selection-foreground = d8dee9
|
||||||
|
# selection-background = 4c566a
|
||||||
|
|
||||||
|
regular0 = 3b4252
|
||||||
|
regular1 = bf616a
|
||||||
|
regular2 = a3be8c
|
||||||
|
regular3 = ebcb8b
|
||||||
|
regular4 = 81a1c1
|
||||||
|
regular5 = b48ead
|
||||||
|
regular6 = 88c0d0
|
||||||
|
regular7 = e5e9f0
|
||||||
|
|
||||||
|
bright0 = 4c566a
|
||||||
|
bright1 = bf616a
|
||||||
|
bright2 = a3be8c
|
||||||
|
bright3 = ebcb8b
|
||||||
|
bright4 = 81a1c1
|
||||||
|
bright5 = b48ead
|
||||||
|
bright6 = 8fbcbb
|
||||||
|
bright7 = eceff4
|
||||||
|
|
||||||
|
dim0 = 373e4d
|
||||||
|
dim1 = 94545d
|
||||||
|
dim2 = 809575
|
||||||
|
dim3 = b29e75
|
||||||
|
dim4 = 68809a
|
||||||
|
dim5 = 8c738c
|
||||||
|
dim6 = 6d96a5
|
||||||
|
dim7 = aeb3bb
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#background=141b1e
|
||||||
|
#foreground=dadada
|
||||||
|
#regular0=232a2d
|
||||||
|
#regular1=e57474
|
||||||
|
#regular2=8ccf7e
|
||||||
|
#regular3=e5c76b
|
||||||
|
#regular4=67b0e8
|
||||||
|
#regular5=c47fd5
|
||||||
|
#regular6=6cbfbf
|
||||||
|
#regular7=b3b9b8
|
||||||
|
|
||||||
|
#bright0=2d3437
|
||||||
|
#bright1=ef7e7e
|
||||||
|
#bright2=96d988
|
||||||
|
#bright3=f4d67a
|
||||||
|
#bright4=71baf2
|
||||||
|
#bright5=ce89df
|
||||||
|
#bright6=67cbe7
|
||||||
|
#bright7=bdc3c2
|
||||||
|
|
||||||
|
## dimmed colors (see foot.ini(5) man page)
|
||||||
|
# dim0=<not set>
|
||||||
|
# ...
|
||||||
|
# dim7=<not-set>
|
||||||
|
|
||||||
|
## The remaining 256-color palette
|
||||||
|
# 16 = <256-color palette #16>
|
||||||
|
# ...
|
||||||
|
# 255 = <256-color palette #255>
|
||||||
|
|
||||||
|
## Misc colors
|
||||||
|
# selection-foreground=<inverse foreground/background>
|
||||||
|
# selection-background=<inverse foreground/background>
|
||||||
|
# jump-labels=<regular0> <regular3> # black-on-yellow
|
||||||
|
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
|
||||||
|
# search-box-no-match=<regular0> <regular1> # black-on-red
|
||||||
|
# search-box-match=<regular0> <regular3> # black-on-yellow
|
||||||
|
# urls=<regular3>
|
||||||
|
|
||||||
|
[csd]
|
||||||
|
# preferred=server
|
||||||
|
# size=26
|
||||||
|
# font=<primary font>
|
||||||
|
# color=<foreground color>
|
||||||
|
# hide-when-typing=no
|
||||||
|
# border-width=0
|
||||||
|
# border-color=<csd.color>
|
||||||
|
# button-width=26
|
||||||
|
# button-color=<background color>
|
||||||
|
# button-minimize-color=<regular4>
|
||||||
|
# button-maximize-color=<regular2>
|
||||||
|
# button-close-color=<regular1>
|
||||||
|
|
||||||
|
[key-bindings]
|
||||||
|
# scrollback-up-page=Shift+Page_Up
|
||||||
|
# scrollback-up-half-page=none
|
||||||
|
# scrollback-up-line=none
|
||||||
|
# scrollback-down-page=Shift+Page_Down
|
||||||
|
# scrollback-down-half-page=none
|
||||||
|
# scrollback-down-line=none
|
||||||
|
# clipboard-copy=Control+Shift+c XF86Copy
|
||||||
|
# clipboard-paste=Control+Shift+v XF86Paste
|
||||||
|
# primary-paste=Shift+Insert
|
||||||
|
# search-start=Control+Shift+r
|
||||||
|
# font-increase=Control+plus Control+equal Control+KP_Add
|
||||||
|
# font-decrease=Control+minus Control+KP_Subtract
|
||||||
|
# font-reset=Control+0 Control+KP_0
|
||||||
|
# spawn-terminal=Control+Shift+n
|
||||||
|
# minimize=none
|
||||||
|
# maximize=none
|
||||||
|
# fullscreen=none
|
||||||
|
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||||
|
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||||
|
# pipe-selected=[xargs -r firefox] none
|
||||||
|
# show-urls-launch=Control+Shift+u
|
||||||
|
# show-urls-copy=none
|
||||||
|
# show-urls-persistent=none
|
||||||
|
# prompt-prev=Control+Shift+z
|
||||||
|
# prompt-next=Control+Shift+x
|
||||||
|
# unicode-input=none
|
||||||
|
# noop=none
|
||||||
|
|
||||||
|
[search-bindings]
|
||||||
|
# cancel=Control+g Control+c Escape
|
||||||
|
# commit=Return
|
||||||
|
# find-prev=Control+r
|
||||||
|
# find-next=Control+s
|
||||||
|
# cursor-left=Left Control+b
|
||||||
|
# cursor-left-word=Control+Left Mod1+b
|
||||||
|
# cursor-right=Right Control+f
|
||||||
|
# cursor-right-word=Control+Right Mod1+f
|
||||||
|
# cursor-home=Home Control+a
|
||||||
|
# cursor-end=End Control+e
|
||||||
|
# delete-prev=BackSpace
|
||||||
|
# delete-prev-word=Mod1+BackSpace Control+BackSpace
|
||||||
|
# delete-next=Delete
|
||||||
|
# delete-next-word=Mod1+d Control+Delete
|
||||||
|
# extend-to-word-boundary=Control+w
|
||||||
|
# extend-to-next-whitespace=Control+Shift+w
|
||||||
|
# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
|
||||||
|
# primary-paste=Shift+Insert
|
||||||
|
# unicode-input=none
|
||||||
|
|
||||||
|
[url-bindings]
|
||||||
|
# cancel=Control+g Control+c Control+d Escape
|
||||||
|
# toggle-url-visible=t
|
||||||
|
|
||||||
|
[text-bindings]
|
||||||
|
# \x03=Mod4+c # Map Super+c -> Ctrl+c
|
||||||
|
|
||||||
|
[mouse-bindings]
|
||||||
|
# selection-override-modifiers=Shift
|
||||||
|
# primary-paste=BTN_MIDDLE
|
||||||
|
# select-begin=BTN_LEFT
|
||||||
|
# select-begin-block=Control+BTN_LEFT
|
||||||
|
# select-extend=BTN_RIGHT
|
||||||
|
# select-extend-character-wise=Control+BTN_RIGHT
|
||||||
|
# select-word=BTN_LEFT-2
|
||||||
|
# select-word-whitespace=Control+BTN_LEFT-2
|
||||||
|
# select-row=BTN_LEFT-3
|
||||||
|
|
||||||
|
# vim: ft=dosini
|
|
@ -0,0 +1,207 @@
|
||||||
|
# This is an example Hyprland config file.
|
||||||
|
#
|
||||||
|
# Refer to the wiki for more information.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Please note not all available settings / options are set here.
|
||||||
|
# For a full list, see the wiki
|
||||||
|
#
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
|
monitor=,1920x1080,auto,1
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
|
||||||
|
# Execute your favorite apps at launch
|
||||||
|
# exec-once = waybar & hyprpaper & firefox
|
||||||
|
|
||||||
|
|
||||||
|
exec-once = swww init
|
||||||
|
exec-once = waybar
|
||||||
|
exec-once = light -S 50
|
||||||
|
exec-once = kotatogram-desktop
|
||||||
|
exec-once = dunst -config ~/.config/dunst/dunstrc
|
||||||
|
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
|
||||||
|
exec-once = /usr/bin/chromium-browser-stable --disable-gpu --disable-software-rasterizer
|
||||||
|
exec-once = $HOME/bin/battery-daemon &
|
||||||
|
|
||||||
|
# Source a file (multi-file configs)
|
||||||
|
# source = ~/.config/hypr/myColors.conf
|
||||||
|
|
||||||
|
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||||
|
input {
|
||||||
|
kb_layout = us,ru,ua
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options = grp:caps_toggle
|
||||||
|
kb_rules =
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = no
|
||||||
|
}
|
||||||
|
|
||||||
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
}
|
||||||
|
|
||||||
|
general {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
gaps_in = 5
|
||||||
|
gaps_out = 10
|
||||||
|
border_size = 3
|
||||||
|
|
||||||
|
col.active_border = rgb(88c0d0) 45deg
|
||||||
|
col.inactive_border = rgb(2e3440)
|
||||||
|
|
||||||
|
layout = dwindle
|
||||||
|
}
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
rounding = 10
|
||||||
|
blur: 3
|
||||||
|
|
||||||
|
drop_shadow = yes
|
||||||
|
shadow_range = 4
|
||||||
|
shadow_render_power = 3
|
||||||
|
col.shadow = rgba(1a1a1aee)
|
||||||
|
|
||||||
|
dim_inactive = 1
|
||||||
|
dim_strength = 0.4
|
||||||
|
}
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = yes
|
||||||
|
|
||||||
|
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||||
|
|
||||||
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
|
||||||
|
animation = windows, 1, 7, myBezier
|
||||||
|
animation = windowsOut, 1, 7, default, popin 80%
|
||||||
|
animation = border, 1, 10, default
|
||||||
|
animation = fade, 1, 7, default
|
||||||
|
animation = workspaces, 1, 6, default
|
||||||
|
}
|
||||||
|
|
||||||
|
dwindle {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
|
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||||
|
preserve_split = yes # you probably want this
|
||||||
|
}
|
||||||
|
|
||||||
|
master {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||||
|
new_is_master = true
|
||||||
|
}
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
workspace_swipe = off
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example per-device config
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
|
||||||
|
device:epic mouse V1 {
|
||||||
|
sensitivity = -0.5
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example windowrule v1
|
||||||
|
# windowrule = float, ^(kitty)$
|
||||||
|
# Example windowrule v2
|
||||||
|
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
|
|
||||||
|
windowrulev2 = float,class:^(xdg-desktop-portal-gtk)$
|
||||||
|
windowrulev2 = move 196 127,class:^(xdg-desktop-portal-gtk)$
|
||||||
|
windowrulev2 = size 791 667,class:^(xdg-desktop-portal-gtk)$
|
||||||
|
|
||||||
|
|
||||||
|
windowrulev2 = float,title:^(Kotatogram)$
|
||||||
|
windowrulev2 = workspace 2 silent,title:^(Kotatogram)$
|
||||||
|
windowrulev2 = size 641 1022,title:^(Kotatogram)$
|
||||||
|
windowrulev2 = move 25 45,title:^(Kotatogram)$
|
||||||
|
|
||||||
|
|
||||||
|
windowrulev2 = workspace 1 silent,title:^(chromium-browser)$
|
||||||
|
|
||||||
|
$mainMod = SUPER
|
||||||
|
|
||||||
|
bind = $mainMod SHIFT, S,exec, bin/w-screenrecord
|
||||||
|
|
||||||
|
# bindl=,switch:[switch name],exec,$HOME/bin/lockscreen
|
||||||
|
|
||||||
|
|
||||||
|
bind = $mainMod, C, killactive,
|
||||||
|
bind = $mainMod, X, exit,
|
||||||
|
bind = $mainMod, F, fullscreen, 2
|
||||||
|
bind = $mainMod, S, togglefloating,
|
||||||
|
bind = $mainMod, P, pseudo, # dwindle
|
||||||
|
bind = $mainMod ALT, J, togglesplit, # dwindle
|
||||||
|
|
||||||
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||||
|
|
||||||
|
# Example volume button that allows press and hold
|
||||||
|
binde= ,F2, exec, pactl set-sink-volume @DEFAULT_SINK@ -1%
|
||||||
|
binde= ,F3, exec, pactl set-sink-volume @DEFAULT_SINK@ +1%
|
||||||
|
|
||||||
|
bind = $mainMod, b, exec, foot -e bluetuith
|
||||||
|
bind = $mainMod, RETURN, exec, foot
|
||||||
|
bind = $mainMod, N, exec, foot -e lf
|
||||||
|
bind = $mainMod, M, exec, foot -e cmus
|
||||||
|
bind = $mainMod, d, exec, wofi --show drun -I -i
|
||||||
|
bind = ,Print, exec, makescreenshot
|
||||||
|
# bind = $mainMod, SHIFT, L, exec, lockscreen
|
||||||
|
bind = ALT, L, exec, lockscreen
|
||||||
|
|
||||||
|
# not forget install xdg-desktop-portal 1.14.6
|
||||||
|
# Modify file /usr/share/xdg-desktop-portal/portals/{}.portal UserIn=sway;wlroots
|
||||||
|
|
||||||
|
# Move focus with mainMod + kjlh
|
||||||
|
bind = $mainMod, k, movefocus,u
|
||||||
|
bind = $mainMod, j, movefocus,d
|
||||||
|
bind = $mainMod, l, movefocus,r
|
||||||
|
bind = $mainMod, h, movefocus,l
|
||||||
|
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
bind = $mainMod, 1, workspace, 1
|
||||||
|
bind = $mainMod, 2, workspace, 2
|
||||||
|
bind = $mainMod, 3, workspace, 3
|
||||||
|
bind = $mainMod, 4, workspace, 4
|
||||||
|
bind = $mainMod, 5, workspace, 5
|
||||||
|
bind = $mainMod, 6, workspace, 6
|
||||||
|
bind = $mainMod, 7, workspace, 7
|
||||||
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
bind = $mainMod, 9, workspace, 9
|
||||||
|
bind = $mainMod, 0, workspace, 10
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
# Move windows
|
||||||
|
bind = $mainMod SHIFT,k, movewindow, u
|
||||||
|
bind = $mainMod SHIFT,j, movewindow, d
|
||||||
|
bind = $mainMod SHIFT,l, movewindow, r
|
||||||
|
bind = $mainMod SHIFT,h, movewindow, l
|
||||||
|
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
misc {
|
||||||
|
disable_hyprland_logo = true
|
||||||
|
}
|
|
@ -0,0 +1,174 @@
|
||||||
|
# vim:ft=dircolors
|
||||||
|
# (This is not a dircolors file but it helps to highlight colors and comments)
|
||||||
|
|
||||||
|
# default values from dircolors
|
||||||
|
# (entries with a leading # are not implemented in lf)
|
||||||
|
# #no 00 # NORMAL
|
||||||
|
# fi 00 # FILE
|
||||||
|
# #rs 0 # RESET
|
||||||
|
# di 01;34 # DIR
|
||||||
|
# ln 01;36 # LINK
|
||||||
|
# #mh 00 # MULTIHARDLINK
|
||||||
|
# pi 40;33 # FIFO
|
||||||
|
# so 01;35 # SOCK
|
||||||
|
# #do 01;35 # DOOR
|
||||||
|
# bd 40;33;01 # BLK
|
||||||
|
# cd 40;33;01 # CHR
|
||||||
|
# or 40;31;01 # ORPHAN
|
||||||
|
# #mi 00 # MISSING
|
||||||
|
# su 37;41 # SETUID
|
||||||
|
# sg 30;43 # SETGID
|
||||||
|
# #ca 30;41 # CAPABILITY
|
||||||
|
# tw 30;42 # STICKY_OTHER_WRITABLE
|
||||||
|
# ow 34;42 # OTHER_WRITABLE
|
||||||
|
# st 37;44 # STICKY
|
||||||
|
# ex 01;32 # EXEC
|
||||||
|
|
||||||
|
# default values from lf (with matching order)
|
||||||
|
# ln 01;36 # LINK
|
||||||
|
# or 31;01 # ORPHAN
|
||||||
|
# tw 01;34 # STICKY_OTHER_WRITABLE
|
||||||
|
# ow 01;34 # OTHER_WRITABLE
|
||||||
|
# st 01;34 # STICKY
|
||||||
|
# di 01;34 # DIR
|
||||||
|
# pi 33 # FIFO
|
||||||
|
# so 01;35 # SOCK
|
||||||
|
# bd 33;01 # BLK
|
||||||
|
# cd 33;01 # CHR
|
||||||
|
# su 01;32 # SETUID
|
||||||
|
# sg 01;32 # SETGID
|
||||||
|
# ex 01;32 # EXEC
|
||||||
|
# fi 00 # FILE
|
||||||
|
|
||||||
|
# file types (with matching order)
|
||||||
|
ln 01;36 # LINK
|
||||||
|
or 31;01 # ORPHAN
|
||||||
|
tw 34 # STICKY_OTHER_WRITABLE
|
||||||
|
ow 34 # OTHER_WRITABLE
|
||||||
|
st 01;34 # STICKY
|
||||||
|
di 01;34 # DIR
|
||||||
|
pi 33 # FIFO
|
||||||
|
so 01;35 # SOCK
|
||||||
|
bd 33;01 # BLK
|
||||||
|
cd 33;01 # CHR
|
||||||
|
su 01;32 # SETUID
|
||||||
|
sg 01;32 # SETGID
|
||||||
|
ex 01;32 # EXEC
|
||||||
|
fi 00 # FILE
|
||||||
|
|
||||||
|
# archives or compressed (dircolors defaults)
|
||||||
|
*.tar 01;31
|
||||||
|
*.tgz 01;31
|
||||||
|
*.arc 01;31
|
||||||
|
*.arj 01;31
|
||||||
|
*.taz 01;31
|
||||||
|
*.lha 01;31
|
||||||
|
*.lz4 01;31
|
||||||
|
*.lzh 01;31
|
||||||
|
*.lzma 01;31
|
||||||
|
*.tlz 01;31
|
||||||
|
*.txz 01;31
|
||||||
|
*.tzo 01;31
|
||||||
|
*.t7z 01;31
|
||||||
|
*.zip 01;31
|
||||||
|
*.z 01;31
|
||||||
|
*.dz 01;31
|
||||||
|
*.gz 01;31
|
||||||
|
*.lrz 01;31
|
||||||
|
*.lz 01;31
|
||||||
|
*.lzo 01;31
|
||||||
|
*.xz 01;31
|
||||||
|
*.zst 01;31
|
||||||
|
*.tzst 01;31
|
||||||
|
*.bz2 01;31
|
||||||
|
*.bz 01;31
|
||||||
|
*.tbz 01;31
|
||||||
|
*.tbz2 01;31
|
||||||
|
*.tz 01;31
|
||||||
|
*.deb 01;31
|
||||||
|
*.rpm 01;31
|
||||||
|
*.jar 01;31
|
||||||
|
*.war 01;31
|
||||||
|
*.ear 01;31
|
||||||
|
*.sar 01;31
|
||||||
|
*.rar 01;31
|
||||||
|
*.alz 01;31
|
||||||
|
*.ace 01;31
|
||||||
|
*.zoo 01;31
|
||||||
|
*.cpio 01;31
|
||||||
|
*.7z 01;31
|
||||||
|
*.rz 01;31
|
||||||
|
*.cab 01;31
|
||||||
|
*.wim 01;31
|
||||||
|
*.swm 01;31
|
||||||
|
*.dwm 01;31
|
||||||
|
*.esd 01;31
|
||||||
|
|
||||||
|
# image formats (dircolors defaults)
|
||||||
|
*.jpg 01;35
|
||||||
|
*.jpeg 01;35
|
||||||
|
*.mjpg 01;35
|
||||||
|
*.mjpeg 01;35
|
||||||
|
*.gif 01;35
|
||||||
|
*.bmp 01;35
|
||||||
|
*.pbm 01;35
|
||||||
|
*.pgm 01;35
|
||||||
|
*.ppm 01;35
|
||||||
|
*.tga 01;35
|
||||||
|
*.xbm 01;35
|
||||||
|
*.xpm 01;35
|
||||||
|
*.tif 01;35
|
||||||
|
*.tiff 01;35
|
||||||
|
*.png 01;35
|
||||||
|
*.svg 01;35
|
||||||
|
*.svgz 01;35
|
||||||
|
*.mng 01;35
|
||||||
|
*.pcx 01;35
|
||||||
|
*.mov 01;35
|
||||||
|
*.mpg 01;35
|
||||||
|
*.mpeg 01;35
|
||||||
|
*.m2v 01;35
|
||||||
|
*.mkv 01;35
|
||||||
|
*.webm 01;35
|
||||||
|
*.ogm 01;35
|
||||||
|
*.mp4 01;35
|
||||||
|
*.m4v 01;35
|
||||||
|
*.mp4v 01;35
|
||||||
|
*.vob 01;35
|
||||||
|
*.qt 01;35
|
||||||
|
*.nuv 01;35
|
||||||
|
*.wmv 01;35
|
||||||
|
*.asf 01;35
|
||||||
|
*.rm 01;35
|
||||||
|
*.rmvb 01;35
|
||||||
|
*.flc 01;35
|
||||||
|
*.avi 01;35
|
||||||
|
*.fli 01;35
|
||||||
|
*.flv 01;35
|
||||||
|
*.gl 01;35
|
||||||
|
*.dl 01;35
|
||||||
|
*.xcf 01;35
|
||||||
|
*.xwd 01;35
|
||||||
|
*.yuv 01;35
|
||||||
|
*.cgm 01;35
|
||||||
|
*.emf 01;35
|
||||||
|
*.ogv 01;35
|
||||||
|
*.ogx 01;35
|
||||||
|
|
||||||
|
# audio formats (dircolors defaults)
|
||||||
|
*.aac 00;36
|
||||||
|
*.au 00;36
|
||||||
|
*.flac 00;36
|
||||||
|
*.m4a 00;36
|
||||||
|
*.mid 00;36
|
||||||
|
*.midi 00;36
|
||||||
|
*.mka 00;36
|
||||||
|
*.mp3 00;36
|
||||||
|
*.mpc 00;36
|
||||||
|
*.ogg 00;36
|
||||||
|
*.ra 00;36
|
||||||
|
*.wav 00;36
|
||||||
|
*.oga 00;36
|
||||||
|
*.opus 00;36
|
||||||
|
*.spx 00;36
|
||||||
|
*.xspf 00;36
|
|
@ -0,0 +1,357 @@
|
||||||
|
# vim:ft=conf
|
||||||
|
|
||||||
|
# These examples require Nerd Fonts or a compatible font to be used.
|
||||||
|
# See https://www.nerdfonts.com for more information.
|
||||||
|
|
||||||
|
# default values from lf (with matching order)
|
||||||
|
# ln l # LINK
|
||||||
|
# or l # ORPHAN
|
||||||
|
# tw t # STICKY_OTHER_WRITABLE
|
||||||
|
# ow d # OTHER_WRITABLE
|
||||||
|
# st t # STICKY
|
||||||
|
# di d # DIR
|
||||||
|
# pi p # FIFO
|
||||||
|
# so s # SOCK
|
||||||
|
# bd b # BLK
|
||||||
|
# cd c # CHR
|
||||||
|
# su u # SETUID
|
||||||
|
# sg g # SETGID
|
||||||
|
# ex x # EXEC
|
||||||
|
# fi - # FILE
|
||||||
|
|
||||||
|
# file types (with matching order)
|
||||||
|
ln # LINK
|
||||||
|
or # ORPHAN
|
||||||
|
tw t # STICKY_OTHER_WRITABLE
|
||||||
|
ow # OTHER_WRITABLE
|
||||||
|
st t # STICKY
|
||||||
|
di # DIR
|
||||||
|
pi p # FIFO
|
||||||
|
so s # SOCK
|
||||||
|
bd b # BLK
|
||||||
|
cd c # CHR
|
||||||
|
su u # SETUID
|
||||||
|
sg g # SETGID
|
||||||
|
ex # EXEC
|
||||||
|
fi # FILE
|
||||||
|
|
||||||
|
# file extensions (vim-devicons)
|
||||||
|
*.styl
|
||||||
|
*.sass
|
||||||
|
*.scss
|
||||||
|
*.htm
|
||||||
|
*.html
|
||||||
|
*.slim
|
||||||
|
*.haml
|
||||||
|
*.ejs
|
||||||
|
*.css
|
||||||
|
*.less
|
||||||
|
*.md
|
||||||
|
*.mdx
|
||||||
|
*.markdown
|
||||||
|
*.rmd
|
||||||
|
*.json
|
||||||
|
*.webmanifest
|
||||||
|
*.js
|
||||||
|
*.mjs
|
||||||
|
*.jsx
|
||||||
|
*.rb
|
||||||
|
*.gemspec
|
||||||
|
*.rake
|
||||||
|
*.php
|
||||||
|
*.py
|
||||||
|
*.pyc
|
||||||
|
*.pyo
|
||||||
|
*.pyd
|
||||||
|
*.coffee
|
||||||
|
*.mustache
|
||||||
|
*.hbs
|
||||||
|
*.conf
|
||||||
|
*.ini
|
||||||
|
*.yml
|
||||||
|
*.yaml
|
||||||
|
*.toml
|
||||||
|
*.bat
|
||||||
|
*.mk
|
||||||
|
*.jpg
|
||||||
|
*.jpeg
|
||||||
|
*.bmp
|
||||||
|
*.png
|
||||||
|
*.webp
|
||||||
|
*.gif
|
||||||
|
*.ico
|
||||||
|
*.twig
|
||||||
|
*.cpp
|
||||||
|
*.c++
|
||||||
|
*.cxx
|
||||||
|
*.cc
|
||||||
|
*.cp
|
||||||
|
*.c
|
||||||
|
*.cs
|
||||||
|
*.h
|
||||||
|
*.hh
|
||||||
|
*.hpp
|
||||||
|
*.hxx
|
||||||
|
*.hs
|
||||||
|
*.lhs
|
||||||
|
*.nix
|
||||||
|
*.lua
|
||||||
|
*.java
|
||||||
|
*.sh
|
||||||
|
*.fish
|
||||||
|
*.bash
|
||||||
|
*.zsh
|
||||||
|
*.ksh
|
||||||
|
*.csh
|
||||||
|
*.awk
|
||||||
|
*.ps1
|
||||||
|
*.ml λ
|
||||||
|
*.mli λ
|
||||||
|
*.diff
|
||||||
|
*.db
|
||||||
|
*.sql
|
||||||
|
*.dump
|
||||||
|
*.clj
|
||||||
|
*.cljc
|
||||||
|
*.cljs
|
||||||
|
*.edn
|
||||||
|
*.scala
|
||||||
|
*.go
|
||||||
|
*.dart
|
||||||
|
*.xul
|
||||||
|
*.sln
|
||||||
|
*.suo
|
||||||
|
*.pl
|
||||||
|
*.pm
|
||||||
|
*.t
|
||||||
|
*.rss
|
||||||
|
'*.f#'
|
||||||
|
*.fsscript
|
||||||
|
*.fsx
|
||||||
|
*.fs
|
||||||
|
*.fsi
|
||||||
|
*.rs
|
||||||
|
*.rlib
|
||||||
|
*.d
|
||||||
|
*.erl
|
||||||
|
*.hrl
|
||||||
|
*.ex
|
||||||
|
*.exs
|
||||||
|
*.eex
|
||||||
|
*.leex
|
||||||
|
*.heex
|
||||||
|
*.vim
|
||||||
|
*.ai
|
||||||
|
*.psd
|
||||||
|
*.psb
|
||||||
|
*.ts
|
||||||
|
*.tsx
|
||||||
|
*.jl
|
||||||
|
*.pp
|
||||||
|
*.vue
|
||||||
|
*.elm
|
||||||
|
*.swift
|
||||||
|
*.xcplayground
|
||||||
|
*.tex ﭨ
|
||||||
|
*.r ﳒ
|
||||||
|
*.rproj 鉶
|
||||||
|
*.sol ﲹ
|
||||||
|
*.pem
|
||||||
|
|
||||||
|
# file names (vim-devicons) (case-insensitive not supported in lf)
|
||||||
|
*gruntfile.coffee
|
||||||
|
*gruntfile.js
|
||||||
|
*gruntfile.ls
|
||||||
|
*gulpfile.coffee
|
||||||
|
*gulpfile.js
|
||||||
|
*gulpfile.ls
|
||||||
|
*mix.lock
|
||||||
|
*dropbox
|
||||||
|
*.ds_store
|
||||||
|
*.gitconfig
|
||||||
|
*.gitignore
|
||||||
|
*.gitattributes
|
||||||
|
*.gitlab-ci.yml
|
||||||
|
*.bashrc
|
||||||
|
*.zshrc
|
||||||
|
*.zshenv
|
||||||
|
*.zprofile
|
||||||
|
*.vimrc
|
||||||
|
*.gvimrc
|
||||||
|
*_vimrc
|
||||||
|
*_gvimrc
|
||||||
|
*.bashprofile
|
||||||
|
*favicon.ico
|
||||||
|
*license
|
||||||
|
*node_modules
|
||||||
|
*react.jsx
|
||||||
|
*procfile
|
||||||
|
*dockerfile
|
||||||
|
*docker-compose.yml
|
||||||
|
*rakefile
|
||||||
|
*config.ru
|
||||||
|
*gemfile
|
||||||
|
*makefile
|
||||||
|
*cmakelists.txt
|
||||||
|
*robots.txt ﮧ
|
||||||
|
|
||||||
|
# file names (case-sensitive adaptations)
|
||||||
|
*Gruntfile.coffee
|
||||||
|
*Gruntfile.js
|
||||||
|
*Gruntfile.ls
|
||||||
|
*Gulpfile.coffee
|
||||||
|
*Gulpfile.js
|
||||||
|
*Gulpfile.ls
|
||||||
|
*Dropbox
|
||||||
|
*.DS_Store
|
||||||
|
*LICENSE
|
||||||
|
*React.jsx
|
||||||
|
*Procfile
|
||||||
|
*Dockerfile
|
||||||
|
*Docker-compose.yml
|
||||||
|
*Rakefile
|
||||||
|
*Gemfile
|
||||||
|
*Makefile
|
||||||
|
*CMakeLists.txt
|
||||||
|
|
||||||
|
# file patterns (vim-devicons) (patterns not supported in lf)
|
||||||
|
# .*jquery.*\.js$
|
||||||
|
# .*angular.*\.js$
|
||||||
|
# .*backbone.*\.js$
|
||||||
|
# .*require.*\.js$
|
||||||
|
# .*materialize.*\.js$
|
||||||
|
# .*materialize.*\.css$
|
||||||
|
# .*mootools.*\.js$
|
||||||
|
# .*vimrc.*
|
||||||
|
# Vagrantfile$
|
||||||
|
|
||||||
|
# file patterns (file name adaptations)
|
||||||
|
*jquery.min.js
|
||||||
|
*angular.min.js
|
||||||
|
*backbone.min.js
|
||||||
|
*require.min.js
|
||||||
|
*materialize.min.js
|
||||||
|
*materialize.min.css
|
||||||
|
*mootools.min.js
|
||||||
|
*vimrc
|
||||||
|
Vagrantfile
|
||||||
|
|
||||||
|
# archives or compressed (extensions from dircolors defaults)
|
||||||
|
*.tar
|
||||||
|
*.tgz
|
||||||
|
*.arc
|
||||||
|
*.arj
|
||||||
|
*.taz
|
||||||
|
*.lha
|
||||||
|
*.lz4
|
||||||
|
*.lzh
|
||||||
|
*.lzma
|
||||||
|
*.tlz
|
||||||
|
*.txz
|
||||||
|
*.tzo
|
||||||
|
*.t7z
|
||||||
|
*.zip
|
||||||
|
*.z
|
||||||
|
*.dz
|
||||||
|
*.gz
|
||||||
|
*.lrz
|
||||||
|
*.lz
|
||||||
|
*.lzo
|
||||||
|
*.xz
|
||||||
|
*.zst
|
||||||
|
*.tzst
|
||||||
|
*.bz2
|
||||||
|
*.bz
|
||||||
|
*.tbz
|
||||||
|
*.tbz2
|
||||||
|
*.tz
|
||||||
|
*.deb
|
||||||
|
*.rpm
|
||||||
|
*.jar
|
||||||
|
*.war
|
||||||
|
*.ear
|
||||||
|
*.sar
|
||||||
|
*.rar
|
||||||
|
*.alz
|
||||||
|
*.ace
|
||||||
|
*.zoo
|
||||||
|
*.cpio
|
||||||
|
*.7z
|
||||||
|
*.rz
|
||||||
|
*.cab
|
||||||
|
*.wim
|
||||||
|
*.swm
|
||||||
|
*.dwm
|
||||||
|
*.esd
|
||||||
|
|
||||||
|
# image formats (extensions from dircolors defaults)
|
||||||
|
*.jpg
|
||||||
|
*.jpeg
|
||||||
|
*.mjpg
|
||||||
|
*.mjpeg
|
||||||
|
*.gif
|
||||||
|
*.bmp
|
||||||
|
*.pbm
|
||||||
|
*.pgm
|
||||||
|
*.ppm
|
||||||
|
*.tga
|
||||||
|
*.xbm
|
||||||
|
*.xpm
|
||||||
|
*.tif
|
||||||
|
*.tiff
|
||||||
|
*.png
|
||||||
|
*.svg
|
||||||
|
*.svgz
|
||||||
|
*.mng
|
||||||
|
*.pcx
|
||||||
|
*.mov
|
||||||
|
*.mpg
|
||||||
|
*.mpeg
|
||||||
|
*.m2v
|
||||||
|
*.mkv
|
||||||
|
*.webm
|
||||||
|
*.ogm
|
||||||
|
*.mp4
|
||||||
|
*.m4v
|
||||||
|
*.mp4v
|
||||||
|
*.vob
|
||||||
|
*.qt
|
||||||
|
*.nuv
|
||||||
|
*.wmv
|
||||||
|
*.asf
|
||||||
|
*.rm
|
||||||
|
*.rmvb
|
||||||
|
*.flc
|
||||||
|
*.avi
|
||||||
|
*.fli
|
||||||
|
*.flv
|
||||||
|
*.gl
|
||||||
|
*.dl
|
||||||
|
*.xcf
|
||||||
|
*.xwd
|
||||||
|
*.yuv
|
||||||
|
*.cgm
|
||||||
|
*.emf
|
||||||
|
*.ogv
|
||||||
|
*.ogx
|
||||||
|
|
||||||
|
# audio formats (extensions from dircolors defaults)
|
||||||
|
*.aac
|
||||||
|
*.au
|
||||||
|
*.flac
|
||||||
|
*.m4a
|
||||||
|
*.mid
|
||||||
|
*.midi
|
||||||
|
*.mka
|
||||||
|
*.mp3
|
||||||
|
*.mpc
|
||||||
|
*.ogg
|
||||||
|
*.ra
|
||||||
|
*.wav
|
||||||
|
*.oga
|
||||||
|
*.opus
|
||||||
|
*.spx
|
||||||
|
*.xspf
|
||||||
|
|
||||||
|
# other formats
|
||||||
|
*.pdf
|
|
@ -0,0 +1,228 @@
|
||||||
|
set drawbox
|
||||||
|
set icons true
|
||||||
|
set ignorecase true
|
||||||
|
|
||||||
|
# interpreter for shell commands
|
||||||
|
set shell sh
|
||||||
|
set shellopts '-eu'
|
||||||
|
|
||||||
|
set previewer ctpv
|
||||||
|
set cleaner ctpvclear
|
||||||
|
&ctpv -d -s $id >> ~/temp/lf_ctpv.log
|
||||||
|
&ctpvquit $id >> ~/temp/lf_ctpvquit.log
|
||||||
|
|
||||||
|
cmd edit-config ${{
|
||||||
|
$EDITOR ~/.config/lf/lfrc
|
||||||
|
lf -remote "send $id source ~/.config/lf/lfrc"
|
||||||
|
}}
|
||||||
|
|
||||||
|
cmd open &{{
|
||||||
|
case $(file --mime-type "$f" -bL) in
|
||||||
|
text/*|application/json) lf -remote "send $id \$$EDITOR \"$fx\"";;
|
||||||
|
image/*) swayimg -f "$f";;
|
||||||
|
audio/*) lf -remote "send $id \$mpv --audio-display=no \"$fx\" && clear";;
|
||||||
|
video/*) mpv "$f";;
|
||||||
|
application/pdf|application/epub) zathura "$f";;
|
||||||
|
*) xdg-open "$f";;
|
||||||
|
esac
|
||||||
|
}}
|
||||||
|
|
||||||
|
cmd setwallpaper %swww img "$f" --transition-type wipe --transition-fps 60
|
||||||
|
|
||||||
|
cmd fzf_jump ${{
|
||||||
|
res="$(find . | fzf --reverse --header='Jump to location' | sed 's/\\/\\\\/g;s/"/\\"/g')"
|
||||||
|
if [ -d "$res" ] ; then
|
||||||
|
cmd="cd"
|
||||||
|
elif [ -f "$res" ] ; then
|
||||||
|
cmd="select"
|
||||||
|
else
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
lf -remote "send $id $cmd \"$res\""
|
||||||
|
}}
|
||||||
|
|
||||||
|
cmd rg_search ${{
|
||||||
|
res="$( \
|
||||||
|
RG_PREFIX="rg --column --line-number --no-heading --color=always \
|
||||||
|
--smart-case "
|
||||||
|
FZF_DEFAULT_COMMAND="$RG_PREFIX ''" \
|
||||||
|
fzf --bind "change:reload:$RG_PREFIX {q} || true" \
|
||||||
|
--ansi --layout=reverse --header 'Search in files' \
|
||||||
|
| cut -d':' -f1
|
||||||
|
)"
|
||||||
|
[ ! -z "$res" ] && lf -remote "send $id select \"$res\""
|
||||||
|
}}
|
||||||
|
|
||||||
|
cmd unarchive ${{
|
||||||
|
set -f
|
||||||
|
case $f in
|
||||||
|
*.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf "$f";;
|
||||||
|
*.tar.gz|*.tgz) tar xzvf "$f";;
|
||||||
|
*.tar.xz|*.txz) tar xJvf "$f";;
|
||||||
|
*.zip) unzip "$f";;
|
||||||
|
*.rar) unrar x "$f";;
|
||||||
|
*.7z) 7z x "$f";;
|
||||||
|
esac
|
||||||
|
}}
|
||||||
|
|
||||||
|
cmd tar ${{
|
||||||
|
set -f
|
||||||
|
mkdir $1
|
||||||
|
cp -r $fx $1
|
||||||
|
tar czf $1.tar.gz $1
|
||||||
|
rm -rf $1
|
||||||
|
}}
|
||||||
|
|
||||||
|
cmd zip ${{
|
||||||
|
set -f
|
||||||
|
mkdir $1
|
||||||
|
cp -r $fx $1
|
||||||
|
zip -r $1.zip $1
|
||||||
|
rm -rf $1
|
||||||
|
}}
|
||||||
|
|
||||||
|
|
||||||
|
# Trash bindings
|
||||||
|
cmd move-to-trash ${{
|
||||||
|
files=$(printf "$fx" | tr '\n' ';')
|
||||||
|
while [ "$files" ]; do
|
||||||
|
file=${files%%;*}
|
||||||
|
|
||||||
|
trash-put "$(basename "$file")"
|
||||||
|
|
||||||
|
if [ "$files" = "$file" ]; then
|
||||||
|
files=''
|
||||||
|
else
|
||||||
|
files="${files#*;}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}}
|
||||||
|
|
||||||
|
cmd delete-from-trash ${{
|
||||||
|
files=$(printf "$fx" | tr '\n' ';')
|
||||||
|
while [ "$files" ]; do
|
||||||
|
file=${files%%;*}
|
||||||
|
|
||||||
|
if [[ "$(pwd)" == "$HOME/.local/share/Trash/files" ]]; then
|
||||||
|
rm -rf "$file"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$files" = "$file" ]; then
|
||||||
|
files=''
|
||||||
|
else
|
||||||
|
files="${files#*;}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}}
|
||||||
|
|
||||||
|
# cmd trash ${{
|
||||||
|
# files=$(printf "$fx" | tr '\n' ';')
|
||||||
|
# while [ "$files" ]; do
|
||||||
|
# file=${files%%;*}
|
||||||
|
# if [[ $PWD == "$HOME/.local/share/Trash/files" ]]; then
|
||||||
|
# rm -rf "$file"
|
||||||
|
# else
|
||||||
|
# trash-put "$(basename "$filename")"
|
||||||
|
# fi
|
||||||
|
#
|
||||||
|
# if [ "$files" = "$file" ]; then
|
||||||
|
# files=''
|
||||||
|
# else
|
||||||
|
# files="${files#*;}"
|
||||||
|
# fi
|
||||||
|
# done
|
||||||
|
# }}
|
||||||
|
|
||||||
|
# lfrc
|
||||||
|
|
||||||
|
|
||||||
|
cmd trash-restore-list ${{
|
||||||
|
ids="$(echo -ne '\n' | \
|
||||||
|
trash-restore | \
|
||||||
|
awk '$1 ~ /^[0-9]+/ {print $0}' | \
|
||||||
|
fzf --multi | \
|
||||||
|
awk '{print $1}' | \
|
||||||
|
sed -z 's/\n/,/g;s/,$/\n/')"
|
||||||
|
echo $ids | trash-restore
|
||||||
|
clear
|
||||||
|
}}
|
||||||
|
|
||||||
|
cmd restore-from-trash ${{
|
||||||
|
files=$(printf "$fx" | tr '\n' ';')
|
||||||
|
while [ "$files" ]; do
|
||||||
|
file=${files%%;*}
|
||||||
|
|
||||||
|
Id="$(echo -ne '\n'|
|
||||||
|
trash-restore ~ |
|
||||||
|
grep $(basename "$file") |
|
||||||
|
awk '{print $1}'
|
||||||
|
)"
|
||||||
|
|
||||||
|
echo $Id | trash-restore ~
|
||||||
|
|
||||||
|
if [ "$files" = "$file" ]; then
|
||||||
|
files=''
|
||||||
|
else
|
||||||
|
files="${files#*;}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}}
|
||||||
|
|
||||||
|
map m
|
||||||
|
map o
|
||||||
|
map n
|
||||||
|
map "'"
|
||||||
|
map '"'
|
||||||
|
map d
|
||||||
|
map e
|
||||||
|
map f
|
||||||
|
map t
|
||||||
|
map u
|
||||||
|
map a
|
||||||
|
|
||||||
|
map ua unarchive
|
||||||
|
|
||||||
|
map . set hidden!
|
||||||
|
|
||||||
|
map md push %mkdir<space>
|
||||||
|
map gp jump-prev
|
||||||
|
|
||||||
|
map y copy
|
||||||
|
map p paste
|
||||||
|
map x cut
|
||||||
|
|
||||||
|
map <enter> open
|
||||||
|
|
||||||
|
map f :fzf_jump
|
||||||
|
map gf :rg_search
|
||||||
|
|
||||||
|
map C edit-config
|
||||||
|
map bg setwallpaper
|
||||||
|
|
||||||
|
map mt move-to-trash
|
||||||
|
map dt delete-from-trash
|
||||||
|
map tr restore-from-trash
|
||||||
|
map trl trash-restore-list
|
||||||
|
|
||||||
|
|
||||||
|
map R reload
|
||||||
|
|
||||||
|
map gh cd ~
|
||||||
|
map gd cd ~/Downloads
|
||||||
|
map gD cd ~/Documents
|
||||||
|
|
||||||
|
map gc cd ~/.config
|
||||||
|
map gr cd ~/repos
|
||||||
|
|
||||||
|
map gC cd ~/code
|
||||||
|
|
||||||
|
map gp cd ~/Pictures
|
||||||
|
map gw cd ~/Pictures/wallpapers
|
||||||
|
map gs cd ~/Pictures/screenshots
|
||||||
|
|
||||||
|
map gv cd ~/Videos
|
||||||
|
map gm cd ~/Music
|
||||||
|
map gA cd ~/Anime
|
||||||
|
|
||||||
|
map gt cd ~/.local/share/Trash/files
|
||||||
|
map tc %rm -rf ~/.local/share/Trash/files/*
|
|
@ -0,0 +1,134 @@
|
||||||
|
{
|
||||||
|
"layer": "top", // Waybar at top layer
|
||||||
|
"position": "top",
|
||||||
|
|
||||||
|
"height": 39,
|
||||||
|
"width": 1895,
|
||||||
|
"spacing": 3,
|
||||||
|
|
||||||
|
"modules-left": ["hyprland/window", "pulseaudio","tray"],
|
||||||
|
"modules-center": ["wlr/workspaces"],
|
||||||
|
"modules-right": ["custom/cmus", "custom/weather", "custom/language", "clock", "battery"],
|
||||||
|
|
||||||
|
"wlr/workspaces": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
||||||
|
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
||||||
|
"on-click": "activate",
|
||||||
|
"all-outputs": false,
|
||||||
|
"format": "{icon}",
|
||||||
|
|
||||||
|
// "format-icons": {
|
||||||
|
// "1": "",
|
||||||
|
// "2": "",
|
||||||
|
// "3": "",
|
||||||
|
// "4": "",
|
||||||
|
// "5": "",
|
||||||
|
// "6": "",
|
||||||
|
// "urgent": "",
|
||||||
|
// "focused": "",
|
||||||
|
// "default": ""
|
||||||
|
//}
|
||||||
|
|
||||||
|
"format-icons": {
|
||||||
|
"1": "",
|
||||||
|
"2": "",
|
||||||
|
"3": "",
|
||||||
|
"4": "",
|
||||||
|
"5": "",
|
||||||
|
"6": "",
|
||||||
|
"7": "",
|
||||||
|
"8": "",
|
||||||
|
"9": "",
|
||||||
|
"focused": " ",
|
||||||
|
"urgent": " ",
|
||||||
|
//"default": " ",
|
||||||
|
},
|
||||||
|
"icon-size": 14
|
||||||
|
},
|
||||||
|
|
||||||
|
"sway/mode": {
|
||||||
|
"format": "<span style=\"italic\">{}</span>"
|
||||||
|
},
|
||||||
|
|
||||||
|
"tray": {
|
||||||
|
"spacing": 10,
|
||||||
|
"icon-size": 15
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock": {
|
||||||
|
"format": "{:%a, %d/%m/%Y %I:%M %p}",
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/cmus": {
|
||||||
|
"format": " {}",
|
||||||
|
"max-length": 45,
|
||||||
|
"interval": 10,
|
||||||
|
"exec": "cmus-remote -C \"format_print '%F'\"",
|
||||||
|
"exec-if": "pgrep cmus",
|
||||||
|
"on-click": "cmus-remote -u",
|
||||||
|
"on-scroll-up": "cmus-remote --next",
|
||||||
|
"on-scroll-down": "cmus-remote --prev",
|
||||||
|
"escape": true
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/weather": {
|
||||||
|
"format": "{}",
|
||||||
|
"exec": "~/.config/waybar/openweathermap-simple.sh",
|
||||||
|
// "exec": "curl 'https://wttr.in/?format=1'",
|
||||||
|
"interval": 3600
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/window": {
|
||||||
|
"format": "{}",
|
||||||
|
"separate-outputs": false,
|
||||||
|
"max-length": 20
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/language": {
|
||||||
|
"exec": "~/.config/hypr/scripts/kb_hypr",
|
||||||
|
"interval": 1,
|
||||||
|
"format": " {}",
|
||||||
|
},
|
||||||
|
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
"good": 60,
|
||||||
|
"warning": 40,
|
||||||
|
"critical": 30
|
||||||
|
},
|
||||||
|
"format": "{icon} {capacity}%",
|
||||||
|
"format-charging": " {capacity}%",
|
||||||
|
"format-plugged": " {capacity}%",
|
||||||
|
"format-full": " full charged",
|
||||||
|
"format-warning": " {capacity}%",
|
||||||
|
"format-critical": " {capacity}%",
|
||||||
|
"format-alt": "{time} {icon}",
|
||||||
|
"format-icons": ["", "", "", "", ""]
|
||||||
|
},
|
||||||
|
|
||||||
|
"bluetooth": {
|
||||||
|
// "controller": "controller1", // specify the alias of the controller if there are more than 1 on the system
|
||||||
|
"format": " {status}",
|
||||||
|
"format-disabled": "", // an empty format will hide the module
|
||||||
|
"format-connected": " {device_alias} connected",
|
||||||
|
"tooltip-format": "{controller_alias}\t{controller_address}",
|
||||||
|
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{device_enumerate}",
|
||||||
|
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}"
|
||||||
|
},
|
||||||
|
|
||||||
|
"pulseaudio": {
|
||||||
|
"scroll-step": 1,
|
||||||
|
"format": "{volume}% {icon}",
|
||||||
|
"format-bluetooth": "{volume}% {icon} ",
|
||||||
|
"format-bluetooth-muted": " {icon} ",
|
||||||
|
"format-muted": "",
|
||||||
|
"format-source": "",
|
||||||
|
"format-source-muted": "",
|
||||||
|
"format-icons": {
|
||||||
|
"headphone": "",
|
||||||
|
"default": ["", "", ""]
|
||||||
|
},
|
||||||
|
"on-click": "pkill pulsemixer; foot -e pulsemixer"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
@define-color background #2e3440;
|
||||||
|
@define-color foreground #eceff4;
|
||||||
|
@define-color white #e5e9f0;
|
||||||
|
@define-color black #3b4252;
|
||||||
|
@define-color red #bf616a;
|
||||||
|
@define-color blue #88c0d0;
|
||||||
|
@define-color green #a3be8c;
|
||||||
|
@define-color yellow #ebcb8b;
|
||||||
|
@define-color magenta #b48ead;
|
||||||
|
@define-color cyan #88c0d0;
|
||||||
|
@define-color orange #d08770;
|
|
@ -0,0 +1,75 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
get_icon() {
|
||||||
|
case $1 in
|
||||||
|
# Icons for weather-icons
|
||||||
|
01d) icon="";;
|
||||||
|
01n) icon="";;
|
||||||
|
02d) icon="";;
|
||||||
|
02n) icon="";;
|
||||||
|
03*) icon="";;
|
||||||
|
04*) icon="";;
|
||||||
|
09d) icon="";;
|
||||||
|
09n) icon="";;
|
||||||
|
10d) icon="";;
|
||||||
|
10n) icon="";;
|
||||||
|
11d) icon="";;
|
||||||
|
11n) icon="";;
|
||||||
|
13d) icon="";;
|
||||||
|
13n) icon="";;
|
||||||
|
50d) icon="";;
|
||||||
|
50n) icon="";;
|
||||||
|
*) icon="";
|
||||||
|
|
||||||
|
# Icons for Font Awesome 5 Pro
|
||||||
|
#01d) icon="";;
|
||||||
|
#01n) icon="";;
|
||||||
|
#02d) icon="";;
|
||||||
|
#02n) icon="";;
|
||||||
|
#03d) icon="";;
|
||||||
|
#03n) icon="";;
|
||||||
|
#04*) icon="";;
|
||||||
|
#09*) icon="";;
|
||||||
|
#10d) icon="";;
|
||||||
|
#10n) icon="";;
|
||||||
|
#11*) icon="";;
|
||||||
|
#13*) icon="";;
|
||||||
|
#50*) icon="";;
|
||||||
|
#*) icon="";
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo $icon
|
||||||
|
}
|
||||||
|
|
||||||
|
KEY="e434b5435a979de6e155570590bee89b"
|
||||||
|
CITY="Novosibirsk"
|
||||||
|
UNITS="metric"
|
||||||
|
SYMBOL="°"
|
||||||
|
|
||||||
|
API="https://api.openweathermap.org/data/2.5"
|
||||||
|
|
||||||
|
if [ -n "$CITY" ]; then
|
||||||
|
if [ "$CITY" -eq "$CITY" ] 2>/dev/null; then
|
||||||
|
CITY_PARAM="id=$CITY"
|
||||||
|
else
|
||||||
|
CITY_PARAM="q=$CITY"
|
||||||
|
fi
|
||||||
|
|
||||||
|
weather=$(curl -sf "$API/weather?appid=$KEY&$CITY_PARAM&units=$UNITS")
|
||||||
|
else
|
||||||
|
location=$(curl -sf https://location.services.mozilla.com/v1/geolocate?key=geoclue)
|
||||||
|
|
||||||
|
if [ -n "$location" ]; then
|
||||||
|
location_lat="$(echo "$location" | jq '.location.lat')"
|
||||||
|
location_lon="$(echo "$location" | jq '.location.lng')"
|
||||||
|
|
||||||
|
weather=$(curl -sf "$API/weather?appid=$KEY&lat=$location_lat&lon=$location_lon&units=$UNITS")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$weather" ]; then
|
||||||
|
weather_temp=$(echo "$weather" | jq ".main.temp" | cut -d "." -f 1)
|
||||||
|
weather_icon=$(echo "$weather" | jq -r ".weather[0].icon")
|
||||||
|
|
||||||
|
echo "$(get_icon "$weather_icon")" "$weather_temp$SYMBOL"
|
||||||
|
fi
|
|
@ -0,0 +1,194 @@
|
||||||
|
* {
|
||||||
|
/* `otf-font-awesome` is required to be installed for icons */
|
||||||
|
font-family: FontAwesome, JetBrainsMono, sans-serif;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "./nord.css";
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background-color: rgba(43, 48, 59, 0.0);
|
||||||
|
color: @foreground;
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: .5s;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-left > widget:first-child > #workspaces {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-right > widget:last-child > #workspaces {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
button {
|
||||||
|
margin: 0;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background;
|
||||||
|
color: #d8dee8;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:hover {
|
||||||
|
margin: 0;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background;
|
||||||
|
color: #d8dee8;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:focus {
|
||||||
|
margin: 0;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @background;
|
||||||
|
color: #d8dee8;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#workspaces {
|
||||||
|
padding: 0 15px 0 15px;
|
||||||
|
margin: 5px 0 5px 0;
|
||||||
|
background-color: @background;
|
||||||
|
color: @white;
|
||||||
|
border-radius: 14px;
|
||||||
|
/* margin: 0; */
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
padding: 0 5px;
|
||||||
|
margin: 5px;
|
||||||
|
/* background-color: ; */
|
||||||
|
color: #444b6a;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
background-color: @background;
|
||||||
|
color: @white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
background-color: #eb4d4b;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#tray {
|
||||||
|
padding: 7px;
|
||||||
|
margin: 5px 0 5px 0;
|
||||||
|
background-color: @background;
|
||||||
|
color: #d8dee8;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .passive {
|
||||||
|
-gtk-icon-effect: dim;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .needs-attention {
|
||||||
|
-gtk-icon-effect: highlight;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#custom-cmus {
|
||||||
|
padding: 0 15px 0 15px;
|
||||||
|
margin: 5px 0 5px 0;
|
||||||
|
background-color: @background;
|
||||||
|
color: #b9f27c;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#window {
|
||||||
|
padding: 0 15px 0 15px;
|
||||||
|
margin: 5px 0 5px 0;
|
||||||
|
background-color: @background;
|
||||||
|
color: @white;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
padding: 0 15px 0 15px;
|
||||||
|
margin: 5px 0 5px 0;
|
||||||
|
background-color: @background;
|
||||||
|
color: @white;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#mode,
|
||||||
|
#custom-weather {
|
||||||
|
padding: 0 15px 0 15px;
|
||||||
|
margin: 5px 0 5px 0;
|
||||||
|
background-color: @background;
|
||||||
|
color: #d8dee8;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: #ffffff;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
label:focus {
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-language {
|
||||||
|
background-color: @background;
|
||||||
|
padding: 0 15px 0 15px;
|
||||||
|
margin: 5px 0 5px 0;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#pulseaudio {
|
||||||
|
background-color: @background;
|
||||||
|
padding: 0 15px 0 15px;
|
||||||
|
margin: 5px 0 5px 0;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bluetooth {
|
||||||
|
background-color: @background;
|
||||||
|
padding: 0 15px 0 15px;
|
||||||
|
margin: 5px 0 5px 0;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
padding: 0 15px 0 15px;
|
||||||
|
margin: 5px 0 5px 0;
|
||||||
|
border-radius: 8px;
|
||||||
|
color: @blue;
|
||||||
|
background: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging, #battery.plugged {
|
||||||
|
color: @green;
|
||||||
|
background-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.warning:not(.charging) {
|
||||||
|
background-color: @background;
|
||||||
|
color: @orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
background-color: @barkground;
|
||||||
|
color: @red;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.5s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
Before Width: | Height: | Size: 623 KiB After Width: | Height: | Size: 623 KiB |