dotfiles/modules/nixos/services/samba.nix
2023-03-05 19:59:58 +00:00

34 lines
903 B
Nix

{ config, pkgs, lib, ... }: {
options = { samba.enable = lib.mkEnableOption "Enable Samba sharing."; };
config = {
services.samba = lib.mkIf (config.samba.enable) {
enable = true;
openFirewall = true;
shares.video = {
path = "/data/video";
browseable = "yes";
"read only" = "no";
"guest ok" = "no";
"force user" = config.user;
"force group" = config.user;
comment = "Movies and TV";
};
};
# Allow browsing Samba shares
services.gvfs =
lib.mkIf (config.gui.enable && config.nautilus.enable) { enable = true; };
# Permissions required to mount Samba with GVFS, if not using desktop environment
environment.systemPackages = lib.mkIf (config.gui.enable
&& config.nautilus.enable
&& config.services.xserver.windowManager.i3.enable)
[ pkgs.lxqt.pxqt-policykit ];
};
}