diff --git a/common/home.nix b/common/home.nix index 6ac0d7b4..0d4ed270 100644 --- a/common/home.nix +++ b/common/home.nix @@ -61,9 +61,9 @@ lua-language-server (nerdfonts.override {fonts = ["Hasklig"];}) pfetch-rs - psst ] ++ lib.optionals device.isLinux [ + psst sony-headphones-client abaddon rr diff --git a/common/nvim.nix b/common/nvim.nix index e4a2dea6..f745670f 100644 --- a/common/nvim.nix +++ b/common/nvim.nix @@ -5,6 +5,20 @@ device, ... }: let + mkMappings = mappings: + [] + ++ (pkgs.lib.optionals (builtins.hasAttr "normal" mappings) (mkMode mappings.normal "n")) + ++ (pkgs.lib.optionals (builtins.hasAttr "terminal" mappings) (mkMode mappings.terminal "t")) + ++ (pkgs.lib.optionals (builtins.hasAttr "insert" mappings) (mkMode mappings.insert "i")); + mkMode = mappings: mode: + pkgs.lib.mapAttrsToList + (key: value: { + key = key; + action = value; + mode = mode; + lua = true; + }) + mappings; in { imports = [inputs.nixvim.homeManagerModules.nixvim]; programs.nixvim = { @@ -46,10 +60,8 @@ in { cmp-treesitter cmp-git luasnip - fidget-nvim copilot-lua lsp-zero-nvim - trouble-nvim crates-nvim sqls-nvim rustaceanvim @@ -95,6 +107,10 @@ in { mapleader = " "; }; plugins = { + fidget.enable = true; + rustaceanvim = { + enable = true; + }; # lspconfig = { # enable = true; # servers = { @@ -185,6 +201,12 @@ in { enable = true; indent = true; folding = true; + grammarPackages = + pkgs.vimPlugins.nvim-treesitter.allGrammars + ++ (with pkgs.tree-sitter-grammars; [ + tree-sitter-just + tree-sitter-norg-meta + ]); # refactor = { # smartRename = { # enable = true; @@ -213,44 +235,43 @@ in { flavour = "mocha"; }; }; - # mappings = { - # normal = { - # "ff" = "require'telescope.builtin'.find_files"; - # "c" = "[[ChatGPT]]"; - # "fb" = "require'telescope'.extensions.file_browser.file_browser"; - # "gg" = "require'telescope.builtin'.live_grep"; - # ";" = "require'telescope.builtin'.buffers"; - # "o" = "[[TroubleToggle]]"; - # "ee" = "[[Rest run]]"; - # "el" = "[[Rest run last]]"; - # "\\\"" = ''[["+]]''; - # "vff" = "[[vertical Gdiffsplit]]"; - # "" = "vim.lsp.buf.definition"; - # "gi" = "require'telescope.builtin'.lsp_implementations"; - # "gh" = "[[Octo actions]]"; - # "a" = "vim.lsp.buf.code_action"; - # "F" = "function() vim.lsp.buf.format({ async = true }) end"; - # "" = "''"; - # "q" = "[[bw]]"; - # "n" = "[[bnext]]"; - # "p" = "[[bprev]]"; - # "\\\"" = "[[split]]"; - # "%" = "[[vsplit]]"; - # - # "bb" = "require'dap'.toggle_breakpoint"; - # "du" = "require'dapui'.toggle"; - # "dr" = "[[RustLsp debuggables]]"; - # - # "" = "[[Outline]]"; - # "" = "require('FTerm').toggle"; - # }; - # terminal = { - # "" = "require('FTerm').toggle"; - # }; - # insert = { - # "" = "require('FTerm').toggle"; - # }; - # }; + keymaps = mkMappings { + normal = { + "c" = "[[ChatGPT]]"; + "o" = "[[TroubleToggle]]"; + "ee" = "[[Rest run]]"; + "el" = "[[Rest run last]]"; + "vff" = "[[vertical Gdiffsplit]]"; + "\\\"" = ''[["+]]''; + "gh" = "[[Octo actions]]"; + "" = "''"; + "q" = "[[bw]]"; + "n" = "[[bnext]]"; + "p" = "[[bprev]]"; + "\\\"" = "[[split]]"; + "%" = "[[vsplit]]"; + "dr" = "[[RustLsp debuggables]]"; + "" = "[[Outline]]"; + + "ff" = "require'telescope.builtin'.find_files"; + "fb" = "require'telescope'.extensions.file_browser.file_browser"; + "gg" = "require'telescope.builtin'.live_grep"; + ";" = "require'telescope.builtin'.buffers"; + "" = "vim.lsp.buf.definition"; + "gi" = "require'telescope.builtin'.lsp_implementations"; + "a" = "vim.lsp.buf.code_action"; + "F" = "function() vim.lsp.buf.format({ async = true }) end"; + "bb" = "require'dap'.toggle_breakpoint"; + "du" = "require'dapui'.toggle"; + "" = "require('FTerm').toggle"; + }; + terminal = { + "" = "require('FTerm').toggle"; + }; + insert = { + "" = "require('FTerm').toggle"; + }; + }; extraConfigLua = let codelldb = @@ -346,7 +367,7 @@ in { panel = { enabled = true }, }) - require 'fidget'.setup() + -- require 'fidget'.setup() -- ======================================================================= -- nvim-cmp -- ======================================================================= diff --git a/justfile b/justfile index 894f6c8e..85b0c705 100644 --- a/justfile +++ b/justfile @@ -8,5 +8,9 @@ install: install: sudo nixos-rebuild switch --flake . +build: + nix run nix-darwin -- build --flake . --show-trace + + home: nix --extra-experimental-features "nix-command flakes" run home-manager/master -- switch --flake .