From 0c1a189c5385c580f9522757f9c3974242134cbe Mon Sep 17 00:00:00 2001 From: schererleander Date: Tue, 29 Jul 2025 12:50:32 +0200 Subject: feat: add styling --- modules/home-manager/init.lua | 51 +++++++++++++++++++++++++++++++++++++++++ modules/home-manager/neovim.nix | 18 +++++++++++++++ modules/home-manager/tmux.nix | 17 +++++++++++++- 3 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 modules/home-manager/init.lua create mode 100644 modules/home-manager/neovim.nix (limited to 'modules/home-manager') 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', 'o', ':update :source') +vim.keymap.set('n', 'w', ':write') +vim.keymap.set('n', 'q', ':quit') + +vim.keymap.set({ 'n', 'v', 'x' }, 'y', '"+y') +vim.keymap.set({ 'n', 'v', 'x' }, 'd', '"+d') + +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', 'f', ":Pick files") +vim.keymap.set('n', 'h', ":Pick help") +vim.keymap.set('n', 'e', ":Oil") +vim.keymap.set('n', '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 +} -- cgit v1.3.1