Skip to content

andersmurphy/.emacs.d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

.emacs.d

"This, milord, is my family's emacs. We have owned it for almost nine hundred years, see. Of course, sometimes it needed a new major-mode. And sometimes it has required a new key binding, new designs on the modeline, a little refreshing of the theme . . . but is this not the nine hundred-year-old emacs of my family? And because it has changed gently over time, it is still a pretty good emacs, y'know. Pretty good."

OSX setup script

### OSX settings ###
defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder
defaults write -g ApplePressAndHoldEnabled -bool true
defaults write com.apple.dock autohide -bool true

### XCODE ###
# We reset the path to prevent:
#
# xcrun: error: active developer path ("/Applications/Xcode.app/Contents/Developer") does not exist
#
# Which seems to happen if you are installing a new version of xcode.
xcode-select --install
wait
sudo xcode-select --reset

# To make homebrew work properly you need to fix ruby script permissions.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew analytics off
wait
brew update
wait

### GIT ###
brew install git
wait

### Download .emacs.d
git clone https://github.com/andersmurphy/.emacs.d.git
wait

# User
git config --global user.name "andersmurphy"
git config --global user.email "andersmurphy@gmail.com"
git config --global core.editor 'nano'
git config --global pull.rebase true
git config --global fetch.prune true
git config --global color.ui true
# Better dif alogorithm
git config --global diff.algorithm histogram
# Transparent encrypted diffs
git config --global diff.gpg.textconv "gpg --no-tty --decrypt"
# Credentials - we want to handle these ourselves
git config --local --unset credential.helper
git config --global --unset credential.helper
git config --system --unset credential.helper
# Specify username on all repositories
git config --global \
    url.https://andersmurphy@github.com.insteadOf \
    https://github.com
# Set up gitignore
rm ~/.gitignore
ln -s ~/.emacs.d/setup/dotfiles/.gitignore ~/.gitignore
git config --global core.excludesfile '~/.gitignore'

### Download .emacs.d
git clone https://github.com/andersmurphy/.emacs.d.git

### EMACS (build from source) ###
brew install libxml2 gcc libgccjit tree-sitter jansson pkg-config gnutls textinfo autoconf
wait
# We clone just the tag for a smaller download
git clone --depth 1 --branch emacs-29.3 https://git.savannah.gnu.org/git/emacs.git
wait
cd emacs
git checkout emacs-29.3
./autogen.sh
./configure --with-cairo --with-native-compilation
make -j$(nproc)
wait
make clean install
wait
mv nextStep/Emacs.app /Applications
cd

# spelling
brew install aspell
wait

# Music
brew install mpv
wait
rm ~/.config/mpv/mpv.conf
ln -s ~/.emacs.d/setup/dotfiles/.mpv/mpv.conf ~/.config/mpv/

# Conversion between json and edn.
brew install borkdude/brew/jet
wait

# Encryption
brew install gnupg
wait

# Fast grep
brew install ripgrep
wait

# Font
brew install --cask font-fira-code
wait

# github cli (pull requests, approve etc)
brew install gh
wait

### Babashka ###
brew install borkdude/brew/babashka
wait

### Java ###
brew install openjdk
wait

### Clojure ###
brew install clojure/tools/clojure
wait
rm ~/.clojure/deps.edn
rm ~/.clojure/user.cljc
ln -s ~/.emacs.d/setup/dotfiles/.clojure/deps.edn ~/.clojure/
ln -s ~/.emacs.d/setup/dotfiles/.clojure/user.cljc ~/.clojure/

brew install leiningen
wait
rm ~/.lein/profiles.clj
ln -s ~/.emacs.d/setup/dotfiles/.lein/profiles.clj ~/.lein/

brew install clojure-lsp/brew/clojure-lsp-native
rm -r ~/.clj-kondo
mkdir ~/.clj-kondo
ln -s ~/.emacs.d/setup/dotfiles/.clj-kondo/config.edn ~/.clj-kondo/

### Node ###
brew install node
wait

### NBB (node babashka) ###
npm install nbb -g

### solana ###
# homebrew version doesn't come with a test validator
sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"
echo 'export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"' >> ~/.zshrc
wait

### Go ###
brew install go
wait
echo 'export PATH="$PATH:$(go env GOPATH)/bin"' >> ~/.zshrc

# passphrase2pgp
go install nullprogram.com/x/passphrase2pgp@latest
wait

About

My Emacs config.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published