summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorsinanmohd <sinan@sinanmohd.com>2023-09-02 12:07:14 +0530
committersinanmohd <sinan@sinanmohd.com>2023-09-02 12:20:10 +0530
commita2cd8de3f9d8212ead10b4263b7a7d5afe71e164 (patch)
tree03f4d617b8ff6c6c5b924ab0088effb0e564122e /modules
parente441dc43cf5c9707cf580c36805a5aaa66f33b3c (diff)
module/sshfs: refactor, kaysshfs -> sshfs
Diffstat (limited to 'modules')
-rw-r--r--modules/kaysshfs.nix20
-rw-r--r--modules/sshfs.nix22
-rw-r--r--modules/userdata.nix7
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";
+ };
};
}