feat: refactor emacs package declaring
this is a ton better because: this makes the flake look cleaner this means I can declare multiple packages in the flake without repeating myself as much as i would have had to.
This commit is contained in:
parent
e0e44156e7
commit
95ef7816f0
4 changed files with 105 additions and 84 deletions
|
@ -285,7 +285,10 @@ Enabling Emacs-LSP to use LSPs, I am very dry on syntax highlighters right now.
|
|||
#+END_SRC
|
||||
*** Rust
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package rustic)
|
||||
(use-package rustic
|
||||
:custom
|
||||
(rustic-format-on-save t)
|
||||
(rustic-cargo-use-last-stored-arguments t))
|
||||
#+END_SRC
|
||||
*** Haskell
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
|
|
|
@ -1,70 +0,0 @@
|
|||
{ emacsWithPackagesFromUsePackage, fetchurl, emacs29-pgtk, python3 }:
|
||||
emacsWithPackagesFromUsePackage {
|
||||
package = emacs29-pgtk;
|
||||
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; };
|
||||
}
|
74
package/mkEmacs.nix
Normal file
74
package/mkEmacs.nix
Normal file
|
@ -0,0 +1,74 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
mkEmacsPackage =
|
||||
epkgs: pname: version: src: deps:
|
||||
epkgs.callPackage (
|
||||
{ trivialBuild }:
|
||||
trivialBuild {
|
||||
inherit pname version src;
|
||||
buildInputs = deps;
|
||||
propagatedUserEnvPkgs = deps;
|
||||
}
|
||||
) { inherit (epkgs) trivialBuild; };
|
||||
in
|
||||
{
|
||||
mkEmacs =
|
||||
emacs:
|
||||
pkgs.emacsWithPackagesFromUsePackage {
|
||||
package = emacs;
|
||||
defaultInitFile = true;
|
||||
alwaysEnsure = true;
|
||||
alwaysTangle = true;
|
||||
config = ./config.org;
|
||||
extraEmacsPackages =
|
||||
e:
|
||||
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
|
||||
geiser-guile
|
||||
;
|
||||
|
||||
treesit-grammars = e.treesit-grammars.with-all-grammars;
|
||||
inherit (pkgs) python3;
|
||||
|
||||
oxocarbon-theme = mkEmacsPackage e "oxocarbon-theme" "0.1.0" (pkgs.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; };
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue