# Guany's Home > Personal home with projects, docs, and uses > Author: Guany > Source: https://guany.me > License: MIT > Updated: 2026-04-03 > Full text of all content below ## Docs --- # docs Guany's Documentation --- # macos MacOS ## Configure Proxy ```sh export https_proxy="http://127.0.0.1:7890" export http_proxy="http://127.0.0.1:7890" export all_proxy="socks5://127.0.0.1:7890" ``` ## Show Hidden Files ```sh defaults write com.apple.finder AppleShowAllFiles -bool true; killall Finder ``` ## Reset Launchpad ```sh rm -rf /private$(getconf DARWIN_USER_DIR)com.apple.dock.launchpad; killall Dock ``` ## Reset Desktop and Dock Configuration ```sh defaults delete com.apple.notificationcenterui killall NotificationCenter ``` --- # linux Linux ## Configure Proxy ```sh export https_proxy="http://127.0.0.1:7890" export http_proxy="http://127.0.0.1:7890" export all_proxy="socks5://127.0.0.1:7891" ``` --- # ubuntu Ubuntu ## Configure Alibaba Cloud Mirror ### Back Up Configuration File ```sh sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bak ``` ### Alibaba Cloud Public Mirror ```sh sudo sed -i "s@http://.*archive.ubuntu.com@https://mirrors.aliyun.com@g" /etc/apt/sources.list sudo sed -i "s@http://.*security.ubuntu.com@https://mirrors.aliyun.com@g" /etc/apt/sources.list ``` ### Alibaba Cloud ECS VPC Mirror ```sh sudo sed -i "s@http://.*archive.ubuntu.com@http://mirrors.cloud.aliyuncs.com@g" /etc/apt/sources.list sudo sed -i "s@http://.*security.ubuntu.com@http://mirrors.cloud.aliyuncs.com@g" /etc/apt/sources.list ``` --- # windows Windows ## Configure Proxy ```powershell [System.Environment]::SetEnvironmentVariable("http_proxy", "http://127.0.0.1:7890", "User") [System.Environment]::SetEnvironmentVariable("https_proxy", "http://127.0.0.1:7890", "User") ``` --- # wsl WSL ## Configure Proxy ```sh export hostip=$(cat /etc/resolv.conf | grep -oP '(?<=nameserver\ ).*') export http_proxy="http://$hostip:7890" export https_proxy="http://$hostip:7890" ``` --- # zsh Zsh ## Installation ```sh sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" ``` ```sh cd ~/.oh-my-zsh/plugins ``` ```sh gcl https://github.com/zsh-users/zsh-autosuggestions.git ``` ```sh gcl https://github.com/zsh-users/zsh-syntax-highlighting.git ``` ```sh gcl https://github.com/agkozak/zsh-z.git ``` ```sh cd ~ ``` ```sh curl -sS https://starship.rs/install.sh | sh ``` ## Usage ```sh plugins=( git command-not-found zsh-autosuggestions zsh-syntax-highlighting zsh-z ) ``` ```sh eval "$(starship init zsh)" ``` ```sh function i() { cd ~/i/$1 } ``` ## config [⚙︎ Guany config](https://github.com/tlyboy/config) --- # powershell PowerShell ## Installation ```powershell Install-Module posh-git -Scope CurrentUser ``` ```powershell Install-Module git-aliases -Scope CurrentUser -AllowClobber ``` ```powershell Install-Module z -AllowClobber ``` ```powershell winget install --id Starship.Starship ``` ```powershell winget install gerardog.gsudo ``` ## Usage ```powershell Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete ``` ```powershell Import-Module posh-git Import-Module git-aliases -DisableNameChecking Import-Module z ``` ```powershell Invoke-Expression (&starship init powershell) ``` ```powershell Set-Alias -Name la -Value Get-ChildItem ``` ```powershell function i { param ( [string]$DirectoryName ) Set-Location -Path "$HOME\i\$DirectoryName" } ``` ## powershell-profile [⚙︎ Guany Powershell profile](https://github.com/tlyboy/powershell-profile/) --- # Ghostty Ghostty terminal emulator ## Settings Config file location: `~/Library/Application Support/com.mitchellh.ghostty/config.ghostty` ```ini font-family = "FiraCode Nerd Font" font-family-bold = "FiraCode Nerd Font" font-family-italic = "FiraCode Nerd Font" font-family-bold-italic = "FiraCode Nerd Font" font-size = 16 font-feature = calt font-feature = liga theme = light:vitesse-light,dark:vitesse-dark custom-shader = ~/.config/ghostty/shaders/cursor_warp.glsl custom-shader = ~/.config/ghostty/shaders/ripple_cursor.glsl custom-shader-animation = always ``` ## Theme Install [vitesse-ghostty-theme](https://github.com/hamlim/vitesse-ghostty-theme): ```sh git clone https://github.com/hamlim/vitesse-ghostty-theme.git ~/.config/ghostty/themes ``` ## Shader Install [ghostty-cursor-shaders](https://github.com/sahaj-b/ghostty-cursor-shaders): ```sh git clone https://github.com/sahaj-b/ghostty-cursor-shaders.git ~/.config/ghostty/shaders ``` ## Reset Window Size Delete the window position cache from plist, then restart Ghostty: ```sh defaults delete com.mitchellh.ghostty NSWindowLastPosition ``` ## SSH Terminfo Fix `'xterm-ghostty': unknown terminal type.` on remote servers: ```sh infocmp xterm-ghostty | ssh user@host 'tic -x -' ``` --- # warp Warp ## Theme [warp-theme-vitesse](https://github.com/HiDeoo/warp-theme-vitesse) **macOS** ```sh mkdir -p $HOME/.warp/themes git clone https://github.com/HiDeoo/warp-theme-vitesse.git /tmp/warp-theme-vitesse cp /tmp/warp-theme-vitesse/*.yaml $HOME/.warp/themes/ ``` **Windows** ```powershell New-Item -Path "$env:APPDATA\warp\Warp\data\themes" -ItemType Directory -Force git clone https://github.com/HiDeoo/warp-theme-vitesse.git "$env:TEMP\warp-theme-vitesse" Copy-Item "$env:TEMP\warp-theme-vitesse\*.yaml" "$env:APPDATA\warp\Warp\data\themes\" ``` ## Reset Command History **macOS** ```sh rm -r "$HOME/Library/Group Containers/2BBY89MBSN.dev.warp/Library/Application Support/dev.warp.Warp-Stable/warp.sqlite" ``` **Windows** ```powershell Remove-Item "$env:LOCALAPPDATA\warp\Warp\data\warp.sqlite" ``` --- # windows-terminal Windows Terminal ## profiles.defaults ```json { "bellStyle": "none", "colorScheme": "Vitesse Dark", "font": { "face": "FiraCode Nerd Font" } } ``` ## profiles.list ```json [ { "commandline": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoLogo" } ] ``` ## schemes ```json { "background": "#121212", "black": "#393A34", "blue": "#6394BF", "brightBlack": "#777777", "brightBlue": "#6394BF", "brightCyan": "#5EAAB5", "brightGreen": "#4D9375", "brightPurple": "#D9739F", "brightRed": "#CB7676", "brightWhite": "#FFFFFF", "brightYellow": "#E6CC77", "cursorColor": "#CDC9BD", "cyan": "#5EAAB5", "foreground": "#CDCABE", "green": "#4D9375", "name": "Vitesse Dark", "purple": "#D9739F", "red": "#CB7676", "selectionBackground": "#252525", "white": "#CDCABE", "yellow": "#E6CC77" } ``` --- # vscode VS Code ## settings.json ```json { "claudeCode.useTerminal": true, "editor.cursorSmoothCaretAnimation": "on", "editor.fontFamily": "'FiraCode Nerd Font', 'Fira Code', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace", "editor.fontLigatures": true, "editor.fontSize": 16, "editor.gotoLocation.multipleDefinitions": "goto", "editor.guides.bracketPairs": "active", "editor.smoothScrolling": true, "extensions.ignoreRecommendations": true, "files.readonlyInclude": { "**/.cargo/git/checkouts/**/*.rs": true, "**/.cargo/registry/src/**/*.rs": true, "**/lib/rustlib/src/rust/library/**/*.rs": true }, "files.simpleDialog.enable": true, "git.openRepositoryInParentFolders": "always", "github.gitProtocol": "ssh", "gitlens.ai.model": "vscode", "gitlens.ai.vscode.model": "copilot:gpt-4.1", "gitlens.graph.layout": "editor", "i18n-ally.displayLanguage": "zn", "liveServer.settings.donotShowInfoMsg": true, "rust-analyzer.checkOnSave": false, "security.workspace.trust.enabled": false, "terminal.integrated.cursorBlinking": true, "terminal.integrated.cursorStyle": "line", "terminal.integrated.fontSize": 16, "terminal.integrated.smoothScrolling": true, "typescript.experimental.useTsgo": true, "where-am-i.colorful": false, "window.autoDetectColorScheme": true, "window.dialogStyle": "custom", "window.nativeTabs": true, "workbench.activityBar.orientation": "vertical", "workbench.colorTheme": "Vitesse Dark", "workbench.iconTheme": "file-icons", "workbench.list.smoothScrolling": true, "workbench.preferredDarkColorTheme": "Vitesse Dark", "workbench.preferredLightColorTheme": "Vitesse Light", "workbench.productIconTheme": "icons-carbon", "workbench.startupEditor": "none" } ``` ## vscode-profile [⚙︎ Guany VS Code profile](https://github.com/tlyboy/vscode-profile/) --- # git Git ## Disable Automatic CRLF Line Ending Conversion ```sh git config --global core.autocrlf false ``` ## Configure credential helper ### WSL ```sh git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager.exe" ``` ### Linux ```sh git config --global credential.helper store ``` ## Set Default Branch to main ```sh git config --global init.defaultBranch main ``` ## Configure User Name and Email ```sh git config --global user.name "Your Name" ``` ```sh git config --global user.email "youremail@domain.com" ``` ## Configure lfs ```sh git lfs install ``` ## config [⚙︎ Guany Git config](https://github.com/tlyboy/config/blob/main/.gitconfig) --- # ssh SSH ## Generate a New SSH Key ```sh ssh-keygen -t ed25519 -C "your_email@example.com" ``` ## View SSH Key ### macOS / Linux ```sh cat ~/.ssh/id_ed25519.pub ``` ### Windows (PowerShell) ```powershell cat $HOME\.ssh\id_ed25519.pub ``` ## Configure GitHub to Use SSH over the HTTPS Port ``` Host github.com HostName ssh.github.com Port 443 User git ``` ## Test SSH Connection ```sh ssh -T git@github.com ``` ## Configure Proxy ``` ProxyCommand nc -X 5 -x 127.0.0.1:7890 %h %p ``` ## SSH Agent Key Management ### Start ssh-agent Service on Windows On Windows, you need to start the ssh-agent service before using it: ```powershell Set-Service -Name ssh-agent -StartupType Automatic Start-Service ssh-agent ``` ### Add Key to SSH Agent macOS / Linux: ```sh ssh-add ~/.ssh/id_ed25519 ``` Windows (PowerShell): ```powershell ssh-add $HOME\.ssh\id_ed25519 ``` ### List Added Keys ```sh ssh-add -l ``` ### Remove Key from SSH Agent Remove a specific key: macOS / Linux: ```sh ssh-add -d ~/.ssh/id_ed25519 ``` Windows (PowerShell): ```powershell ssh-add -d $HOME\.ssh\id_ed25519 ``` Remove all keys: ```sh ssh-add -D ``` --- # docker Docker ## Set Up Docker's apt Repository ### Official ```sh # Add Docker's official GPG key: sudo apt update sudo apt install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: sudo tee /etc/apt/sources.list.d/docker.sources </dev/null || command codex ${=base_args} "$@" } ``` **PowerShell** ```powershell function codex { $baseArgs = @("--dangerously-bypass-approvals-and-sandbox") $codexPath = (Get-Command codex -CommandType Application).Source & $codexPath @baseArgs resume --last @args 2>$null if ($LASTEXITCODE -ne 0) { & $codexPath @baseArgs @args } } ``` --- # claude-code Claude Code ## Settings Config file location: - macOS / Linux: `~/.claude/settings.json` - Windows: `$HOME\.claude\settings.json` ```json { "attribution": { "commit": "", "pr": "" }, "skipDangerousModePermissionPrompt": true } ``` ## MCP Servers Config file location: `~/.claude.json` ```json { "mcpServers": { "codex": { "command": "codex", "args": ["mcp-server"] }, "context7": { "type": "stdio", "command": "npx", "args": ["-y", "@upstash/context7-mcp"] }, "shadcn": { "type": "stdio", "command": "npx", "args": ["shadcn@latest", "mcp"] } } } ``` ## Command ```sh # Continue the last conversation claude -c # Skip permission confirmation claude --dangerously-skip-permissions ``` ### Shell Function Try to continue the last conversation first; if it fails, start a new one: **Zsh** ```zsh claude() { local base_args="--allow-dangerously-skip-permissions --permission-mode plan" command claude ${=base_args} -c "$@" 2>/dev/null || command claude ${=base_args} "$@" } ``` **PowerShell** ```powershell function claude { $baseArgs = @("--allow-dangerously-skip-permissions", "--permission-mode", "plan") $claudePath = (Get-Command claude -CommandType Application).Source & $claudePath @baseArgs -c @args 2>$null if ($LASTEXITCODE -ne 0) { & $claudePath @baseArgs @args } } ``` --- # fastfetch Fastfetch is a neofetch-like system information fetching tool, but much faster. ## Installation ### macOS (Homebrew) ```sh brew install fastfetch ``` ### Windows (winget) ```sh winget install fastfetch ``` ### Ubuntu (PPA) ```sh # Add the Fastfetch PPA sudo add-apt-repository ppa:zhangsongcui3371/fastfetch # Update the package list sudo apt update # Install Fastfetch sudo apt install fastfetch ``` ## Usage ```sh fastfetch ``` --- # Raycast An efficient launcher and productivity tool. ## Extension - [MyIP](https://www.raycast.com/Kang/myip) - View your local IP address. - [Brew](https://www.raycast.com/nhojb/brew) - Search and install Homebrew packages. - [Kill Process](https://www.raycast.com/rolandleth/kill-process) - Quickly terminate processes. --- # ZeroTier ZeroTier command-line guide. ## Uninstallation ### macOS ```sh sudo "/Library/Application Support/ZeroTier/One/uninstall.sh" ``` Remove user configuration (reset settings): ```sh rm -rf ~/Library/Application\ Support/ZeroTier ``` ## Common Commands ### Join a Network ```sh sudo zerotier-cli join ``` ### Leave a Network ```sh sudo zerotier-cli leave ``` ### Check Status ```sh sudo zerotier-cli status ``` ### List Joined Networks ```sh sudo zerotier-cli listnetworks ``` ### List Peers ```sh sudo zerotier-cli listpeers ``` ## Configure Moon Join a Moon: ```sh sudo zerotier-cli orbit ``` Leave a Moon: ```sh sudo zerotier-cli deorbit ``` --- # ollama Ollama CORS & LAN Access ## Environment Variables | Variable | Purpose | Default | | ---------------- | -------------------- | ---------------------- | | `OLLAMA_HOST` | Bind address | `127.0.0.1:11434` | | `OLLAMA_ORIGINS` | Allowed CORS origins | `127.0.0.1`, `0.0.0.0` | Set `OLLAMA_HOST=0.0.0.0:11434` to allow LAN access, and `OLLAMA_ORIGINS=*` to allow all cross-origin requests. ## macOS Ollama runs as a GUI app managed by `launchd`. Environment variables in `~/.zshrc` do **not** affect it. ### Set Environment Variables ```sh launchctl setenv OLLAMA_HOST "0.0.0.0:11434" launchctl setenv OLLAMA_ORIGINS "*" ``` Then quit and relaunch Ollama from the menu bar. > Note: `launchctl setenv` does not persist across reboots. To persist, run `ollama serve` manually or create a LaunchAgent plist. ### Verify ```sh curl http://localhost:11434/api/version ``` ## Windows ### Set Environment Variables ```powershell [System.Environment]::SetEnvironmentVariable("OLLAMA_HOST", "0.0.0.0:11434", "User") [System.Environment]::SetEnvironmentVariable("OLLAMA_ORIGINS", "*", "User") ``` Then quit and relaunch Ollama from the Start menu. ### Firewall ```powershell New-NetFirewallRule -DisplayName "Ollama API" -Direction Inbound -Protocol TCP -LocalPort 11434 -Action Allow ``` ### Verify ```powershell curl http://127.0.0.1:11434/api/version ``` ## Linux Ollama runs as a systemd service. Use `systemctl edit` to configure environment variables. ### Set Environment Variables ```sh sudo systemctl edit ollama.service ``` Add the following content: ```ini [Service] Environment="OLLAMA_HOST=0.0.0.0:11434" Environment="OLLAMA_ORIGINS=*" ``` Then reload and restart: ```sh sudo systemctl daemon-reload sudo systemctl restart ollama ``` ### Firewall ```sh # UFW sudo ufw allow 11434/tcp # firewalld sudo firewall-cmd --permanent --add-port=11434/tcp sudo firewall-cmd --reload ``` ### Verify ```sh curl http://localhost:11434/api/version ``` ## OLLAMA_ORIGINS | Value | Description | | ----------------------------------------- | --------------------- | | `*` | Allow all origins | | `http://localhost:3000` | Allow specific origin | | `http://localhost:3000,https://myapp.com` | Multiple origins | ## Projects --- ## home ▲ Guany's home - Repo: https://github.com/guanyme/home - Homepage: https://guany.me/ - Language: TypeScript - Stars: 1 ### README # home ▲ Guany's home | Category | Stack | | --------- | ----------------------------------------- | | Framework | Next.js 16 (App Router) | | UI | shadcn/ui + Tailwind CSS 4 | | Content | Streamdown | | I18n | next-intl | | Config | [Co](https://co.tlyboy.com) config center | ## Install ```bash pnpm install cp .env.example .env.local ``` ### Environment Variables | Variable | Required | Description | | -------------- | -------- | ----------------------------------------------- | | `SITE_URL` | No | Public site URL used for sitemap and metadata | | `GITHUB_TOKEN` | Yes | GitHub personal access token | | `CO_API` | No | Co config center API for Hero background config | | `TO_API_URL` | No | to short link service API base URL | | `TO_API_KEY` | No | to API key for external link tracking | ## Usage ### Development ```bash pnpm dev ``` ### Build ```bash pnpm build ``` ### Hero Background Config Hero background is managed via [Co](https://co.tlyboy.com) config center (`home/ui/hero`). Falls back to Bing daily wallpaper if not configured. ```json { "hero": { "mode": "bing" } } ``` ```json { "hero": { "mode": "custom", "custom": { "url": "https://example.com/image.jpg", "position": "center" } } } ``` | Field | Description | | ---------------------- | --------------------------------------------------- | | `hero.mode` | `"bing"` or `"custom"` | | `hero.custom.url` | Absolute image URL | | `hero.custom.position` | CSS `background-position` value, default `"center"` | ### External Link Tracking When `TO_API_URL` and `TO_API_KEY` are set, external links in articles are redirected through the to short link service for click tracking. Falls back to direct link if not configured. ## License [MIT](https://opensource.org/licenses/MIT) © Guany --- ## skills 🛠️ Guany's skills - Repo: https://github.com/guanyme/skills - Stars: 1 ### README # skills 🛠️ Guany's skills ## Install ```bash npx skills add tlyboy/skills ``` ## Usage | Skill | Description | | -------------- | ----------------------------------------------------------- | | tlyboy-profile | Personal preferences, toolchain, and coding conventions | | tlyboy-starter | Initialize and scaffold new projects from starter templates | | convention | Project conventions and documentation standards | ## License [MIT](https://opensource.org/licenses/MIT) © Guany --- ## powershell-profile ⚙︎ Guany's PowerShell profile - Repo: https://github.com/guanyme/powershell-profile - Language: PowerShell - Stars: 1 ### README # powershell-profile ⚙︎ Guany's PowerShell profile --- ## vscode-profile ⚙︎ Guany's VS Code profile - Repo: https://github.com/guanyme/vscode-profile - Stars: 1 ### README # vscode-profile ⚙︎ Guany's VS Code profile --- ## config ⚙︎ Guany's config - Repo: https://github.com/guanyme/config - Language: Shell - Stars: 2 ### README # config ⚙︎ Guany's config ## Uses --- # Things I Use ## Hardware - Desktop: AMD Ryzen 7 9800X3D + NVIDIA GeForce RTX 5080 16GB + 32GB DDR5 + 1TB + 4TB - Laptop: MacBook Pro 16-inch (2023) M3 Max 128GB 1TB Space Black / ~~Mechrevo Deep Sea Ghost Z2-R (i7-9750H / RTX 2060 / 32GB / 1TB)~~ - Phone: iPhone 17 Pro Max 2TB Silver / ~~iPhone 15 Pro Max 256GB Black~~ / ~~iPhone SE (2nd Gen) 128GB Silver~~ / ~~iPhone 7 Jet Black~~ / ~~iPhone 6s Silver~~ - Keyboard: Keychron Q6 Max Carbon Black Hot-swappable Red Switches Knob Edition / ~~Dareu EK925 Waterproof Edition Black Red Switches~~ - Mouse: Logitech G PRO X SUPERLIGHT 2 DEX (GPW4 Hawkeye) / ~~Logitech G PRO X SUPERLIGHT~~ / ~~Logitech G502 HERO~~ - Controller: DualSense Wireless Controller White - Monitor: AOC U27G3X 27-inch 4K 160Hz - Headphones: AirPods Pro (2nd Gen) Lightning Charging Case / ~~Audio-Technica ATH-SR30BT Honkai Impact 3rd x Yae Sakura Collab Edition~~ - Speaker: Edifier HECATE G1500 BAR