Emacs Eask
GitHub Discord Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage
Edit page

πŸ”° Quick Start

Using Eask as your Emacs package management tool.

The installation are cross-platform, using npm. For instructions about how to install Eask with other methods, see install.

It is required to have Git installed to run this tutorial.

Step 1: Setup NodeJS runtime and npm

Please check out their official site here and install NodeJS and npm corresponds to your current operating system

πŸ’‘ If you don’t prefer NodeJS and npm, you can install with binary from our release page.

Step 2: Install Eask

$ npm install -g @emacs-eask/cli

To verify your new installation:

$ eask --version

Step 3: Navigate to an existing project or create a new project

If you already have an existing elisp project, navigate to the project root folder.

$ cd /path/to/project/dir/

To create one:

$ eask create package project-name

It should create a folder named project-name in your current working directory.

Step 4: Create Eask-file

Skip this step if you chose to create the project with eask create!

Otherwise, to create Eask-file in the existing project:

$ eask init

You will be asked some questions about the package you are going to create:

package name: (your-project)
version: (1.0.0)
description: Your project description!
entry point: (your-project.el)
emacs version: (26.1)
website: https://example.com/project-url/
keywords: tools example
About to write to /path/to/project/Eask:

(package "your-project"
         "1.0.0"
         "Your project description!")

(website-url "https://example.com/project-url/")
(keywords "tools" "example")

(package-file "your-project.el")

(script "test" "echo \"Error: no test specified\" && exit 1")

(source "gnu")

(depends-on "emacs" "26.1")


Is this OK? (yes) yes ⏎

You should be able to see an Eask file in your project folder. πŸŽ‰πŸŽŠ

Step 5: Start the package development

To check your package information, run:

$ eask info

You should be able to see the following information:

your-package (1.0.0) | deps: 0 | devDeps: 0
Your project description!
https://example.com/project-url/

keywords: tools, example

entry: your-package-file.el
kind: single

dist
.total-files: 0
.unpacked-size: 0

From the start, you would not have any dependencies and devDependencies (0 by default)!

Step 6: Manage package archives

You can manage package archives by using the source directive in your Eask-file.

(source "gnu")    ; default
(source "melpa")  ; Add package archives
πŸ’‘ See DSL/source for more information!

Step 7: Add some dependencies

You can add dependencies by using depends-on directive in your Eask-file.

...

(depends-on "f")
(depends-on "ht")

πŸ’‘ Make sure the dependencies you add are available in the package archives!

Or else you would get an error `package-name-’ is unavailable!

Step 8: Install dependencies

Now we can install the dependencies we have specified in the Eask-file:

$ eask install-deps

You should see Eask executed correctly with the similar output below:

Loading package information... done
Installing 2 package dependencies...
  - Installing f (20220405.1534)... done
  - Installing ht (20210119.741)... done

(Total of 2 dependencies installed, 0 skipped)

See Also