Compare commits

...

2 commits

Author SHA1 Message Date
2272840cfa add fish configs 2024-04-26 14:04:03 -04:00
d591c97ceb mv .spacemacs config 2024-04-26 14:03:17 -04:00
9 changed files with 265 additions and 89 deletions

View file

@ -1,78 +0,0 @@
(load-theme 'weyland-yutani t)
;; -- always on modess
(require 'evil)
(evil-mode 1)
(add-hook 'prog-mode-hook
'display-line-numbers-mode)
(add-hook 'prog-mode-hook
'undo-tree-mode)
(add-hook 'prog-mode-hook
'which-key-mode)
;; -- paredit for lisps
(autoload 'enable-paredit-mode "paredit"
"turn on pseudo-structural editing of lisp code"
t)
(add-hook 'emacs-lisp-mode-hook
'enable-paredit-mode)
add-hook 'emacs-lisp-mode-hook
#'rainbow-blocks-mode)
(add-hook 'lisp-mode-hook
'enable-paredit-mode)
(add-hook 'lisp-mode-hook
#'rainbow-blocks-mode)
(add-hook 'eval-expression-minibuffer-setup-hook
'enable-paredit-mode)
(add-hook 'eval-expression-minibuffer-setup-hook
#'rainbow-blocks-mode)
(add-hook 'ielm-mode-hook
'enable-paredit-mode)
(add-hook 'ielm-mode-hook
#'rainbow-blocks-mode)
(add-hook 'lisp-interaction-mode-hook
'enable-paredit-mode)
(add-hook 'lisp-interaction-mode-hook
#'rainbow-blocks-mode)
(add-hook 'scheme-mode-hook
'enable-paredit-mode)
(add-hook 'scheme-mode-hook
#'rainbow-blocks-mode)
(add-hook 'racket-mode-hook
'enable-paredit-mode)
(add-hook 'racket-mode-hook
#'rainbow-blocks-mode)
(add-hook 'clojure-mode-hook
'enable-paredit-mode)
(add-hook 'clojure-mode-hook
#'rainbow-blocks-mode)
;; -- cider repl
;; REPL history file
(setq cider-repl-history-file "~/.emacs.d/cider-history")
;; nice pretty printing
(setq cider-repl-use-pretty-printing t)
;; nicer font lock in REPL
(setq cider-repl-use-clojure-font-lock t)
;; result prefix for the REPL
(setq cider-repl-result-prefix ";; => ")
;; never ending REPL history
(setq cider-repl-wrap-history t)
;; looong history
(setq cider-repl-history-size 3000)
;; eldoc for clojure
(add-hook 'cider-mode-hook #'eldoc-mode)
;; error buffer not popping up
(setq cider-show-error-buffer nil)
;; use paredit in cider
(add-hook 'cider-repl-mode-hook
'enable-paredit-mode)

1
fish/conf.d/rustup.fish Normal file
View file

@ -0,0 +1 @@
. "$HOME/.cargo/env.fish"

3
fish/config.fish Normal file
View file

@ -0,0 +1,3 @@
if status is-interactive
# Commands to run in interactive sessions can go here
end

31
fish/fish_variables Normal file
View file

@ -0,0 +1,31 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __fish_initialized:3400
SETUVAR fish_color_autosuggestion:brblack
SETUVAR fish_color_cancel:\x2dr
SETUVAR fish_color_command:blue
SETUVAR fish_color_comment:red
SETUVAR fish_color_cwd:green
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:green
SETUVAR fish_color_error:brred
SETUVAR fish_color_escape:brcyan
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_normal:normal
SETUVAR fish_color_operator:brcyan
SETUVAR fish_color_param:cyan
SETUVAR fish_color_quote:yellow
SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen
SETUVAR fish_color_valid_path:\x2d\x2dunderline
SETUVAR fish_key_bindings:fish_default_key_bindings
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:yellow\x1e\x2di
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_pager_color_selected_background:\x2dr

3
fish/functions/bed.fish Normal file
View file

@ -0,0 +1,3 @@
function bed
cargo run --bin editor
end

3
fish/functions/eo.fish Normal file
View file

@ -0,0 +1,3 @@
function eo
emacs . &
end

View file

@ -0,0 +1,139 @@
function fish_prompt
# This prompt shows:
# - green lines if the last return command is OK, red otherwise
# - your user name, in red if root or yellow otherwise
# - your hostname, in cyan if ssh or blue otherwise
# - the current path (with prompt_pwd)
# - date +%X
# - the current virtual environment, if any
# - the current git status, if any, with fish_git_prompt
# - the current battery state, if any, and if your power cable is unplugged, and if you have "acpi"
# - current background jobs, if any
# It goes from:
# ┬─[nim@Hattori:~][11:39:00]
# ╰─>$ echo here
# To:
# ┬─[nim@Hattori:~/w/dashboard][11:37:14][V:django20][G:master↑1|111][B:85%, 05:41:42 remaining]
# │ 2 15054 0% arrêtée sleep 100000
# │ 1 15048 0% arrêtée sleep 100000
# ╰─>$ echo there
set -l retc red
test $status = 0; and set retc green
set -q __fish_git_prompt_showupstream
or set -g __fish_git_prompt_showupstream auto
function _nim_prompt_wrapper
set retc $argv[1]
set -l field_name $argv[2]
set -l field_value $argv[3]
set_color normal
set_color $retc
echo -n '─'
set_color -o green
echo -n '['
set_color normal
test -n $field_name
and echo -n $field_name:
set_color $retc
echo -n $field_value
set_color -o green
echo -n ']'
end
set_color $retc
echo -n '┬─'
set_color -o green
echo -n [
if functions -q fish_is_root_user; and fish_is_root_user
set_color -o red
else
set_color -o yellow
end
echo -n $USER
set_color -o white
echo -n @
if test -z "$SSH_CLIENT"
set_color -o blue
else
set_color -o cyan
end
echo -n (prompt_hostname)
set_color -o white
echo -n :(prompt_pwd)
set_color -o green
echo -n ']'
# Date
_nim_prompt_wrapper $retc '' (date +%X)
# Vi-mode
# The default mode prompt would be prefixed, which ruins our alignment.
function fish_mode_prompt
end
if test "$fish_key_bindings" = fish_vi_key_bindings
or test "$fish_key_bindings" = fish_hybrid_key_bindings
set -l mode
switch $fish_bind_mode
case default
set mode (set_color --bold red)N
case insert
set mode (set_color --bold green)I
case replace_one
set mode (set_color --bold green)R
echo '[R]'
case replace
set mode (set_color --bold cyan)R
case visual
set mode (set_color --bold magenta)V
end
set mode $mode(set_color normal)
_nim_prompt_wrapper $retc '' $mode
end
# Virtual Environment
set -q VIRTUAL_ENV_DISABLE_PROMPT
or set -g VIRTUAL_ENV_DISABLE_PROMPT true
set -q VIRTUAL_ENV
and _nim_prompt_wrapper $retc V (basename "$VIRTUAL_ENV")
# git
set -l prompt_git (fish_git_prompt '%s')
test -n "$prompt_git"
and _nim_prompt_wrapper $retc G $prompt_git
# Battery status
type -q acpi
and test (acpi -a 2> /dev/null | string match -r off)
and _nim_prompt_wrapper $retc B (acpi -b | cut -d' ' -f 4-)
# New line
echo
# Background jobs
set_color normal
for job in (jobs)
set_color $retc
echo -n '│ '
set_color brown
echo $job
end
set_color normal
set_color $retc
echo -n '╰─>'
set_color -o red
echo -n '$ '
set_color normal
end

3
fish/functions/gd.fish Normal file
View file

@ -0,0 +1,3 @@
function gd
godot -e ./project.godot &
end

View file

@ -32,8 +32,10 @@ This function should only modify configuration layer settings."
;; List of configuration layers to load.
dotspacemacs-configuration-layers
'(
;; ----------------------------------------------------------------
'(yaml
protobuf
rust
;; ---------------------------------------------------------------
;; Example of useful layers you may want to use right away.
;; Uncomment some layer names and press `SPC f e R' (Vim style) or
;; `M-m f e R' (Emacs style) to install them.
@ -41,7 +43,7 @@ This function should only modify configuration layer settings."
;; auto-completion
;; better-defaults
emacs-lisp
;; git
git
helm
racket
clojure
@ -50,9 +52,10 @@ This function should only modify configuration layer settings."
html
nginx
nixos
;; lsp
lsp
markdown
multiple-cursors
eww
;; org
;; (shell :variables
;; shell-default-height 30
@ -71,7 +74,9 @@ This function should only modify configuration layer settings."
;; `dotspacemacs/user-config'. To use a local version of a package, use the
;; `:location' property: '(your-package :location "~/path/to/your-package/")
;; Also include the dependencies as they will not be resolved automatically.
dotspacemacs-additional-packages '(weyland-yutani-theme)
dotspacemacs-additional-packages '(weyland-yutani-theme
gdscript-mode
symex)
;; A list of packages that cannot be updated.
dotspacemacs-frozen-packages '()
@ -338,7 +343,7 @@ It should only modify the values of Spacemacs settings."
;; Which-key delay in seconds. The which-key buffer is the popup listing
;; the commands bound to the current keystroke sequence. (default 0.4)
dotspacemacs-which-key-delay 0.4
dotspacemacs-which-key-delay 0.1
;; Which-key frame position. Possible values are `right', `bottom' and
;; `right-then-bottom'. right-then-bottom tries to display the frame to the
@ -360,7 +365,7 @@ It should only modify the values of Spacemacs settings."
;; If non-nil a progress bar is displayed when spacemacs is loading. This
;; may increase the boot time on some systems and emacs builds, set it to
;; nil to boost the loading time. (default t)
dotspacemacs-loading-progress-bar t
dotspacemacs-loading-progress-bar nil
;; If non-nil the frame is fullscreen when Emacs starts up. (default nil)
;; (Emacs 24.4+ only)
@ -433,7 +438,7 @@ It should only modify the values of Spacemacs settings."
;; :size-limit-kb 1000)
;; When used in a plist, `visual' takes precedence over `relative'.
;; (default nil)
dotspacemacs-line-numbers nil
dotspacemacs-line-numbers 'relative
;; Code folding method. Possible values are `evil', `origami' and `vimish'.
;; (default 'evil)
@ -514,7 +519,7 @@ It should only modify the values of Spacemacs settings."
;; `trailing' to delete only the whitespace at end of lines, `changed' to
;; delete only whitespace for changed lines or `nil' to disable cleanup.
;; (default nil)
dotspacemacs-whitespace-cleanup nil
dotspacemacs-whitespace-cleanup 'trailing
;; If non-nil activate `clean-aindent-mode' which tries to correct
;; virtual indentation of simple modes. This can interfere with mode specific
@ -577,12 +582,78 @@ dump."
(defun dotspacemacs/user-config ()
"Configuration for user code:
This function is called at the very end of Spacemacs startup, after layer
This function is called at the very end of Spacemacs startup, after layer
configuration.
Put your configuration code here, except for variables that should be set
before packages are loaded."
(require 'gdscript-mode)
(use-package symex
:config
(symex-initialize)
(global-set-key (kbd "s-;") 'symex-mode-interface) ; or whatever keybinding you like)
:custom
(symex-modal-backend 'evil))
(define-key
symex-mode-map
(kbd "s-w")
(lambda ()
(interactive)
(execute-kbd-macro (kbd "("))))
;; paredit mode enable
;; (autoload 'enable-paredit-mode "paredit" "Turn on pseudo-structural editing of Lisp code." t)
;; (add-hook 'emacs-lisp-mode-hook #'enable-paredit-mode)
;; (add-hook 'eval-expression-minibuffer-setup-hook #'enable-paredit-mode)
;; (add-hook 'ielm-mode-hook #'enable-paredit-mode)
;; (add-hook 'lisp-mode-hook #'enable-paredit-mode)
;; (add-hook 'lisp-interaction-mode-hook #'enable-paredit-mode)
;; (add-hook 'scheme-mode-hook #'enable-paredit-mode)
;; (add-hook 'clojure-mode-hook #'enable-paredit-mode)
;; (add-hook 'racket-mode-hook #'enable-paredit-mode)
;; -- cider repl
;; REPL history file
(setq cider-repl-history-file "~/.emacs.d/cider-history")
;; nice pretty printing
(setq cider-repl-use-pretty-printing t)
;; nicer font lock in REPL
(setq cider-repl-use-clojure-font-lock t)
;; result prefix for the REPL
(setq cider-repl-result-prefix ";; => ")
;; never ending REPL history
(setq cider-repl-wrap-history t)
;; looong history
(setq cider-repl-history-size 3000)
;; eldoc for clojure
(add-hook 'cider-mode-hook #'eldoc-mode)
;; error buffer not popping up
(setq cider-show-error-buffer nil)
;; use paredit in cider
;; (add-hook 'cider-repl-mode-hook
;; 'enable-paredit-mode)
)
;; Do not write anything past this comment. This is where Emacs will
;; auto-generate custom variable definitions.
(defun dotspacemacs/emacs-custom-settings ()
"Emacs custom settings.
This is an auto-generated function, do not modify its content directly, use
Emacs customize menu instead.
This function is called at the very end of Spacemacs initialization."
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(evil-want-Y-yank-to-eol nil)
'(package-selected-packages
'(forge yaml transient ghub closql emacsql treepy git-link git-messenger git-modes git-timemachine gitignore-templates helm-git-grep helm-ls-git org smeargle treemacs-magit magit git-commit with-editor auto-yasnippet clojure-snippets company-nixos-options company-web web-completion-data flycheck-pos-tip pos-tip helm-c-yasnippet helm-company company helm-lsp lsp-origami origami lsp-treemacs lsp-ui eldoc yasnippet-snippets yasnippet lsp-mode protobuf-mode symex xterm-color ws-butler writeroom-mode winum which-key weyland-yutani-theme web-mode web-beautify volatile-highlights vim-powerline vi-tilde-fringe uuidgen use-package undo-tree treemacs-projectile treemacs-persp treemacs-icons-dired treemacs-evil toc-org terminal-here term-cursor tagedit symon symbol-overlay string-inflection string-edit-at-point spacemacs-whitespace-cleanup spacemacs-purpose-popwin spaceline space-doc slim-mode shell-pop scss-mode sass-mode restart-emacs request rainbow-delimiters racket-mode quickrun pug-mode prettier-js popwin pcre2el password-generator paradox overseer org-superstar open-junk-file nix-mode nginx-mode nameless multi-vterm multi-term multi-line markdown-toc macrostep lorem-ipsum link-hint inspector info+ indent-guide impatient-mode hybrid-mode hungry-delete holy-mode hl-todo highlight-parentheses highlight-numbers highlight-indentation hide-comnt helm-xref helm-themes helm-swoop helm-purpose helm-projectile helm-org helm-nixos-options helm-mode-manager helm-make helm-descbinds helm-css-scss helm-comint helm-cider helm-ag google-translate golden-ratio gh-md geiser flycheck-package flycheck-elsa flx-ido fancy-battery eyebrowse expand-region evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-textobj-line evil-surround evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state evil-lion evil-indent-plus evil-iedit-state evil-goggles evil-exchange evil-evilified-state evil-escape evil-easymotion evil-collection evil-cleverparens evil-args evil-anzu eshell-z eshell-prompt-extras esh-help emr emmet-mode elisp-slime-nav elisp-def editorconfig eat dumb-jump drag-stuff dotenv-mode dired-quick-sort diminish devdocs define-word column-enforce-mode clean-aindent-mode cider-eval-sexp-fu centered-cursor-mode auto-highlight-symbol auto-compile all-the-icons aggressive-indent ace-link ace-jump-helm-line)))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)
)