diff options
author | sinanmohd <sinan@sinanmohd.com> | 2023-09-02 12:07:14 +0530 |
---|---|---|
committer | sinanmohd <sinan@sinanmohd.com> | 2023-09-02 12:20:10 +0530 |
commit | a2cd8de3f9d8212ead10b4263b7a7d5afe71e164 (patch) | |
tree | 03f4d617b8ff6c6c5b924ab0088effb0e564122e /modules | |
parent | e441dc43cf5c9707cf580c36805a5aaa66f33b3c (diff) |
module/sshfs: refactor, kaysshfs -> sshfs
Diffstat (limited to 'modules')
-rw-r--r-- | modules/kaysshfs.nix | 20 | ||||
-rw-r--r-- | modules/sshfs.nix | 22 | ||||
-rw-r--r-- | modules/userdata.nix | 7 |
3 files changed, 28 insertions, 21 deletions
diff --git a/modules/kaysshfs.nix b/modules/kaysshfs.nix deleted file mode 100644 index c526927..0000000 --- a/modules/kaysshfs.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ pkgs, ... }: - -{ - system.fsPackages = with pkgs; [ sshfs ]; - - fileSystems."/mnt/kay" = { - device = "sinansftp@sinanmohd.com:"; - fsType = "sshfs"; - options = [ - "allow_other" # for non-root access - "_netdev" # this is a network fs - "x-systemd.automount" # mount on demand - - # SSH options - "reconnect" # handle connection drops - "ServerAliveInterval=15" # keep connections alive - "IdentityFile=/var/secrets/kaysftp-key" - ]; - }; -} diff --git a/modules/sshfs.nix b/modules/sshfs.nix new file mode 100644 index 0000000..a1f1904 --- /dev/null +++ b/modules/sshfs.nix @@ -0,0 +1,22 @@ +{ config, pkgs, ... }: + +let + user = config.userdata.user; + domain = config.userdata.domain; +in +{ + system.fsPackages = with pkgs; [ sshfs ]; + + fileSystems."/kay" = { + device = "${user}@${domain}:"; + fsType = "sshfs"; + options = [ + "allow_other" # for non-root access + "_netdev" # this is a network fs + "x-systemd.automount" # mount on demand + "reconnect" # handle connection drops + "ServerAliveInterval=15" # keep connections alive + "IdentityFile=/var/secrets/ssh/${user}.key" + ]; + }; +} diff --git a/modules/userdata.nix b/modules/userdata.nix index 71a5a96..84a8ca1 100644 --- a/modules/userdata.nix +++ b/modules/userdata.nix @@ -8,11 +8,16 @@ in user = mkOption { type = types.str; default = "sinan"; - description = mdDoc "owner's username"; + description = mdDoc "Owner's username"; }; groups = mkOption { type = types.listOf types.str; description = mdDoc "Groups the owner should be in"; }; + domain = mkOption { + type = types.str; + default = "sinanmohd.com"; + description = mdDoc "Owner's domain"; + }; }; } |