default.nix: run nixfmt

This commit is contained in:
ckie
2022-05-07 11:19:30 +03:00
parent 971616be1e
commit 70185befa5

View File

@@ -8,7 +8,8 @@
Example: Example:
extraPackages = epkgs: [ pkgs.mu ]; extraPackages = epkgs: [ pkgs.mu ];
*/ */
, extraPackages ? epkgs: [] , extraPackages ? epkgs:
[ ]
/* Extra configuration to source during initialization /* Extra configuration to source during initialization
Use this to refer other nix derivations. Use this to refer other nix derivations.
@@ -35,7 +36,8 @@
}); });
}; };
*/ */
, emacsPackagesOverlay ? self: super: { } , emacsPackagesOverlay ? self: super:
{ }
/* Use bundled revision of github.com/nix-community/emacs-overlay /* Use bundled revision of github.com/nix-community/emacs-overlay
as `emacsPackages`. as `emacsPackages`.
*/ */
@@ -52,32 +54,25 @@
"emacs-overlay" = fetchFromGitHub { owner = /* ...*\/; }; "emacs-overlay" = fetchFromGitHub { owner = /* ...*\/; };
}; };
*/ */
, dependencyOverrides ? { } , dependencyOverrides ? { }, lib, pkgs, stdenv, buildEnv, makeWrapper
, lib , runCommand, fetchFromGitHub, substituteAll, writeShellScript
, pkgs , writeShellScriptBin, writeTextDir }:
, stdenv
, buildEnv
, makeWrapper
, runCommand
, fetchFromGitHub
, substituteAll
, writeShellScript
, writeShellScriptBin
, writeTextDir }:
assert (lib.assertMsg ( assert (lib.assertMsg ((builtins.isPath doomPrivateDir)
(builtins.isPath doomPrivateDir) || || (lib.isDerivation doomPrivateDir) || (lib.isStorePath doomPrivateDir))
(lib.isDerivation doomPrivateDir) || "doomPrivateDir must be either a path, a derivation or a stringified store path");
(lib.isStorePath doomPrivateDir)) "doomPrivateDir must be either a path, a derivation or a stringified store path");
let let
flake = import ./flake-compat-helper.nix { src = ./.; }; flake = import ./flake-compat-helper.nix { src = ./.; };
lock = p: if dependencyOverrides ? ${p} lock = p:
then dependencyOverrides.${p} if dependencyOverrides ? ${p} then
else flake.inputs.${p}; dependencyOverrides.${p}
else
flake.inputs.${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:
(pkgs.callPackage ./overrides.nix { inherit lock; } self super) // (emacsPackagesOverlay self super); (pkgs.callPackage ./overrides.nix { inherit lock; } self super)
// (emacsPackagesOverlay self super);
# Stage 1: prepare source for byte-compilation # Stage 1: prepare source for byte-compilation
doomSrc = stdenv.mkDerivation { doomSrc = stdenv.mkDerivation {
@@ -97,32 +92,26 @@ let
}; };
fmt = { fmt = {
reset=''\\033[0m''; reset = "\\\\033[0m";
bold=''\\033[1m''; bold = "\\\\033[1m";
red=''\\033[31m''; red = "\\\\033[31m";
green=''\\033[32m''; green = "\\\\033[32m";
}; };
# Bundled version of `emacs-overlay` # Bundled version of `emacs-overlay`
emacs-overlay = import (lock "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 "nix-straight") { straight-env = pkgs.callPackage (lock "nix-straight") {
emacsPackages = emacsPackages = if bundledPackages then
if bundledPackages then let epkgs = emacs-overlay.emacsPackagesFor emacsPackages.emacs;
let
epkgs = emacs-overlay.emacsPackagesFor emacsPackages.emacs;
in epkgs.overrideScope' overrides in epkgs.overrideScope' overrides
else else
emacsPackages.overrideScope' overrides; emacsPackages.overrideScope' overrides;
emacs = emacsPackages.emacsWithPackages extraPackages; emacs = emacsPackages.emacsWithPackages extraPackages;
emacsLoadFiles = [ ./advice.el ]; emacsLoadFiles = [ ./advice.el ];
emacsArgs = [ emacsArgs = [ "--" "install" ];
"--"
"install"
];
# Need to reference a store path here, as byte-compilation will bake-in # Need to reference a store path here, as byte-compilation will bake-in
# absolute path to source files. # absolute path to source files.
@@ -220,9 +209,7 @@ let
(load "${doom-emacs}/early-init.el")) (load "${doom-emacs}/early-init.el"))
(load "${doom-emacs}/init.el") (load "${doom-emacs}/init.el")
''; '';
in (emacsPackages.emacsWithPackages (epkgs: [ in (emacsPackages.emacsWithPackages (epkgs: [ load-config-from-site ]));
load-config-from-site
]));
build-summary = writeShellScript "build-summary" '' build-summary = writeShellScript "build-summary" ''
printf "\n${fmt.green}Successfully built nix-doom-emacs!${fmt.reset}\n" printf "\n${fmt.green}Successfully built nix-doom-emacs!${fmt.reset}\n"
@@ -230,9 +217,9 @@ let
printf "${fmt.bold} ==> private configuration is installed to ${doomDir}${fmt.reset}\n" printf "${fmt.bold} ==> private configuration is installed to ${doomDir}${fmt.reset}\n"
printf "${fmt.bold} ==> Dependencies are installed to ${doomLocal}${fmt.reset}\n" printf "${fmt.bold} ==> Dependencies are installed to ${doomLocal}${fmt.reset}\n"
''; '';
in in emacs.overrideAttrs (esuper:
emacs.overrideAttrs (esuper: let
let cmd = '' cmd = ''
wrapEmacs() { wrapEmacs() {
wrapProgram $1 \ wrapProgram $1 \
--set DOOMDIR ${doomDir} \ --set DOOMDIR ${doomDir} \
@@ -262,15 +249,9 @@ emacs.overrideAttrs (esuper:
ln -s ${esuper.emacs}/share $out ln -s ${esuper.emacs}/share $out
${build-summary} ${build-summary}
''; '';
in in if esuper ? buildCommand then {
if esuper ? buildCommand then
{
buildCommand = esuper.buildCommand + cmd; buildCommand = esuper.buildCommand + cmd;
} } else if esuper ? installPhase then {
else if esuper ? installPhase then
{
installPhase = esuper.installPhase + cmd; installPhase = esuper.installPhase + cmd;
} } else
else abort "emacsWithPackages uses unknown derivation type")
abort "emacsWithPackages uses unknown derivation type"
)