neovim-flake/flake/packages.nix

58 lines
1.5 KiB
Nix
Raw Normal View History

2023-02-10 18:40:13 +01:00
{inputs, ...}: {
perSystem = {
config,
2023-02-10 18:50:20 +01:00
pkgs,
lib,
2023-02-10 18:40:13 +01:00
...
2023-03-31 04:26:46 +02:00
}: let
docs = import ../docs {inherit pkgs inputs lib;};
2023-03-31 04:26:46 +02:00
in {
2024-05-06 21:30:06 +02:00
packages = {
inherit (docs.manual) htmlOpenTool;
2024-05-06 21:30:06 +02:00
# Documentation
docs = docs.manual.html;
docs-html = docs.manual.html;
docs-manpages = docs.manPages;
docs-json = docs.options.json;
2023-02-10 18:40:13 +01:00
2024-05-06 21:30:06 +02:00
# 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}
2024-05-06 21:30:06 +02:00
'';
2023-10-03 21:08:02 +02:00
2024-05-06 21:30:06 +02:00
# Exposed neovim configurations
nix = config.legacyPackages.neovim-nix;
maximal = config.legacyPackages.neovim-maximal;
default = config.legacyPackages.neovim-nix;
2023-10-20 15:28:35 +02:00
2024-05-06 21:30:06 +02:00
# Published docker images
docker-nix = let
inherit (pkgs) bash gitFull buildEnv;
2024-05-06 21:30:06 +02:00
inherit (config.legacyPackages) neovim-nix;
in
pkgs.dockerTools.buildImage {
2024-05-06 21:30:06 +02:00
name = "nvf";
tag = "latest";
2023-10-20 15:28:35 +02:00
2024-05-06 21:30:06 +02:00
copyToRoot = buildEnv {
name = "neovim-root";
pathsToLink = ["/bin"];
paths = [
neovim-nix
gitFull
bash
];
};
2023-10-20 15:28:35 +02:00
2024-05-06 21:30:06 +02:00
config = {
Cmd = ["${neovim-nix}/bin/nvim"];
WorkingDir = "/home/neovim/demo";
Volumes = {"/home/neovim/demo" = {};};
2023-10-20 15:28:35 +02:00
};
2024-05-06 21:30:06 +02:00
};
};
2023-02-10 18:40:13 +01:00
};
}