Compare commits

..

12 Commits

Author SHA1 Message Date
Joe Frikker
64c2ab2255 Don't need separate asdf dependency 2025-12-20 22:47:51 -05:00
Joe Frikker
40f15cf3ea Switching to a literate config 2025-12-20 22:31:50 -05:00
8c0ed69a3b typo 2025-05-07 11:04:18 -04:00
0d9df09cd8 gh? 2025-05-07 14:35:26 +00:00
532e20bf1c parameterization 2025-05-07 14:24:06 +00:00
Joe Frikker
d5de6f4dd0 rust overlay 2025-05-06 23:19:53 -04:00
Joe Frikker
8604fb406c updates 2025-05-06 23:17:32 -04:00
Joe Frikker
98bd0a589f Removing tmuxinator 2025-05-06 23:16:04 -04:00
Joe Frikker
faa31d1bff Recent updates 2025-03-21 19:17:43 -04:00
4829b1fe12 Moving helix config to nix 2024-07-20 16:19:32 -04:00
42d08930e0 Tweaking lisp stuff 2024-07-20 15:39:20 -04:00
Joe Frikker
726d4b1548 changes 2024-05-31 09:39:32 -04:00
44 changed files with 1438 additions and 2056 deletions

View File

@@ -1,3 +0,0 @@
{{- if ne .laptop "shibumi" }}
.config/tmuxinator
{{- end }}

View File

@@ -1,100 +0,0 @@
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
;; Place your private configuration here! Remember, you do not need to run 'doom
;; sync' after modifying this file!
;; Some functionality uses this to identify you, e.g. GPG configuration, email
;; clients, file templates and snippets. It is optional.
;; (setq user-full-name "John Doe"
;; user-mail-address "john@doe.com")
;; Doom exposes five (optional) variables for controlling fonts in Doom:
;;
;; - `doom-font' -- the primary font to use
;; - `doom-variable-pitch-font' -- a non-monospace font (where applicable)
;; - `doom-big-font' -- used for `doom-big-font-mode'; use this for
;; presentations or streaming.
;; - `doom-unicode-font' -- for unicode glyphs
;; - `doom-serif-font' -- for the `fixed-pitch-serif' face
;;
;; See 'C-h v doom-font' for documentation and more examples of what they
;; accept. For example:
;;
;;(setq doom-font (font-spec :family "Fira Code" :size 12 :weight 'semi-light)
;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13))
(setq doom-font (font-spec :family "JetBrainsMono Nerd Font" :size 13 :weight 'regular)
doom-variable-pitch-font (font-spec :family "JetBrainsMono Nerd Font" :size 13))
;;
;; If you or Emacs can't find your font, use 'M-x describe-font' to look them
;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to
;; refresh your font settings. If Emacs still can't find your font, it likely
;; wasn't installed correctly. Font issues are rarely Doom issues!
;; There are two ways to load a theme. Both assume the theme is installed and
;; available. You can either set `doom-theme' or manually load a theme with the
;; `load-theme' function. This is the default:
(setq doom-theme 'doom-one)
;; This determines the style of line numbers in effect. If set to `nil', line
;; numbers are disabled. For relative line numbers, set this to `relative'.
(setq display-line-numbers-type t)
;; If you use `org' and don't want your org files in the default location below,
;; change `org-directory'. It must be set before org loads!
(setq org-directory "~/org/")
;; Whenever you reconfigure a package, make sure to wrap your config in an
;; `after!' block, otherwise Doom's defaults may override your settings. E.g.
;;
;; (after! PACKAGE
;; (setq x y))
;;
;; The exceptions to this rule:
;;
;; - Setting file/directory variables (like `org-directory')
;; - Setting variables which explicitly tell you to set them before their
;; package is loaded (see 'C-h v VARIABLE' to look up their documentation).
;; - Setting doom variables (which start with 'doom-' or '+').
;;
;; Here are some additional functions/macros that will help you configure Doom.
;;
;; - `load!' for loading external *.el files relative to this one
;; - `use-package!' for configuring packages
;; - `after!' for running code after a package has loaded
;; - `add-load-path!' for adding directories to the `load-path', relative to
;; this file. Emacs searches the `load-path' when you load packages with
;; `require' or `use-package'.
;; - `map!' for binding new keys
;;
;; To get information about any of these functions/macros, move the cursor over
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
;; This will open documentation for it, including demos of how they are used.
;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces,
;; etc).
;;
;; 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)))

View File

@@ -1,195 +0,0 @@
;;; init.el -*- lexical-binding: t; -*-
;; This file controls what Doom modules are enabled and what order they load
;; in. Remember to run 'doom sync' after modifying it!
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
;; documentation. There you'll find a link to Doom's Module Index where all
;; of our modules are listed, including what flags they support.
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
;; 'C-c c k' for non-vim users) to view its documentation. This works on
;; flags as well (those symbols that start with a plus).
;;
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
;; directory (for easy access to its source code).
(doom! :input
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
;;chinese
;;japanese
;;layout ; auie,ctsrnm is the superior home row
:completion
company ; the ultimate code completion backend
;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
;;ivy ; a search engine for love and life
vertico ; the search engine of the future
:ui
;;deft ; notational velocity for Emacs
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
;;(emoji +unicode) ; 🙂
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
;;hydra
;;indent-guides ; highlighted indent columns
;;ligatures ; ligatures and symbols to make your code pretty again
;;minimap ; show a map of the code on the side
modeline ; snazzy, Atom-inspired modeline, plus API
;;nav-flash ; blink cursor line after big motions
;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
;;tabs ; a tab bar for Emacs
(treemacs +lsp) ; a project drawer, like neotree but cooler
;;unicode ; extended unicode support for various languages
(vc-gutter +pretty) ; vcs diff in the fringe
vi-tilde-fringe ; fringe tildes to mark beyond EOB
;;window-select ; visually switch windows
workspaces ; tab emulation, persistence & separate workspaces
;;zen ; distraction-free coding or writing
:editor
(evil +everywhere); come to the dark side, we have cookies
file-templates ; auto-snippets for empty files
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
;;multiple-cursors ; editing in many places at once
;;objed ; text object editing for the innocent
;;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
:emacs
dired ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
;;ibuffer ; interactive buffer management
undo ; persistent, smarter undo for your inevitable mistakes
vc ; version-control and Emacs, sitting in a tree
:term
eshell ; the elisp shell that works everywhere
;;shell ; simple shell REPL for Emacs
;;term ; basic terminal emulator for Emacs
;;vterm ; the best terminal emulation in Emacs
:checkers
syntax ; tasing you for every semicolon you forget
;;(spell +flyspell) ; tasing you for misspelling mispelling
;;grammar ; tasing grammar mistake every you make
:tools
;;ansible
;;biblio ; Writes a PhD for you (citation needed)
;;collab ; buffers with friends
;;debugger ; FIXME stepping through code, to help you add bugs
;;direnv
;;docker
;;editorconfig ; let someone else argue about tabs vs spaces
;;ein ; tame Jupyter notebooks with emacs
(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
;;make ; run make tasks from Emacs
;;pass ; password manager for nerds
;;pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders
;;rgb ; creating color strings
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...
;;upload ; map local to remote projects via ssh/ftp
:os
(:if IS-MAC macos) ; improve compatibility with macOS
;;tty ; improve the terminal Emacs experience
:lang
;;agda ; types of types of types of types...
;;beancount ; mind the GAAP
;;(cc +lsp) ; C > C++ == 1
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
;;csharp ; unity, .NET, and mono shenanigans
;;data ; config/data formats
;;(dart +flutter) ; paint ui and not much else
;;dhall
;;elixir ; erlang done right
;;elm ; care for a cup of TEA?
emacs-lisp ; drown in parentheses
;;erlang ; an elegant language for a more civilized age
;;ess ; emacs speaks statistics
;;factor
;;faust ; dsp, but you get to keep your soul
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
;;fsharp ; ML stands for Microsoft's Language
;;fstar ; (dependent) types and (monadic) effects and Z3
;;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
;;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))))))
;;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
;;nim ; python + lisp at the speed of c
;;nix ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel
;;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
;;qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs
;;raku ; the artist formerly known as perl6
;;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()
;;scala ; java, but good
;;(scheme +guile) ; a fully conniving family of lisps
sh ; she sells {ba,z,fi}sh shells on the C xor
;;sml
;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
;;web ; the tubes
;;yaml ; JSON, but readable
;;zig ; C, but simpler
:email
;;(mu4e +org +gmail)
;;notmuch
;;(wanderlust +gmail)
:app
;;calendar
;;emms
;;everywhere ; *leave* Emacs!? You must be joking
;;irc ; how neckbeards socialize
;;(rss +org) ; emacs as an RSS reader
;;twitter ; twitter client https://twitter.com/vnought
:config
;;literate
(default +bindings +smartparens))

View File

@@ -1,50 +0,0 @@
;; -*- no-byte-compile: t; -*-
;;; $DOOMDIR/packages.el
;; To install a package with Doom you must declare them here and run 'doom sync'
;; on the command line, then restart Emacs for the changes to take effect -- or
;; use 'M-x doom/reload'.
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
;(package! some-package)
;; To install a package directly from a remote git repo, you must specify a
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
;; https://github.com/radian-software/straight.el#the-recipe-format
;(package! another-package
; :recipe (:host github :repo "username/repo"))
;; If the package you are trying to install does not contain a PACKAGENAME.el
;; file, or is located in a subdirectory of the repo, you'll need to specify
;; `:files' in the `:recipe':
;(package! this-package
; :recipe (:host github :repo "username/repo"
; :files ("some-file.el" "src/lisp/*.el")))
;; If you'd like to disable a package included with Doom, you can do so here
;; with the `:disable' property:
;(package! builtin-package :disable t)
;; You can override the recipe of a built in package without having to specify
;; all the properties for `:recipe'. These will inherit the rest of its recipe
;; from Doom or MELPA/ELPA/Emacsmirror:
;(package! builtin-package :recipe (:nonrecursive t))
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
;; Specify a `:branch' to install a package from a particular branch or tag.
;; This is required for some packages whose default branch isn't 'master' (which
;; our package manager can't deal with; see radian-software/straight.el#279)
;(package! builtin-package :recipe (:branch "develop"))
;; Use `:pin' to specify a particular commit to install.
;(package! builtin-package :pin "1a2b3c4d5e")
;; Doom's packages are pinned to a specific commit and updated from release to
;; release. The `unpin!' macro allows you to unpin single packages...
;(unpin! pinned-package)
;; ...or multiple packages
;(unpin! pinned-package another-pinned-package)
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
;(unpin! t)

View File

@@ -1,26 +0,0 @@
theme = "catppuccin_frappe"
[editor]
auto-format = false
auto-save = true
# completion-replace = true
cursorline = true
idle-timeout = 0
rulers = [100]
text-width = 100
[editor.lsp]
goto-reference-include-declaration = false
[editor.cursor-shape]
insert = "bar"
[editor.smart-tab]
supersede-menu = true
[keys.normal.space]
space = "file_picker"
"," = "buffer_picker"
[editor.whitespace.render]
newline = "all"

View File

@@ -1,45 +0,0 @@
[language-server.eslint]
args = ["--stdio"]
command = "vscode-eslint-language-server"
[language-server.eslint.config]
# format = true
nodePath = ""
# onIgnoredFiles = "off"
# packageManager = "yarn"
quiet = false
rulesCustomizations = []
run = "onType"
# useESLintClass = false
validate = "on"
codeAction = { disableRuleComment = { enable = true, location = "separateLine" }, showDocumentation = { enable = true } }
# codeActionsOnSave = { mode = "all" }
experimental = {}
problems = { shortenToSingleLine = false }
# workingDirectory = { mode = "auto" }
# [language-server.jdtls]
# args = ["--jvm-arg=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=1044"]
[language-server.jdtls.config.java.autobuild]
enabled = true
[language-server.jdtls.config.java.completion]
maxResults = 1000
[language-server.jdtls.config.java.format.settings]
url = "https://raw.githubusercontent.com/google/styleguide/gh-pages/eclipse-java-google-style.xml"
[[language]]
name = "typescript"
language-servers = [ "typescript-language-server", "eslint" ]
indent = { tab-width = 4, unit = " " }
[[language]]
name = "tsx"
language-servers = [ "typescript-language-server", "eslint" ]
indent = { tab-width = 4, unit = " " }
[[language]]
name = "java"
indent = { tab-width = 4, unit = " " }

View File

@@ -1,20 +0,0 @@
pkgs:
{
enable = true;
extraPackages = with pkgs.bat-extras; [ batdiff batman batgrep batwatch ];
config = {
style = "numbers";
theme = "catppuccin-frappe";
};
themes = {
catppuccin-frappe = {
src = pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "sublime-text"; # Bat uses sublime syntax for its themes
rev = "3d8625d937d89869476e94bc100192aa220ce44a";
sha256 = "3ABUsfJpb6RO6AiuuSL5gwDofJIwC5tlEMzBrlY9/s0=";
};
file = "Frappe.tmTheme";
};
};
}

View File

@@ -1,6 +0,0 @@
{
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
icons = true;
}

View File

@@ -1,127 +0,0 @@
pkgs:
{
enable = true;
shellAliases = {
du = "dust";
http = "xh";
https = "xh";
mux = "tmuxinator";
nsh = "nix-shell --command fish";
};
# interactiveShellInit = ''
# function fish_prompt
# set -l last_status $status
# if not set -q __fish_git_prompt_show_informative_status
# set -g __fish_git_prompt_show_informative_status 1
# end
# if not set -q __fish_git_prompt_hide_untrackedfiles
# set -g __fish_git_prompt_hide_untrackedfiles 1
# end
#
# if not set -q __fish_git_prompt_color_branch
# set -g __fish_git_prompt_color_branch magenta --bold
# end
# if not set -q __fish_git_prompt_showupstream
# set -g __fish_git_prompt_showupstream "informative"
# end
# if not set -q __fish_git_prompt_char_upstream_ahead
# set -g __fish_git_prompt_char_upstream_ahead "↑"
# end
# if not set -q __fish_git_prompt_char_upstream_behind
# set -g __fish_git_prompt_char_upstream_behind "↓"
# end
# if not set -q __fish_git_prompt_char_upstream_prefix
# set -g __fish_git_prompt_char_upstream_prefix ""
# end
#
# if not set -q __fish_git_prompt_char_stagedstate
# set -g __fish_git_prompt_char_stagedstate "●"
# end
# if not set -q __fish_git_prompt_char_dirtystate
# set -g __fish_git_prompt_char_dirtystate "✚"
# end
# if not set -q __fish_git_prompt_char_untrackedfiles
# set -g __fish_git_prompt_char_untrackedfiles "…"
# end
# if not set -q __fish_git_prompt_char_invalidstate
# set -g __fish_git_prompt_char_invalidstate "✖"
# end
# if not set -q __fish_git_prompt_char_cleanstate
# set -g __fish_git_prompt_char_cleanstate "✔"
# end
#
# if not set -q __fish_git_prompt_color_dirtystate
# set -g __fish_git_prompt_color_dirtystate blue
# end
# if not set -q __fish_git_prompt_color_stagedstate
# set -g __fish_git_prompt_color_stagedstate yellow
# end
# if not set -q __fish_git_prompt_color_invalidstate
# set -g __fish_git_prompt_color_invalidstate red
# end
# if not set -q __fish_git_prompt_color_untrackedfiles
# set -g __fish_git_prompt_color_untrackedfiles $fish_color_normal
# end
# if not set -q __fish_git_prompt_color_cleanstate
# set -g __fish_git_prompt_color_cleanstate green --bold
# end
#
# if not set -q __fish_prompt_normal
# set -g __fish_prompt_normal (set_color normal)
# end
#
# set -l color_cwd
# set -l prefix
# set -l suffix
# switch "$USER"
# case root toor
# if set -q fish_color_cwd_root
# set color_cwd $fish_color_cwd_root
# else
# set color_cwd $fish_color_cwd
# end
# set suffix '#'
# case '*'
# set color_cwd $fish_color_cwd
# set suffix '$'
# end
#
# # PWD
# set_color $color_cwd
# echo -n (prompt_pwd)
# set_color normal
#
# printf '%s ' (fish_git_prompt)
#
# if not test $last_status -eq 0
# set_color $fish_color_error
# echo -n "[$last_status] "
# set_color normal
# end
#
# echo -n "$suffix "
# end
# '';
plugins = [
{
name = "nix-env";
src = pkgs.fetchFromGitHub {
owner = "lilyball";
repo = "nix-env.fish";
rev = "7b65bd228429e852c8fdfa07601159130a818cfa";
sha256 = "RG/0rfhgq6aEKNZ0XwIqOaZ6K5S4+/Y5EEMnIdtfPhk=";
};
}
# {
# name = "fzf";
# src = pkgs.fetchFromGitHub {
# owner = "PatrickF1";
# repo = "fzf.fish";
# rev = "63c8f8e65761295da51029c5b6c9e601571837a1";
# sha256 = "036n50zr9kyg6ad408zn7wq2vpfwhmnfwab465km4dk60ywmrlcb";
# };
# }
];
}

View File

@@ -1,8 +0,0 @@
{
enable = true;
defaultCommand = "fd --type f";
fileWidgetCommand = "fd --type f";
fileWidgetOptions = ["--preview" "'bat --color=always --style=numbers --line-range=:500 {}'"];
changeDirWidgetCommand = "fd --type d";
tmux.enableShellIntegration = true;
}

View File

@@ -1,3 +0,0 @@
pkgs: {
enable = true;
}

View File

@@ -1,62 +0,0 @@
pkgs:
{
enable = true;
viAlias = true;
extraConfig = ''
set et
set nofixeol
set number
set ts=2
set sts=-1
set sw=2
'';
plugins = with pkgs.vimPlugins; [
vim-gitgutter
{
plugin = nvim-lspconfig;
type = "lua";
config = ''
-- Mappings.
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
local opts = { noremap=true, silent=true }
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, opts)
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts)
-- Use an on_attach function to only map the following keys
-- after the language server attaches to the current buffer
local on_attach = function(client, bufnr)
-- Enable completion triggered by <c-x><c-o>
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
-- Mappings.
-- See `:help vim.lsp.*` for documentation on any of the below functions
local bufopts = { noremap=true, silent=true, buffer=bufnr }
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts)
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts)
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, bufopts)
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, bufopts)
vim.keymap.set('n', '<space>wl', function()
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
end, bufopts)
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
vim.keymap.set('n', '<space>f', vim.lsp.buf.formatting, bufopts)
end
require('lspconfig')['hls'].setup{
on_attach = on_attach,
}
require('lspconfig')['rust_analyzer'].setup{
on_attach = on_attach,
}
'';
}
];
}

View File

@@ -1,29 +0,0 @@
pkgs: {
enable = true;
settings = {
add_newline = false;
git_branch.symbol = " ";
git_status.ahead = "\${count}";
git_status.behind = "\${count}";
git_status.diverged = "\${ahead_count}\${behind_count}";
git_status.format = "([\\[\$conflicted\$staged\$ahead_behind\\]](\$style) )";
java.symbol = " ";
line_break.disabled = true;
nix_shell.symbol = " ";
nodejs.symbol = " ";
package.disabled = true;
palette = "catppuccin_frappe";
python.symbol = " ";
package.symbol = " ";
rust.symbol = " ";
docker_context.disabled = true;
shell.disabled = false;
} // builtins.fromTOML (builtins.readFile
(pkgs.fetchFromGitHub
{
owner = "catppuccin";
repo = "starship";
rev = "3e3e54410c3189053f4da7a7043261361a1ed1bc"; # Replace with the latest commit hash
sha256 = "soEBVlq3ULeiZFAdQYMRFuswIIhI9bclIU8WXjxd7oY=";
} + /palettes/frappe.toml));
}

View File

@@ -1,35 +0,0 @@
pkgs: {
baseIndex = 1;
clock24 = true;
customPaneNavigationAndResize = true;
historyLimit = 50000;
enable = true;
escapeTime = 0;
keyMode = "vi";
mouse = true;
plugins = [
{
plugin = pkgs.tmuxPlugins.catppuccin;
extraConfig = ''set -g @catppuccin_window_tabs_enabled on
set -g @catppuccin_window_default_text "#W"
set -g @catppuccin_window_current_text "#W"'';
}
# {
# plugin = pkgs.tmuxPlugins.tmux-thumbs;
# extraConfig = ''
# set -g @thumbs-unique enabled
# '';
# }
];
shell = pkgs.zsh + "/bin/zsh";
shortcut = "Space";
tmuxinator.enable = true;
terminal = "xterm-256color";
extraConfig = ''
bind-key -T copy-mode-vi 'v' send -X begin-selection
bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel
bind-key -T launcher g popup -h 100% -w 100% -E lazygit
bind-key g switch-client -Tlauncher
'';
}

View File

@@ -1,23 +0,0 @@
pkgs: {
enable = true;
oh-my-zsh = {
enable = true;
};
syntaxHighlighting.enable = true;
autosuggestion.enable = true;
historySubstringSearch.enable = true;
history.share = false;
cdpath = ["~/source"];
plugins = [
{
name = "zsh-nix-shell";
file = "nix-shell.plugin.zsh";
src = pkgs.fetchFromGitHub {
owner = "chisui";
repo = "zsh-nix-shell";
rev = "v0.7.0";
sha256 = "149zh2rm59blr2q458a5irkfh82y3dwdich60s9670kl3cl5h2m1";
};
}
];
}

View File

@@ -1,140 +0,0 @@
{ config, pkgs, ... }:
{
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = "jfrikker";
home.homeDirectory = "/Users/jfrikker";
# home.sessionVariables.BAT_THEME = "catppuccin-frappe";
# 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"
];
xdg.enable = true;
# xdg.configFile."k9s/skin.yml" = {
# enable = true;
# source = pkgs.fetchFromGitHub {
# owner = "catppuccin";
# repo = "k9s";
# rev = "322598e19a4270298b08dc2765f74795e23a1615"; # Replace with the latest commit hash
# sha256 = "GrRCOwCgM8BFhY8TzO3/WDTUnGtqkhvlDWE//ox2GxI=";
# } + /dist/frappe.yml;
# };
xdg.configFile."lazygit/config.yml" = {
enable = true;
source = pkgs.fetchFromGitHub
{
owner = "catppuccin";
repo = "lazygit";
rev = "b2ecb6d41b6f54a82104879573c538e8bdaeb0bf"; # Replace with the latest commit hash
sha256 = "9BBmWRcjNaJE9T0RKVEJaSnkrbMom0CLYE8PzAT6yFw=";
} + /themes/frappe.yml;
};
# xdg.configFile."fish/themes/Catppuccin Frappe.theme" = {
# enable = true;
# source = pkgs.fetchFromGitHub {
# owner = "catppuccin";
# repo = "fish";
# rev = "91e6d6721362be05a5c62e235ed8517d90c567c9";
# sha256 = "l9V7YMfJWhKDL65dNbxaddhaM6GJ0CFZ6z+4R6MJwBA=";
# } + "/themes/Catppuccin Frappe.theme";
# };
home.packages = [
# pkgs.apacheKafka
# pkgs.aria
pkgs.aws-iam-authenticator
pkgs.awscli
pkgs.bashInteractive
pkgs.chezmoi
pkgs.du-dust
pkgs.emacs29
pkgs.fd
pkgs.fend
pkgs.gcc
pkgs.gh
# pkgs.ghc
# pkgs.go
# pkgs.haskellPackages.cabal-install
# pkgs.haskellPackages.haskell-language-server
# pkgs.helix
# pkgs.httpie
# pkgs.inconsolata-nerdfont
# pkgs.jdt-language-server
pkgs.just
# pkgs.jsonnet
pkgs.kubectl
pkgs.lorri
# pkgs.maven
# pkgs.mysql-client
# pkgs.neovide
pkgs.neovim
# pkgs.nodejs-16_x
# pkgs.nodePackages.typescript-language-server
# pkgs.postgresql
# (pkgs.python3.withPackages (p: [p.ipython p.pyyaml p.boto3]))
pkgs.ripgrep
pkgs.rlwrap
# pkgs.rust-analyzer
# pkgs.rust-script
# pkgs.rust-bin.stable."1.68.0".default
# pkgs.rust-bin.stable."1.68.0".rust-analyzer
# pkgs.rustup
pkgs.sbcl
# pkgs.source-code-pro
# pkgs.stack
pkgs.tokei
pkgs.xh
# pkgs.xonsh
# pkgs.yarn
# pkgs.zellij
];
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards
# incompatible changes.
#
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "22.05";
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
programs.bash.enable = true;
programs.bat = import ./home-bat.nix pkgs;
# programs.btop.enable = true;
programs.direnv.enable = true;
programs.eza = import ./home-exa.nix;
# programs.fish = import ./home-fish.nix pkgs;
programs.fzf = import ./home-fzf.nix;
# programs.gh.enable = true;
programs.git.enable = true;
programs.git.delta.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;
# programs.k9s.enable = true;
programs.lazygit.enable = true;
programs.starship = import ./home-starship.nix pkgs;
programs.tmux = import ./home-tmux.nix pkgs;
# programs.zoxide.enable = true;
programs.zsh = import ./home-zsh.nix pkgs;
# programs.neovim = import ./home-neovim.nix pkgs;
}

View File

@@ -1,5 +0,0 @@
{
permittedInsecurePackages = [
"nodejs-16.20.2"
];
}

View File

@@ -1,47 +0,0 @@
[ (import <rust-overlay>)
# (
# final: prev:
# {
# helix = prev.rustPlatform.buildRustPackage rec {
# pname = "helix";
# version = "master";
# # 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";
# url = "https://github.com/helix-editor/helix/archive/109f53fb60f1b126c4c9afd97dd75972725d04ac.zip";
# hash = "sha256-WzxaZ+X5HGen81EWVi0dirMzH4xSh4hV1flXSLl0P1k=";
# 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 ];
# };
# };
# }
# )
]

View File

@@ -1,9 +0,0 @@
tt.*
.tests
doc/tags
debug
.repro
foo.*
*.log
data
lazy-lock.json

View File

@@ -1,15 +0,0 @@
{
"neodev": {
"library": {
"enabled": true,
"plugins": true
}
},
"neoconf": {
"plugins": {
"lua_ls": {
"enabled": true
}
}
}
}

View File

@@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@@ -1,4 +0,0 @@
# 💤 LazyVim
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
Refer to the [documentation](https://lazyvim.github.io/installation) to get started.

View File

@@ -1,2 +0,0 @@
-- bootstrap lazy.nvim, LazyVim and your plugins
require("config.lazy")

View File

@@ -1,3 +0,0 @@
-- Autocmds are automatically loaded on the VeryLazy event
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
-- Add any additional autocmds here

View File

@@ -1,4 +0,0 @@
-- Keymaps are automatically loaded on the VeryLazy event
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
-- Add any additional keymaps here
-- vim.keymap.set("n", "<leader>w", "<cmd>w<cr>", { desc = "Write file"})

View File

@@ -1,52 +0,0 @@
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
-- bootstrap lazy.nvim
-- stylua: ignore
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
end
vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
require("lazy").setup({
spec = {
-- add LazyVim and import its plugins
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
-- import any extras modules here
{ import = "lazyvim.plugins.extras.lang.typescript" },
{ import = "lazyvim.plugins.extras.lang.java" },
{ import = "lazyvim.plugins.extras.lang.json" },
{ import = "lazyvim.plugins.extras.lang.python" },
{ 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" },
},
defaults = {
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
lazy = false,
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
-- have outdated releases, which may break your Neovim install.
version = false, -- always use the latest git commit
-- version = "*", -- try installing the latest stable version for plugins that support semver
},
install = { colorscheme = { "catppuccin" } },
checker = { enabled = false }, -- automatically check for plugin updates
performance = {
rtp = {
-- disable some rtp plugins
disabled_plugins = {
"gzip",
-- "matchit",
-- "matchparen",
-- "netrwPlugin",
"tarPlugin",
"tohtml",
"tutor",
"zipPlugin",
},
},
},
})

View File

@@ -1,14 +0,0 @@
-- Options are automatically loaded before lazy.nvim startup
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
-- Add any additional options here
local opt = vim.opt
opt.autowriteall = true
opt.colorcolumn = "100"
-- opt.hidden = false
opt.tabstop = 4
opt.sidescrolloff = 0
opt.shiftwidth = 4
opt.relativenumber = false
vim.g.autoformat = false

View File

@@ -1,45 +0,0 @@
return {
{
"LazyVim/LazyVim",
opts = {
colorscheme = "catppuccin",
},
},
{ "catppuccin/nvim",
name = "catppuccin",
opts = {
flavour = "frappe",
-- custom_highlights = function(colors)
-- return {
-- ["@type.qualifier"] = { link = "StorageClass" },
-- ["@lsp.typemod.annotation"] = { link = "@attribute" },
-- ["@lsp.type.interface"] = { link = "Structure" },
-- ["@lsp.type.method"] = {},
-- ["StorageClass"] = { fg = colors.mauve },
-- ["@parameter"] = { fg = colors.text },
-- ["@property"] = { fg = colors.maroon },
-- ["@field"] = { fg = colors.maroon },
-- ["Function"] = { fg = colors.text },
-- ["Type"] = { fg = colors.text },
-- ["Structure"] = { fg = colors.text },
-- ["@method"] = { fg = colors.yellow },
-- }
-- end,
custom_highlights = function(colors)
return {
["@type.qualifier"] = { link = "StorageClass" },
["@parameter"] = { fg = colors.text },
["@field"] = { fg = colors.maroon },
["@lsp.type.interface"] = { link = "Structure" },
["StorageClass"] = { fg = colors.mauve },
}
end,
},
},
-- { "ellisonleao/gruvbox.nvim" },
-- {"rktjmp/lush.nvim" },
-- {"briones-gabriel/darcula-solid.nvim",
-- depends = {"rktjmp/lush.nvim" },
-- },
-- { "doums/darcula" },
}

View File

@@ -1,106 +0,0 @@
return {
{ "jay-babu/mason-nvim-dap.nvim", tag = "v2.0.1" },
{
"neovim/nvim-lspconfig",
-- dependencies = {
-- { "mfussenegger/nvim-jdtls" },
-- },
opts = {
servers = {
eslint = {
mason = false,
},
hls = {
mason = false,
},
jdtls = {
mason = false,
},
tsserver = {
mason = false,
}
}
-- autoformat = false,
-- servers = {
-- jdtls = {},
-- },
-- setup = {
-- jdtls = function(_, opts)
-- vim.api.nvim_create_autocmd("Filetype", {
-- pattern = "java", -- autocmd to start jdtls
-- callback = function()
-- -- use this function notation to build some variables
-- local root_markers = { ".git", "mvnw", "gradlew", "pom.xml", "build.gradle" }
-- local root_dir = require("jdtls.setup").find_root(root_markers)
--
-- -- calculate workspace dir
-- local project_name = vim.fn.fnamemodify(vim.fn.getcwd(), ":p:h:t")
-- local workspace_dir = vim.fn.stdpath("data") .. "/site/java/workspace-root/" .. project_name
-- -- os.execute("mkdir " .. workspace_dir)
--
-- -- get the mason install path
-- local install_path = require("mason-registry").get_package("jdtls"):get_install_path()
-- local debug_install_path = require("mason-registry").get_package("java-debug-adapter"):get_install_path()
-- local test_install_path = require("mason-registry").get_package("java-test"):get_install_path()
--
-- -- get the current OS
-- local os
-- if vim.fn.has("macunix") then
-- os = "mac"
-- elseif vim.fn.has("win32") then
-- os = "win"
-- else
-- os = "linux"
-- end
--
-- -- return the server config
-- local config = {
-- cmd = {
-- "java",
-- "-Declipse.application=org.eclipse.jdt.ls.core.id1",
-- "-Dosgi.bundles.defaultStartLevel=4",
-- "-Declipse.product=org.eclipse.jdt.ls.core.product",
-- "-Dlog.protocol=true",
-- "-Dlog.level=ALL",
-- -- "-javaagent:" .. install_path .. "/lombok.jar",
-- "-Xms1g",
-- "--add-modules=ALL-SYSTEM",
-- "--add-opens",
-- "java.base/java.util=ALL-UNNAMED",
-- "--add-opens",
-- "java.base/java.lang=ALL-UNNAMED",
-- "-jar",
-- vim.fn.glob(install_path .. "/plugins/org.eclipse.equinox.launcher_*.jar"),
-- "-configuration",
-- install_path .. "/config_" .. os,
-- "-data",
-- workspace_dir,
-- },
-- root_dir = root_dir,
-- settings = {
-- java = {
-- referencesCodeLens = {
-- enabled = false,
-- },
-- },
-- },
-- init_options = {
-- bundles = vim.list_extend({
-- vim.fn.glob(debug_install_path .. "/extension/server/com.microsoft.java.debug.plugin-*.jar", true),
-- }, vim.split(vim.fn.glob(test_install_path .. "/extension/server/*.jar", true), "\n")),
-- },
-- ["on_attach"] = function(client, bufnr)
-- require("jdtls").setup_dap()
-- require("jdtls.setup").add_commands()
-- vim.keymap.set("n", "<leader>cc", function() require('jdtls').compile() end, {buffer = bufnr, desc = "Java Errors"})
-- end,
-- }
-- require("jdtls").start_or_attach(config)
-- end,
-- })
-- return true
-- end,
-- },
},
},
}

View File

@@ -1,160 +0,0 @@
return {
{
"nvimdev/dashboard-nvim",
enabled = false,
},
{
"stevearc/dressing.nvim",
enabled = false,
},
{
"akinsho/bufferline.nvim",
enabled = false,
},
{
"SmiteshP/nvim-navic",
enabled = false,
},
{
"folke/trouble.nvim",
enabled = false,
},
-- {
-- "folke/todo-comments.nvim",
-- enabled = false,
-- },
{
"nvim-pack/nvim-spectre",
enabled = false,
},
{
"persistence.nvim",
enabled = false,
},
-- {
-- "L3MON4D3/LuaSnip",
-- enabled = false,
-- },
-- {
-- "rafamadriz/friendly-snippets",
-- enabled = false,
-- },
-- {
-- "ggandor/leap-spooky.nvim",
-- enabled = true,
-- opts = {
-- paste_on_remote_yank = true,
-- },
-- },
-- {
-- "ggandor/flit.nvim",
-- enabled = false,
-- },
{
"folke/noice.nvim",
enabled = false,
opts = {
cmdline = {
view = "cmdline",
},
},
},
{
"folke/flash.nvim",
opts = {
modes = {
search = {
enabled = false,
},
char = {
enabled = false,
},
}
},
},
{
"echasnovski/mini.pairs",
enabled = false,
},
{
"echasnovski/mini.indentscope",
opts = {
draw = {
animation = require("mini.indentscope").gen_animation.none(),
},
},
},
{
"hrsh7th/nvim-cmp",
opts = function(_, opts)
local cmp = require("cmp")
opts.sources = cmp.config.sources({
{ name = "nvim_lsp" },
{ name = "luasnip" },
})
return opts
end,
},
{
"nvim-telescope/telescope.nvim",
opts = function(opts)
local actions = require("telescope.actions")
opts.defaults = {
mappings = {
i = {
["<esc>"] = actions.close,
},
},
path_display = { "shorten" },
pickers = {
buffers = {
mappings = {
i = {
["<c-d>"] = actions.delete_buffer,
},
},
},
},
}
return opts
end,
},
{
"nvim-treesitter/nvim-treesitter",
opts = function(_, opts)
opts.ensure_installed = opts.ensure_installed or {}
vim.list_extend(opts.ensure_installed, { "sql" })
end,
},
{
"catppuccin/nvim",
name = "catppuccin",
opts = {
integrations = {
alpha = false,
navic = false,
lsp_trouble = false,
trouble = false,
}
}
},
-- {
-- "jackMort/ChatGPT.nvim",
-- event = "VeryLazy",
-- config = function()
-- require("chatgpt").setup({
-- show_quickfixes_cmd = "cope",
-- edit_with_instructions = {
-- keymaps = {
-- use_output_as_input = "<C-r>",
-- },
-- },
-- })
-- end,
-- dependencies = {
-- "MunifTanjim/nui.nvim",
-- "nvim-lua/plenary.nvim",
-- "nvim-telescope/telescope.nvim"
-- },
-- },
}

View File

@@ -1,3 +0,0 @@
indent_type = "Spaces"
indent_width = 2
column_width = 120

View File

@@ -1,55 +0,0 @@
# /Users/jfrikker/.config/tmuxinator/MS.yml
name: MS
root: ~/source/shibumi
# Optional tmux socket
# socket_name: foo
# Note that the pre and post options have been deprecated and will be replaced by
# project hooks.
# Project hooks
# Runs on project start, always
# on_project_start: command
# Run on project start, the first time
# on_project_first_start: command
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
# pre_window: rbenv shell 2.0.0-p247
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
# tmux_options: -f ~/.tmux.mac.conf
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
# tmux_command: byobu
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
# startup_window: editor
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
windows:
- edit: hx src/main/java/com/shibumi/Mothership.java
- run:
layout: even-vertical
panes:
- yarn install && yarn watch
- mvn spring-boot:run
# - git: lazygit
- term:

View File

@@ -1,51 +0,0 @@
# /Users/jfrikker/.config/tmuxinator/MS.yml
name: auth
root: ~/source/auth-service
# Optional tmux socket
# socket_name: foo
# Note that the pre and post options have been deprecated and will be replaced by
# project hooks.
# Project hooks
# Runs on project start, always
# on_project_start: command
# Run on project start, the first time
# on_project_first_start: command
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
# pre_window: rbenv shell 2.0.0-p247
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
# tmux_options: -f ~/.tmux.mac.conf
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
# tmux_command: byobu
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
# startup_window: editor
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
windows:
- edit: nix-shell --command 'nvim src/main.rs; return'
- run: nix-shell --pure --command 'cargo run; return'
# - git: lazygit
- term:

View File

@@ -1,49 +0,0 @@
# /Users/jfrikker/.config/tmuxinator/conf.yml
name: conf
root: ~/.config
# Optional tmux socket
# socket_name: foo
# Note that the pre and post options have been deprecated and will be replaced by
# project hooks.
# Project hooks
# Runs on project start, always
# on_project_start: command
# Run on project start, the first time
# on_project_first_start: command
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
# pre_window: rbenv shell 2.0.0-p247
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
# tmux_options: -f ~/.tmux.mac.conf
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
# tmux_command: byobu
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
# startup_window: editor
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
windows:
- edit:
- term:

View File

@@ -1,49 +0,0 @@
# /Users/jfrikker/.config/tmuxinator/tdef.yml
name: denv
root: ~/source/dev-environment
# Optional tmux socket
# socket_name: foo
# Note that the pre and post options have been deprecated and will be replaced by
# project hooks.
# Project hooks
# Runs on project start, always
# on_project_start: command
# Run on project start, the first time
# on_project_first_start: command
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
# pre_window: rbenv shell 2.0.0-p247
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
# tmux_options: -f ~/.tmux.mac.conf
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
# tmux_command: byobu
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
# startup_window: editor
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
windows:
- edit: hx
- term:

View File

@@ -1,51 +0,0 @@
# /Users/jfrikker/.config/tmuxinator/MS.yml
name: email
root: ~/source/notification-service
# Optional tmux socket
# socket_name: foo
# Note that the pre and post options have been deprecated and will be replaced by
# project hooks.
# Project hooks
# Runs on project start, always
# on_project_start: command
# Run on project start, the first time
# on_project_first_start: command
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
# pre_window: rbenv shell 2.0.0-p247
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
# tmux_options: -f ~/.tmux.mac.conf
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
# tmux_command: byobu
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
# startup_window: editor
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
windows:
- edit:
- run:
# - git: lazygit
- term:

View File

@@ -1,49 +0,0 @@
# /Users/jfrikker/.config/tmuxinator/tdef.yml
name: kube
root: ~/source/kubumi
# Optional tmux socket
# socket_name: foo
# Note that the pre and post options have been deprecated and will be replaced by
# project hooks.
# Project hooks
# Runs on project start, always
# on_project_start: command
# Run on project start, the first time
# on_project_first_start: command
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
# pre_window: rbenv shell 2.0.0-p247
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
# tmux_options: -f ~/.tmux.mac.conf
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
# tmux_command: byobu
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
# startup_window: editor
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
windows:
- edit: nvim
- term:

View File

@@ -1,50 +0,0 @@
# /Users/jfrikker/.config/tmuxinator/MS.yml
name: pst
root: ~/source/parseltongue
# Optional tmux socket
# socket_name: foo
# Note that the pre and post options have been deprecated and will be replaced by
# project hooks.
# Project hooks
# Runs on project start, always
# on_project_start: command
# Run on project start, the first time
# on_project_first_start: command
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
# pre_window: rbenv shell 2.0.0-p247
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
# tmux_options: -f ~/.tmux.mac.conf
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
# tmux_command: byobu
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
# startup_window: editor
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
windows:
- edit: hx src/main/java/com/shibumi/user_service/UserService.java
- build:
- term:

View File

@@ -1,51 +0,0 @@
# /Users/jfrikker/.config/tmuxinator/MS.yml
name: snap
root: ~/source/snapshot
# Optional tmux socket
# socket_name: foo
# Note that the pre and post options have been deprecated and will be replaced by
# project hooks.
# Project hooks
# Runs on project start, always
# on_project_start: command
# Run on project start, the first time
# on_project_first_start: command
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
# pre_window: rbenv shell 2.0.0-p247
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
# tmux_options: -f ~/.tmux.mac.conf
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
# tmux_command: byobu
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
# startup_window: editor
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
windows:
- edit:
- run:
# - git: lazygit
- term:

View File

@@ -1,51 +0,0 @@
# /Users/jfrikker/.config/tmuxinator/tdef.yml
name: tdef
root: ~/source/alexandria/template_def
# Optional tmux socket
# socket_name: foo
# Note that the pre and post options have been deprecated and will be replaced by
# project hooks.
# Project hooks
# Runs on project start, always
# on_project_start: command
# Run on project start, the first time
# on_project_first_start: command
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
# pre_window: rbenv shell 2.0.0-p247
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
# tmux_options: -f ~/.tmux.mac.conf
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
# tmux_command: byobu
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
# startup_window: editor
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
windows:
- edit: nvim ~/source/alexandria/template_def/src/main/java/com/shibumi/template_def/AppLoader.java
- run: mvn compile
# - git: lazygit
- term:

View File

@@ -1,55 +0,0 @@
# /Users/jfrikker/.config/tmuxinator/MS.yml
name: user
root: ~/source/user-service
# Optional tmux socket
# socket_name: foo
# Note that the pre and post options have been deprecated and will be replaced by
# project hooks.
# Project hooks
# Runs on project start, always
# on_project_start: command
# Run on project start, the first time
# on_project_first_start: command
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
# pre_window: rbenv shell 2.0.0-p247
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
# tmux_options: -f ~/.tmux.mac.conf
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
# tmux_command: byobu
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
# startup_window: editor
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
windows:
- edit: nvim src/main/java/com/shibumi/user_service/UserService.java
- run:
layout: even-vertical
panes:
- npm install && npm run watch
- mvn spring-boot:run
# - git: lazygit
- term:

1436
home.org Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +0,0 @@
#!/bin/sh
home-manager switch

2
sync.sh Executable file
View File

@@ -0,0 +1,2 @@
emacs --batch --eval "(require 'org)" --eval '(org-babel-tangle-file "home.org")'
home-manager switch