mirror of
				https://github.com/shokinn/.files.git
				synced 2025-11-03 20:18:10 +00:00 
			
		
		
		
	
				
				My dotfiles
				
			
		| bootstrap | ||
| config | ||
| dotfiles | ||
| graphics | ||
| sources/34c3_tuwat_design | ||
| .env.public | ||
| .gitignore | ||
| config.yaml | ||
| LICENSE | ||
| README.md | ||
ShokiNNs dotfiles
I manage my dotfiles using dotdrop.
How to install
Script
Important
Copy ssh public/private key for age, to encrypt/decrypt files to
~/.age/phg-age-dotfilesand~/.age/phg-age-dotfiles.pubOtherwise empty files will be created instead.
[[ ! $(command -v brew) ]] && /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" \
  ; eval "$(/opt/homebrew/bin/brew shellenv)" \
  && brew update \
  && git clone https://github.com/shokinn/.files ~/.files \
  && brew bundle install --file=~/.files/bootstrap/Brewfile \
  && sudo sh -c "echo \"/opt/homebrew/bin/zsh\" >> /etc/shells" \
  && chsh -s /opt/homebrew/bin/zsh \
  && uv tool install --allow-python-downloads --python 3.11 dotdrop \
  && echo "Enter profile name (leave empty for default): " \
  && read DOTDROP_PROFILE \
  && [[ -n ${DOTDROP_PROFILE} ]] && DOTDROP_PROFILE="-p${DOTDROP_PROFILE}" || DOTDROP_PROFILE="" \
  && ~/.local/bin/dotdrop ${DOTDROP_PROFILE} --cfg=~/.files/config.yaml install \
  ; unset DOTDROP_PROFILE \
  && export HOMEBREW_CASK_OPTS="--appdir=${HOME}/Applications" \
  && brew bundle install --file=~/.files/config/brew/Brewfile \
  && mkdir -p ~/workspace/{privat,work} \
  && ${SHELL} -c ~/.files/bootstrap/.macos \
  && ${SHELL}
Manual
- Install Homebrew
 - Install 
age,coreutils,fzf,libmagic,mas,uvandzshvia Homebrew.brew bundle install --file=~/.files/bootstrap/Brewfile - Install 
drotdropviauv(uv tool install --allow-python-downloads --python 3.11 dotdrop). - Copy ssh public/private key for age, to encrypt/decrypt files to 
~/.age/phg-age-dotfilesand~/.age/phg-age-dotfiles.pub - Clone dotfiles, install dependencies for dotdrop and install dotfiles.
git clone https://github.com/shokinn/.files ~/.files \ && ~/.local/bin/dotdrop --cfg=~/.files/config.yaml install - Install my default set of tools:
brew bundle install --file=~/.files/config/brew/Brewfile 
Encrypted files
Initially import a dot file as encrypted file
dotdrop import --transw=_encrypt --transr=_decrypt <file>
Installs/updates will now be automatically decrypted/encrypted.
Decrypt a dotfile manually
age --decrypt -i ~/.age/phg-age-dotfiles -o <ouput paht for decrypted file> <path to encrypted file>
Encrypt a dotfile manually
cat <path to plain file> | age -a -R ~/.age/phg-age-dotfiles.pub > <path to encrypted file>
Edit an encrypted dotfile
- Install age-edit
 
Manual command
Default editor:
age-edit -t /tmp/ -M -a ~/.age/phg-age-dotfiles <path to file to edit>
VS Code as editor:
age-edit -e "${HOME}/.local/bin/codew" -t /tmp/ -M -a ~/.age/phg-age-dotfiles <path to file to edit>
Aliases for file editing
adeuses the default editorcadeuses vs code for editing the file
Both aliases are configured via my .zshrc.
Backup/Restore settings for macOS native user preferences
See here for a defaults documentation: https://macos-defaults.com/
App list
| App | Domain | 
|---|---|
| Alfred | com.runningwithcrayons.Alfred-Preferences | 
| Ice | com.jordanbaird.Ice | 
| Moom | com.manytricks.Moom | 
Backup settings
defaults export <domain> ~/.files/config/plist/<app>.plist
Restore settings
defaults import <domain>  ~/.files/config/plist/<app>.plist
Documentation
Maybe you should take a look to my documentation to understand how I use my dotfiles.
My documentation is currently quite outdated and should not be considered for help.