This commit is contained in:
2022-07-14 21:49:39 +02:00
parent 1379bf56ab
commit 11659a506f
28 changed files with 566 additions and 232 deletions

View File

@@ -46,6 +46,6 @@
}, },
"version": "0.3.5", "version": "0.3.5",
"emoteCacheDays": 7, "emoteCacheDays": 7,
"emoteCacheDate": "2020-09-09T20:57:49.233Z", "emoteCacheDate": "2020-10-24T10:21:17.385Z",
"bdcustomcss": "I2FwcC1tb3VudCAuY2hhdC0zYlJ4eHUgLm1lc3NhZ2VzV3JhcHBlci0zbFpEZlkgW2NsYXNzKj10aW1lc3RhbXBdLAojYXBwLW1vdW50IC5jaGF0LTNiUnh4dSAubWVzc2FnZXNXcmFwcGVyLTNsWkRmWSAubWVzc2FnZUNvbnRlbnQtMnFXV3hDLAojYXBwLW1vdW50IC5zaWRlYmFyLTJLOHBGaCAuY29udGFpbmVyLVBOa2ltYyAuY29udGFpbmVyRGVmYXVsdC0xWm5BRHEgLndyYXBwZXItMXVjalRkOm5vdCgubW9kZU11dGVkLTNvc3k3aik6bm90KC5tb2RlVW5yZWFkLTF6cEZkQSk6bm90KC5tb2RlU2VsZWN0ZWQtMXpBcEpfKSAuY29udGVudC0zYXRfQVUgLm5hbWUtM19Ec21nLAojYXBwLW1vdW50IC5zaWRlYmFyLTJLOHBGaCAuY29udGFpbmVyLVBOa2ltYyAuY29udGFpbmVyRGVmYXVsdC0xWm5BRHEgLndyYXBwZXItMXVjalRkOm5vdCgubW9kZU11dGVkLTNvc3k3aik6bm90KC5tb2RlVW5yZWFkLTF6cEZkQSk6bm90KC5tb2RlU2VsZWN0ZWQtMXpBcEpfKSAuY29udGVudC0zYXRfQVUgc3ZnLAojYXBwLW1vdW50IC5zaWRlYmFyLTJLOHBGaCAuY2hhbm5lbC0yUUQ5X08gewogICAgY29sb3I6ICM5M2ExYTEgIWltcG9ydGFudDsKfQoKI2FwcC1tb3VudCA6OnNlbGVjdGlvbiwKI2FwcC1tb3VudCAuY2hhdC0zYlJ4eHUgLm1lbnRpb24sCiNhcHAtbW91bnQgLm1lbWJlcnMtMTk5OHBCIC5tZW1iZXItMy1ZWFVlLnNlbGVjdGVkLWFYaFFSNiAucm9sZUNvbG9yLXJ6MnZNMCwKI2FwcC1tb3VudCAubWVtYmVycy0xOTk4cEIgLm1lbWJlci0zLVlYVWUgLmJvdFRhZy0yV1BKNzQsCiNhcHAtbW91bnQgLnNpZGViYXItMks4cEZoIC5jb250YWluZXItUE5raW1jIC5jb250YWluZXJEZWZhdWx0LTFabkFEcS5zZWxlY3RlZC0zN2pfaVUgLmNvbnRlbnQtM2F0X0FVIC5uYW1lLTNfRHNtZywKI2FwcC1tb3VudCAuc2lkZWJhci0ySzhwRmggLmNvbnRhaW5lci1QTmtpbWMgLmNvbnRhaW5lckRlZmF1bHQtMVpuQURxLnNlbGVjdGVkLTM3al9pVSAuY29udGVudC0zYXRfQVUgc3ZnLAojYXBwLW1vdW50IC50b29sdGlwQmxhY2stUFBHNDd6LCAjYXBwLW1vdW50IC50b29sdGlwQnJhbmQtZzAzTno4LCAjYXBwLW1vdW50IC50b29sdGlwUmVkLTgtOU5lUCwKI2FwcC1tb3VudCAuYnViYmxlLTN3ZTJkaSwgI2FwcC1tb3VudCAuc2lkZWJhci0ySzhwRmggLmNvbnRhaW5lci1QTmtpbWMgLmNvbnRhaW5lckRlZmF1bHQtMVpuQURxIC53cmFwcGVyLTF1Y2pUZDpub3QoLm1vZGVNdXRlZC0zb3N5N2opLm1vZGVVbnJlYWQtMXpwRmRBIC5jb250ZW50LTNhdF9BVSAubmFtZS0zX0RzbWcsCiNhcHAtbW91bnQgLnNpZGViYXItMks4cEZoIC5jb250YWluZXItUE5raW1jIC5jb250YWluZXJEZWZhdWx0LTFabkFEcSAud3JhcHBlci0xdWNqVGQ6bm90KC5tb2RlTXV0ZWQtM29zeTdqKS5tb2RlVW5yZWFkLTF6cEZkQSAuY29udGVudC0zYXRfQVUgc3ZnIHsKICAgIGNvbG9yOiAjMDAyYjM2ICFpbXBvcnRhbnQ7CiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50Owp9CgojYXBwLW1vdW50IC5zaWRlYmFyLTJLOHBGaCAuY29udGFpbmVyLVBOa2ltYyAuY29udGFpbmVyRGVmYXVsdC0xWm5BRHEgLndyYXBwZXItMXVjalRkOm5vdCgubW9kZU11dGVkLTNvc3k3aikubW9kZVVucmVhZC0xenBGZEEgLmNvbnRlbnQtM2F0X0FVIHsKICAgIGJhY2tncm91bmQ6ICMyNjhiZDIgIWltcG9ydGFudDsKfQoKI2FwcC1tb3VudCAuc2lkZWJhci0ySzhwRmggLmNoYW5uZWwtMlFEOV9PLnNlbGVjdGVkLWFYaFFSNiB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tQkctZ3JhZGllbnQtZGlyZWN0aW9uKSwgcmdiYSh2YXIoLS1CRy1ncmFkaWVudC1vbmUpLCAxKSAyMCUsIHJnYmEodmFyKC0tQkctZ3JhZGllbnQtdHdvKSwgMSkpOwogICAgY29sb3I6ICMwMDJiMzYgIWltcG9ydGFudDsKICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7Cgp9" "bdcustomcss": "I2FwcC1tb3VudCAuY2hhdC0zYlJ4eHUgLm1lc3NhZ2VzV3JhcHBlci0zbFpEZlkgW2NsYXNzKj10aW1lc3RhbXBdLAojYXBwLW1vdW50IC5jaGF0LTNiUnh4dSAubWVzc2FnZXNXcmFwcGVyLTNsWkRmWSAubWVzc2FnZUNvbnRlbnQtMnFXV3hDLAojYXBwLW1vdW50IC5zaWRlYmFyLTJLOHBGaCAuY29udGFpbmVyLVBOa2ltYyAuY29udGFpbmVyRGVmYXVsdC0xWm5BRHEgLndyYXBwZXItMXVjalRkOm5vdCgubW9kZU11dGVkLTNvc3k3aik6bm90KC5tb2RlVW5yZWFkLTF6cEZkQSk6bm90KC5tb2RlU2VsZWN0ZWQtMXpBcEpfKSAuY29udGVudC0zYXRfQVUgLm5hbWUtM19Ec21nLAojYXBwLW1vdW50IC5zaWRlYmFyLTJLOHBGaCAuY29udGFpbmVyLVBOa2ltYyAuY29udGFpbmVyRGVmYXVsdC0xWm5BRHEgLndyYXBwZXItMXVjalRkOm5vdCgubW9kZU11dGVkLTNvc3k3aik6bm90KC5tb2RlVW5yZWFkLTF6cEZkQSk6bm90KC5tb2RlU2VsZWN0ZWQtMXpBcEpfKSAuY29udGVudC0zYXRfQVUgc3ZnLAojYXBwLW1vdW50IC5zaWRlYmFyLTJLOHBGaCAuY2hhbm5lbC0yUUQ5X08gewogICAgY29sb3I6ICM5M2ExYTEgIWltcG9ydGFudDsKfQoKI2FwcC1tb3VudCA6OnNlbGVjdGlvbiwKI2FwcC1tb3VudCAuY2hhdC0zYlJ4eHUgLm1lbnRpb24sCiNhcHAtbW91bnQgLm1lbWJlcnMtMTk5OHBCIC5tZW1iZXItMy1ZWFVlLnNlbGVjdGVkLWFYaFFSNiAucm9sZUNvbG9yLXJ6MnZNMCwKI2FwcC1tb3VudCAubWVtYmVycy0xOTk4cEIgLm1lbWJlci0zLVlYVWUgLmJvdFRhZy0yV1BKNzQsCiNhcHAtbW91bnQgLnNpZGViYXItMks4cEZoIC5jb250YWluZXItUE5raW1jIC5jb250YWluZXJEZWZhdWx0LTFabkFEcS5zZWxlY3RlZC0zN2pfaVUgLmNvbnRlbnQtM2F0X0FVIC5uYW1lLTNfRHNtZywKI2FwcC1tb3VudCAuc2lkZWJhci0ySzhwRmggLmNvbnRhaW5lci1QTmtpbWMgLmNvbnRhaW5lckRlZmF1bHQtMVpuQURxLnNlbGVjdGVkLTM3al9pVSAuY29udGVudC0zYXRfQVUgc3ZnLAojYXBwLW1vdW50IC50b29sdGlwQmxhY2stUFBHNDd6LCAjYXBwLW1vdW50IC50b29sdGlwQnJhbmQtZzAzTno4LCAjYXBwLW1vdW50IC50b29sdGlwUmVkLTgtOU5lUCwKI2FwcC1tb3VudCAuYnViYmxlLTN3ZTJkaSwgI2FwcC1tb3VudCAuc2lkZWJhci0ySzhwRmggLmNvbnRhaW5lci1QTmtpbWMgLmNvbnRhaW5lckRlZmF1bHQtMVpuQURxIC53cmFwcGVyLTF1Y2pUZDpub3QoLm1vZGVNdXRlZC0zb3N5N2opLm1vZGVVbnJlYWQtMXpwRmRBIC5jb250ZW50LTNhdF9BVSAubmFtZS0zX0RzbWcsCiNhcHAtbW91bnQgLnNpZGViYXItMks4cEZoIC5jb250YWluZXItUE5raW1jIC5jb250YWluZXJEZWZhdWx0LTFabkFEcSAud3JhcHBlci0xdWNqVGQ6bm90KC5tb2RlTXV0ZWQtM29zeTdqKS5tb2RlVW5yZWFkLTF6cEZkQSAuY29udGVudC0zYXRfQVUgc3ZnIHsKICAgIGNvbG9yOiAjMDAyYjM2ICFpbXBvcnRhbnQ7CiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50Owp9CgojYXBwLW1vdW50IC5zaWRlYmFyLTJLOHBGaCAuY29udGFpbmVyLVBOa2ltYyAuY29udGFpbmVyRGVmYXVsdC0xWm5BRHEgLndyYXBwZXItMXVjalRkOm5vdCgubW9kZU11dGVkLTNvc3k3aikubW9kZVVucmVhZC0xenBGZEEgLmNvbnRlbnQtM2F0X0FVIHsKICAgIGJhY2tncm91bmQ6ICMyNjhiZDIgIWltcG9ydGFudDsKfQoKI2FwcC1tb3VudCAuc2lkZWJhci0ySzhwRmggLmNoYW5uZWwtMlFEOV9PLnNlbGVjdGVkLWFYaFFSNiB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tQkctZ3JhZGllbnQtZGlyZWN0aW9uKSwgcmdiYSh2YXIoLS1CRy1ncmFkaWVudC1vbmUpLCAxKSAyMCUsIHJnYmEodmFyKC0tQkctZ3JhZGllbnQtdHdvKSwgMSkpOwogICAgY29sb3I6ICMwMDJiMzYgIWltcG9ydGFudDsKICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7Cgp9"
} }

View File

@@ -0,0 +1,3 @@
--enable-features=VaapiVideoDecoder,VaapiVideoEncoder,WebUIDarkMode
--ozone-platform=wayland
--force-dark-mode

View File

@@ -0,0 +1,3 @@
--enable-features=VaapiVideoDecoder
--ozone-platform=wayland
--in-process-gpu

View File

@@ -1 +1,2 @@
XDG_CURRENT_DESKTOP=sway export XDG_CURRENT_DESKTOP=sway
export XDG_SESSION_TYPE=wayland

2
.config/kitty/bell.sh Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/sh
find ~/.config/kitty/bells -type f | shuf -n 1 | mpv --audio-display=no --playlist=-

Binary file not shown.

View File

@@ -282,7 +282,8 @@ font_family DejaVuSansMono
#: windows in the tab and the window is not the currently focused #: windows in the tab and the window is not the currently focused
#: window #: window
# command_on_bell none # command_on_bell mpv --audio-display=no ~/loli.mp3
# command_on_bell ~/.config/kitty/bell.sh
#: Program to run when a bell occurs. #: Program to run when a bell occurs.
@@ -508,7 +509,7 @@ background_opacity 0.8
#: change transparency of windows set dynamic_background_opacity to #: change transparency of windows set dynamic_background_opacity to
#: yes (this is off by default as it has a performance cost) #: yes (this is off by default as it has a performance cost)
# dynamic_background_opacity no dynamic_background_opacity yes
#: Allow changing of the background_opacity dynamically, using either #: Allow changing of the background_opacity dynamically, using either
#: keyboard shortcuts (increase_background_opacity and #: keyboard shortcuts (increase_background_opacity and
@@ -1034,6 +1035,8 @@ shell /bin/zsh
# map kitty_mod+a>1 set_background_opacity 1 # map kitty_mod+a>1 set_background_opacity 1
# map kitty_mod+a>d set_background_opacity default # map kitty_mod+a>d set_background_opacity default
# map kitty_mod+delete clear_terminal reset active # map kitty_mod+delete clear_terminal reset active
map kitty_mod+a>o set_background_opacity 1.0
map kitty_mod+a>t set_background_opacity 0.8
#: You can create shortcuts to clear/reset the terminal. For example:: #: You can create shortcuts to clear/reset the terminal. For example::

View File

@@ -6,3 +6,9 @@ S screenshot-to-file /tmp/mpv-screenshot.png ; run sh -c "cat /tmp/mpv-screensho
x add sub-delay -0.04 x add sub-delay -0.04
X add sub-delay +0.04 X add sub-delay +0.04
# increase subtitle font size
ALT+k add sub-scale +0.1
# decrease subtitle font size
ALT+j add sub-scale -0.1

View File

@@ -1,5 +1,6 @@
profile=gpu-hq profile=gpu-hq
#gpu-api=vulkan #gpu-api=vulkan
#gpu-context=waylandvk
gpu-context=wayland gpu-context=wayland
hwdec=none hwdec=none
@@ -33,3 +34,9 @@ ytdl-format=bestvideo[height<=?1080]+bestaudio/best
#ytdl-raw-options="rm-cache-dir=:yes-playlist=" #ytdl-raw-options="rm-cache-dir=:yes-playlist="
osd-fractions=yes osd-fractions=yes
[downmix]
profile-desc="downmixing profile"
profile-cond=p["audio-params/channel-count"] > 2
ad-lavc-downmix=no
af=lavfi="pan=stereo|FL=0.5*FC+0.707*FL+0.707*BL+0.5*LFE|FR=0.5*FC+0.707*FR+0.707*BR+0.5*LFE"

1
.config/mpv/script-opts/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
japan7.conf

View File

@@ -0,0 +1,34 @@
local settings = {
username = "",
password = "",
projo_host = ""
}
local opts = require 'mp.options'
opts.read_options(settings, "japan7")
local function is_projo(path)
return path:match("^https://projection")
end
function on_load()
local path = mp.get_property("path")
local match = path:gsub("^https://fubuki.aidoru.agency", "https://"..settings.username..":"..settings.password.."@fubuki.aidoru.agency")
match = match:gsub("^https://korone.aidoru.agency", "https://"..settings.username..":"..settings.password.."@korone.aidoru.agency")
match = match:gsub("^https://yuyuko.butaishoujo.moe", "https://"..settings.username..":"..settings.password.."@yuyuko.butaishoujo.moe")
match = match:gsub("^https://projo.yuru.moe", "https://"..settings.username..":"..settings.password.."@projo.yuru.moe")
match = match:gsub("^https://projection", settings.projo_host)
if match ~= path then
if is_projo(path) then
local stream = match:gsub("^(.+)/.-$", "%1/stream")
mp.set_property("ordered-chapters-files", stream)
end
mp.set_property("stream-open-filename", match)
local ass = match:gsub("...$", "ass")
mp.commandv("sub-add", ass)
end
end
mp.register_event('start-file', on_load)

1
.config/nvim/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
plugin/packer_compiled.lua

View File

@@ -1,59 +0,0 @@
{
"explorer.keyMappings": {
"k": "nodePrev",
"j": "nodeNext",
"*": "toggleSelection",
"<tab>": "actionMenu",
"<Left>": "collapse",
"<Right>": "expand",
"J": ["toggleSelection", "normal:j"],
"K": ["toggleSelection", "normal:k"],
"gl": "expandRecursive",
"gh": "collapseRecursive",
"o": "expandOrCollapse",
"<cr>": "open",
"e": "open",
"E": "openInVsplit",
"t": "openInTab",
"<bs>": "gotoParent",
"y": "copyFilepath",
"Y": "copyFilename",
"c": "copyFile",
"x": "cutFile",
"p": "pasteFile",
"d": "delete",
"D": "deleteForever",
"a": "addFile",
"A": "addDirectory",
"r": "rename",
".": "toggleHidden",
"R": "refresh",
"?": "help",
"q": "quit",
"X": "systemExecute",
"gd": "listDrive",
"f": "search",
"F": "searchRecursive",
"gf": "gotoSource:file",
"gb": "gotoSource:buffer",
"[[": "sourcePrev",
"]]": "sourceNext",
"[d": "diagnosticPrev",
"]d": "diagnosticNext",
"[c": "gitPrev",
"]c": "gitNext",
"<<": "gitStage",
">>": "gitUnstage"
}
}

213
.config/nvim/init.lua Normal file
View File

@@ -0,0 +1,213 @@
require 'plugins'
require 'popup'
vim.g.solarized_italic_comments = true
vim.g.solarized_italic_keywords = true
vim.g.solarized_italic_functions = true
vim.g.solarized_italic_variables = false
vim.g.solarized_contrast = true
vim.g.solarized_borders = false
vim.g.solarized_disable_background = false
require('solarized').set()
require('nvim-treesitter.configs').setup {
ensure_installed = { "c", "lua", "rust", "java", "python", "javascript", "typescript" },
sync_install = false,
ignore_install = { },
highlight = {
enable = true,
disable = { },
additional_vim_regex_highlighting = false,
},
}
require('feline').setup {
theme = require('feline.solarized'),
force_inactive = {
filetypes = {
'^neo\\-tree$',
'^aerial$',
'^packer$',
'^startify$',
'^fugitive$',
'^fugitiveblame$',
'^qf$',
'^help$'
},
buftypes = {
'^terminal$'
},
bufnames = {
'neo\\-.*',
}
}
}
require('nvim-lsp-installer').setup {}
require('lspconfig/settings')
require('window-picker').setup({
autoselect_one = true,
selection_chars = 'ABCDEFGHIJKLMNOP',
filter_rules = {
bo = {
filetype = { 'NvimTree', "neo-tree", "notify", 'aerial' },
buftype = { 'terminal' }
}
}
})
vim.cmd([[ let g:neo_tree_remove_legacy_commands = 1 ]])
require('neo-tree').setup({
close_if_last_window = true,
window = {
width = 30,
mappings = {
["<cr>"] = "open_with_window_picker",
["S"] = "split_with_window_picker",
["s"] = "vsplit_with_window_picker"
}
},
filesystem = {
filtered_items = {
visible = true
},
follow_current_file = true,window = {
mappings = {
["/"] = "noop",
["g/"] = "fuzzy_finder",
["f"] = "noop",
["ff"] = function() vim.cmd([[Telescope find_files]]) end,
["fg"] = function() vim.cmd([[Telescope live_grep]]) end
}
}
}
})
vim.keymap.set("n", "f", "<cmd>Neotree focus<CR>", opts)
require('smart-splits')
vim.keymap.set("n", "<C-Left>", require('smart-splits').move_cursor_left)
vim.keymap.set("n", "<C-Down>", require('smart-splits').move_cursor_down)
vim.keymap.set("n", "<C-Up>", require('smart-splits').move_cursor_up)
vim.keymap.set("n", "<C-Right>", require('smart-splits').move_cursor_right)
vim.keymap.set("n", "<C-S-Up>", require('smart-splits').resize_up)
vim.keymap.set("n", "<C-S-Down>", require('smart-splits').resize_down)
vim.keymap.set("n", "<C-S-Left>", require('smart-splits').resize_left)
vim.keymap.set("n", "<C-S-Right>", require('smart-splits').resize_right)
require('bufdelete')
local colors = require('solarized.colors')
require('bufferline').setup{
options = {
close_command = "Bdelete %d",
right_mouse_command = "Bdelete %d",
offsets = {
{filetype = "neo-tree", text = "File Explorer", padding = 1},
{filetype = "aerial", text = "Outline", padding = 1}
},
enforce_regular_tabs = true,
separator_style = 'slant'
},
highlights = {
separator = {
guifg = colors.bg_alt
},
separator_visible = {
guifg = colors.bg_alt
},
separator_selected = {
guifg = colors.bg_alt
}
}
}
vim.keymap.set("n", "<S-Right>", "<cmd>bnext<CR>", opts)
vim.keymap.set("n", "<S-Left>", "<cmd>bprevious<CR>", opts)
vim.keymap.set("n", "q", "<cmd>Bdelete<CR>", opts)
require('nvim-autopairs').setup()
require('gitsigns').setup()
require('cinnamon').setup()
require('aerial').setup({
close_behavior = 'global',
open_automatic = true,
placement_editor_edge = true,
width = 30,
on_attach = function(bufnr)
vim.api.nvim_buf_set_keymap(bufnr, 'n', 't',
require('map_utils').lua_fn(function()
vim.tbl_map(function(buf)
if vim.api.nvim_buf_get_option(buf, 'filetype') == 'aerial' then
vim.tbl_map(function(win)
vim.api.nvim_set_current_win(win)
end, vim.fn.win_findbuf(buf))
end
end, vim.api.nvim_list_bufs())
end),
{})
end
})
require('guess-indent').setup()
local actions = require("telescope.actions")
require('telescope').setup({
defaults = {
mappings = {
n = {
["S"] = actions.file_split,
["s"] = actions.file_vsplit,
}
},
get_selection_window = require('window-picker').pick_window
},
pickers = {
find_files = {
find_command = {"fd", "--type", "f", "--strip-cwd-prefix", "--hidden"}
},
live_grep = {
vimgrep_arguments = {"rg", "--color=never", "--no-heading", "--with-filename", "--line-number", "--column", "--smart-case", "--hidden"}
},
}
})
vim.o.clipboard = 'unnamedplus'
vim.o.expandtab = true
vim.o.fileencoding = 'utf-8'
vim.o.ignorecase = true
vim.o.mouse = 'a'
vim.o.showmode = false
vim.o.number = true
vim.o.shiftwidth = 2
vim.o.signcolumn = 'yes'
vim.o.smartcase = true
vim.o.spelllang = 'en'
vim.o.tabstop = 2
if vim.fn.expand('%') == '' then
require("neo-tree.command")._command(vim.fn.getcwd())
else
require("neo-tree.command")._command("show", vim.fn.getcwd())
end

View File

@@ -1,148 +0,0 @@
tnoremap <Esc> <C-\><C-n>
set termguicolors
"set colorcolumn=88
set background=dark
match Error /\%>88c/
highlight Pmenu ctermbg=gray guibg=gray
" if hidden is not set, TextEdit might fail.
set hidden
" Some servers have issues with backup files, see #649
set nobackup
set nowritebackup
" Better display for messages
set cmdheight=2
" You will have bad experience for diagnostic messages when it's default 4000.
set updatetime=300
" don't give |ins-completion-menu| messages.
set shortmess+=c
" always show signcolumns
set signcolumn=yes
" Use tab for trigger completion with characters ahead and navigate.
" Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin.
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
function! s:check_back_space() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
" Use <c-space> to trigger completion.
inoremap <silent><expr> <c-space> coc#refresh()
" Use <cr> to confirm completion, `<C-g>u` means break undo chain at current position.
" Coc only does snippet and additional edit on confirm.
inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
" Or use `complete_info` if your vim support it, like:
" inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<CR>"
" Use `[g` and `]g` to navigate diagnostics
nmap <silent> [g <Plug>(coc-diagnostic-prev)
nmap <silent> ]g <Plug>(coc-diagnostic-next)
" Remap keys for gotos
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)
" Use K to show documentation in preview window
nnoremap <silent> K :call <SID>show_documentation()<CR>
function! s:show_documentation()
if (index(['vim','help'], &filetype) >= 0)
execute 'h '.expand('<cword>')
else
call CocAction('doHover')
endif
endfunction
" Highlight symbol under cursor on CursorHold
autocmd CursorHold * silent call CocActionAsync('highlight')
" Remap for rename current word
nmap <leader>rn <Plug>(coc-rename)
augroup mygroup
autocmd!
" Setup formatexpr specified filetype(s).
autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected')
" Update signature help on jump placeholder
autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp')
augroup end
" Remap for do codeAction of selected region, ex: `<leader>aap` for current paragraph
xmap <leader>a <Plug>(coc-codeaction-selected)
nmap <leader>a <Plug>(coc-codeaction-selected)
" Remap for do codeAction of current line
nmap <leader>ac <Plug>(coc-codeaction)
" Fix autofix problem of current line
nmap <leader>qf <Plug>(coc-fix-current)
" Create mappings for function text object, requires document symbols feature of
" languageserver.
xmap if <Plug>(coc-funcobj-i)
xmap af <Plug>(coc-funcobj-a)
omap if <Plug>(coc-funcobj-i)
omap af <Plug>(coc-funcobj-a)
" Use <TAB> for select selections ranges, needs server support, like: coc-tsserver,
" coc-python
nmap <silent> <TAB> <Plug>(coc-range-select)
xmap <silent> <TAB> <Plug>(coc-range-select)
" Use `:Format` to format current buffer
command! -nargs=0 Format :call CocAction('format')
" Use `:Fold` to fold current buffer
command! -nargs=? Fold :call CocAction('fold', <f-args>)
" use `:OR` for organize import of current buffer
command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport')
" Add status line support, for integration with other plugin, checkout `:h coc-status`
set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}
" Using CocList
" Show all diagnostics
nnoremap <silent> <space>a :<C-u>CocList diagnostics<cr>
" Manage extensions
nnoremap <silent> <space>e :<C-u>CocList extensions<cr>
" Show commands
nnoremap <silent> <space>c :<C-u>CocList commands<cr>
" Find symbol of current document
nnoremap <silent> <space>o :<C-u>CocList outline<cr>
" Search workspace symbols
nnoremap <silent> <space>s :<C-u>CocList -I symbols<cr>
" Do default action for next item.
nnoremap <silent> <space>j :<C-u>CocNext<CR>
" Do default action for previous item.
nnoremap <silent> <space>k :<C-u>CocPrev<CR>
" Resume latest coc list
nnoremap <silent> <space>p :<C-u>CocListResume<CR>
" coc-explorer
nmap <leader>e :CocCommand explorer<CR>
call plug#begin()
Plug 'rbgrouleff/bclose.vim'
Plug 'francoiscabrol/ranger.vim'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'lervag/vimtex'
Plug 'iCyMind/NeoSolarized'
call plug#end()
colorscheme NeoSolarized

View File

@@ -0,0 +1,19 @@
local colors = require('solarized.colors')
local solarized = {
fg = colors.fg,
bg = colors.bg_alt,
black = colors.black,
skyblue = colors.paleblue,
cyan = colors.cyan,
green = colors.green,
oceanblue = colors.blue,
magenta = colors.magenta,
orange = colors.orange,
red = colors.red,
violet = colors.purple,
white = colors.white,
yellow = colors.yellow
}
return solarized

View File

@@ -0,0 +1,95 @@
local servers = { 'pyright', 'sumneko_lua', 'eslint', 'tsserver' }
-- Mappings.
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
local opts = { noremap=true, silent=true }
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, opts)
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts)
-- Use an on_attach function to only map the following keys
-- after the language server attaches to the current buffer
local on_attach = function(client, bufnr)
-- Enable completion triggered by <c-x><c-o>
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
-- Mappings.
-- See `:help vim.lsp.*` for documentation on any of the below functions
local bufopts = { noremap=true, silent=true, buffer=bufnr }
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts)
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts)
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, bufopts)
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, bufopts)
vim.keymap.set('n', '<space>wl', function()
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
end, bufopts)
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
vim.keymap.set('n', '<space>f', vim.lsp.buf.formatting, bufopts)
end
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)
-- Use a loop to conveniently call 'setup' on multiple servers and
-- map buffer local keybindings when the language server attaches
for _, lsp in pairs(servers) do
require('lspconfig')[lsp].setup {
on_attach = on_attach,
capabilities = capabilities,
flags = {
-- This will be the default in neovim 0.7+
debounce_text_changes = 150,
}
}
end
-- luasnip setup
local luasnip = require 'luasnip'
-- nvim-cmp setup
local cmp = require 'cmp'
cmp.setup {
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body)
end,
},
mapping = cmp.mapping.preset.insert({
['<C-d>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<CR>'] = cmp.mapping.confirm {
behavior = cmp.ConfirmBehavior.Replace,
select = true,
},
['<Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif luasnip.expand_or_jumpable() then
luasnip.expand_or_jump()
else
fallback()
end
end, { 'i', 's' }),
['<S-Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { 'i', 's' }),
}),
sources = {
{ name = 'nvim_lsp' },
{ name = 'luasnip' },
},
}

View File

@@ -0,0 +1,34 @@
local M = {}
local module_name = 'map_utils'
local fn_store = {}
local function register_fn(fn)
table.insert(fn_store, fn)
return #fn_store
end
function M.apply_function(id)
fn_store[id]()
end
function M.apply_expr(id)
return vim.api.nvim_replace_termcodes(fn_store[id](), true, true, true)
end
function M.lua_fn(fn)
return string.format(
"<cmd>lua require('%s').apply_function(%s)<CR>",
module_name,
register_fn(fn)
)
end
function M.lua_expr(fn)
return string.format(
"v:lua.require'%s'.apply_expr(%s)",
module_name,
register_fn(fn)
)
end
return M

View File

@@ -0,0 +1,54 @@
return require('packer').startup(function()
use 'wbthomason/packer.nvim'
use 'nvim-lua/popup.nvim'
use {
'nvim-treesitter/nvim-treesitter',
run = ':TSUpdate'
}
use {'feline-nvim/feline.nvim', requires = 'kyazdani42/nvim-web-devicons'}
use {
"williamboman/nvim-lsp-installer",
"neovim/nvim-lspconfig",
}
use {
"nvim-neo-tree/neo-tree.nvim",
branch = "v2.x",
requires = {
"nvim-lua/plenary.nvim",
"kyazdani42/nvim-web-devicons",
"MunifTanjim/nui.nvim",
's1n7ax/nvim-window-picker'
}
}
use 'mrjones2014/smart-splits.nvim'
use 'famiu/bufdelete.nvim'
use {'akinsho/bufferline.nvim', tag = "v2.*", requires = 'kyazdani42/nvim-web-devicons'}
use 'windwp/nvim-autopairs'
use 'lewis6991/gitsigns.nvim'
use 'declancm/cinnamon.nvim'
use 'stevearc/aerial.nvim'
use 'nmac427/guess-indent.nvim'
use {'nvim-telescope/telescope.nvim', requires = 'nvim-lua/plenary.nvim'}
use {
'hrsh7th/nvim-cmp',
'hrsh7th/cmp-nvim-lsp',
'saadparwaiz1/cmp_luasnip',
'L3MON4D3/LuaSnip'
}
end)

View File

@@ -0,0 +1,31 @@
[AdditionalOptions]
extensions =
custom_apps =
sidebar_config = 1
home_config = 1
[Patch]
[Setting]
prefs_path = /home/rhiobet/.config/spotify/prefs
overwrite_assets = 0
check_spicetify_upgrade = 0
spotify_path = /opt/spotify
current_theme = SpicetifyDefault
color_scheme =
inject_css = 1
replace_colors = 1
spotify_launch_flags =
[Preprocesses]
disable_sentry = 1
disable_ui_logging = 1
remove_rtl_rule = 1
expose_apis = 1
disable_upgrade_check = 1
; DO NOT CHANGE!
[Backup]
version =
with =

View File

@@ -7,6 +7,7 @@ inject_css = 1
replace_colors = 1 replace_colors = 1
overwrite_assets = 0 overwrite_assets = 0
spotify_launch_flags = spotify_launch_flags =
check_spicetify_upgrade = 0
[Preprocesses] [Preprocesses]
remove_rtl_rule = 1 remove_rtl_rule = 1
@@ -34,5 +35,5 @@ custom_apps =
; DO NOT CHANGE! ; DO NOT CHANGE!
[Backup] [Backup]
version = 1.1.10.546.ge08ef575 version = 1.1.56.595.g2d2da0de

View File

@@ -29,9 +29,12 @@ set $srclocker swaylock -c 222222 -u -i eDP-1:~/wallpapers/radiance.png\
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) # Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
# output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill # output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
output * pos 1920 0 res 1920 1080 output * pos 1920 0 res 1920 1080
#output eDP-1 pos 0 300 res 3840 2160 scale 1
output eDP-1 pos 0 300 res 3840 2160 output eDP-1 pos 0 300 res 3840 2160
output "Goldstar Company Ltd M2080D 0x00000101" pos 1920 0 res 1920 1080 output "Goldstar Company Ltd M2080D 0x00000101" pos 1920 0 res 1920 1080
#output "Dell Inc. DELL U2717D JXRPT83GAHKS" pos 3840 0 res 2560 1440
output "Dell Inc. DELL U2717D JXRPT83GAHKS" pos 1920 0 res 2560 1440 output "Dell Inc. DELL U2717D JXRPT83GAHKS" pos 1920 0 res 2560 1440
#output "Dell Inc. DELL U2717D JXRPT83GAHKS" pos 1920 0 res 1920 1080
output HDMI-A-3 pos 1920 0 res 1920 1080 output HDMI-A-3 pos 1920 0 res 1920 1080
output * bg ~/wallpapers/filianore-u.jpg fill output * bg ~/wallpapers/filianore-u.jpg fill
focus output eDP-1 focus output eDP-1
@@ -125,6 +128,7 @@ input "1739:0:Synaptics_TM3276-031" {
bindsym Print exec slurp -d | grim -g - - | wl-copy -t image/png bindsym Print exec slurp -d | grim -g - - | wl-copy -t image/png
bindsym Ctrl+Print exec swaymsg -t get_tree | jq -r 'recurse(.nodes[], .floating_nodes[]) | select(.focused and .pid).rect | "\(.x),\(.y) \(.width)x\(.height)"' | grim -g - - | wl-copy -t image/png bindsym Ctrl+Print exec swaymsg -t get_tree | jq -r 'recurse(.nodes[], .floating_nodes[]) | select(.focused and .pid).rect | "\(.x),\(.y) \(.width)x\(.height)"' | grim -g - - | wl-copy -t image/png
bindsym Shift+Print exec grim -o $(swaymsg -t get_outputs | jq -r '.[] | select(.focused) | .name') - | wl-copy -t image/png bindsym Shift+Print exec grim -o $(swaymsg -t get_outputs | jq -r '.[] | select(.focused) | .name') - | wl-copy -t image/png
#bindsym Shift+Print exec grim -o $(swaymsg -t get_outputs | jq -r '.[] | select(.focused) | .name') - > /home/rhiobet/screenshots/$(date +%s).png
# #
# Moving around: # Moving around:
@@ -277,9 +281,11 @@ include /etc/sway/config.d/*
assign [class="discord"] workspace 3 assign [class="discord"] workspace 3
assign [class="Spotify"] workspace 3 assign [class="Spotify"] workspace 3
for_window [class="Spotify"] opacity 0.8 for_window [class="Spotify"] opacity 0.8
for_window [app_id="boop-gtk"] floating enable
#exec redshift -O 4500 -m wayland #exec redshift -O 4500 -m wayland
exec nm-applet --indicator exec nm-applet --indicator
exec wlanthy -i pass
# exec ~/.local/start-jack.sh # exec ~/.local/start-jack.sh

View File

@@ -9,11 +9,12 @@ good_bg = "#859900cc"
warning_bg = "#b58900cc" warning_bg = "#b58900cc"
critical_bg = "#dc322fcc" critical_bg = "#dc322fcc"
alternating_tint_bg = "#00000000" alternating_tint_bg = "#00000000"
separator = "" separator = "<span font='12'>\ue0b2</span>"
#separator = ""
[[block]] #[[block]]
block = "focused_window" #block = "focused_window"
max_width = 100 #max_width = 100
[[block]] [[block]]
block = "music" block = "music"
@@ -25,19 +26,22 @@ marquee = true
[[block]] [[block]]
block = "sound" block = "sound"
driver = "alsa" driver = "auto"
#device = "hw:0" show_volume_when_muted = true
headphones_indicator = true
step_width = 3 step_width = 3
[[block]] [[block]]
block = "memory" block = "memory"
display_type = "memory" display_type = "memory"
format_mem = "{Mum}MB" format_mem = "{mem_used;M}"
clickable = false clickable = false
on_click = "kitty --class kitty-scratch -c ~/.config/kitty/kitty-scratch.conf btop"
[[block]] [[block]]
block = "cpu" block = "cpu"
interval = 1 interval = 1
on_click = "kitty --class kitty-scratch -c ~/.config/kitty/kitty-scratch.conf btop"
#[[block]] #[[block]]
#block = "sound" #block = "sound"
@@ -46,6 +50,23 @@ interval = 1
block = "battery" block = "battery"
interval = 10 interval = 10
[[block]]
block = "pacman"
interval = 600
format = "{both} updates available"
format_singular = "{both} update available"
format_up_to_date = "up to date"
hide_when_uptodate = true
critical_updates_regex = "(^(linux-|sway|wl)|pipewire)"
aur_command = "yay -Qua"
on_click = "kitty --class kitty-scratch -c ~/.config/kitty/kitty-scratch.conf zsh -i -c update"
[[block]]
block = "networkmanager"
on_click = "networkmanager_dmenu"
device_format = "{icon}{ap}"
interface_name_exclude = ["br\\-[0-9a-f]{12}", "docker\\d+"]
[[block]] [[block]]
block = "time" block = "time"
interval = 60 interval = 60

View File

@@ -13,7 +13,7 @@ swaymsg -t subscribe -m '[ "window" ]' | while read -r event ; do
if [ "$app_name" = "kitty" ] ; then if [ "$app_name" = "kitty" ] ; then
app_name="" app_name=""
elif [ "$app_name" = "chromium" ] || [ "$app_name" = "Chromium" ]; then elif [[ "$app_name" == *"chrom"* ]] || [[ "$app_name" == *"Chrom"* ]]; then
case "$(jq -r '.container.name' <<< $event)" in case "$(jq -r '.container.name' <<< $event)" in
*YouTube*) *YouTube*)
app_name="" app_name=""

3
.gitmodules vendored Normal file
View File

@@ -0,0 +1,3 @@
[submodule ".config/nvim/solarized.nvim"]
path = .config/nvim/solarized.nvim
url = ssh://git@git.rhiobet.sh:42424/rhiobet/solarized.nvim.git

View File

@@ -1,6 +1,7 @@
export JAVA_HOME=/usr/lib/jvm/$(archlinux-java get) export JAVA_HOME=/usr/lib/jvm/$(archlinux-java get)
export GDK_BACKEND=x11 #export GDK_BACKEND=x11
export EDITOR=nvim export EDITOR=nvim
export XDG_CURRENT_DESKTOP=sway export XDG_CURRENT_DESKTOP=sway
export XDG_SESSION_TYPE=wayland export XDG_SESSION_TYPE=wayland
#export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/intel_icd.x86_64.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json

7
.zshrc
View File

@@ -13,12 +13,14 @@ compinit
export ZSH=/usr/share/oh-my-zsh export ZSH=/usr/share/oh-my-zsh
export ZSH_CUSTOM=/usr/share/zsh export ZSH_CUSTOM=/usr/share/zsh
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=10"
ZSH_THEME="af-magic" ZSH_THEME="af-magic"
plugins=( plugins=(
archlinux archlinux
docker docker
docker-compose docker-compose
fzf
git git
systemd systemd
vagrant vagrant
@@ -27,12 +29,11 @@ plugins=(
) )
source $ZSH/oh-my-zsh.sh source $ZSH/oh-my-zsh.sh
bindkey '^R' history-incremental-pattern-search-backward #bindkey '^R' history-incremental-pattern-search-backward
if [ -f ~/.bash_aliases ]; then if [ -f ~/.bash_aliases ]; then
source ~/.bash_aliases source ~/.bash_aliases
fi fi
eval $(thefuck --alias) eval $(thefuck --alias)
alias chromium="export GDK_BACKEND=wayland && chromium --enable-features=UseOzonePlatform --ozone-platform=wayland" alias discord="export GDK_BACKEND=wayland && discord-canary"
alias discord="export GDK_BACKEND=wayland && discord-canary --enable-features=UseOzonePlatform,WebRTCPipeWireCapturer --ozone-platform=wayland"