{ config, pkgs, lib, ... }: { config = lib.mkMerge [(lib.mkIf (pkgs.stdenv.buildPlatform == pkgs.stdenv.hostPlatform) { environment.systemPackages = with pkgs; [ meld nixfmt-rfc-style stdenv.cc stdenv.cc.bintools # bins but not manpages included in stdenv.cc ]; programs.git.config.merge.tool = "meld"; programs.git.config.core.editor = "nvim"; programs.neovim = { enable = true; defaultEditor = true; vimAlias = true; viAlias = true; configure = { # lmao customRC = '' ${builtins.readFile ./dotfiles/nvim-init.vim} lua << EOF ${builtins.readFile ./dotfiles/nvim-init.lua} EOF ''; packages.myVimPackage = with pkgs.vimPlugins; { start = [ rust-vim vim-tmux-navigator popup-nvim vim-sleuth nvim-lspconfig rust-tools-nvim nvim-lint nvim-cmp cmp-nvim-lsp lsp-status-nvim telescope-nvim nvim-treesitter.withAllGrammars sweetie-nvim vim-nix csharpls-extended-lsp-nvim ]; opt = []; }; }; }; }) (lib.mkIf (pkgs.stdenv.buildPlatform != pkgs.stdenv.hostPlatform) { programs.vim = { enable = true; defaultEditor = true; package = pkgs.vim.customize { vimrcConfig.customRC = '' set mouse= set hlsearch nnoremap :noh ''; }; }; programs.git.config.core.editor = "vim"; environment.systemPackages = with pkgs; [ clang bintools ]; }) ]; }