Skip to content
joncranglePublic

About

Dotfiles and install scripts for configuration

Topics

Resources

Stars

8 stars

Watchers

1 watching

Forks

Latest commit

 

History

1,467 Commits

Folders and files

Repository files navigation

.dotfiles

Terminal Mac Desktop Windows Desktop Termux Linux Desktop

📘 Overview

This .dotfiles repository contains my macOS, Arch Linux and Windows system configurations.

Features include:

Common

  • Catppuccin theme
  • chezmoi to manage dotfiles across systems
  • mise for managing dev tools, runtimes (Node, Python, Go, Rust), and environment variables
  • Neovim a cross-platform editor
  • Starship prompt
  • WezTerm a cross-platform terminal emulator
  • Yazi terminal file manager.
  • A configured zsh shell for macOS and Linux, and PowerShell for Windows with autocompletion, history, and syntax highlighting
  • Fuzzy finding with skim, or fzf

MacOS

Windows

Arch Linux

  • Hyprland window manager
  • Noctalia Shell for bar, lock screen, control center, notifications, and screen recorder
  • Vicinae launcher
  • Paru AUR helper (package management)

Warning

Change the git username and email in setup_arch.sh, setup_mac.sh and setup_win.ps1 to your own. The ssh keygen email is derived from the git email. Change banner.zsh, the banner in setup_win.ps1, and the banners at the top of setup_mac.sh and setup_arch.sh to your own banner image. If you have existing ssh keys, ensure to copy them to the $HOME/.ssh directory.

Important

Move key.txt encryption key to the $HOME/.config directory to decrypt encrypted files.

🍎 MacOS

  1. Remove mission control shortcuts. Open System Settings -> Keyboard -> Keyboard Shortcuts. Disable the Mission Control shortcuts, including ⌘ + # to switch between workspaces.

  2. Open System Settings -> Privacy & Security -> Accessibility. Click the + button at the bottom left of the list view and enter your password to allow changes to the list.

  3. Give Terminal full disk access through Security & Privacy -> Privacy -> Full Disk Access.

  4. Download and run the setup_mac.sh shell script.

curl -L https://raw.githubusercontent.com/joncrangle/.dotfiles/main/setup_mac.sh | sh

Tip

If needed, make the script executable with

chmod +x setup_mac.sh
  1. The macOS setup process will begin by installing the Xcode Command Line Tools. If they are missing it starts the install and exits, so run the script again afterwards. It then installs Homebrew, and chezmoi via mise. Git comes with the Xcode Command Line Tools.

  2. Setup will walk you through authenticating with Github. It will then install the dotfiles and apps.

  3. Give WezTerm full disk access through Security & Privacy -> Privacy -> Full Disk Access. Hide the menu bar in System Settings -> Control Center -> Automatically hide and show the menu bar -> Always.

  4. Give Aerospace and Wezterm accessibility permissions in System Settings -> Privacy & Security -> Accessibility.

🪟 Windows

  1. Download and run the setup_win.ps1 PowerShell script.
iwr -useb https://raw.githubusercontent.com/joncrangle/.dotfiles/main/setup_win.ps1 | iex

Tip

You might need to change the execution policy to RemoteSigned before running the script.

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  1. The Windows setup process will begin by trying to install PowerShell, Windows Terminal, PowerToys and Raycast.

  2. Setup will then proceed to install Scoop, Git, and chezmoi via mise, and terminal apps.

  3. It will install the dotfiles, configure PowerShell and install apps, then walk you through authenticating with GitHub.

Tip

Some useful PowerToys settings that can be configured:

  1. File Explorer add-ons for previews
  2. Enable Keyboard Manager. The remaps are already configured in AppData/Local/Microsoft/PowerToys/Keyboard Manager/default.json: Ctrl + F sends F4 within olk (Outlook) Ctrl + A toggles the microphone and Ctrl + V toggles the camera within ms-teams Down and Up send Ctrl + N and Ctrl + P for powertoys.powerlauncher Win + G sends the play/pause media key globally
  3. Enable Paste as Plain Text
  4. Enable PowerToys Command Palette (optional)
  5. Enable Quick Accent for a desired language (e.g. French or Spanish)

WinUtilTweaks.ps1 sets several registry tweaks on install, including showing file extensions, dark mode, NumLock on start, disabling the Game Bar, and disabling PowerShell telemetry. See Show-AvailableFunctions in that script for the full list.

📱 Termux (Android)

  1. Install Termux using F-Droid. Also install Termux:API and Termux:Styling.
  2. Open Termux and run:
pkg update && pkg upgrade -y
pkg install -y curl
bash <(curl -fsSL https://raw.githubusercontent.com/joncrangle/.dotfiles/main/setup_termux.sh)
  1. Import Neovim config.

🐧 Arch Linux

Install Arch using archinstall with a Minimal profile. To connect to wifi, use iwctl:

iwctl
device list
station wlan0 scan
station wlan0 get-networks
station wlan0 connect SSID
exit
archinstall

Once installed, connect to wifi and run the setup script:

sh <(curl -s https://raw.githubusercontent.com/joncrangle/.dotfiles/main/setup_arch.sh)

Paru commands

Install a package

paru -S <package>

Clean package cache

paru -Scd

Remove orphaned packages

paru -Qdtq | paru -Rns

🧭 Keymapping

See Keymapping.

About

Dotfiles and install scripts for configuration

Topics

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages