From 302caf1926acdb9924550e2651d8e9009f1981cd Mon Sep 17 00:00:00 2001 From: Joe Frikker Date: Fri, 12 Apr 2024 11:05:24 -0400 Subject: [PATCH] recent updates --- doom/config.el | 22 +++++++++++++++++ doom/init.el | 34 +++++++++++++------------- home-manager/home-exa.nix | 3 ++- home-manager/home-zsh.nix | 1 + home-manager/home.nix | 16 ++++++++---- nixpkgs/overlays.nix | 47 +++++++++++++++++++++++++++++++++++- nvim/lua/config/lazy.lua | 1 + nvim/lua/config/options.lua | 2 +- nvim/lua/plugins/lsp.lua | 14 +++++++++++ nvim/lua/plugins/plugins.lua | 10 ++++---- 10 files changed, 120 insertions(+), 30 deletions(-) diff --git a/doom/config.el b/doom/config.el index 407be62..0c3e507 100644 --- a/doom/config.el +++ b/doom/config.el @@ -76,3 +76,25 @@ ;; ;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how ;; they are implemented. + +(use-package! lispyville + :hook ((common-lisp-mode . lispyville-mode) + (emacs-lisp-mode . lispyville-mode) + (scheme-mode . lispyville-mode) + (racket-mode . lispyville-mode) + (hy-mode . lispyville-mode) + (lfe-mode . lispyville-mode) + (clojure-mode . lispyville-mode)) + :config + (lispyville-set-key-theme + '(additional + additional-insert + (additional-movement normal visual motion) + (atom-movement normal visual) + c-w + c-u + (commentary normal visual) + escape + (operators normal) + (prettify insert) + slurp/barf))) diff --git a/doom/init.el b/doom/init.el index df61026..76bff50 100644 --- a/doom/init.el +++ b/doom/init.el @@ -58,10 +58,10 @@ fold ; (nigh) universal code folding ;;(format +onsave) ; automated prettiness ;;god ; run Emacs commands without modifier keys - ;;lispy ; vim for lisp, for people who don't like vim + lispy ; vim for lisp, for people who don't like vim ;;multiple-cursors ; editing in many places at once ;;objed ; text object editing for the innocent - parinfer ; turn lisp into python, sort of + ;;parinfer ; turn lisp into python, sort of ;;rotate-text ; cycle region at point between text candidates snippets ; my elves. They type so I don't have to ;;word-wrap ; soft wrapping with language-aware indent @@ -88,7 +88,7 @@ ;;ansible ;;biblio ; Writes a PhD for you (citation needed) ;;collab ; buffers with friends - debugger ; FIXME stepping through code, to help you add bugs + ;;debugger ; FIXME stepping through code, to help you add bugs ;;direnv ;;docker ;;editorconfig ; let someone else argue about tabs vs spaces @@ -96,8 +96,8 @@ (eval +overlay) ; run code, run (also, repls) ;;gist ; interacting with github gists lookup ; navigate your code and its documentation - (lsp +eglot) ; M-x vscode - magit ; a git porcelain for Emacs + ;;(lsp +eglot) ; M-x vscode + ;;magit ; a git porcelain for Emacs ;;make ; run make tasks from Emacs ;;pass ; password manager for nerds ;;pdf ; pdf enhancements @@ -106,7 +106,7 @@ taskrunner ; taskrunner for all your projects ;;terraform ; infrastructure as code ;;tmux ; an API for interacting with tmux - tree-sitter ; syntax and parsing, sitting in a tree... + ;;tree-sitter ; syntax and parsing, sitting in a tree... ;;upload ; map local to remote projects via ssh/ftp :os @@ -117,7 +117,7 @@ ;;agda ; types of types of types of types... ;;beancount ; mind the GAAP ;;(cc +lsp) ; C > C++ == 1 - ;;clojure ; java with a lisp + clojure ; java with a lisp common-lisp ; if you've seen one lisp, you've seen them all ;;coq ; proofs-as-programs ;;crystal ; ruby at the speed of c @@ -138,34 +138,34 @@ ;;gdscript ; the language you waited for ;;(go +lsp) ; the hipster dialect ;;(graphql +lsp) ; Give queries a REST - (haskell +lsp) ; a language that's lazier than I am + ;;(haskell +lsp) ; a language that's lazier than I am ;;hy ; readability of scheme w/ speed of python ;;idris ; a language you can depend on - json ; At least it ain't XML - (java +lsp +tree-sitter) ; the poster child for carpal tunnel syndrome - (javascript +lsp) ; all(hope(abandon(ye(who(enter(here)))))) + ;;json ; At least it ain't XML + ;;(java +lsp +tree-sitter) ; the poster child for carpal tunnel syndrome + ;;(javascript +lsp) ; all(hope(abandon(ye(who(enter(here)))))) ;;julia ; a better, faster MATLAB ;;kotlin ; a better, slicker Java(Script) ;;latex ; writing papers in Emacs has never been so fun ;;lean ; for folks with too much to prove ;;ledger ; be audit you can be ;;lua ; one-based indices? one-based indices - markdown ; writing docs for people to ignore + ;;markdown ; writing docs for people to ignore ;;nim ; python + lisp at the speed of c - nix ; I hereby declare "nix geht mehr!" + ;;nix ; I hereby declare "nix geht mehr!" ;;ocaml ; an objective camel - org ; organize your plain life in plain text + ;;org ; organize your plain life in plain text ;;php ; perl's insecure younger brother ;;plantuml ; diagrams for confusing people more ;;purescript ; javascript, but functional - (python +lsp +pyright +pyenv) ; beautiful is better than ugly + ;;(python +lsp +pyright +pyenv) ; beautiful is better than ugly ;;qt ; the 'cutest' gui framework ever ;;racket ; a DSL for DSLs ;;raku ; the artist formerly known as perl6 - rest ; Emacs as a REST client + ;;rest ; Emacs as a REST client ;;rst ; ReST in peace ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} - (rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() + ;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() ;;scala ; java, but good ;;(scheme +guile) ; a fully conniving family of lisps sh ; she sells {ba,z,fi}sh shells on the C xor diff --git a/home-manager/home-exa.nix b/home-manager/home-exa.nix index e4ab87d..ee79bbc 100644 --- a/home-manager/home-exa.nix +++ b/home-manager/home-exa.nix @@ -1,5 +1,6 @@ { enable = true; - enableAliases = true; + enableBashIntegration = true; + enableZshIntegration = true; icons = true; } diff --git a/home-manager/home-zsh.nix b/home-manager/home-zsh.nix index 9faeb7c..4ee26a6 100644 --- a/home-manager/home-zsh.nix +++ b/home-manager/home-zsh.nix @@ -6,6 +6,7 @@ pkgs: { syntaxHighlighting.enable = true; enableAutosuggestions = true; historySubstringSearch.enable = true; + history.share = false; cdpath = ["~/source"]; plugins = [ { diff --git a/home-manager/home.nix b/home-manager/home.nix index 9c60e37..ce4cf87 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -7,8 +7,11 @@ home.homeDirectory = "/Users/jfrikker"; # home.sessionVariables.BAT_THEME = "catppuccin-frappe"; - home.sessionVariables.EDITOR = "nvim"; # home.sessionVariables.RUST_SRC_PATH = "${pkgs.rust-bin.stable."1.68.0".rust-src}/lib/rustlib/src/rust/library"; + + # home.shellAliases = { + # jdtls = "jdt-language-server"; + # }; home.sessionPath=[ "$HOME/.cargo/bin" @@ -53,9 +56,10 @@ pkgs.awscli pkgs.bashInteractive pkgs.du-dust - # pkgs.emacs29 + pkgs.emacs29 pkgs.fd pkgs.fend + pkgs.gcc pkgs.gh # pkgs.ghc # pkgs.go @@ -70,7 +74,7 @@ pkgs.kubectl pkgs.lorri # pkgs.maven - pkgs.mysql-client + # pkgs.mysql-client # pkgs.neovide pkgs.neovim # pkgs.nodejs-16_x @@ -110,7 +114,7 @@ programs.bash.enable = true; programs.bat = import ./home-bat.nix pkgs; - programs.btop.enable = true; + # programs.btop.enable = true; programs.direnv.enable = true; programs.eza = import ./home-exa.nix; # programs.fish = import ./home-fish.nix pkgs; @@ -118,7 +122,9 @@ # programs.gh.enable = true; programs.git.enable = true; programs.git.delta.enable = true; - programs.ion.enable = true; + programs.helix.enable = true; + programs.helix.defaultEditor = true; + # programs.ion.enable = true; # programs.java.enable = true; # programs.java.package = pkgs.jdk17; programs.jq.enable = true; diff --git a/nixpkgs/overlays.nix b/nixpkgs/overlays.nix index 2f6d77c..eb82d2a 100644 --- a/nixpkgs/overlays.nix +++ b/nixpkgs/overlays.nix @@ -1 +1,46 @@ -[ (import ) ] +[ (import ) +# ( +# final: prev: +# { +# helix = prev.rustPlatform.buildRustPackage rec { +# pname = "helix"; +# version = "24.03"; +# +# # This release tarball includes source code for the tree-sitter grammars, +# # which is not ordinarily part of the repository. +# src = prev.fetchzip { +# url = "https://github.com/helix-editor/helix/releases/download/${version}/helix-${version}-source.tar.xz"; +# hash = "sha256-1myVGFBwdLguZDPo1jrth/q2i5rn5R2+BVKIkCCUalc="; +# stripRoot = false; +# }; +# +# cargoHash = "sha256-THzPUVcmboVJHu3rJ6rev3GrkNilZRMlitCx7M1+HBE="; +# +# nativeBuildInputs = [ prev.git prev.installShellFiles prev.makeWrapper ]; +# +# postInstall = '' +# # not needed at runtime +# rm -r runtime/grammars/sources +# +# mkdir -p $out/lib +# cp -r runtime $out/lib +# installShellCompletion contrib/completion/hx.{bash,fish,zsh} +# mkdir -p $out/share/{applications,icons/hicolor/256x256/apps} +# cp contrib/Helix.desktop $out/share/applications +# cp contrib/helix.png $out/share/icons/hicolor/256x256/apps +# ''; +# postFixup = '' +# wrapProgram $out/bin/hx --set HELIX_RUNTIME $out/lib/runtime +# ''; +# +# meta = with prev.lib; { +# description = "A post-modern modal text editor"; +# homepage = "https://helix-editor.com"; +# license = licenses.mpl20; +# mainProgram = "hx"; +# maintainers = with prev.maintainers; [ danth yusdacra zowoq ]; +# }; +# }; +# } +# ) + ] diff --git a/nvim/lua/config/lazy.lua b/nvim/lua/config/lazy.lua index d6aeb1d..2e82a64 100644 --- a/nvim/lua/config/lazy.lua +++ b/nvim/lua/config/lazy.lua @@ -18,6 +18,7 @@ require("lazy").setup({ { import = "lazyvim.plugins.extras.lang.rust" }, -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, { import = "lazyvim.plugins.extras.dap.core" }, + { import = "lazyvim.plugins.extras.linting.eslint" }, -- { import = "lazyvim.plugins.extras.editor.flash" }, -- import/override with your plugins { import = "plugins" }, diff --git a/nvim/lua/config/options.lua b/nvim/lua/config/options.lua index da0c386..520e838 100644 --- a/nvim/lua/config/options.lua +++ b/nvim/lua/config/options.lua @@ -5,7 +5,7 @@ local opt = vim.opt opt.autowriteall = true opt.colorcolumn = "100" -opt.hidden = false +-- opt.hidden = false opt.tabstop = 4 opt.sidescrolloff = 0 opt.shiftwidth = 4 diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua index d9264b2..4c89f43 100644 --- a/nvim/lua/plugins/lsp.lua +++ b/nvim/lua/plugins/lsp.lua @@ -6,6 +6,20 @@ return { -- { "mfussenegger/nvim-jdtls" }, -- }, opts = { + servers = { + eslint = { + mason = false, + }, + hls = { + mason = false, + }, + jdtls = { + mason = false, + }, + tsserver = { + mason = false, + } + } -- autoformat = false, -- servers = { -- jdtls = {}, diff --git a/nvim/lua/plugins/plugins.lua b/nvim/lua/plugins/plugins.lua index 7a1717a..526e44d 100644 --- a/nvim/lua/plugins/plugins.lua +++ b/nvim/lua/plugins/plugins.lua @@ -35,10 +35,10 @@ return { -- "L3MON4D3/LuaSnip", -- enabled = false, -- }, - { - "rafamadriz/friendly-snippets", - enabled = false, - }, + -- { + -- "rafamadriz/friendly-snippets", + -- enabled = false, + -- }, -- { -- "ggandor/leap-spooky.nvim", -- enabled = true, @@ -90,7 +90,7 @@ return { local cmp = require("cmp") opts.sources = cmp.config.sources({ { name = "nvim_lsp" }, - -- { name = "luasnip" }, + { name = "luasnip" }, }) return opts end,