Skip to content

gaojunran/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛠 dotfiles by gaojunran

This repo contains my dotfiles, managed by chezmoi.

It's opiniated😏, but is well-organized 🚀, so you can copy some of your favourite snippets to your own dotfiles.

How to use 🔨

I will write a blog to explain how this works. The README maybe outdated.

Typically on a brand new macOS / Linux device:

# Install homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install chezmoi nushell
nu # (Log in to nushell)
chezmoi init --apply gaojunran -k
# You'll be asked for a pass phrase. Press Enter to skip.
setup-deps # (Run in nushell, to install all CLI tools)
dotr # (Run in nushell, to refresh the nushell env)

On a new Windows device:

# Run in PowerShell, to install scoop
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
scoop install chezmoi nushell
chezmoi init --apply gaojunran -k
# You'll be asked for a pass phrase. Press Enter to skip.
setup-deps # (Run in nushell, to install all CLI tools)
dotr # (Run in nushell, to refresh the nushell env)

⚠️ My Nushell configs have tried their best to be compatible with Windows, macOS and Linux. However, I assume you have installed many cli tools in advance (see here), otherwise you can't use many custom commands and aliases.

Features

Nushell

In the year 2025, I decided to switch my workflow to nushell. Nearly all my handful tools are nushell-related, stored here.

Moreover, for compatibility consideration, I will not write bash/zsh/powershell/bat scripts in the future. Now I prefer bun/TS scripts to do the job.

I really ❤️ nushell!

Yazi

A TUI file manager, see here.

My keymap: here.

Terminal

For MacOS, I use ghostty as my terminal emulator. It's highly recommended to bind a hotkey cmd+space to launch it.

For Windows, I use Windows Terminal as default.

Keymaps (MacOS)

These keymaps are scattering everywhere, so I simply write them down here.

  • ctrl + space: to launch search-bar in many apps, such as Finder, Arc, VS Code, Intellij Idea...
  • Caps Lock: to toggle quick terminal.
  • cmd + shift + s: Screenshot or Record, by Cleanshot.
  • Keymaps which are managed by Raycast:
    • opt + space: to toggle Raycast.
    • cmd + space: to toggle Terminal (Ghostty).
    • opt + a: Toggle Browser.
    • opt + w: Toggle Wechat.
    • opt + q: Toggle QQ.
    • opt + f: Search for files. (My plugin!)
    • opt + t: Quickly translate.
    • opt + s: Search for snippets.
    • opt + v: Search in clipboard.
    • opt + z: Search for menu items.
    • opt + e: Search for email messages.

IDE Configurations

  • VS Code: My VS Code settings. Extends from antfu's. Focusing on Rust, Python and Web development.

Justfiles

My justfiles are stored here, which are handful language-related recipes for the CLI tool just.

Password Management

As I have Windows & Android devices, it's hard for me to use Apple's keyring.

I choose Bitwarden as my password manager.

I've heard from that VaultWarden is a self-hosted, Rust-based Bitwarden server, and I'll try it in the future.

Word Expansion

I use espanso to expand words. Now it includes:

  • Personal information, such as phone number, name, email, etc.
  • Useful snippets in leetcode in JavaScript.

See detail.

Dependences Setup

My manifests for system dependences are listed below:

Run setup-deps in nushell to install all dependences!

Blog

https://codenebula.netlify.app

LISENSE

MIT. You can do anything with my dotfiles, and it's better if you share them with others.

About

My dotfiles, managed by chezmoi.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published