diff --git a/.zshrc b/.zshrc new file mode 100644 index 0000000..83bca1e --- /dev/null +++ b/.zshrc @@ -0,0 +1,115 @@ +# If you come from bash you might have to change your $PATH. +# export PATH=$HOME/bin:/usr/local/bin:$PATH + +# Path to your oh-my-zsh installation. +export ZSH="$HOME/.oh-my-zsh" + +# 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, +# to know which specific one was loaded, run: echo $RANDOM_THEME +# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes +ZSH_THEME="robbyrussell" + +# 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/ +# If set to an empty array, this variable will have no effect. +# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) + +# Uncomment the following line to use case-sensitive completion. +# CASE_SENSITIVE="true" + +# Uncomment the following line to use hyphen-insensitive completion. +# Case-sensitive completion must be off. _ and - will be interchangeable. +# HYPHEN_INSENSITIVE="true" + +# Uncomment one of the following lines to change the auto-update behavior +# zstyle ':omz:update' mode disabled # disable automatic updates +# zstyle ':omz:update' mode auto # update automatically without asking +# zstyle ':omz:update' mode reminder # just remind me to update when it's time + +# Uncomment the following line to change how often to auto-update (in days). +# zstyle ':omz:update' frequency 13 + +# Uncomment the following line if pasting URLs and other text is messed up. +# DISABLE_MAGIC_FUNCTIONS="true" + +# Uncomment the following line to disable colors in ls. +# DISABLE_LS_COLORS="true" + +# Uncomment the following line to disable auto-setting terminal title. +# DISABLE_AUTO_TITLE="true" + +# Uncomment the following line to enable command auto-correction. +# ENABLE_CORRECTION="true" + +# Uncomment the following line to display red dots whilst waiting for completion. +# You can also set it to another string to have that shown instead of the default red dots. +# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f" +# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765) +# COMPLETION_WAITING_DOTS="true" + +# Uncomment the following line if you want to disable marking untracked files +# under VCS as dirty. This makes repository status check for large repositories +# much, much faster. +# DISABLE_UNTRACKED_FILES_DIRTY="true" + +# Uncomment the following line if you want to change the command execution time +# stamp shown in the history command output. +# You can set one of the optional three formats: +# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" +# or set a custom format using the strftime function format specifications, +# see 'man strftime' for details. +# HIST_STAMPS="mm/dd/yyyy" + +# Would you like to use another custom folder than $ZSH/custom? +# ZSH_CUSTOM=/path/to/new-custom-folder + +# Which plugins would you like to load? +# Standard plugins can be found in $ZSH/plugins/ +# Custom plugins may be added to $ZSH_CUSTOM/plugins/ +# Example format: plugins=(rails git textmate ruby lighthouse) +# Add wisely, as too many plugins slow down shell startup. +plugins=(colorize extract git npm ) + + + + +source $ZSH/oh-my-zsh.sh + +# User configuration + +# export MANPATH="/usr/local/man:$MANPATH" + +# You may need to manually set your language environment +# export LANG=en_US.UTF-8 + +# Preferred editor for local and remote sessions +# if [[ -n $SSH_CONNECTION ]]; then +# export EDITOR='vim' +# else +# export EDITOR='mvim' +# fi + +# Compilation flags +# export ARCHFLAGS="-arch x86_64" + +# Set personal aliases, overriding those provided by oh-my-zsh libs, +# plugins, and themes. Aliases can be placed here, though oh-my-zsh +# users are encouraged to define aliases within the ZSH_CUSTOM folder. +# For a full list of active aliases, run `alias`. +# +# Example aliases +# alias zshconfig="mate ~/.zshrc" +# alias ohmyzsh="mate ~/.oh-my-zsh" + + +# UNCOMMENT IF WSL DOCKER STARTUP IS NEEDED! +# Start Docker daemon automatically when logging in if not running. +#RUNNING=`ps aux | grep dockerd | grep -v grep` +#if [ -z "$RUNNING" ]; then +# sudo dockerd > /dev/null 2>&1 & +# disown +#fi +eval "$(oh-my-posh init zsh)" +eval "$(ssh-agent)" diff --git a/README.md b/README.md index 2ba341c..805fe70 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,18 @@ Run this in TMUX: - Debian / Ubuntu ```bash -sudo apt install git curl tmux gcc g++ unzip -y -wget https://github.com/neovim/neovim/releases/download/nightly/nvim-linux64.deb -sudo dpkg -i nvim-linux64.deb +sudo apt install git curl tmux gcc g++ unzip zsh -y git clone https://gitlab.deniedgaming.de/-/ide/project/herz/pgr-linux-defaults.git .pgr-linux-defaults cd .pgr-linux-defaults -git clone --depth 1 https://github.com/wbthomason/packer.nvim\ - ~/.local/share/nvim/site/pack/packer/start/packer.nvim - git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm ln ~/.pgr-linux-defaults/.tmux.conf ~/.tmux.conf ln -s ~/.pgr-linux-defaults/.tmux ~/.tmux tmux source ~/.tmux.conf mkdir ~/.config -ln -s ~/.pgr-linux-defaults/nvim/ ~/.config/nvim -mkdir ~/.local/share/nvim -ln -s ~/.pgr-linux-defaults/nvim_plugins/ ~/.local/share/nvim/plugged + +mv ~/.zshrc ~/.zshrc_pre_pgr_defaults +ln ~/.pgr-linux-defaults/.zshrc ~/.zshrc sudo wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64 -O /usr/local/bin/oh-my-posh sudo chmod +x /usr/local/bin/oh-my-posh @@ -29,9 +24,8 @@ unzip ~/.poshthemes/themes.zip -d ~/.poshthemes chmod u+rw ~/.poshthemes/*.omp.* rm ~/.poshthemes/themes.zip -echo $'eval \"$(oh-my-posh init bash) \"' >> ~/.bashrc -echo $'eval \"$( oh-my-posh init bash --config ~/.poshthemes/dracula.omp.json)\"' >> ~/.bashrc -exec bash +chsh -s $(which zsh) +exec zsh ``` @@ -42,28 +36,3 @@ press prefix + I to install the Plugins press prefix + U to upgrade the Plugins -NeoVIM: - -:Packer Sync to install / update the Plugins - - - -NVIM -leader = " " -filemanager = + pv -telescope = + pf -install lsp = :Mason -> select -> i - -*Most LSPs need NPM installed. I reccomend installing via NVM* - - - - - -WINDOWS: - -Requirements: - -Lua und gcc setup -copy nvim folder to -```C:\Users\\AppData\Local\nvim``` diff --git a/nvim/after/plugin/lsp.lua b/nvim/after/plugin/lsp.lua deleted file mode 100644 index 0b3e90c..0000000 --- a/nvim/after/plugin/lsp.lua +++ /dev/null @@ -1,68 +0,0 @@ -local lsp = require("lsp-zero") - -lsp.preset("recommended") - ---lsp.ensure_installed({ --- 'tsserver', --- 'eslint', --- 'rust_analyzer', --- 'pyright', ---}) - - - -local cmp = require('cmp') -local cmp_select = {behavior = cmp.SelectBehavior.Select} -local cmp_mappings = lsp.defaults.cmp_mappings({ - [''] = cmp.mapping.select_prev_item(cmp_select), - [''] = cmp.mapping.select_next_item(cmp_select), - [''] = cmp.mapping.confirm({ select = true }), - [""] = cmp.mapping.complete(), -}) - --- disable completion with tab --- this helps with copilot setup -cmp_mappings[''] = nil -cmp_mappings[''] = 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} - - if client.name == "eslint" then - vim.cmd.LspStop('eslint') - return - end - - vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) - vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) - vim.keymap.set("n", "vws", vim.lsp.buf.workspace_symbol, opts) - vim.keymap.set("n", "vd", vim.diagnostic.open_float, opts) - vim.keymap.set("n", "[d", vim.diagnostic.goto_next, opts) - vim.keymap.set("n", "]d", vim.diagnostic.goto_prev, opts) - vim.keymap.set("n", "vca", vim.lsp.buf.code_action, opts) - vim.keymap.set("n", "vrr", vim.lsp.buf.references, opts) - vim.keymap.set("n", "vrn", vim.lsp.buf.rename, opts) - vim.keymap.set("i", "", vim.lsp.buf.signature_help, opts) -end) - -lsp.setup() - -vim.diagnostic.config({ - virtual_text = true, -}) diff --git a/nvim/after/plugin/telescope.lua b/nvim/after/plugin/telescope.lua deleted file mode 100644 index c6fce31..0000000 --- a/nvim/after/plugin/telescope.lua +++ /dev/null @@ -1,6 +0,0 @@ -local builtin = require('telescope.builtin') -vim.keymap.set('n', 'pf', builtin.find_files, {}) -vim.keymap.set('n', '', builtin.git_files, {}) -vim.keymap.set('n', 'ps', function() - builtin.grep_string({ search = vim.fn.input("Grep > ") }) -end) diff --git a/nvim/after/plugin/treesitter.lua b/nvim/after/plugin/treesitter.lua deleted file mode 100644 index 3fd6624..0000000 --- a/nvim/after/plugin/treesitter.lua +++ /dev/null @@ -1,22 +0,0 @@ -require'nvim-treesitter.configs'.setup { - -- A list of parser names, or "all" - ensure_installed = { "help", "javascript", "typescript", "c", "lua", "rust", "python", "ninja" }, - - -- 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, - }, -} diff --git a/nvim/after/plugin/undotree.lua b/nvim/after/plugin/undotree.lua deleted file mode 100644 index b6b9276..0000000 --- a/nvim/after/plugin/undotree.lua +++ /dev/null @@ -1 +0,0 @@ -vim.keymap.set("n", "u", vim.cmd.UndotreeToggle) diff --git a/nvim/init.lua b/nvim/init.lua deleted file mode 100644 index 51134e6..0000000 --- a/nvim/init.lua +++ /dev/null @@ -1,61 +0,0 @@ -require("pgr") - - --- PACKER.NVIM Config - --- This file can be loaded by calling `lua require('plugins')` from your init.vim - --- Only required if you have packer configured as `opt` -vim.cmd [[packadd packer.nvim]] - -return require('packer').startup(function(use) - -- Packer can manage itself - use 'wbthomason/packer.nvim' - - -- telescope fuzzyfinder - use { - 'nvim-telescope/telescope.nvim', tag = '0.1.0', - -- or , branch = '0.1.x', - requires = { {'nvim-lua/plenary.nvim'} } - } - - -- Dracular Color schema - use ({ - 'dracula/vim', - as = 'dracula', - config = function() - vim.cmd('colorscheme dracula') - end - }) - - -- Treesitter - use ('nvim-treesitter/nvim-treesitter', {run = ':TSUpdate'}) - - --undotree - use('mbbill/undotree') - - --lsp-zeo - use { - 'VonHeikemen/lsp-zero.nvim', - 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'}, - } - } - -end) - diff --git a/nvim/lua/pgr/init.lua b/nvim/lua/pgr/init.lua deleted file mode 100644 index 410e1bc..0000000 --- a/nvim/lua/pgr/init.lua +++ /dev/null @@ -1,2 +0,0 @@ -require("pgr.set") -require("pgr.remap") diff --git a/nvim/lua/pgr/remap.lua b/nvim/lua/pgr/remap.lua deleted file mode 100644 index b760350..0000000 --- a/nvim/lua/pgr/remap.lua +++ /dev/null @@ -1,2 +0,0 @@ -vim.g.mapleader = " " -vim.keymap.set("n", "pv", vim.cmd.Ex) diff --git a/nvim/lua/pgr/set.lua b/nvim/lua/pgr/set.lua deleted file mode 100644 index a0ef473..0000000 --- a/nvim/lua/pgr/set.lua +++ /dev/null @@ -1,4 +0,0 @@ -vim.opt.number = true -vim.opt.tabstop = 4 -vim.opt.softtabstop = 4 -vim.opt.shiftwidth = 4 diff --git a/nvim/plugin/packer_compiled.lua b/nvim/plugin/packer_compiled.lua deleted file mode 100644 index 15a6129..0000000 --- a/nvim/plugin/packer_compiled.lua +++ /dev/null @@ -1,189 +0,0 @@ --- Automatically generated packer.nvim plugin loader code - -if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then - vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"') - return -end - -vim.api.nvim_command('packadd packer.nvim') - -local no_errors, error_msg = pcall(function() - -_G._packer = _G._packer or {} -_G._packer.inside_compile = true - -local time -local profile_info -local should_profile = false -if should_profile then - local hrtime = vim.loop.hrtime - profile_info = {} - time = function(chunk, start) - if start then - profile_info[chunk] = hrtime() - else - profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6 - end - end -else - time = function(chunk, start) end -end - -local function save_profiles(threshold) - local sorted_times = {} - for chunk_name, time_taken in pairs(profile_info) do - sorted_times[#sorted_times + 1] = {chunk_name, time_taken} - end - table.sort(sorted_times, function(a, b) return a[2] > b[2] end) - local results = {} - for i, elem in ipairs(sorted_times) do - if not threshold or threshold and elem[2] > threshold then - results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms' - end - end - if threshold then - table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)') - end - - _G._packer.profile_output = results -end - -time([[Luarocks path setup]], true) -local package_path_str = "/home/herz/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/herz/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/herz/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/herz/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" -local install_cpath_pattern = "/home/herz/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so" -if not string.find(package.path, package_path_str, 1, true) then - package.path = package.path .. ';' .. package_path_str -end - -if not string.find(package.cpath, install_cpath_pattern, 1, true) then - package.cpath = package.cpath .. ';' .. install_cpath_pattern -end - -time([[Luarocks path setup]], false) -time([[try_loadstring definition]], true) -local function try_loadstring(s, component, name) - local success, result = pcall(loadstring(s), name, _G.packer_plugins[name]) - if not success then - vim.schedule(function() - vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {}) - end) - end - return result -end - -time([[try_loadstring definition]], false) -time([[Defining packer_plugins]], true) -_G.packer_plugins = { - LuaSnip = { - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/LuaSnip", - url = "https://github.com/L3MON4D3/LuaSnip" - }, - ["cmp-buffer"] = { - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/cmp-buffer", - url = "https://github.com/hrsh7th/cmp-buffer" - }, - ["cmp-nvim-lsp"] = { - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp", - url = "https://github.com/hrsh7th/cmp-nvim-lsp" - }, - ["cmp-nvim-lua"] = { - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/cmp-nvim-lua", - url = "https://github.com/hrsh7th/cmp-nvim-lua" - }, - ["cmp-path"] = { - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/cmp-path", - url = "https://github.com/hrsh7th/cmp-path" - }, - cmp_luasnip = { - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/cmp_luasnip", - url = "https://github.com/saadparwaiz1/cmp_luasnip" - }, - dracula = { - config = { "\27LJ\2\n7\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0\24colorscheme dracula\bcmd\bvim\0" }, - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/dracula", - url = "https://github.com/dracula/vim" - }, - ["friendly-snippets"] = { - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/friendly-snippets", - url = "https://github.com/rafamadriz/friendly-snippets" - }, - ["lsp-zero.nvim"] = { - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/lsp-zero.nvim", - url = "https://github.com/VonHeikemen/lsp-zero.nvim" - }, - ["mason-lspconfig.nvim"] = { - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim", - url = "https://github.com/williamboman/mason-lspconfig.nvim" - }, - ["mason.nvim"] = { - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/mason.nvim", - url = "https://github.com/williamboman/mason.nvim" - }, - ["nvim-cmp"] = { - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/nvim-cmp", - url = "https://github.com/hrsh7th/nvim-cmp" - }, - ["nvim-lspconfig"] = { - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", - url = "https://github.com/neovim/nvim-lspconfig" - }, - ["nvim-treesitter"] = { - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/nvim-treesitter", - url = "https://github.com/nvim-treesitter/nvim-treesitter" - }, - ["packer.nvim"] = { - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/packer.nvim", - url = "https://github.com/wbthomason/packer.nvim" - }, - ["plenary.nvim"] = { - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/plenary.nvim", - url = "https://github.com/nvim-lua/plenary.nvim" - }, - ["telescope.nvim"] = { - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/telescope.nvim", - url = "https://github.com/nvim-telescope/telescope.nvim" - }, - undotree = { - loaded = true, - path = "/home/herz/.local/share/nvim/site/pack/packer/start/undotree", - url = "https://github.com/mbbill/undotree" - } -} - -time([[Defining packer_plugins]], false) --- Config for: dracula -time([[Config for dracula]], true) -try_loadstring("\27LJ\2\n7\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0\24colorscheme dracula\bcmd\bvim\0", "config", "dracula") -time([[Config for dracula]], false) - -_G._packer.inside_compile = false -if _G._packer.needs_bufread == true then - vim.cmd("doautocmd BufRead") -end -_G._packer.needs_bufread = false - -if should_profile then save_profiles() end - -end) - -if not no_errors then - error_msg = error_msg:gsub('"', '\\"') - vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None') -end