aboutsummaryrefslogtreecommitdiff
path: root/shell.nix
blob: 37f271fe6bf0ef2c40f88f8fbd9342bf55f52996 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
let

  name = "nix-shell.canory";

  pkgs = import (builtins.fetchTarball {
    url = "https://releases.nixos.org/nixos/22.11/nixos-22.11.466.596a8e828c5/nixexprs.tar.xz";
    sha256 = "1367bad5zz0mfm4czb6p0s0ni38f0x1ffh02z76rx4nranipqbgg";
  }) { };

  validatornu = pkgs.callPackage (pkgs.fetchurl {
    url = "https://raw.githubusercontent.com/tdro/dotfiles/032efcf7f4b1c7304ce5f3f64f64c175ba59eb6d/.config/nixpkgs/packages/validatornu/default.nix";
    sha256 = "1ify40x9547z04hcibk76m45d02xg3dlvwc57n8vxcbax82yb9pj";
  }) { };

  mkShellPure = pkgs.callPackage (pkgs.fetchurl {
    url = "https://raw.githubusercontent.com/tdro/dotfiles/b710281b132056105709c03dda1899a6afc68a93/.config/nixpkgs/helpers/mkShellPure.nix";
    sha256 = "1ciwifsx2hrp0ymm077zfb5q8ravrk545bda1q249y2spw9np4ms";
  }) { };

  hugo = pkgs.callPackage ({ lib, buildGoModule, fetchgit, installShellFiles }:
    buildGoModule rec {
      pname = "hugo";
      version = "0.108.0";

      src = fetchgit {
        rev = "v${version}";
        url = "https://github.com/gohugoio/hugo.git";
        sha256 = "sha256-MbpBGqu7IwQCf9DjSfIDi25ZGJYTI6xxSk9wPWxychw=";
      };

      doCheck = false;
      proxyVendor = true;
      vendorSha256 = "sha256-ECA7xy7h3nkslW6bjjZWy3IxvF3Y1TTlGq8Os6R9UvA=";

      tags = [ "extended" ];
      subPackages = [ "." ];
      nativeBuildInputs = [ installShellFiles ];

      meta = {
        license = lib.licenses.asl20;
        homepage = "https://gohugo.io";
        description = "A fast and modern static website engine";
      };
  }) { };

in mkShellPure {

  inherit hugo;

  packages = [
    hugo
    validatornu
    pkgs.busybox
    pkgs.check-jsonschema
    pkgs.deno
    pkgs.entr
    pkgs.git
    pkgs.gnumake
    pkgs.jing
    pkgs.libxml2
    pkgs.libxslt
    pkgs.caddy
    pkgs.subversion
    pkgs.yj
  ];

  shellHook = ''
    export PS1='\h (${name}) \W \$ '
  '';
}