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)
|
{ # The files would be going to ~/.config/doom (~/.doom.d)
|
||||||
doomPrivateDir
|
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
|
, 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
|
, lib
|
||||||
, pkgs
|
, pkgs
|
||||||
, stdenv
|
, stdenv
|
||||||
@ -14,6 +34,12 @@
|
|||||||
, writeTextDir }:
|
, writeTextDir }:
|
||||||
|
|
||||||
let
|
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
|
# Packages we need to get the default doom configuration run
|
||||||
overrides = self: super: {
|
overrides = self: super: {
|
||||||
evil-escape = super.evil-escape.overrideAttrs (esuper: {
|
evil-escape = super.evil-escape.overrideAttrs (esuper: {
|
||||||
@ -24,24 +50,14 @@ let
|
|||||||
version = "1";
|
version = "1";
|
||||||
recipe = null;
|
recipe = null;
|
||||||
ename = pname;
|
ename = pname;
|
||||||
src = fetchFromGitHub {
|
src = lock.get pname;
|
||||||
owner = "TobiasZawada";
|
|
||||||
repo = "org-yt";
|
|
||||||
rev = "40cc1ac76d741055cbefa13860d9f070a7ade001";
|
|
||||||
sha256 = "0jsm3azb7lwikvc53z4p91av8qvda9s15wij153spkgjp83kld3p";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Stage 1: prepare source for byte-compilation
|
# Stage 1: prepare source for byte-compilation
|
||||||
doomSrc = stdenv.mkDerivation {
|
doomSrc = stdenv.mkDerivation {
|
||||||
name = "doom-src";
|
name = "doom-src";
|
||||||
src = fetchFromGitHub {
|
src = lock.get "doom-emacs";
|
||||||
owner = "hlissner";
|
|
||||||
repo = "doom-emacs";
|
|
||||||
rev = "eb2a67d05ff4b178fedabd36ce448191cce8d6bb";
|
|
||||||
sha256 = "05nhsn4q2bbs8m7x88ci2k7cq7hc7ql6xkyv0hmz762ip8g1jvlp";
|
|
||||||
};
|
|
||||||
phases = ["unpackPhase" "patchPhase" "installPhase"];
|
phases = ["unpackPhase" "patchPhase" "installPhase"];
|
||||||
patches = [
|
patches = [
|
||||||
(substituteAll {
|
(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
|
# Stage 2:: install dependencies and byte-compile prepared source
|
||||||
doomLocal =
|
doomLocal =
|
||||||
let
|
let
|
||||||
straight-env = pkgs.callPackage (fetchFromGitHub {
|
straight-env = pkgs.callPackage (lock.get "nix-straight.el") {
|
||||||
owner = "vlaci";
|
emacsPackages =
|
||||||
repo = "nix-straight.el";
|
if bundledPackages then
|
||||||
rev = "v1.0";
|
let
|
||||||
sha256 = "038dss49bfvpj15psh5pr9jyavivninl0rzga9cn8qyc4g2cj5i0";
|
epkgs = emacs-overlay.emacsPackagesNgFor emacsPackages.emacs;
|
||||||
}) {
|
in epkgs.overrideScope' overrides
|
||||||
emacsPackages = emacsPackages.overrideScope' overrides;
|
else
|
||||||
|
emacsPackages.overrideScope' overrides;
|
||||||
emacsLoadFiles = [ ./advice.el ];
|
emacsLoadFiles = [ ./advice.el ];
|
||||||
emacsArgs = [
|
emacsArgs = [
|
||||||
"install"
|
"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