Skip to content

My cross-platform, cross-shell configuration files and installation scripts managed with chezmoi

Notifications You must be signed in to change notification settings

patrick-5546/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

My cross-platform, cross-shell configuration files and installation scripts managed with chezmoi:

  • Zsh on Windows 11 WSL 2 Ubuntu 22.04
  • Zsh on MacOS
  • Zsh on Ubuntu 22.04
  • Zsh on Fedora 36
  • Powershell 7 on Windows 11

Highlights

Documentation for my setup can be found on my notes website: Setup.

The files I think are most notable are listed below:

Installation

Zsh on Linux or MacOS

  1. Install prerequisites

    1. git

    2. age

    3. On Linux, xz-utils

    4. On a fresh Ubuntu install, this is how I install the above prerequisites and other packages I uses

      sudo add-apt-repository ppa:neovim-ppa/unstable -y && sudo apt install git age xz-utils curl neovim ruby tmux zsh -y
      
  2. Install chezmoi in ~/.local/bin, pulling and applying the latest changes

    pushd ~
    sh -c "$(curl -fsLS get.chezmoi.io/lb)" -- init --apply patrick-5546
    popd
    
    • To install without encrypted files, add --branch no-encryption to the init command
  3. If desired, manually install software with unique installation instructions

  4. Additional setup for Fedora

    1. Enable RPM Fusion repositories

    2. Install multimedia plugins

    3. Configure dnf (run man dnf.conf to see options and defaults): append the following lines to /etc/dnf/dnf.conf

      max_parallel_downloads=10
      defaultyes=True
      keepcache=True
      

PowerShell 7 on Windows

  1. Install PowerShell 7 from the Microsoft Store

  2. Install git and gsudo using winget in PowerShell

    winget install --exact --id FiloSottile.age --interactive
    winget install --exact --id twpayne.chezmoi --interactive
    winget install --exact --id Git.Git --interactive
    
  3. Clone this repository in PowerShell, pulling and applying the latest changes

    chezmoi init --apply patrick-5546
    
  4. Optional: run run_install-windows.ps1 to match my unix developer experience

    • Prerequisite: winget install --exact --id gerardog.gsudo --interactive
    • Note: I do not run this automatically anymore because I do most of my development through WSL or VS Code. Instead, I now manage the software I want through WingetUI whenever possible