From a9f6c0aec2a2bf7ccfbed4ef8c8e72a228d34588 Mon Sep 17 00:00:00 2001 From: Stefan Ellmauthaler Date: Mon, 2 Oct 2023 11:12:51 +0200 Subject: [PATCH] Define Overlays to use ExportPackage of flake utils plus Signed-off-by: Stefan Ellmauthaler --- flake.nix | 34 +++++++++++++++++++----- lib/files.nix | 7 +++++ modules/emacs.nix | 16 +++++++++++ {modules => packages}/emacs/default.el | 0 {modules => packages}/emacs/default.nix | 29 +++++++------------- {modules => packages}/emacs/packages.nix | 0 6 files changed, 61 insertions(+), 25 deletions(-) create mode 100644 modules/emacs.nix rename {modules => packages}/emacs/default.el (100%) rename {modules => packages}/emacs/default.nix (80%) rename {modules => packages}/emacs/packages.nix (100%) diff --git a/flake.nix b/flake.nix index fb5409d..1e7be33 100644 --- a/flake.nix +++ b/flake.nix @@ -68,7 +68,9 @@ discoverMachines withModules discoverTemplates + discoverOverlay ; + inherit (flake-utils-plus.lib) genPkgOverlay; in flake-utils-plus.lib.mkFlake rec { inherit self inputs; @@ -91,12 +93,14 @@ ]; }; - channels.nixpkgs.overlaysBuilder = channels: [ - (final: prev: {unstable = channels.nixpkgs-unstable;}) - (flake-utils-plus.lib.genPkgOverlay inputs.comma "comma") - #inputs.nix.overlay - inputs.emacs-overlay.overlay - ]; + channels.nixpkgs.overlaysBuilder = channels: + [ + (final: prev: {unstable = channels.nixpkgs-unstable;}) + (flake-utils-plus.lib.genPkgOverlay inputs.comma "comma") + #inputs.nix.overlay + inputs.emacs-overlay.overlay + ] + ++ (nixpkgs.lib.attrValues overlays); hostDefaults = { system = "x86_64-linux"; @@ -140,6 +144,24 @@ stateVersion = extended-lib.mkDefault "21.05"; }); + overlays = rec { + elss = discoverOverlay ./packages; + default = elss; + emacs-overlay = inputs.emacs-overlay.overlay; + flake-utils-plus = genPkgOverlay inputs.flake-utils-plus "fup-repl"; + }; + + packages = + (flake-utils-plus.lib.exportPackages { + inherit + (overlays) + default + flake-utils-plus + ; + } + channels) + // {inherit (channels.nixpkgs) emacs;}; + outputsBuilder = channels: { devShells = let pkgs = channels.nixpkgs; diff --git a/lib/files.nix b/lib/files.nix index b96823d..91f3936 100644 --- a/lib/files.nix +++ b/lib/files.nix @@ -23,6 +23,13 @@ with prev; rec { name, }: import path); + + discoverOverlay = dir: final: prev: (withModules dir ({ + path, + name, + }: + nameValuePair name (final.callPackage path {}))); + discoverMachines = dir: args: withModules dir ({ path, diff --git a/modules/emacs.nix b/modules/emacs.nix new file mode 100644 index 0000000..e0e6ca1 --- /dev/null +++ b/modules/emacs.nix @@ -0,0 +1,16 @@ +{ + config, + lib, + pkgs, + ... +}: +with lib; { + options.elss.programs.emacs.enable = mkEnableOption "Setup emacs package and install it"; + config = mkIf config.elss.programs.emacs.enable { + services.emacs = { + enable = true; + defaultEditor = true; + package = pkgs.emacsPackage; + }; + }; +} diff --git a/modules/emacs/default.el b/packages/emacs/default.el similarity index 100% rename from modules/emacs/default.el rename to packages/emacs/default.el diff --git a/modules/emacs/default.nix b/packages/emacs/default.nix similarity index 80% rename from modules/emacs/default.nix rename to packages/emacs/default.nix index b7c11d7..175e74e 100644 --- a/modules/emacs/default.nix +++ b/packages/emacs/default.nix @@ -96,23 +96,14 @@ with lib; let #zenburn-theme ] ++ (with lpkgs; [org-roam-ui ligatures lean4-mode]))); -in { - options.elss.programs.emacs.enable = - mkEnableOption "Setup emacs package and install it"; - config = mkIf config.elss.programs.emacs.enable { - services.emacs = { - enable = true; - defaultEditor = true; - package = emacsPackage; - }; - }; - #nixpkgs.overlays = [ (self: super: { emacsOrig = super.emacs; }) (import (builtins.fetchTarball { - # url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz; - #})) ]; +in + emacsPackage +#nixpkgs.overlays = [ (self: super: { emacsOrig = super.emacs; }) (import (builtins.fetchTarball { +# url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz; +#})) ]; +#nixpkgs.overlays = [ +# (import (builtins.fetchTarball { +# url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz; +# })) +#]; - #nixpkgs.overlays = [ - # (import (builtins.fetchTarball { - # url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz; - # })) - #]; -} diff --git a/modules/emacs/packages.nix b/packages/emacs/packages.nix similarity index 100% rename from modules/emacs/packages.nix rename to packages/emacs/packages.nix