summaryrefslogtreecommitdiff
path: root/os/cez/modules/sshfs.nix
blob: 2431b96df6eaed43dba317ef72b9e231856aadb4 (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
{ config, pkgs, ... }:

let
  domain = config.userdata.domain;
  user = config.userdata.name;
  uid = config.users.users.${user}.uid;
  gid = config.users.groups.users.gid;
in
{
  sops.secrets."misc/sftp" = {};
  system.fsPackages = with pkgs; [ sshfs ];

  fileSystems."/media/kay" = {
    device = "sftp@${domain}:";
    fsType = "sshfs";
    options = [
      "allow_other"         # for non-root access
      "uid=${toString uid}"
      "gid=${toString gid}"
      "_netdev"             # this is a network fs
      "x-systemd.automount" # mount on demand
      "reconnect"              # handle connection drops
      "ServerAliveInterval=15" # keep connections alive
      "IdentityFile=${config.sops.secrets."misc/sftp".path}"
    ];
  };
}