Compare commits
25 Commits
691f61dc75
...
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 |
5
.bashrc
5
.bashrc
@@ -4,11 +4,6 @@
|
||||
# If not running interactively, don't do anything
|
||||
[[ $- != *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 grep='grep --color=auto'
|
||||
|
||||
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,20 +1,68 @@
|
||||
-- Basic settings
|
||||
vim.o.number = true -- Enable line numbers
|
||||
vim.o.relativenumber = true -- Enable relative line numbers
|
||||
vim.o.tabstop = 4 -- Number of spaces a tab represents
|
||||
vim.o.shiftwidth = 4 -- Number of spaces for each indentation
|
||||
-- vim.o.relativenumber = true -- Enable relative line numbers
|
||||
vim.o.tabstop = 2 -- Number of spaces a tab represents
|
||||
vim.o.shiftwidth = 2 -- Number of spaces for each indentation
|
||||
vim.o.expandtab = true -- Convert tabs to spaces
|
||||
vim.o.smartindent = true -- Automatically indent new lines
|
||||
vim.o.wrap = false -- Disable line wrapping
|
||||
vim.o.cursorline = true -- Highlight the current line
|
||||
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('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, notify = false },
|
||||
})
|
||||
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',
|
||||
})
|
||||
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
},
|
||||
{
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
require('mason').setup({
|
||||
ui = {
|
||||
icons = {
|
||||
package_installed = "✓",
|
||||
@@ -13,55 +12,18 @@ return {
|
||||
package_uninstalled = "✗"
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
require('mason-lspconfig').setup({
|
||||
ensure_installed = {
|
||||
"svelte",
|
||||
"clangd",
|
||||
"ts_ls",
|
||||
"pyright",
|
||||
"lua_ls"
|
||||
},
|
||||
{
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
opts = {
|
||||
ensure_installed = { "clangd" },
|
||||
},
|
||||
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,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
automatic_enable = true,
|
||||
})
|
||||
vim.lsp.config('svelte', {
|
||||
-- capabilities = svelte_lsp_capabilities,
|
||||
filetypes = { "svelte" },
|
||||
})
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
return {
|
||||
"nvim-neo-tree/neo-tree.nvim",
|
||||
branch = "v3.x",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
|
||||
"MunifTanjim/nui.nvim",
|
||||
{"3rd/image.nvim", opts = {}}, -- Optional image support in preview window: See `# Preview Mode` for more information
|
||||
}
|
||||
}
|
||||
vim.pack.add({
|
||||
--Neo-Tree
|
||||
'https://github.com/MunifTanjim/nui.nvim',
|
||||
'https://github.com/nvim-lua/plenary.nvim',
|
||||
"https://github.com/nvim-tree/nvim-web-devicons",
|
||||
'https://github.com/nvim-neo-tree/neo-tree.nvim',
|
||||
})
|
||||
|
||||
require("neo-tree").setup({
|
||||
close_if_last_window = true,
|
||||
})
|
||||
|
||||
@@ -1,17 +1,14 @@
|
||||
return {
|
||||
"rose-pine/neovim",
|
||||
name = "rose-pine",
|
||||
|
||||
config = function()
|
||||
local configs = require("rose-pine");
|
||||
vim.pack.add({
|
||||
'https://github.com/rose-pine/neovim',
|
||||
})
|
||||
|
||||
configs.setup({
|
||||
require("rose-pine").setup({
|
||||
variant = "moon",
|
||||
styles = {
|
||||
transparency = true;
|
||||
}
|
||||
})
|
||||
|
||||
vim.cmd("colorscheme rose-pine")
|
||||
end
|
||||
}
|
||||
|
||||
vim.cmd[[colorscheme rose-pine]]
|
||||
|
||||
@@ -1,20 +1,18 @@
|
||||
return{
|
||||
"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 },
|
||||
vim.pack.add({
|
||||
'https://github.com/nvim-treesitter/nvim-treesitter'
|
||||
})
|
||||
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]
|
||||
Description=Time based wallpaper switcher
|
||||
#Requires=hyprpaper.service
|
||||
#After=hyprpaper.service
|
||||
|
||||
PartOf=graphical-session.target
|
||||
After=graphical-session.target hyprpaper.service
|
||||
Requires=hyprpaper.service
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[Unit]
|
||||
Description=Run foo weekly and on boot
|
||||
Requires=graphical-session.target
|
||||
Requires=graphical-session.target,hyprpaper.service
|
||||
|
||||
[Timer]
|
||||
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-radius: 4px;
|
||||
/*border-bottom-right-radius: 4px;*/
|
||||
/* `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: */
|
||||
font-size: 10px;
|
||||
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
}
|
||||
window#waybar {
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
/* border-bottom: 3px solid rgba(100, 114, 125, 0.5); */
|
||||
@@ -35,11 +38,11 @@ window#waybar.solo {
|
||||
*/
|
||||
|
||||
/* window#waybar.termite {
|
||||
background-color: #000000;
|
||||
background-color: @primary-bg;
|
||||
}
|
||||
|
||||
window#waybar.chromium {
|
||||
background-color: #000000;
|
||||
background-color: @primary-bg;
|
||||
border: none;
|
||||
} */
|
||||
|
||||
@@ -83,6 +86,7 @@ window#waybar.chromium {
|
||||
#tray,
|
||||
#mode,
|
||||
#idle_inhibitor,
|
||||
#custom-power,
|
||||
#mpd {
|
||||
padding: 0 10px;
|
||||
margin: 6px 3px;
|
||||
@@ -105,18 +109,18 @@ window#waybar.chromium {
|
||||
}
|
||||
|
||||
#clock {
|
||||
background-color: #000000;
|
||||
background-color: @primary-bg;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#battery {
|
||||
background-color: #000000;
|
||||
background-color: @primary-bg;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#battery.charging {
|
||||
color: #ffffff;
|
||||
background-color: #000000;
|
||||
background-color: @primary-bg;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
@@ -137,26 +141,26 @@ window#waybar.chromium {
|
||||
}
|
||||
|
||||
label:focus {
|
||||
background-color: #000000;
|
||||
background-color: @primary-bg;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
background-color: #000000;
|
||||
background-color: @primary-bg;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#memory {
|
||||
background-color: #000000;
|
||||
background-color: @primary-bg;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#backlight {
|
||||
background-color: #000000;
|
||||
background-color: @primary-bg;
|
||||
color:white;
|
||||
}
|
||||
|
||||
#network {
|
||||
background-color: #000000;
|
||||
background-color: @primary-bg;
|
||||
color:white;
|
||||
|
||||
}
|
||||
@@ -166,12 +170,12 @@ label:focus {
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
background-color: #000000;
|
||||
background-color: @primary-bg;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
background-color: #000000;
|
||||
background-color: @primary-bg;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
@@ -190,15 +194,15 @@ label:focus {
|
||||
}
|
||||
|
||||
#temperature {
|
||||
background-color: #f0932b;
|
||||
background-color: #9ccfd8;
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
background-color: #eb4d4b;
|
||||
background-color: #eb6f92;
|
||||
}
|
||||
|
||||
#tray {
|
||||
background-color: #2980b9;
|
||||
background-color: #26233a;
|
||||
}
|
||||
|
||||
#idle_inhibitor {
|
||||
@@ -238,7 +242,11 @@ label:focus {
|
||||
#power-profiles-daemon{
|
||||
color: #ffffff;
|
||||
padding: 0 10px 0px 7px;
|
||||
background-color: #000000;
|
||||
background-color: @primary-bg;
|
||||
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
13
.gitmodules
vendored
13
.gitmodules
vendored
@@ -1,8 +1,5 @@
|
||||
[submodule ".ohmyzsh"]
|
||||
path = .ohmyzsh
|
||||
url = https://github.com/ohmyzsh/ohmyzsh.git
|
||||
[submodule "/home/amy/.config/zsh_custom/themes/powerlevel10k"]
|
||||
path = /home/amy/.config/zsh_custom/themes/powerlevel10k
|
||||
[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
|
||||
@@ -10,3 +7,9 @@
|
||||
[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
|
||||
|
||||
2
.ohmyzsh
2
.ohmyzsh
Submodule .ohmyzsh updated: 9e23925b85...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
|
||||
14
.zshrc
14
.zshrc
@@ -9,7 +9,7 @@ fi
|
||||
# export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH
|
||||
|
||||
# Path to your Oh My Zsh installation.
|
||||
export ZSH="$HOME/.oh-my-zsh"
|
||||
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,
|
||||
@@ -17,6 +17,13 @@ export ZSH_CUSTOM="$HOME/.config/zsh_custom"
|
||||
# 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/
|
||||
@@ -118,3 +125,8 @@ source $ZSH/oh-my-zsh.sh
|
||||
|
||||
# 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
|
||||
pidof hyprpaper || hyprctl dispatch exec hyprpaper
|
||||
PATHNAME=~/wallpaper/
|
||||
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
|
||||
sleep 1
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
LAST=-1
|
||||
FOUND=-1
|
||||
for filename in $(ls *.{jpg,JPG,png,PNG} | sort -g)
|
||||
do
|
||||
if ((${filename%%.*} > date && ${FOUND%%.*} == -1));then
|
||||
#echo ${FOUND%%.*}
|
||||
FOUND=$LAST
|
||||
if ((${FOUND%%.*}==-1));then
|
||||
FOUND=-2
|
||||
if (( ${filename%%.*} -date<=0 && ${filename%%.*} -date > ${FOUND%%.*} -date));then
|
||||
FOUND=$filename
|
||||
# if ((${FOUND%%.*}==-1));then
|
||||
# FOUND=-2
|
||||
# fi
|
||||
fi
|
||||
fi
|
||||
LAST=$filename
|
||||
# LAST=$filename
|
||||
done
|
||||
|
||||
if ((${FOUND%%.*} < 0));then
|
||||
FOUND=$LAST
|
||||
echo $FOUND
|
||||
|
||||
sleep 1
|
||||
|
||||
if [[ "$LAST_WALLPAPER" != "$FOUND" || "$( hyprctl layers | grep hyprpaper )" == "" ]] ;then
|
||||
echo "change to $FOUND"
|
||||
hyprctl hyprpaper wallpaper ",$FOUND"
|
||||
fi
|
||||
|
||||
hyprctl hyprpaper wallpaper ",$PATHNAME$FOUND"
|
||||
echo ${FOUND%%.*}
|
||||
echo "LAST_WALLPAPER=$FOUND" > last.txt
|
||||
|
||||
Reference in New Issue
Block a user