monitor and polybar stuff

This commit is contained in:
clint 2024-05-20 19:21:11 -05:00
parent 1a30463c0a
commit d475bd71ad
26 changed files with 87 additions and 635 deletions

View File

@ -290,3 +290,6 @@ bindsym $mod+Shift+m exec killall spt; exec killall spotifyd
# polybar
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
# monitor
exec xrandr --output HDMI-0 --left-of DP-3

View File

@ -1,26 +0,0 @@
-- local dap = require('dap')
-- dap.configurations.python = {
-- {
-- -- The first three options are required by nvim-dap
-- type = 'python'; -- the type here established the link to the adapter definition: `dap.adapters.python`
-- request = 'launch';
-- name = "Launch file";
--
-- -- Options below are for debugpy, see https://github.com/microsoft/debugpy/wiki/Debug-configuration-settings for supported options
--
-- program = "${file}"; -- This configuration will launch the current file if used.
-- pythonPath = function()
-- -- debugpy supports launching an application with a different interpreter then the one used to launch debugpy itself.
-- -- The code below looks for a `venv` or `.venv` folder in the current directly and uses the python within.
-- -- You could adapt this - to for example use the `VIRTUAL_ENV` environment variable.
-- local cwd = vim.fn.getcwd()
-- if vim.fn.executable(cwd .. '/venv/bin/python') == 1 then
-- return cwd .. '/venv/bin/python'
-- elseif vim.fn.executable(cwd .. '/.venv/bin/python') == 1 then
-- return cwd .. '/.venv/bin/python'
-- else
-- return '/usr/bin/python'
-- end
-- end;
-- },
-- }

View File

@ -1,2 +0,0 @@
require("mason").setup()
require("mason-lspconfig").setup()

View File

@ -1,8 +0,0 @@
local null_ls = require('null-ls')
require('null-ls').setup({
sources = {
null_ls.builtins.diagnostics.selene, -- i forgot what this is, can i delete it?
null_ls.builtins.formatting.black,
}
})

View File

@ -1,11 +0,0 @@
require("neo-tree").setup({
close_if_last_window = true,
filesystem = {
filtered_items = {
hide_dotfiles = false
}
},
window = {
width = 40
}
})

View File

@ -1 +0,0 @@
require('mini.surround').setup()

View File

@ -1,16 +0,0 @@
-- require("telescope").setup{
-- defaults = {
-- prompt_prefix = "$ ",
-- mappings = {
-- i = {
-- ["C-a"] = function() print("asdf") end
-- }
-- }
-- }
-- }
--
-- require("telescope").load_extension("fzf")
-- require("telescope").load_extension("file_browser")
-- require("telescope").load_extension("neoclip")
-- require("telescope").load_extension("possession")
-- require("telescope").load_extension("repo")

View File

@ -1,26 +0,0 @@
-- require('nvim-treesitter').setup({
-- -- enable syntax highlighting
-- highlight = {
-- enable = true,
-- },
-- -- enable indentation
-- indent = { enable = true },
-- -- enable autotagging (w/ nvim-ts-autotag plugin)
-- autotag = { enable = true },
-- -- ensure these language parsers are installed
-- ensure_installed = {
-- "json",
-- "yaml",
-- "html",
-- "css",
-- "markdown",
-- "bash",
-- "lua",
-- "vim",
-- "dockerfile",
-- "gitignore",
-- "python",
-- },
-- -- auto install above language parsers
-- auto_install = true,
-- })

View File

@ -1,12 +1,6 @@
vim.g.mapleader = '\\'
require("clint/lazy_bootstrap") -- bootstraps folke/lazy
----------------------------------------------[[ User Settings ]]
----------------------------------------------[[ Load Plugins ]]
require("lazy").setup(
{
spec = "plugins",
@ -15,4 +9,3 @@ require("lazy").setup(
) -- loads each lua/plugin/*
vim.cmd 'hi Normal guibg=NONE ctermbg=NONE'
require("clint") -- loads lua/clint/init.lua
-- require('dap-python').setup('~/.virtualenvs/debugpy/bin/python')

View File

@ -1,60 +0,0 @@
local cmp = require'cmp'
local capabilities = require('cmp_nvim_lsp').default_capabilities()
cmp.setup({
snippet = {
-- REQUIRED - you must specify a snippet engine
expand = function(args)
vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
end,
},
window = {
completion = cmp.config.window.bordered({
col_offset = -3, -- align the abbr and word on cursor (due to fields order below)
side_padding = 0,
}),
documentation = cmp.config.window.bordered(),
},
mapping = cmp.mapping.preset.insert({
['<C-b>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'luasnip' }, -- For luasnip users.
}, {
{ name = 'buffer' },
})
})
-- Set configuration for specific filetype.
cmp.setup.filetype('gitcommit', {
sources = cmp.config.sources({
{ name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it.
}, {
{ name = 'buffer' },
})
})
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline({ '/', '?' }, {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = 'buffer' }
}
})
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = 'path' }
}, {
{ name = 'cmdline' }
})
})

View File

@ -1,34 +0,0 @@
-- local dap = require('dap')
-- dap.adapters.python = {
-- type = 'executable';
-- command = '~/.virtualenvs/debugpy/bin/python';
-- args = { '-m', 'debugpy.adapter' };
-- }
--
--
-- local dap = require('dap')
-- dap.configurations.python = {
-- {
-- -- The first three options are required by nvim-dap
-- type = 'python'; -- the type here established the link to the adapter definition: `dap.adapters.python`
-- request = 'launch';
-- name = "Launch file";
--
-- -- Options below are for debugpy, see https://github.com/microsoft/debugpy/wiki/Debug-configuration-settings for supported options
--
-- program = "${file}"; -- This configuration will launch the current file if used.
-- pythonPath = function()
-- -- debugpy supports launching an application with a different interpreter then the one used to launch debugpy itself.
-- -- The code below looks for a `venv` or `.venv` folder in the current directly and uses the python within.
-- -- You could adapt this - to for example use the `VIRTUAL_ENV` environment variable.
-- local cwd = vim.fn.getcwd()
-- if vim.fn.executable(cwd .. '/venv/bin/python') == 1 then
-- return cwd .. '/venv/bin/python'
-- elseif vim.fn.executable(cwd .. '/.venv/bin/python') == 1 then
-- return cwd .. '/.venv/bin/python'
-- else
-- return 'python3'
-- end
-- end;
-- },
-- }

View File

@ -1,5 +1,5 @@
require("clint.autocmds")
require("clint.keybindings")
require("clint.settings")
require("clint.lsp")
require("clint.statusline")
require("clint.which-key")
-- require("clint.statusline")

View File

@ -5,6 +5,10 @@
local keymap = vim.api.nvim_set_keymap
local default_ops = { noremap = true, silent = true }
-- Paste timestamp
keymap('n', '<leader>tt', ":pu=strftime('%X')<CR>", default_ops)
keymap('n', '<leader>td', ":pu=strftime('%a %d %b %Y')<CR>", default_ops)
-- Quick escape insert mode
keymap('i', 'jk', '<Esc>', default_ops)
@ -27,7 +31,7 @@ keymap('n', ']b', ':bn<CR>', default_ops)
-- Enter lines
keymap('n', '<Enter>', 'o<Esc>', default_ops)
keymap('n', '<s-Enter>', 'O<Esc>', default_ops)
keymap('n', '<A-Enter>', 'O<Esc>', default_ops)
-- Folding
keymap('n', '<space>', 'za', default_ops)

View File

@ -1,3 +1,5 @@
# Probably mostly leave this alone - just Lazy stuff
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({

View File

@ -1,107 +0,0 @@
local cmp = require 'cmp'
local capabilities = require('cmp_nvim_lsp').default_capabilities()
local on_attach = function()
vim.keymap.set("n", "K", vim.lsp.buf.hover, { buffer = 0 })
vim.keymap.set("n", "gd", vim.lsp.buf.definition, { buffer = 0 })
vim.keymap.set("n", "<Leader>r", vim.lsp.buf.rename, { buffer = 0 })
vim.keymap.set("n", "<Leader>fo", vim.lsp.buf.format, { buffer = 0 })
end
require 'lspconfig'.pyright.setup {
capabilities = capabilities,
on_attach = on_attach
}
-- require 'lspconfig'.black.setup {
-- capabilities = capabilities,
-- on_attach = on_attach
-- }
require 'lspconfig'.lua_ls.setup {
capabilities = capabilities,
on_attach = on_attach,
settings = {
Lua = {
diagnostics = {
globals = { 'vim' }
}
}
}
}
cmp.setup({
snippet = {
-- REQUIRED - you must specify a snippet engine
expand = function(args)
vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
end,
},
window = {
completion = cmp.config.window.bordered({
col_offset = -3, -- align the abbr and word on cursor (due to fields order below)
side_padding = 0,
}),
documentation = cmp.config.window.bordered(),
},
mapping = cmp.mapping.preset.insert({
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
-- elseif has_words_before() then
-- cmp.complete()
else
fallback()
end
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
else
fallback()
end
end, { "i", "s" }),
['<C-b>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'luasnip' }, -- For luasnip users.
}, {
{ name = 'buffer' },
})
})
-- Set configuration for specific filetype.
cmp.setup.filetype('gitcommit', {
sources = cmp.config.sources({
{ name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it.
}, {
{ name = 'buffer' },
})
})
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline({ '/', '?' }, {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = 'buffer' }
}
})
--
-- -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
-- cmp.setup.cmdline(':', {
-- mapping = cmp.mapping.preset.cmdline(),
-- sources = cmp.config.sources({
-- { name = 'path' }
-- }, {
-- { name = 'cmdline' }
-- })
-- })

View File

@ -1,43 +0,0 @@
require('lualine').setup {
options = {
icons_enabled = true,
theme = 'auto',
-- theme = 'gruvbox',
component_separators = { left = '', right = '' },
section_separators = { left = '', right = '' },
disabled_filetypes = {
statusline = {},
winbar = {},
},
ignore_focus = {},
always_divide_middle = true,
globalstatus = false,
refresh = {
statusline = 1000,
tabline = 1000,
winbar = 1000,
}
},
sections = {
lualine_a = { 'mode' },
lualine_b = { 'branch', 'diff', 'diagnostics' },
lualine_c = { { 'filename', path = 1, file_status = true } },
lualine_x = { 'encoding', 'fileformat', },
lualine_y = { 'filetype' },
lualine_z = {}
},
inactive_sections = {
lualine_a = {},
lualine_b = {},
lualine_c = { 'filename' },
lualine_x = { 'location' },
lualine_y = {},
lualine_z = {}
},
tabline = {
lualine_a = { 'buffers' }
},
winbar = {},
inactive_winbar = {},
extensions = {}
}

View File

@ -1,4 +1,4 @@
-- Using this strictly to document for now. Actual mappings are in
-- Using this strictly to document for now. Actual mappings are in:
-- lua/clint/keybindings.lua
local wk = require("which-key")
@ -27,6 +27,11 @@ wk.register({
name = "+repl",
p = "Run Python"
},
t = {
name = "+timestamps",
t = "Print time",
d = "Print date+time"
},
-- Misc
c = "Change Color Scheme",
y = "Yank to system clipboard",

View File

@ -1,7 +0,0 @@
return {}
-- return {
-- { 'mfussenegger/nvim-dap' },
-- { 'rcarriga/nvim-dap-ui', config = true },
-- { "mfussenegger/nvim-dap-python" },
-- { "theHamsta/nvim-dap-virtual-text", config = true },
-- }

View File

@ -4,7 +4,6 @@ return
dependencies = { 'nvim-tree/nvim-web-devicons' },
config = function()
-- require('alpha').setup()
-- local status_ok, alpha = pcall(require, "alpha")
-- if not status_ok then
-- return

View File

@ -1,202 +0,0 @@
return {
--------------------
-- LSP
--------------------
{ "williamboman/mason.nvim" },
{ "williamboman/mason-lspconfig.nvim" },
{ 'neovim/nvim-lspconfig' },
{ 'hrsh7th/cmp-nvim-lsp' },
{ 'hrsh7th/cmp-nvim-lua' },
{ 'hrsh7th/cmp-buffer' },
{ 'hrsh7th/cmp-path' },
{ 'hrsh7th/nvim-cmp' },
{ 'saadparwaiz1/cmp_luasnip' },
-- Linter
{
'jose-elias-alvarez/null-ls.nvim',
config = function()
local nls = require("null-ls")
nls.setup({
sources = {
nls.builtins.formatting.black,
},
})
end,
},
-- Debugging
-- { 'mfussenegger/nvim-dap' },
-- { 'rcarriga/nvim-dap-ui', config = true },
-- { "mfussenegger/nvim-dap-python" },
-- { "theHamsta/nvim-dap-virtual-text", config = true },
--------------------
-- Color schemes
--------------------
-- { "glepnir/oceanic-material" },
-- { "savq/melange-nvim" },
{ 'ayu-theme/ayu-vim' },
-- { 'ellisonleao/gruvbox.nvim' },
-- { 'jacoborus/tender.vim' },
-- { 'jpo/vim-railscasts-theme' },
-- { 'rainux/vim-desert-warm-256' },
-- { 'ajmwagar/vim-deus' },
-- { "rebelot/kanagawa.nvim" },
-- { "folke/tokyonight.nvim" },
--------------------
-- Utility
--------------------
-- Git
{ 'kdheepak/lazygit.nvim' },
{
'lewis6991/gitsigns.nvim',
config = {
signs = {
add = { hl = 'GitSignsAdd', text = '+', numhl = 'GitSignsAddNr', linehl = 'GitSignsAddLn' },
change = { hl = 'GitSignsChange', text = '', numhl = 'GitSignsChangeNr',
linehl = 'GitSignsChangeLn' },
delete = { hl = 'GitSignsDelete', text = '-', numhl = 'GitSignsDeleteNr',
linehl = 'GitSignsDeleteLn' },
topdelete = { hl = 'GitSignsDelete', text = '', numhl = 'GitSignsDeleteNr',
linehl = 'GitSignsDeleteLn' },
changedelete = { hl = 'GitSignsChange', text = '~', numhl = 'GitSignsChangeNr',
linehl = 'GitSignsChangeLn' },
untracked = { hl = 'GitSignsAdd', text = '', numhl = 'GitSignsAddNr', linehl = 'GitSignsAddLn' },
},
current_line_blame = true,
show_deleted = true,
}
},
-- Sessions
{ "tpope/vim-obsession" },
-- SuperTab
{ 'ervandew/supertab' },
-- Surround
-- { 'tpope/vim-surround' },
{ 'echasnovski/mini.surround', version = '*' },
-- Slime, for tmux repl-ing
{ 'jpalardy/vim-slime' },
-- Telescope, fuzzy finding
{ 'nvim-lua/plenary.nvim' },
{ 'nvim-telescope/telescope.nvim' },
{ 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' },
{ "nvim-telescope/telescope-file-browser.nvim" },
-- Registry history
{
"AckslD/nvim-neoclip.lua",
dependencies = {
{ 'kkharji/sqlite.lua', module = 'sqlite' },
{ 'nvim-telescope/telescope.nvim' },
},
config = {
enable_persistent_history = true,
continuous_sync = true
},
},
-- Auto pairs
{ "windwp/nvim-autopairs", config = true }, -- See `config` under https://github.com/folke/lazy.nvim#-plugin-spec
-- Comment / uncomment
{ "numToStr/Comment.nvim", config = true },
-- Git Repo Telescope
{ 'cljoly/telescope-repo.nvim' },
-- Which-Key
{
"folke/which-key.nvim",
config = true,
},
-- Terminal
{
'akinsho/toggleterm.nvim',
version = "*",
config = {
open_mapping = [[<c-\>]],
direction = 'horizontal',
insert_mappings = true
}
},
{
"iamcco/markdown-preview.nvim",
build = "cd app && npm install",
enabled = true,
-- ft = "markdown",
},
--------------------
-- Aesthetics
--------------------
-- status line
{ 'nvim-lualine/lualine.nvim' },
-- Devicons
{ 'nvim-tree/nvim-web-devicons' },
-- Indent lines
{
"lukas-reineke/indent-blankline.nvim",
config =
{
show_end_of_line = true,
space_char_blankline = " ",
show_current_context = true,
show_current_context_start = true,
}
},
-- Cursor line
{
'yamatsum/nvim-cursorline',
config =
{
cursorline = {
enable = true,
timeout = 0,
number = true,
},
cursorword = {
enable = false,
}
}
},
-- Greeter
{
'goolord/alpha-nvim',
dependencies = { 'nvim-tree/nvim-web-devicons' },
-- config = function(},
-- require 'alpha'.setup(require 'alpha.themes.startify'.config},
-- end
},
-- Scroll bar
-- { 'petertriho/nvim-scrollbar', config = true },
-- Start up time
{
'dstein64/vim-startuptime',
},
-- maybe this helps startup
{
'nathom/filetype.nvim',
},
}

View File

@ -1,6 +1,10 @@
return
{
{ "williamboman/mason.nvim" },
{ "williamboman/mason.nvim",
config = function()
require("mason").setup()
end
},
{ "williamboman/mason-lspconfig.nvim" },
{ 'neovim/nvim-lspconfig' },
{ 'hrsh7th/cmp-nvim-lsp' },

View File

@ -1,52 +0,0 @@
local M = {
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
event = "BufReadPost",
dependencies = {
"nvim-treesitter/nvim-treesitter-refactor",
},
opts = {
highlight = {
enable = true,
disable = function(lang, buf)
local max_filesize = 100 * 1024 -- 100 KB
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
if ok and stats and stats.size > max_filesize then
return true
end
end,
additional_vim_regex_highlighting = false,
},
autopairs = { enable = true },
autotag = { enable = true },
indent = { enable = true },
ensure_installed = {
"json",
"yaml",
"html",
"css",
"markdown",
"bash",
"lua",
"vim",
"dockerfile",
"gitignore",
"python"
},
sync_install = true,
ignore_install = {}, -- List of parsers to ignore installation
refactor = {
highlight_definitions = {
enable = true,
-- Set to false if you have an `updatetime` of ~100.
clear_on_cursor_move = true,
},
highlight_current_scope = { enable = false },
},
},
config = function(_, opts)
require("nvim-treesitter.configs").setup(opts)
end,
}
return M

View File

@ -1,7 +1,53 @@
return {
-- status line
{ 'nvim-lualine/lualine.nvim' },
{ 'nvim-lualine/lualine.nvim',
config = function()
require("lualine").setup({
options = {
icons_enabled = true,
theme = 'auto',
-- theme = 'gruvbox',
component_separators = { left = '', right = '' },
section_separators = { left = '', right = '' },
disabled_filetypes = {
statusline = {},
winbar = {},
},
ignore_focus = {},
always_divide_middle = true,
globalstatus = false,
refresh = {
statusline = 1000,
tabline = 1000,
winbar = 1000,
}
},
sections = {
lualine_a = { 'mode' },
lualine_b = { 'branch', 'diff', 'diagnostics' },
lualine_c = { { 'filename', path = 1, file_status = true } },
lualine_x = { 'encoding', 'fileformat', },
lualine_y = { 'filetype' },
lualine_z = {}
},
inactive_sections = {
lualine_a = {},
lualine_b = {},
lualine_c = { 'filename' },
lualine_x = { 'location' },
lualine_y = {},
lualine_z = {}
},
tabline = {
lualine_a = { 'buffers' }
},
winbar = {},
inactive_winbar = {},
extensions = {}
})
end
},
-- Devicons
{ 'nvim-tree/nvim-web-devicons' },
@ -9,13 +55,8 @@ return {
-- Indent lines
{
"lukas-reineke/indent-blankline.nvim",
config =
{
show_end_of_line = true,
space_char_blankline = " ",
show_current_context = true,
show_current_context_start = true,
}
main = "ibl",
opts = {}
},
-- Cursor line
@ -34,7 +75,6 @@ return {
}
},
-- Greeter
-- Scroll bar
-- { 'petertriho/nvim-scrollbar', config = true },
{ 'petertriho/nvim-scrollbar', config = true },
}

View File

@ -26,12 +26,6 @@ return {
-- Slime, for tmux repl-ing
{ 'jpalardy/vim-slime' },
-- -- Telescope, fuzzy finding
-- { 'nvim-lua/plenary.nvim' },
-- { 'nvim-telescope/telescope.nvim' },
-- { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' },
-- { "nvim-telescope/telescope-file-browser.nvim" },
--
-- Treesitter
{
'nvim-treesitter/nvim-treesitter',
@ -98,16 +92,20 @@ return {
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
"MunifTanjim/nui.nvim",
},
config = function()
require("neo-tree").setup({
close_if_last_window = true,
popup_border_style = "rounded",
window = {
width = 40
},
mappings = {
["P"] = "toggle_preview", -- enter preview mode, which shows the current node without focusing
}
})
end
},
-- -- Object Explorer
-- {
-- 'simrat39/symbols-outline.nvim',
-- config = {
-- auto_preview = true,
-- }
-- },
-- Terminal
{
'akinsho/toggleterm.nvim',
@ -118,6 +116,7 @@ return {
}
},
-- Markdown Preview
{
"iamcco/markdown-preview.nvim",
build = "cd app && npm install",

View File

@ -23,4 +23,3 @@ def subtract(x: int, y: int) -> int:
# open terminal 100: f1
add(1, 2)
subtract(1, 2)

View File

@ -52,8 +52,7 @@ secondary = #dddddd
alert = #bd2c40
[bar/main]
#monitor = ${env:MONITOR:HDMI-0}
monitor = ${env:MONITOR:default}
monitor = ${env:MONITOR:HDMI-0}
width = 100%
height = 27
;offset-x = 1%