many changes

This commit is contained in:
Solomon Laing 2022-10-11 21:59:03 +10:30
parent 98edb6027f
commit 949f566661
12 changed files with 417 additions and 297 deletions

View File

@ -11,6 +11,7 @@ require "user.cmp"
require "user.colorizer"
require "user.comment"
require "user.dressing"
require "user.dial"
require "user.fidget"
require "user.functions"
require "user.gitsigns"
@ -34,3 +35,5 @@ require "user.bufferline"
require "user.winbar"
require "user.zk"
require "user.tabout"
require "user.cybu"
require "user.dap"

View File

@ -20,8 +20,8 @@ map("n", "<C-p>", '"+y', opts)
map("n", "<C-s>", ":w<CR>", opts)
-- Switch between buffers
map("n", "<S-l>", ":bnext<CR>", opts)
map("n", "<S-h>", ":bprevious<CR>", opts)
map("n", "<S-l>", ":CybuNext<CR>", opts)
map("n", "<S-h>", ":CybuPrev<CR>", opts)
-- Show definition
map("n", "<S-k>", ":lua vim.lsp.buf.hover()<CR>", opts)

View File

@ -14,7 +14,6 @@ M.capabilities = cmp_nvim_lsp.update_capabilities(M.capabilities)
M.setup = function()
local icons = require "user.icons"
local signs = {
{ name = "DiagnosticSignError", text = icons.diagnostics.Error },
{ name = "DiagnosticSignWarn", text = icons.diagnostics.Warning },
{ name = "DiagnosticSignHint", text = icons.diagnostics.Hint },
@ -22,7 +21,9 @@ M.setup = function()
}
for _, sign in ipairs(signs) do
vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = "" })
vim.fn.sign_define(sign.name, {
texthl = sign.name, text = sign.text, numhl = ""
})
end
local config = {
@ -62,13 +63,15 @@ M.setup = function()
vim.diagnostic.config(config)
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
vim.lsp.handlers["textDocument/hover"] =
vim.lsp.with(vim.lsp.handlers.hover, {
border = "rounded",
-- width = 60,
-- height = 30,
})
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, {
vim.lsp.handlers["textDocument/signatureHelp"] =
vim.lsp.with(vim.lsp.handlers.signature_help, {
border = "rounded",
-- width = 60,
-- height = 30,
@ -93,7 +96,6 @@ local function lsp_keymaps(bufnr)
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "gI", "<cmd>Telescope lsp_implementations<CR>", opts)
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "gr", "<cmd>Telescope lsp_references<CR>", opts)
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "gl", "<cmd>lua vim.diagnostic.open_float()<CR>", opts)
-- vim.cmd [[ command! Format execute 'lua vim.lsp.buf.format({ async = true })' ]]
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "gs", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "<M-f>", "<cmd>Format<cr>", opts)
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "<M-a>", "<cmd>lua vim.lsp.buf.code_action()<cr>", opts)
@ -104,6 +106,7 @@ local function lsp_keymaps(bufnr)
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "[d", '<cmd>lua vim.diagnostic.goto_prev({ border = "rounded" })<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "]d", '<cmd>lua vim.diagnostic.goto_next({ border = "rounded" })<CR>', opts)
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>q", "<cmd>lua vim.diagnostic.setloclist()<CR>", opts)
-- vim.cmd [[ command! Format execute 'lua vim.lsp.buf.format({ async = true })' ]]
end
M.on_attach = function(client, bufnr)

View File

@ -8,10 +8,9 @@ end
-- may add signature in future.
-- require "user.lsp.lsp-signature"
require("user.lsp.mason")
require("user.lsp.handlers").setup()
-- may add null-ls in future.
-- require "user.lsp.null-ls"
require "user.lsp.mason"
require "user.lsp.handlers".setup()
require "user.lsp.null-ls"
local l_status_ok, lsp_lines = pcall(require, "lsp_lines")
if not l_status_ok then

View File

@ -29,7 +29,7 @@ local servers = {
"taplo",
"zk@v0.10.1",
"lemminx",
"clangd"
"clangd",
}
local settings = {
@ -46,14 +46,14 @@ local settings = {
}
mason.setup(settings)
mason_lspconfig.setup {
mason_lspconfig.setup({
ensure_installed = servers,
automatic_installation = true,
}
})
local lspconfig_status_ok, lspconfig = pcall(require, "lspconfig")
if not lspconfig_status_ok then
print "lspconfig error!"
print("lspconfig error!")
return
end
@ -68,7 +68,7 @@ for _, server in pairs(servers) do
server = vim.split(server, "@")[1]
if server == "yamlls" then
local yamlls_opts = require "user.lsp.settings.yamlls"
local yamlls_opts = require("user.lsp.settings.yamlls")
opts = vim.tbl_deep_extend("force", yamlls_opts, opts)
end
@ -77,49 +77,43 @@ for _, server in pairs(servers) do
if not l_status_ok then
return
end
-- local sumneko_opts = require "user.lsp.settings.sumneko_lua"
-- opts = vim.tbl_deep_extend("force", sumneko_opts, opts)
-- opts = vim.tbl_deep_extend("force", require("lua-dev").setup(), opts)
local luadev = lua_dev.setup {
-- -- add any options here, or leave empty to use the default settings
-- lspconfig = opts,
local luadev = lua_dev.setup({
lspconfig = {
on_attach = opts.on_attach,
capabilities = opts.capabilities,
-- -- settings = opts.settings,
},
}
})
lspconfig.sumneko_lua.setup(luadev)
goto continue
end
if server == "tsserver" then
local tsserver_opts = require "user.lsp.settings.tsserver"
local tsserver_opts = require("user.lsp.settings.tsserver")
opts = vim.tbl_deep_extend("force", tsserver_opts, opts)
end
if server == "pyright" then
local pyright_opts = require "user.lsp.settings.pyright"
local pyright_opts = require("user.lsp.settings.pyright")
opts = vim.tbl_deep_extend("force", pyright_opts, opts)
end
if server == "solc" then
local solc_opts = require "user.lsp.settings.solc"
local solc_opts = require("user.lsp.settings.solc")
opts = vim.tbl_deep_extend("force", solc_opts, opts)
end
if server == "clangd" then
local clangd_opts = require "user.lsp.settings.clangd"
local clangd_opts = require("user.lsp.settings.clangd")
opts = vim.tbl_deep_extend("force", clangd_opts, opts)
end
if server == "emmet_ls" then
local emmet_ls_opts = require "user.lsp.settings.emmet_ls"
local emmet_ls_opts = require("user.lsp.settings.emmet_ls")
opts = vim.tbl_deep_extend("force", emmet_ls_opts, opts)
end
if server == "zk" then
local zk_opts = require "user.lsp.settings.zk"
local zk_opts = require("user.lsp.settings.zk")
opts = vim.tbl_deep_extend("force", zk_opts, opts)
end
@ -128,7 +122,7 @@ for _, server in pairs(servers) do
end
if server == "rust_analyzer" then
local rust_opts = require "user.lsp.settings.rust"
local rust_opts = require("user.lsp.settings.rust")
-- opts = vim.tbl_deep_extend("force", rust_opts, opts)
local rust_tools_status_ok, rust_tools = pcall(require, "rust-tools")
if not rust_tools_status_ok then
@ -140,13 +134,10 @@ for _, server in pairs(servers) do
end
if server == "omnisharp" then
local omnisharp_opts = require "user.lsp.settings.omnisharp"
local omnisharp_opts = require("user.lsp.settings.omnisharp")
opts = vim.tbl_deep_extend("force", omnisharp_opts, opts)
end
lspconfig[server].setup(opts)
::continue::
end
-- TODO: add something to installer later
-- require("lspconfig").motoko.setup {}

View File

@ -1,11 +1,38 @@
-- local pid = vim.fn.getpid()
-- local omnisharp_bin = "/home/josh/.local/share/nvim/lsp_servers/omnisharp/omnisharp/OmniSharp.dll"
return {
-- cmd = { omnisharp_bin, "--languageserver" , "--hostPID", tostring(pid) },
omnisharp = {
useModernNet = true,
semanticHighlighting = false,
-- monoPath = "/usr/bin/mono"
}
cmd = { "omnisharp" },
-- Enables support for reading code style, naming convention and analyzer
-- settings from .editorconfig.
enable_editorconfig_support = true,
-- If true, MSBuild project system will only load projects for files that
-- were opened in the editor. This setting is useful for big C# codebases
-- and allows for faster initialization of code navigation features only
-- for projects that are relevant to code that is being edited. With this
-- setting enabled OmniSharp may load fewer projects and may thus display
-- incomplete reference lists for symbols.
enable_ms_build_load_projects_on_demand = false,
-- Enables support for roslyn analyzers, code fixes and rulesets.
enable_roslyn_analyzers = true,
-- Specifies whether 'using' directives should be grouped and sorted during
-- document formatting.
organize_imports_on_format = false,
-- Enables support for showing unimported types and unimported extension
-- methods in completion lists. When committed, the appropriate using
-- directive will be added at the top of the current file. This option can
-- have a negative impact on initial completion responsiveness,
-- particularly for the first few completion sessions after opening a
-- solution.
enable_import_completion = false,
-- Specifies whether to include preview versions of the .NET SDK when
-- determining which version to use for project loading.
sdk_include_prereleases = true,
-- Only run analyzers against open files when 'enableRoslynAnalyzers' is
-- true
analyze_open_documents_only = false,
}

View File

@ -1,6 +1,6 @@
local options = {
backup = false, -- creates a backup file
clipboard = "unnamedplus", -- gives nvim access to clipboard
-- clipboard = "unnamedplus", -- gives nvim access to clipboard
cmdheight = 1, -- more space in nvim cmd line
completeopt = { "menuone", "noselect" }, -- cmp related
conceallevel = 0, -- don't hide `` in md
@ -37,6 +37,7 @@ local options = {
sidescrolloff = 8,
guifont = "monospace:h17",
title = true,
spelllang = "en_us",
}
vim.opt.fillchars = vim.opt.fillchars + 'eob: '
@ -50,3 +51,15 @@ end
vim.cmd "set whichwrap+=<,>,[,],h,l"
vim.cmd "set colorcolumn=80"
vim.cmd [[set iskeyword+=-]]
vim.g.gutentags_generate_on_new = 1
vim.g.gutentags_generate_on_write = 1
vim.g.gutentags_generate_on_missing = 1
vim.g.gutentags_generate_on_empty_buffer = 0
-- Disable snipmate plugins to avoid duplicate snippets
vim.g.UltiSnipsEnableSnipMate = 0
vim.g.UltiSnipsRemoveSelectModeMappings = 0
vim.g.UltiSnipsExpandTrigger = "<Tab>"
vim.g.UltiSnipsJumpForwardTrigger = "<Tab>"
vim.g.UltiSnipsJumpBackwardTrigger = "<S-Tab>"

View File

@ -1,27 +1,27 @@
local fn = vim.fn
-- Automatically install packer
local install_path = fn.stdpath "data" .. "/site/pack/packer/start/packer.nvim"
local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
if fn.empty(fn.glob(install_path)) > 0 then
PACKER_BOOTSTRAP = fn.system {
PACKER_BOOTSTRAP = fn.system({
"git",
"clone",
"--depth",
"1",
"https://github.com/wbthomason/packer.nvim",
install_path,
}
print "Installing packer, please close and reopen Neovim..."
vim.cmd [[packadd packer.nvim]]
})
print("Installing packer, please close and reopen Neovim...")
vim.cmd([[packadd packer.nvim]])
end
-- Autocommand to reload neovime whenever this file is saved.
vim.cmd [[
vim.cmd([[
augroup packer_user_config
autocmd!
autocmd BufWritePost plugins.lua source <afile> | PackerSync
augroup end
]]
]])
-- use a protected call so there's no error on first use
local s_ok, packer = pcall(require, "packer")
@ -30,132 +30,140 @@ if not s_ok then
end
-- Have packer use a popup
packer.init {
packer.init({
max_jobs = 50,
display = {
open_fn = function()
return require("packer.util").float { border = "rounded" }
return require("packer.util").float({ border = "rounded" })
end,
prompt_border = "rounded"
prompt_border = "rounded",
},
}
})
-- Add plugins from here
return packer.startup(function(use)
-- Plugin manager
use "wbthomason/packer.nvim" -- Have packer manage inself
use("wbthomason/packer.nvim") -- Have packer manage inself
-- Lua Development
use "nvim-lua/plenary.nvim" -- useful lua functions
use "nvim-lua/popup.nvim"
use "folke/lua-dev.nvim"
use("nvim-lua/plenary.nvim") -- useful lua functions
use("nvim-lua/popup.nvim")
use("folke/lua-dev.nvim")
-- LSP
use "neovim/nvim-lspconfig" -- enable LSP
use "williamboman/mason.nvim" -- language server manager/installer
use "williamboman/mason-lspconfig.nvim"
use "j-hui/fidget.nvim" -- displays lsp progress in bottom right
use "SmiteshP/nvim-navic" -- integrates with winbar to show location in program e.g.: MyClass > MyFunc > MyProperty
use "simrat39/symbols-outline.nvim" -- class explorer for nvim
use "folke/trouble.nvim" -- view lsp diagnostics
use "OmniSharp/omnisharp-vim"
use "https://git.sr.ht/~whynothugo/lsp_lines.nvim"
require('packer').use({
'weilbith/nvim-code-action-menu',
cmd = 'CodeActionMenu',
use("neovim/nvim-lspconfig") -- enable LSP
use("williamboman/mason.nvim") -- language server manager/installer
use("williamboman/mason-lspconfig.nvim")
use("j-hui/fidget.nvim") -- displays lsp progress in bottom right
use("SmiteshP/nvim-navic") -- integrates with winbar to show location in program e.g.: MyClass > MyFunc > MyProperty
use("simrat39/symbols-outline.nvim") -- class explorer for nvim
use("folke/trouble.nvim") -- view lsp diagnostics
-- use "OmniSharp/omnisharp-vim"
use("https://git.sr.ht/~whynothugo/lsp_lines.nvim")
use({
"weilbith/nvim-code-action-menu",
cmd = "CodeActionMenu",
})
use("jose-elias-alvarez/null-ls.nvim")
-- Completion
use "hrsh7th/nvim-cmp" -- completion engine
use "hrsh7th/cmp-buffer" -- buffer completions
use "hrsh7th/cmp-path" -- path completions
use "hrsh7th/cmp-nvim-lsp" -- lsp completions
use "hrsh7th/cmp-nvim-lua"
use "saadparwaiz1/cmp_luasnip" -- snippet completions
use("hrsh7th/nvim-cmp") -- completion engine
use("hrsh7th/cmp-buffer") -- buffer completions
use("hrsh7th/cmp-path") -- path completions
use("hrsh7th/cmp-nvim-lsp") -- lsp completions
use("hrsh7th/cmp-nvim-lua")
use("saadparwaiz1/cmp_luasnip") -- snippet completions
-- LaTeX
-- use "SirVer/ultisnips"
use("lervag/vimtex")
use("ludovicchabant/vim-gutentags")
-- Snippet
use "L3MON4D3/LuaSnip" -- snippet engine
use "rafamadriz/friendly-snippets" -- a collection of useful snippets
use("L3MON4D3/LuaSnip") -- snippet engine
use("rafamadriz/friendly-snippets") -- a collection of useful snippets
-- Syntax/Treesitter
use "nvim-treesitter/nvim-treesitter"
use "nvim-treesitter/playground"
use("nvim-treesitter/nvim-treesitter")
use("nvim-treesitter/playground")
-- CEO of The Startup
use "ThePrimeagen/harpoon"
use("ThePrimeagen/harpoon")
-- Telescopic Johnston
use "nvim-telescope/telescope.nvim"
use "nvim-telescope/telescope-media-files.nvim"
use("nvim-telescope/telescope.nvim")
use("nvim-telescope/telescope-media-files.nvim")
-- Note Taking
use "mickael-menu/zk-nvim"
use("mickael-menu/zk-nvim")
-- Colour
use "NvChad/nvim-colorizer.lua"
use("NvChad/nvim-colorizer.lua")
-- Colorschemes
use "folke/tokyonight.nvim"
use "sainnhe/gruvbox-material"
use "sainnhe/sonokai"
use "dracula/vim"
use "RRethy/nvim-base16"
use("folke/tokyonight.nvim")
use("sainnhe/gruvbox-material")
use("sainnhe/sonokai")
use("dracula/vim")
use("RRethy/nvim-base16")
-- Utility
use "rcarriga/nvim-notify"
use "stevearc/dressing.nvim"
use "moll/vim-bbye"
use "lewis6991/impatient.nvim"
use("rcarriga/nvim-notify")
use("stevearc/dressing.nvim")
use("moll/vim-bbye")
use("lewis6991/impatient.nvim")
use("ghillb/cybu.nvim")
-- Icons
use "kyazdani42/nvim-web-devicons"
use("kyazdani42/nvim-web-devicons")
-- Debugging
-- Also add later.
use("mfussenegger/nvim-dap")
use("rcarriga/nvim-dap-ui")
-- Tabline
use "akinsho/bufferline.nvim"
use "fgheng/winbar.nvim"
use("akinsho/bufferline.nvim")
use("fgheng/winbar.nvim")
-- Statusline
use "nvim-lualine/lualine.nvim"
use("nvim-lualine/lualine.nvim")
-- Startup
use "goolord/alpha-nvim"
use("goolord/alpha-nvim")
-- Indent
use "lukas-reineke/indent-blankline.nvim"
use("lukas-reineke/indent-blankline.nvim")
-- File Explorer
use "kyazdani42/nvim-tree.lua"
use("kyazdani42/nvim-tree.lua")
-- Comments
use "numToStr/Comment.nvim"
use "folke/todo-comments.nvim"
use("numToStr/Comment.nvim")
use("folke/todo-comments.nvim")
-- Terminal
use "akinsho/toggleterm.nvim"
use("akinsho/toggleterm.nvim")
-- Git
use "lewis6991/gitsigns.nvim"
use "f-person/git-blame.nvim"
use("lewis6991/gitsigns.nvim")
use("f-person/git-blame.nvim")
-- Editing Support
use "windwp/nvim-autopairs"
use "vimwiki/vimwiki"
use "folke/zen-mode.nvim"
use "junegunn/vim-slash"
use "andymass/vim-matchup"
use "nacro90/numb.nvim"
use "monaqa/dial.nvim"
use {
use("windwp/nvim-autopairs")
use("vimwiki/vimwiki")
use("folke/zen-mode.nvim")
use("junegunn/vim-slash")
use("andymass/vim-matchup")
use("nacro90/numb.nvim")
use("monaqa/dial.nvim")
use({
"abecodes/tabout.nvim",
wants = { "nvim-treesitter" }
}
use "windwp/nvim-spectre"
wants = { "nvim-treesitter" },
})
use("windwp/nvim-spectre")
-- Keybinding
use "folke/which-key.nvim"
use("folke/which-key.nvim")
-- Automatically setup after cloning packer.nvim
if PACKER_BOOTSTRAP then

View File

@ -90,11 +90,11 @@ local m_mappings = {
local mappings = {
a = { "<cmd>CodeActionMenu<cr>", "Action" },
c = { "<cmd>Bdelete<cr>", "Close Buffer" },
C = { "<cmd>w! | !compiler <c-r>%<cr>", "Compile File" },
C = { "<cmd>w! | !compiler %<cr>", "Compile File" },
h = { "<cmd>split<cr>", "split" },
n = { "<cmd>NvimTreeToggle<cr>", "Explorer" },
O = { "<cmd>setlocal spell! spellling=en_us<CR>", "Toggle Spelling" },
P = { "<cmd>!opout <c-r>%<cr><cr>", "Preview Document" },
O = { "<cmd>setlocal spell! spelllang=en_us<CR>", "Toggle Spelling" },
P = { "<cmd>!opout %<cr><cr>", "Preview Document" },
q = { '<cmd>lua require("user.functions").smart_quit()<CR>', "Quit" },
v = { "<cmd>vsplit<cr>", "vsplit" },
w = { "<cmd>w<CR>", "Write" },
@ -138,19 +138,18 @@ local mappings = {
f = { "<cmd>lua require('spectre').open_file_search()<cr>", "Replace Buffer" },
},
-- perhaps I will set this up in the future?
-- d = {
-- name = "Debug",
-- b = { "<cmd>lua require'dap'.toggle_breakpoint()<cr>", "Breakpoint" },
-- c = { "<cmd>lua require'dap'.continue()<cr>", "Continue" },
-- i = { "<cmd>lua require'dap'.step_into()<cr>", "Into" },
-- o = { "<cmd>lua require'dap'.step_over()<cr>", "Over" },
-- O = { "<cmd>lua require'dap'.step_out()<cr>", "Out" },
-- r = { "<cmd>lua require'dap'.repl.toggle()<cr>", "Repl" },
-- l = { "<cmd>lua require'dap'.run_last()<cr>", "Last" },
-- u = { "<cmd>lua require'dapui'.toggle()<cr>", "UI" },
-- x = { "<cmd>lua require'dap'.terminate()<cr>", "Exit" },
-- },
d = {
name = "Debug",
b = { "<cmd>lua require'dap'.toggle_breakpoint()<cr>", "Breakpoint" },
c = { "<cmd>lua require'dap'.continue()<cr>", "Continue" },
i = { "<cmd>lua require'dap'.step_into()<cr>", "Into" },
o = { "<cmd>lua require'dap'.step_over()<cr>", "Over" },
O = { "<cmd>lua require'dap'.step_out()<cr>", "Out" },
r = { "<cmd>lua require'dap'.repl.toggle()<cr>", "Repl" },
l = { "<cmd>lua require'dap'.run_last()<cr>", "Last" },
u = { "<cmd>lua require'dapui'.toggle()<cr>", "UI" },
x = { "<cmd>lua require'dap'.terminate()<cr>", "Exit" },
},
f = {
name = "Find",

View File

@ -88,6 +88,7 @@ lfcd() {
}
bindkey -s '^o' '^ulfcd\n'
bindkey -s '^t' '^utms\n'
if [ -f /etc/hostname ]; then
HOST=$(cat /etc/hostname)

View File

@ -114,7 +114,7 @@ colorYellow = "#f1fa8c"
-- The preferred terminal program, which is used in a binding below and by
-- certain contrib modules.
myTerminal :: String
myTerminal = "alacritty"
myTerminal = "st"
myFileManager :: String
myFileManager = "thunar"
@ -139,7 +139,7 @@ myClickJustFocuses = False
-- Width of the window border in pixels.
myBorderWidth :: Dimension
myBorderWidth = 0
myBorderWidth = 2
-- Border colors for unfocused and focused windows, respectively.
myNormalBorderColor :: String
@ -547,7 +547,7 @@ myManageHook = composeAll
, className =? "slack" --> doShift ( myWorkspaces !! (8-1) )
, className =? "Pavucontrol" --> doShift ( myWorkspaces !! (6-1) )
, className =? "plexamp" --> doShift ( myWorkspaces !! (6-1) )
, className =? "Jellyfin Media Player" --> doShift ( myWorkspaces !! (7-1) )
, className =? "Jellyfin Media Player" --> doShift ( myWorkspaces !! (6-1) )
, className =? "thunderbird" --> doShift ( myWorkspaces !! (9-1) )
]

View File

@ -1,3 +1,79 @@
My Dotfiles, managed using the following tutorial:
# Inkletblot's Dotfiles
https://www.atlassian.com/git/tutorials/dotfiles
My Dotfiles, managed using (what I call) the [atlassian method](https://www.atlassian.com/git/tutorials/dotfiles).
Primarily the configs I care about in here are for the following programs.
- [neovim](#Neovim)
- xmonad
- Xmobar
- lf
- tmux
- zsh
- system stuff such as xinitrc, shell, xprofile, and more.
Supporting programs include:
- alacritty
- dmenu
- picom
- dunst
- fish (I no longer use this)
- mutt (this either)
- newsboat (or this)
I have been building up this envirnoment for some time and it is likely to
change much in the future.
### Related works
I have a few repositories that pair with this one, primarily are both my scripts
repo and my dmenu fork. I use dmenu as my run launcher and I have myriad bash
scripts to make my linux experience my own. I also dabble with DWM and it's
related programs such as st, dwmblocks, and others.
- [Scripts](https://gitlab.inkletblot.com/inkletblot/inks-scripts)
- [dmenu](https://gitlab.inkletblot.com/inkletblot/dmenu-inkletblot)
Tangentially to all this I have a WIP repo I call ink-os which will set up a
fresh install of Arch with all of my default programs, my dotfiles, and other
misc configs. It doesn't technically 'work' but it's still easier that a manual
setup for me.
### Credit
Although I will happily take credit for what I have built here I would like to
credit those who inspired me, or who I pilfered directly from:
- [Luke Smith](https://lukesmith.xyz) for many scripts, mutt, introducing me to vim, and much of my shell config.
- [DistroTube (Derek Taylor)](https://distro.tube/index.html) for introducing me to tiling window managers and reigniting my love for linux, also much of my xmonad, xmobar, fish, and alacritty configs were inspired by his.
- [ThePrimeagen](https://github.com/ThePrimeagen) for improving my developer workflow, introducing me to tmux (and being a source for my tmux scripts), and being generally a great guy.
- [chris@machine (Christian Chiarulli)](https://github.com/ChristianChiarulli), I credit 90% of my neovim config to this man and it's great.
- And others such as [TJ Devries](https://github.com/tjdevries/), [Eric Murphy](https://www.youtube.com/c/EricMurphyxyz), [EF Linux Made Simple](https://www.youtube.com/c/EFLinuxMadeSimple/featured), and more.
## Neovim (nightly)
Probably the most complicated part of this is my nvim config, I should probably
move it to it's own folder at some point.
It depends on a few different language servers and miscellaneous programs.
Including but not limited to:
- pyright
- npm/nodejs
- omnisharp-roslyn (and by proxy, dotnet)
- pandoc
- miktex
- mono (Not currently sure about this one, I think I removed it)
- git
- and more...
## xmonad
## xmobar
## lf
## tmux
## zsh
## system