refactor(packages): expose mkEmacs function

This commit is contained in:
Artur Manuel 2025-01-28 16:27:51 +00:00
commit 0c281f506d
4 changed files with 55 additions and 48 deletions

3
.editorconfig Normal file
View file

@ -0,0 +1,3 @@
[*.nix]
indent_style = space
indent_size = 2

2
.gitignore vendored
View file

@ -7,3 +7,5 @@
!/.gitignore
!/README.org
!/media
!/.editorconfig
!/lib.nix

View file

@ -11,25 +11,24 @@
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
inputs:
inputs.parts.lib.mkFlake { inherit inputs; } {
outputs = inputs: let
lib = inputs.nixpkgs.lib.extend (import ./lib.nix);
in
inputs.parts.lib.mkFlake {
inherit inputs;
specialArgs.lib = lib;
} {
systems = [
"x86_64-linux"
];
perSystem =
{
perSystem = {
pkgs,
self',
config,
system,
...
}:
let
inherit (import ./emacs/mkEmacs.nix pkgs) mkEmacs;
in
{
}: {
_module.args.pkgs = import inputs.nixpkgs {
inherit system;
overlays = [
@ -37,12 +36,16 @@
];
};
packages = {
pankomacs = mkEmacs pkgs.emacs30-pgtk;
pankomacs-x11 = mkEmacs pkgs.emacs30-gtk3;
packages = builtins.mapAttrs (_: v:
lib.mkEmacs {
inherit pkgs;
emacs = v;
}) {
pankomacs = pkgs.emacs30-pgtk;
pankomacs-x11 = pkgs.emacs30-gtk3;
};
formatter = pkgs.nixfmt-rfc-style;
formatter = pkgs.alejandra;
};
};
}

View file

@ -1,33 +1,32 @@
{ pkgs, ... }:
let
mkEmacsPackage =
{
final: prev: {
mkEmacs = {
pkgs,
emacs,
}: let
mkEmacsPackage = {
epkgs,
pname,
version,
src,
deps ? [ ],
deps ? [],
}:
epkgs.callPackage (
{ trivialBuild }:
{trivialBuild}:
trivialBuild {
inherit pname version src;
buildInputs = deps;
propagatedUserEnvPkgs = deps;
}
) { inherit (epkgs) trivialBuild; };
in
{
mkEmacs =
emacs:
) {inherit (epkgs) trivialBuild;};
in
pkgs.emacsWithPackagesFromUsePackage {
package = emacs;
defaultInitFile = true;
config = ./config.el;
extraEmacsPackages =
epkgs:
extraEmacsPackages = epkgs:
builtins.attrValues {
inherit (epkgs)
inherit
(epkgs)
spacious-padding
mood-line
which-key