Emacs source as flake input

This commit is contained in:
Andrea Ciceri 2023-01-13 18:23:06 +01:00
parent 23440c23d7
commit bc97d08de5
No known key found for this signature in database
GPG key ID: A1FC89532D1C5654
4 changed files with 31 additions and 9 deletions

18
flake.lock generated
View file

@ -146,6 +146,23 @@
"type": "github" "type": "github"
} }
}, },
"emacsSource": {
"flake": false,
"locked": {
"lastModified": 1673616960,
"narHash": "sha256-nO3HbhF5s4Dg3WXe8lDoew2STks1cVU3vHIWd7ePFBQ=",
"ref": "emacs-29",
"rev": "861556c1339cd65842ec3e24ba48590e6b72bd48",
"revCount": 164162,
"type": "git",
"url": "git://git.savannah.gnu.org/emacs.git"
},
"original": {
"ref": "emacs-29",
"type": "git",
"url": "git://git.savannah.gnu.org/emacs.git"
}
},
"evil-escape": { "evil-escape": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -748,6 +765,7 @@
"agenix": "agenix", "agenix": "agenix",
"comma": "comma", "comma": "comma",
"doomEmacs": "doomEmacs", "doomEmacs": "doomEmacs",
"emacsSource": "emacsSource",
"homeManager": "homeManager", "homeManager": "homeManager",
"nixosHardware": "nixosHardware", "nixosHardware": "nixosHardware",
"nixpkgsStable": "nixpkgsStable", "nixpkgsStable": "nixpkgsStable",

View file

@ -15,6 +15,10 @@
doomEmacs.url = "github:nix-community/nix-doom-emacs"; doomEmacs.url = "github:nix-community/nix-doom-emacs";
comma.url = "github:nix-community/comma"; comma.url = "github:nix-community/comma";
rock5b.url = "github:aciceri/rock5b-nixos"; rock5b.url = "github:aciceri/rock5b-nixos";
emacsSource = {
url = "git://git.savannah.gnu.org/emacs.git?ref=emacs-29";
flake = false;
};
}; };
outputs = {self, ...} @ inputs: let outputs = {self, ...} @ inputs: let
utils = import ./utils inputs; utils = import ./utils inputs;

View file

@ -4,8 +4,6 @@
lib, lib,
... ...
}: let }: let
rev = "72a94f91fd0570556ce770dc3a39e658f7588f7e"; # Current master, Emacs 29, seems a good commit
sha256 = "e5kKIEZJB9BGbBvGtiPK3gNygFoGxkG02nRLCwnGtmk=";
emacsMaster = emacsMaster =
(pkgs.emacs.override { (pkgs.emacs.override {
nativeComp = true; nativeComp = true;
@ -14,17 +12,13 @@
withGTK3 = true; withGTK3 = true;
}) })
.overrideAttrs (old: { .overrideAttrs (old: {
src = pkgs.fetchFromSavannah { src = pkgs.emacsSource;
repo = "emacs";
inherit rev sha256;
};
version = rev;
patches = []; patches = [];
postPatch = postPatch =
old.postPatch old.postPatch
+ '' + ''
substituteInPlace lisp/loadup.el \ substituteInPlace lisp/loadup.el \
--replace '(emacs-repository-get-version)' '"${rev}"' \ --replace '(emacs-repository-get-version)' '"${pkgs.emacsSource.rev}"' \
--replace '(emacs-repository-get-branch)' '"master"' --replace '(emacs-repository-get-branch)' '"master"'
'' ''
+ (lib.optionalString (old ? NATIVE_FULL_AOT) + (lib.optionalString (old ? NATIVE_FULL_AOT)

View file

@ -8,6 +8,7 @@
nur, nur,
preCommitHooks, preCommitHooks,
rock5b, rock5b,
emacsSource,
self, self,
... ...
}: let }: let
@ -43,7 +44,12 @@
value.file = ./.. + "/${name}"; value.file = ./.. + "/${name}";
}) (import ../secrets); }) (import ../secrets);
}; };
nixpkgs.overlays = [agenix.overlay comma.overlays.default nur.overlay]; nixpkgs.overlays = [
agenix.overlay
comma.overlays.default
nur.overlay
(_: _: {inherit emacsSource;})
];
} }
(../hosts + "/${name}") (../hosts + "/${name}")
homeManager.nixosModule homeManager.nixosModule