From 44b84c849d5a68275b9d2cbc3b5e6a654611c5da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Mon, 27 Feb 2023 23:02:37 +0100 Subject: [PATCH 01/15] nvim: add unstable version of copilot lua --- flake.lock | 17 +++++++++++++++++ flake.nix | 5 +++++ modules/programs/nvim/default.nix | 20 -------------------- overlays/default.nix | 30 +++++++++++++++++++++++++++++- 4 files changed, 51 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index d2414ef..18b52d9 100644 --- a/flake.lock +++ b/flake.lock @@ -82,6 +82,22 @@ "type": "github" } }, + "copilot-lua": { + "flake": false, + "locked": { + "lastModified": 1677479736, + "narHash": "sha256-n/SCrzzzL5WUHJk0sCXbgGusk/dQuy8DI9Pqdh+lVeQ=", + "owner": "zbirenbaum", + "repo": "copilot.lua", + "rev": "b41d4c9c7d4f5e0272bcf94061b88e244904c56f", + "type": "github" + }, + "original": { + "owner": "zbirenbaum", + "repo": "copilot.lua", + "type": "github" + } + }, "crane": { "inputs": { "flake-compat": [ @@ -813,6 +829,7 @@ "arkenfox-userjs": "arkenfox-userjs", "asus-touchpad-numpad-driver": "asus-touchpad-numpad-driver", "attic": "attic", + "copilot-lua": "copilot-lua", "emacs": "emacs", "flake-utils": "flake-utils_3", "forgit-git": "forgit-git", diff --git a/flake.nix b/flake.nix index 28c83f1..6a8b7d5 100644 --- a/flake.nix +++ b/flake.nix @@ -83,6 +83,11 @@ inputs.nixpkgs-stable.follows = "stable"; inputs.flake-utils.follows = "flake-utils"; }; + + copilot-lua = { + url = "github:zbirenbaum/copilot.lua"; + flake = false; + }; }; outputs = diff --git a/modules/programs/nvim/default.nix b/modules/programs/nvim/default.nix index 1d29b71..e7888e4 100644 --- a/modules/programs/nvim/default.nix +++ b/modules/programs/nvim/default.nix @@ -8,26 +8,6 @@ with lib; let cfg = config.my.programs.vim; - - mkDate = longDate: (lib.concatStringsSep "-" [ - (builtins.substring 0 4 longDate) - (builtins.substring 4 2 longDate) - (builtins.substring 6 2 longDate) - ]); - - mkVersionInput = input: mkDate (input.lastModifiedDate or "19700101") + "_" + (input.shortRev or "dirty"); - - nvim-treesitter-textsubjects = pkgs.vimUtils.buildVimPluginFrom2Nix { - pname = "nvim-treesitter-textsubjects"; - version = mkVersionInput inputs.nvim-treesitter-textsubjects; - src = inputs.nvim-treesitter-textsubjects; - }; - - smartcolumn-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix { - pname = "smartcolumn-nvim"; - version = mkVersionInput inputs.smartcolumn-nvim; - src = inputs.smartcolumn-nvim; - }; in { options.my.programs.vim = { diff --git a/overlays/default.nix b/overlays/default.nix index ae2256c..960d029 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -1,4 +1,13 @@ -{ inputs }: final: prev: { +{ inputs }: final: prev: +let + mkDate = longDate: (prev.lib.concatStringsSep "-" [ + (builtins.substring 0 4 longDate) + (builtins.substring 4 2 longDate) + (builtins.substring 6 2 longDate) + ]); + mkVersionInput = input: "unstable" + mkDate (input.lastModifiedDate or "19700101") + "_" + (input.shortRev or "dirty"); +in +{ agenix = inputs.agenix.packages.${prev.system}.default; attic = inputs.attic.packages.${prev.system}.default; hyprpaper = inputs.hyprpaper.packages.${prev.system}.default; @@ -23,6 +32,25 @@ mesonFlags = old.mesonFlags or [ ] ++ [ "-Dexperimental=true" ]; }); + vimPlugins = prev.vimPlugins // { + nvim-treesitter-textsubjects = prev.vimUtils.buildVimPluginFrom2Nix { + pname = "nvim-treesitter-textsubjects"; + version = mkVersionInput inputs.nvim-treesitter-textsubjects; + src = inputs.nvim-treesitter-textsubjects; + }; + + smartcolumn-nvim = prev.vimUtils.buildVimPluginFrom2Nix { + pname = "smartcolumn-nvim"; + version = mkVersionInput inputs.smartcolumn-nvim; + src = inputs.smartcolumn-nvim; + }; + + copilot-lua = prev.vimPlugins.copilot-lua.overrideAttrs (old: { + version = mkVersionInput inputs.copilot-lua; + src = inputs.copilot-lua; + }); + }; + master = import inputs.master { inherit (prev) system; config.allowUnfree = true; From 38f175b845321d915a872fa8ee1da712f6e14862 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Mon, 27 Feb 2023 23:03:17 +0100 Subject: [PATCH 02/15] nvim: disable copilot lua on startup --- modules/programs/nvim/init.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/programs/nvim/init.lua b/modules/programs/nvim/init.lua index 078cbd2..fb68663 100644 --- a/modules/programs/nvim/init.lua +++ b/modules/programs/nvim/init.lua @@ -434,6 +434,10 @@ require("copilot").setup({ suggestion = { enabled = false }, panel = { enabled = false }, }) +vim.api.nvim_create_autocmd("VimEnter", { + desc = "Disable Copilot by default on startup", + command = "Copilot disable", +}) require("copilot_cmp").setup() local orgmode = require("orgmode") From 55ccb1d06c3c95d64e418b309038a1203b032c33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Mon, 27 Feb 2023 23:04:23 +0100 Subject: [PATCH 03/15] nvim: add ruff lsp --- modules/programs/nvim/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/programs/nvim/init.lua b/modules/programs/nvim/init.lua index fb68663..042b6aa 100644 --- a/modules/programs/nvim/init.lua +++ b/modules/programs/nvim/init.lua @@ -323,7 +323,7 @@ local function lspconfig_setup(lsp, options) lspconfig[lsp].setup(final_options) end -local servers = { "nil_ls", "pylsp", "rust_analyzer" } +local servers = { "nil_ls", "pylsp", "rust_analyzer", "ruff_lsp" } for _, lsp in ipairs(servers) do lspconfig_setup(lsp, {}) end From f9109b6646510fed0ede3a03681c6678efc0f585 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Mon, 27 Feb 2023 23:48:21 +0100 Subject: [PATCH 04/15] nvim: add lspsage --- modules/programs/nvim/default.nix | 1 + modules/programs/nvim/init.lua | 22 ++++++++++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/modules/programs/nvim/default.nix b/modules/programs/nvim/default.nix index 1d29b71..3ec5a1c 100644 --- a/modules/programs/nvim/default.nix +++ b/modules/programs/nvim/default.nix @@ -72,6 +72,7 @@ in gitsigns-nvim lsp_lines-nvim lspkind-nvim + lspsaga-nvim-original lualine-lsp-progress lualine-nvim luasnip diff --git a/modules/programs/nvim/init.lua b/modules/programs/nvim/init.lua index 078cbd2..de5e1cf 100644 --- a/modules/programs/nvim/init.lua +++ b/modules/programs/nvim/init.lua @@ -259,18 +259,24 @@ vim.diagnostic.config({ -- The nvim-cmp almost supports LSP's capabilities so You should advertise it to LSP servers.. local capabilities = require("cmp_nvim_lsp").default_capabilities() +require("lspsaga").setup({ + symbol_in_winbar = { + enable = false, + }, +}) + local lspconfig = require("lspconfig") local on_attach_def = function(_, bufnr) wk.register({ - K = { vim.lsp.buf.hover, "show info" }, + K = { "Lspsaga hover_doc ++quiet", "show info" }, [""] = { l = { name = "lsp", - d = { vim.diagnostic.open_float, "open diagnostic window" }, - n = { vim.diagnostic.goto_next, "next error" }, - p = { vim.diagnostic.goto_prev, "prev error" }, - c = { vim.lsp.buf.code_action, "code action" }, - r = { vim.lsp.buf.rename, "rename" }, + d = { "Lspsaga show_cursor_diagnostics", "open diagnostic window" }, + n = { "Lspsaga diagnostic_jump_next", "next error" }, + p = { "Lspsaga diagnostic_jump_prev", "prev error" }, + c = { "Lspsaga code_action", "code action" }, + r = { "Lspsaga rename", "rename" }, f = { function() vim.lsp.buf.format({ async = true }) @@ -298,10 +304,10 @@ local on_attach_def = function(_, bufnr) g = { name = "goto", r = { vim.lsp.buf.references, "references" }, - d = { vim.lsp.buf.definition, "definition" }, + d = { "Lspsaga peek_definition", "definition" }, D = { vim.lsp.buf.declaration, "declaration" }, i = { vim.lsp.buf.implementation, "implementation" }, - t = { vim.lsp.buf.type_definition, "type defininition" }, + t = { "Lspsaga peek_type_definition", "type defininition" }, }, }, { buffer = bufnr, silent = true }) end From 17085b4a1b557ae12bdc9c1fb63cc0ff46c4d1ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Mon, 27 Feb 2023 23:53:35 +0100 Subject: [PATCH 05/15] nvim: use unstable lspsaga --- flake.lock | 17 +++++++++++++++++ flake.nix | 15 ++++++++++----- modules/programs/nvim/init.lua | 5 ++--- overlays/default.nix | 5 +++++ 4 files changed, 34 insertions(+), 8 deletions(-) diff --git a/flake.lock b/flake.lock index 18b52d9..ed44f3c 100644 --- a/flake.lock +++ b/flake.lock @@ -512,6 +512,22 @@ "type": "github" } }, + "lspsaga-nvim": { + "flake": false, + "locked": { + "lastModified": 1677497543, + "narHash": "sha256-xFba/hXqc0qyJH9Hd9XtXteXIqjJnIgYIy8Y5l9QPQQ=", + "owner": "glepnir", + "repo": "lspsaga.nvim", + "rev": "291629b704ba8fdd0134ef4204fb118050bca363", + "type": "github" + }, + "original": { + "owner": "glepnir", + "repo": "lspsaga.nvim", + "type": "github" + } + }, "master": { "locked": { "lastModified": 1677259386, @@ -838,6 +854,7 @@ "hypr-contrib": "hypr-contrib", "hyprland": "hyprland", "hyprpaper": "hyprpaper", + "lspsaga-nvim": "lspsaga-nvim", "master": "master", "neovim": "neovim", "nil": "nil", diff --git a/flake.nix b/flake.nix index 6a8b7d5..e6be918 100644 --- a/flake.nix +++ b/flake.nix @@ -77,17 +77,22 @@ flake = false; }; + copilot-lua = { + url = "github:zbirenbaum/copilot.lua"; + flake = false; + }; + + lspsaga-nvim = { + url = "github:glepnir/lspsaga.nvim"; + flake = false; + }; + attic = { url = "github:zhaofengli/attic"; inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs-stable.follows = "stable"; inputs.flake-utils.follows = "flake-utils"; }; - - copilot-lua = { - url = "github:zbirenbaum/copilot.lua"; - flake = false; - }; }; outputs = diff --git a/modules/programs/nvim/init.lua b/modules/programs/nvim/init.lua index 65153bf..0a47715 100644 --- a/modules/programs/nvim/init.lua +++ b/modules/programs/nvim/init.lua @@ -277,6 +277,7 @@ local on_attach_def = function(_, bufnr) p = { "Lspsaga diagnostic_jump_prev", "prev error" }, c = { "Lspsaga code_action", "code action" }, r = { "Lspsaga rename", "rename" }, + i = { "Lspsaga hover_doc ++keep", "show info (sticky)" }, f = { function() vim.lsp.buf.format({ async = true }) @@ -303,11 +304,9 @@ local on_attach_def = function(_, bufnr) }, g = { name = "goto", - r = { vim.lsp.buf.references, "references" }, d = { "Lspsaga peek_definition", "definition" }, - D = { vim.lsp.buf.declaration, "declaration" }, - i = { vim.lsp.buf.implementation, "implementation" }, t = { "Lspsaga peek_type_definition", "type defininition" }, + h = { "Lspsaga lsp_finder", "lsp finder" }, }, }, { buffer = bufnr, silent = true }) end diff --git a/overlays/default.nix b/overlays/default.nix index 960d029..8d802d2 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -49,6 +49,11 @@ in version = mkVersionInput inputs.copilot-lua; src = inputs.copilot-lua; }); + + lspsaga-nvim-original = prev.vimPlugins.lspsaga-nvim-original.overrideAttrs (old: { + version = mkVersionInput inputs.lspsaga-nvim; + src = inputs.lspsaga-nvim; + }); }; master = import inputs.master { From d01a5c072268b32f04cbc02ac929940adfe58a6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Tue, 28 Feb 2023 12:54:34 +0100 Subject: [PATCH 06/15] base: add zoxide to packages --- modules/profiles/base.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/profiles/base.nix b/modules/profiles/base.nix index 894419a..a35d0f3 100644 --- a/modules/profiles/base.nix +++ b/modules/profiles/base.nix @@ -137,6 +137,7 @@ in # Let Home Manager install and manage itself. home-manager.enable = true; fzf.enable = true; + zoxide.enable = true; }; home = { username = "moritz"; From 11156f282c97da75d69f568ce92c8b80f6553c78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Tue, 28 Feb 2023 12:55:06 +0100 Subject: [PATCH 07/15] direnv: add poetry layout for direnv --- modules/programs/direnv.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/modules/programs/direnv.nix b/modules/programs/direnv.nix index 1235326..92beef1 100644 --- a/modules/programs/direnv.nix +++ b/modules/programs/direnv.nix @@ -15,6 +15,24 @@ in home-manager.users.moritz.programs.direnv = { enable = true; nix-direnv.enable = true; + stdlib = '' + layout_poetry() { + if [[ ! -f pyproject.toml ]]; then + log_error 'No pyproject.toml found. Use `poetry new` or `poetry init` to create one first.' + exit 2 + fi + + local VENV=$(poetry env info --path) + if [[ -z $VENV || ! -d $VENV/bin ]]; then + log_error 'No poetry virtual environment found. Use `poetry install` to create one first.' + exit 2 + fi + + export VIRTUAL_ENV=$VENV + export POETRY_ACTIVE=1 + PATH_add "$VENV/bin" + } + ''; }; }; } From c7fabe4eab518ef618fbf9e1724d8abda1aada76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Tue, 28 Feb 2023 14:11:54 +0100 Subject: [PATCH 08/15] nvim: add zoxide telescope --- modules/programs/nvim/default.nix | 2 ++ modules/programs/nvim/init.lua | 3 +++ 2 files changed, 5 insertions(+) diff --git a/modules/programs/nvim/default.nix b/modules/programs/nvim/default.nix index 697bd7b..4a4bdfe 100644 --- a/modules/programs/nvim/default.nix +++ b/modules/programs/nvim/default.nix @@ -71,9 +71,11 @@ in nvim-web-devicons # for dashboard-nvim orgmode plenary-nvim # for telescope, neogit + popup-nvim smartcolumn-nvim telescope-fzf-native-nvim telescope-nvim + telescope-zoxide vim-lion which-key-nvim ]; diff --git a/modules/programs/nvim/init.lua b/modules/programs/nvim/init.lua index 0a47715..f082d27 100644 --- a/modules/programs/nvim/init.lua +++ b/modules/programs/nvim/init.lua @@ -67,10 +67,13 @@ require("noice").setup({ }, }) +require("telescope").load_extension("zoxide") wk.register({ f = { name = "find", f = { "Telescope find_files", "find file" }, + z = { "Telescope zoxide list", "find location" }, + l = { "Telescope current_buffer_fuzzy_find", "find line" }, g = { "Telescope live_grep", "live grep" }, b = { "Telescope buffers", "find buffer" }, }, From 67271f3ab9938006dc85e02b25668ba882d3df49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Tue, 28 Feb 2023 14:12:14 +0100 Subject: [PATCH 09/15] nvim: ignore column length in dashboard --- modules/programs/nvim/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/programs/nvim/init.lua b/modules/programs/nvim/init.lua index f082d27..7b63b3f 100644 --- a/modules/programs/nvim/init.lua +++ b/modules/programs/nvim/init.lua @@ -490,4 +490,5 @@ wk.register({ require("smartcolumn").setup({ colorcolumn = 120, + disabled_filetypes = { "help", "text", "markdown", "dashboard" }, }) From e2d4143c2a27e6d783689751402e08a2cc0805fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Thu, 2 Mar 2023 09:13:46 +0100 Subject: [PATCH 10/15] nvim: add neovide --- modules/programs/hyprland/config.nix | 5 +- modules/programs/nvim/default.nix | 128 +++++++++++++++------------ modules/programs/nvim/init.lua | 6 +- overlays/default.nix | 13 +++ 4 files changed, 90 insertions(+), 62 deletions(-) diff --git a/modules/programs/hyprland/config.nix b/modules/programs/hyprland/config.nix index 5bfba05..1657d1b 100644 --- a/modules/programs/hyprland/config.nix +++ b/modules/programs/hyprland/config.nix @@ -137,12 +137,13 @@ in # Emacs windowrulev2 = opaque, class:^emacs$ - # Fullscreen Applications - # ${mkRules ["opaque" "noblur" "noborder" "noshadow" "forceinput"] ["fullscreen:1"]} + ${mkRules ["opaque" "noblur" "noborder" "noshadow" "forceinput"] ["fullscreen:1"]} ${mkRules ["opaque" "noblur" "noshadow"] ["class:^jetbrains-pycharm$"]} + ${mkRules ["tile" "opaque"] ["class:^neovide$"]} + # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER $windowMod = ALT diff --git a/modules/programs/nvim/default.nix b/modules/programs/nvim/default.nix index 4a4bdfe..a9bc13c 100644 --- a/modules/programs/nvim/default.nix +++ b/modules/programs/nvim/default.nix @@ -19,66 +19,76 @@ in }; config = mkIf cfg.enable { - home-manager.users.moritz.programs.neovim = { - enable = true; - package = pkgs.neovim-nightly; - vimAlias = true; - vimdiffAlias = true; - withNodeJs = true; - withPython3 = true; - extraLuaConfig = builtins.readFile ./init.lua; - extraPackages = with pkgs; [ - alejandra - black - isort - nil - nixpkgs-fmt - rustfmt - shfmt - stylua - sumneko-lua-language-server - taplo - yamlfmt - ]; - plugins = with pkgs.vimPlugins; [ - catppuccin-nvim - cmp-nvim-lsp - cmp_luasnip - comment-nvim - copilot-cmp - copilot-lua - dashboard-nvim - formatter-nvim - gitsigns-nvim - lsp_lines-nvim - lspkind-nvim - lspsaga-nvim-original - lualine-lsp-progress - lualine-nvim - luasnip - neogit - noice-nvim - nui-nvim # for noice-nvim - nvim-autopairs - nvim-cmp - nvim-lastplace - nvim-lspconfig - nvim-surround - nvim-tree-lua - nvim-treesitter-textsubjects - nvim-treesitter.withAllGrammars - nvim-ts-context-commentstring - nvim-web-devicons # for dashboard-nvim - orgmode - plenary-nvim # for telescope, neogit - popup-nvim - smartcolumn-nvim - telescope-fzf-native-nvim - telescope-nvim - telescope-zoxide - vim-lion - which-key-nvim + home-manager.users.moritz = { + home.packages = with pkgs; [ + ( + if config.my.programs.hyprland.enable + then neovide-hyprland + else neovide + ) ]; + + programs.neovim = { + enable = true; + package = pkgs.neovim-nightly; + vimAlias = true; + vimdiffAlias = true; + withNodeJs = true; + withPython3 = true; + extraLuaConfig = builtins.readFile ./init.lua; + extraPackages = with pkgs; [ + alejandra + black + isort + nil + nixpkgs-fmt + rustfmt + shfmt + stylua + sumneko-lua-language-server + taplo + yamlfmt + ]; + plugins = with pkgs.vimPlugins; [ + catppuccin-nvim + cmp-nvim-lsp + cmp_luasnip + comment-nvim + copilot-cmp + copilot-lua + dashboard-nvim + formatter-nvim + gitsigns-nvim + lsp_lines-nvim + lspkind-nvim + lspsaga-nvim-original + lualine-lsp-progress + lualine-nvim + luasnip + neogit + noice-nvim + nui-nvim # for noice-nvim + nvim-autopairs + nvim-cmp + nvim-lastplace + nvim-lspconfig + nvim-surround + nvim-tree-lua + nvim-treesitter-textsubjects + nvim-treesitter.withAllGrammars + nvim-ts-context-commentstring + nvim-web-devicons # for dashboard-nvim + orgmode + plenary-nvim # for telescope, neogit + popup-nvim + smartcolumn-nvim + telescope-fzf-native-nvim + telescope-nvim + telescope-zoxide + vim-lion + which-key-nvim + ]; + }; }; }; } diff --git a/modules/programs/nvim/init.lua b/modules/programs/nvim/init.lua index 7b63b3f..0a92453 100644 --- a/modules/programs/nvim/init.lua +++ b/modules/programs/nvim/init.lua @@ -12,7 +12,6 @@ vim.opt.backupdir = { vim.fn.stdpath("state") .. "/nvim/backup//" } -- don't sto vim.opt.clipboard = "unnamedplus" -- sync with system clipboard vim.opt.conceallevel = 2 vim.opt.expandtab = true -- spaces instead of tabs -vim.opt.guifont = "Fira Code Nerd Font:h1" vim.opt.ignorecase = true vim.opt.mouse = "a" -- mouse for all modes vim.opt.number = true @@ -33,6 +32,11 @@ vim.opt.updatetime = 300 vim.opt_local.spell = true vim.opt_local.spelllang = { "en", "de_20" } -- all English regions and new German spelling +if vim.g.neovide then + vim.opt.guifont = "Fira Code Nerd Font:h10" + vim.g.neovide_scale_factor = 0.7 +end + require("catppuccin").setup({ compile_path = vim.fn.stdpath("cache") .. "/catppuccin", -- fix issue of writing to nix store integrations = { diff --git a/overlays/default.nix b/overlays/default.nix index 8d802d2..4d92b75 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -56,6 +56,19 @@ in }); }; + neovide-hyprland = final.symlinkJoin { + name = "neovide-hyprland-${final.neovide.version}"; + paths = [ final.neovide ]; + nativeBuildInputs = [ final.makeWrapper ]; + postBuild = '' + rm $out/bin/neovide + makeWrapper ${final.neovide}/bin/neovide $out/bin/neovide --set WINIT_UNIX_BACKEND x11 + ''; + meta = final.neovide.meta // { + mainProgram = "neovide"; + }; + }; + master = import inputs.master { inherit (prev) system; config.allowUnfree = true; From 05631f016d8e1483faa0468fe8e05dd0387b1225 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Thu, 2 Mar 2023 09:14:27 +0100 Subject: [PATCH 11/15] nvim: add json formatter --- modules/programs/nvim/default.nix | 1 + modules/programs/nvim/init.lua | 7 +++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/programs/nvim/default.nix b/modules/programs/nvim/default.nix index a9bc13c..cb2b264 100644 --- a/modules/programs/nvim/default.nix +++ b/modules/programs/nvim/default.nix @@ -40,6 +40,7 @@ in alejandra black isort + jq nil nixpkgs-fmt rustfmt diff --git a/modules/programs/nvim/init.lua b/modules/programs/nvim/init.lua index 0a92453..5a1dec9 100644 --- a/modules/programs/nvim/init.lua +++ b/modules/programs/nvim/init.lua @@ -193,11 +193,10 @@ require("formatter").setup({ log_level = vim.log.levels.WARN, -- All formatter configurations are opt-in filetype = { - -- Formatter configurations for filetype "lua" go here - -- and will be executed in order + json = { + require("formatter.filetypes.json").jq, + }, lua = { - -- "formatter.filetypes.lua" defines default configurations for the - -- "lua" filetype require("formatter.filetypes.lua").stylua, }, nix = { From 8f6650bbd1f28b2409fca4e7c325522c19a23432 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Thu, 2 Mar 2023 09:15:09 +0100 Subject: [PATCH 12/15] overlays: improve mkVersion Add dash to mkVersionInput Add mkVersionSrc for normal src. --- overlays/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/overlays/default.nix b/overlays/default.nix index 4d92b75..ccea795 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -5,7 +5,8 @@ let (builtins.substring 4 2 longDate) (builtins.substring 6 2 longDate) ]); - mkVersionInput = input: "unstable" + mkDate (input.lastModifiedDate or "19700101") + "_" + (input.shortRev or "dirty"); + mkVersionSrc = src: "unstable-" + builtins.substring 0 7 src.rev; + mkVersionInput = input: "unstable-" + mkDate (input.lastModifiedDate or "19700101") + "_" + (input.shortRev or "dirty"); in { agenix = inputs.agenix.packages.${prev.system}.default; From e8527837ecac291bbfe928bd3287e084e9e1f991 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Thu, 2 Mar 2023 09:20:35 +0100 Subject: [PATCH 13/15] base: alias cd to z --- modules/profiles/base.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/profiles/base.nix b/modules/profiles/base.nix index a35d0f3..7bf15c8 100644 --- a/modules/profiles/base.nix +++ b/modules/profiles/base.nix @@ -48,6 +48,7 @@ in grep = "rg"; rm = "rm -i"; mv = "mv -i"; + cd = "z"; nixos-switch = nom-system-command "sudo nixos-rebuild switch --flake ~/.dotfiles"; nixos-boot = nom-system-command "sudo nixos-rebuild boot --flake ~/.dotfiles"; From dc2b0abac1e35bca618a6202a3c49c2cf46f291d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Thu, 2 Mar 2023 09:21:07 +0100 Subject: [PATCH 14/15] nvim: disable packages count on dashboard --- modules/programs/nvim/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/programs/nvim/init.lua b/modules/programs/nvim/init.lua index 7b63b3f..9e06800 100644 --- a/modules/programs/nvim/init.lua +++ b/modules/programs/nvim/init.lua @@ -368,7 +368,7 @@ lspconfig_setup("lua_ls", { require("dashboard").setup({ theme = "hyper", config = { - packages = { enable = true }, + packages = { enable = false }, week_header = { enable = true, }, From 19944b3ca10b12e16edcff3026517cd0269d02c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Thu, 2 Mar 2023 09:46:55 +0100 Subject: [PATCH 15/15] nvim: add direnv support --- modules/programs/nvim/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/programs/nvim/default.nix b/modules/programs/nvim/default.nix index cb2b264..85cf6d3 100644 --- a/modules/programs/nvim/default.nix +++ b/modules/programs/nvim/default.nix @@ -58,6 +58,7 @@ in copilot-cmp copilot-lua dashboard-nvim + direnv-vim formatter-nvim gitsigns-nvim lsp_lines-nvim