From 4973eeb922da324abbc36372bb219222b7da311d Mon Sep 17 00:00:00 2001 From: caem Date: Sat, 5 Apr 2025 23:47:48 +0200 Subject: [PATCH] emacs: Only install packages when not using nix --- .../development/emacs/emacs.d/core/appearance.el | 4 ++-- .../caem/development/emacs/emacs.d/core/ido.el | 6 +++--- .../caem/development/emacs/emacs.d/core/init.el | 1 + .../caem/development/emacs/emacs.d/core/litter.el | 2 +- .../caem/development/emacs/emacs.d/core/nix.el | 9 +++++++++ .../development/emacs/emacs.d/core/repositories.el | 14 ++++++++------ .../development/emacs/emacs.d/core/tree-sitter.el | 2 +- .../home/caem/development/emacs/emacs.d/init.el | 1 - .../caem/development/emacs/emacs.d/modes/init.el | 2 +- .../development/emacs/emacs.d/modes/meson-mode.el | 2 +- .../development/emacs/emacs.d/modes/nix-mode.el | 2 +- .../caem/development/emacs/emacs.d/plugins/init.el | 1 - .../development/emacs/emacs.d/plugins/vterm.el | 2 -- 13 files changed, 28 insertions(+), 20 deletions(-) create mode 100644 modules/home/caem/development/emacs/emacs.d/core/nix.el delete mode 100644 modules/home/caem/development/emacs/emacs.d/plugins/init.el delete mode 100644 modules/home/caem/development/emacs/emacs.d/plugins/vterm.el diff --git a/modules/home/caem/development/emacs/emacs.d/core/appearance.el b/modules/home/caem/development/emacs/emacs.d/core/appearance.el index 437011f..d94f5cd 100644 --- a/modules/home/caem/development/emacs/emacs.d/core/appearance.el +++ b/modules/home/caem/development/emacs/emacs.d/core/appearance.el @@ -16,12 +16,12 @@ (setq compilation-scroll-output t) (use-package rainbow-delimiters - :ensure t + :ensure nil :hook ((prog-mode . rainbow-delimiters-mode))) (use-package darktooth-theme - :ensure t + :ensure nil :config (load-theme 'darktooth-dark t) (set-face-background 'hl-line "#262626")) diff --git a/modules/home/caem/development/emacs/emacs.d/core/ido.el b/modules/home/caem/development/emacs/emacs.d/core/ido.el index ad426c7..d008cfc 100644 --- a/modules/home/caem/development/emacs/emacs.d/core/ido.el +++ b/modules/home/caem/development/emacs/emacs.d/core/ido.el @@ -1,16 +1,16 @@ (use-package smex - :ensure t + :ensure nil :bind (("M-x" . smex) ("M-X" . smex-major-mode-commands)) :config (smex-initialize)) (use-package ido-completing-read+ - :ensure t + :ensure nil :config (ido-ubiquitous-mode 1)) (use-package amx - :ensure t + :ensure nil :config (amx-mode 1)) (ido-mode 1) diff --git a/modules/home/caem/development/emacs/emacs.d/core/init.el b/modules/home/caem/development/emacs/emacs.d/core/init.el index 4be4a6d..c7fdc53 100644 --- a/modules/home/caem/development/emacs/emacs.d/core/init.el +++ b/modules/home/caem/development/emacs/emacs.d/core/init.el @@ -1,3 +1,4 @@ +(rei/load "nix.el") (rei/load "repositories.el") (rei/load "litter.el") (rei/load "appearance.el") diff --git a/modules/home/caem/development/emacs/emacs.d/core/litter.el b/modules/home/caem/development/emacs/emacs.d/core/litter.el index 92b660a..e5622c1 100644 --- a/modules/home/caem/development/emacs/emacs.d/core/litter.el +++ b/modules/home/caem/development/emacs/emacs.d/core/litter.el @@ -3,7 +3,7 @@ backup-by-copying t) (use-package no-littering - :ensure t + :ensure nil :init (setq no-littering-etc-directory (file-name-concat (xdg-data-home) "emacs") no-littering-var-directory (file-name-concat (xdg-data-home) "emacs")) diff --git a/modules/home/caem/development/emacs/emacs.d/core/nix.el b/modules/home/caem/development/emacs/emacs.d/core/nix.el new file mode 100644 index 0000000..7966a88 --- /dev/null +++ b/modules/home/caem/development/emacs/emacs.d/core/nix.el @@ -0,0 +1,9 @@ +;; If we're already using Nix, make sure we're only using +;; the Nix provided packages instead of downloading them from +;; (m)elpa and co as it's not really necassary as we've already +;; got Nix to do this job and this is a much cleaner solution. +(if (file-exists-p "/nix/store") + (setq using-nix t + use-package-always-ensure nil) + (setq using-nix nil + use-package-always-ensure t)) diff --git a/modules/home/caem/development/emacs/emacs.d/core/repositories.el b/modules/home/caem/development/emacs/emacs.d/core/repositories.el index cb9566b..e47f362 100644 --- a/modules/home/caem/development/emacs/emacs.d/core/repositories.el +++ b/modules/home/caem/development/emacs/emacs.d/core/repositories.el @@ -1,8 +1,10 @@ -;; Set the elpa directory ahead of loading the no-littering package, as it would -;; otherwise cause it to be installed in the configuration directory as no-littering -;; has to be first insalled from melpa before being able to be called. +(require 'package) (setq package-user-dir (file-name-concat (xdg-data-home) "emacs" "elpa")) -(require 'package) -(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) -(package-initialize) +(if using-nix + (progn + (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) + (package-initialize)) + (progn + (setq package-archives nil) + (package-initialize))) diff --git a/modules/home/caem/development/emacs/emacs.d/core/tree-sitter.el b/modules/home/caem/development/emacs/emacs.d/core/tree-sitter.el index c6f7ccc..7d5b714 100644 --- a/modules/home/caem/development/emacs/emacs.d/core/tree-sitter.el +++ b/modules/home/caem/development/emacs/emacs.d/core/tree-sitter.el @@ -3,7 +3,7 @@ (setq treesit-font-lock-level 4) (use-package treesit-auto - :ensure t + :ensure nil :custom (treesit-auto-install 'prompt) :config diff --git a/modules/home/caem/development/emacs/emacs.d/init.el b/modules/home/caem/development/emacs/emacs.d/init.el index 21be3c7..f10a38b 100644 --- a/modules/home/caem/development/emacs/emacs.d/init.el +++ b/modules/home/caem/development/emacs/emacs.d/init.el @@ -5,4 +5,3 @@ (require 'rei) (rei/load "core") (rei/load "modes") -(rei/load "plugins") diff --git a/modules/home/caem/development/emacs/emacs.d/modes/init.el b/modules/home/caem/development/emacs/emacs.d/modes/init.el index c9c34ca..0ba22b8 100644 --- a/modules/home/caem/development/emacs/emacs.d/modes/init.el +++ b/modules/home/caem/development/emacs/emacs.d/modes/init.el @@ -1,5 +1,5 @@ (use-package paredit - :ensure t + :ensure nil :hook ((prog-mode . enable-paredit-mode)) :config diff --git a/modules/home/caem/development/emacs/emacs.d/modes/meson-mode.el b/modules/home/caem/development/emacs/emacs.d/modes/meson-mode.el index ccf6ac1..f3b261d 100644 --- a/modules/home/caem/development/emacs/emacs.d/modes/meson-mode.el +++ b/modules/home/caem/development/emacs/emacs.d/modes/meson-mode.el @@ -1,3 +1,3 @@ (use-package meson-mode - :ensure t + :ensure nil :mode ("meson\\.build\\'")) diff --git a/modules/home/caem/development/emacs/emacs.d/modes/nix-mode.el b/modules/home/caem/development/emacs/emacs.d/modes/nix-mode.el index 95b6bf0..690373e 100644 --- a/modules/home/caem/development/emacs/emacs.d/modes/nix-mode.el +++ b/modules/home/caem/development/emacs/emacs.d/modes/nix-mode.el @@ -1,5 +1,5 @@ (use-package nix-mode - :ensure t + :ensure nil :mode ("\\.nix\\'" "\\.nix.in\\'") :hook (nix-mode . (lambda () diff --git a/modules/home/caem/development/emacs/emacs.d/plugins/init.el b/modules/home/caem/development/emacs/emacs.d/plugins/init.el deleted file mode 100644 index fba5e7c..0000000 --- a/modules/home/caem/development/emacs/emacs.d/plugins/init.el +++ /dev/null @@ -1 +0,0 @@ -(rei/load "vterm.el") diff --git a/modules/home/caem/development/emacs/emacs.d/plugins/vterm.el b/modules/home/caem/development/emacs/emacs.d/plugins/vterm.el deleted file mode 100644 index 9a5a1b9..0000000 --- a/modules/home/caem/development/emacs/emacs.d/plugins/vterm.el +++ /dev/null @@ -1,2 +0,0 @@ -(use-package vterm - :ensure t)