-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathpackages.el
127 lines (102 loc) · 4.27 KB
/
packages.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
;;; packages.el --- gnome-shell layer packages file for Spacemacs.
;;
;; Copyright (c) 2012-2016 Sylvain Benner & Contributors
;;
;; Author: Ole Jørgen and Tor Hedin
;; URL: https://github.com/syl20bnr/spacemacs
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
;;; Commentary:
;; See the Spacemacs documentation and FAQs for instructions on how to implement
;; a new layer:
;;
;; SPC h SPC layers RET
;;
;;
;; Briefly, each package to be installed or configured by this layer should be
;; added to `gnome-shell-packages'. Then, for each package PACKAGE:
;;
;; - If PACKAGE is not referenced by any other Spacemacs layer, define a
;; function `gnome-shell/init-PACKAGE' to load and initialize the package.
;; - Otherwise, PACKAGE is already referenced by another Spacemacs layer, so
;; define the functions `gnome-shell/pre-init-PACKAGE' and/or
;; `gnome-shell/post-init-PACKAGE' to customize the package as it is loaded.
;;; Code:
(defconst gnome-shell-packages
'(company
js2-mode
dbus
(gnome-shell-mode :location local)
(company-gnome-shell :location local)
flycheck)
"The list of Lisp packages required by the gnome-shell layer.
Each entry is either:
1. A symbol, which is interpreted as a package to be installed, or
2. A list of the form (PACKAGE KEYS...), where PACKAGE is the
name of the package to be installed or loaded, and KEYS are
any number of keyword-value-pairs.
The following keys are accepted:
- :excluded (t or nil): Prevent the package from being loaded
if value is non-nil
- :location: Specify a custom installation location.
The following values are legal:
- The symbol `elpa' (default) means PACKAGE will be
installed using the Emacs package manager.
- The symbol `local' directs Spacemacs to load the file at
`./local/PACKAGE/PACKAGE.el'
- A list beginning with the symbol `recipe' is a melpa
recipe. See: https://github.com/milkypostman/melpa#recipe-format")
(defun gnome-shell/init-dbus ()
(use-package dbus
:commands (dbus-call-method)))
(defun gnome-shell/init-gnome-shell-mode ()
(use-package gnome-shell-mode
:commands (gnome-shell-mode)
:config
(progn
;; (spacemacs/set-leader-keys-for-major-mode 'gnome-shell-mode "db" 'gnome-shell-send-buffer)
(spacemacs/set-leader-keys-for-major-mode 'gnome-shell-mode
"sb" 'gnome-shell-send-buffer
"sf" 'gnome-shell-send-proc
"sl" 'gnome-shell-send-current-line
"sr" 'gnome-shell-send-region
"eb" 'gnome-shell-send-buffer
"ef" 'gnome-shell-send-proc
"el" 'gnome-shell-send-current-line
"er" 'gnome-shell-send-region
"r" 'gnome-shell-reload
"R" 'gnome-shell-restart
"l" 'gnome-shell-launch-session
"c" 'gnome-shell-clear-output-at-point
"oc" 'gnome-shell-clear-output
"oy" 'gnome-shell-copy-output
"hh" 'gnome-shell-look-up-function-at-point)
(spacemacs/declare-prefix-for-mode 'gnome-shell-mode "mh" "documentation")
(spacemacs/declare-prefix-for-mode 'gnome-shell-mode "ms" "eval in session")
(spacemacs/declare-prefix-for-mode 'gnome-shell-mode "me" "eval in session")
(spacemacs/declare-prefix-for-mode 'gnome-shell-mode "mo" "output")
(spacemacs/declare-prefix-for-mode 'gnome-shell-mode "moc" "clear all output")
(spacemacs/declare-prefix-for-mode 'gnome-shell-mode "mc" "clear output")
(spacemacs/declare-prefix-for-mode 'gnome-shell-mode "mr" "reload buffer")
(spacemacs/declare-prefix-for-mode 'gnome-shell-mode "mR" "restart session")
(spacemacs/declare-prefix-for-mode 'gnome-shell-mode "ml" "launch session")
(evil-define-key 'visual gnome-shell-mode-map (kbd "<return>") 'gnome-shell-send-region)
)
)
)
(defun gnome-shell/init-company-gnome-shell ()
(use-package company-gnome-shell
:if (configuration-layer/package-usedp 'company)
:commands (company-gnome-shell)
:init
(progn
;; (require 'company)
(spacemacs|add-company-backends :backends company-gnome-shell :modes gnome-shell-mode)
)))
(defun gnome-shell/post-init-js2-mode ())
(defun gnome-shell/post-init-company ())
(defun gnome-shell/post-init-flycheck ()
(spacemacs/enable-flycheck 'gnome-shell-mode))
;;; packages.el ends here