From 5fa0681986bec38e4500b82abe172d2a20ed33ac Mon Sep 17 00:00:00 2001 From: TuDatTr Date: Sat, 29 Jul 2023 16:16:29 +0200 Subject: [PATCH] Updated for nushell v0.83 and some changes in doom emacs config Signed-off-by: TuDatTr --- config/.config/i3/config | 4 +- config/.config/nushell/config.nu | 9 +- config/.config/nushell/env.nu | 24 +-- .../.config/rofi/launchers/type-1/launcher.sh | 2 +- config/.local/share/ranger/bookmarks | 2 +- config/.scripts/battery_stats.nu | 2 +- config/.scripts/clean-nushell-db.nu | 17 ++ config/.ssh/config | 63 ++++++-- emacs/.doom.d/custom.el | 6 - emacs/.doom.d/flycheck_config.el | 145 ------------------ emacs/.doom.d/init.el | 14 +- emacs/.emacs.d | 2 +- zsh/.zshrc | 2 + 13 files changed, 98 insertions(+), 194 deletions(-) create mode 100644 config/.scripts/clean-nushell-db.nu delete mode 100644 emacs/.doom.d/flycheck_config.el diff --git a/config/.config/i3/config b/config/.config/i3/config index c0c56cb..3272e6e 100644 --- a/config/.config/i3/config +++ b/config/.config/i3/config @@ -21,7 +21,7 @@ focus_follows_mouse no # Configure # border style -new_window pixel 3 +new_window pixel 2 new_float normal hide_edge_borders none @@ -80,8 +80,6 @@ bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9 bindsym $mod+Shift+0 move container to workspace $ws0; workspace $ws0 # Open specific applications in floating mode -for_window [class="(?i)virtualbox"] floating enable border normal -for_window [title="KeePassX$"] floating enable border normal for_window [class="^Thunderbird$" title="^.*Event:"] floating enable # https://github.com/z3ntu/dotfiles/blob/master/i3/.config/i3/config diff --git a/config/.config/nushell/config.nu b/config/.config/nushell/config.nu index 4c42fc6..f4528e5 100644 --- a/config/.config/nushell/config.nu +++ b/config/.config/nushell/config.nu @@ -181,7 +181,7 @@ let light_theme = { # The default config record. This is where much of your global configuration is setup. -let-env config = { +$env.config = { # true or false to enable or disable the welcome banner at startup show_banner: false ls: { @@ -548,6 +548,8 @@ export def-env own_ranger [] { cd $lastdir } +def pwd_xsel [] { pwd | xsel -b } + alias ll = ls -la alias la = ls -a alias q = exit @@ -562,10 +564,11 @@ 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 +alias xselp = pwd_xsel # git alias gpa = git push all --all -alias gras = add_soft +# alias gras = add_soft alias gd = git diff alias gp = git push alias gcsm = git commit -s -m @@ -573,6 +576,6 @@ alias gaa = git add --all alias gco = git checkout alias grv = git remote -v -let-env DOCKER_BUILDKIT = 1 # Disable for podman +$env.DOCKER_BUILDKIT = 1 # Disable for podman source ~/.cache/starship/init.nu diff --git a/config/.config/nushell/env.nu b/config/.config/nushell/env.nu index fde2ba9..76c5ca9 100644 --- a/config/.config/nushell/env.nu +++ b/config/.config/nushell/env.nu @@ -44,21 +44,21 @@ def create_right_prompt [] { } # Use nushell functions to define your right and left prompt -let-env PROMPT_COMMAND = {|| create_left_prompt } -let-env PROMPT_COMMAND_RIGHT = {|| create_right_prompt } +$env.PROMPT_COMMAND = {|| create_left_prompt } +$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 = {|| "::: " } +$env.PROMPT_INDICATOR = {|| "> " } +$env.PROMPT_INDICATOR_VI_INSERT = {|| ": " } +$env.PROMPT_INDICATOR_VI_NORMAL = {|| "> " } +$env.PROMPT_MULTILINE_INDICATOR = {|| "::: " } # Specifies how environment variables are: # - converted from a string to a value on Nushell startup (from_string) # - converted from a value back to a string when running external commands (to_string) # Note: The conversions happen *after* config.nu is loaded -let-env ENV_CONVERSIONS = { +$env.ENV_CONVERSIONS = { "PATH": { from_string: { |s| $s | split row (char esep) | path expand --no-symlink } to_string: { |v| $v | path expand --no-symlink | str join (char esep) } @@ -72,19 +72,19 @@ let-env ENV_CONVERSIONS = { # Directories to search for scripts when calling source or use # # By default, /scripts is added -let-env NU_LIB_DIRS = [ +$env.NU_LIB_DIRS = [ ($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 = [ +$env.NU_PLUGIN_DIRS = [ ($nu.default-config-dir | path join 'plugins') ] -let-env GOPATH = ($env.HOME + '/.go/') -let-env GOBIN = ($env.GOPATH + 'bin/') +$env.GOPATH = ($env.HOME + '/.go/') +$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 '~/.cargo/bin' | prepend '~/.emacs.d/bin/' | prepend $env.GOBIN) +$env.PATH = ($env.PATH | split row (char esep) | prepend '~/.cargo/bin' | prepend '~/.emacs.d/bin/' | prepend $env.GOBIN) diff --git a/config/.config/rofi/launchers/type-1/launcher.sh b/config/.config/rofi/launchers/type-1/launcher.sh index 0d6ff71..3defdfe 100755 --- a/config/.config/rofi/launchers/type-1/launcher.sh +++ b/config/.config/rofi/launchers/type-1/launcher.sh @@ -16,5 +16,5 @@ theme='style-7' ## Run rofi \ - -show drun \ + -show run \ -theme ${dir}/${theme}.rasi diff --git a/config/.local/share/ranger/bookmarks b/config/.local/share/ranger/bookmarks index 0345656..f011b2f 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/Documents/Arbeit +':/home/tuan/.syncthing/Documents/Uni/Studium/2022&2023_Wintersemester/Bachelorprojekt/LibAFL with EVM/Proposal 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/.scripts/battery_stats.nu b/config/.scripts/battery_stats.nu index 3675850..0c6426d 100755 --- a/config/.scripts/battery_stats.nu +++ b/config/.scripts/battery_stats.nu @@ -2,6 +2,6 @@ let filename = (date now | date format "%s") while 1 == 1 { - (sudo tlp-stat -b | grep Charge | split column '=' | str trim ) | insert a (date now | date format "%s") | reject column1 | rename Charge Timestamp | to csv -n | str replace " \\[%\\]" "" |save -a $"$filename".csv; + (sudo tlp-stat -b | grep Charge | split column '=' | str trim ) | insert a (date now | date format "%s") | reject column1 | rename Charge Timestamp | to csv -n | str replace " \\[%\\]" "" | save -a $"($filename).csv"; sleep 50ms; } diff --git a/config/.scripts/clean-nushell-db.nu b/config/.scripts/clean-nushell-db.nu new file mode 100644 index 0000000..0f59e83 --- /dev/null +++ b/config/.scripts/clean-nushell-db.nu @@ -0,0 +1,17 @@ +# clean-nushell-db + +#!/usr/bin/env nu +let db = "~/dotfiles/nushell/.config/nushell/history.sqlite3" + +def get_current_row [] { + let current_row = (^sqlite3 $db "SELECT COUNT(*) FROM history h") + echo $"current rows: ($current_row)" +} + +get_current_row +# Remove failed commands +sqlite3 $db "DELETE FROM history WHERE exit_status != 0" +# Remove duplicates. But keep one. +# https://stackoverflow.com/a/53693544/6000005 +sqlite3 $db "DELETE FROM history WHERE id NOT IN (SELECT MIN(id) FROM history h GROUP BY command_line);" +get_current_row diff --git a/config/.ssh/config b/config/.ssh/config index caad57a..0ace6a7 100644 --- a/config/.ssh/config +++ b/config/.ssh/config @@ -36,25 +36,11 @@ Host aya01 User tudattr IdentityFile /mnt/veracrypt1/genesis -Host aya01.mii - HostName 192.168.20.12 +Host naruto + HostName 192.168.20.13 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 @@ -74,7 +60,35 @@ Host mii 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 pi.mii + HostName 192.168.20.11 + Port 22 + User tudattr + IdentityFile /mnt/veracrypt1/genesis + ProxyJump mii + +Host naruto.mii + HostName 192.168.20.13 + Port 22 + User tudattr + IdentityFile /mnt/veracrypt1/genesis + ProxyJump mii + # Work +Host ncs-head.mii + HostName 132.252.68.50 + Port 2122 + User tuan-dat.tran + IdentityFile /mnt/veracrypt1/genesis + ProxyJump mii + Host ncs-head HostName 132.252.68.50 Port 2122 @@ -242,3 +256,20 @@ Host ami User ubuntu IdentityFile /mnt/veracrypt1/work/aws-rizk.pem +Host 5g-mec + Hostname 192.168.100.1 + Port 22 + User udue + IdentityFile /mnt/veracrypt1/genesis + +Host 5g-mec-ovpn + Hostname 192.168.101.1 + Port 22 + User udue + IdentityFile /mnt/veracrypt1/genesis + +Host ncs-jetson00 + Hostname 10.168.68.132 + Port 22 + User user + IdentityFile /mnt/veracrypt1/genesis diff --git a/emacs/.doom.d/custom.el b/emacs/.doom.d/custom.el index 9bf275b..7af2a9a 100644 --- a/emacs/.doom.d/custom.el +++ b/emacs/.doom.d/custom.el @@ -151,9 +151,3 @@ ("\\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 deleted file mode 100644 index ab4bd67..0000000 --- a/emacs/.doom.d/flycheck_config.el +++ /dev/null @@ -1,145 +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 "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 2ddedcc..24e73f8 100644 --- a/emacs/.doom.d/init.el +++ b/emacs/.doom.d/init.el @@ -21,11 +21,14 @@ ;;layout ; auie,ctsrnm is the superior home row :completion - company ; the ultimate code completion backend + (company + +childframe + +tng + ); 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 + ivy ; a search engine for love and life + ;;vertico ; the search engine of the future :ui ;;deft ; notational velocity for Emacs @@ -74,7 +77,8 @@ dired ; making dired pretty [functional] electric ; smarter, keyword-based electric-indent ;;ibuffer ; interactive buffer management - undo ; persistent, smarter undo for your inevitable mistakes + (undo + +tree) ; persistent, smarter undo for your inevitable mistakes vc ; version-control and Emacs, sitting in a tree :term @@ -108,7 +112,7 @@ ;;prodigy ; FIXME managing external services & code builders ;;rgb ; creating color strings ;;taskrunner ; taskrunner for all your projects - terraform ; infrastructure as code + ;; 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 diff --git a/emacs/.emacs.d b/emacs/.emacs.d index 042fe0c..07fca78 160000 --- a/emacs/.emacs.d +++ b/emacs/.emacs.d @@ -1 +1 @@ -Subproject commit 042fe0c43831c8575abfdec4196ebd7305fa16ac +Subproject commit 07fca786154551f90f36535bfb21f8ca4abd5027 diff --git a/zsh/.zshrc b/zsh/.zshrc index ba4c1c7..2052e3e 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -60,3 +60,5 @@ source $ZSH/oh-my-zsh.sh add_soft_git() { git remote add soft ssh://git.aya01:/$1 } open_emacs() { emacsclient -c $1 & disown; }; + +nu