diff --git a/docs/TODO.md b/docs/TODO.md index 46007a67..7cae8054 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -6,12 +6,12 @@ https://github.com/tiiiecherle/osx_install_config/blob/master/03_homebrew_casks_ virtualbox blocked by C adobe-creative-cloud curl: (18) HTTP/2 stream 1 was reset * Wazuh requires booting into recovery, running csrutil disable, installing agent normally, and then re-enabling it again in recovery mode - +- https://app.warp.dev/referral/7PMXRV Warp referral * NGINX /opt/homebrew/etc/nginx/nginx.conf, on port 8080 so no sudo required, nginx will load all files in /opt/homebrew/etc/nginx/servers/, brew services might require sudo if port 443 is used, Docroot /opt/homebrew/var/www * export PATH="$HOME/.jenv/bin:$PATH" * eval "$(jenv init -)" - https://github.com/linuxserver/docker-webtop - +- https://app.warp.dev/referral/7PMXRV - https://github.com/chocolatey/boxstarter # Create the $HOME/opt destination folder mkdir -p ~/opt @@ -21,7 +21,7 @@ wget -O ~/opt/Espanso.AppImage 'https://github.com/federico-terzi/espanso/releas chmod u+x ~/opt/Espanso.AppImage # Create the "espanso" command alias sudo ~/opt/Espanso.AppImage env-path register - +- Deprecate asdf in favor of rtx # TODOs This page outlines various projects and tasks that we are currently working on. Creating a GitHub issue for each of these items would be overkill. diff --git a/home/.chezmoidata.yaml b/home/.chezmoidata.yaml index 84307b38..05710f81 100644 --- a/home/.chezmoidata.yaml +++ b/home/.chezmoidata.yaml @@ -252,6 +252,7 @@ softwareGroups: - github-runner - gitlab-runner - glen + - pipelight - tart CLI: &CLI - atuin @@ -344,9 +345,7 @@ softwareGroups: - zenity CLI-Extras: &CLI-Extras - ack - - argc - axel - - bashly - bin - bitly - brew-gem @@ -374,6 +373,7 @@ softwareGroups: - handlr - helix - hexyl + - hstr - http-prompt - httpie - httpstat @@ -394,6 +394,7 @@ softwareGroups: - nomino - normit - nve + - obsidian-cli - opn-cli - pastel - peco @@ -806,7 +807,6 @@ softwareGroups: - rofi - rustdesk - secretive - - standard-notes - stats - swiftbar - teamviewer @@ -896,6 +896,7 @@ softwareGroups: Package-Management: &Package-Management # - homebrew # - whalebrew + - rtx - syncpack - ultra - zap @@ -993,6 +994,8 @@ softwareGroups: - sftpgo - wazuh Shell-Scripting: &Shell-Scripting + - argc + - bashly - shc - shdoc - shellcheck @@ -1546,6 +1549,8 @@ softwareGroups: note: Deprecated because browser extensions do a better job of unifying bookmarks. Namely, the extension called Floccus allows cross-browser bookmark syncing. The Raindrop package also requires a paid subscription for advanced features. - pkg: rvm note: Deprecated in favor of using ASDF. + - pkg: standard-notes + note: Deprecated in favor of Obsidian / Notion - pkg: stubby note: Causes issues when other programs are modifying the DNS resolving endpoint. Might be worth reinvestigating but ideally the DNS should be encrypted on pfSense or use CloudFlare WARP to handle it. - pkg: temps diff --git a/home/Library/Preferences/dev.warp.Warp-Stable.plist b/home/Library/Preferences/dev.warp.Warp-Stable.plist new file mode 100644 index 00000000..1f60438b --- /dev/null +++ b/home/Library/Preferences/dev.warp.Warp-Stable.plist @@ -0,0 +1,100 @@ + + + + + AIAssistantRequestLimitInfo + {"limit":100,"num_requests_used_since_refresh":0,"next_refresh_time":"2023-12-10T02:16:48.373271641Z"} + ActivationHotkeyEnabled + false + AliasExpansionBannerSeen + true + AliasExpansionEnabled + false + ApplePressAndHoldEnabled + false + AutosuggestionAcceptedCount + 2 + CompletionsOpenWhileTyping + true + CopyOnSelect + true + CrashReportingEnabled + false + CursorBlink + "Enabled" + EnforceMinimumContrast + "Always" + ExperimentId + b0da5ce9-5536-4e2d-aebc-34a9b2604d6b + ExtraMetaKeys + {"left_alt":false,"right_alt":false} + FontName + "Hack Nerd Font" + FontSize + 12.0 + HasAutoOpenedWelcomeFolder + true + HasDismissedWarpDriveWelcome + true + HonorPS1 + true + LineHeightRatio + 1.2 + NewWindowsNumColumns + 140 + NewWindowsNumRows + 90 + OpenFileEditor + "VSCode" + OpenWindowsAtCustomSize + true + OverrideBlur + 1 + OverrideOpacity + 90 + PreferMarkdownViewer + true + QuakeModeEnabled + true + QuakeModeSettings + {"keybinding":null,"active_pin_position":"Top","pin_position_to_size_percentages":{"Left":{"width":40,"height":100},"Right":{"width":40,"height":100},"Top":{"width":100,"height":30},"Bottom":{"width":100,"height":30}},"pin_screen":null,"hide_window_when_unfocused":true} + ReceivedReferralTheme + "Inactive" + SavedPrompt + {"CustomChipSelection":{"chips":[{"chip":"CondaEnvironment","config":{}},{"chip":"VirtualEnvironment","config":{}},{"chip":"RemoteLogin","config":{}},{"chip":"ShellGitBranch","config":{}},{"chip":"GitDirtyFiles","config":{}},{"chip":"KubernetesContext","config":{}}]}} + SelectedSystemThemes + {"light":"Dark","dark":"Dark"} + Shortcuts + true + ShouldDimInactivePanes + true + ShowChangelogAfterUpdate + false + ShowGlobalWorkflowsInUniversalSearch + true + ShowIndicatorsButton + true + ShowWarningBeforeLogOut + false + ShowWarningBeforeQuitting + false + Spacing + "Normal" + StartupShellOverride + "zsh" + SystemTheme + true + TelemetryEnabled + false + Theme + "Dark" + UseThinStrokes + "OnHighDpiDisplays" + WelcomeTipsCompleted + true + WelcomeTipsFeaturesUsed + [{"Action":"AiCommandSearch"},{"Hint":"BlockAction"},{"Hint":"BlockSelect"},{"Action":"CommandPalette"},{"Action":"SplitPane"},{"Action":"SaveNewLaunchConfig"},{"Action":"OpenWarpDrive"},{"Action":"ThemePicker"},{"Action":"WarpAI"},{"Action":"CommandSearch"},{"Hint":"CreateBlock"}] + WorkingDirectoryConfig + {"advanced_mode":true,"global":{"mode":"PreviousDir","custom_dir":""},"split_pane":{"mode":"PreviousDir","custom_dir":""},"new_tab":{"mode":"PreviousDir","custom_dir":""},"new_window":{"mode":"HomeDir","custom_dir":""}} + + \ No newline at end of file diff --git a/home/Library/Preferences/md.obsidian.plist b/home/Library/Preferences/md.obsidian.plist new file mode 100644 index 00000000..f6b6e931 --- /dev/null +++ b/home/Library/Preferences/md.obsidian.plist @@ -0,0 +1,20 @@ + + + + + AppleTextDirection + + NSForceRightToLeftWritingDirection + + NSFullScreenMenuItemEverywhere + + NSNavLastRootDirectory + ~/Cloud/Google Drive/Obsidian + NSNavPanelExpandedSizeForOpenMode + {800, 448} + NSTreatUnknownArgumentsAsOpen + NO + NSWindow Frame NSNavPanelAutosaveName + 464 473 800 448 0 0 1728 1079 + + \ No newline at end of file diff --git a/home/dot_bashrc b/home/dot_bashrc index 49d19b6c..e94076e4 100644 --- a/home/dot_bashrc +++ b/home/dot_bashrc @@ -53,7 +53,15 @@ esac ### History export HISTFILE="$XDG_STATE_HOME/bash/history" - +if command -v hstr > /dev/null; then + ### Append new history items to .bash_history + shopt -s histappend + ### Ensure synchronization between bash memory and history file + export PROMPT_COMMAND="history -a; history -n; ${PROMPT_COMMAND}" + if [[ $- =~ .*i.* ]]; then bind '"\C-r": "\C-a hstr -- \C-j"'; fi + ### If this is interactive shell, then bind 'kill last command' to Ctrl-x k + if [[ $- =~ .*i.* ]]; then bind '"\C-xk": "\C-a hstr -k \C-j"'; fi +fi ### Bash Initialization Hooks if [ "$BASH_SUPPORT" = 'true' ] && [ -n "$BASH" ]; then ### Sensible Bash @@ -152,6 +160,9 @@ if [ "$BASH_SUPPORT" = 'true' ] && [ -n "$BASH" ]; then ### pkgx ! command -v pkgx > /dev/null || eval "$(pkgx --shellcode)" + ### RTX + ! command -v rtx > /dev/null || eval "$(rtx activate bash)" + ### SDKMan if command -v brew > /dev/null && command -v sdkman-cli > /dev/null; then export SDKMAN_DIR="$(brew --prefix sdkman-cli)/libexec" diff --git a/home/dot_config/fish/config.fish b/home/dot_config/fish/config.fish index 265355db..d08eef64 100644 --- a/home/dot_config/fish/config.fish +++ b/home/dot_config/fish/config.fish @@ -17,5 +17,8 @@ carapace _carapace | source ### Google Cloud SDK [ ! -f "$HOMEBREW_PREFIX/share/google-cloud-sdk/path.fish.inc" ] || source "$HOMEBREW_PREFIX/share/google-cloud-sdk/path.fish.inc" +### RTX +rtx activate fish | source + ### Up source "${XDG_DATA_HOME:-$HOME/.local/share}/up/up.fish" diff --git a/home/dot_config/shell/aliases.sh.tmpl b/home/dot_config/shell/aliases.sh.tmpl index ae77fca5..f72282c4 100644 --- a/home/dot_config/shell/aliases.sh.tmpl +++ b/home/dot_config/shell/aliases.sh.tmpl @@ -154,6 +154,9 @@ alias gsudo='sudo git -c "include.path="${XDG_CONFIG_DIR:-$HOME/.config}/git/con # Create hashed password for Ansible user creation alias hash-password='mkpasswd --method=sha-512' +# History alias +alias hh=hstr + # Show IP address alias ip-address='curl http://ipecho.net/plain; echo' diff --git a/home/dot_config/shell/exports.sh.tmpl b/home/dot_config/shell/exports.sh.tmpl index 0ac3a3e7..0908afc1 100644 --- a/home/dot_config/shell/exports.sh.tmpl +++ b/home/dot_config/shell/exports.sh.tmpl @@ -500,7 +500,7 @@ export MAGIC_ENTER_OTHER_COMMAND='ls -lh .' setterm -linewrap on 2>/dev/null ### History -export HISTCONTROL=ignoreboth +export HISTCONTROL=ignorespace export HISTSIZE=1000000000 export HISTFILESIZE=$HISTSIZE export HIST_STAMPS=mm/dd/yyyy diff --git a/home/dot_local/bin/executable_backup b/home/dot_local/bin/executable_backup index 170b870c..d2990326 100644 --- a/home/dot_local/bin/executable_backup +++ b/home/dot_local/bin/executable_backup @@ -3,7 +3,8 @@ backupMacPrefs() { if [ -d /Applications ] && [ -d /System ]; then if command -v macprefs > /dev/null; then - macprefs backup -t system_preferences startup_items shared_file_lists preferences app_store_preferences internet_accounts + logg info 'Backing up macOS preferences with macprefs' + macprefs backup -t system_preferences startup_items shared_file_lists app_store_preferences internet_accounts fi fi } diff --git a/home/dot_local/bin/executable_rclone-mount b/home/dot_local/bin/executable_rclone-mount index f09881b5..9ee3531c 100644 --- a/home/dot_local/bin/executable_rclone-mount +++ b/home/dot_local/bin/executable_rclone-mount @@ -45,7 +45,7 @@ fi for FOLDER in "$CACHE_FOLDER" "$CONFIG_FOLDER" "$LOG_FOLDER" "$MOUNT_PATH"; do if [ ! -d "$FOLDER" ]; then $SUDO_FLAG mkdir -p "$FOLDER" - $SUDO_FLAG chmod 755 "$FOLDER" + $SUDO_FLAG chmod 775 "$FOLDER" $SUDO_FLAG chown -Rf rclone:rclone "$FOLDER" 2> /dev/null || sudo chown -Rf rclone:$(id -g -n) "$FOLDER" fi done @@ -69,13 +69,12 @@ $SUDO_FLAG rclone --config "$CONFIG_FOLDER/rclone.conf" \ --cache-chunk-path "$CACHE_FOLDER/$MOUNT_REF-chunks" \ --cache-db-path "$CACHE_FOLDER/$MOUNT_REF-db" \ --cache-dir "$CACHE_FOLDER/$MOUNT_REF-vfs" \ - --cache-info-age 60m \ + --cache-info-age 5m \ --cache-tmp-upload-path "$CACHE_FOLDER/$MOUNT_REF-upload" \ --cache-workers 8 \ --cache-writes \ --checkers 16 \ - --dir-cache-time 24h \ - --dir-cache-time 60m \ + --dir-cache-time 5m \ --drive-use-trash \ --exclude-from "$RCLONE_IGNORE" \ --log-file "$LOG_FILE" \ @@ -87,7 +86,7 @@ $SUDO_FLAG rclone --config "$CONFIG_FOLDER/rclone.conf" \ --vfs-cache-max-age 1000h \ --vfs-cache-max-size 5G \ --vfs-cache-mode full \ - --vfs-cache-poll-interval 30s \ + --vfs-cache-poll-interval 14s \ --vfs-fast-fingerprint \ --vfs-read-ahead 128M \ --vfs-read-chunk-size 16M \ diff --git a/home/dot_zshrc b/home/dot_zshrc index eabc7fd7..c5cdbb70 100644 --- a/home/dot_zshrc +++ b/home/dot_zshrc @@ -459,6 +459,9 @@ fi ### Powerline [ ! -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/p10k.zsh" ] || source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/p10k.zsh" +### RTX +! command -v rtx > /dev/null || eval "$(rtx activate zsh)" + ### SDKMan if command -v brew > /dev/null && command -v sdkman-cli > /dev/null; then export SDKMAN_DIR="$(brew --prefix sdkman-cli)/libexec" diff --git a/software.yml b/software.yml index 3ed4e7bc..fa41df7e 100644 --- a/software.yml +++ b/software.yml @@ -465,6 +465,29 @@ softwarePackages: choco: tomcat dnf: tomcat pacman: tomcat + obsidian-cli: + _bin: obs + _github: https://github.com/Yakitrak/obsidian-cli + _name: Obsidian CLI + _pre:scoop: scoop bucket add scoop-yakitrak https://github.com/yakitrak/scoop-yakitrak.git + brew: yakitrak/yakitrak/obs + scoop: obs + rtx: + _bin: rtx + _github: https://github.com/jdx/rtx + _name: RTX + port: rtx + brew: rtx + cargo: rtx-cli + npm: rtx-cli + apk: rtx + nix-env: rtx + pipelight: + _bin: pipelight + _github: https://github.com/pipelight/pipelight + _name: Pipelight + cargo: --git https://github.com/pipelight/pipelight + yay: pipelight allure: _bin: allure _desc: '[Allure Report](https://docs.qameta.io/allure-testops/) is a flexible, lightweight multi-language test reporting tool. It provides clear graphical reports and allows everyone involved in the development process to extract the maximum of information from the everyday testing process.' @@ -2904,6 +2927,19 @@ softwarePackages: zypper: polybar pkg-freebsd: polybar dnf: polybar + hstr: + _bin: hstr + _github: https://github.com/dvorka/hstr + _name: HiSToRy + apt: hstr + dnf: hstr + emerge: app-shells/hstr + apk: hstr + pkg-freebsd: hstr + xbps-install: hstr + brew: hstr + port: histr + nix-env: hstr ghcup: _bin: ghcup _github: https://github.com/haskell/ghcup-hs