First Configuration

After installation, you'll have this directory structure:

~/.config/decknix/
├── flake.nix           # Main flake (imports decknix)
├── flake.lock          # Locked dependencies
├── settings.nix        # username, hostname, system, role
└── local/              # Your personal overrides
    ├── home.nix        # Home-manager config
    └── system.nix      # Darwin system config

Set Up Git Identity

Edit ~/.config/decknix/local/home.nix:

{ pkgs, ... }: {
  programs.git.settings = {
    user.email = "you@example.com";
    user.name = "Your Name";
  };
}

Add Your Packages

{ pkgs, ... }: {
  home.packages = with pkgs; [
    nodejs
    python3
    go
  ];
}

Choose Your Editor Profile

Decknix offers tiered editor profiles:

ProfileEmacs IncludesVim Includes
minimalCore, completion, editing, UI, undoBase config
standard+ development, magit, treemacs, languages, welcome+ whitespace, skim
full (default)+ LSP, org-mode, HTTP client, agent-shell
customYour own config (disables framework)Your own config

Change profiles in your home.nix:

{ ... }: {
  decknix.editors.emacs.profile = "standard";
  decknix.editors.vim.profile = "minimal";
}

Apply Your Changes

decknix switch

The first build takes a few minutes as it downloads packages. Subsequent builds are faster.

Verify Installation

# Check Emacs daemon is running
launchctl list | grep emacs

# Open a file in Emacs
ec test.txt

# Check Magit
# In Emacs: C-x g (opens git status)

Next Steps