From 52ea8a9f459735c057cf286ccede8eecd291b10f Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 20 Oct 2023 16:28:35 +0300 Subject: [PATCH] flake: provide containerized builds --- flake/packages.nix | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/flake/packages.nix b/flake/packages.nix index a9937b8..cb46e74 100644 --- a/flake/packages.nix +++ b/flake/packages.nix @@ -1,6 +1,5 @@ {inputs, ...}: { perSystem = { - self', system, config, pkgs, @@ -19,16 +18,43 @@ docs-manpages = docs.manPages; docs-json = docs.options.json; + # Build and open the built manual in your system browser docs-html-wrapped = pkgs.writeScriptBin "docs-html-wrapped" '' #!${pkgs.stdenv.shell} # use xdg-open to open the docs in the browser ${pkgs.xdg_utils}/bin/xdg-open ${docs.manual.html} ''; - # nvim configs + # Exposed neovim configurations nix = config.legacyPackages.neovim-nix; maximal = config.legacyPackages.neovim-maximal; default = config.legacyPackages.neovim-nix; + + # Publisged docker images + docker-nix = let + inherit (pkgs) bash gitFull buildEnv dockerTools; + inherit (config.legacyPackages) neovim-nix; + in + dockerTools.buildImage { + name = "neovim-flake-nix"; + tag = "latest"; + + copyToRoot = buildEnv { + name = "neovim-root"; + pathsToLink = ["/bin"]; + paths = [ + neovim-nix + gitFull + bash + ]; + }; + + config = { + Cmd = ["${neovim-nix}/bin/nvim"]; + WorkingDir = "/home/neovim/demo"; + Volumes = {"/home/neovim/demo" = {};}; + }; + }; } // ( if !(builtins.elem system ["aarch64-darwin" "x86_64-darwin"])