mirror of
https://github.com/nix-community/nix-doom-emacs
synced 2025-08-25 14:13:38 -05:00
Updating sources using niv
to track versions
It is nice tool for the job I have not yet known about
This commit is contained in:
24
default.nix
24
default.nix
@@ -53,12 +53,10 @@
|
|||||||
, writeTextDir }:
|
, writeTextDir }:
|
||||||
|
|
||||||
let
|
let
|
||||||
lock = pkgs.callPackage
|
sources = import ./nix/sources.nix;
|
||||||
"${builtins.fetchTarball https://github.com/vlaci/nix-lock/archive/develop.tar.gz}/lock.nix" {
|
lock = p: if dependencyOverrides ? p
|
||||||
path = ./derivations.lock;
|
then dependencyOverrides.${p}
|
||||||
overrides = dependencyOverrides;
|
else sources.${p};
|
||||||
};
|
|
||||||
|
|
||||||
# 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: {
|
||||||
@@ -67,7 +65,7 @@ let
|
|||||||
straightBuild = { pname, ... }@args: self.trivialBuild ({
|
straightBuild = { pname, ... }@args: self.trivialBuild ({
|
||||||
ename = pname;
|
ename = pname;
|
||||||
version = "1";
|
version = "1";
|
||||||
src = lock.get pname;
|
src = lock pname;
|
||||||
buildPhase = ":";
|
buildPhase = ":";
|
||||||
} // args);
|
} // args);
|
||||||
doom-snippets = self.straightBuild {
|
doom-snippets = self.straightBuild {
|
||||||
@@ -105,19 +103,17 @@ let
|
|||||||
pname = "php-extras";
|
pname = "php-extras";
|
||||||
};
|
};
|
||||||
rotate-text = self.straightBuild {
|
rotate-text = self.straightBuild {
|
||||||
pname = "rotate-text";
|
pname = "rotate-text.el";
|
||||||
ename = "rotate-text.el";
|
|
||||||
};
|
};
|
||||||
so-long = self.straightBuild {
|
so-long = self.straightBuild {
|
||||||
pname = "so-long";
|
pname = "emacs-so-long";
|
||||||
ename = "emacs-so-long";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# 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 = lock.get "doom-emacs";
|
src = lock "doom-emacs";
|
||||||
phases = ["unpackPhase" "patchPhase" "installPhase"];
|
phases = ["unpackPhase" "patchPhase" "installPhase"];
|
||||||
patches = [
|
patches = [
|
||||||
(substituteAll {
|
(substituteAll {
|
||||||
@@ -132,12 +128,12 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Bundled version of `emacs-overlay`
|
# Bundled version of `emacs-overlay`
|
||||||
emacs-overlay = import (lock.get "emacs-overlay") pkgs pkgs;
|
emacs-overlay = import (lock "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 (lock.get "nix-straight.el") {
|
straight-env = pkgs.callPackage (lock "nix-straight.el") {
|
||||||
emacsPackages =
|
emacsPackages =
|
||||||
if bundledPackages then
|
if bundledPackages then
|
||||||
let
|
let
|
||||||
|
@@ -1,52 +0,0 @@
|
|||||||
{
|
|
||||||
"doom-emacs": {
|
|
||||||
"repo": "doom-emacs",
|
|
||||||
"owner": "hlissner",
|
|
||||||
"rev": "develop"
|
|
||||||
},
|
|
||||||
"nix-straight.el": {
|
|
||||||
"owner": "vlaci",
|
|
||||||
"repo": "nix-straight.el",
|
|
||||||
"rev": "v1.2.0"
|
|
||||||
},
|
|
||||||
"doom-snippets": {
|
|
||||||
"owner": "hlissner",
|
|
||||||
"repo": "doom-snippets"
|
|
||||||
},
|
|
||||||
"evil-markdown": {
|
|
||||||
"owner": "Somelauw",
|
|
||||||
"repo": "evil-markdown"
|
|
||||||
},
|
|
||||||
"evil-org-mode": {
|
|
||||||
"owner": "hlissner",
|
|
||||||
"repo": "evil-org-mode"
|
|
||||||
},
|
|
||||||
"evil-quick-diff": {
|
|
||||||
"owner": "rgrinberg",
|
|
||||||
"repo": "evil-quick-diff"
|
|
||||||
},
|
|
||||||
"org-mode": {
|
|
||||||
"owner": "emacs-straight",
|
|
||||||
"repo": "org-mode"
|
|
||||||
},
|
|
||||||
"org-yt": {
|
|
||||||
"owner": "TobiasZawada",
|
|
||||||
"repo": "org-yt"
|
|
||||||
},
|
|
||||||
"php-extras": {
|
|
||||||
"owner": "arnested",
|
|
||||||
"repo": "php-extras"
|
|
||||||
},
|
|
||||||
"rotate-text": {
|
|
||||||
"owner": "debug-ito",
|
|
||||||
"repo": "rotate-text.el"
|
|
||||||
},
|
|
||||||
"so-long": {
|
|
||||||
"owner": "hlissner",
|
|
||||||
"repo": "emacs-so-long"
|
|
||||||
},
|
|
||||||
"emacs-overlay": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "emacs-overlay"
|
|
||||||
}
|
|
||||||
}
|
|
158
derivations.lock
158
derivations.lock
@@ -1,158 +0,0 @@
|
|||||||
{
|
|
||||||
"doom-emacs": {
|
|
||||||
"fetcher": "fetchFromGitHub",
|
|
||||||
"args": {
|
|
||||||
"owner": "hlissner",
|
|
||||||
"repo": "doom-emacs",
|
|
||||||
"rev": "b0978a4526cfd78bb18e5279909c19bee97e9878",
|
|
||||||
"sha256": "0ydjzp87zcz4bfnqcqs0fyxdbv4273h21ir1sjny2lln3d3w7zzw"
|
|
||||||
},
|
|
||||||
"meta": {
|
|
||||||
"updated": "2020-02-15T09:39:33+00:00",
|
|
||||||
"rev": "b0978a4526cfd78bb18e5279909c19bee97e9878"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nix-straight.el": {
|
|
||||||
"fetcher": "fetchFromGitHub",
|
|
||||||
"args": {
|
|
||||||
"owner": "vlaci",
|
|
||||||
"repo": "nix-straight.el",
|
|
||||||
"rev": "446f3d70f1816305130f307c0cf2bc8db77ed698",
|
|
||||||
"sha256": "1p4yp46kwhii8w9yf882fca9r3addn91wg6f4mv62wnkfm0i6q0f"
|
|
||||||
},
|
|
||||||
"meta": {
|
|
||||||
"updated": "2020-01-25T18:43:31+00:00",
|
|
||||||
"rev": "446f3d70f1816305130f307c0cf2bc8db77ed698"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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": "af3182aa950a3c591df7d2007fedf658c6cbc687",
|
|
||||||
"sha256": "09yqs9h4zwcshhkvzdzlkixs1mprdrmknh05kqv7c3pq1ir0daiz"
|
|
||||||
},
|
|
||||||
"meta": {
|
|
||||||
"updated": "2020-02-15T09:39:40+00:00",
|
|
||||||
"rev": "af3182aa950a3c591df7d2007fedf658c6cbc687"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"evil-markdown": {
|
|
||||||
"fetcher": "fetchFromGitHub",
|
|
||||||
"args": {
|
|
||||||
"owner": "Somelauw",
|
|
||||||
"repo": "evil-markdown",
|
|
||||||
"rev": "46cd81b37991c4325fc24015a610f832b0ff995d",
|
|
||||||
"sha256": "0mad8sp5y9vyk28595qygspnyh8bfmb1fbxjlw70qwc1kdn822n4"
|
|
||||||
},
|
|
||||||
"meta": {
|
|
||||||
"updated": "2019-11-23T14:33:01+00:00",
|
|
||||||
"rev": "46cd81b37991c4325fc24015a610f832b0ff995d"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"php-extras": {
|
|
||||||
"fetcher": "fetchFromGitHub",
|
|
||||||
"args": {
|
|
||||||
"owner": "arnested",
|
|
||||||
"repo": "php-extras",
|
|
||||||
"rev": "81ebd7c1a8c8d02b2775d4cdbf73653feb608a7c",
|
|
||||||
"sha256": "181dg1z00qagwb9qd45fpcrya32mdgj8dnkpnfv52lqmi94vvzg0"
|
|
||||||
},
|
|
||||||
"meta": {
|
|
||||||
"updated": "2019-11-23T14:33:03+00:00",
|
|
||||||
"rev": "81ebd7c1a8c8d02b2775d4cdbf73653feb608a7c"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"so-long": {
|
|
||||||
"fetcher": "fetchFromGitHub",
|
|
||||||
"args": {
|
|
||||||
"owner": "hlissner",
|
|
||||||
"repo": "emacs-so-long",
|
|
||||||
"rev": "ed666b0716f60e8988c455804de24b55919e71ca",
|
|
||||||
"sha256": "0bc6nrdrvj422g15zqn00vs7ga9bq5c3hdg7ml1kls8rxp6bk1n4"
|
|
||||||
},
|
|
||||||
"meta": {
|
|
||||||
"updated": "2019-12-21T13:21:48+00:00",
|
|
||||||
"rev": "ed666b0716f60e8988c455804de24b55919e71ca"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"evil-quick-diff": {
|
|
||||||
"fetcher": "fetchFromGitHub",
|
|
||||||
"args": {
|
|
||||||
"owner": "rgrinberg",
|
|
||||||
"repo": "evil-quick-diff",
|
|
||||||
"rev": "69c883720b30a892c63bc89f49d4f0e8b8028908",
|
|
||||||
"sha256": "15cww264lhddxh0d2ca5qd5nq5pda8hs4nj8mcpb5xlnmkayav50"
|
|
||||||
},
|
|
||||||
"meta": {
|
|
||||||
"updated": "2019-12-01T14:49:48+00:00",
|
|
||||||
"rev": "69c883720b30a892c63bc89f49d4f0e8b8028908"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"evil-org-mode": {
|
|
||||||
"fetcher": "fetchFromGitHub",
|
|
||||||
"args": {
|
|
||||||
"owner": "hlissner",
|
|
||||||
"repo": "evil-org-mode",
|
|
||||||
"rev": "4d44e9bbdc3ae35d0050ca298886710f6531f434",
|
|
||||||
"sha256": "0kp19q58rqi2x31g5fqqy5rzw7ymxsa9iaxj3f9rya9zyyma6g59"
|
|
||||||
},
|
|
||||||
"meta": {
|
|
||||||
"updated": "2020-01-07T11:56:38+00:00",
|
|
||||||
"rev": "4d44e9bbdc3ae35d0050ca298886710f6531f434"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"org-mode": {
|
|
||||||
"fetcher": "fetchFromGitHub",
|
|
||||||
"args": {
|
|
||||||
"owner": "emacs-straight",
|
|
||||||
"repo": "org-mode",
|
|
||||||
"rev": "e361c640435af947fab201c1fe60f25843edb5e9",
|
|
||||||
"sha256": "15hbrsz45zhvh09qsijmw9x38zzaiymsmczafyfql68ar2s1slgj"
|
|
||||||
},
|
|
||||||
"meta": {
|
|
||||||
"updated": "2020-02-15T09:39:37+00:00",
|
|
||||||
"rev": "e361c640435af947fab201c1fe60f25843edb5e9"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"doom-snippets": {
|
|
||||||
"fetcher": "fetchFromGitHub",
|
|
||||||
"args": {
|
|
||||||
"owner": "hlissner",
|
|
||||||
"repo": "doom-snippets",
|
|
||||||
"rev": "4a0e675e1a4713dc8b3c020b30cad18ef4d7401d",
|
|
||||||
"sha256": "0b3vdwm9brnjgivxd3icz5znjhjhzqkd38nn9qamk4n09d7h2nd7"
|
|
||||||
},
|
|
||||||
"meta": {
|
|
||||||
"updated": "2020-02-15T09:48:50+00:00",
|
|
||||||
"rev": "4a0e675e1a4713dc8b3c020b30cad18ef4d7401d"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"rotate-text": {
|
|
||||||
"fetcher": "fetchFromGitHub",
|
|
||||||
"args": {
|
|
||||||
"owner": "debug-ito",
|
|
||||||
"repo": "rotate-text.el",
|
|
||||||
"rev": "48f193697db996855aee1ad2bc99b38c6646fe76",
|
|
||||||
"sha256": "02fkv45nbbqrv12czlinpr8qpsd7yjdhr628hl58n42w560qxrs8"
|
|
||||||
},
|
|
||||||
"meta": {
|
|
||||||
"updated": "2020-02-15T09:48:53+00:00",
|
|
||||||
"rev": "48f193697db996855aee1ad2bc99b38c6646fe76"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
158
nix/sources.json
Normal file
158
nix/sources.json
Normal file
@@ -0,0 +1,158 @@
|
|||||||
|
{
|
||||||
|
"doom-emacs": {
|
||||||
|
"branch": "develop",
|
||||||
|
"description": "An Emacs configuration for the stubborn martian vimmer",
|
||||||
|
"homepage": "",
|
||||||
|
"owner": "hlissner",
|
||||||
|
"repo": "doom-emacs",
|
||||||
|
"rev": "f645675e4c03c613c76e36230594e4b0ea7fbaeb",
|
||||||
|
"sha256": "1payhw79x90ms3ahr09qkzagg0dg40js5fsdr8wwyf0si8nl9awr",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/hlissner/doom-emacs/archive/f645675e4c03c613c76e36230594e4b0ea7fbaeb.tar.gz",
|
||||||
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
|
},
|
||||||
|
"doom-snippets": {
|
||||||
|
"branch": "master",
|
||||||
|
"description": "The Doom Emacs snippets library",
|
||||||
|
"homepage": "",
|
||||||
|
"owner": "hlissner",
|
||||||
|
"repo": "doom-snippets",
|
||||||
|
"rev": "1449fdaf9a3755c16c6b5b7c0de36b9de520afed",
|
||||||
|
"sha256": "0mbjdgn602bgnx2mi5925m4ss4y95ywh7jk1qnka74zpa34dfgnq",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/hlissner/doom-snippets/archive/1449fdaf9a3755c16c6b5b7c0de36b9de520afed.tar.gz",
|
||||||
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
|
},
|
||||||
|
"emacs-overlay": {
|
||||||
|
"branch": "master",
|
||||||
|
"description": "Bleeding edge emacs overlay [maintainer=@adisbladis] ",
|
||||||
|
"homepage": "",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "emacs-overlay",
|
||||||
|
"rev": "34b22694b4859416d5b84dbfc423e4444dc52a62",
|
||||||
|
"sha256": "0yawmp08md1mzzvixhyn9lkv7jkwya8xd76pskbp1k1czqlsn5p9",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/nix-community/emacs-overlay/archive/34b22694b4859416d5b84dbfc423e4444dc52a62.tar.gz",
|
||||||
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
|
},
|
||||||
|
"emacs-so-long": {
|
||||||
|
"branch": "master",
|
||||||
|
"description": "A mirror of the so-long package (until it's on ELPA)",
|
||||||
|
"homepage": "https://git.savannah.gnu.org/git/so-long.git/",
|
||||||
|
"owner": "hlissner",
|
||||||
|
"repo": "emacs-so-long",
|
||||||
|
"rev": "ed666b0716f60e8988c455804de24b55919e71ca",
|
||||||
|
"sha256": "0bc6nrdrvj422g15zqn00vs7ga9bq5c3hdg7ml1kls8rxp6bk1n4",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/hlissner/emacs-so-long/archive/ed666b0716f60e8988c455804de24b55919e71ca.tar.gz",
|
||||||
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
|
},
|
||||||
|
"evil-markdown": {
|
||||||
|
"branch": "master",
|
||||||
|
"description": "Integrates emacs evil and markdown",
|
||||||
|
"homepage": null,
|
||||||
|
"owner": "Somelauw",
|
||||||
|
"repo": "evil-markdown",
|
||||||
|
"rev": "46cd81b37991c4325fc24015a610f832b0ff995d",
|
||||||
|
"sha256": "0mad8sp5y9vyk28595qygspnyh8bfmb1fbxjlw70qwc1kdn822n4",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/Somelauw/evil-markdown/archive/46cd81b37991c4325fc24015a610f832b0ff995d.tar.gz",
|
||||||
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
|
},
|
||||||
|
"evil-org-mode": {
|
||||||
|
"branch": "master",
|
||||||
|
"description": "Supplemental evil-mode keybindings to emacs org-mode",
|
||||||
|
"homepage": null,
|
||||||
|
"owner": "hlissner",
|
||||||
|
"repo": "evil-org-mode",
|
||||||
|
"rev": "4d44e9bbdc3ae35d0050ca298886710f6531f434",
|
||||||
|
"sha256": "0kp19q58rqi2x31g5fqqy5rzw7ymxsa9iaxj3f9rya9zyyma6g59",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/hlissner/evil-org-mode/archive/4d44e9bbdc3ae35d0050ca298886710f6531f434.tar.gz",
|
||||||
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
|
},
|
||||||
|
"evil-quick-diff": {
|
||||||
|
"branch": "master",
|
||||||
|
"description": "linediff.vim for evil",
|
||||||
|
"homepage": null,
|
||||||
|
"owner": "rgrinberg",
|
||||||
|
"repo": "evil-quick-diff",
|
||||||
|
"rev": "69c883720b30a892c63bc89f49d4f0e8b8028908",
|
||||||
|
"sha256": "15cww264lhddxh0d2ca5qd5nq5pda8hs4nj8mcpb5xlnmkayav50",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/rgrinberg/evil-quick-diff/archive/69c883720b30a892c63bc89f49d4f0e8b8028908.tar.gz",
|
||||||
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
|
},
|
||||||
|
"nix-straight.el": {
|
||||||
|
"branch": "v1.2.0",
|
||||||
|
"description": null,
|
||||||
|
"homepage": null,
|
||||||
|
"owner": "vlaci",
|
||||||
|
"repo": "nix-straight.el",
|
||||||
|
"rev": "446f3d70f1816305130f307c0cf2bc8db77ed698",
|
||||||
|
"sha256": "1p4yp46kwhii8w9yf882fca9r3addn91wg6f4mv62wnkfm0i6q0f",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/vlaci/nix-straight.el/archive/446f3d70f1816305130f307c0cf2bc8db77ed698.tar.gz",
|
||||||
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"branch": "nixos-19.09",
|
||||||
|
"description": "A read-only mirror of NixOS/nixpkgs tracking the released channels. Send issues and PRs to",
|
||||||
|
"homepage": "https://github.com/NixOS/nixpkgs",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs-channels",
|
||||||
|
"rev": "8731aaaf8b30888bc24994096db830993090d7c4",
|
||||||
|
"sha256": "1hcc89rxi47nb0mpk05nl9rbbb04kfw97xfydhpmmgh57yrp3zqa",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/NixOS/nixpkgs-channels/archive/8731aaaf8b30888bc24994096db830993090d7c4.tar.gz",
|
||||||
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
|
},
|
||||||
|
"org-mode": {
|
||||||
|
"branch": "master",
|
||||||
|
"description": "Mirror of org-mode from orgmode.org",
|
||||||
|
"homepage": "https://code.orgmode.org/bzg/org-mode",
|
||||||
|
"owner": "emacs-straight",
|
||||||
|
"repo": "org-mode",
|
||||||
|
"rev": "bc75b75d9f15da387adf47b6d53a21fae09670b0",
|
||||||
|
"sha256": "1sjy57zv4638r0ysz58jrckslz3mc5myi3lvj9lzax2klxndrv6s",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/emacs-straight/org-mode/archive/bc75b75d9f15da387adf47b6d53a21fae09670b0.tar.gz",
|
||||||
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
|
},
|
||||||
|
"org-yt": {
|
||||||
|
"branch": "master",
|
||||||
|
"description": "Youtube links in org-mode, see https://emacs.stackexchange.com/questions/38098/org-mode-custom-youtube-link-syntax",
|
||||||
|
"homepage": null,
|
||||||
|
"owner": "TobiasZawada",
|
||||||
|
"repo": "org-yt",
|
||||||
|
"rev": "40cc1ac76d741055cbefa13860d9f070a7ade001",
|
||||||
|
"sha256": "0jsm3azb7lwikvc53z4p91av8qvda9s15wij153spkgjp83kld3p",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/TobiasZawada/org-yt/archive/40cc1ac76d741055cbefa13860d9f070a7ade001.tar.gz",
|
||||||
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
|
},
|
||||||
|
"php-extras": {
|
||||||
|
"branch": "develop",
|
||||||
|
"description": "Extra features for Emacs `php-mode'.",
|
||||||
|
"homepage": "http://marmalade-repo.org/packages/php-extras",
|
||||||
|
"owner": "arnested",
|
||||||
|
"repo": "php-extras",
|
||||||
|
"rev": "d410c5af663c30c01d461ac476d1cbfbacb49367",
|
||||||
|
"sha256": "0mcgwisnqplav0ga8xqqw72523iv841wp2cyw7d4lkzgpiav51dg",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/arnested/php-extras/archive/d410c5af663c30c01d461ac476d1cbfbacb49367.tar.gz",
|
||||||
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
|
},
|
||||||
|
"rotate-text.el": {
|
||||||
|
"branch": "master",
|
||||||
|
"description": "Emacs: cycle through words, symbols and patterns",
|
||||||
|
"homepage": "http://nschum.de/src/emacs/rotate-text/",
|
||||||
|
"owner": "debug-ito",
|
||||||
|
"repo": "rotate-text.el",
|
||||||
|
"rev": "48f193697db996855aee1ad2bc99b38c6646fe76",
|
||||||
|
"sha256": "02fkv45nbbqrv12czlinpr8qpsd7yjdhr628hl58n42w560qxrs8",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/debug-ito/rotate-text.el/archive/48f193697db996855aee1ad2bc99b38c6646fe76.tar.gz",
|
||||||
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
|
}
|
||||||
|
}
|
128
nix/sources.nix
Normal file
128
nix/sources.nix
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
# This file has been generated by Niv.
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
#
|
||||||
|
# The fetchers. fetch_<type> fetches specs of type <type>.
|
||||||
|
#
|
||||||
|
|
||||||
|
fetch_file = spec:
|
||||||
|
if spec.builtin or true then
|
||||||
|
builtins_fetchurl { inherit (spec) url sha256; }
|
||||||
|
else
|
||||||
|
pkgs.fetchurl { inherit (spec) url sha256; };
|
||||||
|
|
||||||
|
fetch_tarball = spec:
|
||||||
|
if spec.builtin or true then
|
||||||
|
builtins_fetchTarball { inherit (spec) url sha256; }
|
||||||
|
else
|
||||||
|
pkgs.fetchzip { inherit (spec) url sha256; };
|
||||||
|
|
||||||
|
fetch_git = spec:
|
||||||
|
builtins.fetchGit { url = spec.repo; inherit (spec) rev ref; };
|
||||||
|
|
||||||
|
fetch_builtin-tarball = spec:
|
||||||
|
builtins.trace
|
||||||
|
''
|
||||||
|
WARNING:
|
||||||
|
The niv type "builtin-tarball" will soon be deprecated. You should
|
||||||
|
instead use `builtin = true`.
|
||||||
|
|
||||||
|
$ niv modify <package> -a type=tarball -a builtin=true
|
||||||
|
''
|
||||||
|
builtins_fetchTarball { inherit (spec) url sha256; };
|
||||||
|
|
||||||
|
fetch_builtin-url = spec:
|
||||||
|
builtins.trace
|
||||||
|
''
|
||||||
|
WARNING:
|
||||||
|
The niv type "builtin-url" will soon be deprecated. You should
|
||||||
|
instead use `builtin = true`.
|
||||||
|
|
||||||
|
$ niv modify <package> -a type=file -a builtin=true
|
||||||
|
''
|
||||||
|
(builtins_fetchurl { inherit (spec) url sha256; });
|
||||||
|
|
||||||
|
#
|
||||||
|
# The sources to fetch.
|
||||||
|
#
|
||||||
|
|
||||||
|
sources = builtins.fromJSON (builtins.readFile ./sources.json);
|
||||||
|
|
||||||
|
#
|
||||||
|
# Various helpers
|
||||||
|
#
|
||||||
|
|
||||||
|
# The set of packages used when specs are fetched using non-builtins.
|
||||||
|
pkgs =
|
||||||
|
if hasNixpkgsPath
|
||||||
|
then
|
||||||
|
if hasThisAsNixpkgsPath
|
||||||
|
then import (builtins_fetchTarball { inherit (sources_nixpkgs) url sha256; }) {}
|
||||||
|
else import <nixpkgs> {}
|
||||||
|
else
|
||||||
|
import (builtins_fetchTarball { inherit (sources_nixpkgs) url sha256; }) {};
|
||||||
|
|
||||||
|
sources_nixpkgs =
|
||||||
|
if builtins.hasAttr "nixpkgs" sources
|
||||||
|
then sources.nixpkgs
|
||||||
|
else abort
|
||||||
|
''
|
||||||
|
Please specify either <nixpkgs> (through -I or NIX_PATH=nixpkgs=...) or
|
||||||
|
add a package called "nixpkgs" to your sources.json.
|
||||||
|
'';
|
||||||
|
|
||||||
|
hasNixpkgsPath = (builtins.tryEval <nixpkgs>).success;
|
||||||
|
hasThisAsNixpkgsPath =
|
||||||
|
(builtins.tryEval <nixpkgs>).success && <nixpkgs> == ./.;
|
||||||
|
|
||||||
|
# The actual fetching function.
|
||||||
|
fetch = name: spec:
|
||||||
|
|
||||||
|
if ! builtins.hasAttr "type" spec then
|
||||||
|
abort "ERROR: niv spec ${name} does not have a 'type' attribute"
|
||||||
|
else if spec.type == "file" then fetch_file spec
|
||||||
|
else if spec.type == "tarball" then fetch_tarball spec
|
||||||
|
else if spec.type == "git" then fetch_git spec
|
||||||
|
else if spec.type == "builtin-tarball" then fetch_builtin-tarball spec
|
||||||
|
else if spec.type == "builtin-url" then fetch_builtin-url spec
|
||||||
|
else
|
||||||
|
abort "ERROR: niv spec ${name} has unknown type ${builtins.toJSON spec.type}";
|
||||||
|
|
||||||
|
# Ports of functions for older nix versions
|
||||||
|
|
||||||
|
# a Nix version of mapAttrs if the built-in doesn't exist
|
||||||
|
mapAttrs = builtins.mapAttrs or (
|
||||||
|
f: set: with builtins;
|
||||||
|
listToAttrs (map (attr: { name = attr; value = f attr set.${attr}; }) (attrNames set))
|
||||||
|
);
|
||||||
|
|
||||||
|
# fetchTarball version that is compatible between all the versions of Nix
|
||||||
|
builtins_fetchTarball = { url, sha256 }@attrs:
|
||||||
|
let
|
||||||
|
inherit (builtins) lessThan nixVersion fetchTarball;
|
||||||
|
in
|
||||||
|
if lessThan nixVersion "1.12" then
|
||||||
|
fetchTarball { inherit url; }
|
||||||
|
else
|
||||||
|
fetchTarball attrs;
|
||||||
|
|
||||||
|
# fetchurl version that is compatible between all the versions of Nix
|
||||||
|
builtins_fetchurl = { url, sha256 }@attrs:
|
||||||
|
let
|
||||||
|
inherit (builtins) lessThan nixVersion fetchurl;
|
||||||
|
in
|
||||||
|
if lessThan nixVersion "1.12" then
|
||||||
|
fetchurl { inherit url; }
|
||||||
|
else
|
||||||
|
fetchurl attrs;
|
||||||
|
|
||||||
|
in
|
||||||
|
mapAttrs (
|
||||||
|
name: spec:
|
||||||
|
if builtins.hasAttr "outPath" spec
|
||||||
|
then abort
|
||||||
|
"The values in sources.json should not have an 'outPath' attribute"
|
||||||
|
else
|
||||||
|
spec // { outPath = fetch name spec; }
|
||||||
|
) sources
|
Reference in New Issue
Block a user