Updated for nushell v0.83 and some changes in doom emacs config

Signed-off-by: TuDatTr <tuan-dat.tran@tudattr.dev>
master
TuDatTr 2023-07-29 16:16:29 +02:00
parent 48eace8cee
commit 5fa0681986
13 changed files with 98 additions and 194 deletions

View File

@ -21,7 +21,7 @@ focus_follows_mouse no
# Configure
# border style <normal|1pixel|pixel xx|none|pixel>
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

View File

@ -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

View File

@ -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, <nushell-config-dir>/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, <nushell-config-dir>/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)

View File

@ -16,5 +16,5 @@ theme='style-7'
## Run
rofi \
-show drun \
-show run \
-theme ${dir}/${theme}.rasi

View File

@ -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

View File

@ -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;
}

View File

@ -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

View File

@ -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

View File

@ -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.
)

View File

@ -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))

View File

@ -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

@ -1 +1 @@
Subproject commit 042fe0c43831c8575abfdec4196ebd7305fa16ac
Subproject commit 07fca786154551f90f36535bfb21f8ca4abd5027

View File

@ -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