From 515ed02dfbe73668e955a0257865204badfd54b8 Mon Sep 17 00:00:00 2001 From: Ruslan Kamashev Date: Thu, 6 Sep 2018 22:07:58 +0300 Subject: [PATCH 1/6] Add docker module --- modules/tools/docker/config.el | 22 ++++++++++++++++++++++ modules/tools/docker/packages.el | 6 ++++++ 2 files changed, 28 insertions(+) create mode 100644 modules/tools/docker/config.el create mode 100644 modules/tools/docker/packages.el diff --git a/modules/tools/docker/config.el b/modules/tools/docker/config.el new file mode 100644 index 000000000..c9bcc422a --- /dev/null +++ b/modules/tools/docker/config.el @@ -0,0 +1,22 @@ +;;; tools/docker/config.el -*- lexical-binding: t; -*- + +(def-package! docker) +(def-package! docker-tramp) +(def-package! dockerfile-mode) + +(after! docker + (set-evil-initial-state! 'docker-container-mode 'emacs) + (set-evil-initial-state! 'docker-image-mode 'emacs) + (set-evil-initial-state! 'docker-network-mode 'emacs) + (set-evil-initial-state! 'docker-volume-mode 'emacs) + (set-evil-initial-state! 'docker-machine-mode 'emacs)) + +(map! + (:leader + (:prefix "d" + :desc "Docker":n "." #'docker + :desc "Docker Containers":n "c" #'docker-containers + :desc "Docker Images":n "i" #'docker-images + :desc "Docker Networks":n "n" #'docker-networks + :desc "Docker Volumes":n "v" #'docker-volumes + :desc "Docker Machines":n "m" #'docker-machines))) diff --git a/modules/tools/docker/packages.el b/modules/tools/docker/packages.el new file mode 100644 index 000000000..9266beee4 --- /dev/null +++ b/modules/tools/docker/packages.el @@ -0,0 +1,6 @@ +;; -*- no-byte-compile: t; -*- +;;; tools/docker/packages.el + +(package! docker) +(package! docker-tramp) +(package! dockerfile-mode) From 2fdd82a8f0d0c0d6c2512dba4fd7cc8050e3a406 Mon Sep 17 00:00:00 2001 From: Ruslan Kamashev Date: Sat, 8 Sep 2018 03:22:34 +0300 Subject: [PATCH 2/6] Add docker to init.example.el --- init.example.el | 1 + modules/tools/docker/config.el | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/init.example.el b/init.example.el index aaae090b1..3c78166e8 100644 --- a/init.example.el +++ b/init.example.el @@ -76,6 +76,7 @@ ;tmux ; an API for interacting with tmux ;upload ; map local to remote projects via ssh/ftp ;wakatime + ;docker :lang ;assembly ; assembly for fun or debugging diff --git a/modules/tools/docker/config.el b/modules/tools/docker/config.el index c9bcc422a..d17963fa8 100644 --- a/modules/tools/docker/config.el +++ b/modules/tools/docker/config.el @@ -14,9 +14,9 @@ (map! (:leader (:prefix "d" - :desc "Docker":n "." #'docker - :desc "Docker Containers":n "c" #'docker-containers - :desc "Docker Images":n "i" #'docker-images - :desc "Docker Networks":n "n" #'docker-networks - :desc "Docker Volumes":n "v" #'docker-volumes - :desc "Docker Machines":n "m" #'docker-machines))) + :desc "Docker":n "." #'docker + :desc "Docker Containers":n "c" #'docker-containers + :desc "Docker Images":n "i" #'docker-images + :desc "Docker Networks":n "n" #'docker-networks + :desc "Docker Volumes":n "v" #'docker-volumes + :desc "Docker Machines":n "m" #'docker-machines))) From dc3a3660943e18d93d0f7d925ec9ca3b12f2fd19 Mon Sep 17 00:00:00 2001 From: Ruslan Kamashev Date: Sat, 8 Sep 2018 03:51:37 +0300 Subject: [PATCH 3/6] Fix bindings --- modules/config/default/+bindings.el | 5 ++++- modules/tools/docker/config.el | 18 ++++-------------- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/modules/config/default/+bindings.el b/modules/config/default/+bindings.el index df7258d15..ebfbfbd42 100644 --- a/modules/config/default/+bindings.el +++ b/modules/config/default/+bindings.el @@ -729,7 +729,10 @@ :desc "Send to Transmit" :n "u" #'+macos/send-to-transmit :desc "Send project to Transmit" :n "U" #'+macos/send-project-to-transmit :desc "Send to Launchbar" :n "l" #'+macos/send-to-launchbar - :desc "Send project to Launchbar" :n "L" #'+macos/send-project-to-launchbar)) + :desc "Send project to Launchbar" :n "L" #'+macos/send-project-to-launchbar) + + (:when (featurep! :tools docker) + :desc "Docker" :n "D" #'docker)) (:desc "project" :prefix "p" :desc "Browse project" :n "." #'+default/browse-project diff --git a/modules/tools/docker/config.el b/modules/tools/docker/config.el index d17963fa8..9178c41bb 100644 --- a/modules/tools/docker/config.el +++ b/modules/tools/docker/config.el @@ -1,22 +1,12 @@ ;;; tools/docker/config.el -*- lexical-binding: t; -*- -(def-package! docker) -(def-package! docker-tramp) -(def-package! dockerfile-mode) - -(after! docker +(def-package! docker + :config (set-evil-initial-state! 'docker-container-mode 'emacs) (set-evil-initial-state! 'docker-image-mode 'emacs) (set-evil-initial-state! 'docker-network-mode 'emacs) (set-evil-initial-state! 'docker-volume-mode 'emacs) (set-evil-initial-state! 'docker-machine-mode 'emacs)) -(map! - (:leader - (:prefix "d" - :desc "Docker":n "." #'docker - :desc "Docker Containers":n "c" #'docker-containers - :desc "Docker Images":n "i" #'docker-images - :desc "Docker Networks":n "n" #'docker-networks - :desc "Docker Volumes":n "v" #'docker-volumes - :desc "Docker Machines":n "m" #'docker-machines))) +(def-package! docker-tramp) +(def-package! dockerfile-mode) From 0e1049189c7c997cc5c78c4097c59573369e3e3d Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 9 Sep 2018 09:49:22 -0400 Subject: [PATCH 4/6] Lazy-load docker-tramp & dockerfile-mode No extra configuration is required to lazy load these two plugins (they autoload themselves). These blocks would force them to load at startup otherwise. --- modules/tools/docker/config.el | 3 --- 1 file changed, 3 deletions(-) diff --git a/modules/tools/docker/config.el b/modules/tools/docker/config.el index 9178c41bb..151352899 100644 --- a/modules/tools/docker/config.el +++ b/modules/tools/docker/config.el @@ -7,6 +7,3 @@ (set-evil-initial-state! 'docker-network-mode 'emacs) (set-evil-initial-state! 'docker-volume-mode 'emacs) (set-evil-initial-state! 'docker-machine-mode 'emacs)) - -(def-package! docker-tramp) -(def-package! dockerfile-mode) From 0b07220c5f5913ae883f1b5c99705121fe0795ac Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 9 Sep 2018 09:52:23 -0400 Subject: [PATCH 5/6] Lazy-load docker.el & refactor evil-initial-state `set-evil-initial-state!` accepts multiple modes as its first argument and is marginally faster when used that way. --- modules/tools/docker/config.el | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/modules/tools/docker/config.el b/modules/tools/docker/config.el index 151352899..cf3c8a32f 100644 --- a/modules/tools/docker/config.el +++ b/modules/tools/docker/config.el @@ -1,9 +1,10 @@ ;;; tools/docker/config.el -*- lexical-binding: t; -*- -(def-package! docker - :config - (set-evil-initial-state! 'docker-container-mode 'emacs) - (set-evil-initial-state! 'docker-image-mode 'emacs) - (set-evil-initial-state! 'docker-network-mode 'emacs) - (set-evil-initial-state! 'docker-volume-mode 'emacs) - (set-evil-initial-state! 'docker-machine-mode 'emacs)) +(after! docker + (set-evil-initial-state! + '(docker-container-mode + docker-image-mode + docker-network-mode + docker-volume-mode + docker-machine-mode) + 'emacs)) From 6052e27bd1dc48c2b8e9f964a268a7e59040d989 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 9 Sep 2018 09:55:56 -0400 Subject: [PATCH 6/6] Alphabetize :tools docker in init.example.el --- init.example.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init.example.el b/init.example.el index 3c78166e8..809dc3e2f 100644 --- a/init.example.el +++ b/init.example.el @@ -63,6 +63,7 @@ vc ; version-control and Emacs, sitting in a tree :tools + ;docker editorconfig ; let someone else argue about tabs vs spaces ;ein ; tame Jupyter notebooks with emacs ;gist ; interacting with github gists @@ -76,7 +77,6 @@ ;tmux ; an API for interacting with tmux ;upload ; map local to remote projects via ssh/ftp ;wakatime - ;docker :lang ;assembly ; assembly for fun or debugging