backup.sh
· 3.1 KiB · Bash
Raw
#!/bin/bash
# Color Utilities
function green() { printf "\033[32m%s\033[0m\n\n" "$1"; }
function orange() { printf "\033[38;5;208m%s\033[0m\n" "$1"; }
function red() { printf "\033[91m%s\033[0m\n" "$1"; }
function blue() { printf "\033[38;5;27m%s\033[0m\n" "$1"; }
# Constants
BACKUP_DIR="$HOME/backups"
FILENAME="$BACKUP_DIR/$(date +%d_%m_%Y).tar"
# Create backup directory if it doesn't exist
function ensure_backup_dir() {
if [[ ! -e "$BACKUP_DIR" ]]; then
blue "Creating backup directory."
mkdir -p "$BACKUP_DIR"
fi
}
# Handle existing backup file
function check_existing_backup() {
if [[ -f "$FILENAME" ]]; then
orange "$FILENAME already exists!"
read -rp "Do you want to remove the existing backup file? (y/n) : " answer
[[ $answer == 'y' ]] && rm "$FILENAME" || exit 1
fi
}
# Brew
function generate_config_files() {
green "Preparing brew ..."
local brew_file="$HOME/Brewfile"
brew bundle dump --force --no-go --no-cargo --no-uv --no-npm --file="$brew_file"
tar -rpf "$FILENAME" "$brew_file"
}
# Backup dotfiles
function backup_dotfiles() {
green "Backing up dotfiles..."
find "$HOME"/.* -maxdepth 0 -type f \
-not -name ".claude.json" \
-not -name ".CFUserTextEncoding" \
-not -name ".DS_Store" \
-exec tar -rpf "$FILENAME" {} +
}
# Exclude large config dirs and create gzipped archive of .config
function backup_config_gz() {
tar -rpf "$FILENAME" "$HOME/.config/git"
tar -rpf "$FILENAME" "$HOME/.config/rclone/*.conf"
tar -rpf "$FILENAME" "$HOME/.config/telebit"
tar -rpf "$FILENAME" "$HOME/.config/omniwm/settings.toml"
tar -rpf "$FILENAME" "$HOME/.gnupg/*.gpg"
tar -rpf "$FILENAME" "$HOME/.gradle/gradle.properties"
tar -rpf "$FILENAME" "$HOME/.claude/settings.json"
}
# Append selected items to tar archive
function backup_specific_items() {
green "Backing up specific items..."
tar -rpf "$FILENAME" --exclude=".git" --exclude="local.zsh" "$HOME/.zsh"
tar -rpf "$FILENAME" --exclude="agent" --exclude="known_hosts" "$HOME/.ssh"
tar -rpf "$FILENAME" $HOME/Library/LaunchAgents/local.*
tar -rpf "$FILENAME" $HOME/Data/launchd/*/*.sh
# tar -rpf "$FILENAME" "$HOME/Library/Developer/Xcode/UserData/KeyBindings"
tar -rpf "$FILENAME" /etc/hosts /etc/paths
}
# Append list of backed-up files
function add_backup_log() {
{
echo -e "\n\nBackup List:\n"
tar -tvf "$FILENAME" | sort -k5 -rn
} >backup_log.txt
tar -rpf "$FILENAME" backup_log.txt
blue backup log
cat backup_log.txt
rm backup_log.txt
}
# Validate final backup size
function validate_backup_size() {
local size size_mb
size=$(stat -f "%z" "$FILENAME")
size_mb=$(echo "scale=2; $size / 1024 / 1024" | bc)
blue "$FILENAME has size ${size_mb} MB"
if [[ $size -gt 24000000 ]]; then
red "Backup > 24 MB, aborting."
exit 1
else
green "Done!"
fi
}
# === Main Execution ===
ensure_backup_dir
check_existing_backup
cd "$HOME" || exit 1
generate_config_files
backup_dotfiles
backup_config_gz
backup_specific_items
add_backup_log
validate_backup_size
exit 0
# Restore with:
# sudo tar -xvf <backup_filename>.tar -C /
# brew bundle install --file=~/Brewfile
| 1 | #!/bin/bash |
| 2 | |
| 3 | # Color Utilities |
| 4 | function green() { printf "\033[32m%s\033[0m\n\n" "$1"; } |
| 5 | function orange() { printf "\033[38;5;208m%s\033[0m\n" "$1"; } |
| 6 | function red() { printf "\033[91m%s\033[0m\n" "$1"; } |
| 7 | function blue() { printf "\033[38;5;27m%s\033[0m\n" "$1"; } |
| 8 | |
| 9 | # Constants |
| 10 | BACKUP_DIR="$HOME/backups" |
| 11 | FILENAME="$BACKUP_DIR/$(date +%d_%m_%Y).tar" |
| 12 | |
| 13 | # Create backup directory if it doesn't exist |
| 14 | function ensure_backup_dir() { |
| 15 | if [[ ! -e "$BACKUP_DIR" ]]; then |
| 16 | blue "Creating backup directory." |
| 17 | mkdir -p "$BACKUP_DIR" |
| 18 | fi |
| 19 | } |
| 20 | |
| 21 | # Handle existing backup file |
| 22 | function check_existing_backup() { |
| 23 | if [[ -f "$FILENAME" ]]; then |
| 24 | orange "$FILENAME already exists!" |
| 25 | read -rp "Do you want to remove the existing backup file? (y/n) : " answer |
| 26 | [[ $answer == 'y' ]] && rm "$FILENAME" || exit 1 |
| 27 | fi |
| 28 | } |
| 29 | |
| 30 | # Brew |
| 31 | function generate_config_files() { |
| 32 | green "Preparing brew ..." |
| 33 | local brew_file="$HOME/Brewfile" |
| 34 | brew bundle dump --force --no-go --no-cargo --no-uv --no-npm --file="$brew_file" |
| 35 | |
| 36 | tar -rpf "$FILENAME" "$brew_file" |
| 37 | } |
| 38 | |
| 39 | # Backup dotfiles |
| 40 | function backup_dotfiles() { |
| 41 | green "Backing up dotfiles..." |
| 42 | find "$HOME"/.* -maxdepth 0 -type f \ |
| 43 | -not -name ".claude.json" \ |
| 44 | -not -name ".CFUserTextEncoding" \ |
| 45 | -not -name ".DS_Store" \ |
| 46 | -exec tar -rpf "$FILENAME" {} + |
| 47 | } |
| 48 | |
| 49 | # Exclude large config dirs and create gzipped archive of .config |
| 50 | function backup_config_gz() { |
| 51 | tar -rpf "$FILENAME" "$HOME/.config/git" |
| 52 | tar -rpf "$FILENAME" "$HOME/.config/rclone/*.conf" |
| 53 | tar -rpf "$FILENAME" "$HOME/.config/telebit" |
| 54 | tar -rpf "$FILENAME" "$HOME/.config/omniwm/settings.toml" |
| 55 | tar -rpf "$FILENAME" "$HOME/.gnupg/*.gpg" |
| 56 | tar -rpf "$FILENAME" "$HOME/.gradle/gradle.properties" |
| 57 | tar -rpf "$FILENAME" "$HOME/.claude/settings.json" |
| 58 | } |
| 59 | |
| 60 | # Append selected items to tar archive |
| 61 | function backup_specific_items() { |
| 62 | green "Backing up specific items..." |
| 63 | tar -rpf "$FILENAME" --exclude=".git" --exclude="local.zsh" "$HOME/.zsh" |
| 64 | tar -rpf "$FILENAME" --exclude="agent" --exclude="known_hosts" "$HOME/.ssh" |
| 65 | tar -rpf "$FILENAME" $HOME/Library/LaunchAgents/local.* |
| 66 | tar -rpf "$FILENAME" $HOME/Data/launchd/*/*.sh |
| 67 | # tar -rpf "$FILENAME" "$HOME/Library/Developer/Xcode/UserData/KeyBindings" |
| 68 | tar -rpf "$FILENAME" /etc/hosts /etc/paths |
| 69 | } |
| 70 | |
| 71 | # Append list of backed-up files |
| 72 | function add_backup_log() { |
| 73 | { |
| 74 | echo -e "\n\nBackup List:\n" |
| 75 | tar -tvf "$FILENAME" | sort -k5 -rn |
| 76 | } >backup_log.txt |
| 77 | tar -rpf "$FILENAME" backup_log.txt |
| 78 | blue backup log |
| 79 | cat backup_log.txt |
| 80 | rm backup_log.txt |
| 81 | } |
| 82 | |
| 83 | # Validate final backup size |
| 84 | function validate_backup_size() { |
| 85 | local size size_mb |
| 86 | size=$(stat -f "%z" "$FILENAME") |
| 87 | size_mb=$(echo "scale=2; $size / 1024 / 1024" | bc) |
| 88 | blue "$FILENAME has size ${size_mb} MB" |
| 89 | |
| 90 | if [[ $size -gt 24000000 ]]; then |
| 91 | red "Backup > 24 MB, aborting." |
| 92 | exit 1 |
| 93 | else |
| 94 | green "Done!" |
| 95 | fi |
| 96 | } |
| 97 | |
| 98 | # === Main Execution === |
| 99 | ensure_backup_dir |
| 100 | check_existing_backup |
| 101 | cd "$HOME" || exit 1 |
| 102 | generate_config_files |
| 103 | backup_dotfiles |
| 104 | backup_config_gz |
| 105 | backup_specific_items |
| 106 | add_backup_log |
| 107 | validate_backup_size |
| 108 | |
| 109 | exit 0 |
| 110 | |
| 111 | # Restore with: |
| 112 | # sudo tar -xvf <backup_filename>.tar -C / |
| 113 | # brew bundle install --file=~/Brewfile |
| 114 |
brew.sh
· 5.4 KiB · Bash
Raw
### Input / pointing devices
brew install mos
brew install asciinema
brew install --cask alt-tab
brew install --cask keycastr
brew install --cask middleclick
brew install --cask rectangle
brew install --cask linearmouse
### macOS / Xcode / iOS tooling
brew install swiftformat
brew install --cask xcodes
brew install --cask swiftformat-for-xcode
brew install fastlane
brew install carthage
brew tap robotsandpencils/made && brew install robotsandpencils/made/xcodes
brew tap majd/repo && brew install ipatool
brew install mackup # backup app settings
brew install pngpaste
### Development & VCS
brew install git
brew install git-gui
brew install git-lfs
git lfs install
git lfs install --system
brew install gitui
brew install git-delta
brew install gitleaks
brew install source-highlight
### Languages, formatters & build tools
brew install php
brew install rbenv
brew install rustfmt
brew install swiftlint
brew install rustup && rustup-init
### Editors & terminal tools
brew install micro
brew install lesspipe
brew install vhs
brew install bat
brew install tree
### Search / find / file utils
brew install fzf
brew install ripgrep
brew install fd
brew install jq
brew install yq
brew install rsync
brew install grep
### Media & multimedia
brew install ffmpeg
brew install imagemagick
brew install yt-dlp
brew install pngpaste
brew install vlc --cask
### Android / reverse-engineering / mobile
brew install apktool
brew install jadx
brew install scrcpy
curl https://raw.githubusercontent.com/ax/apk.sh/main/apk.sh -o /usr/local/bin/apk.sh && chmod +x /usr/local/bin/apk.sh
### Networking, proxies & transfer
brew install aria2
brew install rclone
brew install ngrok/ngrok/ngrok
brew install mitmproxy
brew install --cask localsend
### Productivity & system utilities (GUI)
brew install --cask maccy
brew install --cask lunar
brew install --cask ghostty
brew install stats
brew install neofetch
brew install glances
brew install lolcat
### Disk
brew install dua-cli
curl https://download.nektony.com/download/diskexpert/disk-space-analyzer.dmg -O && open disk-space-analyzer.dmg 2 >/dev/null &>1 &
### Screenshot
brew install --cask flameshot
brew install --cask kap
brew tap duongductrong/snapzy https://github.com/duongductrong/Snapzy && brew install --cask snapzy
### Misc / convenience
brew install lima
brew install ipatool
brew install yt-dlp
brew install jesseduffield/lazygit/lazygit
### Menu Bars
brew install --cask hiddenbar
brew install --cask swiftbar
brew install --cask steipete/tap/codexbar
brew install --cask pakerwreah/calendr/calendr
brew install --cask simsim
brew install thaw
### Database
brew install --cask sequel-ace
## Extra
[vscode xcode] https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line
[storage] https://nektony.com/disk-expert
[cliboard] flycut/cutbox
[editor] textmate coteditor
[vpn] warp 1.1.1.1
[player] https://github.com/iina/iina/releases/tag/v1.3.0
[extension] https://github.com/quoid/userscripts
[wiget] https://github.com/leits/MeetingBar
[ci] https://github.com/cirruslabs/tart
[vm] https://github.com/utmapp/UTM
[ipa] https://github.com/majd/ipatool
[xcode] https://github.com/RobotsAndPencils/XcodesApp
[emulator] https://github.com/PlayCover/PlayCover
[annotate, cite, and share research] https://www.zotero.org/
[terminal] https://iterm2.com/downloads.html
[keyboard] https://github.com/pqrs-org/Karabiner-Elements
[realm] https://studio-releases.realm.io/latest/download/mac-dmg https://github.com/dsmelov/simsim
[sketch] https://github.com/duraki/SketchCrapp
[record] https://github.com/onmyway133/GifCapture/releases/tag/1.1.0
[note] https://github.com/glushchenko/fsnotes
[convert video2gif] https://github.com/sindresorhus/Gifski
[download manager] https://github.com/agalwood/Motrix/releases
[wallpaper] https://github.com/rlxone/Equinox
[php] https://github.com/nicoverbruggen/phpmon
[firmware] https://github.com/ninxsoft/mist-cli
[xcodeproject] https://github.com/yonaskolb/XcodeGen
[java] https://www.oracle.com/java/technologies/downloads/#jdk19-mac
[automation] https://www.hammerspoon.org/go/
[video] https://github.com/mltframework/shotcut/releases
[xcode] https://github.com/Serchinastico/Kin
[database] https://github.com/dbeaver/dbeaver/releases
[default app] https://www.rubicode.com/Downloads/RCDefaultApp-2.1.X.dmg
[wasm] https://github.com/WebAssembly/wabt/releases/w
[launchctl] launchcontrol
[file-explorer] https://github.com/sayanarijit/xplr/releases | https://github.com/ranger/ranger | https://github.com/kamiyaa/joshuto | nnn | https://github.com/sxyazi/yazi
[file server] https://github.com/sigoden/dufs # webdav
[localsend] https://localsend.org/#/download # file sharing, airdrop
[teamview] https://github.com/rustdesk/rustdesk/releases # teamviewer alternative
[sql] drawsql.app
[monitor brightness] https://github.com/alin23/Lunar
[export photo library ios] https://github.com/RhetTbull/osxphotos
[music lyric] buzz
[image compressor, blog] caesium image compressor
[vpn] tunelblick
[bloatware] uad-ng-macos
[window manager] https://github.com/MrKai77/Loop/releases/
[editor] https://zed.dev/download
[software] https://github.com/objective-see/KnockKnock
[server] https://github.com/lollipopkit/flutter_server_box
[network monitor] https://github.com/GyulyVGC/sniffnet
[slideshow] https://github.com/gobbledegook/creevey
[editor]https://github.com/sinelaw/fresh
[window managers] https://www.raycast.com/ | https://github.com/nikitabobko/AeroSpace
[video] https://github.com/HandBrake/HandBrake
| 1 | ### Input / pointing devices |
| 2 | brew install mos |
| 3 | brew install asciinema |
| 4 | brew install --cask alt-tab |
| 5 | brew install --cask keycastr |
| 6 | brew install --cask middleclick |
| 7 | brew install --cask rectangle |
| 8 | brew install --cask linearmouse |
| 9 | |
| 10 | ### macOS / Xcode / iOS tooling |
| 11 | |
| 12 | brew install swiftformat |
| 13 | brew install --cask xcodes |
| 14 | brew install --cask swiftformat-for-xcode |
| 15 | brew install fastlane |
| 16 | brew install carthage |
| 17 | brew tap robotsandpencils/made && brew install robotsandpencils/made/xcodes |
| 18 | brew tap majd/repo && brew install ipatool |
| 19 | brew install mackup # backup app settings |
| 20 | brew install pngpaste |
| 21 | |
| 22 | ### Development & VCS |
| 23 | brew install git |
| 24 | brew install git-gui |
| 25 | brew install git-lfs |
| 26 | git lfs install |
| 27 | git lfs install --system |
| 28 | brew install gitui |
| 29 | brew install git-delta |
| 30 | brew install gitleaks |
| 31 | brew install source-highlight |
| 32 | |
| 33 | ### Languages, formatters & build tools |
| 34 | brew install php |
| 35 | brew install rbenv |
| 36 | brew install rustfmt |
| 37 | brew install swiftlint |
| 38 | brew install rustup && rustup-init |
| 39 | |
| 40 | ### Editors & terminal tools |
| 41 | brew install micro |
| 42 | brew install lesspipe |
| 43 | brew install vhs |
| 44 | brew install bat |
| 45 | brew install tree |
| 46 | |
| 47 | ### Search / find / file utils |
| 48 | brew install fzf |
| 49 | brew install ripgrep |
| 50 | brew install fd |
| 51 | brew install jq |
| 52 | brew install yq |
| 53 | brew install rsync |
| 54 | brew install grep |
| 55 | |
| 56 | ### Media & multimedia |
| 57 | brew install ffmpeg |
| 58 | brew install imagemagick |
| 59 | brew install yt-dlp |
| 60 | brew install pngpaste |
| 61 | brew install vlc --cask |
| 62 | |
| 63 | ### Android / reverse-engineering / mobile |
| 64 | brew install apktool |
| 65 | brew install jadx |
| 66 | brew install scrcpy |
| 67 | curl https://raw.githubusercontent.com/ax/apk.sh/main/apk.sh -o /usr/local/bin/apk.sh && chmod +x /usr/local/bin/apk.sh |
| 68 | |
| 69 | ### Networking, proxies & transfer |
| 70 | brew install aria2 |
| 71 | brew install rclone |
| 72 | brew install ngrok/ngrok/ngrok |
| 73 | brew install mitmproxy |
| 74 | brew install --cask localsend |
| 75 | |
| 76 | ### Productivity & system utilities (GUI) |
| 77 | brew install --cask maccy |
| 78 | brew install --cask lunar |
| 79 | brew install --cask ghostty |
| 80 | brew install stats |
| 81 | brew install neofetch |
| 82 | brew install glances |
| 83 | brew install lolcat |
| 84 | |
| 85 | ### Disk |
| 86 | brew install dua-cli |
| 87 | curl https://download.nektony.com/download/diskexpert/disk-space-analyzer.dmg -O && open disk-space-analyzer.dmg 2 >/dev/null &>1 & |
| 88 | |
| 89 | ### Screenshot |
| 90 | brew install --cask flameshot |
| 91 | brew install --cask kap |
| 92 | brew tap duongductrong/snapzy https://github.com/duongductrong/Snapzy && brew install --cask snapzy |
| 93 | |
| 94 | ### Misc / convenience |
| 95 | brew install lima |
| 96 | brew install ipatool |
| 97 | brew install yt-dlp |
| 98 | brew install jesseduffield/lazygit/lazygit |
| 99 | |
| 100 | ### Menu Bars |
| 101 | brew install --cask hiddenbar |
| 102 | brew install --cask swiftbar |
| 103 | brew install --cask steipete/tap/codexbar |
| 104 | brew install --cask pakerwreah/calendr/calendr |
| 105 | brew install --cask simsim |
| 106 | brew install thaw |
| 107 | |
| 108 | ### Database |
| 109 | brew install --cask sequel-ace |
| 110 | |
| 111 | ## Extra |
| 112 | [vscode xcode] https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line |
| 113 | [storage] https://nektony.com/disk-expert |
| 114 | [cliboard] flycut/cutbox |
| 115 | [editor] textmate coteditor |
| 116 | [vpn] warp 1.1.1.1 |
| 117 | [player] https://github.com/iina/iina/releases/tag/v1.3.0 |
| 118 | [extension] https://github.com/quoid/userscripts |
| 119 | [wiget] https://github.com/leits/MeetingBar |
| 120 | [ci] https://github.com/cirruslabs/tart |
| 121 | [vm] https://github.com/utmapp/UTM |
| 122 | [ipa] https://github.com/majd/ipatool |
| 123 | [xcode] https://github.com/RobotsAndPencils/XcodesApp |
| 124 | [emulator] https://github.com/PlayCover/PlayCover |
| 125 | [annotate, cite, and share research] https://www.zotero.org/ |
| 126 | [terminal] https://iterm2.com/downloads.html |
| 127 | [keyboard] https://github.com/pqrs-org/Karabiner-Elements |
| 128 | [realm] https://studio-releases.realm.io/latest/download/mac-dmg https://github.com/dsmelov/simsim |
| 129 | [sketch] https://github.com/duraki/SketchCrapp |
| 130 | [record] https://github.com/onmyway133/GifCapture/releases/tag/1.1.0 |
| 131 | [note] https://github.com/glushchenko/fsnotes |
| 132 | [convert video2gif] https://github.com/sindresorhus/Gifski |
| 133 | [download manager] https://github.com/agalwood/Motrix/releases |
| 134 | [wallpaper] https://github.com/rlxone/Equinox |
| 135 | [php] https://github.com/nicoverbruggen/phpmon |
| 136 | [firmware] https://github.com/ninxsoft/mist-cli |
| 137 | [xcodeproject] https://github.com/yonaskolb/XcodeGen |
| 138 | [java] https://www.oracle.com/java/technologies/downloads/#jdk19-mac |
| 139 | [automation] https://www.hammerspoon.org/go/ |
| 140 | [video] https://github.com/mltframework/shotcut/releases |
| 141 | [xcode] https://github.com/Serchinastico/Kin |
| 142 | [database] https://github.com/dbeaver/dbeaver/releases |
| 143 | [default app] https://www.rubicode.com/Downloads/RCDefaultApp-2.1.X.dmg |
| 144 | [wasm] https://github.com/WebAssembly/wabt/releases/w |
| 145 | [launchctl] launchcontrol |
| 146 | [file-explorer] https://github.com/sayanarijit/xplr/releases | https://github.com/ranger/ranger | https://github.com/kamiyaa/joshuto | nnn | https://github.com/sxyazi/yazi |
| 147 | [file server] https://github.com/sigoden/dufs # webdav |
| 148 | [localsend] https://localsend.org/#/download # file sharing, airdrop |
| 149 | [teamview] https://github.com/rustdesk/rustdesk/releases # teamviewer alternative |
| 150 | [sql] drawsql.app |
| 151 | [monitor brightness] https://github.com/alin23/Lunar |
| 152 | [export photo library ios] https://github.com/RhetTbull/osxphotos |
| 153 | [music lyric] buzz |
| 154 | [image compressor, blog] caesium image compressor |
| 155 | [vpn] tunelblick |
| 156 | [bloatware] uad-ng-macos |
| 157 | [window manager] https://github.com/MrKai77/Loop/releases/ |
| 158 | [editor] https://zed.dev/download |
| 159 | [software] https://github.com/objective-see/KnockKnock |
| 160 | [server] https://github.com/lollipopkit/flutter_server_box |
| 161 | [network monitor] https://github.com/GyulyVGC/sniffnet |
| 162 | [slideshow] https://github.com/gobbledegook/creevey |
| 163 | [editor]https://github.com/sinelaw/fresh |
| 164 | [window managers] https://www.raycast.com/ | https://github.com/nikitabobko/AeroSpace |
| 165 | [video] https://github.com/HandBrake/HandBrake |
| 166 |
config.md
· 1.7 KiB · Markdown
Raw
## macos
- settings -> keyboard shortuts -> services -> disable searching
- settings -> keyboard shortuts -> mission control -> mission control {swtich to desktop nth}
- settings -> display -> {reduce motion,increase contrast}
- settings -> desktop & dock -> Mission control -> {diable rerrangement,separate spaces}
- settings -> desktop & dock -> Desktop & dock -> {diable animate application,recent apps}
- sudo mdutil -i off / -> disable spotlight indexing
## iterm
- settings -> profiles -> other actions -> import json as profile
- Settings -> Advanced -> Scroll wheel sends arrow keys when in alternate screen mode: FALSE
- Preferences → Profiles → Keys → Keyboard Behavior-> Natural Text Editing
## android studio
- tools -> create commandline launcher
- logcat -> ⚙️ -> modify views
- settings -> keymaps -> version control systems -> git -> Annotate = ctl + shf + b
- build -> build tools -> gradle -> enable parallel gradle model fetching
- Preferences -> Appearance & Behavior -> System Settings -> max
- commit -> ⋮ -> configure local change -> staging area
- commit -> 👁️ -> group by directory
## firefox
- about:preferences#privacy -> Firefox Data Collection and Use -> disable
- about:preferences#privacy -> Custom history -> Uncheck all
## mate
- view -> show file browser -> project folder -> (dropdown) use \* as project folder
- settings -> terminal -> shell support insatll
## vscode
- settings gui -> "search: exclude" -> add "\**/*lock.yaml"
- \> Install 'code' command in PATH" command
## zed
- /> cli: install cli binary
## dbeaver
- window -> show view -> query manager
## tailscale
https://login.tailscale.com/admin/machines -> Disable key expiry (trusted server)
macos
- settings -> keyboard shortuts -> services -> disable searching
- settings -> keyboard shortuts -> mission control -> mission control {swtich to desktop nth}
- settings -> display -> {reduce motion,increase contrast}
- settings -> desktop & dock -> Mission control -> {diable rerrangement,separate spaces}
- settings -> desktop & dock -> Desktop & dock -> {diable animate application,recent apps}
- sudo mdutil -i off / -> disable spotlight indexing
iterm
- settings -> profiles -> other actions -> import json as profile
- Settings -> Advanced -> Scroll wheel sends arrow keys when in alternate screen mode: FALSE
- Preferences → Profiles → Keys → Keyboard Behavior-> Natural Text Editing
android studio
- tools -> create commandline launcher
- logcat -> ⚙️ -> modify views
- settings -> keymaps -> version control systems -> git -> Annotate = ctl + shf + b
- build -> build tools -> gradle -> enable parallel gradle model fetching
- Preferences -> Appearance & Behavior -> System Settings -> max
- commit -> ⋮ -> configure local change -> staging area
- commit -> 👁️ -> group by directory
firefox
- about:preferences#privacy -> Firefox Data Collection and Use -> disable
- about:preferences#privacy -> Custom history -> Uncheck all
mate
- view -> show file browser -> project folder -> (dropdown) use * as project folder
- settings -> terminal -> shell support insatll
vscode
- settings gui -> "search: exclude" -> add "**/*lock.yaml"
- > Install 'code' command in PATH" command
zed
- /> cli: install cli binary
dbeaver
- window -> show view -> query manager
tailscale
https://login.tailscale.com/admin/machines -> Disable key expiry (trusted server)
install.sh
· 1.1 KiB · Bash
Raw
## colors
red() { printf "\033[31m${1}\033[0m\n\n"; }
green() { printf "\033[32m${1}\033[0m\n\n"; }
blue() { printf "\033[38;5;27m${1}\033[0m\n"; }
purple() { printf "\033[35m${1}\033[0m\n\n"; }
## show hidden files
defaults write com.apple.Finder AppleShowAllFiles true
# brew
blue "Installing brew"
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew analytics off
brew bundle install
## zinit
blue "Installing zinit"
bash -c "$(curl --fail --show-error --silent --location https://raw.githubusercontent.com/zdharma-continuum/zinit/HEAD/scripts/install.sh)"
## vim
blue "Installing vim plug"
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
## font
blue "Installing fonts"
echo -e "\xee\x82\xa0"
brew tap homebrew/cask-fonts
brew install --cask font-fira-code
brew install font-hack-nerd-font
echo -e "\xee\x82\xa0"
# xcode
blue "Installing xcode"
xcode-select --install
# sudo part
sudo spctl --master-disable
sudo csrutil disable
# exit
green "Install successfully, enjoy this awsome machine ❤️"
exit
| 1 | ## colors |
| 2 | red() { printf "\033[31m${1}\033[0m\n\n"; } |
| 3 | green() { printf "\033[32m${1}\033[0m\n\n"; } |
| 4 | blue() { printf "\033[38;5;27m${1}\033[0m\n"; } |
| 5 | purple() { printf "\033[35m${1}\033[0m\n\n"; } |
| 6 | |
| 7 | ## show hidden files |
| 8 | defaults write com.apple.Finder AppleShowAllFiles true |
| 9 | |
| 10 | # brew |
| 11 | blue "Installing brew" |
| 12 | bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
| 13 | brew analytics off |
| 14 | brew bundle install |
| 15 | |
| 16 | ## zinit |
| 17 | blue "Installing zinit" |
| 18 | bash -c "$(curl --fail --show-error --silent --location https://raw.githubusercontent.com/zdharma-continuum/zinit/HEAD/scripts/install.sh)" |
| 19 | |
| 20 | ## vim |
| 21 | blue "Installing vim plug" |
| 22 | curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ |
| 23 | https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |
| 24 | |
| 25 | ## font |
| 26 | blue "Installing fonts" |
| 27 | echo -e "\xee\x82\xa0" |
| 28 | brew tap homebrew/cask-fonts |
| 29 | brew install --cask font-fira-code |
| 30 | brew install font-hack-nerd-font |
| 31 | echo -e "\xee\x82\xa0" |
| 32 | |
| 33 | # xcode |
| 34 | blue "Installing xcode" |
| 35 | xcode-select --install |
| 36 | |
| 37 | # sudo part |
| 38 | sudo spctl --master-disable |
| 39 | sudo csrutil disable |
| 40 | |
| 41 | # exit |
| 42 | green "Install successfully, enjoy this awsome machine ❤️" |
| 43 | exit |
| 44 |