Last active
August 25, 2025 21:24
-
-
Save caio2k/b6e9421c942c003c1333808910450345 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| echo 'Scripts for debian13 post-install' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| echo 'include "%L" | |
| <dead_acute> <C> : "Ç" | |
| <dead_acute> <c> : "ç" ' > ~/.XCompose | |
| #add slack repo | |
| wget -qO - https://packagecloud.io/slacktechnologies/slack/gpgkey | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/slack-packagecloud.gpg | |
| echo 'deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/slack-packagecloud.gpg] https://packagecloud.io/slacktechnologies/slack/debian/ jessie main' | sudo tee /etc/apt/sources.list.d/slack.list | |
| echo 'Package: * | |
| Pin: origin packagecloud.io | |
| Pin-Priority: 1 | |
| Package: slack-desktop | |
| Pin: origin packagecloud.io | |
| Pin-Priority: 400' | sudo tee /etc/apt/preferences.d/slack | |
| #add vscodium repo | |
| wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/vscodium-archive-keyring.gpg | |
| echo 'deb [arch=amd64, signed-by=/etc/apt/trusted.gpg.d/vscodium-archive-keyring.gpg] https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs/ vscodium main' | sudo tee /etc/apt/sources.list.d/vscodium.list | |
| echo 'Package: * | |
| Pin: origin paulcarroty.gitlab.io | |
| Pin-Priority: 1 | |
| Package: codium | |
| Pin: origin paulcarroty.gitlab.io | |
| Pin-Priority: 400' | sudo tee /etc/apt/preferences.d/vscodium | |
| #add signal repo | |
| wget -qO - https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/signal-desktop-keyring.gpg | |
| echo 'deb [arch=amd64, signed-by=/etc/apt/trusted.gpg.d/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' | sudo tee /etc/apt/sources.list.d/signal.list | |
| echo 'Package: * | |
| Pin: origin updates.signal.org | |
| Pin-Priority: 1 | |
| Package: signal-desktop | |
| Pin: origin paulcarroty.gitlab.io | |
| Pin-Priority: 400' | sudo tee /etc/apt/preferences.d/signal-desktop | |
| #add dropbox repo | |
| wget -qO - https://linux.dropbox.com/fedora/rpm-public-key.asc | sudo dd of=/etc/apt/trusted.gpg.d/dropbox-keyring.asc | |
| echo 'deb [arch=amd64, signed-by=/etc/apt/trusted.gpg.d/dropbox-keyring.asc] https://linux.dropbox.com/debian/ trixie main' | sudo tee /etc/apt/sources.list.d/dropbox.list | |
| echo 'Package: * | |
| Pin: origin linux.dropbox.com | |
| Pin-Priority: 1 | |
| Package: dropbox | |
| Pin: origin linux.dropbox.com | |
| Pin-Priority: 400' | sudo tee /etc/apt/preferences.d/dropbox | |
| echo fs.inotify.max_user_watches=5000000 | sudo tee /etc/sysctl.d/dropbox.conf | |
| sudo /usr/sbin/sysctl --system | |
| #remove cdrom from repository | |
| sudo sed -i '/cdrom/d' /etc/apt/sources.list | |
| #add non-free to repository | |
| echo 'deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian/ trixie non-free' | sudo tee /etc/apt/sources.list.d/trixie-non-free.list | |
| #add contrib to repository | |
| echo 'deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian/ trixie contrib' | sudo tee /etc/apt/sources.list.d/trixie-contrib.list | |
| #add backports repository | |
| echo 'deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian/ trixie-backports non-free' | sudo tee /etc/apt/sources.list.d/trixie-backports.list | |
| sudo apt update | |
| sudo apt -y install vim neovim mc aptitude codium nfs-client cups firmware-linux-nonfree xsane s-tui stress-ng curl chromium firmware-iwlwifi sudo xbindkeys qemu-kvm libvirt-daemon-system virt-manager gparted gparted gitk git samba net-tools net-tools firewalld python3-pip docker.io docker-compose slack-desktop v4l2loopback-dkms python3-opencv intel-media-va-driver-non-free heif-thumbnailer heif-gdk-pixbuf ifuse libimobiledevice-utils ttf-mscorefonts-installer dropbox gir1.2-gda-5.0 gir1.2-gsound-1.0 tmux-plugin-manager alacritty geeqie nvtop pipx python3-venv python3-selenium parallel sshfs rclone rsync obs-studio nodejs | |
| #update user permission | |
| sudo usermod $USER -a -G sudo,video,audio,docker,libvirt | |
| #disable suspend | |
| sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target | |
| #nvidia | |
| sudo apt -y install linux-headers-amd64 firmware-misc-nonfree nvidia-kernel-dkms nvidia-driver-full | |
| echo 'GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX nvidia-drm.modeset=1 nvidia-drm.fbdev=1"' | sudo tee /etc/default/grub.d/nvidia-modeset.cfg | |
| echo 'options nvidia NVreg_PreserveVideoMemoryAllocations=1' | sudo tee /etc/modprobe.d/nvidia-power-management.conf | |
| update-grub |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ---- compatible with nvim 0.10.4 (deb13) | |
| -- Install packer | |
| local install_path = vim.fn.stdpath 'data' .. '/site/pack/packer/start/packer.nvim' | |
| local is_bootstrap = false | |
| if vim.fn.empty(vim.fn.glob(install_path)) > 0 then | |
| is_bootstrap = true | |
| vim.fn.execute('!git clone https://github.com/wbthomason/packer.nvim ' .. install_path) | |
| vim.cmd [[packadd packer.nvim]] | |
| end | |
| -- stylua: ignore start | |
| require('packer').startup(function(use) | |
| use 'wbthomason/packer.nvim' -- Package manager | |
| use 'ryanoasis/vim-devicons' | |
| use 'christoomey/vim-tmux-navigator' | |
| use 'tpope/vim-fugitive' -- Git commands in nvim | |
| use 'tpope/vim-rhubarb' -- Fugitive-companion to interact with github | |
| use { 'lewis6991/gitsigns.nvim', requires = { 'nvim-lua/plenary.nvim' }} -- Add git related info in the signs columns and popups | |
| use 'airblade/vim-gitgutter' -- Git Gutter | |
| use 'numToStr/Comment.nvim' -- "gc" to comment visual regions/lines | |
| use { 'nvim-treesitter/nvim-treesitter', branch = 'master'} -- Highlight, edit, and navigate code | |
| use { 'nvim-treesitter/nvim-treesitter-context', branch = 'master'} -- Highlight, edit, and navigate code | |
| -- use 'nvim-treesitter/nvim-treesitter-textobjects' -- Additional textobjects for treesitter | |
| -- use 'neovim/nvim-lspconfig' -- Collection of configurations for built-in LSP client | |
| -- use 'williamboman/nvim-lsp-installer' -- Automatically install language servers to stdpath | |
| -- use { 'hrsh7th/nvim-cmp', requires = { 'hrsh7th/cmp-nvim-lsp' } } -- Autocompletion | |
| -- use { 'L3MON4D3/LuaSnip', requires = { 'saadparwaiz1/cmp_luasnip' } } -- Snippet Engine and Snippet Expansion | |
| -- use 'nvim-lualine/lualine.nvim' -- Fancier statusline | |
| use { 'dense-analysis/ale', config = function() | |
| -- Configuration goes here. | |
| local g = vim.g | |
| g.ale_ruby_rubocop_auto_correct_all = 1 | |
| g.ale_linters = { | |
| ruby = {'rubocop', 'ruby'}, | |
| lua = {'lua_language_server'} | |
| } | |
| end | |
| } | |
| use { 'mfussenegger/nvim-dap', | |
| tag = '0.10.0', | |
| requires = { | |
| "nvim-neotest/nvim-nio", | |
| "rcarriga/nvim-dap-ui", | |
| "mfussenegger/nvim-dap-python", | |
| "theHamsta/nvim-dap-virtual-text", | |
| }, | |
| } | |
| use 'vim-airline/vim-airline' | |
| use 'vim-airline/vim-airline-themes' | |
| use { 'lukas-reineke/indent-blankline.nvim', tag = 'v2.20.8' } -- Add indentation guides even on blank lines | |
| use 'tpope/vim-sleuth' -- Detect tabstop and shiftwidth automatically | |
| -- use { 'nvim-telescope/telescope.nvim', requires = { 'nvim-lua/plenary.nvim' } } -- Fuzzy Finder (files, lsp, etc) | |
| use { 'catppuccin/nvim', as = 'catppuccin' } -- catppuccin | |
| -- Fuzzy Finder Algorithm which requires local dependencies to be built. Only load if `make` is available | |
| -- use { 'nvim-telescope/telescope-fzf-native.nvim', run = 'make', cond = vim.fn.executable "make" == 1 } | |
| if is_bootstrap then | |
| require('packer').sync() | |
| end | |
| end) | |
| -- stylua: ignore end | |
| -- When we are bootstrapping a configuration, it doesn't | |
| -- make sense to execute the rest of the init.lua. | |
| -- | |
| -- You'll need to restart nvim, and then it will work. | |
| if is_bootstrap then | |
| print '==================================' | |
| print ' Plugins are being installed' | |
| print ' Wait until Packer completes,' | |
| print ' then restart nvim' | |
| print '==================================' | |
| return | |
| end | |
| -- Automatically source and re-compile packer whenever you save this init.lua | |
| local packer_group = vim.api.nvim_create_augroup('Packer', { clear = true }) | |
| vim.api.nvim_create_autocmd('BufWritePost', { | |
| command = 'source <afile> | PackerCompile', | |
| group = packer_group, | |
| pattern = vim.fn.expand '$MYVIMRC', | |
| }) | |
| -- [[ Setting options ]] | |
| -- See `:help vim.o` | |
| -- Set highlight on search | |
| vim.o.hlsearch = false | |
| -- Make line numbers default | |
| vim.wo.number = true | |
| -- Enable mouse mode | |
| vim.o.mouse = 'a' | |
| -- Enable clipboard | |
| vim.opt.clipboard = "unnamedplus" | |
| -- Enable break indent | |
| vim.o.breakindent = true | |
| -- Save undo history | |
| vim.o.undofile = true | |
| -- Case insensitive searching UNLESS /C or capital in search | |
| vim.o.ignorecase = true | |
| vim.o.smartcase = true | |
| -- Decrease update time | |
| vim.o.updatetime = 250 | |
| vim.wo.signcolumn = 'yes' | |
| -- Set colorscheme | |
| vim.o.termguicolors = true | |
| vim.cmd [[colorscheme catppuccin-latte]] | |
| -- Set completeopt to have a better completion experience | |
| vim.o.completeopt = 'menuone,noselect' | |
| -- [[ Basic Keymaps ]] | |
| -- Set <space> as the leader key | |
| -- See `:help mapleader` | |
| -- NOTE: Must happen before plugins are required (otherwise wrong leader will be used) | |
| vim.g.mapleader = ' ' | |
| vim.g.maplocalleader = ' ' | |
| -- Keymaps for better default experience | |
| -- See `:help vim.keymap.set()` | |
| vim.keymap.set({ 'n', 'v' }, '<Space>', '<Nop>', { silent = true }) | |
| -- Remap for dealing with word wrap | |
| vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) | |
| vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) | |
| -- [[ Highlight on yank ]] | |
| -- See `:help vim.highlight.on_yank()` | |
| local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true }) | |
| vim.api.nvim_create_autocmd('TextYankPost', { | |
| callback = function() | |
| vim.highlight.on_yank() | |
| end, | |
| group = highlight_group, | |
| pattern = '*', | |
| }) | |
| -- Set lualine as statusline | |
| -- See `:help lualine.txt` | |
| -- require('lualine').setup { | |
| -- options = { | |
| -- icons_enabled = false, | |
| -- theme = 'onedark', | |
| -- component_separators = '|', | |
| -- section_separators = '', | |
| -- }, | |
| -- } | |
| -- Enable Comment.nvim | |
| require('Comment').setup() | |
| -- Gitsigns | |
| -- See `:help gitsigns.txt` | |
| require('gitsigns').setup { | |
| signs = { | |
| add = { text = '+' }, | |
| change = { text = '~' }, | |
| delete = { text = '_' }, | |
| topdelete = { text = '‾' }, | |
| changedelete = { text = '~' }, | |
| }, | |
| } | |
| -- [[ Configure Telescope ]] | |
| -- See `:help telescope` and `:help telescope.setup()` | |
| -- require('telescope').setup { | |
| -- defaults = { | |
| -- mappings = { | |
| -- i = { | |
| -- ['<C-u>'] = false, | |
| -- ['<C-d>'] = false, | |
| -- }, | |
| -- }, | |
| -- }, | |
| -- } | |
| -- | |
| -- -- Enable telescope fzf native, if installed | |
| -- pcall(require('telescope').load_extension, 'fzf') | |
| -- | |
| -- -- See `:help telescope.builtin` | |
| -- vim.keymap.set('n', '<leader>?', require('telescope.builtin').oldfiles, { desc = '[?] Find recently opened files' }) | |
| -- vim.keymap.set('n', '<leader><space>', require('telescope.builtin').buffers, { desc = '[ ] Find existing buffers' }) | |
| -- vim.keymap.set('n', '<leader>/', function() | |
| -- -- You can pass additional configuration to telescope to change theme, layout, etc. | |
| -- require('telescope.builtin').current_buffer_fuzzy_find(require('telescope.themes').get_dropdown { | |
| -- winblend = 10, | |
| -- previewer = false, | |
| -- }) | |
| -- end, { desc = '[/] Fuzzily search in current buffer]' }) | |
| -- | |
| -- vim.keymap.set('n', '<leader>sf', require('telescope.builtin').find_files, { desc = '[S]earch [F]iles' }) | |
| -- vim.keymap.set('n', '<leader>sh', require('telescope.builtin').help_tags, { desc = '[S]earch [H]elp' }) | |
| -- vim.keymap.set('n', '<leader>sw', require('telescope.builtin').grep_string, { desc = '[S]earch current [W]ord' }) | |
| -- vim.keymap.set('n', '<leader>sg', require('telescope.builtin').live_grep, { desc = '[S]earch by [G]rep' }) | |
| -- vim.keymap.set('n', '<leader>sd', require('telescope.builtin').diagnostics, { desc = '[S]earch [D]iagnostics' }) | |
| -- [[ Configure Treesitter ]] | |
| -- See `:help nvim-treesitter` | |
| require('nvim-treesitter.configs').setup { | |
| -- Add languages to be installed here that you want installed for treesitter | |
| ensure_installed = { 'lua', 'typescript', 'javascript', 'rust', 'go', 'python', 'vue' }, | |
| highlight = { enable = true }, | |
| indent = { enable = true }, | |
| incremental_selection = { | |
| enable = true, | |
| keymaps = { | |
| init_selection = '<c-space>', | |
| node_incremental = '<c-space>', | |
| -- TODO: I'm not sure for this one. | |
| scope_incremental = '<c-s>', | |
| node_decremental = '<c-backspace>', | |
| }, | |
| }, | |
| textobjects = { | |
| select = { | |
| enable = true, | |
| lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim | |
| keymaps = { | |
| -- You can use the capture groups defined in textobjects.scm | |
| ['af'] = '@function.outer', | |
| ['if'] = '@function.inner', | |
| ['ac'] = '@class.outer', | |
| ['ic'] = '@class.inner', | |
| }, | |
| }, | |
| move = { | |
| enable = true, | |
| set_jumps = true, -- whether to set jumps in the jumplist | |
| goto_next_start = { | |
| [']m'] = '@function.outer', | |
| [']]'] = '@class.outer', | |
| }, | |
| goto_next_end = { | |
| [']M'] = '@function.outer', | |
| [']['] = '@class.outer', | |
| }, | |
| goto_previous_start = { | |
| ['[m'] = '@function.outer', | |
| ['[['] = '@class.outer', | |
| }, | |
| goto_previous_end = { | |
| ['[M'] = '@function.outer', | |
| ['[]'] = '@class.outer', | |
| }, | |
| }, | |
| swap = { | |
| enable = true, | |
| swap_next = { | |
| ['<leader>a'] = '@parameter.inner', | |
| }, | |
| swap_previous = { | |
| ['<leader>A'] = '@parameter.inner', | |
| }, | |
| }, | |
| }, | |
| } | |
| require('treesitter-context').setup{ | |
| enable = true, -- Enable this plugin (Can be enabled/disabled later via commands) | |
| multiwindow = true, -- Enable multiwindow support. | |
| max_lines = 0, -- How many lines the window should span. Values <= 0 mean no limit. | |
| min_window_height = 0, -- Minimum editor window height to enable context. Values <= 0 mean no limit. | |
| line_numbers = true, | |
| multiline_threshold = 20, -- Maximum number of lines to show for a single context | |
| trim_scope = 'outer', -- Which context lines to discard if `max_lines` is exceeded. Choices: 'inner', 'outer' | |
| mode = 'topline', -- Line used to calculate context. Choices: 'cursor', 'topline' | |
| -- Separator between context and content. Should be a single character string, like '-'. | |
| -- When separator is set, the context will only show up when there are at least 2 lines above cursorline. | |
| -- separator = nil, | |
| separator = '-', | |
| zindex = 20, -- The Z-index of the context window | |
| on_attach = nil, -- (fun(buf: integer): boolean) return false to disable attaching | |
| } | |
| -- Enable `lukas-reineke/indent-blankline.nvim` | |
| -- See `:help indent_blankline.txt` | |
| require('indent_blankline').setup { | |
| char == '┊', | |
| show_trailing_blankline_indent = false, | |
| } | |
| -- Diagnostic keymaps | |
| vim.keymap.set('n', '[d', vim.diagnostic.goto_prev) | |
| vim.keymap.set('n', ']d', vim.diagnostic.goto_next) | |
| vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float) | |
| vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist) | |
| -- LSP settings. | |
| -- This function gets run when an LSP connects to a particular buffer. | |
| local on_attach = function(_, bufnr) | |
| -- NOTE: Remember that lua is a real programming language, and as such it is possible | |
| -- to define small helper and utility functions so you don't have to repeat yourself | |
| -- many times. | |
| -- | |
| -- In this case, we create a function that lets us more easily define mappings specific | |
| -- for LSP related items. It sets the mode, buffer and description for us each time. | |
| local nmap = function(keys, func, desc) | |
| if desc then | |
| desc = 'LSP: ' .. desc | |
| end | |
| vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc }) | |
| end | |
| -- nmap('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame') | |
| -- nmap('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction') | |
| -- | |
| -- nmap('gd', vim.lsp.buf.definition, '[G]oto [D]efinition') | |
| -- nmap('gi', vim.lsp.buf.implementation, '[G]oto [I]mplementation') | |
| -- nmap('gr', require('telescope.builtin').lsp_references) | |
| -- nmap('<leader>ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols') | |
| -- nmap('<leader>ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols') | |
| -- | |
| -- See `:help K` for why this keymap | |
| -- nmap('K', vim.lsp.buf.hover, 'Hover Documentation') | |
| -- nmap('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation') | |
| -- Lesser used LSP functionality | |
| -- nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration') | |
| -- nmap('<leader>D', vim.lsp.buf.type_definition, 'Type [D]efinition') | |
| -- nmap('<leader>wa', vim.lsp.buf.add_workspace_folder, '[W]orkspace [A]dd Folder') | |
| -- nmap('<leader>wr', vim.lsp.buf.remove_workspace_folder, '[W]orkspace [R]emove Folder') | |
| -- nmap('<leader>wl', function() | |
| -- print(vim.inspect(vim.lsp.buf.list_workspace_folders())) | |
| -- end, '[W]orkspace [L]ist Folders') | |
| -- Create a command `:Format` local to the LSP buffer | |
| vim.api.nvim_buf_create_user_command(bufnr, 'Format', vim.lsp.buf.format or vim.lsp.buf.formatting, { desc = 'Format current buffer with LSP' }) | |
| end | |
| -- nvim-cmp supports additional completion capabilities | |
| --local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities()) | |
| -- Enable the following language servers | |
| local servers = { 'clangd', 'rust_analyzer', 'pyright', 'tsserver', 'sumneko_lua' } | |
| -- Ensure the servers above are installed | |
| -- require('nvim-lsp-installer').setup { | |
| -- ensure_installed = servers, | |
| -- } | |
| -- for _, lsp in ipairs(servers) do | |
| -- require('lspconfig').lua_ls.setup { | |
| -- on_attach = on_attach, | |
| -- capabilities = capabilities, | |
| -- } | |
| -- end | |
| -- Example custom configuration for lua | |
| -- | |
| -- Make runtime files discoverable to the server | |
| local runtime_path = vim.split(package.path, ';') | |
| table.insert(runtime_path, 'lua/?.lua') | |
| table.insert(runtime_path, 'lua/?/init.lua') | |
| -- require('lspconfig').lua_ls.setup { | |
| -- on_attach = on_attach, | |
| -- capabilities = capabilities, | |
| -- settings = { | |
| -- Lua = { | |
| -- runtime = { | |
| -- -- Tell the language server which version of Lua you're using (most likely LuaJIT) | |
| -- version = 'LuaJIT', | |
| -- -- Setup your lua path | |
| -- path = runtime_path, | |
| -- }, | |
| -- diagnostics = { | |
| -- globals = { 'vim' }, | |
| -- }, | |
| -- workspace = { library = vim.api.nvim_get_runtime_file('', true) }, | |
| -- -- Do not send telemetry data containing a randomized but unique identifier | |
| -- telemetry = { enable = false, }, | |
| -- }, | |
| -- }, | |
| -- } | |
| -- | |
| -- -- nvim-cmp setup | |
| -- local cmp = require 'cmp' | |
| -- local luasnip = require 'luasnip' | |
| -- | |
| -- cmp.setup { | |
| -- snippet = { | |
| -- expand = function(args) | |
| -- luasnip.lsp_expand(args.body) | |
| -- end, | |
| -- }, | |
| -- mapping = cmp.mapping.preset.insert { | |
| -- ['<C-d>'] = cmp.mapping.scroll_docs(-4), | |
| -- ['<C-f>'] = cmp.mapping.scroll_docs(4), | |
| -- ['<C-Space>'] = cmp.mapping.complete(), | |
| -- ['<CR>'] = cmp.mapping.confirm { | |
| -- behavior = cmp.ConfirmBehavior.Replace, | |
| -- select = true, | |
| -- }, | |
| -- ['<Tab>'] = cmp.mapping(function(fallback) | |
| -- if cmp.visible() then | |
| -- cmp.select_next_item() | |
| -- elseif luasnip.expand_or_jumpable() then | |
| -- luasnip.expand_or_jump() | |
| -- else | |
| -- fallback() | |
| -- end | |
| -- end, { 'i', 's' }), | |
| -- ['<S-Tab>'] = cmp.mapping(function(fallback) | |
| -- if cmp.visible() then | |
| -- cmp.select_prev_item() | |
| -- elseif luasnip.jumpable(-1) then | |
| -- luasnip.jump(-1) | |
| -- else | |
| -- fallback() | |
| -- end | |
| -- end, { 'i', 's' }), | |
| -- }, | |
| -- sources = { | |
| -- { name = 'nvim_lsp' }, | |
| -- { name = 'luasnip' }, | |
| -- }, | |
| -- } | |
| -- Navigate between buffers | |
| vim.api.nvim_set_keymap('n', 'tt', ':bn<CR>', { noremap = true, silent = true }) | |
| vim.api.nvim_set_keymap('n', 'TT', ':bp<CR>', { noremap = true, silent = true }) | |
| vim.api.nvim_set_keymap('n', '<Tab>', ':bn<CR>', { noremap = true, silent = true }) | |
| vim.api.nvim_set_keymap('n', '<S-Tab>', ':bp<CR>', { noremap = true, silent = true }) | |
| vim.api.nvim_set_keymap('n', '<C-w>', ':bd<CR>', { noremap = true, silent = true }) | |
| -- airline | |
| vim.g["airline_powerline_fonts"] = 1 | |
| vim.g["airline#extensions#tabline#enabled"] = 1 | |
| vim.g["airline_theme"] = 'catppuccin' | |
| -- vim-gitgutter settings in init.lua | |
| vim.g.gitgutter_signs = 0 | |
| vim.g.gitgutter_highlight_lines = 1 | |
| vim.g.gitgutter_highlight_linenrs = 1 | |
| vim.cmd([[highlight GitGutterAddLine guibg=#dff5dd]]) -- default: links to DiffAdd | |
| vim.cmd([[highlight GitGutterAddLineNr guibg=#a6e3a1]]) -- default: links to DiffAdd | |
| vim.cmd([[highlight GitGutterChangeLine guibg=#f9e2af]]) -- default: links to DiffChange | |
| vim.cmd([[highlight GitGutterChangeLineNr guibg=#df8e1d]]) -- default: links to DiffChange | |
| vim.cmd([[highlight link GitGutterDeleteLine none]]) | |
| vim.cmd([[highlight GitGutterDeleteLineNr guibg=#d20f39]]) | |
| vim.cmd([[highlight Normal guibg=NONE ctermbg=NONE]]) | |
| vim.api.nvim_set_keymap('n', 'gn', '<Plug>(GitGutterNextHunk)', { noremap = true, silent = true }) | |
| vim.api.nvim_set_keymap('n', 'gp', '<Plug>(GitGutterPrevHunk)', { noremap = true, silent = true }) | |
| vim.api.nvim_set_keymap('n', 'ga', '<Plug>(GitGutterStageHunk)', { noremap = true, silent = true }) | |
| vim.api.nvim_set_keymap('n', 'gu', '<Plug>(GitGutterUndoHunk)', { noremap = true, silent = true }) | |
| --ale | |
| -- Python | |
| -- apt install flake8 | |
| vim.g.ale_python_flake8_options = '--max-line-length=100 --extend-ignore=E203 --extend-ignore=E741' | |
| -- apt install pylint | |
| vim.g.ale_python_pylint_options = '--disable C0114,C0116,C0103,C2401' | |
| vim.g.ale_linters = {python = {'flake8'}} | |
| -- apt install black isort | |
| vim.g.ale_fixers = {python = {'black', 'isort'}} | |
| vim.g.ale_python_black_options = '--line-length 100' | |
| vim.g.ale_python_isort_options = '--profile black -l 100' | |
| vim.opt.redrawtime = 10000 | |
| -- The line beneath this is called `modeline`. See `:help modeline` | |
| -- vim: ts=2 sts=2 sw=2 et |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment