diff options
| -rw-r--r-- | modules/home-manager/init.lua | 51 | ||||
| -rw-r--r-- | modules/home-manager/neovim.nix | 18 | ||||
| -rw-r--r-- | modules/home-manager/tmux.nix | 17 | ||||
| -rw-r--r-- | overlays/nixcord-fix.nix | 21 |
4 files changed, 106 insertions, 1 deletions
diff --git a/modules/home-manager/init.lua b/modules/home-manager/init.lua new file mode 100644 index 0000000..e181993 --- /dev/null +++ b/modules/home-manager/init.lua @@ -0,0 +1,51 @@ +vim.o.number = true +vim.o.relativenumber = true +vim.o.signcolumn = "yes" +vim.o.termguicolors = true +vim.o.wrap = false +vim.o.tabstop = 4 +vim.o.swapfile = false +vim.g.mapleader = " " +vim.o.winborder = "rounded" +vim.o.clipboard = "unnamedplus" + +vim.keymap.set('n', '<leader>o', ':update<CR> :source<CR>') +vim.keymap.set('n', '<leader>w', ':write<CR>') +vim.keymap.set('n', '<leader>q', ':quit<CR>') + +vim.keymap.set({ 'n', 'v', 'x' }, '<leader>y', '"+y<CR>') +vim.keymap.set({ 'n', 'v', 'x' }, '<leader>d', '"+d<CR>') + +vim.pack.add({ + { src = "https://github.com/vague2k/vague.nvim" }, + { src = "https://github.com/echasnovski/mini.pick" }, + { src = "https://github.com/nvim-treesitter/nvim-treesitter" }, + { src = "https://github.com/neovim/nvim-lspconfig" }, +}) + +vim.api.nvim_create_autocmd('LspAttach', { + callback = function(ev) + local client = vim.lsp.get_client_by_id(ev.data.client_id) + if client:supports_method('textDocument/completion') then + vim.lsp.completion.enable(true, client.id, ev.buf, { autotrigger = true }) + end + end, +}) +vim.o.completeopt = "menu,menuone,noselct" + +require "mini.pick".setup() +require "nvim-treesitter.configs".setup({ + ensure_installed = { "lua" "nix" }, + highlight = { enable = true } +}) +require "oil".setup() + +vim.keymap.set('n', '<leader>f', ":Pick files<CR>") +vim.keymap.set('n', '<leader>h', ":Pick help<CR>") +vim.keymap.set('n', '<leader>e', ":Oil<CR>") +vim.keymap.set('n', '<leader>lf', vim.lsp.buf.format) +vim.lsp.enable({ "lua_ls", "nixd" }) + +require "vague".setup({ transparent = true }) +vim.cmd("colorscheme vague") +vim.cmd(":hi statusline guibg=NONE") diff --git a/modules/home-manager/neovim.nix b/modules/home-manager/neovim.nix new file mode 100644 index 0000000..b2300b4 --- /dev/null +++ b/modules/home-manager/neovim.nix @@ -0,0 +1,18 @@ +{ config, lib, pkgs, ... }: + +{ + options.neovim.enable = lib.mkEnableOption "Setup neovim"; + config = lib.mkIf config.neovim.enable { + programs.nixvim = { + enable = true; + colorschemes.oxocarbon.enable = true; + plugins = { + treesitter.enable = true; + lsp = { + enable = true; + servers.lua_ls.enable = true; + }; + }; + }; + }; +} diff --git a/modules/home-manager/tmux.nix b/modules/home-manager/tmux.nix index e109375..3d61374 100644 --- a/modules/home-manager/tmux.nix +++ b/modules/home-manager/tmux.nix @@ -15,8 +15,23 @@ bind -n M-Up select-pane -U bind -n M-Down select-pane -D + # style + set -g status-position top + set -g status-justify absolute-centre + set -g status-style 'fg=color7 bg=default' + set -g status-right "" + # set -g status-right ' #(cd #{pane_current_path}; git rev-parse --abbrev-ref HEAD)' + # set -g status-right "" + set -g status-left '#S' + set -g status-left-style 'fg=color8' + set -g status-right-length 0 + set -g status-left-length 100 + setw -g window-status-current-style 'fg=colour6 bg=default bold' + setw -g window-status-current-format '#I:#W ' + setw -g window-status-style 'fg=color8' + set -g mouse on ''; }; }; -}
\ No newline at end of file +} diff --git a/overlays/nixcord-fix.nix b/overlays/nixcord-fix.nix new file mode 100644 index 0000000..e35b7b6 --- /dev/null +++ b/overlays/nixcord-fix.nix @@ -0,0 +1,21 @@ +self: super: { + vencord = super.vencord.overrideAttrs (old: rec { + pname = "vencord"; + version = "1.12.7"; + + src = super.fetchFromGitHub { + owner = "Vencord"; + repo = "Vencord"; + rev = "v${version}"; + sha256 = "sha256-NEW_HASH_FROM_BUILD"; + }; + + pnpmDeps = super.fetchPnpmDeps { + inherit src; + lockfile = "${src}/pnpm-lock.yaml"; + sha256 = "sha256-QiD4qTRtz5vz0EEc6Q08ej6dbVGMlPLU2v0GVKNBQyc="; # ← from error message + }; + + nativeBuildInputs = old.nativeBuildInputs ++ [ super.nodejs ]; + }); +} |
