From aaa3476ffb7ba9c3e4af15dd18c010c39319ea77 Mon Sep 17 00:00:00 2001 From: Laurent Gueret Date: Fri, 30 Jan 2026 13:31:32 +0100 Subject: [PATCH] Add printer & Samba deps --- modules/system/options/nixos/network/dns.nix | 1 + .../system/options/nixos/network/printing.nix | 26 ++++++++++++++++ .../system/options/nixos/network/samba.nix | 30 +++++++++++++++++++ modules/system/os.nix | 10 ++++--- modules/system/partials/users.nix | 6 ++++ 5 files changed, 69 insertions(+), 4 deletions(-) create mode 100644 modules/system/options/nixos/network/printing.nix create mode 100644 modules/system/options/nixos/network/samba.nix diff --git a/modules/system/options/nixos/network/dns.nix b/modules/system/options/nixos/network/dns.nix index 9cc6d2b..220bee8 100644 --- a/modules/system/options/nixos/network/dns.nix +++ b/modules/system/options/nixos/network/dns.nix @@ -14,6 +14,7 @@ in services.avahi = { enable = true; nssmdns4 = true; + openFirewall = true; }; }; diff --git a/modules/system/options/nixos/network/printing.nix b/modules/system/options/nixos/network/printing.nix new file mode 100644 index 0000000..0001aed --- /dev/null +++ b/modules/system/options/nixos/network/printing.nix @@ -0,0 +1,26 @@ +{ + pkgs, + lib, + config, + ... +}: +with lib; +let + cfg = config.os.networks.printing; +in +{ + options.os.networks.printing = { + enable = mkEnableOption "System printing service"; + }; + config = mkIf cfg.enable { + + services.printing = { + enable = true; + drivers = with pkgs; [ + cups-filters + cups-browsed + ]; + }; + + }; +} diff --git a/modules/system/options/nixos/network/samba.nix b/modules/system/options/nixos/network/samba.nix new file mode 100644 index 0000000..1dc3718 --- /dev/null +++ b/modules/system/options/nixos/network/samba.nix @@ -0,0 +1,30 @@ +{ + pkgs, + lib, + config, + ... +}: +with lib; +let + cfg = config.os.networks.samba; +in +{ + options.os.networks.samba = { + enable = mkEnableOption "System pipewire service"; + }; + config = mkIf cfg.enable { + + services.samba = { + enable = true; + openFirewall = true; + usershares.enable = true; + package = pkgs.samba4Full; + }; + + services.samba-wsdd = { + enable = true; + openFirewall = true; + }; + + }; +} diff --git a/modules/system/os.nix b/modules/system/os.nix index f874762..ad85c97 100755 --- a/modules/system/os.nix +++ b/modules/system/os.nix @@ -1,10 +1,6 @@ { ... }: { - nix.settings.trusted-users = [ - "root" - "alistreaza" - ]; nix.settings.experimental-features = "nix-command flakes"; # System services @@ -12,9 +8,15 @@ os.boot.plymouth.enable = true; os.graphics.nvidia.enable = true; os.audio.pipewire.enable = true; + + # Networks services os.networks.dns.enable = true; os.networks.manager.enable = true; + # Printing and sharing + os.networks.printing.enable = true; + os.networks.samba.enable = true; + # System configurations os.keyboard.apple.enable = true; diff --git a/modules/system/partials/users.nix b/modules/system/partials/users.nix index 5e2b378..9e9c5ac 100644 --- a/modules/system/partials/users.nix +++ b/modules/system/partials/users.nix @@ -1,6 +1,12 @@ { ... }: { + nix.settings.trusted-users = [ + # Needed by Devenv + "root" + "alistreaza" + ]; + users.users = { alistreaza = { isNormalUser = true;