Skip to content

Commit ecf0b61

Browse files
committed
Add doom files
1 parent 2671de1 commit ecf0b61

File tree

3 files changed

+288
-0
lines changed

3 files changed

+288
-0
lines changed

doom.d/config.el

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
2+
3+
;; Place your private configuration here! Remember, you do not need to run 'doom
4+
;; sync' after modifying this file!
5+
6+
7+
;; Some functionality uses this to identify you, e.g. GPG configuration, email
8+
;; clients, file templates and snippets.
9+
(setq user-full-name "John Doe"
10+
user-mail-address "[email protected]")
11+
12+
;; Doom exposes five (optional) variables for controlling fonts in Doom. Here
13+
;; are the three important ones:
14+
;;
15+
;; + `doom-font'
16+
;; + `doom-variable-pitch-font'
17+
;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for
18+
;; presentations or streaming.
19+
;;
20+
;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd
21+
;; font string. You generally only need these two:
22+
;; (setq doom-font (font-spec :family "monospace" :size 12 :weight 'semi-light)
23+
;; doom-variable-pitch-font (font-spec :family "sans" :size 13))
24+
25+
;; There are two ways to load a theme. Both assume the theme is installed and
26+
;; available. You can either set `doom-theme' or manually load a theme with the
27+
;; `load-theme' function. This is the default:
28+
(setq doom-theme 'doom-one)
29+
30+
;; If you use `org' and don't want your org files in the default location below,
31+
;; change `org-directory'. It must be set before org loads!
32+
(setq org-directory "~/org/")
33+
34+
;; This determines the style of line numbers in effect. If set to `nil', line
35+
;; numbers are disabled. For relative line numbers, set this to `relative'.
36+
(setq display-line-numbers-type t)
37+
38+
39+
;; Here are some additional functions/macros that could help you configure Doom:
40+
;;
41+
;; - `load!' for loading external *.el files relative to this one
42+
;; - `use-package!' for configuring packages
43+
;; - `after!' for running code after a package has loaded
44+
;; - `add-load-path!' for adding directories to the `load-path', relative to
45+
;; this file. Emacs searches the `load-path' when you load packages with
46+
;; `require' or `use-package'.
47+
;; - `map!' for binding new keys
48+
;;
49+
;; To get information about any of these functions/macros, move the cursor over
50+
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
51+
;; This will open documentation for it, including demos of how they are used.
52+
;;
53+
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
54+
;; they are implemented.

doom.d/init.el

+184
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
;;; init.el -*- lexical-binding: t; -*-
2+
3+
;; This file controls what Doom modules are enabled and what order they load
4+
;; in. Remember to run 'doom sync' after modifying it!
5+
6+
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
7+
;; documentation. There you'll find a "Module Index" link where you'll find
8+
;; a comprehensive list of Doom's modules and what flags they support.
9+
10+
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
11+
;; 'C-c c k' for non-vim users) to view its documentation. This works on
12+
;; flags as well (those symbols that start with a plus).
13+
;;
14+
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
15+
;; directory (for easy access to its source code).
16+
17+
(doom! :input
18+
;;chinese
19+
;;japanese
20+
;;layout ; auie,ctsrnm is the superior home row
21+
22+
:completion
23+
company ; the ultimate code completion backend
24+
;;helm ; the *other* search engine for love and life
25+
;;ido ; the other *other* search engine...
26+
ivy ; a search engine for love and life
27+
28+
:ui
29+
;;deft ; notational velocity for Emacs
30+
doom ; what makes DOOM look the way it does
31+
doom-dashboard ; a nifty splash screen for Emacs
32+
doom-quit ; DOOM quit-message prompts when you quit Emacs
33+
;;(emoji +unicode) ; 🙂
34+
;;fill-column ; a `fill-column' indicator
35+
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
36+
;;hydra
37+
;;indent-guides ; highlighted indent columns
38+
;;ligatures ; ligatures and symbols to make your code pretty again
39+
;;minimap ; show a map of the code on the side
40+
modeline ; snazzy, Atom-inspired modeline, plus API
41+
;;nav-flash ; blink cursor line after big motions
42+
;;neotree ; a project drawer, like NERDTree for vim
43+
ophints ; highlight the region an operation acts on
44+
(popup +defaults) ; tame sudden yet inevitable temporary windows
45+
;;tabs ; a tab bar for Emacs
46+
;;treemacs ; a project drawer, like neotree but cooler
47+
;;unicode ; extended unicode support for various languages
48+
vc-gutter ; vcs diff in the fringe
49+
vi-tilde-fringe ; fringe tildes to mark beyond EOB
50+
;;window-select ; visually switch windows
51+
workspaces ; tab emulation, persistence & separate workspaces
52+
;;zen ; distraction-free coding or writing
53+
54+
:editor
55+
(evil +everywhere); come to the dark side, we have cookies
56+
file-templates ; auto-snippets for empty files
57+
fold ; (nigh) universal code folding
58+
;;(format +onsave) ; automated prettiness
59+
;;god ; run Emacs commands without modifier keys
60+
;;lispy ; vim for lisp, for people who don't like vim
61+
;;multiple-cursors ; editing in many places at once
62+
;;objed ; text object editing for the innocent
63+
;;parinfer ; turn lisp into python, sort of
64+
;;rotate-text ; cycle region at point between text candidates
65+
snippets ; my elves. They type so I don't have to
66+
;;word-wrap ; soft wrapping with language-aware indent
67+
68+
:emacs
69+
dired ; making dired pretty [functional]
70+
electric ; smarter, keyword-based electric-indent
71+
;;ibuffer ; interactive buffer management
72+
undo ; persistent, smarter undo for your inevitable mistakes
73+
vc ; version-control and Emacs, sitting in a tree
74+
75+
:term
76+
;;eshell ; the elisp shell that works everywhere
77+
;;shell ; simple shell REPL for Emacs
78+
;;term ; basic terminal emulator for Emacs
79+
;;vterm ; the best terminal emulation in Emacs
80+
81+
:checkers
82+
syntax ; tasing you for every semicolon you forget
83+
;;spell ; tasing you for misspelling mispelling
84+
;;grammar ; tasing grammar mistake every you make
85+
86+
:tools
87+
;;ansible
88+
;;debugger ; FIXME stepping through code, to help you add bugs
89+
;;direnv
90+
;;docker
91+
;;editorconfig ; let someone else argue about tabs vs spaces
92+
;;ein ; tame Jupyter notebooks with emacs
93+
(eval +overlay) ; run code, run (also, repls)
94+
;;gist ; interacting with github gists
95+
lookup ; navigate your code and its documentation
96+
;;lsp
97+
magit ; a git porcelain for Emacs
98+
;;make ; run make tasks from Emacs
99+
;;pass ; password manager for nerds
100+
;;pdf ; pdf enhancements
101+
;;prodigy ; FIXME managing external services & code builders
102+
;;rgb ; creating color strings
103+
;;taskrunner ; taskrunner for all your projects
104+
;;terraform ; infrastructure as code
105+
;;tmux ; an API for interacting with tmux
106+
;;upload ; map local to remote projects via ssh/ftp
107+
108+
:os
109+
(:if IS-MAC macos) ; improve compatibility with macOS
110+
;;tty ; improve the terminal Emacs experience
111+
112+
:lang
113+
;;agda ; types of types of types of types...
114+
cc ; C/C++/Obj-C madness
115+
;;clojure ; java with a lisp
116+
;;common-lisp ; if you've seen one lisp, you've seen them all
117+
;;coq ; proofs-as-programs
118+
;;crystal ; ruby at the speed of c
119+
;;csharp ; unity, .NET, and mono shenanigans
120+
data ; config/data formats
121+
;;(dart +flutter) ; paint ui and not much else
122+
;;elixir ; erlang done right
123+
;;elm ; care for a cup of TEA?
124+
emacs-lisp ; drown in parentheses
125+
;;erlang ; an elegant language for a more civilized age
126+
;;ess ; emacs speaks statistics
127+
;;faust ; dsp, but you get to keep your soul
128+
;;fsharp ; ML stands for Microsoft's Language
129+
;;fstar ; (dependent) types and (monadic) effects and Z3
130+
;;gdscript ; the language you waited for
131+
;;(go +lsp) ; the hipster dialect
132+
;;(haskell +dante) ; a language that's lazier than I am
133+
;;hy ; readability of scheme w/ speed of python
134+
;;idris ; a language you can depend on
135+
json ; At least it ain't XML
136+
;;(java +meghanada) ; the poster child for carpal tunnel syndrome
137+
;;javascript ; all(hope(abandon(ye(who(enter(here))))))
138+
;;julia ; a better, faster MATLAB
139+
;;kotlin ; a better, slicker Java(Script)
140+
;;latex ; writing papers in Emacs has never been so fun
141+
;;lean
142+
;;factor
143+
;;ledger ; an accounting system in Emacs
144+
;;lua ; one-based indices? one-based indices
145+
markdown ; writing docs for people to ignore
146+
;;nim ; python + lisp at the speed of c
147+
;;nix ; I hereby declare "nix geht mehr!"
148+
;;ocaml ; an objective camel
149+
org ; organize your plain life in plain text
150+
;;php ; perl's insecure younger brother
151+
;;plantuml ; diagrams for confusing people more
152+
;;purescript ; javascript, but functional
153+
python ; beautiful is better than ugly
154+
;;qt ; the 'cutest' gui framework ever
155+
;;racket ; a DSL for DSLs
156+
;;raku ; the artist formerly known as perl6
157+
;;rest ; Emacs as a REST client
158+
rst ; ReST in peace
159+
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
160+
;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
161+
;;scala ; java, but good
162+
;;scheme ; a fully conniving family of lisps
163+
sh ; she sells {ba,z,fi}sh shells on the C xor
164+
;;sml
165+
;;solidity ; do you need a blockchain? No.
166+
;;swift ; who asked for emoji variables?
167+
;;terra ; Earth and Moon in alignment for performance.
168+
;;web ; the tubes
169+
yaml ; JSON, but readable
170+
171+
:email
172+
;;(mu4e +gmail)
173+
;;notmuch
174+
;;(wanderlust +gmail)
175+
176+
:app
177+
;;calendar
178+
;;irc ; how neckbeards socialize
179+
;;(rss +org) ; emacs as an RSS reader
180+
;;twitter ; twitter client https://twitter.com/vnought
181+
182+
:config
183+
;;literate
184+
(default +bindings +smartparens))

doom.d/packages.el

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
;; -*- no-byte-compile: t; -*-
2+
;;; $DOOMDIR/packages.el
3+
4+
;; To install a package with Doom you must declare them here and run 'doom sync'
5+
;; on the command line, then restart Emacs for the changes to take effect -- or
6+
;; use 'M-x doom/reload'.
7+
8+
9+
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
10+
;(package! some-package)
11+
12+
;; To install a package directly from a remote git repo, you must specify a
13+
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
14+
;; https://github.com/raxod502/straight.el#the-recipe-format
15+
;(package! another-package
16+
; :recipe (:host github :repo "username/repo"))
17+
18+
;; If the package you are trying to install does not contain a PACKAGENAME.el
19+
;; file, or is located in a subdirectory of the repo, you'll need to specify
20+
;; `:files' in the `:recipe':
21+
;(package! this-package
22+
; :recipe (:host github :repo "username/repo"
23+
; :files ("some-file.el" "src/lisp/*.el")))
24+
25+
;; If you'd like to disable a package included with Doom, you can do so here
26+
;; with the `:disable' property:
27+
;(package! builtin-package :disable t)
28+
29+
;; You can override the recipe of a built in package without having to specify
30+
;; all the properties for `:recipe'. These will inherit the rest of its recipe
31+
;; from Doom or MELPA/ELPA/Emacsmirror:
32+
;(package! builtin-package :recipe (:nonrecursive t))
33+
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
34+
35+
;; Specify a `:branch' to install a package from a particular branch or tag.
36+
;; This is required for some packages whose default branch isn't 'master' (which
37+
;; our package manager can't deal with; see raxod502/straight.el#279)
38+
;(package! builtin-package :recipe (:branch "develop"))
39+
40+
;; Use `:pin' to specify a particular commit to install.
41+
;(package! builtin-package :pin "1a2b3c4d5e")
42+
43+
44+
;; Doom's packages are pinned to a specific commit and updated from release to
45+
;; release. The `unpin!' macro allows you to unpin single packages...
46+
;(unpin! pinned-package)
47+
;; ...or multiple packages
48+
;(unpin! pinned-package another-pinned-package)
49+
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
50+
;(unpin! t)

0 commit comments

Comments
 (0)