aboutsummaryrefslogtreecommitdiff
path: root/modules/services
diff options
context:
space:
mode:
authorschererleander <leander@schererleander.de>2025-11-03 00:19:09 +0100
committerschererleander <leander@schererleander.de>2025-11-03 00:19:09 +0100
commit03f03eee9f8417b540f0d1b0d1e8a4626d455ac3 (patch)
treebf7b8a76461e8a469b37197d9b6a78cb16dd2fb8 /modules/services
parent9e2849e72a9a46515a9141226a0145fdbb5090c8 (diff)
chore: reorganize modules into subcategories
Diffstat (limited to 'modules/services')
-rw-r--r--modules/services/default.nix15
-rw-r--r--modules/services/mullvad.nix16
-rw-r--r--modules/services/pipewire.nix19
-rw-r--r--modules/services/polkit.nix25
-rw-r--r--modules/services/printer.nix21
5 files changed, 96 insertions, 0 deletions
diff --git a/modules/services/default.nix b/modules/services/default.nix
new file mode 100644
index 0000000..2011a73
--- /dev/null
+++ b/modules/services/default.nix
@@ -0,0 +1,15 @@
+{ ... }:
+
+{
+ imports = [
+ ./printer.nix
+ ./polkit.nix
+ ./pipewire.nix
+ ./mullvad.nix
+ ];
+
+ config = {
+ # Default services confguration, things that dont need their own module.
+ services.openssh.enable = true;
+ };
+}
diff --git a/modules/services/mullvad.nix b/modules/services/mullvad.nix
new file mode 100644
index 0000000..0d486be
--- /dev/null
+++ b/modules/services/mullvad.nix
@@ -0,0 +1,16 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}:
+
+{
+ options.nx.services.mullvad.enable = lib.mkEnableOption "Enable and setup mullvad";
+ config = lib.mkIf config.nx.services.mullvad.enable {
+ services.mullvad-vpn = {
+ enable = true;
+ package = pkgs.mullvad-vpn;
+ };
+ };
+}
diff --git a/modules/services/pipewire.nix b/modules/services/pipewire.nix
new file mode 100644
index 0000000..929159e
--- /dev/null
+++ b/modules/services/pipewire.nix
@@ -0,0 +1,19 @@
+{
+ config,
+ lib,
+ ...
+}:
+
+{
+ options.nx.services.pipewire.enable = lib.mkEnableOption "Enable pipewire for audio";
+ config = lib.mkIf config.nx.services.pipewire.enable {
+ security.rtkit.enable = true;
+ services.pipewire = {
+ enable = true;
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ pulse.enable = true;
+ wireplumber.enable = true;
+ };
+ };
+}
diff --git a/modules/services/polkit.nix b/modules/services/polkit.nix
new file mode 100644
index 0000000..4cc5fce
--- /dev/null
+++ b/modules/services/polkit.nix
@@ -0,0 +1,25 @@
+{
+ config,
+ pkgs,
+ lib,
+ ...
+}:
+{
+ options.nx.services.polkit.enable = lib.mkEnableOption "Enable and setup polkit service";
+ config = lib.mkIf config.nx.services.polkit.enable {
+ security.polkit.enable = true;
+ systemd.services.polkit-gnome-authenticator-agent-1 = {
+ description = "polkit-gnome-authentication-agent-1";
+ wantedBy = [ "graphical-session.target" ];
+ wants = [ "graphical-session.target" ];
+ after = [ "graphical-session.target" ];
+ serviceConfig = {
+ Type = "simple";
+ ExecStart = "${pkgs.polkit_gnome}/bin/polkit-gnome-authentication-agent-1";
+ Restart = "on-failure";
+ RestartSec = 1;
+ TimeoutStopSec = 10;
+ };
+ };
+ };
+}
diff --git a/modules/services/printer.nix b/modules/services/printer.nix
new file mode 100644
index 0000000..0f6d82b
--- /dev/null
+++ b/modules/services/printer.nix
@@ -0,0 +1,21 @@
+{
+ config,
+ pkgs,
+ lib,
+ ...
+}:
+{
+ options.nx.services.printer.enable = lib.mkEnableOption "Enable printer service";
+ config = lib.mkIf config.nx.services.printer.enable {
+ services.printing = {
+ enable = true;
+ drivers = [ pkgs.brlaser ];
+ };
+ # printer autodiscovery
+ services.avahi = {
+ enable = true;
+ nssmdns4 = true;
+ openFirewall = true;
+ };
+ };
+}