diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..90631f3
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,9 @@
+[submodule "emacs-deep-nebula"]
+ path = emacs-deep-nebula
+ url = https://framagit.org/prouby/emacs-deep-nebula.git
+[submodule "emacs-fetch"]
+ path = emacs-fetch
+ url = https://framagit.org/prouby/emacs-fetch.git
+[submodule "ematrix"]
+ path = ematrix
+ url = https://framagit.org/prouby/ematrix.git
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..74d0f6a
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,52 @@
+## Makefile --- emacs-config Makefile. -*- lexical-binding: t; -*-
+
+# Copyright (C) 2024 Pierre-Antoine Rouby
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+MAKE=make
+
+all: compile
+
+compile: compile-src compile-ematrix compile-efetch compile-deep-nebula
+
+compile-src:
+ $(info SRC)
+ $(MAKE) -C src compile
+
+compile-ematrix:
+ $(info EMATRIX)
+ $(MAKE) -C ematrix compile
+
+compile-efetch:
+ $(info EFETCH)
+ $(MAKE) -C emacs-fetch compile
+
+compile-deep-nebula:
+ $(info DEEP-NEBULA)
+ $(MAKE) -C emacs-deep-nebula compile
+
+install:
+ $(info INSTALL)
+ $(MAKE) -C src install
+ $(MAKE) -C ematrix install
+ $(MAKE) -C emacs-fetch install
+ $(MAKE) -C emacs-deep-nebula install
+
+clean:
+ $(info CLEAN)
+ $(MAKE) -C src clean
+ $(MAKE) -C ematrix clean
+ $(MAKE) -C emacs-fetch clean
+ $(MAKE) -C emacs-deep-nebula clean
diff --git a/emacs-deep-nebula b/emacs-deep-nebula
new file mode 160000
index 0000000..49c7e7c
--- /dev/null
+++ b/emacs-deep-nebula
@@ -0,0 +1 @@
+Subproject commit 49c7e7c8b939eacbdf58c78587931c05f3dde519
diff --git a/emacs-fetch b/emacs-fetch
new file mode 160000
index 0000000..e91121e
--- /dev/null
+++ b/emacs-fetch
@@ -0,0 +1 @@
+Subproject commit e91121ea6e1c72dc9bf9f9daa8956090e291052e
diff --git a/ematrix b/ematrix
new file mode 160000
index 0000000..00abe0e
--- /dev/null
+++ b/ematrix
@@ -0,0 +1 @@
+Subproject commit 00abe0ea63a375a9cd9467d1bd6cc7242bf661f5
diff --git a/src/Makefile b/src/Makefile
index 6c98f1b..58da965 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -28,7 +28,7 @@ COMPRESSED_FILE += $(SOURCES:.el=.el.gz)
COMPILED_FILE += $(SOURCES:.el=.elc)
NATIVE_COMPILED_FILE += $(SOURCES:.el=.eln)
-.PHONY: clean install uninstall compile
+.PHONY: clean install compile
all: compile
@@ -44,15 +44,15 @@ gz: $(COMPRESSED_FILE)
%.el.gz: %.el
- $(info GZ $<)
+ $(info GZ $@)
@$(GZ) -k $<
%.elc: %.el
- $(info BYTE $<)
+ $(info BYTE $@)
@$(EMACS) $< $(EMACS_COMPILE)
%.eln: %.el
- $(info NATIVE $<)
+ $(info NATIVE $@)
@$(EMACS) $< $(EMACS_NATIVE_COMPILE)
# Install
diff --git a/src/init/30_efetch.el b/src/init/30_efetch.el
new file mode 100644
index 0000000..7ad63f9
--- /dev/null
+++ b/src/init/30_efetch.el
@@ -0,0 +1,27 @@
+;;; 30_efetch.el --- Init GNUEmacs configuration. -*- lexical-binding: t; -*-
+;;
+;; Copyright (C) 2024 Pierre-Antoine Rouby
+;;
+;; Author: Pierre-Antoine Rouby
+;; Keywords: lisp
+;;
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see .
+
+;;; Commentary:
+
+;; Personnal GNUEmacs configuration.
+
+;;; Code:
+
+(load-file "~/.emacs.d/efetch/efetch.eln")
diff --git a/src/init/30_ematrix.el b/src/init/30_ematrix.el
new file mode 100644
index 0000000..563aab1
--- /dev/null
+++ b/src/init/30_ematrix.el
@@ -0,0 +1,27 @@
+;;; 30_ematrix.el --- Init GNUEmacs configuration. -*- lexical-binding: t; -*-
+;;
+;; Copyright (C) 2024 Pierre-Antoine Rouby
+;;
+;; Author: Pierre-Antoine Rouby
+;; Keywords: lisp
+;;
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see .
+
+;;; Commentary:
+
+;; Personnal GNUEmacs configuration.
+
+;;; Code:
+
+(load-file "~/.emacs.d/matrix/matrix.eln")
diff --git a/src/init/35_theme.el b/src/init/35_theme.el
new file mode 100644
index 0000000..ec96666
--- /dev/null
+++ b/src/init/35_theme.el
@@ -0,0 +1,31 @@
+;;; 35_theme.el --- Init GNUEmacs configuration. -*- lexical-binding: t; -*-
+;;
+;; Copyright (C) 2024 Pierre-Antoine Rouby
+;;
+;; Author: Pierre-Antoine Rouby
+;; Keywords: lisp
+;;
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see .
+
+;;; Commentary:
+
+;; Personnal GNUEmacs configuration.
+
+;;; Code:
+
+(add-to-list 'custom-theme-load-path "~/.emacs.d/themes")
+
+(if (display-graphic-p)
+ (load-theme 'deep-nebula t)
+ (load-theme 'tango-dark t))