From e0e44156e7bd8c5cae7088f141d8335f08daefe8 Mon Sep 17 00:00:00 2001 From: Artur Manuel Date: Fri, 6 Sep 2024 15:56:42 +0100 Subject: [PATCH] feat: add oxocarbon --- package/config.org | 24 +++------- package/default.nix | 113 ++++++++++++++++++++++++++------------------ 2 files changed, 72 insertions(+), 65 deletions(-) diff --git a/package/config.org b/package/config.org index 8415d2a..1fa7d96 100644 --- a/package/config.org +++ b/package/config.org @@ -46,25 +46,13 @@ May or may not need nerd fonts for some of the below packages. 8) #+END_SRC ** Theme -Using doom-themes here because Tokyo Night isn't on MELPA. +Using oxocarbon-theme because it reflects my colour scheme. #+BEGIN_SRC emacs-lisp - (use-package doom-themes - :ensure t - :config - ;; Global settings (defaults) - (setq doom-themes-enable-bold t ; if nil, bold is universally disabled - doom-themes-enable-italic t) ; if nil, italics is universally disabled - (load-theme 'doom-tokyo-night t) - - ;; Enable flashing mode-line on errors - (doom-themes-visual-bell-config) - ;; Enable custom neotree theme (all-the-icons must be installed!) - (doom-themes-neotree-config) - ;; or for treemacs users - (setq doom-themes-treemacs-theme "doom-tokyo-night") ; use "doom-colors" for less minimal icon theme - (doom-themes-treemacs-config) - ;; Corrects (and improves) org-mode's native fontification. - (doom-themes-org-config)) + (use-package oxocarbon-theme) + (use-package autothemer + :after (oxocarbon-theme) + :init + (load-theme 'oxocarbon t)) #+END_SRC ** Mood-line diff --git a/package/default.nix b/package/default.nix index ef7f9c5..02cfd7c 100644 --- a/package/default.nix +++ b/package/default.nix @@ -1,51 +1,70 @@ -{ emacsWithPackagesFromUsePackage, emacs29-pgtk, python3 }: +{ emacsWithPackagesFromUsePackage, fetchurl, emacs29-pgtk, python3 }: emacsWithPackagesFromUsePackage { package = emacs29-pgtk; - config = ./config.org; - defaultInitFile = true; - alwaysEnsure = true; - alwaysTangle = true; - extraEmacsPackages = - e: (builtins.attrValues { - inherit (e) - nix-mode - doom-themes - vertico - orderless - marginalia - embark - consult - embark-consult - consult-dir - doom-modeline - flycheck - which-key - lsp-mode - lsp-ui - lsp-pyright - treemacs - lsp-treemacs - consult-lsp - treemacs-icons-dired - treemacs-nerd-icons - nerd-icons - all-the-icons - projectile - treemacs-projectile - magit - treemacs-magit - rustic - haskell-mode - envrc - ccls - org-roam - spacious-padding - mood-line - ement - ; - }) ++ [ - e.treesit-grammars.with-all-grammars - python3 - ]; + config = ./config.org; + defaultInitFile = true; + alwaysEnsure = true; + alwaysTangle = true; + extraEmacsPackages = e: + let + mkEmacsPackage = + pname: + src: + deps: + e.callPackage + ({ trivialBuild }: trivialBuild { + inherit pname src; + version = "0.1.0"; + buildInputs = deps; + propagatedUserEnvPkgs = deps; + }) + { inherit (e) trivialBuild; }; + in + (builtins.attrValues { + inherit (e) + nix-mode + vertico + orderless + marginalia + embark + consult + embark-consult + consult-dir + doom-modeline + flycheck + which-key + lsp-mode + lsp-ui + lsp-pyright + treemacs + lsp-treemacs + consult-lsp + treemacs-icons-dired + treemacs-nerd-icons + nerd-icons + all-the-icons + projectile + treemacs-projectile + magit + treemacs-magit + rustic + haskell-mode + envrc + ccls + org-roam + spacious-padding + mood-line + ement + autothemer + ; + + treesit-grammars = e.treesit-grammars.with-all-grammars; + inherit python3; + oxocarbon = mkEmacsPackage "oxocarbon-theme" + (fetchurl { + url = "https://raw.githubusercontent.com/konrad1977/emacs/main/themes/oxocarbon-theme.el"; + hash = "sha256-jD4DYc7aePuAF3m323YAi7jzE6ZpsSWb/zdmEgjFCns="; + }) [ e.autothemer ]; + }); override = _: prev: { use-package = prev.emacs; }; }