From 812c2749c06062692aa4373e183a25bd1fa62f85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Thu, 7 Dec 2023 20:54:47 +0100 Subject: [PATCH] improvements --- desktops/hyprland/hyprland.nix | 3 +- desktops/hyprland/keybinds.nix | 12 +++-- desktops/hyprland/monitors.nix | 6 +-- flake.lock | 84 ++++------------------------------ packages.nix | 2 + programs/git.nix | 8 +++- programs/nixvim.nix | 80 ++++++++++++++++++++++++++++---- 7 files changed, 101 insertions(+), 94 deletions(-) diff --git a/desktops/hyprland/hyprland.nix b/desktops/hyprland/hyprland.nix index 19d7102..1a9ffcc 100644 --- a/desktops/hyprland/hyprland.nix +++ b/desktops/hyprland/hyprland.nix @@ -24,9 +24,8 @@ "GIO_EXTRA_MODULES,${pkgs.gnome.gvfs}/lib/gio/modules" ]; exec-once = [ - "ags" "swww init" - "swww img ~/Pictures/Wallpapers/wallpaper.jpg" + "ags" "systemctl --user import-environment DISPLAY WAYLAND_DISPLAY XAUTHORITY" "dbus-update-activation-environment DISPLAY WAYLAND_DISPLAY XAUTHORITY" "gnome-keyring-daemon --start --components=secrets" diff --git a/desktops/hyprland/keybinds.nix b/desktops/hyprland/keybinds.nix index d54f06b..e4adb0e 100644 --- a/desktops/hyprland/keybinds.nix +++ b/desktops/hyprland/keybinds.nix @@ -19,9 +19,15 @@ "SUPER,left,movefocus,l" "SUPER,right,movefocus,r" - "SUPER,Tab,workspace,m+1" - "SUPER,mouse_up,workspace,m+1" - "SUPER,mouse_down,workspace,m-1" + "SUPER,f,workspace,r-1" + "SUPER,h,workspace,r+1" + "SUPER_SHIFT,f,movetoworkspace,r-1" + "SUPER_SHIFT,h,movetoworkspace,r+1" + "SUPER,mouse_up,workspace,r+1" + "SUPER,mouse_down,workspace,r-1" + + # just dump the window anywhere + "SUPER,x,movetoworkspacesilent,empty" "SUPER,1,workspace,1" "SUPER,2,workspace,2" diff --git a/desktops/hyprland/monitors.nix b/desktops/hyprland/monitors.nix index b2a3a50..606058a 100644 --- a/desktops/hyprland/monitors.nix +++ b/desktops/hyprland/monitors.nix @@ -1,5 +1,5 @@ [ - "DP-1,1920x1080@240,0x0,1,vrr,1" - "DP-3,2560x1440@75,1920x0,1,vrr,1" - "HDMI-A-1,1920x1080@75,0x1080,1,transform,2" + "DP-1,highrr,0x0,1" + "DP-3,highrr,1920x0,1" + "HDMI-A-1,highrr,0x1080,1,transform,2" ] diff --git a/flake.lock b/flake.lock index 7aebed5..ebdf563 100644 --- a/flake.lock +++ b/flake.lock @@ -18,29 +18,6 @@ "type": "github" } }, - "beautysh": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ], - "poetry2nix": "poetry2nix", - "utils": "utils" - }, - "locked": { - "lastModified": 1680308980, - "narHash": "sha256-aUEHV0jk2qIFP3jlsWYWhBbm+w/N9gzH3e4I5DcdB5s=", - "owner": "lovesegfault", - "repo": "beautysh", - "rev": "9845efc3ea3e86cc0d41465d720a47f521b2799c", - "type": "github" - }, - "original": { - "owner": "lovesegfault", - "repo": "beautysh", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -62,11 +39,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "owner": "numtide", "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "type": "github" }, "original": { @@ -169,11 +146,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1701253981, - "narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=", + "lastModified": 1701718080, + "narHash": "sha256-6ovz0pG76dE0P170pmmZex1wWcQoeiomUZGggfH9XPs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58", + "rev": "2c7f3c0fb7c08a0814627611d9d7d45ab6d75335", "type": "github" }, "original": { @@ -185,7 +162,6 @@ }, "nixvim": { "inputs": { - "beautysh": "beautysh", "flake-utils": "flake-utils", "nixpkgs": [ "nixpkgs" @@ -193,11 +169,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1701379698, - "narHash": "sha256-u4wV7iI5XCMkj/BSyr9sih9WgevnYhw01nFWAerFEGE=", + "lastModified": 1701956652, + "narHash": "sha256-PGkn4yCvui0HtJbVfGu0yKSZgwvsP0GdApD0M1MjcZY=", "owner": "nix-community", "repo": "nixvim", - "rev": "28fc85484ab827912b1785484dd709c62d9a8237", + "rev": "cc3f5209c1253442608d17055d14e5da2122dabd", "type": "github" }, "original": { @@ -206,33 +182,6 @@ "type": "github" } }, - "poetry2nix": { - "inputs": { - "flake-utils": [ - "nixvim", - "beautysh", - "utils" - ], - "nixpkgs": [ - "nixvim", - "beautysh", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1658665240, - "narHash": "sha256-/wkx7D7enyBPRjIkK0w7QxLQhzEkb3UxNQnjyc3FTUI=", - "owner": "nix-community", - "repo": "poetry2nix", - "rev": "8b8edc85d24661d5a6d0d71d6a7011f3e699780f", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "poetry2nix", - "type": "github" - } - }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat", @@ -295,21 +244,6 @@ "repo": "default", "type": "github" } - }, - "utils": { - "locked": { - "lastModified": 1678901627, - "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } } }, "root": "root", diff --git a/packages.nix b/packages.nix index d606cbc..2ef0ca8 100644 --- a/packages.nix +++ b/packages.nix @@ -27,6 +27,7 @@ with pkgs; [ withOpenASAR = true; withVencord = false; }) + element-desktop slack # office @@ -64,4 +65,5 @@ with pkgs; [ ranger lazydocker libqalculate + ripgrep ] diff --git a/programs/git.nix b/programs/git.nix index 2dafe7d..15a608b 100644 --- a/programs/git.nix +++ b/programs/git.nix @@ -9,9 +9,15 @@ extraConfig = { pull.rebase = true; merge = { - tool = "nvimdiff"; + tool = "nvim-mergetool"; conflictstyle = "diff3"; }; + mergetool.nvim-mergetool = { + cmd = '' + nvim -f -c "MergetoolStart" "$MERGED" "$BASE" "$LOCAL" "$REMOTE" + ''; + trustExitCode = true; + }; mergetool.prompt = false; }; } diff --git a/programs/nixvim.nix b/programs/nixvim.nix index ced21e4..9fce88e 100644 --- a/programs/nixvim.nix +++ b/programs/nixvim.nix @@ -32,6 +32,16 @@ ''; }; }; + lualine-so-fancy = pkgs.vimUtils.buildVimPlugin { + name = "lualine-so-fancy"; + version = "2128450"; + src = pkgs.fetchFromGitHub { + owner = "meuter"; + repo = "lualine-so-fancy.nvim"; + rev = "21284504fed2776668fdea8743a528774de5d2e1"; + hash = "sha256-JMz3Dv3poGoYQU+iq/jtgyHECZLx+6mLCvqUex/a0SY="; + }; + }; in { enable = true; defaultEditor = true; @@ -50,10 +60,13 @@ in { undodir = {__raw = "os.getenv('HOME') .. '/.config/nvim/undodir'";}; undofile = true; - scrolloff = 8; + scrolloff = 12; termguicolors = true; + hlsearch = false; + incsearch = true; + updatetime = 50; fillchars.eob = " "; @@ -73,7 +86,6 @@ in { key = "s"; action = ":SymbolsOutline"; } - { key = "J"; mode = "v"; @@ -93,9 +105,8 @@ in { { key = ""; mode = "n"; - action = "zz"; + action = "zz"; } - { key = "p"; mode = "x"; @@ -111,6 +122,18 @@ in { mode = "v"; action = ''"_dP''; } + { + key = "n"; + mode = "n"; + options.silent = true; + action = "vim.lsp.buf.hover"; + lua = true; + } + { + key = "hh"; + mode = "n"; + action = '':Telescope harpoon marks''; + } ]; globals = { @@ -153,6 +176,15 @@ in { vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = "" }) end + vim.diagnostic.config({ + virtual_text = true, + signs = true, + underline = true, + update_in_insert = true, + severity_sort = false, + }) + vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {border = "rounded"}) + local Terminal = require('toggleterm.terminal').Terminal local lazygit = Terminal:new({ cmd = "lazygit", @@ -285,6 +317,7 @@ in { } ]; lualine_x = [ + {name = "fancy_lsp_servers";} { name = "filetype"; extraConfig = {icon_only = true;}; @@ -329,6 +362,10 @@ in { }; }; undotree.enable = true; + notify = { + enable = true; + backgroundColour = "#000000"; + }; toggleterm = { enable = true; openMapping = "t"; @@ -336,6 +373,17 @@ in { size = 60; }; luasnip.enable = true; + ts-autotag.enable = true; + leap.enable = true; + harpoon = { + enable = false; + enableTelescope = true; + keymaps = { + addFile = "hm"; + navNext = "hn"; + navPrev = "hp"; + }; + }; telescope = { enable = true; @@ -344,7 +392,14 @@ in { "fa" = "find_files"; "fg" = "live_grep"; "fb" = "buffers"; - "fh" = "help_tags"; + + "sr" = "lsp_references"; + "sd" = "lsp_definitions"; + "si" = "lsp_implementations"; + "ss" = "lsp_document_symbols"; + "sw" = "lsp_workspace_symbols"; + "st" = "lsp_type_definitions"; + "sh" = "diagnostics"; }; }; @@ -399,7 +454,13 @@ in { group = augroup, buffer = bufnr, callback = function() - vim.lsp.buf.format({async = false}) + vim.lsp.buf.format({ + filter = function(client) + return client.name == "null-ls" + end, + bufnr = bufnr, + async = false, + }) end, }) end @@ -428,10 +489,7 @@ in { html.enable = true; cssls.enable = true; svelte.enable = true; - tsserver = { - enable = true; - onAttach.function = "client.server_capabilities.documentFormattingProvider = false"; - }; + tsserver.enable = true; yamlls.enable = true; jsonls.enable = true; @@ -495,6 +553,7 @@ in { {name = "nvim_lsp_document_symbol";} ]; formatting.fields = ["abbr" "kind"]; + snippet.expand = "luasnip"; window = { completion.border = "rounded"; documentation.border = "rounded"; @@ -513,6 +572,7 @@ in { extraPlugins = with pkgs.vimPlugins; [ vim-startuptime vim-mergetool + lualine-so-fancy darkman ]; }