Added config for doomemacs, removed old emacs configs and adjusted zshconfig and others
Signed-off-by: TuDatTr <tuan-dat.tran@tudattr.dev>clean_emacs
parent
cf4e9a19a9
commit
7f2823cdbd
|
@ -39,7 +39,7 @@ set $ws6 6:
|
||||||
set $ws7 7:
|
set $ws7 7:
|
||||||
set $ws8 8:
|
set $ws8 8:
|
||||||
set $ws9 9:
|
set $ws9 9:
|
||||||
set $ws0 0: 0
|
set $ws0 0:
|
||||||
|
|
||||||
# switch to workspace
|
# switch to workspace
|
||||||
bindsym $mod+1 workspace $ws1
|
bindsym $mod+1 workspace $ws1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
u:/home/tuan/Documents/Uni/Studium/2022&2023_Wintersemester
|
u:/home/tuan/Documents/Uni/Studium/2022&2023_Wintersemester
|
||||||
p:/home/tuan/Documents/Protokolle/FSE
|
p:/home/tuan/Documents/Protokolle/FSE
|
||||||
o:/home/tuan/.dotfiles/config
|
o:/home/tuan/.dotfiles/config
|
||||||
m:/run/media/tuan
|
m:/run/media/tuan/ARCH_202112
|
||||||
a:/home/tuan/Documents/Arbeit/Uni-DuE_NCS_SHK
|
a:/home/tuan/Documents/Arbeit/Uni-DuE_NCS_SHK
|
||||||
l:/home/tuan/Local
|
l:/home/tuan/Local
|
||||||
c:/home/tuan/Documents/CTF
|
c:/home/tuan/Documents/CTF
|
||||||
|
@ -9,7 +9,7 @@ t:/home/tuan/Templates
|
||||||
w:/home/tuan/workspace_l/home_lab/wiki
|
w:/home/tuan/workspace_l/home_lab/wiki
|
||||||
k:/home/tuan/.syncthing/Documents/Uni/Studium/2022_Sommersemester/Bachelorprojekt/Implement EFCF based on libAFL/git/foundry/evm/src/executor
|
k:/home/tuan/.syncthing/Documents/Uni/Studium/2022_Sommersemester/Bachelorprojekt/Implement EFCF based on libAFL/git/foundry/evm/src/executor
|
||||||
q:/home/tuan/Documents/Arbeit/Uni-DuE_NCS_SHK/04_-_Projekte/04-5G_IANA/02-gps
|
q:/home/tuan/Documents/Arbeit/Uni-DuE_NCS_SHK/04_-_Projekte/04-5G_IANA/02-gps
|
||||||
':/home/tuan/workspace_l/home_lab
|
':/run/media/tuan/ARCH_202112
|
||||||
e:/home/tuan/Documents/CTF/TryHackMe/Ice/2_Recon
|
e:/home/tuan/Documents/CTF/TryHackMe/Ice/2_Recon
|
||||||
s:/home/tuan/Pictures/Screenshots
|
s:/home/tuan/Pictures/Screenshots
|
||||||
v:/home/tuan/.aya01/Documents/Arbeit/Uni-DuE_NCS_SHK/04_-_Projekte/06-Server_Setup/ansible
|
v:/home/tuan/.aya01/Documents/Arbeit/Uni-DuE_NCS_SHK/04_-_Projekte/06-Server_Setup/ansible
|
||||||
|
|
|
@ -191,7 +191,7 @@ Host ncs-local-server2
|
||||||
ProxyJump ncs-local-server
|
ProxyJump ncs-local-server
|
||||||
|
|
||||||
Host phone
|
Host phone
|
||||||
Hostname 192.168.203.23
|
Hostname 192.168.30.245
|
||||||
Port 2222
|
Port 2222
|
||||||
User tuan-dat.tran
|
User tuan-dat.tran
|
||||||
IdentityFile /mnt/veracrypt1/genesis
|
IdentityFile /mnt/veracrypt1/genesis
|
||||||
|
|
|
@ -0,0 +1,135 @@
|
||||||
|
;;; $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 "Tuan-Dat Tran"
|
||||||
|
user-mail-address "tuan-dat.tran@tudattr.dev")
|
||||||
|
|
||||||
|
;; 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))
|
||||||
|
;;
|
||||||
|
;; 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 rustic
|
||||||
|
:bind (:map rustic-mode-map
|
||||||
|
("M-j" . lsp-ui-imenu)
|
||||||
|
("M-?" . lsp-find-references)
|
||||||
|
("C-c C-c l" . flycheck-list-errors)
|
||||||
|
("C-c C-c a" . lsp-execute-code-action)
|
||||||
|
("C-c C-c r" . lsp-rename)
|
||||||
|
("C-c C-c q" . lsp-workspace-restart)
|
||||||
|
("C-c C-c Q" . lsp-workspace-shutdown)
|
||||||
|
("C-c C-c s" . lsp-rust-analyzer-status))
|
||||||
|
:config
|
||||||
|
(setq rustic-format-on-save t)
|
||||||
|
(add-hook 'rustic-mode-hook 'rk/rustic-mode-hook))
|
||||||
|
|
||||||
|
(defun rk/rustic-mode-hook ()
|
||||||
|
;; so that run C-c C-c C-r works without having to confirm, but don't try to
|
||||||
|
;; save rust buffers that are not file visiting. Once
|
||||||
|
;; https://github.com/brotzeit/rustic/issues/253 has been resolved this should
|
||||||
|
;; no longer be necessary.
|
||||||
|
(when buffer-file-name
|
||||||
|
(setq-local buffer-save-without-query t))
|
||||||
|
(add-hook 'before-save-hook 'lsp-format-buffer nil t))
|
||||||
|
|
||||||
|
(use-package lsp-mode
|
||||||
|
:commands lsp
|
||||||
|
:custom
|
||||||
|
;; what to use when checking on-save. "check" is default, I prefer clippy
|
||||||
|
(lsp-rust-analyzer-cargo-watch-command "clippy")
|
||||||
|
(lsp-eldoc-render-all t)
|
||||||
|
(lsp-idle-delay 0.6)
|
||||||
|
;; enable / disable the hints as you prefer:
|
||||||
|
(lsp-rust-analyzer-server-display-inlay-hints t)
|
||||||
|
(lsp-rust-analyzer-display-lifetime-elision-hints-enable "skip_trivial")
|
||||||
|
(lsp-rust-analyzer-display-chaining-hints t)
|
||||||
|
(lsp-rust-analyzer-display-lifetime-elision-hints-use-parameter-names nil)
|
||||||
|
(lsp-rust-analyzer-display-closure-return-type-hints t)
|
||||||
|
(lsp-rust-analyzer-display-parameter-hints nil)
|
||||||
|
(lsp-rust-analyzer-display-reborrow-hints nil)
|
||||||
|
:config
|
||||||
|
(add-hook 'lsp-mode-hook 'lsp-ui-mode))
|
||||||
|
|
||||||
|
(use-package lsp-ui
|
||||||
|
:commands lsp-ui-mode
|
||||||
|
:custom
|
||||||
|
(lsp-ui-peek-always-show t)
|
||||||
|
(lsp-ui-sideline-show-hover t)
|
||||||
|
(lsp-ui-doc-enable nil))
|
||||||
|
|
||||||
|
(use-package ledger-mode
|
||||||
|
:mode ("\\.ledger\\'")
|
||||||
|
:config
|
||||||
|
(autoload 'ledger-mode "ledger-mode" "A major mode for Ledger" t)
|
||||||
|
(add-to-list 'load-path
|
||||||
|
(expand-file-name "/path/to/ledger/source/lisp/"))
|
||||||
|
(add-to-list 'auto-mode-alist '("\\.ledger$" . ledger-mode))
|
||||||
|
)
|
||||||
|
|
||||||
|
(setq +latex-viewers '(zathura))
|
|
@ -0,0 +1,194 @@
|
||||||
|
;;; 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 ; 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)
|
||||||
|
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 ; 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) ; the poster child for carpal tunnel syndrome
|
||||||
|
;;javascript ; all(hope(abandon(ye(who(enter(here))))))
|
||||||
|
;;julia ; a better, faster MATLAB
|
||||||
|
;;kotlin ; a better, slicker Java(Script)
|
||||||
|
(latex +latexmk +lsp) ; 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 ; 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))
|
|
@ -0,0 +1,56 @@
|
||||||
|
;; -*- 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)
|
||||||
|
|
||||||
|
(package! rustic)
|
||||||
|
(package! lsp-mode)
|
||||||
|
(package! lsp-ui)
|
||||||
|
(package! flycheck)
|
||||||
|
(package! ledger-mode)
|
|
@ -1,532 +0,0 @@
|
||||||
#+TITLE: Emacs Configuration from [[https://gitlab.com/TuDatTr/][TuDatTr]]
|
|
||||||
#+SETUPFILE: ~/Templates/Org-Mode/setupfile.org
|
|
||||||
#+OPTIONS: \n:t
|
|
||||||
|
|
||||||
* Preface
|
|
||||||
Before installing and using emacs, emacs should be run as a daemon.
|
|
||||||
This decreases the loading times of the editor enormously and enables you to return to your former emacs session at any time.
|
|
||||||
To do this you first need to make sure ~emace --daemon~ is run during the start up.
|
|
||||||
To access the daemonized emacs you can either run ~emacsclient -t~ to use it in the terminal or simply ~emacsclient~ if you want to use the GUI version.
|
|
||||||
|
|
||||||
* Package installation
|
|
||||||
** Preperation
|
|
||||||
Initialize Emacs builtin package system and add the [[https://melpa.org][melpa]]-package repository.
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(require 'package)
|
|
||||||
(setq package-archives '(("melpa" . "http://melpa.org/packages/")
|
|
||||||
("gnu" . "http://elpa.gnu.org/packages/")))
|
|
||||||
(package-initialize)
|
|
||||||
(package-refresh-contents)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Installation
|
|
||||||
*** [[https://github.com/jwiegley/use-package][use-package]]
|
|
||||||
=A use-package declaration for simplifying your .emacs=
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(unless (package-installed-p 'use-package)
|
|
||||||
(package-refresh-contents)
|
|
||||||
(package-install 'use-package))
|
|
||||||
|
|
||||||
(require 'use-package)
|
|
||||||
(setq use-package-always-ensure t)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://github.com/rolandwalker/simpleclip][simpleclip]]
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package simpleclip
|
|
||||||
:config
|
|
||||||
(simpleclip-mode 1))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://github.com/myrjola/diminish.el][diminish]]
|
|
||||||
=Diminished modes are minor modes with no modeline display=
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package diminish)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://github.com/emacscollective/no-littering][no-littering]]
|
|
||||||
=Help keeping ~/.emacs.d clean=
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package no-littering)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://github.com/emacs-evil/evil][evil]]/[[https://github.com/emacs-evil/evil-collection][evil-collection]]
|
|
||||||
=The extensible vi layer for Emacs.=
|
|
||||||
=A set of keybindings for evil-mode=
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package evil
|
|
||||||
:init
|
|
||||||
(setq evil-want-keybinding nil)
|
|
||||||
:config
|
|
||||||
(evil-mode 1)
|
|
||||||
(setq evil-search-module 'evil-search)
|
|
||||||
|
|
||||||
)
|
|
||||||
|
|
||||||
(use-package evil-collection
|
|
||||||
:config
|
|
||||||
(evil-collection-init))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://github.com/abo-abo/swiper][Ivy]]/[[https://github.com/abo-abo/swiper][Counsil]]/[[https://github.com/abo-abo/swiper][Swiper]]
|
|
||||||
=Ivy - a generic completion frontend for Emacs=
|
|
||||||
=Swiper - isearch with an overview, and more. Oh, man!=
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package prescient)
|
|
||||||
|
|
||||||
(use-package ivy-prescient
|
|
||||||
:config
|
|
||||||
(ivy-prescient-mode 1))
|
|
||||||
|
|
||||||
(use-package ivy)
|
|
||||||
|
|
||||||
(use-package counsel
|
|
||||||
:diminish counsel-mode
|
|
||||||
:config
|
|
||||||
(counsel-mode 1))
|
|
||||||
|
|
||||||
(use-package swiper
|
|
||||||
:bind ("C-s" . 'swiper))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://magit.vc/][Magit]]
|
|
||||||
=A Git Porcelain inside Emacs.=
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package magit)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://www.gnu.org/software/auctex/][AUCTeX]]
|
|
||||||
=an extensible package for writing and formatting TeX files.=
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package auctex
|
|
||||||
:defer t
|
|
||||||
:config
|
|
||||||
(setq TeX-parse-self t)
|
|
||||||
(setq-default TeX-master nil)
|
|
||||||
(setq TeX-PDF-mode t)
|
|
||||||
(add-to-list 'TeX-view-program-list '(("Zathura" "zathura %o")))
|
|
||||||
(add-to-list 'TeX-view-program-selection '((output-pdf "Zathura")))
|
|
||||||
)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://github.com/yjwen/org-reveal][ox-reveal]]
|
|
||||||
=Exports Org-mode contents to Reveal.js HTML presentation.=
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package ox-reveal)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://github.com/marsmining/ox-twbs][ox-twbs]]
|
|
||||||
=Export org-mode docs as HTML compatible with Twitter Bootstrap.=
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package ox-twbs)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://github.com/sabof/org-bullets][org-bullets]]
|
|
||||||
=utf-8 bullets for org-mode=
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package org-bullets)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://elpa.gnu.org/packages/rainbow-mode.html][rainbow-mode]]
|
|
||||||
=Colorize color names in buffers=
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package rainbow-mode)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://github.com/Fanael/rainbow-delimiters][rainbow-delimiters]]
|
|
||||||
=Emacs rainbow delimiters mode=
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package rainbow-delimiters)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://github.com/joaotavora/yasnippet][yasnippet]]
|
|
||||||
=A template system for Emacs=
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package yasnippet
|
|
||||||
:ensure
|
|
||||||
:config
|
|
||||||
(setq yas-snippet-dirs '("~/.emacs.d/snippets/"))
|
|
||||||
(yas-reload-all)
|
|
||||||
(add-hook 'prog-mode-hook 'yas-minor-mode)
|
|
||||||
(add-hook 'text-mode-hook 'yas-minor-mode)
|
|
||||||
)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://github.com/company-mode/company-mode][company-mode]]
|
|
||||||
=Modular in-buffer completion framework for Emacs=
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package company
|
|
||||||
:ensure
|
|
||||||
;; :custom
|
|
||||||
;; (company-idle-delay 0.5) ;; how long to wait until popup
|
|
||||||
;; (company-begin-commands nil) ;; uncomment to disable popup
|
|
||||||
:bind
|
|
||||||
(:map company-active-map
|
|
||||||
("C-n". company-select-next)
|
|
||||||
("C-p". company-select-previous)
|
|
||||||
("M-<". company-select-first)
|
|
||||||
("M->". company-select-last))
|
|
||||||
(:map company-mode-map
|
|
||||||
("<tab>" . tab-indent-or-complete)
|
|
||||||
("TAB" . tab-indent-or-complete)))
|
|
||||||
|
|
||||||
(defun company-yasnippet-or-completion ()
|
|
||||||
(interactive)
|
|
||||||
(or (do-yas-expand)
|
|
||||||
(company-complete-common)))
|
|
||||||
|
|
||||||
(defun check-expansion ()
|
|
||||||
(save-excursion
|
|
||||||
(if (looking-at "\\_>") t
|
|
||||||
(backward-char 1)
|
|
||||||
(if (looking-at "\\.") t
|
|
||||||
(backward-char 1)
|
|
||||||
(if (looking-at "::") t nil)))))
|
|
||||||
|
|
||||||
(defun do-yas-expand ()
|
|
||||||
(let ((yas/fallback-behavior 'return-nil))
|
|
||||||
(yas/expand)))
|
|
||||||
|
|
||||||
(defun tab-indent-or-complete ()
|
|
||||||
(interactive)
|
|
||||||
(if (minibufferp)
|
|
||||||
(minibuffer-complete)
|
|
||||||
(if (or (not yas/minor-mode)
|
|
||||||
(null (do-yas-expand)))
|
|
||||||
(if (check-expansion)
|
|
||||||
(company-complete-common)
|
|
||||||
(indent-for-tab-command)))))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
# *** [[https://github.com/TommyX12/company-tabnine][tabnine-company]]
|
|
||||||
# =A company-mode backend for TabNine, the all-language autocompleter: https://tabnine.com/=
|
|
||||||
#
|
|
||||||
# #+begin_src emacs-lisp
|
|
||||||
# (use-package company-tabnine
|
|
||||||
# :ensure t)
|
|
||||||
# ;; Trigger completion immediately.
|
|
||||||
# (setq company-idle-delay 0)
|
|
||||||
#
|
|
||||||
# ;; Number the candidates (use M-1, M-2 etc to select completions).
|
|
||||||
# (setq company-show-numbers t)
|
|
||||||
#
|
|
||||||
# (add-to-list 'company-backends #'company-tabnine)
|
|
||||||
# #+end_src
|
|
||||||
|
|
||||||
*** [[https://github.com/flycheck/flycheck][flycheck]]
|
|
||||||
=On the fly syntax checking for GNU Emacs=
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package flycheck
|
|
||||||
:ensure
|
|
||||||
:config
|
|
||||||
(global-flycheck-mode))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://github.com/hniksic/emacs-htmlize][htmlize.el]]
|
|
||||||
=Convert buffer text and decorations to HTML.=
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package htmlize)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** lsp-mode
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package lsp-mode
|
|
||||||
:ensure
|
|
||||||
:commands lsp
|
|
||||||
:custom
|
|
||||||
;; what to use when checking on-save. "check" is default, I prefer clippy
|
|
||||||
(lsp-rust-analyzer-cargo-watch-command "clippy")
|
|
||||||
(lsp-eldoc-render-all t)
|
|
||||||
(lsp-idle-delay 2.0)
|
|
||||||
;; This controls the overlays that display type and other hints inline. Enable
|
|
||||||
;; / disable as you prefer. Well require a `lsp-workspace-restart' to have an
|
|
||||||
;; effect on open projects.
|
|
||||||
(lsp-rust-server 'rust-analyzer)
|
|
||||||
(lsp-rust-analyzer-server-display-inlay-hints t)
|
|
||||||
(lsp-rust-analyzer-display-lifetime-elision-hints-enable "skip_trivial")
|
|
||||||
(lsp-rust-analyzer-display-chaining-hints t)
|
|
||||||
(lsp-rust-analyzer-display-lifetime-elision-hints-use-parameter-names t)
|
|
||||||
(lsp-rust-analyzer-display-closure-return-type-hints t)
|
|
||||||
(lsp-rust-analyzer-display-parameter-hints t)
|
|
||||||
(lsp-rust-analyzer-display-reborrow-hints t)
|
|
||||||
:config
|
|
||||||
(add-hook 'lsp-mode-hook 'lsp-ui-mode))
|
|
||||||
(add-hook 'python-mode-hook (lambda() (lsp-python-enable)))
|
|
||||||
|
|
||||||
(use-package lsp-ui
|
|
||||||
:ensure
|
|
||||||
:commands lsp-ui-mode
|
|
||||||
:custom
|
|
||||||
(lsp-ui-peek-always-show t)
|
|
||||||
(lsp-ui-sideline-show-hover t)
|
|
||||||
(lsp-ui-doc-enable nil))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://github.com/brotzeit/rustic][rustic]]
|
|
||||||
=Emacs configuration for Rust=
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(use-package rustic
|
|
||||||
:ensure
|
|
||||||
:bind (:map rustic-mode-map
|
|
||||||
;; ("M-j" . lsp-ui-imenu)
|
|
||||||
("M-?" . lsp-find-references)
|
|
||||||
("C-c C-c l" . flycheck-list-errors)
|
|
||||||
("C-c C-c a" . lsp-execute-code-action)
|
|
||||||
("C-c C-c r" . lsp-rename)
|
|
||||||
("C-c C-c q" . lsp-workspace-restart)
|
|
||||||
("C-c C-c Q" . lsp-workspace-shutdown)
|
|
||||||
("C-c C-c s" . lsp-rust-analyzer-status))
|
|
||||||
:config
|
|
||||||
;; comment to disable rustfmt on save
|
|
||||||
(setq rustic-format-on-save t))
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
*** dash.el
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(use-package dash)
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
*** rust-playground
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package rust-playground :ensure)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** rust-playground
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package toml-mode :ensure)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** lldb
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package exec-path-from-shell
|
|
||||||
:ensure
|
|
||||||
:init (exec-path-from-shell-initialize))
|
|
||||||
|
|
||||||
(when (executable-find "lldb-mi")
|
|
||||||
(use-package dap-mode
|
|
||||||
:ensure
|
|
||||||
:config
|
|
||||||
(dap-ui-mode)
|
|
||||||
(dap-ui-controls-mode 1)
|
|
||||||
|
|
||||||
(require 'dap-lldb)
|
|
||||||
(require 'dap-gdb-lldb)
|
|
||||||
;; installs .extension/vscode
|
|
||||||
(dap-gdb-lldb-setup)
|
|
||||||
(dap-register-debug-template
|
|
||||||
"Rust::LLDB Run Configuration"
|
|
||||||
(list :type "lldb"
|
|
||||||
:request "launch"
|
|
||||||
:name "LLDB::Run"
|
|
||||||
:gdbpath "rust-lldb"
|
|
||||||
;; uncomment if lldb-mi is not in PATH
|
|
||||||
;; :lldbmipath "path/to/lldb-mi"
|
|
||||||
))))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** projectile
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package projectile)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://github.com/astahlman/ob-async][ob-async]]
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package ob-async)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** [[https://github.com/ledger/ledger-mode][ledger-mode]]
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(use-package ledger-mode
|
|
||||||
:mode ("\\.ledger\\'")
|
|
||||||
:config
|
|
||||||
(autoload 'ledger-mode "ledger-mode" "A major mode for Ledger" t)
|
|
||||||
(add-to-list 'load-path
|
|
||||||
(expand-file-name "/path/to/ledger/source/lisp/"))
|
|
||||||
(add-to-list 'auto-mode-alist '("\\.ledger$" . ledger-mode))
|
|
||||||
)
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
*** [[https://github.com/yoshiki/yaml-mode][yaml-mode]]
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(use-package yaml-mode
|
|
||||||
:config
|
|
||||||
(add-to-list 'auto-mode-alist '("\\.yml\\'" . yaml-mode)))
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
*** [[https://github.com/ethereum/emacs-solidit][solidity-mode]]
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package solidity-mode)
|
|
||||||
#+end_src
|
|
||||||
* Appearance
|
|
||||||
This section is for appearance customization. Either via packages or manually.
|
|
||||||
|
|
||||||
** [[https://github.com/balajisivaraman/emacs-one-themes][emacs-one-themes]]
|
|
||||||
=A port of the Vim/Atom One Dark and Light themes to Emacs=
|
|
||||||
|
|
||||||
##+begin_src emacs-lisp
|
|
||||||
# (use-package one-themes
|
|
||||||
# :init
|
|
||||||
# (load-theme 'one-dark t))
|
|
||||||
##+end_src
|
|
||||||
|
|
||||||
** Transparent Emacs (Commented out)
|
|
||||||
#+begin_comment
|
|
||||||
Makes the default color of the background of emacs the same as the terminals color.
|
|
||||||
This is kind of a janky solution, but it works.
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(add-hook 'window-setup-hook
|
|
||||||
'(lambda ()
|
|
||||||
(if not (display-graphic-p)
|
|
||||||
(set-face-background 'default "unspecified-bg"))))
|
|
||||||
#+end_src
|
|
||||||
#+end_comment
|
|
||||||
** Menubar
|
|
||||||
|
|
||||||
Remove the menu/tool-bar at the top of the screen for better immersion.
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(menu-bar-mode -1)
|
|
||||||
(tool-bar-mode -1)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
* Emacs Configuration
|
|
||||||
** Symbolic Links
|
|
||||||
Follow symlinks without asking for confirmation.
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(setq vc-follow-symlinks t)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Tab Behavior (spaces > tabs)
|
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(setq-default indent-tabs-mode nil)
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
* Mode Configuration
|
|
||||||
** Org-mode
|
|
||||||
*** Enable org-bullets and hide leading stars.
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(add-hook 'org-mode-hook
|
|
||||||
(lambda ()
|
|
||||||
(org-bullets-mode 1)
|
|
||||||
(setq org-pretty-entities f)
|
|
||||||
(setq org-src-fontify-natively 1)))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** Enable utf8x on latex output
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(setq org-latex-inputenc-alist '(("utf8" . "utf8x")))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** minted options for pdfexport
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(setq org-latex-listings 'minted
|
|
||||||
org-latex-packages-alist '(("" "minted"))
|
|
||||||
org-latex-pdf-process
|
|
||||||
'("pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"
|
|
||||||
"pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"))
|
|
||||||
#+end_src
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(setq org-latex-minted-options '(("breaklines" "true")
|
|
||||||
("breakanywhere" "true")))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** yassnipped code completion in company
|
|
||||||
https://robert.kra.hn/posts/rust-emacs-setup/#changelog
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(defun company-yasnippet-or-completion ()
|
|
||||||
(interactive)
|
|
||||||
(or (do-yas-expand)
|
|
||||||
(company-complete-common)))
|
|
||||||
|
|
||||||
(defun check-expansion ()
|
|
||||||
(save-excursion
|
|
||||||
(if (looking-at "\\_>") t
|
|
||||||
(backward-char 1)
|
|
||||||
(if (looking-at "\\.") t
|
|
||||||
(backward-char 1)
|
|
||||||
(if (looking-at "::") t nil)))))
|
|
||||||
|
|
||||||
(defun do-yas-expand ()
|
|
||||||
(let ((yas/fallback-behavior 'return-nil))
|
|
||||||
(yas/expand)))
|
|
||||||
|
|
||||||
(defun tab-indent-or-complete ()
|
|
||||||
(interactive)
|
|
||||||
(if (minibufferp)
|
|
||||||
(minibuffer-complete)
|
|
||||||
(if (or (not yas/minor-mode)
|
|
||||||
(null (do-yas-expand)))
|
|
||||||
(if (check-expansion)
|
|
||||||
(company-complete-common)
|
|
||||||
(indent-for-tab-command)))))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** Keybindings
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(define-key org-mode-map (kbd "C-c ,") 'org-insert-structure-template)
|
|
||||||
(define-key evil-visual-state-map "Y" 'simpleclip-copy)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
Enables specific languages for org-babel, so those languages can be used and compiled in code blocks and disable the compilation confirmation. The code afterwords enables proper indentation inside those source blocks.
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(org-babel-do-load-languages
|
|
||||||
'org-babel-load-languages
|
|
||||||
'((emacs-lisp . t)
|
|
||||||
(C . t)
|
|
||||||
(makefile . t)
|
|
||||||
(shell . t)
|
|
||||||
(latex . t)
|
|
||||||
;; (rust . t)
|
|
||||||
(python . t)))
|
|
||||||
|
|
||||||
(setq org-confirm-babel-evaluate nil)
|
|
||||||
(setq org-src-tab-acts-natively t)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** C-mode
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(add-hook 'c-mode-hook
|
|
||||||
(lambda ()
|
|
||||||
(display-line-numbers-mode 1)))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** C++-mode
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(add-hook 'c++-mode-hook
|
|
||||||
(lambda ()
|
|
||||||
(display-line-numbers-mode 1)))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** p4-mode
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(add-to-list 'auto-mode-alist '("\\.p4\\'" . c-mode))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** markdown-mode
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(add-hook 'markdown-mode-hook
|
|
||||||
(lambda ()
|
|
||||||
(setq markdown-fontify-code-blocks-natively t)))
|
|
||||||
#+end_src
|
|
|
@ -1,24 +0,0 @@
|
||||||
(org-babel-load-file "~/.emacs.d/config.org")
|
|
||||||
(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.
|
|
||||||
'(auth-source-save-behavior nil)
|
|
||||||
'(ledger-reports
|
|
||||||
'(("privatausgaben" "%(binary) -f %(ledger-file) reg \\(Girokonto or Extrakonto\\) and not expr 'any(account =~ /Unternehmenskosten|Versicherung|Wohnungskosten|Investitionen/)' and not @Umbuchung and not @Gehalt and not @Halbwaisenrente --period 'this month'")
|
|
||||||
("bal" "%(binary) -f %(ledger-file) bal")
|
|
||||||
("reg" "%(binary) -f %(ledger-file) reg")
|
|
||||||
("payee" "%(binary) -f %(ledger-file) reg @%(payee)")
|
|
||||||
("account" "%(binary) -f %(ledger-file) reg %(account)")))
|
|
||||||
'(lsp-rust-analyzer-display-chaining-hints t)
|
|
||||||
'(lsp-rust-analyzer-server-display-inlay-hints t)
|
|
||||||
'(org-export-backends '(ascii html latex md odt))
|
|
||||||
'(package-selected-packages
|
|
||||||
'(dash auctex-latexmk flycheck-rust ansible yasnippet use-package theme-magic rainbow-mode rainbow-delimiters ox-twbs ox-reveal ox-hugo org-bullets no-littering moe-theme magit ivy-prescient htmlize god-mode go-mode flycheck evil-collection diminish counsel company auctex)))
|
|
||||||
(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.
|
|
||||||
)
|
|
|
@ -1,10 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: function template
|
|
||||||
# key: /**
|
|
||||||
# --
|
|
||||||
/**
|
|
||||||
@brief $0
|
|
||||||
|
|
||||||
@param[in]
|
|
||||||
@result
|
|
||||||
*/
|
|
|
@ -1,5 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: inline comment template
|
|
||||||
# key: /*!
|
|
||||||
# --
|
|
||||||
/*!< $0 */
|
|
|
@ -1,14 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: template
|
|
||||||
# key: template
|
|
||||||
# --
|
|
||||||
#include <iostream>
|
|
||||||
|
|
||||||
/**
|
|
||||||
@brief
|
|
||||||
|
|
||||||
@result
|
|
||||||
*/
|
|
||||||
int main(int argc, char *argv[]){
|
|
||||||
$0
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: function template
|
|
||||||
# key: /**
|
|
||||||
# --
|
|
||||||
/**
|
|
||||||
@brief $0
|
|
||||||
|
|
||||||
@param[in]
|
|
||||||
@result
|
|
||||||
*/
|
|
|
@ -1,14 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: template
|
|
||||||
# key: template
|
|
||||||
# --
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
/**
|
|
||||||
@brief
|
|
||||||
|
|
||||||
@result
|
|
||||||
*/
|
|
||||||
int main(int argc, char *argv[]){
|
|
||||||
$0
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: templatec
|
|
||||||
# key: templatec
|
|
||||||
# expand-env: ((yas-indent-line 'fixed) (yas-wrap-around-region 'nil))
|
|
||||||
# --
|
|
||||||
CC = gcc
|
|
||||||
SRC = \$(wildcard src/*.c)
|
|
||||||
OBJ = \$(SRC:.c=.o)
|
|
||||||
CFLAGS =
|
|
||||||
RM = rm -f
|
|
||||||
TARGET = $1
|
|
||||||
|
|
||||||
all: \$(TARGET)
|
|
||||||
|
|
||||||
\$(TARGET): \$(OBJ)
|
|
||||||
\$(CC) \$(CFLAGS) -o \$@ \$^
|
|
||||||
|
|
||||||
clean:
|
|
||||||
\$(RM) \$(TARGET) \$(OBJ)
|
|
|
@ -1,19 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: templatecxx
|
|
||||||
# key: templatecxx
|
|
||||||
# expand-env: ((yas-indent-line 'fixed) (yas-wrap-around-region 'nil))
|
|
||||||
# --
|
|
||||||
CXX = g++
|
|
||||||
SRC = \$(wildcard src/*.cpp)
|
|
||||||
OBJ = \$(SRC:.cpp=.o)
|
|
||||||
CXXFLAGS = --std=c++11
|
|
||||||
RM = rm -f
|
|
||||||
TARGET = $1
|
|
||||||
|
|
||||||
all: \$(TARGET)
|
|
||||||
|
|
||||||
\$(TARGET): \$(OBJ)
|
|
||||||
\$(CXX) \$(CXXFLAGS) -o \$@ \$^
|
|
||||||
|
|
||||||
clean:
|
|
||||||
\$(RM) \$(TARGET) \$(OBJ)
|
|
|
@ -1,7 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: latex
|
|
||||||
# key: latex_
|
|
||||||
# --
|
|
||||||
#+BEGIN_LaTeX
|
|
||||||
$0
|
|
||||||
#+END_LaTeX
|
|
|
@ -1,5 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: lecture title
|
|
||||||
# key: lec
|
|
||||||
# --
|
|
||||||
Lecture - Number - Name
|
|
|
@ -1,5 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: leftarrow
|
|
||||||
# key: <-
|
|
||||||
# --
|
|
||||||
\leftarrow{} $0
|
|
|
@ -1,12 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: reveal
|
|
||||||
# key: reveal
|
|
||||||
# --
|
|
||||||
#+TITLE: $1
|
|
||||||
#+AUTHOR: Tuan-Dat Tran
|
|
||||||
#+CREATOR: Tuan-Dat Tran
|
|
||||||
#+EMAIL: tuan-dat.tran@stud.uni-due.de
|
|
||||||
#+OPTIONS: ':t *:t -:t <:t \n:nil author:t creator:nil date:nil email:nil f:t num:nil tex:t title:t toc:t
|
|
||||||
#+REVEAL_ROOT: https://cdn.jsdelivr.net/npm/reveal.js
|
|
||||||
#+REVEAL_TITLE_SLIDE: <h2>%t</h2><br /><h3>%s</h3><br /> %a
|
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: rightarrow
|
|
||||||
# key: ->
|
|
||||||
# --
|
|
||||||
\rightarrow{} $0
|
|
|
@ -1,5 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: righttack
|
|
||||||
# key: |-
|
|
||||||
# --
|
|
||||||
⊢ $0
|
|
|
@ -1,7 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: source block
|
|
||||||
# key: src
|
|
||||||
# --
|
|
||||||
#+BEGIN_SRC $0
|
|
||||||
$1
|
|
||||||
#+END_SRC
|
|
|
@ -1,9 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: template
|
|
||||||
# key: template
|
|
||||||
# --
|
|
||||||
|
|
||||||
#+TITLE: $1
|
|
||||||
#+SETUPFILE: ~/Templates/Org-Mode/setupfile.org
|
|
||||||
|
|
||||||
$2
|
|
|
@ -1,5 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: whitesqure
|
|
||||||
# key: \box{}
|
|
||||||
# --
|
|
||||||
□ $0
|
|
|
@ -1,5 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: logging-critical
|
|
||||||
# key: lcritical
|
|
||||||
# --
|
|
||||||
logging.critical(f'$0')
|
|
|
@ -1,5 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: logging-debug
|
|
||||||
# key: ldebug
|
|
||||||
# --
|
|
||||||
logging.debug(f'$0')
|
|
|
@ -1,5 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: logging-error
|
|
||||||
# key: lerror
|
|
||||||
# --
|
|
||||||
logging.error(f'$0')
|
|
|
@ -1,5 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: logging-info
|
|
||||||
# key: linfo
|
|
||||||
# --
|
|
||||||
logging.info(f'$0')
|
|
|
@ -1,5 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: logging-warning
|
|
||||||
# key: lwarning
|
|
||||||
# --
|
|
||||||
logging.warning(f'$0')
|
|
|
@ -1,6 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: template
|
|
||||||
# key: template
|
|
||||||
# --
|
|
||||||
if __name__ == '__main__':
|
|
||||||
$0
|
|
|
@ -1,5 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: println!
|
|
||||||
# key: println
|
|
||||||
# --
|
|
||||||
println!("$0");
|
|
|
@ -1,6 +0,0 @@
|
||||||
# -*- mode: snippet -*-
|
|
||||||
# name: template
|
|
||||||
# key: template
|
|
||||||
# --
|
|
||||||
#!/bin/bash
|
|
||||||
$0
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Paths
|
# Paths
|
||||||
export ZSH="$HOME/.oh-my-zsh"
|
export ZSH="$HOME/.oh-my-zsh"
|
||||||
export PATH="$PATH:$HOME/.go/bin:$HOME/.local/bin:$HOME/.cargo/bin:$HOME/.dotnet/tools"
|
export PATH="$PATH:$HOME/.go/bin:$HOME/.local/bin:$HOME/.cargo/bin:$HOME/.dotnet/tools:$HOME/.emacs.d/bin"
|
||||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||||
export PenTestTools=$HOME/Local/PenTesting/
|
export PenTestTools=$HOME/Local/PenTesting/
|
||||||
export CTF=$HOME/Documents/CTF/
|
export CTF=$HOME/Documents/CTF/
|
||||||
|
@ -25,7 +25,7 @@ alias xsel='xsel -ib'
|
||||||
alias msfconsole="msfconsole -x \"db_connect metasploit@msf\""
|
alias msfconsole="msfconsole -x \"db_connect metasploit@msf\""
|
||||||
alias nmap="nmap -T5 --min-parallelism 100 -Pn"
|
alias nmap="nmap -T5 --min-parallelism 100 -Pn"
|
||||||
alias ed="\emacs --daemon"
|
alias ed="\emacs --daemon"
|
||||||
alias e="emacsclient -t"
|
alias e="open_emacs"
|
||||||
alias df="df -h"
|
alias df="df -h"
|
||||||
alias picpaste="xclip -selection clipboard -t image/png -o"
|
alias picpaste="xclip -selection clipboard -t image/png -o"
|
||||||
alias eledger="e ~/Documents/Finanzen/Ledger/MyBudget.ledger"
|
alias eledger="e ~/Documents/Finanzen/Ledger/MyBudget.ledger"
|
||||||
|
@ -34,9 +34,9 @@ alias econfig="e ~/.emacs.d/config.org"
|
||||||
alias wttr="curl wttr.in/Essen"
|
alias wttr="curl wttr.in/Essen"
|
||||||
alias tvres="xrandr --output HDMI1 --transform 1.02,0,-20,0,1.02,-10,0,0,1"
|
alias tvres="xrandr --output HDMI1 --transform 1.02,0,-20,0,1.02,-10,0,0,1"
|
||||||
alias defaultres="xrandr --output HDMI1 --transform 1.00,0,0,0,1.00,0,0,0,1"
|
alias defaultres="xrandr --output HDMI1 --transform 1.00,0,0,0,1.00,0,0,0,1"
|
||||||
alias ezsh="e ~/.zshrc; source ~/.zshrc;"
|
alias zshconfig="e ~/.zshrc; source ~/.zshrc;"
|
||||||
alias notify="dunstify \"ping~\""
|
alias notify="dunstify \"ping~\""
|
||||||
alias ekill="pkill emacs; rm ~/.emacs.d/config.el; ed"
|
alias ekill="e -e \"(kill-emacs)\"; ed"
|
||||||
alias latexmk="latexmk -f -pdf -interaction=nonstopmode"
|
alias latexmk="latexmk -f -pdf -interaction=nonstopmode"
|
||||||
alias picotik="picocom --b 115200 /dev/ttyUSB0"
|
alias picotik="picocom --b 115200 /dev/ttyUSB0"
|
||||||
|
|
||||||
|
@ -55,3 +55,4 @@ randpw() { < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-$1};echo;};
|
||||||
# Source
|
# Source
|
||||||
source $ZSH/oh-my-zsh.sh
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
|
open_emacs() { emacsclient -c $1 & disown; };
|
||||||
|
|
Loading…
Reference in New Issue