aboutsummaryrefslogtreecommitdiff
path: root/shell.nix
blob: 76d390671e3002de1236374b92c9fd687d48db72 (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
71
72
73
74
let

  name = "nix-shell.canory";

  pkgs = import (builtins.fetchTarball {
    url = "https://releases.nixos.org/nixos/22.05/nixos-22.05.998.d17a56d90ec/nixexprs.tar.xz";
    sha256 = "084dzb7fmchfhhflrgprjjv7qz3j7vxw3d01f82q8p4g1x7hzn36";
  }) { };

  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, buildGo118Module, fetchgit, installShellFiles }:

    buildGo118Module rec {
      pname = "hugo";
      version = "0.101.0";

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

      doCheck = false;
      proxyVendor = true;
      vendorSha256 = "sha256-rReqDOhBKZO1qa3C4jmewGgmhLvvOYyxwWqsdm+6DzM=";

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

      postInstall = ''
        $out/bin/hugo gen man
        installManPage man/*
      '';

      meta = {
        license = lib.licenses.asl20;
        homepage = "https://gohugo.io";
        description = "A fast and modern static website engine";
        maintainers = with lib.maintainers; [ schneefux Br1ght0ne Frostman ];
      };
  }) { };

in mkShellPure {

  inherit hugo;

  packages = [
    hugo
    validatornu
    pkgs.busybox
    pkgs.deno
    pkgs.entr
    pkgs.git
    pkgs.gnumake
    pkgs.libxslt
    pkgs.php
    pkgs.subversion
    pkgs.yj
  ];

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