16 src = fetchFromGitHub {
20 sha256 = "sha256-lStaMj2f8lQZx2E42o4ikPmFQzydlN3PFKwFvUx37SI=";
23 vendorHash = "sha256-ir7FR7ndbPhzUOCVPrYO0SEe03wDFIP74I4X6HJxtE8=";
31 buildInputs = [ openssl ];
33 propagatedBuildInputs = [ libfido2 ];
36 "-X main.GitVersion=${version}"
37 "-X main.GitVersionFuse=[vendored]"
38 "-X main.BuildDate=unknown"
41 subPackages = [ "." "gocryptfs-xray" "contrib/statfs" ];
45 mkdir -p $out/share/man/man1
46 # taken from Documentation/MANPAGE-render.bash
47 pandoc MANPAGE.md -s -t man -o $out/share/man/man1/gocryptfs.1
48 pandoc MANPAGE-XRAY.md -s -t man -o $out/share/man/man1/gocryptfs-xray.1
49 pandoc MANPAGE-STATFS.md -s -t man -o $out/share/man/man1/statfs.1
53 # use --suffix here to ensure we don't shadow /run/wrappers/bin/fusermount,
54 # as the setuid wrapper is required to use gocryptfs as non-root on NixOS
56 wrapProgram $out/bin/gocryptfs \
57 --suffix PATH : ${lib.makeBinPath [ fuse ]}
58 ln -s $out/bin/gocryptfs $out/bin/mount.fuse.gocryptfs
62 description = "Encrypted overlay filesystem written in Go";
63 license = licenses.mit;
64 homepage = "https://nuetzlich.net/gocryptfs/";
65 maintainers = with maintainers; [ flokli offline prusnak ];
66 platforms = platforms.unix;