Skip to content

djgoku/dot-files

Repository files navigation

dot-files

Overview

Personal development environment for macOS using mise for tool/task management and Nix for packages. Features a custom Emacs build with native compilation.

Quick Start

Prerequisites: macOS, Xcode CLI tools (xcode-select --install).

curl -fsSL https://raw.githubusercontent.com/djgoku/dot-files/main/setup.sh | zsh

Or clone and run locally:

mkdir -p ~/dev/github/djgoku && cd "$_"
git clone https://github.com/djgoku/dot-files.git
cd dot-files && ./setup.sh

After setup, activate mise and install tools:

eval "$(~/.local/bin/mise activate zsh)"
mise install

Project Structure

.
├── setup.sh                # Idempotent bootstrap script
├── mise.toml               # Tools and inline task definitions
├── mise-tasks/             # File-based mise tasks
├── emacs/
│   ├── init.el             # Emacs init
│   ├── main.el             # Main configuration
│   ├── early-init.el
│   └── emacs-env/          # Environment selector
├── emacs-overlay/          # Custom Emacs Nix build overlay
├── macos/
│   └── com.apple.Terminal.plist
├── zsh/                    # Shell configuration
└── flake.nix               # Nix flake

Tasks

All tools and tasks are managed through mise. See mise tasks for the full list.

TaskDescription
mise run emacsLaunch Emacs (--nw for terminal mode)
mise run setup-gpg-agentGenerate ~/.gnupg/gpg-agent.conf
mise run install-enchantInstall enchant spell-checking libraries
mise run generate-macos-appCreate MiseEmacs.app in /Applications

Testing

Run the full bootstrap and Emacs smoke tests in a single command (useful for CI or validating on a fresh machine):

zsh <<'SCRIPT'
  export MISE_TASK_SKIP="setup:treesitter,setup:texlive"
  curl -fsSL "https://raw.githubusercontent.com/djgoku/dot-files/main/setup.sh" |
    MISE_VERSION=v2026.2.10 zsh
  source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
  source ~/.zshrc
  mise -C ~/dev/github/djgoku/dot-files run test-emacs
SCRIPT

To test a feature branch, set REPO_BRANCH:

zsh <<'SCRIPT'
  export MISE_TASK_SKIP="setup:treesitter,setup:texlive"
  BRANCH="chore/switch-completely-to-mise"
  curl -fsSL "https://raw.githubusercontent.com/djgoku/dot-files/${BRANCH}/setup.sh" |
    REPO_BRANCH="$BRANCH" MISE_VERSION=v2026.2.10 zsh
  source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
  source ~/.zshrc
  mise -C ~/dev/github/djgoku/dot-files run test-emacs
SCRIPT

Troubleshooting

mise doctor

Links

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors