mirror of
https://github.com/nix-community/nix-doom-emacs
synced 2025-08-09 12:57:26 -05:00
install the bundled package derivations by default
This commit is contained in:
60
default.nix
60
default.nix
@ -1,7 +1,27 @@
|
||||
{ # The files would be going to ~/.config/doom (~/.doom.d)
|
||||
doomPrivateDir
|
||||
# Package set to install emacs and dependent packages from
|
||||
/* Package set to install emacs and dependent packages from
|
||||
|
||||
Only used to get emacs package, if `bundledPackages` is set
|
||||
*/
|
||||
, emacsPackages
|
||||
/* Use bundled revision of github.com/nix-community/emacs-overlay
|
||||
as `emacsPackages`
|
||||
*/
|
||||
, bundledPackages ? true
|
||||
/* Override dependency versions
|
||||
|
||||
Hadful for testing out updated dependencies without publishing
|
||||
a new version of them.
|
||||
|
||||
Type: dependencyOverrides :: attrset -> either path derivation
|
||||
|
||||
Example:
|
||||
dependencyOverrides = {
|
||||
"emacs-overlay" = fetchFromGitHub { owner = /* ...*\/; };
|
||||
};
|
||||
*/
|
||||
, dependencyOverrides ? { }
|
||||
, lib
|
||||
, pkgs
|
||||
, stdenv
|
||||
@ -14,6 +34,12 @@
|
||||
, writeTextDir }:
|
||||
|
||||
let
|
||||
lock = pkgs.callPackage
|
||||
"${builtins.fetchTarball https://github.com/vlaci/nix-lock/archive/develop.tar.gz}/lock.nix" {
|
||||
path = ./derivations.lock;
|
||||
overrides = dependencyOverrides;
|
||||
};
|
||||
|
||||
# Packages we need to get the default doom configuration run
|
||||
overrides = self: super: {
|
||||
evil-escape = super.evil-escape.overrideAttrs (esuper: {
|
||||
@ -24,24 +50,14 @@ let
|
||||
version = "1";
|
||||
recipe = null;
|
||||
ename = pname;
|
||||
src = fetchFromGitHub {
|
||||
owner = "TobiasZawada";
|
||||
repo = "org-yt";
|
||||
rev = "40cc1ac76d741055cbefa13860d9f070a7ade001";
|
||||
sha256 = "0jsm3azb7lwikvc53z4p91av8qvda9s15wij153spkgjp83kld3p";
|
||||
};
|
||||
src = lock.get pname;
|
||||
};
|
||||
};
|
||||
|
||||
# Stage 1: prepare source for byte-compilation
|
||||
doomSrc = stdenv.mkDerivation {
|
||||
name = "doom-src";
|
||||
src = fetchFromGitHub {
|
||||
owner = "hlissner";
|
||||
repo = "doom-emacs";
|
||||
rev = "eb2a67d05ff4b178fedabd36ce448191cce8d6bb";
|
||||
sha256 = "05nhsn4q2bbs8m7x88ci2k7cq7hc7ql6xkyv0hmz762ip8g1jvlp";
|
||||
};
|
||||
src = lock.get "doom-emacs";
|
||||
phases = ["unpackPhase" "patchPhase" "installPhase"];
|
||||
patches = [
|
||||
(substituteAll {
|
||||
@ -55,16 +71,20 @@ let
|
||||
'';
|
||||
};
|
||||
|
||||
# Bundled version of `emacs-overlay`
|
||||
emacs-overlay = import (lock.get "emacs-overlay") pkgs pkgs;
|
||||
|
||||
# Stage 2:: install dependencies and byte-compile prepared source
|
||||
doomLocal =
|
||||
let
|
||||
straight-env = pkgs.callPackage (fetchFromGitHub {
|
||||
owner = "vlaci";
|
||||
repo = "nix-straight.el";
|
||||
rev = "v1.0";
|
||||
sha256 = "038dss49bfvpj15psh5pr9jyavivninl0rzga9cn8qyc4g2cj5i0";
|
||||
}) {
|
||||
emacsPackages = emacsPackages.overrideScope' overrides;
|
||||
straight-env = pkgs.callPackage (lock.get "nix-straight.el") {
|
||||
emacsPackages =
|
||||
if bundledPackages then
|
||||
let
|
||||
epkgs = emacs-overlay.emacsPackagesNgFor emacsPackages.emacs;
|
||||
in epkgs.overrideScope' overrides
|
||||
else
|
||||
emacsPackages.overrideScope' overrides;
|
||||
emacsLoadFiles = [ ./advice.el ];
|
||||
emacsArgs = [
|
||||
"install"
|
||||
|
20
derivations.json
Normal file
20
derivations.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"doom-emacs": {
|
||||
"repo": "doom-emacs",
|
||||
"owner": "hlissner",
|
||||
"rev": "develop"
|
||||
},
|
||||
"nix-straight.el": {
|
||||
"owner": "vlaci",
|
||||
"repo": "nix-straight.el",
|
||||
"rev": "v1.0"
|
||||
},
|
||||
"org-yt": {
|
||||
"owner": "TobiasZawada",
|
||||
"repo": "org-yt"
|
||||
},
|
||||
"emacs-overlay": {
|
||||
"owner": "nix-community",
|
||||
"repo": "emacs-overlay"
|
||||
}
|
||||
}
|
54
derivations.lock
Normal file
54
derivations.lock
Normal file
@ -0,0 +1,54 @@
|
||||
{
|
||||
"doom-emacs": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"args": {
|
||||
"owner": "hlissner",
|
||||
"repo": "doom-emacs",
|
||||
"rev": "019308a93c639847dccac75149d407b5a06f6c67",
|
||||
"sha256": "0wqi7m6j1kcjxid651r0p08hswx8yxpshg61358n0jbzl3as1hrk"
|
||||
},
|
||||
"meta": {
|
||||
"updated": "2019-10-25T22:28:24+00:00",
|
||||
"rev": "019308a93c639847dccac75149d407b5a06f6c67"
|
||||
}
|
||||
},
|
||||
"nix-straight.el": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"args": {
|
||||
"owner": "vlaci",
|
||||
"repo": "nix-straight.el",
|
||||
"rev": "6182914aefea06ef514cd3f3f7f9f67db45940db",
|
||||
"sha256": "038dss49bfvpj15psh5pr9jyavivninl0rzga9cn8qyc4g2cj5i0"
|
||||
},
|
||||
"meta": {
|
||||
"updated": "2019-10-25T22:28:25+00:00",
|
||||
"rev": "6182914aefea06ef514cd3f3f7f9f67db45940db"
|
||||
}
|
||||
},
|
||||
"org-yt": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"args": {
|
||||
"owner": "TobiasZawada",
|
||||
"repo": "org-yt",
|
||||
"rev": "40cc1ac76d741055cbefa13860d9f070a7ade001",
|
||||
"sha256": "0jsm3azb7lwikvc53z4p91av8qvda9s15wij153spkgjp83kld3p"
|
||||
},
|
||||
"meta": {
|
||||
"updated": "2019-10-25T22:28:27+00:00",
|
||||
"rev": "40cc1ac76d741055cbefa13860d9f070a7ade001"
|
||||
}
|
||||
},
|
||||
"emacs-overlay": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"args": {
|
||||
"owner": "nix-community",
|
||||
"repo": "emacs-overlay",
|
||||
"rev": "daf9002714e9adfa415a385d939539524482142d",
|
||||
"sha256": "1w3zyk4847h1avd50cs1r7apw37bsyslv17vjkdk4h0r4gqz9cvs"
|
||||
},
|
||||
"meta": {
|
||||
"updated": "2019-10-25T22:28:28+00:00",
|
||||
"rev": "daf9002714e9adfa415a385d939539524482142d"
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user