diff --git a/.gitignore b/.gitignore
index c720071..ede6ac0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,3 +13,9 @@ ubuntu-xenial-16.04-cloudimg-console.log
 /exa-macos-x86_64-*.zip
 /MD5SUMS
 /SHA1SUMS
+
+# Snap stuff
+parts
+prime
+stage
+*.snap
diff --git a/snap/.gitignore b/snap/.gitignore
new file mode 100644
index 0000000..48a6af0
--- /dev/null
+++ b/snap/.gitignore
@@ -0,0 +1 @@
+.snapcraft
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
new file mode 100644
index 0000000..36a6b21
--- /dev/null
+++ b/snap/snapcraft.yaml
@@ -0,0 +1,25 @@
+name: exa
+version: 'latest'
+summary: Replacement for 'ls' written in Rust
+description: |
+  It uses colours for information by default, helping you distinguish between
+  many types of files, such as whether you are the owner, or in the owning
+  group. It also has extra features not present in the original ls, such as
+  viewing the Git status for a directory, or recursing into directories with a
+  tree view. exa is written in Rust, so it’s small, fast, and portable.
+
+grade: stable
+confinement: classic
+
+apps:
+  exa:
+    command: exa
+
+parts:
+  exa:
+    plugin: rust
+    source: .
+    stage-packages:
+      - libgit2-24
+      - cmake
+      - libz-dev