aboutsummaryrefslogtreecommitdiff
path: root/modules/home-manager
diff options
context:
space:
mode:
Diffstat (limited to 'modules/home-manager')
-rw-r--r--modules/home-manager/init.lua51
-rw-r--r--modules/home-manager/neovim.nix18
-rw-r--r--modules/home-manager/tmux.nix17
3 files changed, 85 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
+}