Compare commits

...

66 Commits
void ... main

Author SHA1 Message Date
74d2806469 Make Helix use keyboard for pasting 2024-02-24 19:17:43 +00:00
0d2d954714 Updated Helix indenting style 2024-01-28 11:53:04 +00:00
2fb22f045c Reduced the amount of time it takes of LSP to start making autosugestions 2023-11-28 20:14:51 +00:00
1562c63934 Reduced wait time for autocomplete popup in helix 2023-11-16 13:33:38 +00:00
6d8bd7c1a4 Added helix config to dotfiles 2023-09-19 19:55:24 +01:00
d4bd724bb2 Added scrot and xsecurelock to installed packages 2023-07-28 16:51:16 +01:00
950a4edc9d Re-Changed inlay hints to be on the current line. In retrospect they just get in the way if there are on every single line :) 2023-07-28 13:29:26 +01:00
f13985c007 Added new fonts to install script that contain nice monospace options as well as programming ligatures. 2023-07-24 21:31:07 +01:00
a72fc7cf40 Make inlay hints cover whole document instead of just on the currently selected line. 2023-07-06 22:20:04 +01:00
44f0129aa8 Updated treesitter.lua t not require help. 2023-07-05 20:03:51 +01:00
8f2af48023 Updated install script to ensure dwmblocks executables are in the correct location 2023-05-24 13:44:48 +01:00
ab5e6aa5ab Updated install script to make necessary folders before linking files 2023-05-24 13:40:20 +01:00
d201344c3b Removed 'help' from treesitter config 2023-05-23 15:34:56 +02:00
6660f9d3bd Added help to treesitter parser list 2023-05-23 15:29:41 +02:00
b5c5a53275 Added vimdoc to treesitter requirements 2023-05-23 15:28:24 +02:00
ee9d362477 Added status line and additional code cleanup 2023-05-18 13:19:38 +01:00
3252348954 Moved inlay hints to the end of line as opposed to the right of the screen 2023-05-18 11:41:01 +01:00
bbdd171b77 Updated require method for inlay hints 2023-05-18 11:28:47 +01:00
ca94e7d106 Moved Inlay hints out of attach function 2023-05-18 11:27:15 +01:00
c4dd699f9d Corrected mispelled package name 2023-05-18 11:23:16 +01:00
ece83c7ea5 Attach inlay hints on lsp attach 2023-05-18 11:21:03 +01:00
e99496fd2b Added inlay hints to neovim 2023-05-18 11:13:24 +01:00
204ffd906a Added Fuzzy Finder (fzf) to install script 2023-05-03 12:51:12 +02:00
0f5feecc3b Removed rust-tools as it creates too many conflicts 2023-03-16 22:42:33 +00:00
6e8e93d294 Removed rust-tools as it creates too many conflicts 2023-03-16 22:40:04 +00:00
5a829bed08 Trying inlay hints with lsp 2023-03-16 22:35:24 +00:00
3362458259 Setup RT before lsp 2023-03-16 22:29:32 +00:00
adf2ea2f85 Moved rt to above lsp to stop keybinding overriding 2023-03-16 22:27:36 +00:00
d57e050ea8 Reverted to when RT was present (Note lsp keybinds not working) 2023-03-16 22:25:40 +00:00
728a6bd880 Testing inlay hints 2023-03-16 22:09:15 +00:00
c2e317519a Added additional type hints 2023-03-16 22:05:25 +00:00
3598b7048d Swapped out rust-tools for lsp extensions as rt took over lsp keybinds 2023-03-16 21:58:05 +00:00
f196872519 Moved DAP and FTerm keybinds around 2023-03-16 20:13:34 +00:00
6337b3c0fd Changed terminal keybinds for fterm 2023-03-16 20:09:16 +00:00
33f90aee8e Changed keybinds for fterm 2023-03-16 20:03:27 +00:00
3fceb355bc changed object type of fterm to allow reuse 2023-03-16 19:49:54 +00:00
d920f5e7e9 Changed Keybinds for fterm to allow spawning of a new terminal 2023-03-16 19:48:03 +00:00
0586d97290 Changed Keybinds for fterm to allow spawning of a new terminal 2023-03-16 19:46:55 +00:00
607d376d27 Add floating terminal plugin to lua 2023-03-16 19:41:22 +00:00
9a49ecbff3 Add rust tools to nvim 2023-03-15 22:49:53 +00:00
c994896bdc Added more keybinds to nvim-dap 2023-03-15 22:17:00 +00:00
68e357b6f1 Changed DAP config to open UI during debugging in nvim 2023-03-14 23:36:47 +00:00
2e0a8f011f Added prelimenary ui line to test debugger 2023-03-14 23:30:37 +00:00
797f02d131 Updated dap config to allow for rust debugging 2023-03-14 23:14:53 +00:00
ac53964865 reformatted lua files to follow a single standard 2023-03-13 20:43:34 +00:00
92cec18df3 Created base DAP installation for nvim 2023-03-13 19:58:45 +00:00
7fea6db1d5 Updated keymaps and added codelldb to lsp install 2023-03-13 19:19:36 +00:00
ea4484556f Updated nvim harpoon to use function keys for tab switching as num keys did not work 2023-03-08 22:30:47 +00:00
a837d393b0 Changed harpoon keybinds to number row 2023-03-08 22:08:37 +00:00
a5fc3a336b Added network manager to install script 2023-03-08 22:02:06 +00:00
392dd08454 Added autopairs to nvim config 2023-03-08 19:55:55 +00:00
9d44111878 #3 Updated install script AUR installed elemnts for easier install process 2023-03-08 19:42:05 +00:00
07a4656b7b #2 Updated script to use symbolic links as opposed to copies to aid maintainability + dwm autostart script 2023-03-08 19:12:00 +00:00
c944d635e3 #2 Updated script to use symbolic links as opposed to copies to aid maintainability 2023-03-08 19:08:55 +00:00
b80cb16fd8 Changed editor settings for nvim 2023-03-07 20:35:37 +00:00
f3c5dbfae8 Updated require statement for editor settings 2023-03-07 20:32:05 +00:00
c73c8ea3b6 Changed treesitter and lsp configs for nvim 2023-03-07 20:24:42 +00:00
76396e23e6 Install LSP functionality and implemented editor settings 2023-03-07 20:21:16 +00:00
715d6103eb Added fugitive to nvim 2023-03-07 20:08:16 +00:00
1c6396c020 Add undotree to nvim 2023-03-07 20:05:27 +00:00
5adf899dd6 Added harpoon to nvim 2023-03-07 20:02:32 +00:00
9d55594d83 Added Treesitter to Lua config 2023-03-07 19:58:47 +00:00
29901655de Created symlinks to .xinitrc instead of copying the file 2023-03-06 22:00:03 +00:00
719fc7aa52 Added xorg running fix 2023-03-06 19:39:18 +00:00
927ed0ff5c Started on NeoVim config and updated install script 2023-03-01 22:02:02 +00:00
cee5d021c3 Added rustup install stable ahead of Lemurs install 2023-02-28 22:15:03 +00:00
19 changed files with 340 additions and 20 deletions

5
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"Lua.diagnostics.globals": [
"vim"
]
}

View File

@ -1,4 +1,8 @@
setxkbmap gb
eval $(gnome-keyring-daemon --start)
export SSH_AUTH_SOCK
exec dwm
#Run DWM in loop to stop xorg from remaining running unexpectedly
while true; do
exec dwm
done

View File

@ -1,10 +0,0 @@
#%PAM-1.0
auth required pam_securetty.so
auth requisite pam_nologin.so
auth include system-local-login
auth optional pam_gnome_keyring.so
account include system-local-login
session include system-local-login
session optional pam_gnome_keyring.so auto_start
password include system-local-login

27
helix/config.toml Normal file
View File

@ -0,0 +1,27 @@
theme = "onedark"
[keys.normal]
# Use system clipboard
y = "yank_main_selection_to_clipboard"
p = "paste_clipboard_before"
[editor]
line-number = "relative"
bufferline = "always"
idle-timeout = 0
completion-trigger-len = 1
[editor.soft-wrap]
enable = true
[editor.indent-guides]
render = true
[editor.lsp]
display-inlay-hints = true
display-messages = true
snippets = true
[editor.statusline]
left = ["mode", "spinner", "file-name", "file-modification-indicator", "workspace-diagnostics" ]
right = ["version-control", "diagnostics", "position", "file-encoding", "total-line-numbers", "file-type"]

44
nvim/after/plugin/dap.lua Normal file
View File

@ -0,0 +1,44 @@
vim.keymap.set('n', '<leader>b', function() require('dap').toggle_breakpoint() end)
vim.keymap.set('n', '<F5>', function() require('dap').continue() end)
vim.keymap.set('n', '<F10>', function() require('dap').step_over() end)
vim.keymap.set('n', '<F11>', function() require('dap').step_into() end)
vim.keymap.set('n', '<F12>', function() require('dap').step_out() end)
require('dap').adapters.lldb = {
type = 'executable',
command = '/usr/bin/lldb-vscode', -- adjust as needed
name = 'lldb',
}
local lldb = {
name = 'Launch lldb',
type = 'lldb', -- matches the adapter
request = 'launch', -- could also attach to a currently running process
program = function()
return vim.fn.input(
'Path to executable: ',
vim.fn.getcwd() .. '/target/debug/',
'file'
)
end,
cwd = '${workspaceFolder}',
stopOnEntry = false,
args = {},
runInTerminal = false,
}
require('dap').configurations.rust = {
lldb -- different debuggers or more configurations can be used here
}
require("dapui").setup()
local dap, dapui = require("dap"), require("dapui")
dap.listeners.after.event_initialized["dapui_config"] = function()
dapui.open()
end
dap.listeners.before.event_terminated["dapui_config"] = function()
dapui.close()
end
dap.listeners.before.event_exited["dapui_config"] = function()
dapui.close()
end

View File

@ -0,0 +1,12 @@
local fterm = require('FTerm')
fterm.setup({
border = 'double',
dimensions = {
height = 0.9,
width = 0.9,
},
})
vim.keymap.set('n', '<F8>', function() fterm.toggle() end)
vim.keymap.set('t', '<F8>', function() fterm.toggle() end)

View File

@ -0,0 +1 @@
vim.keymap.set('n', '<leader>gs', vim.cmd.Git)

View File

@ -0,0 +1,10 @@
local mark = require('harpoon.mark')
local ui = require('harpoon.ui')
vim.keymap.set('n', '<leader>a', mark.add_file)
vim.keymap.set('n', '<C-e>', ui.toggle_quick_menu)
vim.keymap.set('n', '<F1>', function() ui.nav_file(1) end)
vim.keymap.set('n', '<F2>', function() ui.nav_file(2) end)
vim.keymap.set('n', '<F3>', function() ui.nav_file(3) end)
vim.keymap.set('n', '<F4>', function() ui.nav_file(4) end)

View File

@ -0,0 +1,3 @@
local inlay = require('inlay-hints').setup({
only_current_line = true,
})

70
nvim/after/plugin/lsp.lua Normal file
View File

@ -0,0 +1,70 @@
local lsp = require('lsp-zero')
lsp.preset('recommended')
lsp.ensure_installed({
'rust_analyzer',
})
-- Fix Undefined global 'vim'
lsp.configure('lua-language-server', {
settings = {
Lua = {
diagnostics = {
globals = { 'vim' }
}
}
}
})
local ih = require('inlay-hints')
local cmp = require('cmp')
local cmp_select = {behavior = cmp.SelectBehavior.Select}
local cmp_mappings = lsp.defaults.cmp_mappings({
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
['<C-y>'] = cmp.mapping.confirm({ select = true }),
['<C-Space>'] = cmp.mapping.complete(),
})
cmp_mappings['<Tab>'] = nil
cmp_mappings['<S-Tab>'] = nil
lsp.setup_nvim_cmp({
mapping = cmp_mappings
})
lsp.set_preferences({
suggest_lsp_servers = false,
sign_icons = {
error = 'E',
warn = 'W',
hint = 'H',
info = 'I'
}
})
lsp.on_attach(function(client, bufnr)
local opts = {buffer = bufnr, remap = false}
vim.keymap.set('n', 'gd', function() vim.lsp.buf.definition() end, opts)
vim.keymap.set('n', 'K', function() vim.lsp.buf.hover() end, opts)
vim.keymap.set('n', '<leader>fr', function() vim.lsp.buf.references() end, opts)
vim.keymap.set('n', '<leader>rn', function() vim.lsp.buf.rename() end, opts)
vim.keymap.set('n', '<leader>vws', function() vim.lsp.buf.workspace_symbol() end, opts)
vim.keymap.set('n', '<leader>vd', function() vim.diagnostic.open_float() end, opts)
vim.keymap.set('n', '<leader>vca', function() vim.lsp.buf.code_action() end, opts)
vim.keymap.set('n', '[d', function() vim.diagnostic.goto_next() end, opts)
vim.keymap.set('n', ']d', function() vim.diagnostic.goto_prev() end, opts)
vim.keymap.set('i', '<C-h>', function() vim.lsp.buf.signature_help() end, opts)
ih.on_attach(client, bufnr)
end
)
lsp.setup()
vim.diagnostic.config({
virtual_text = true,
inlay_hints = true
})

View File

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

View File

@ -0,0 +1,5 @@
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})

View File

@ -0,0 +1,22 @@
require'nvim-treesitter.configs'.setup {
-- A list of parser names, or 'all'
ensure_installed = { 'c', 'cpp', 'lua', 'rust', 'vimdoc' },
-- Install parsers synchronously (only applied to `ensure_installed`)
sync_install = false,
-- Automatically install missing parsers when entering buffer
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
auto_install = true,
highlight = {
-- `false` will disable the whole extension
enable = true,
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
-- Using this option may slow down your editor, and you may see some duplicate highlights.
-- Instead of true it can also be a list of languages
additional_vim_regex_highlighting = false,
},
}

View File

@ -0,0 +1 @@
vim.keymap.set('n', '<leader>u', vim.cmd.UndotreeToggle)

1
nvim/init.lua Normal file
View File

@ -0,0 +1 @@
require('luke-else')

View File

@ -0,0 +1,2 @@
require('luke-else.packer')
require('luke-else.set')

View File

@ -0,0 +1,70 @@
vim.cmd [[packadd packer.nvim]]
return require('packer').startup(function(use)
-- Packer can manage itself
use 'wbthomason/packer.nvim'
-- Fuzzy Finding
use {
'nvim-telescope/telescope.nvim', tag = '0.1.0',
-- or , branch = '0.1.x',
requires = { {'nvim-lua/plenary.nvim'} }
}
-- Color Scheme
use {
'navarasu/onedark.nvim',
priority = 1000,
config = function()
vim.cmd.colorscheme 'onedark'
end
}
-- Status Bar
use {
'nvim-lualine/lualine.nvim',
requires = { 'nvim-tree/nvim-web-devicons', opt = true }
}
-- Ease of use Plugins
use('nvim-treesitter/nvim-treesitter', {run = ':TSUpdate'})
use('theprimeagen/harpoon')
use('mbbill/undotree')
use('tpope/vim-fugitive')
use("numToStr/FTerm.nvim")
use('simrat39/inlay-hints.nvim')
-- Bracket Autocompletion
use {
'windwp/nvim-autopairs',
config = function() require('nvim-autopairs').setup {} end
}
-- LSP
use {
'VonHeikemen/lsp-zero.nvim',
branch = 'v1.x',
requires = {
-- LSP Support
{'neovim/nvim-lspconfig'},
{'williamboman/mason.nvim'},
{'williamboman/mason-lspconfig.nvim'},
-- Autocompletion
{'hrsh7th/nvim-cmp'},
{'hrsh7th/cmp-buffer'},
{'hrsh7th/cmp-path'},
{'saadparwaiz1/cmp_luasnip'},
{'hrsh7th/cmp-nvim-lsp'},
{'hrsh7th/cmp-nvim-lua'},
-- Snippets
{'L3MON4D3/LuaSnip'},
{'rafamadriz/friendly-snippets'},
}
}
-- Debugger
use 'nvim-lua/plenary.nvim'
use { 'rcarriga/nvim-dap-ui', requires = {'mfussenegger/nvim-dap'} }
end)

View File

@ -0,0 +1,27 @@
vim.opt.nu = true
vim.opt.relativenumber = true
vim.opt.tabstop = 4
vim.opt.softtabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = true
vim.opt.smartindent = true
vim.opt.wrap = false
vim.opt.swapfile = false
vim.opt.backup = false
vim.opt.undodir = os.getenv('HOME') .. '/.vim/undodir'
vim.opt.undofile = true
vim.opt.hlsearch = false
vim.opt.incsearch = true
vim.opt.termguicolors = true
vim.opt.scrolloff = 8
vim.opt.signcolumn = 'yes'
vim.opt.isfname:append('@-@')
vim.opt.updatetime = 50

View File

@ -1,12 +1,24 @@
#!/bin/bash
# Update and install base packages
sudo pacman -Syu
sudo pacman -Sy rustup cmake neovim fish go xorg-xsetroot alacritty spotifyd neofetch discord vifm docker networkmanager-openvpn htop awesome-terminal-fonts ttf-jetbrains-mono gnome-keyring playerctl base-devel
sudo pacman -Sy xorg-xsetroot alacritty ttf-firacode-nerd noto-fonts gnome-keyring playerctl scrot xsecurelock # DE Setup
sudo pacman -Sy neovim vifm neofetch fish htop networkmanager networkmanager-openvpn unzip ripgrep lldb # Utilities
sudo pacman -Sy base-devel rustup go fzf cmake docker # Dev
sudo pacman -Sy spotifyd discord # Userspace
mv ../.xinitrc ~/.xinitrc
# Move relevant script and config files
ln -s ~/.config/.xinitrc ~/.xinitrc
mkdir ~/.dwm
mv ./autostart.sh ~/.dwm/autostart.sh
ln -s ~/.config/scripts/autostart.sh ~/.dwm/autostart.sh
# Change Shell
chsh -s /usr/bin/fish
# Install rust (Used for Lemurs)
rustup install stable
# Install AUR:w
cd /opt
sudo git clone https://aur.archlinux.org/yay.git
sudo chown -R luke-else:users ./yay
@ -16,38 +28,51 @@ makepkg -si
cd ~
yay vscode
yay brave
# Install packages through AUR
yay brave-bin
# Install and Configure git elements
mkdir ~/git
cd ~/git
git config --global user.name "Luke Else"
git config --global user.email "mail@luke-else.co.uk"
git config --global user.name 'Luke Else'
git config --global user.email 'mail@luke-else.co.uk'
git clone ssh://git@git.luke-else.co.uk:222/luke-else/dwm.git
git clone ssh://git@git.luke-else.co.uk:222/luke-else/dmenu.git
git clone ssh://git@git.luke-else.co.uk:222/luke-else/dwmblocks.git
git clone https://github.com/coastalwhite/lemurs
# Install DWM
cd dwm
git checkout dwm-patched
sudo make install
cd ..
# Install dmenu
cd dmenu
sudo make install
cd ..
# Install DWMBlocks
cd dwmblocks
sudo cp ./statusbar/* /usr/local/bin/
sudo make install
sudo mkdir -p /usr/bin/
sudo ln -s ~/git/dwmblocks/statusbar/* /usr/bin/
cd ..
# Install Lemurs
cd lemurs
sudo chmod +x install.sh
./install.sh
sudo ln -s ~/.config/.xinitrc /etc/lemurs/wms/dwm
cd ..
# Install Oh-My-FISH
cd ~
curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install | fish
# Install Packer.nvim
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
~/.local/share/nvim/site/pack/packer/start/packer.nvim