summary refs log tree commit diff
path: root/pkgs/tools/filesystems/securefs/default.nix
blob: 8e4838536725682880ce0afa106000d8aa5ef21a (plain) (blame)
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
{ stdenv, fetchFromGitHub
, fuse }:

stdenv.mkDerivation rec {
  name = "securefs-${version}";
  version = "0.3.1";

  src = fetchFromGitHub {
    sha256 = "1n9kgrvc600lfclrk8cj2zy8md1brqhs8kvzdwfxgxavdh0wakkc";
    rev = version;
    repo = "securefs";
    owner = "netheril96";
  };

  buildInputs = [ fuse ];

  enableParallelBuilding = true;

  doCheck = false; # tests require the fuse module to be loaded

  installPhase = ''
    install -D -m0755 {.,$out/bin}/securefs
  '';

  meta = with stdenv.lib; {
    inherit (src.meta) homepage;
    description = "Transparent encryption filesystem";
    longDescription = ''
      Securefs is a filesystem in userspace (FUSE) that transparently encrypts
      and authenticates data stored. It is particularly designed to secure
      data stored in the cloud.
      Securefs mounts a regular directory onto a mount point. The mount point
      appears as a regular filesystem, where one can read/write/create files,
      directories and symbolic links. The underlying directory will be
      automatically updated to contain the encrypted and authenticated
      contents.
    '';
    license = with licenses; [ bsd2 mit ];
    platforms = platforms.linux;
    maintainers = with maintainers; [ nckx ];
  };
}