Thanks to visit codestin.com
Credit goes to github.com

Skip to content

joncrangle/.dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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
  • 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 fzf

MacOS

Windows

  • GlazeWM window manager
  • Zebar bar
  • Microsoft PowerToys for launcher, keyboard shortcuts and various extras
  • Scoop package management

Arch Linux

Warning

Change the git username, email, and ssh keygen email in setup_arch.sh, setup_mac.sh and setup_win.ps1 to your own. Change banner.zsh and the banner in setup_win.ps1 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 Homebrew, chezmoi, and Git.

  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, Wezterm, skhd accessibility permissions in System Preferences -> Security & Privacy -> Accessibility.

  5. Launch the Shortcuts app. Create a shortcut called "playpause" with "Play/Pause" from the "Media" category. This shortcut will be used by the bar for playback control.

πŸͺŸ 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 Unrestricted -Scope CurrentUser
  1. The Windows setup process will begin by trying to install PowerShell, Windows Terminal and PowerToys.

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

  3. After you authenticate with GitHub, it will install the dotfiles, configure PowerShell, and install apps.

Tip

Some useful PowerToys settings that can be configured:

  1. File Explorer add-ons for previews
  2. Enable Keyboard Manager and remap Ctrl + F to F4 within outlook Remap Ctrl + Shift + O and Ctrl + Shift + M to camera and microphone toggle buttons in ms-teams Remap Down and Up to Ctrl + N and Ctrl + P for powertoys.powerlauncher
  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)

Within Taskbar Settings, automatically hide the taskbar in Desktop mode.

πŸ“± 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/install_termux.sh)
  1. Import Neovim config.

🐧 Arch Linux

Warning

This Arch Linux portion is currently unmaintained. An update would include either configuring HyperPanel or Quickshell to replace the previously used Ags v1 config.

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:

nmcli device wifi list
nmcli device wifi connect SSID password PASSWORD
sh <(curl -s https://raw.githubusercontent.com/joncrangle/.dotfiles/main/setup_arch.sh)

Tip

KDE Plasma and Hyprland configs can clash. A workaround is to initiate sessions with different XDG_CONFIG_HOME variables.

This script uses the .kdeconfig directory for KDE Plasma, and the .config directory for Hyprland.

Requires sudo permissions

  1. Create a launch.sh script in /usr/share/wayland-sessions and make it executable with chmod +x launch.sh:
#!/bin/sh
if [ -z "$1" ]; then
     echo "Usage: $0 <config_directory> <command>"
     exit 1
fi

export XDG_CONFIG_HOME="$HOME/$1"

shift

exec "$@"
  1. Edit plasma.desktop in /usr/share/wayland-sessions:
# Comment out existing Exec and TryExec lines and add:
Exec=/usr/share/wayland-sessions/launch.sh .kdeconfig /usr/lib/plasma-dbus-run-session-if-needed /usr/bin/startplasma-wayland
  1. Edit hyprland.desktop in /usr/share/wayland-sessions:
# Comment out existing Exec line and add:
Exec=/usr/share/wayland-sessions/launch.sh .config Hyprland

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

Watchers

Forks

Releases

No releases published

Contributors 2

  •  
  •