67 lines
1.9 KiB
Nix
67 lines
1.9 KiB
Nix
{
|
|
description = "Development shell for Personal blog";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
|
|
flake-utils = {
|
|
url = "github:numtide/flake-utils";
|
|
};
|
|
};
|
|
|
|
outputs = { nixpkgs , flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
};
|
|
pelicanplugins-neighbors = ( with pkgs; stdenv.mkDerivation {
|
|
pname = "pelicanplugins-neighbors";
|
|
version = "1.2.0";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "pelican-plugins";
|
|
repo = "neighbors";
|
|
rev = "60649ac6f3494d01a37b9c6d3d455f9dc2502d55";
|
|
hash = "sha256-c6etuRqve9xj6NhGRAim2A0ae8xv6mI/yez+suQuZ8U=";
|
|
};
|
|
installPhase = ''
|
|
cp -r $src/pelican/plugins/neighbors $out
|
|
'';
|
|
});
|
|
pelicanplugins-md_include = ( with pkgs; stdenv.mkDerivation {
|
|
pname = "pelicanplugins-md_include";
|
|
version = "1.0.4";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "pelican-plugins";
|
|
repo = "markdown-include";
|
|
rev = "df0b3e55c45471283ca62d6e157b61a8caa35e37";
|
|
hash = "sha256-y0dIvyEYLbYqkm+6yJOUYI3apzEMJ/N/JUwWTqjdsNg=";
|
|
};
|
|
installPhase = ''
|
|
cp -r $src/pelican/plugins/md_include $out
|
|
'';
|
|
});
|
|
in {
|
|
devShells = {
|
|
default = pkgs.mkShell {
|
|
nativeBuildInputs = with pkgs; [
|
|
lefthook
|
|
go-task
|
|
convco
|
|
typos
|
|
shellcheck
|
|
shfmt
|
|
python3
|
|
python3Packages.pelican
|
|
python3Packages.markdown-include
|
|
python3Packages.typogrify
|
|
python3Packages.livereload
|
|
python3Packages.invoke
|
|
];
|
|
shellHook = ''
|
|
mkdir -p plugins
|
|
ln -snf "${pelicanplugins-neighbors}" "plugins/neighbors"
|
|
ln -snf "${pelicanplugins-md_include}" "plugins/md_include"
|
|
'';
|
|
};
|
|
};
|
|
});
|
|
}
|