diff --git a/dotfiles/nvim/init.lua b/dotfiles/nvim/init.lua deleted file mode 100644 index 7dcd428..0000000 --- a/dotfiles/nvim/init.lua +++ /dev/null @@ -1,139 +0,0 @@ --- =================================== --- | General Neovim Configuration | --- =================================== --- I won't lie to you, I vibecoded the boilerplate for this stuff. --- Aside from Emacs, I don't really like having to configure my editors --- very much. Basic understanding of the config is all I really prioritize. -vim.opt.number = true -- Show line numbers -vim.opt.relativenumber = true -- Show relative line numbers -vim.opt.tabstop = 2 -- A tab is 2 spaces -vim.opt.shiftwidth = 2 -- Indent is 2 spaces -vim.opt.expandtab = true -- Use spaces instead of tabs -vim.opt.termguicolors = true -- Enable terminal colors -vim.opt.scrolloff = 8 -- Lines above/below cursor -vim.opt.signcolumn = "yes" -- Always show the sign column --- Set the leader key to space. This is a crucial step for custom mappings. -vim.g.mapleader = " " --- ==================================== --- | Plugin Management with lazy.nvim | --- ==================================== --- The configuration below bootstraps lazy.nvim if it's not already installed. -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" -if not vim.loop.fs_stat(lazypath) then - vim.fn.system({ - "git", "clone", "--filter=blob:none", - "https://github.com/folke/lazy.nvim.git", lazypath - }) -end -vim.opt.rtp:prepend(lazypath) --- Setup the plugins you need. -require("lazy").setup({ - { 'sphamba/smear-cursor.nvim' }, - -- For background transparency - { 'xiyaowong/transparent.nvim' }, - -- === The colorscheme plugin is specified here. === - -- Gruvbox theme plugin. It will be automatically installed by lazy.nvim. - { 'ellisonleao/gruvbox.nvim', config = function() - -- Ensure the background is set to 'dark' for the gruvbox colorscheme. - vim.o.background = 'dark' - -- Load the colorscheme. - vim.cmd.colorscheme("gruvbox") - end }, - -- Treesitter plugin for syntax highlighting. - { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate" }, - -- Autocomplete plugins - { "hrsh7th/nvim-cmp" }, - { "hrsh7th/cmp-nvim-lsp" }, - { "L3MON4D3/LuaSnip" }, - { "neovim/nvim-lspconfig" }, - -- Plugin to automatically close paired characters like (), {}, [], and "" - { 'echasnovski/mini.pairs' }, - -- File tree and icon plugins - { - 'nvim-tree/nvim-tree.lua', - version = '*', - lazy = false, - dependencies = { - 'nvim-tree/nvim-web-devicons', - }, - config = function() - -- The setup call for the nvim-tree plugin. - require('nvim-tree').setup {} - end - }, -}) --- Transparent configuration -require('transparent').setup({ - enable = true, -- boolean: enable transparent - extra_groups = { -- table: additional groups to clear - 'Normal', 'NormalNC', 'Comment', 'Constant', 'Identifier', - 'Statement', 'PreProc', 'Type', 'Special', 'Underlined', - 'Todo', 'String', 'Function', 'Conditional', 'Repeat', - 'Operator', 'Structure', 'LineNr', 'SignColumn', 'EndOfBuffer' - }, -}) --- Treesitter configuration. -require("nvim-treesitter.configs").setup({ - highlight = { enable = true }, - -- You can specify languages to install with `ensure_installed`. - -- e.g., ensure_installed = { "lua", "python", "javascript" }, -}) --- Autocomplete (cmp) configuration. -local cmp = require("cmp") -cmp.setup({ - snippet = { - expand = function(args) require("luasnip").lsp_expand(args.body) end, - }, - mapping = cmp.mapping.preset.insert({ - [""] = cmp.mapping.select_next_item(), - [""] = cmp.mapping.select_prev_item(), - [""] = cmp.mapping.confirm({ select = true }), - }), - sources = { - { name = "nvim_lsp" }, - }, -}) --- Mini.pairs configuration. --- This simple setup is all that's needed for the basic functionality. -require('mini.pairs').setup({}) --- =================================== --- | Custom Keymaps | --- =================================== --- Keymaps are custom commands mapped to a specific key combination. --- The "" prefix will be replaced with your leader key, which is "space". --- Split creation keymaps -vim.keymap.set('n', 'sv', ':vsplit', { desc = 'Create a vertical split' }) -vim.keymap.set('n', 'ss', ':split', { desc = 'Create a horizontal split' }) --- Buffer navigation --- bh/j/k/l to navigate between buffers -vim.keymap.set('n', 'bh', ':bprev', { desc = 'Go to previous buffer' }) -vim.keymap.set('n', 'bl', ':bnext', { desc = 'Go to next buffer' }) --- The following mappings are less common, but fulfill your request. -vim.keymap.set('n', 'bj', ':bnext', { desc = 'Go to next buffer' }) -vim.keymap.set('n', 'bk', ':bprev', { desc = 'Go to previous buffer' }) --- Split navigation --- sh/j/k/l to move between splits -vim.keymap.set('n', 'sh', 'h', { desc = 'Move to left split' }) -vim.keymap.set('n', 'sj', 'j', { desc = 'Move to split below' }) -vim.keymap.set('n', 'sk', 'k', { desc = 'Move to split above' }) -vim.keymap.set('n', 'sl', 'l', { desc = 'Move to right split' }) --- Normal mode keymaps --- Save the current file. -vim.keymap.set('n', 'w', ':w', { desc = 'Save file' }) --- Force quit the current window without saving. -vim.keymap.set('n', 'q', ':q!', { desc = 'Force quit window' }) --- Save and quit. -vim.keymap.set('n', 'x', ':wq', { desc = 'Save and quit' }) --- Save all open buffers. -vim.keymap.set('n', 'wa', ':wa', { desc = 'Save all buffers' }) --- Close all windows except the current one. -vim.keymap.set('n', 'o', ':only', { desc = 'Close all other windows' }) --- Toggle the file tree. -vim.keymap.set('n', 'e', ':NvimTreeToggle', { desc = 'Toggle file tree' }) --- Select the entire file content. -vim.keymap.set('n', 'a', 'ggVG', { desc = 'Select entire file' }) --- Various commands to compile different file types. --- Typst => PDF -vim.keymap.set('n', 'ct', ':!typst compile %:t', { desc = 'Compile Typst file to PDF'} ) --- Keybinding to toggle transparency -vim.api.nvim_set_keymap('n', 'tt', ':TransparentToggle', { noremap = true, silent = true }) diff --git a/flake.nix b/flake.nix index 9d66a83..29d96e4 100644 --- a/flake.nix +++ b/flake.nix @@ -56,10 +56,10 @@ "foobar2000" "android-platform-tools" "zen" + "obs" "krita" "sioyek" "shortcat" - "leader-key" ]; }; @@ -67,9 +67,6 @@ system.defaults = { dock.autohide = true; finder.AppleShowAllExtensions = true; - NSGlobalDomain.AppleShowAllFiles = true; - # finder.AppleShowAllFiles - NSGlobalDomain.AppleShowScrollBars = "WhenScrolling"; }; nix.enable =false;