summaryrefslogtreecommitdiff
path: root/os/pc/modules/sshfs.nix
blob: 2dbccce5656ceb96a05cddc954a08f7079377639 (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
{ config, pkgs, ... }: let
  domain = config.global.userdata.domain;
  user = config.global.userdata.name;
  uid = config.users.users.${user}.uid;
  gid = config.users.groups.users.gid;
in {
  sops.secrets."misc/sftp".sopsFile = ../secrets.yaml;
  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}"
    ];
  };
}