Merge pull request #267 from thiagokokada/refactor-flake-nix

Refactor flake.nix
This commit is contained in:
Thiago Kenji Okada
2022-11-05 12:31:08 +00:00
committed by GitHub
5 changed files with 38 additions and 21 deletions

View File

@ -2,6 +2,7 @@
{ self, nixpkgs, emacs-overlay, ... }@inputs: { self, nixpkgs, emacs-overlay, ... }@inputs:
let let
inherit (self.outputs.packages.${system}) doom-emacs-example;
pkgs = import nixpkgs { pkgs = import nixpkgs {
inherit system; inherit system;
# we are not using emacs-overlay's flake.nix here, # we are not using emacs-overlay's flake.nix here,
@ -32,13 +33,8 @@ in
}; };
}; };
}).activationPackage; }).activationPackage;
init-example-el = self.outputs.package.${system} { init-example-el = doom-emacs-example;
doomPrivateDir = ./test/doom.d; init-example-el-emacsGit = doom-emacs-example.override {
dependencyOverrides = inputs;
};
init-example-el-emacsGit = self.outputs.package.${system} {
doomPrivateDir = ./test/doom.d;
dependencyOverrides = inputs;
emacsPackages = with pkgs; emacsPackagesFor emacsGit; emacsPackages = with pkgs; emacsPackagesFor emacsGit;
}; };
init-example-el-splitdir = self.outputs.package.${system} { init-example-el-splitdir = self.outputs.package.${system} {

View File

@ -50,13 +50,13 @@
See overrides.nix for addition examples. See overrides.nix for addition examples.
Example: Example:
emacsPackagesOverlay = self: super: { emacsPackagesOverlay = final: prev: {
magit-delta = super.magit-delta.overrideAttrs (esuper: { magit-delta = super.magit-delta.overrideAttrs (esuper: {
buildInputs = esuper.buildInputs ++ [ pkgs.git ]; buildInputs = esuper.buildInputs ++ [ pkgs.git ];
}); });
}; };
*/ */
, emacsPackagesOverlay ? self: super: { } , emacsPackagesOverlay ? final: prev: { }
/* Use bundled revision of github.com/nix-community/emacs-overlay /* Use bundled revision of github.com/nix-community/emacs-overlay
as `emacsPackages`. as `emacsPackages`.
*/ */

View File

@ -2,8 +2,8 @@
{ {
inputs = { inputs = {
home-manager.url = "github:rycee/home-manager"; home-manager.url = "github:nix-community/home-manager";
nix-doom-emacs.url = "github:nix-community/nix-doom-emacs/flake"; nix-doom-emacs.url = "github:nix-community/nix-doom-emacs";
}; };
outputs = { outputs = {
@ -88,18 +88,39 @@
flake-compat.flake = false; flake-compat.flake = false;
}; };
outputs = { self, nixpkgs, flake-utils, emacs-overlay, ... }@inputs: outputs = { self, nixpkgs, flake-utils, ... }@inputs:
let inherit (flake-utils.lib) eachDefaultSystem eachSystem; let inherit (flake-utils.lib) eachDefaultSystem mkApp;
in eachDefaultSystem (system: in eachDefaultSystem (system:
let pkgs = import nixpkgs { inherit system; }; let pkgs = import nixpkgs { inherit system; };
in { in {
devShell = pkgs.mkShell { apps = {
default = self.outputs.apps.${system}.doom-emacs-example;
doom-emacs-example = mkApp {
drv = self.outputs.packages.${system}.doom-emacs-example;
exePath = "/bin/emacs";
};
};
devShells.default = pkgs.mkShell {
buildInputs = buildInputs =
[ (pkgs.python3.withPackages (ps: with ps; [ PyGithub ])) ]; [ (pkgs.python3.withPackages (ps: with ps; [ PyGithub ])) ];
}; };
package = { dependencyOverrides ? { }, ... }@args:
pkgs.callPackage self package = { ... }@args:
(args // { dependencyOverrides = (inputs // dependencyOverrides); }); pkgs.lib.warn ''
nix-doom-emacs no longer supports the deprecated `package` flake output.
It will be removed after the release of NixOS 23.05.
Please use `packages.${system}.default.override { ... }` instead!
''
(pkgs.callPackage self args);
packages = {
default = self.outputs.packages.${system}.doom-emacs-example;
doom-emacs-example = pkgs.callPackage self {
doomPrivateDir = ./test/doom.d;
};
};
checks = import ./checks.nix { inherit system; } inputs; checks = import ./checks.nix { inherit system; } inputs;
}) // { }) // {
hmModule = import ./modules/home-manager.nix inputs; hmModule = import ./modules/home-manager.nix inputs;

View File

@ -87,10 +87,10 @@ in
package customization. package customization.
''; '';
type = with types; overlayType; type = with types; overlayType;
default = self: super: { }; default = final: prev: { };
defaultText = "self: super { }"; defaultText = "final: prev: { }";
example = literalExample '' example = literalExample ''
self: super: { final: prev: {
magit-delta = super.magit-delta.overrideAttrs (esuper: { magit-delta = super.magit-delta.overrideAttrs (esuper: {
buildInputs = esuper.buildInputs ++ [ pkgs.git ]; buildInputs = esuper.buildInputs ++ [ pkgs.git ];
}); });

View File

@ -11,7 +11,7 @@ self: super: {
doom-snippets = self.straightBuild { doom-snippets = self.straightBuild {
pname = "doom-snippets"; pname = "doom-snippets";
postInstall = '' postInstall = ''
cp -r *-mode $out/share/emacs/site-lisp cp -r *-mode $out/share/emacs/site-lisp
''; '';
}; };