diff --git a/config/.config/i3/config b/config/.config/i3/config index d79c689..c0c56cb 100644 --- a/config/.config/i3/config +++ b/config/.config/i3/config @@ -108,7 +108,6 @@ exec --no-startup-id conky -c ~/.conky/syclo-crimson-bottomleft.conkyrc exec --no-startup-id dunst exec --no-startup-id ~/.scripts/startup.sh exec --no-startup-id llk -exec --no-startup-id emacs --daemon exec --no-startup-id syncthing exec --no-startup-id xrandr --output eDP1 --auto --left-of HDMI1 --output HDMI1 --off --output DP1 --off; feh --randomize --bg-fill /home/tuan/Pictures/Wallpaper/* exec --no-startup-id feh --randomize --bg-fill $HOME/Pictures/Wallpaper/* @@ -148,7 +147,7 @@ bindsym XF86AudioPrevious exec "playerctl previous; cmus-remote -r" # Application Shortcuts bindsym $mod+b exec firefox bindsym $mod+p exec firefox --private-window https://mos4.de -bindsym $mod+e exec emacsclient -c +bindsym $mod+e exec emacs bindsym $mod+m exec thunderbird # Whole Screen diff --git a/config/.config/nushell/config.nu b/config/.config/nushell/config.nu index 141e3ba..4c42fc6 100644 --- a/config/.config/nushell/config.nu +++ b/config/.config/nushell/config.nu @@ -1,4 +1,6 @@ # Nushell Config File +# +# version = 0.79.1 # For more information on defining custom themes, see # https://www.nushell.sh/book/coloring_and_theming.html @@ -12,7 +14,7 @@ let dark_theme = { empty: blue # Closures can be used to choose colors for specific values. # The value (in this case, a bool) is piped into the closure. - bool: { || if $in { 'light_cyan' } else { 'light_gray' } } + bool: {|| if $in { 'light_cyan' } else { 'light_gray' } } int: white filesize: {|e| if $e == 0b { @@ -22,23 +24,23 @@ let dark_theme = { } else { 'blue' } } duration: white - date: { || (date now) - $in | + date: {|| (date now) - $in | if $in < 1hr { - 'red3b' + 'purple' } else if $in < 6hr { - 'orange3' + 'red' } else if $in < 1day { - 'yellow3b' + 'yellow' } else if $in < 3day { - 'chartreuse2b' + 'green' } else if $in < 1wk { - 'green3b' + 'light_green' } else if $in < 6wk { - 'darkturquoise' + 'cyan' } else if $in < 52wk { - 'deepskyblue3b' + 'blue' } else { 'dark_gray' } - } + } range: white float: white string: white @@ -55,6 +57,7 @@ let dark_theme = { shape_binary: purple_bold shape_block: blue_bold shape_bool: light_cyan + shape_closure: green_bold shape_custom: green shape_datetime: cyan_bold shape_directory: cyan @@ -64,12 +67,13 @@ let dark_theme = { shape_flag: blue_bold shape_float: purple_bold # shapes are used to change the cli syntax highlighting - shape_garbage: { fg: "#FFFFFF" bg: "#FF0000" attr: b} + shape_garbage: { fg: white bg: red attr: b} shape_globpattern: cyan_bold shape_int: purple_bold shape_internalcall: cyan_bold shape_list: cyan_bold shape_literal: blue + shape_match_pattern: green shape_matching_brackets: { attr: u } shape_nothing: light_cyan shape_operator: yellow @@ -83,6 +87,7 @@ let dark_theme = { shape_string_interpolation: cyan_bold shape_table: blue_bold shape_variable: purple + shape_vardecl: purple } let light_theme = { @@ -93,7 +98,7 @@ let light_theme = { empty: blue # Closures can be used to choose colors for specific values. # The value (in this case, a bool) is piped into the closure. - bool: { || if $in { 'dark_cyan' } else { 'dark_gray' } } + bool: {|| if $in { 'dark_cyan' } else { 'dark_gray' } } int: dark_gray filesize: {|e| if $e == 0b { @@ -103,21 +108,21 @@ let light_theme = { } else { 'blue_bold' } } duration: dark_gray - date: { || (date now) - $in | + date: {|| (date now) - $in | if $in < 1hr { - 'red3b' + 'purple' } else if $in < 6hr { - 'orange3' + 'red' } else if $in < 1day { - 'yellow3b' + 'yellow' } else if $in < 3day { - 'chartreuse2b' + 'green' } else if $in < 1wk { - 'green3b' + 'light_green' } else if $in < 6wk { - 'darkturquoise' + 'cyan' } else if $in < 52wk { - 'deepskyblue3b' + 'blue' } else { 'dark_gray' } } range: dark_gray @@ -136,6 +141,7 @@ let light_theme = { shape_binary: purple_bold shape_block: blue_bold shape_bool: light_cyan + shape_closure: green_bold shape_custom: green shape_datetime: cyan_bold shape_directory: cyan @@ -145,12 +151,13 @@ let light_theme = { shape_flag: blue_bold shape_float: purple_bold # shapes are used to change the cli syntax highlighting - shape_garbage: { fg: "#FFFFFF" bg: "#FF0000" attr: b} + shape_garbage: { fg: white bg: red attr: b} shape_globpattern: cyan_bold shape_int: purple_bold shape_internalcall: cyan_bold shape_list: cyan_bold shape_literal: blue + shape_match_pattern: green shape_matching_brackets: { attr: u } shape_nothing: light_cyan shape_operator: yellow @@ -164,6 +171,7 @@ let light_theme = { shape_string_interpolation: cyan_bold shape_table: blue_bold shape_variable: purple + shape_vardecl: purple } # External completer example @@ -174,6 +182,8 @@ let light_theme = { # The default config record. This is where much of your global configuration is setup. let-env config = { + # true or false to enable or disable the welcome banner at startup + show_banner: false ls: { use_ls_colors: true # use the LS_COLORS environment variable to colorize output clickable_links: true # enable or disable clickable links. Your terminal has to support links. @@ -186,6 +196,8 @@ let-env config = { } table: { mode: rounded # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other + index_mode: always # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column + show_empty: true # show 'empty list' and 'empty record' placeholders for command output trim: { methodology: wrapping # wrapping or truncating wrapping_try_keep_words: true # A strategy used by the 'wrapping' methodology @@ -254,6 +266,7 @@ let-env config = { max_size: 10000 # Session has to be reloaded for this to take effect sync_on_enter: true # Enable to share history between multiple sessions, else you have to close the session to write history to file file_format: "plaintext" # "sqlite" or "plaintext" + # history_isolation: true # true enables history isolation, false disables it. true will allow the history to be isolated to the current session. false will allow the history to be shared across all sessions. } completions: { case_sensitive: false # set to true to enable case-sensitive completions @@ -270,7 +283,11 @@ let-env config = { metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard) format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, zb, zib, auto } - + cursor_shape: { + emacs: line # block, underscore, line, blink_block, blink_underscore, blink_line (line is the default) + vi_insert: block # block, underscore, line , blink_block, blink_underscore, blink_line (block is the default) + vi_normal: underscore # block, underscore, line, blink_block, blink_underscore, blink_line (underscore is the default) + } color_config: $dark_theme # if you want a light theme, replace `$dark_theme` to `$light_theme` use_grid_icons: true footer_mode: "25" # always, never, number_of_rows, auto @@ -279,26 +296,27 @@ let-env config = { use_ansi_coloring: true edit_mode: emacs # emacs, vi shell_integration: true # enables terminal markers and a workaround to arrow keys stop working issue - # true or false to enable or disable the welcome banner at startup - show_banner: false render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt. - #hooks: { - # pre_prompt: [{ || - # null # replace with source code to run before the prompt is shown - # }] - # pre_execution: [{ || - # null # replace with source code to run before the repl input is run - # }] - # env_change: { || - # PWD: [{|before, after| - # null # replace with source code to run if the PWD environment is different since the last repl input - # }] - # } - # display_output: { || - # if (term size).columns >= 100 { table -e } else { table } - # } - #} + hooks: { + pre_prompt: [{|| + null # replace with source code to run before the prompt is shown + }] + pre_execution: [{|| + null # replace with source code to run before the repl input is run + }] + env_change: { + PWD: [{|before, after| + null # replace with source code to run if the PWD environment is different since the last repl input + }] + } + display_output: {|| + if (term size).columns >= 100 { table -e } else { table } + } + command_not_found: {|| + null # replace with source code to return an error message when a command is not found + } + } menus: [ # Configuration for default nushell menus # Note the lack of source parameter @@ -520,16 +538,19 @@ let-env config = { event: { send: menu name: commands_with_description } } ] - } def add_soft [project] { git remote add soft $"ssh://git.aya00:/($project)" } +export def-env own_ranger [] { + let lastdir_path = $"($env.HOME)/.rangerdir"; + ^ranger $"--choosedir=($lastdir_path)"; + let lastdir = (open $lastdir_path); + cd $lastdir +} alias ll = ls -la alias la = ls -a alias q = exit -alias e = emacsclient -t -alias ekill = (pkill emacs;pkill emacsclient;emacs --daemon) alias picotik = picocom --b 115199 /dev/ttyUSB0 alias nmap = ^nmap -T5 --min-parallelism 100 -Pn alias ed = emacs --daemon @@ -540,6 +561,7 @@ alias wttr = curl wttr.in/Essen 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 latexmk = ^latexmk -f -pdf -interaction=nonstopmode +alias ranger = own_ranger # git alias gpa = git push all --all diff --git a/config/.config/nushell/env.nu b/config/.config/nushell/env.nu index 9783f9d..fde2ba9 100644 --- a/config/.config/nushell/env.nu +++ b/config/.config/nushell/env.nu @@ -1,39 +1,58 @@ # Nushell Environment Config File +# +# version = 0.79.1 def create_left_prompt [] { - let home = ($env | get -i (if $nu.os-info.name == "windows" { "USERPROFILE" } else { "HOME" }) | into string) + mut home = "" + try { + if $nu.os-info.name == "windows" { + $home = $env.USERPROFILE + } else { + $home = $env.HOME + } + } + let dir = ([ - ($env.PWD | str substring 0..($home | str length) | str replace -s $home "~"), + ($env.PWD | str substring 0..($home | str length) | str replace --string $home "~"), ($env.PWD | str substring ($home | str length)..) ] | str join) - let path_segment = if (is-admin) { - $"(ansi red_bold)($dir)" - } else { - $"(ansi green_bold)($dir)" - } + let path_color = (if (is-admin) { ansi red_bold } else { ansi green_bold }) + let separator_color = (if (is-admin) { ansi light_red_bold } else { ansi light_green_bold }) + let path_segment = $"($path_color)($dir)" - $path_segment + $path_segment | str replace --all --string (char path_sep) $"($separator_color)/($path_color)" } def create_right_prompt [] { - let time_segment = ([ - (date now | date format '%m/%d/%Y %r') - ] | str join) + let time_segment_color = (ansi magenta) - $time_segment + let time_segment = ([ + (ansi reset) + $time_segment_color + (date now | date format '%m/%d/%Y %r') + ] | str join | str replace --all "([/:])" $"(ansi light_magenta_bold)${1}($time_segment_color)" | + str replace --all "([AP]M)" $"(ansi light_magenta_underline)${1}") + + let last_exit_code = if ($env.LAST_EXIT_CODE != 0) {([ + (ansi rb) + ($env.LAST_EXIT_CODE) + ] | str join) + } else { "" } + + ([$last_exit_code, (char space), $time_segment] | str join) } # Use nushell functions to define your right and left prompt -let-env PROMPT_COMMAND = { || create_left_prompt } +let-env PROMPT_COMMAND = {|| create_left_prompt } let-env PROMPT_COMMAND_RIGHT = {|| create_right_prompt } # The prompt indicators are environmental variables that represent # the state of the prompt -let-env PROMPT_INDICATOR = { || "〉" } -let-env PROMPT_INDICATOR_VI_INSERT = { || ": " } -let-env PROMPT_INDICATOR_VI_NORMAL = { || "〉" } -let-env PROMPT_MULTILINE_INDICATOR = { || "::: " } +let-env PROMPT_INDICATOR = {|| "> " } +let-env PROMPT_INDICATOR_VI_INSERT = {|| ": " } +let-env PROMPT_INDICATOR_VI_NORMAL = {|| "> " } +let-env PROMPT_MULTILINE_INDICATOR = {|| "::: " } # Specifies how environment variables are: # - converted from a string to a value on Nushell startup (from_string) @@ -41,12 +60,12 @@ let-env PROMPT_MULTILINE_INDICATOR = { || "::: " } # Note: The conversions happen *after* config.nu is loaded let-env ENV_CONVERSIONS = { "PATH": { - from_string: { |s| $s | split row (char esep) | path expand -n } - to_string: { |v| $v | path expand -n | str join (char esep) } + from_string: { |s| $s | split row (char esep) | path expand --no-symlink } + to_string: { |v| $v | path expand --no-symlink | str join (char esep) } } "Path": { - from_string: { |s| $s | split row (char esep) | path expand -n } - to_string: { |v| $v | path expand -n | str join (char esep) } + from_string: { |s| $s | split row (char esep) | path expand --no-symlink } + to_string: { |v| $v | path expand --no-symlink | str join (char esep) } } } @@ -54,17 +73,18 @@ let-env ENV_CONVERSIONS = { # # By default, /scripts is added let-env NU_LIB_DIRS = [ - ($nu.config-path | path dirname | path join 'scripts') + ($nu.default-config-dir | path join 'scripts') ] # Directories to search for plugin binaries when calling register # # By default, /plugins is added let-env NU_PLUGIN_DIRS = [ - ($nu.config-path | path dirname | path join 'plugins') + ($nu.default-config-dir | path join 'plugins') ] +let-env GOPATH = ($env.HOME + '/.go/') +let-env GOBIN = ($env.GOPATH + 'bin/') + # To add entries to PATH (on Windows you might use Path), you can use the following pattern: -# let-env PATH = ($env.PATH | split row (char esep) | prepend '/some/path') -let-env VISUAL = 'emacsclient -t' -let-env EDITOR = 'emacsclient -t' +let-env PATH = ($env.PATH | split row (char esep) | prepend '~/.cargo/bin' | prepend '~/.emacs.d/bin/' | prepend $env.GOBIN) diff --git a/config/.config/nushell/login.nu b/config/.config/nushell/login.nu new file mode 100644 index 0000000..0f61ebb --- /dev/null +++ b/config/.config/nushell/login.nu @@ -0,0 +1,9 @@ +# Example Nushell Loginshell Config File +# - has to be as login.nu in the default config directory +# - will be sourced after config.nu and env.nu in case of nushell started as login shell + +# just as an example for overwriting of an environment variable of env.nu +let-env PROMPT_INDICATOR = {|| "(LS)> " } + +# Similar to env-path and config-path there is a variable containing the path to login.nu +echo $nu.loginshell-path diff --git a/config/.config/zellij/config.kdl b/config/.config/zellij/config.kdl index 976bbfd..0ef636d 100644 --- a/config/.config/zellij/config.kdl +++ b/config/.config/zellij/config.kdl @@ -17,6 +17,7 @@ keybinds { bind "Alt k" "Alt Up" { MoveFocus "Up"; } bind "Alt n" { NewPane; } bind "Alt t" { NewTab; } + bind "Alt w" { ToggleFloatingPanes; } bind "Alt =" "Alt +" { Resize "Increase"; } bind "Alt -" { Resize "Decrease"; } diff --git a/config/.local/share/ranger/bookmarks b/config/.local/share/ranger/bookmarks index 0d03178..0345656 100644 --- a/config/.local/share/ranger/bookmarks +++ b/config/.local/share/ranger/bookmarks @@ -9,7 +9,7 @@ t:/home/tuan/Templates 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 q:/home/tuan/Documents/Arbeit/Uni-DuE_NCS_SHK/04_-_Projekte/04-5G_IANA/02-gps -':/home/tuan/.dotfiles +':/home/tuan/Documents/Arbeit e:/home/tuan/Documents/CTF/TryHackMe/Ice/2_Recon s:/home/tuan/Pictures/Screenshots v:/home/tuan/.aya01/Documents/Arbeit/Uni-DuE_NCS_SHK/04_-_Projekte/06-Server_Setup/ansible diff --git a/config/.ssh/config b/config/.ssh/config index 4abaa5a..caad57a 100644 --- a/config/.ssh/config +++ b/config/.ssh/config @@ -36,18 +36,44 @@ Host aya01 User tudattr IdentityFile /mnt/veracrypt1/genesis +Host aya01.mii + HostName 192.168.20.12 + Port 22 + User tudattr + IdentityFile /mnt/veracrypt1/genesis + ProxyJump mii + Host git.aya01 HostName 192.168.20.12 Port 23231 User tudattr IdentityFile /mnt/veracrypt1/genesis +Host pi.mii + HostName 192.168.20.11 + Port 22 + User tudattr + IdentityFile /mnt/veracrypt1/genesis + ProxyJump mii + Host pi HostName 192.168.20.11 Port 22 User tudattr IdentityFile /mnt/veracrypt1/genesis +Host mii-root + HostName 202.61.207.139 + Port 22 + User root + IdentityFile /mnt/veracrypt1/genesis + +Host mii + HostName 202.61.207.139 + Port 22 + User tudattr + IdentityFile /mnt/veracrypt1/genesis + # Work Host ncs-head HostName 132.252.68.50 @@ -208,7 +234,7 @@ Host ncs-aws-iperf3 Hostname 18.185.5.191 Port 22 User ec2-user - IdentityFile /mnt/veracrypt1/aws_ncs.pem + IdentityFile /mnt/veracrypt1/work/aws_ncs.pem Host ami Hostname 3.72.156.214 diff --git a/emacs/.doom.d/custom.el b/emacs/.doom.d/custom.el index f4cbef3..9bf275b 100644 --- a/emacs/.doom.d/custom.el +++ b/emacs/.doom.d/custom.el @@ -3,6 +3,7 @@ ;; 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. + '(org-cite-global-bibliography '("~/Documents/roam/bibliography.bib")) '(org-hugo-base-dir "~/Documents/hugo/") '(org-roam-capture-templates '(("d" "default" plain "* Description @@ -66,7 +67,7 @@ (file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title} #+filetags: project") :unnarrowed t) -("i" "ieee paper" plain " + ("i" "ieee paper" plain " #+title: %^{title} #+OPTIONS: toc:nil author:nil #+LaTeX_CLASS: paper @@ -150,3 +151,9 @@ ("\\paragraph{%s}" . "\\paragraph*{%s}") ("\\subparagraph{%s}" . "\\subparagraph*{%s}"))) +(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. + ) diff --git a/emacs/.doom.d/flycheck_config.el b/emacs/.doom.d/flycheck_config.el new file mode 100644 index 0000000..ab4bd67 --- /dev/null +++ b/emacs/.doom.d/flycheck_config.el @@ -0,0 +1,145 @@ +;;; $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 "~/.emacs.d/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. + +; Rust +(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)) + +; Latex +(setq +latex-viewers '(zathura)) + +; Roam +(setq org-roam-directory "~/Documents/roam/") +(use-package! websocket + :after org-roam) + +(use-package! org-roam-ui + :after org-roam ;; or :after org +;; normally we'd recommend hooking orui after org-roam, but since org-roam does not have +;; a hookable mode anymore, you're advised to pick something yourself +;; if you don't care about startup time, use +;; :hook (after-init . org-roam-ui-mode) + :config + (setq org-roam-ui-sync-theme t + org-roam-ui-follow t + org-roam-ui-update-on-save t + org-roam-ui-open-on-start t)) diff --git a/emacs/.doom.d/init.el b/emacs/.doom.d/init.el index e58b94a..2ddedcc 100644 --- a/emacs/.doom.d/init.el +++ b/emacs/.doom.d/init.el @@ -172,8 +172,7 @@ ;;php ; perl's insecure younger brother ;;plantuml ; diagrams for confusing people more ;;purescript ; javascript, but functional - (python - +lsp) ; beautiful is better than ugly + python ; beautiful is better than ugly ;;qt ; the 'cutest' gui framework ever ;;racket ; a DSL for DSLs ;;raku ; the artist formerly known as perl6 diff --git a/emacs/.emacs.d b/emacs/.emacs.d index b66ad77..042fe0c 160000 --- a/emacs/.emacs.d +++ b/emacs/.emacs.d @@ -1 +1 @@ -Subproject commit b66ad7703134d8a91e8ae1fab84af3bb90fcca03 +Subproject commit 042fe0c43831c8575abfdec4196ebd7305fa16ac