Compare commits
66 Commits
Author | SHA1 | Date | |
---|---|---|---|
74d2806469 | |||
0d2d954714 | |||
2fb22f045c | |||
1562c63934 | |||
6d8bd7c1a4 | |||
d4bd724bb2 | |||
950a4edc9d | |||
f13985c007 | |||
a72fc7cf40 | |||
44f0129aa8 | |||
8f2af48023 | |||
ab5e6aa5ab | |||
d201344c3b | |||
6660f9d3bd | |||
b5c5a53275 | |||
ee9d362477 | |||
3252348954 | |||
bbdd171b77 | |||
ca94e7d106 | |||
c4dd699f9d | |||
ece83c7ea5 | |||
e99496fd2b | |||
204ffd906a | |||
0f5feecc3b | |||
6e8e93d294 | |||
5a829bed08 | |||
3362458259 | |||
adf2ea2f85 | |||
d57e050ea8 | |||
728a6bd880 | |||
c2e317519a | |||
3598b7048d | |||
f196872519 | |||
6337b3c0fd | |||
33f90aee8e | |||
3fceb355bc | |||
d920f5e7e9 | |||
0586d97290 | |||
607d376d27 | |||
9a49ecbff3 | |||
c994896bdc | |||
68e357b6f1 | |||
2e0a8f011f | |||
797f02d131 | |||
ac53964865 | |||
92cec18df3 | |||
7fea6db1d5 | |||
ea4484556f | |||
a837d393b0 | |||
a5fc3a336b | |||
392dd08454 | |||
9d44111878 | |||
07a4656b7b | |||
c944d635e3 | |||
b80cb16fd8 | |||
f3c5dbfae8 | |||
c73c8ea3b6 | |||
76396e23e6 | |||
715d6103eb | |||
1c6396c020 | |||
5adf899dd6 | |||
9d55594d83 | |||
29901655de | |||
719fc7aa52 | |||
927ed0ff5c | |||
cee5d021c3 |
5
.vscode/settings.json
vendored
Normal file
5
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"Lua.diagnostics.globals": [
|
||||
"vim"
|
||||
]
|
||||
}
|
6
.xinitrc
6
.xinitrc
@ -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
|
||||
|
@ -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
27
helix/config.toml
Normal 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
44
nvim/after/plugin/dap.lua
Normal 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
|
12
nvim/after/plugin/fterm.lua
Normal file
12
nvim/after/plugin/fterm.lua
Normal 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)
|
1
nvim/after/plugin/fugitive.lua
Normal file
1
nvim/after/plugin/fugitive.lua
Normal file
@ -0,0 +1 @@
|
||||
vim.keymap.set('n', '<leader>gs', vim.cmd.Git)
|
10
nvim/after/plugin/harpoon.lua
Normal file
10
nvim/after/plugin/harpoon.lua
Normal 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)
|
3
nvim/after/plugin/inlay.lua
Normal file
3
nvim/after/plugin/inlay.lua
Normal file
@ -0,0 +1,3 @@
|
||||
local inlay = require('inlay-hints').setup({
|
||||
only_current_line = true,
|
||||
})
|
70
nvim/after/plugin/lsp.lua
Normal file
70
nvim/after/plugin/lsp.lua
Normal 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
|
||||
})
|
1
nvim/after/plugin/lualine.lua
Normal file
1
nvim/after/plugin/lualine.lua
Normal file
@ -0,0 +1 @@
|
||||
require('lualine').setup()
|
5
nvim/after/plugin/telescope.lua
Normal file
5
nvim/after/plugin/telescope.lua
Normal 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, {})
|
22
nvim/after/plugin/treesitter.lua
Normal file
22
nvim/after/plugin/treesitter.lua
Normal 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,
|
||||
},
|
||||
}
|
1
nvim/after/plugin/undotree.lua
Normal file
1
nvim/after/plugin/undotree.lua
Normal file
@ -0,0 +1 @@
|
||||
vim.keymap.set('n', '<leader>u', vim.cmd.UndotreeToggle)
|
1
nvim/init.lua
Normal file
1
nvim/init.lua
Normal file
@ -0,0 +1 @@
|
||||
require('luke-else')
|
2
nvim/lua/luke-else/init.lua
Normal file
2
nvim/lua/luke-else/init.lua
Normal file
@ -0,0 +1,2 @@
|
||||
require('luke-else.packer')
|
||||
require('luke-else.set')
|
70
nvim/lua/luke-else/packer.lua
Normal file
70
nvim/lua/luke-else/packer.lua
Normal 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)
|
27
nvim/lua/luke-else/set.lua
Normal file
27
nvim/lua/luke-else/set.lua
Normal 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
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user