Compare commits
31 Commits
175396522b
...
lineage
| Author | SHA1 | Date | |
|---|---|---|---|
| 5956cbe20e | |||
| a6ef8ff9c5 | |||
| 1090058c08 | |||
| 6609158c5d | |||
| 4040855adb | |||
|
|
9c2a72669f | ||
| f2fc3599a8 | |||
| cfba74467f | |||
|
|
7a240b42c3 | ||
| 706ed1e2e7 | |||
| 5f83f33abc | |||
| 43166f9f11 | |||
| 7cb5b2d4b6 | |||
| bb89997e23 | |||
| 48353fab32 | |||
| 5b298dac01 | |||
| fdea1f7270 | |||
| 2bba7045ef | |||
| 69f99793b0 | |||
| be6a81704c | |||
| 6a384db287 | |||
| 2e53054f29 | |||
| f298612f1f | |||
| c05b21f2a1 | |||
| cb572f63ef | |||
| 691f61dc75 | |||
| e895f5de64 | |||
| 80231254de | |||
| f386d9dc8f | |||
| c8387cba8a | |||
| d873613dc0 |
5
.bashrc
5
.bashrc
@@ -4,11 +4,6 @@
|
|||||||
# If not running interactively, don't do anything
|
# If not running interactively, don't do anything
|
||||||
[[ $- != *i* ]] && return
|
[[ $- != *i* ]] && return
|
||||||
|
|
||||||
if [[ $(ps --no-header --pid=$PPID --format=comm) != "fish" && -z ${BASH_EXECUTION_STRING} && ${SHLVL} == 1 ]]
|
|
||||||
then
|
|
||||||
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=''
|
|
||||||
exec fish $LOGIN_OPTION
|
|
||||||
fi
|
|
||||||
|
|
||||||
alias ls='ls --color=auto'
|
alias ls='ls --color=auto'
|
||||||
alias grep='grep --color=auto'
|
alias grep='grep --color=auto'
|
||||||
|
|||||||
@@ -28,8 +28,10 @@ monitor= eDP-1,1920x1080@60.04900,0x0,1
|
|||||||
|
|
||||||
monitor= desc:Hewlett Packard HP 24es 3CM6310XHM,1920x1080@60.00,-1920x-1440,1
|
monitor= desc:Hewlett Packard HP 24es 3CM6310XHM,1920x1080@60.00,-1920x-1440,1
|
||||||
monitor= desc:AOC Q3279WG5B 0x00005175, 2560x1440@74.97,0x-1440,1
|
monitor= desc:AOC Q3279WG5B 0x00005175, 2560x1440@74.97,0x-1440,1
|
||||||
|
monitor= desc:Acer Technologies VG272U P 0x033000FF, 2560x1440@59.95100,0x-1440,1
|
||||||
|
|
||||||
monitor = , preferred, auto, 1, mirror, eDP-1
|
|
||||||
|
#monitor = , preferred, auto, 1, mirror, eDP-1
|
||||||
|
|
||||||
#monitor= DP-3,1600x1200@60.00,auto,auto
|
#monitor= DP-3,1600x1200@60.00,auto,auto
|
||||||
###################
|
###################
|
||||||
@@ -232,10 +234,7 @@ input {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||||
gestures {
|
gesture = 3, horizontal, workspace
|
||||||
workspace_swipe = true
|
|
||||||
workspace_swipe_fingers = 3
|
|
||||||
}
|
|
||||||
|
|
||||||
# Example per-device config
|
# Example per-device config
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||||
@@ -379,3 +378,14 @@ opengl {
|
|||||||
#bind = $mainMod, S, togglespecialworkspace, magic
|
#bind = $mainMod, S, togglespecialworkspace, magic
|
||||||
#bind = $mainMod, S, movetoworkspace, special:magic
|
#bind = $mainMod, S, movetoworkspace, special:magic
|
||||||
#bind = $mainMod, S, togglespecialworkspace, magic
|
#bind = $mainMod, S, togglespecialworkspace, magic
|
||||||
|
|
||||||
|
plugin {
|
||||||
|
hyprexpo {
|
||||||
|
columns = 3
|
||||||
|
gap_size = 10
|
||||||
|
bg_col = rgb(111111)
|
||||||
|
workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1
|
||||||
|
skip_empty = true
|
||||||
|
gesture_distance = 300 # how far is the "max" for the gesture
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,51 +1,56 @@
|
|||||||
# vim:ft=kitty
|
## name: Rosé Pine Moon
|
||||||
|
## author: mvllow
|
||||||
## name: Adwaita darker
|
|
||||||
## license: MIT
|
## license: MIT
|
||||||
## author: Emil Löfquist (https://github.com/ewal)
|
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine-moon.conf
|
||||||
## upstream: https://github.com/ewal/kitty-adwaita/blob/main/adwaita_darker.conf
|
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
|
||||||
## blurb: Adwaita darker - based on https://github.com/Mofiqul/adwaita.nvim
|
|
||||||
|
|
||||||
|
foreground #e0def4
|
||||||
background #232136
|
background #232136
|
||||||
foreground #deddda
|
selection_foreground #e0def4
|
||||||
|
selection_background #44415a
|
||||||
|
|
||||||
selection_background #1c1c1c
|
cursor #56526e
|
||||||
selection_foreground #c0bfbc
|
cursor_text_color #e0def4
|
||||||
|
|
||||||
url_color #1a5fb4
|
url_color #c4a7e7
|
||||||
|
|
||||||
wayland_titlebar_color system
|
active_tab_foreground #e0def4
|
||||||
macos_titlebar_color system
|
active_tab_background #393552
|
||||||
|
inactive_tab_foreground #6e6a86
|
||||||
|
inactive_tab_background #232136
|
||||||
|
|
||||||
cursor #deddda
|
active_border_color #3e8fb0
|
||||||
cursor_text_color #000000
|
inactive_border_color #44415a
|
||||||
|
|
||||||
active_border_color #1e1e1e
|
# black
|
||||||
inactive_border_color #282828
|
color0 #393552
|
||||||
bell_border_color #ed333b
|
color8 #6e6a86
|
||||||
visual_bell_color none
|
|
||||||
|
|
||||||
active_tab_background #101010
|
# red
|
||||||
active_tab_foreground #fcfcfc
|
color1 #eb6f92
|
||||||
inactive_tab_background #1c1c1c
|
color9 #eb6f92
|
||||||
inactive_tab_foreground #b0afac
|
|
||||||
tab_bar_background none
|
|
||||||
tab_bar_margin_color none
|
|
||||||
|
|
||||||
color0 #000000
|
# green
|
||||||
color1 #ed333b
|
color2 #3e8fb0
|
||||||
color2 #57e389
|
color10 #3e8fb0
|
||||||
color3 #ff7800
|
|
||||||
color4 #62a0ea
|
# yellow
|
||||||
color5 #9141ac
|
color3 #f6c177
|
||||||
color6 #5bc8af
|
color11 #f6c177
|
||||||
color7 #deddda
|
|
||||||
|
# blue
|
||||||
|
color4 #9ccfd8
|
||||||
|
color12 #9ccfd8
|
||||||
|
|
||||||
|
# magenta
|
||||||
|
color5 #c4a7e7
|
||||||
|
color13 #c4a7e7
|
||||||
|
|
||||||
|
# cyan
|
||||||
|
color6 #ea9a97
|
||||||
|
color14 #ea9a97
|
||||||
|
|
||||||
|
# white
|
||||||
|
color7 #e0def4
|
||||||
|
color15 #e0def4
|
||||||
|
|
||||||
color8 #9a9996
|
|
||||||
color9 #f66151
|
|
||||||
color10 #8ff0a4
|
|
||||||
color11 #ffa348
|
|
||||||
color12 #99c1f1
|
|
||||||
color13 #dc8add
|
|
||||||
color14 #93ddc2
|
|
||||||
color15 #f6f5f4
|
|
||||||
|
|||||||
@@ -3,21 +3,21 @@ window_padding_width 5
|
|||||||
window_border_width 0
|
window_border_width 0
|
||||||
|
|
||||||
tab_bar_edge top
|
tab_bar_edge top
|
||||||
active_tab_foreground #fff
|
# active_tab_foreground #fff
|
||||||
active_tab_font_style bold-italic
|
active_tab_font_style bold-italic
|
||||||
active_tab_background #8631B4
|
# active_tab_background #8631B4
|
||||||
inactive_tab_foreground #c2c2c2
|
# inactive_tab_foreground #c2c2c2
|
||||||
inactive_tab_background #955bb4
|
# inactive_tab_background #955bb4
|
||||||
|
|
||||||
# BEGIN_KITTY_THEME
|
# BEGIN_KITTY_THEME
|
||||||
# Adwaita darker
|
# Rosé Pine Moon
|
||||||
include current-theme.conf
|
include current-theme.conf
|
||||||
# END_KITTY_THEME
|
# END_KITTY_THEME
|
||||||
active_tab_foreground #fff
|
# active_tab_foreground #fff
|
||||||
active_tab_font_style bold-italic
|
active_tab_font_style bold-italic
|
||||||
active_tab_background #8631B4
|
# active_tab_background #8631B4
|
||||||
inactive_tab_foreground #c2c2c2
|
# inactive_tab_foreground #c2c2c2
|
||||||
inactive_tab_background #955bb4
|
# inactive_tab_background #955bb4
|
||||||
|
|
||||||
|
|
||||||
# BEGIN_KITTY_FONTS
|
# BEGIN_KITTY_FONTS
|
||||||
|
|||||||
12
.config/nvim/.luarc.json
Normal file
12
.config/nvim/.luarc.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"runtime.version": "LuaJIT",
|
||||||
|
"runtime.path": [
|
||||||
|
"lua/?.lua",
|
||||||
|
"lua/?/init.lua"
|
||||||
|
],
|
||||||
|
"diagnostics.globals": ["vim"],
|
||||||
|
"workspace.checkThirdParty": false,
|
||||||
|
"workspace.library": [
|
||||||
|
"$VIMRUNTIME"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,19 +1,68 @@
|
|||||||
-- Basic settings
|
-- Basic settings
|
||||||
vim.o.number = true -- Enable line numbers
|
vim.o.number = true -- Enable line numbers
|
||||||
vim.o.relativenumber = true -- Enable relative line numbers
|
-- vim.o.relativenumber = true -- Enable relative line numbers
|
||||||
vim.o.tabstop = 4 -- Number of spaces a tab represents
|
vim.o.tabstop = 2 -- Number of spaces a tab represents
|
||||||
vim.o.shiftwidth = 4 -- Number of spaces for each indentation
|
vim.o.shiftwidth = 2 -- Number of spaces for each indentation
|
||||||
vim.o.expandtab = true -- Convert tabs to spaces
|
vim.o.expandtab = true -- Convert tabs to spaces
|
||||||
vim.o.smartindent = true -- Automatically indent new lines
|
vim.o.smartindent = true -- Automatically indent new lines
|
||||||
vim.o.wrap = false -- Disable line wrapping
|
vim.o.wrap = false -- Disable line wrapping
|
||||||
vim.o.cursorline = true -- Highlight the current line
|
vim.o.cursorline = true -- Highlight the current line
|
||||||
vim.o.termguicolors = true -- Enable 24-bit RGB colors
|
vim.o.termguicolors = true -- Enable 24-bit RGB colors
|
||||||
vim.o.clipboard = "unnamedplus"
|
vim.filetype.add({ extension = { svx = "markdown" } })
|
||||||
|
vim.opt.listchars = { tab = "\\│\\", nbsp = "␣", trail = "·", extends = "›", precedes = "‹", leadmultispace = "│ " }
|
||||||
|
vim.opt.list = true
|
||||||
|
|
||||||
|
require('plugins.nvim-neo-tree')
|
||||||
|
require('plugins.rose-pine')
|
||||||
|
require('plugins.treesitter')
|
||||||
|
require('plugins.conform')
|
||||||
|
require('plugins.lsp')
|
||||||
|
require('plugins.diffview')
|
||||||
|
require('plugins.which-key')
|
||||||
|
require('plugins.codecompanion')
|
||||||
|
require('plugins.fff')
|
||||||
|
|
||||||
|
local kitten = vim.fn.expand("~/.local/share/kitty-ssh-kitten/kitty/bin/kitten")
|
||||||
|
vim.opt.clipboard = "unnamedplus"
|
||||||
|
vim.g.clipboard = {
|
||||||
|
name = 'OSC 52',
|
||||||
|
copy = {
|
||||||
|
['+'] = require('vim.ui.clipboard.osc52').copy('+'),
|
||||||
|
-- ['*'] = require('vim.ui.clipboard.osc52').copy('*'),
|
||||||
|
},
|
||||||
|
paste = {
|
||||||
|
['+'] = require('vim.ui.clipboard.osc52').paste('+'),
|
||||||
|
-- ['*'] = require('vim.ui.clipboard.osc52').paste('*'),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
-- Syntax highlighting and filetype plugins
|
|
||||||
vim.cmd('syntax enable')
|
vim.cmd('syntax enable')
|
||||||
vim.cmd('filetype plugin indent on')
|
|
||||||
|
|
||||||
require("config.lazy")
|
|
||||||
|
|
||||||
--vim.cmd[[colorscheme tokyonight]]
|
vim.api.nvim_create_user_command(
|
||||||
|
"Inlay",
|
||||||
|
function()
|
||||||
|
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled())
|
||||||
|
end,
|
||||||
|
{ desc = 'Toggles Inlay Hints' }
|
||||||
|
)
|
||||||
|
vim.api.nvim_create_autocmd('LspAttach', {
|
||||||
|
callback = function(ev)
|
||||||
|
local client = vim.lsp.get_client_by_id(ev.data.client_id)
|
||||||
|
if client and client:supports_method(vim.lsp.protocol.Methods.textDocument_completion) then
|
||||||
|
vim.opt.completeopt = { 'menu', 'menuone', 'noinsert', 'fuzzy', 'popup' }
|
||||||
|
vim.lsp.completion.enable(true, client.id, ev.buf, { autotrigger = true })
|
||||||
|
vim.keymap.set('i', '<C-Space>', function()
|
||||||
|
vim.lsp.completion.get()
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.diagnostic.config({
|
||||||
|
virtual_lines = {
|
||||||
|
current_line = true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.cmd.source("~/.config/nvim/.vimrc")
|
||||||
|
|||||||
19
.config/nvim/lazy-lock.json
Normal file
19
.config/nvim/lazy-lock.json
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"LuaSnip": { "branch": "master", "commit": "dae4f5aaa3574bd0c2b9dd20fb9542a02c10471c" },
|
||||||
|
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||||
|
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
|
||||||
|
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||||
|
"conform.nvim": { "branch": "master", "commit": "c2526f1cde528a66e086ab1668e996d162c75f4f" },
|
||||||
|
"image.nvim": { "branch": "master", "commit": "446a8a5cc7a3eae3185ee0c697732c32a5547a0b" },
|
||||||
|
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
|
||||||
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "c953789db7fd28eafe5eb5659846d34b5024b3cc" },
|
||||||
|
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
|
||||||
|
"neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" },
|
||||||
|
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||||
|
"nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" },
|
||||||
|
"nvim-lspconfig": { "branch": "master", "commit": "79c9a15be5731bc8694840a8fb0c9141c20a80c0" },
|
||||||
|
"nvim-treesitter": { "branch": "main", "commit": "19c729dae6e0eeb79423df0cf37780aa9a7cc3b7" },
|
||||||
|
"nvim-web-devicons": { "branch": "master", "commit": "803353450c374192393f5387b6a0176d0972b848" },
|
||||||
|
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||||
|
"rose-pine": { "branch": "main", "commit": "cf2a288696b03d0934da713d66c6d71557b5c997" }
|
||||||
|
}
|
||||||
29
.config/nvim/lsp/ts_ls.lua
Normal file
29
.config/nvim/lsp/ts_ls.lua
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
return {
|
||||||
|
settings = {
|
||||||
|
typescript = {
|
||||||
|
inlayHints = {
|
||||||
|
includeInlayParameterNameHints = "all",
|
||||||
|
includeInlayParameterNameHintsWhenArgumentMatchesName = true,
|
||||||
|
includeInlayFunctionParameterTypeHints = true,
|
||||||
|
includeInlayVariableTypeHints = true,
|
||||||
|
includeInlayVariableTypeHintsWhenTypeMatchesName = true,
|
||||||
|
includeInlayPropertyDeclarationTypeHints = true,
|
||||||
|
includeInlayFunctionLikeReturnTypeHints = true,
|
||||||
|
includeInlayEnumMemberValueHints = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
javascript = {
|
||||||
|
inlayHints = {
|
||||||
|
includeInlayParameterNameHints = "all",
|
||||||
|
includeInlayParameterNameHintsWhenArgumentMatchesName = true,
|
||||||
|
includeInlayFunctionParameterTypeHints = true,
|
||||||
|
includeInlayVariableTypeHints = true,
|
||||||
|
includeInlayVariableTypeHintsWhenTypeMatchesName = true,
|
||||||
|
includeInlayPropertyDeclarationTypeHints = true,
|
||||||
|
includeInlayFunctionLikeReturnTypeHints = true,
|
||||||
|
includeInlayEnumMemberValueHints = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
-- Bootstrap lazy.nvim
|
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
|
||||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
|
||||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
|
||||||
if vim.v.shell_error ~= 0 then
|
|
||||||
vim.api.nvim_echo({
|
|
||||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
|
||||||
{ out, "WarningMsg" },
|
|
||||||
{ "\nPress any key to exit..." },
|
|
||||||
}, true, {})
|
|
||||||
vim.fn.getchar()
|
|
||||||
os.exit(1)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
vim.opt.rtp:prepend(lazypath)
|
|
||||||
|
|
||||||
-- Make sure to setup `mapleader` and `maplocalleader` before
|
|
||||||
-- loading lazy.nvim so that mappings are correct.
|
|
||||||
-- This is also a good place to setup other settings (vim.opt)
|
|
||||||
vim.g.mapleader = " "
|
|
||||||
vim.g.maplocalleader = "\\"
|
|
||||||
|
|
||||||
-- Setup lazy.nvim
|
|
||||||
require("lazy").setup({
|
|
||||||
spec = {
|
|
||||||
-- import your plugins
|
|
||||||
{ import = "plugins" },
|
|
||||||
},
|
|
||||||
-- Configure any other settings here. See the documentation for more details.
|
|
||||||
-- colorscheme that will be used when installing plugins.
|
|
||||||
install = { colorscheme = {"tokyonight", "habamax" } },
|
|
||||||
-- automatically check for plugin updates
|
|
||||||
checker = { enabled = true },
|
|
||||||
})
|
|
||||||
14
.config/nvim/lua/plugins/codecompanion.lua
Normal file
14
.config/nvim/lua/plugins/codecompanion.lua
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
vim.pack.add({ {
|
||||||
|
src = "https://www.github.com/olimorris/codecompanion.nvim",
|
||||||
|
version = vim.version.range("^19.0.0")
|
||||||
|
} })
|
||||||
|
|
||||||
|
-- Somewhere in your config
|
||||||
|
require("codecompanion").setup({
|
||||||
|
interactions = {
|
||||||
|
chat = {
|
||||||
|
adapter = "ollama",
|
||||||
|
model = "qwen2.5-coder:7b "
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
26
.config/nvim/lua/plugins/conform.lua
Normal file
26
.config/nvim/lua/plugins/conform.lua
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
vim.pack.add({
|
||||||
|
'https://github.com/stevearc/conform.nvim'
|
||||||
|
})
|
||||||
|
|
||||||
|
require('conform').setup({
|
||||||
|
formatters_by_ft = {
|
||||||
|
cpp = { "clang-format" },
|
||||||
|
python = { "black" },
|
||||||
|
typescript = { "prettier" },
|
||||||
|
typescriptreact = { "prettier" },
|
||||||
|
},
|
||||||
|
-- Set default options
|
||||||
|
default_format_opts = {
|
||||||
|
lsp_format = "fallback",
|
||||||
|
},
|
||||||
|
-- Set up format-on-save
|
||||||
|
format_on_save = { timeout_ms = 10000 },
|
||||||
|
-- Customize formatters
|
||||||
|
formatters = {
|
||||||
|
-- ['clang-format'] = {
|
||||||
|
-- append_args = function(self, ctx)
|
||||||
|
-- return { "-style={IndentWidth: 4}" }
|
||||||
|
-- end,
|
||||||
|
-- },
|
||||||
|
},
|
||||||
|
})
|
||||||
6
.config/nvim/lua/plugins/diffview.lua
Normal file
6
.config/nvim/lua/plugins/diffview.lua
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
vim.pack.add({
|
||||||
|
'https://github.com/sindrets/diffview.nvim',
|
||||||
|
})
|
||||||
|
|
||||||
|
require('diffview').setup({
|
||||||
|
})
|
||||||
18
.config/nvim/lua/plugins/fff.lua
Normal file
18
.config/nvim/lua/plugins/fff.lua
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
vim.pack.add({ 'https://github.com/dmtrKovalenko/fff.nvim' })
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd('PackChanged', {
|
||||||
|
callback = function(ev)
|
||||||
|
local name, kind = ev.data.spec.name, ev.data.kind
|
||||||
|
if name == 'fff.nvim' and (kind == 'install' or kind == 'update') then
|
||||||
|
if not ev.data.active then vim.cmd.packadd('fff.nvim') end
|
||||||
|
require('fff.download').download_or_build_binary()
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.g.fff = {
|
||||||
|
lazy_sync = true,
|
||||||
|
debug = { enabled = true, show_scores = true },
|
||||||
|
}
|
||||||
|
|
||||||
|
vim.keymap.set('n', 'ff', function() require('fff').live_grep() end, { desc = 'FFFind files' })
|
||||||
@@ -1,11 +1,10 @@
|
|||||||
return {
|
vim.pack.add({
|
||||||
|
'https://github.com/neovim/nvim-lspconfig',
|
||||||
|
'https://github.com/mason-org/mason.nvim',
|
||||||
|
'https://github.com/mason-org/mason-lspconfig.nvim',
|
||||||
|
})
|
||||||
|
|
||||||
{
|
require('mason').setup({
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mason-org/mason.nvim",
|
|
||||||
opts = {
|
|
||||||
ui = {
|
ui = {
|
||||||
icons = {
|
icons = {
|
||||||
package_installed = "✓",
|
package_installed = "✓",
|
||||||
@@ -13,55 +12,18 @@ return {
|
|||||||
package_uninstalled = "✗"
|
package_uninstalled = "✗"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
|
require('mason-lspconfig').setup({
|
||||||
|
ensure_installed = {
|
||||||
|
"svelte",
|
||||||
|
"clangd",
|
||||||
|
"ts_ls",
|
||||||
|
"pyright",
|
||||||
|
"lua_ls"
|
||||||
},
|
},
|
||||||
{
|
automatic_enable = true,
|
||||||
"williamboman/mason-lspconfig.nvim",
|
})
|
||||||
opts = {
|
vim.lsp.config('svelte', {
|
||||||
ensure_installed = { "clangd" },
|
-- capabilities = svelte_lsp_capabilities,
|
||||||
},
|
filetypes = { "svelte" },
|
||||||
dependencies = {
|
})
|
||||||
{ "mason-org/mason.nvim", opts = {} },
|
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'hrsh7th/nvim-cmp',
|
|
||||||
opts = {
|
|
||||||
sources = {
|
|
||||||
{ name = 'nvim_lsp' },
|
|
||||||
{ name = 'buffer' },
|
|
||||||
{ name = 'path' },
|
|
||||||
}
|
|
||||||
},
|
|
||||||
dependencies = {
|
|
||||||
{'L3MON4D3/LuaSnip'},
|
|
||||||
{'hrsh7th/cmp-buffer'},
|
|
||||||
{'hrsh7th/cmp-nvim-lsp'},
|
|
||||||
{'saadparwaiz1/cmp_luasnip'},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'stevearc/conform.nvim',
|
|
||||||
opts = {
|
|
||||||
-- Define your formatters
|
|
||||||
formatters_by_ft = {
|
|
||||||
cpp = { "clang-format" },
|
|
||||||
},
|
|
||||||
-- Set default options
|
|
||||||
default_format_opts = {
|
|
||||||
lsp_format = "fallback",
|
|
||||||
},
|
|
||||||
-- Set up format-on-save
|
|
||||||
format_on_save = { timeout_ms = 500 },
|
|
||||||
-- Customize formatters
|
|
||||||
formatters = {
|
|
||||||
['clang-format'] = {
|
|
||||||
append_args = function(self, ctx)
|
|
||||||
return { "-style={IndentWidth: 4}" }
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
return {
|
vim.pack.add({
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
--Neo-Tree
|
||||||
branch = "v3.x",
|
'https://github.com/MunifTanjim/nui.nvim',
|
||||||
dependencies = {
|
'https://github.com/nvim-lua/plenary.nvim',
|
||||||
"nvim-lua/plenary.nvim",
|
"https://github.com/nvim-tree/nvim-web-devicons",
|
||||||
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
|
'https://github.com/nvim-neo-tree/neo-tree.nvim',
|
||||||
"MunifTanjim/nui.nvim",
|
})
|
||||||
{"3rd/image.nvim", opts = {}}, -- Optional image support in preview window: See `# Preview Mode` for more information
|
|
||||||
}
|
require("neo-tree").setup({
|
||||||
}
|
close_if_last_window = true,
|
||||||
|
})
|
||||||
|
|||||||
@@ -1,17 +1,14 @@
|
|||||||
return {
|
|
||||||
"rose-pine/neovim",
|
|
||||||
name = "rose-pine",
|
|
||||||
|
|
||||||
config = function()
|
vim.pack.add({
|
||||||
local configs = require("rose-pine");
|
'https://github.com/rose-pine/neovim',
|
||||||
|
})
|
||||||
|
|
||||||
configs.setup({
|
require("rose-pine").setup({
|
||||||
variant = "moon",
|
variant = "moon",
|
||||||
styles = {
|
styles = {
|
||||||
transparency = true;
|
transparency = true;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.cmd("colorscheme rose-pine")
|
|
||||||
end
|
vim.cmd[[colorscheme rose-pine]]
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,20 +1,18 @@
|
|||||||
return{
|
vim.pack.add({
|
||||||
"nvim-treesitter/nvim-treesitter",
|
'https://github.com/nvim-treesitter/nvim-treesitter'
|
||||||
build = ":TSUpdate",
|
|
||||||
dependencies = {
|
|
||||||
-- Automatically install LSPs and related tools to stdpath for Neovim
|
|
||||||
"williamboman/mason.nvim",
|
|
||||||
"williamboman/mason-lspconfig.nvim",
|
|
||||||
},
|
|
||||||
config = function ()
|
|
||||||
|
|
||||||
local configs = require("nvim-treesitter.configs")
|
|
||||||
|
|
||||||
configs.setup({
|
|
||||||
ensure_installed = { "c", "cpp", "lua", "vim", "vimdoc", "query", "elixir", "heex", "javascript", "html" },
|
|
||||||
sync_install = false,
|
|
||||||
highlight = { enable = true },
|
|
||||||
indent = { enable = true },
|
|
||||||
})
|
})
|
||||||
end
|
|
||||||
}
|
require('nvim-treesitter').setup({
|
||||||
|
highlight = {
|
||||||
|
enable = true
|
||||||
|
},
|
||||||
|
})
|
||||||
|
require('nvim-treesitter').install({ 'lua', 'rust', 'javascript', 'zig', "c", "typescript", "cpp", "haskell", "svelte",
|
||||||
|
"python", "vim", "vimdoc", "html", "wgsl" })
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd('FileType', {
|
||||||
|
callback = function(args)
|
||||||
|
pcall(vim.treesitter.start, args.buf)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
vim.filetype.add({ extension = { wgsl = "wgsl" } })
|
||||||
|
|||||||
7
.config/nvim/lua/plugins/which-key.lua
Normal file
7
.config/nvim/lua/plugins/which-key.lua
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
vim.pack.add({
|
||||||
|
'https://github.com/folke/which-key.nvim',
|
||||||
|
})
|
||||||
|
|
||||||
|
require("which-key").setup({
|
||||||
|
|
||||||
|
})
|
||||||
61
.config/nvim/nvim-pack-lock.json
Normal file
61
.config/nvim/nvim-pack-lock.json
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
"plugins": {
|
||||||
|
"codecompanion.nvim": {
|
||||||
|
"rev": "5b87dd95a5b62bbf198ef147b96d22751ccc1faa",
|
||||||
|
"src": "https://www.github.com/olimorris/codecompanion.nvim",
|
||||||
|
"version": "19.0.0 - 20.0.0"
|
||||||
|
},
|
||||||
|
"conform.nvim": {
|
||||||
|
"rev": "40dcec5555f960b0a04340d76eabdf4efe78599d",
|
||||||
|
"src": "https://github.com/stevearc/conform.nvim"
|
||||||
|
},
|
||||||
|
"diffview.nvim": {
|
||||||
|
"rev": "4516612fe98ff56ae0415a259ff6361a89419b0a",
|
||||||
|
"src": "https://github.com/sindrets/diffview.nvim"
|
||||||
|
},
|
||||||
|
"fff.nvim": {
|
||||||
|
"rev": "fbee146c44c99b02fc00ad1d5d32f44e53e2aeec",
|
||||||
|
"src": "https://github.com/dmtrKovalenko/fff.nvim"
|
||||||
|
},
|
||||||
|
"mason-lspconfig.nvim": {
|
||||||
|
"rev": "a324581a3c83fdacdb9804b79de1cbe00ce18550",
|
||||||
|
"src": "https://github.com/mason-org/mason-lspconfig.nvim"
|
||||||
|
},
|
||||||
|
"mason.nvim": {
|
||||||
|
"rev": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65",
|
||||||
|
"src": "https://github.com/mason-org/mason.nvim"
|
||||||
|
},
|
||||||
|
"neo-tree.nvim": {
|
||||||
|
"rev": "9d6826582a3e8c84787bd7355df22a2812a1ad59",
|
||||||
|
"src": "https://github.com/nvim-neo-tree/neo-tree.nvim"
|
||||||
|
},
|
||||||
|
"neovim": {
|
||||||
|
"rev": "cf2a288696b03d0934da713d66c6d71557b5c997",
|
||||||
|
"src": "https://github.com/rose-pine/neovim"
|
||||||
|
},
|
||||||
|
"nui.nvim": {
|
||||||
|
"rev": "de740991c12411b663994b2860f1a4fd0937c130",
|
||||||
|
"src": "https://github.com/MunifTanjim/nui.nvim"
|
||||||
|
},
|
||||||
|
"nvim-lspconfig": {
|
||||||
|
"rev": "2163c54bb6cfec53e3e555665ada945b8c8331b9",
|
||||||
|
"src": "https://github.com/neovim/nvim-lspconfig"
|
||||||
|
},
|
||||||
|
"nvim-treesitter": {
|
||||||
|
"rev": "5cb05e1b0fa3c469958a2b26f36b3fe930af221c",
|
||||||
|
"src": "https://github.com/nvim-treesitter/nvim-treesitter"
|
||||||
|
},
|
||||||
|
"nvim-web-devicons": {
|
||||||
|
"rev": "737cf6c657898d0c697311d79d361288a1343d50",
|
||||||
|
"src": "https://github.com/nvim-tree/nvim-web-devicons"
|
||||||
|
},
|
||||||
|
"plenary.nvim": {
|
||||||
|
"rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
|
||||||
|
"src": "https://github.com/nvim-lua/plenary.nvim"
|
||||||
|
},
|
||||||
|
"which-key.nvim": {
|
||||||
|
"rev": "3aab2147e74890957785941f0c1ad87d0a44c15a",
|
||||||
|
"src": "https://github.com/folke/which-key.nvim"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +1,11 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=Time based wallpaper switcher
|
Description=Time based wallpaper switcher
|
||||||
|
#Requires=hyprpaper.service
|
||||||
|
#After=hyprpaper.service
|
||||||
|
|
||||||
|
PartOf=graphical-session.target
|
||||||
|
After=graphical-session.target hyprpaper.service
|
||||||
Requires=hyprpaper.service
|
Requires=hyprpaper.service
|
||||||
After=graphical-session.target
|
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=Run foo weekly and on boot
|
Description=Run foo weekly and on boot
|
||||||
Requires=graphical-session.target
|
Requires=graphical-session.target,hyprpaper.service
|
||||||
|
|
||||||
[Timer]
|
[Timer]
|
||||||
OnCalendar=hourly
|
OnCalendar=hourly
|
||||||
|
|||||||
219
.config/waybar/config.jsonc
Normal file
219
.config/waybar/config.jsonc
Normal file
@@ -0,0 +1,219 @@
|
|||||||
|
// -*- mode: jsonc -*-
|
||||||
|
{
|
||||||
|
// "layer": "top", // Waybar at top layer
|
||||||
|
// "position": "bottom", // Waybar position (top|bottom|left|right)
|
||||||
|
"height": 30, // Waybar height (to be removed for auto height)
|
||||||
|
// "width": 1280, // Waybar width
|
||||||
|
"spacing": 4, // Gaps between modules (4px)
|
||||||
|
// Choose the order of the modules
|
||||||
|
"modules-left": [
|
||||||
|
"sway/workspaces",
|
||||||
|
"sway/mode",
|
||||||
|
"sway/scratchpad",
|
||||||
|
"custom/media"
|
||||||
|
],
|
||||||
|
"modules-center": [
|
||||||
|
"sway/window"
|
||||||
|
],
|
||||||
|
"modules-right": [
|
||||||
|
"mpd",
|
||||||
|
"idle_inhibitor",
|
||||||
|
"pulseaudio",
|
||||||
|
//"network",
|
||||||
|
"power-profiles-daemon",
|
||||||
|
"cpu",
|
||||||
|
"memory",
|
||||||
|
"temperature",
|
||||||
|
"backlight",
|
||||||
|
"keyboard-state",
|
||||||
|
"sway/language",
|
||||||
|
"battery",
|
||||||
|
"battery#bat2",
|
||||||
|
"clock",
|
||||||
|
"tray",
|
||||||
|
"custom/power"
|
||||||
|
],
|
||||||
|
// Modules configuration
|
||||||
|
// "sway/workspaces": {
|
||||||
|
// "disable-scroll": true,
|
||||||
|
// "all-outputs": true,
|
||||||
|
// "warp-on-scroll": false,
|
||||||
|
// "format": "{name}: {icon}",
|
||||||
|
// "format-icons": {
|
||||||
|
// "1": "",
|
||||||
|
// "2": "",
|
||||||
|
// "3": "",
|
||||||
|
// "4": "",
|
||||||
|
// "5": "",
|
||||||
|
// "urgent": "",
|
||||||
|
// "focused": "",
|
||||||
|
// "default": ""
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
"keyboard-state": {
|
||||||
|
"numlock": true,
|
||||||
|
"capslock": true,
|
||||||
|
"format": "{name} {icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"locked": "",
|
||||||
|
"unlocked": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sway/mode": {
|
||||||
|
"format": "<span style=\"italic\">{}</span>"
|
||||||
|
},
|
||||||
|
"sway/scratchpad": {
|
||||||
|
"format": "{icon} {count}",
|
||||||
|
"show-empty": false,
|
||||||
|
"format-icons": ["", ""],
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "{app}: {title}"
|
||||||
|
},
|
||||||
|
"mpd": {
|
||||||
|
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
|
||||||
|
"format-disconnected": "Disconnected ",
|
||||||
|
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
|
||||||
|
"unknown-tag": "N/A",
|
||||||
|
"interval": 5,
|
||||||
|
"consume-icons": {
|
||||||
|
"on": " "
|
||||||
|
},
|
||||||
|
"random-icons": {
|
||||||
|
"off": "<span color=\"#f53c3c\"></span> ",
|
||||||
|
"on": " "
|
||||||
|
},
|
||||||
|
"repeat-icons": {
|
||||||
|
"on": " "
|
||||||
|
},
|
||||||
|
"single-icons": {
|
||||||
|
"on": "1 "
|
||||||
|
},
|
||||||
|
"state-icons": {
|
||||||
|
"paused": "",
|
||||||
|
"playing": ""
|
||||||
|
},
|
||||||
|
"tooltip-format": "MPD (connected)",
|
||||||
|
"tooltip-format-disconnected": "MPD (disconnected)"
|
||||||
|
},
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"activated": "",
|
||||||
|
"deactivated": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tray": {
|
||||||
|
// "icon-size": 21,
|
||||||
|
"spacing": 10,
|
||||||
|
// "icons": {
|
||||||
|
// "blueman": "bluetooth",
|
||||||
|
// "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png"
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
// "timezone": "America/New_York",
|
||||||
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"format-alt": "{:%Y-%m-%d}"
|
||||||
|
},
|
||||||
|
"cpu": {
|
||||||
|
"format": "{usage}% ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"format": "{}% "
|
||||||
|
},
|
||||||
|
"temperature": {
|
||||||
|
"thermal-zone": 7,
|
||||||
|
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
|
||||||
|
"critical-threshold": 80,
|
||||||
|
// "format-critical": "{temperatureC}°C {icon}",
|
||||||
|
"format": "{temperatureC}°C {icon}",
|
||||||
|
"format-icons": ["", "", ""]
|
||||||
|
},
|
||||||
|
"backlight": {
|
||||||
|
// "device": "acpi_video1",
|
||||||
|
"format": "{percent}% {icon}",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", ""]
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
// "good": 95,
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{capacity}% {icon}",
|
||||||
|
"format-full": "{capacity}% {icon}",
|
||||||
|
"format-charging": "{capacity}% ",
|
||||||
|
"format-plugged": "{capacity}% ",
|
||||||
|
"format-alt": "{time} {icon}",
|
||||||
|
// "format-good": "", // An empty format will hide the module
|
||||||
|
// "format-full": "",
|
||||||
|
"format-icons": ["", "", "", "", ""]
|
||||||
|
},
|
||||||
|
"battery#bat2": {
|
||||||
|
"bat": "BAT2"
|
||||||
|
},
|
||||||
|
"power-profiles-daemon": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
|
||||||
|
"tooltip": true,
|
||||||
|
"format-icons": {
|
||||||
|
"default": "",
|
||||||
|
"performance": "",
|
||||||
|
"balanced": "",
|
||||||
|
"power-saver": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// "network": {
|
||||||
|
// // "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||||
|
// "format-wifi": "{essid} ({signalStrength}%) ",
|
||||||
|
// "format-ethernet": "{ipaddr}/{cidr} ",
|
||||||
|
// "tooltip-format": "{ifname} via {gwaddr} ",
|
||||||
|
// "format-linked": "{ifname} (No IP) ",
|
||||||
|
// "format-disconnected": "Disconnected ⚠",
|
||||||
|
// "format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||||
|
// },
|
||||||
|
"pulseaudio": {
|
||||||
|
// "scroll-step": 1, // %, can be a float
|
||||||
|
"format": "{volume}% {icon} {format_source}",
|
||||||
|
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||||
|
"format-bluetooth-muted": " {icon} {format_source}",
|
||||||
|
"format-muted": " {format_source}",
|
||||||
|
"format-source": "{volume}% ",
|
||||||
|
"format-source-muted": "",
|
||||||
|
"format-icons": {
|
||||||
|
"headphone": "",
|
||||||
|
"hands-free": "",
|
||||||
|
"headset": "",
|
||||||
|
"phone": "",
|
||||||
|
"portable": "",
|
||||||
|
"car": "",
|
||||||
|
"default": ["", "", ""]
|
||||||
|
},
|
||||||
|
"on-click": "pavucontrol"
|
||||||
|
},
|
||||||
|
"custom/media": {
|
||||||
|
"format": "{icon} {text}",
|
||||||
|
"return-type": "json",
|
||||||
|
"max-length": 40,
|
||||||
|
"format-icons": {
|
||||||
|
"spotify": "",
|
||||||
|
"default": "🎜"
|
||||||
|
},
|
||||||
|
"escape": true,
|
||||||
|
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
|
||||||
|
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
|
||||||
|
},
|
||||||
|
"custom/power": {
|
||||||
|
"format" : "⏾",
|
||||||
|
"tooltip": false,
|
||||||
|
"menu": "on-click",
|
||||||
|
"menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder
|
||||||
|
"menu-actions": {
|
||||||
|
"shutdown": "shutdown",
|
||||||
|
"reboot": "reboot",
|
||||||
|
"suspend": "systemctl suspend",
|
||||||
|
"hibernate": "systemctl hibernate"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
28
.config/waybar/power_menu.xml
Normal file
28
.config/waybar/power_menu.xml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<object class="GtkMenu" id="menu">
|
||||||
|
<child>
|
||||||
|
<object class="GtkMenuItem" id="suspend">
|
||||||
|
<property name="label">Suspend</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkMenuItem" id="hibernate">
|
||||||
|
<property name="label">Hibernate</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkMenuItem" id="shutdown">
|
||||||
|
<property name="label">Shutdown</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkSeparatorMenuItem" id="delimiter1"/>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkMenuItem" id="reboot">
|
||||||
|
<property name="label">Reboot</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
@@ -1,16 +1,19 @@
|
|||||||
|
@define-color primary-bg #191724;
|
||||||
|
|
||||||
|
|
||||||
* {
|
* {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
/*border-bottom-right-radius: 4px;*/
|
/*border-bottom-right-radius: 4px;*/
|
||||||
/* `ttf-font-awesome` is required to be installed for icons */
|
/* `ttf-font-awesome` is required to be installed for icons */
|
||||||
font-family: "Roboto Mono Medium", Helvetica, Arial, sans-serif;
|
font-family: Inter;
|
||||||
|
|
||||||
/* adjust font-size value to your liking: */
|
/* adjust font-size value to your liking: */
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
|
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
window#waybar {
|
window#waybar {
|
||||||
background-color: rgba(0, 0, 0, 0.5);
|
background-color: rgba(0, 0, 0, 0.5);
|
||||||
/* border-bottom: 3px solid rgba(100, 114, 125, 0.5); */
|
/* border-bottom: 3px solid rgba(100, 114, 125, 0.5); */
|
||||||
@@ -35,11 +38,11 @@ window#waybar.solo {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* window#waybar.termite {
|
/* window#waybar.termite {
|
||||||
background-color: #000000;
|
background-color: @primary-bg;
|
||||||
}
|
}
|
||||||
|
|
||||||
window#waybar.chromium {
|
window#waybar.chromium {
|
||||||
background-color: #000000;
|
background-color: @primary-bg;
|
||||||
border: none;
|
border: none;
|
||||||
} */
|
} */
|
||||||
|
|
||||||
@@ -83,6 +86,7 @@ window#waybar.chromium {
|
|||||||
#tray,
|
#tray,
|
||||||
#mode,
|
#mode,
|
||||||
#idle_inhibitor,
|
#idle_inhibitor,
|
||||||
|
#custom-power,
|
||||||
#mpd {
|
#mpd {
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
margin: 6px 3px;
|
margin: 6px 3px;
|
||||||
@@ -105,18 +109,18 @@ window#waybar.chromium {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#clock {
|
#clock {
|
||||||
background-color: #000000;
|
background-color: @primary-bg;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery {
|
#battery {
|
||||||
background-color: #000000;
|
background-color: @primary-bg;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery.charging {
|
#battery.charging {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background-color: #000000;
|
background-color: @primary-bg;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes blink {
|
@keyframes blink {
|
||||||
@@ -137,26 +141,26 @@ window#waybar.chromium {
|
|||||||
}
|
}
|
||||||
|
|
||||||
label:focus {
|
label:focus {
|
||||||
background-color: #000000;
|
background-color: @primary-bg;
|
||||||
}
|
}
|
||||||
|
|
||||||
#cpu {
|
#cpu {
|
||||||
background-color: #000000;
|
background-color: @primary-bg;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
#memory {
|
#memory {
|
||||||
background-color: #000000;
|
background-color: @primary-bg;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
#backlight {
|
#backlight {
|
||||||
background-color: #000000;
|
background-color: @primary-bg;
|
||||||
color:white;
|
color:white;
|
||||||
}
|
}
|
||||||
|
|
||||||
#network {
|
#network {
|
||||||
background-color: #000000;
|
background-color: @primary-bg;
|
||||||
color:white;
|
color:white;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -166,12 +170,12 @@ label:focus {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#pulseaudio {
|
#pulseaudio {
|
||||||
background-color: #000000;
|
background-color: @primary-bg;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pulseaudio.muted {
|
#pulseaudio.muted {
|
||||||
background-color: #000000;
|
background-color: @primary-bg;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -190,15 +194,15 @@ label:focus {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#temperature {
|
#temperature {
|
||||||
background-color: #f0932b;
|
background-color: #9ccfd8;
|
||||||
}
|
}
|
||||||
|
|
||||||
#temperature.critical {
|
#temperature.critical {
|
||||||
background-color: #eb4d4b;
|
background-color: #eb6f92;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray {
|
#tray {
|
||||||
background-color: #2980b9;
|
background-color: #26233a;
|
||||||
}
|
}
|
||||||
|
|
||||||
#idle_inhibitor {
|
#idle_inhibitor {
|
||||||
@@ -238,7 +242,11 @@ label:focus {
|
|||||||
#power-profiles-daemon{
|
#power-profiles-daemon{
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
padding: 0 10px 0px 7px;
|
padding: 0 10px 0px 7px;
|
||||||
background-color: #000000;
|
background-color: @primary-bg;
|
||||||
margin: 6px 3px;
|
margin: 6px 3px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
#custom-power{
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #26233a;
|
||||||
|
}
|
||||||
|
|||||||
1
.config/xieves-dotfiles
Submodule
1
.config/xieves-dotfiles
Submodule
Submodule .config/xieves-dotfiles added at 1555dea674
1746
.config/zsh_custom/10-p10k.zsh
Normal file
1746
.config/zsh_custom/10-p10k.zsh
Normal file
File diff suppressed because it is too large
Load Diff
2
.config/zsh_custom/90-aliases.zsh
Normal file
2
.config/zsh_custom/90-aliases.zsh
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
alias dotfiles='/usr/bin/git --git-dir="$HOME/.dotfiles/" --work-tree="$HOME"'
|
||||||
|
alias ssh='kitty +kitten ssh'
|
||||||
1
.config/zsh_custom/plugins/zsh-autosuggestions
Submodule
1
.config/zsh_custom/plugins/zsh-autosuggestions
Submodule
Submodule .config/zsh_custom/plugins/zsh-autosuggestions added at 85919cd1ff
Submodule .config/zsh_custom/plugins/zsh-syntax-highlighting added at 5eb677bb0f
1
.config/zsh_custom/themes/powerlevel10k
Submodule
1
.config/zsh_custom/themes/powerlevel10k
Submodule
Submodule .config/zsh_custom/themes/powerlevel10k added at 36f3045d69
15
.gitmodules
vendored
Normal file
15
.gitmodules
vendored
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
[submodule ".config/zsh_custom/themes/powerlevel10k"]
|
||||||
|
path = .config/zsh_custom/themes/powerlevel10k
|
||||||
|
url = https://github.com/romkatv/powerlevel10k.git
|
||||||
|
[submodule ".config/zsh_custom/plugins/zsh-syntax-highlighting"]
|
||||||
|
path = .config/zsh_custom/plugins/zsh-syntax-highlighting
|
||||||
|
url = https://github.com/zsh-users/zsh-syntax-highlighting
|
||||||
|
[submodule ".config/zsh_custom/plugins/zsh-autosuggestions"]
|
||||||
|
path = .config/zsh_custom/plugins/zsh-autosuggestions
|
||||||
|
url = https://github.com/zsh-users/zsh-autosuggestions
|
||||||
|
[submodule ".ohmyzsh"]
|
||||||
|
path = .ohmyzsh
|
||||||
|
url = https://github.com/ohmyzsh/ohmyzsh.git
|
||||||
|
[submodule ".config/xieves-dotfiles"]
|
||||||
|
path = .config/xieves-dotfiles
|
||||||
|
url = https://gitlab.com/xieve/dotfiles
|
||||||
1
.ohmyzsh
Submodule
1
.ohmyzsh
Submodule
Submodule .ohmyzsh added at d57775d89e
8
.tmux.conf
Normal file
8
.tmux.conf
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#set-option -g remain-on-exit on
|
||||||
|
set-option -g default-shell /bin/zsh
|
||||||
|
set -g history-limit 30000
|
||||||
|
# Allow Tmux to pass through OSC 52 escape sequences
|
||||||
|
set -g allow-passthrough on
|
||||||
|
|
||||||
|
set -g mouse on
|
||||||
|
set -g set-clipboard on
|
||||||
132
.zshrc
Normal file
132
.zshrc
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
||||||
|
# Initialization code that may require console input (password prompts, [y/n]
|
||||||
|
# confirmations, etc.) must go above this block; everything else may go below.
|
||||||
|
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||||
|
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If you come from bash you might have to change your $PATH.
|
||||||
|
# export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH
|
||||||
|
|
||||||
|
# Path to your Oh My Zsh installation.
|
||||||
|
export ZSH="$HOME/.ohmyzsh"
|
||||||
|
export ZSH_CUSTOM="$HOME/.config/zsh_custom"
|
||||||
|
# Set name of the theme to load --- if set to "random", it will
|
||||||
|
# load a random theme each time Oh My Zsh is loaded, in which case,
|
||||||
|
# to know which specific one was loaded, run: echo $RANDOM_THEME
|
||||||
|
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
||||||
|
ZSH_THEME="powerlevel10k/powerlevel10k"
|
||||||
|
|
||||||
|
if [[ -n $ZMX_SESSION ]]; then
|
||||||
|
export PS1="[$ZMX_SESSION] ${PS1}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export ANDROID_PW_FILE="/tmp/key_list.txt"
|
||||||
|
export EDITOR="nvim"
|
||||||
|
|
||||||
|
# Set list of themes to pick from when loading at random
|
||||||
|
# Setting this variable when ZSH_THEME=random will cause zsh to load
|
||||||
|
# a theme from this variable instead of looking in $ZSH/themes/
|
||||||
|
# If set to an empty array, this variable will have no effect.
|
||||||
|
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
|
||||||
|
|
||||||
|
# Uncomment the following line to use case-sensitive completion.
|
||||||
|
# CASE_SENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to use hyphen-insensitive completion.
|
||||||
|
# Case-sensitive completion must be off. _ and - will be interchangeable.
|
||||||
|
# HYPHEN_INSENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment one of the following lines to change the auto-update behavior
|
||||||
|
zstyle ':omz:update' mode disabled # disable automatic updates
|
||||||
|
# zstyle ':omz:update' mode auto # update automatically without asking
|
||||||
|
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
|
||||||
|
|
||||||
|
# Uncomment the following line to change how often to auto-update (in days).
|
||||||
|
# zstyle ':omz:update' frequency 13
|
||||||
|
|
||||||
|
# Uncomment the following line if pasting URLs and other text is messed up.
|
||||||
|
# DISABLE_MAGIC_FUNCTIONS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable colors in ls.
|
||||||
|
# DISABLE_LS_COLORS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable auto-setting terminal title.
|
||||||
|
# DISABLE_AUTO_TITLE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to enable command auto-correction.
|
||||||
|
# ENABLE_CORRECTION="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||||
|
# You can also set it to another string to have that shown instead of the default red dots.
|
||||||
|
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
|
||||||
|
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
|
||||||
|
# COMPLETION_WAITING_DOTS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to disable marking untracked files
|
||||||
|
# under VCS as dirty. This makes repository status check for large repositories
|
||||||
|
# much, much faster.
|
||||||
|
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to change the command execution time
|
||||||
|
# stamp shown in the history command output.
|
||||||
|
# You can set one of the optional three formats:
|
||||||
|
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
||||||
|
# or set a custom format using the strftime function format specifications,
|
||||||
|
# see 'man strftime' for details.
|
||||||
|
# HIST_STAMPS="mm/dd/yyyy"
|
||||||
|
|
||||||
|
# Would you like to use another custom folder than $ZSH/custom?
|
||||||
|
# ZSH_CUSTOM=/path/to/new-custom-folder
|
||||||
|
|
||||||
|
# Which plugins would you like to load?
|
||||||
|
# Standard plugins can be found in $ZSH/plugins/
|
||||||
|
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
||||||
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
|
# Add wisely, as too many plugins slow down shell startup.
|
||||||
|
plugins=(
|
||||||
|
git
|
||||||
|
zsh-syntax-highlighting
|
||||||
|
zsh-autosuggestions
|
||||||
|
)
|
||||||
|
|
||||||
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
|
# User configuration
|
||||||
|
|
||||||
|
# export MANPATH="/usr/local/man:$MANPATH"
|
||||||
|
|
||||||
|
# You may need to manually set your language environment
|
||||||
|
# export LANG=en_US.UTF-8
|
||||||
|
|
||||||
|
# Preferred editor for local and remote sessions
|
||||||
|
# if [[ -n $SSH_CONNECTION ]]; then
|
||||||
|
# export EDITOR='vim'
|
||||||
|
# else
|
||||||
|
# export EDITOR='nvim'
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# Compilation flags
|
||||||
|
# export ARCHFLAGS="-arch $(uname -m)"
|
||||||
|
|
||||||
|
# Set personal aliases, overriding those provided by Oh My Zsh libs,
|
||||||
|
# plugins, and themes. Aliases can be placed here, though Oh My Zsh
|
||||||
|
# users are encouraged to define aliases within a top-level file in
|
||||||
|
# the $ZSH_CUSTOM folder, with .zsh extension. Examples:
|
||||||
|
# - $ZSH_CUSTOM/aliases.zsh
|
||||||
|
# - $ZSH_CUSTOM/macos.zsh
|
||||||
|
# For a full list of active aliases, run `alias`.
|
||||||
|
#
|
||||||
|
# Example aliases
|
||||||
|
# alias zshconfig="mate ~/.zshrc"
|
||||||
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||||
|
|
||||||
|
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||||
|
|
||||||
|
# To customize prompt, run `p10k configure` or edit ~/.config/zsh_custom/10-p10k.zsh.
|
||||||
|
[[ ! -f ~/.config/zsh_custom/10-p10k.zsh ]] || source ~/.config/zsh_custom/10-p10k.zsh
|
||||||
|
export USE_CCACHE=1
|
||||||
|
export CCACHE_EXEC=/usr/bin/ccache
|
||||||
|
ccache -M 50G > /dev/null
|
||||||
|
|
||||||
|
path=("$HOME/.nix-profile/bin" $path)
|
||||||
5
README.md
Normal file
5
README.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Personal Dotfiles
|
||||||
|
|
||||||
|
# Nvim
|
||||||
|
|
||||||
|
As I'm using vim.pack for plugin managing, nvim >= 12.0 is required.
|
||||||
@@ -1,31 +1,41 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
pidof hyprpaper || hyprctl dispatch exec hyprpaper
|
|
||||||
PATHNAME=~/wallpaper/
|
PATHNAME=~/wallpaper/
|
||||||
cd $PATHNAME
|
cd $PATHNAME
|
||||||
printf -v date "%(%H)T"
|
date=`date +"%H"`
|
||||||
|
#alway interprete data as decimal number
|
||||||
|
date="10#$date"
|
||||||
|
|
||||||
until pid=$(hyprctl hyprpaper listloaded)
|
FOUND=-24
|
||||||
|
|
||||||
|
if [[ -f "last.txt" ]]; then
|
||||||
|
source "last.txt"
|
||||||
|
else
|
||||||
|
LAST_WALLPAPER=-1
|
||||||
|
fi
|
||||||
|
|
||||||
|
until [[ -e "$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.hyprpaper.sock" ]]
|
||||||
do
|
do
|
||||||
sleep 1
|
sleep 0.1
|
||||||
done
|
done
|
||||||
|
|
||||||
LAST=-1
|
|
||||||
FOUND=-1
|
|
||||||
for filename in $(ls *.{jpg,JPG,png,PNG} | sort -g)
|
for filename in $(ls *.{jpg,JPG,png,PNG} | sort -g)
|
||||||
do
|
do
|
||||||
if ((${filename%%.*} > date && ${FOUND%%.*} == -1));then
|
if (( ${filename%%.*} -date<=0 && ${filename%%.*} -date > ${FOUND%%.*} -date));then
|
||||||
#echo ${FOUND%%.*}
|
FOUND=$filename
|
||||||
FOUND=$LAST
|
# if ((${FOUND%%.*}==-1));then
|
||||||
if ((${FOUND%%.*}==-1));then
|
# FOUND=-2
|
||||||
FOUND=-2
|
# fi
|
||||||
fi
|
fi
|
||||||
fi
|
# LAST=$filename
|
||||||
LAST=$filename
|
|
||||||
done
|
done
|
||||||
|
|
||||||
if ((${FOUND%%.*} < 0));then
|
echo $FOUND
|
||||||
FOUND=$LAST
|
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
if [[ "$LAST_WALLPAPER" != "$FOUND" || "$( hyprctl layers | grep hyprpaper )" == "" ]] ;then
|
||||||
|
echo "change to $FOUND"
|
||||||
|
hyprctl hyprpaper wallpaper ",$FOUND"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
hyprctl hyprpaper wallpaper ",$PATHNAME$FOUND"
|
echo "LAST_WALLPAPER=$FOUND" > last.txt
|
||||||
echo ${FOUND%%.*}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user