about summary refs log tree commit diff stats
path: root/modules/system/services
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--modules/system/services/adb/default.nix (renamed from sys/svcs/adb/default.nix)0
-rw-r--r--modules/system/services/backup/default.nix (renamed from sys/svcs/backup/default.nix)11
-rw-r--r--modules/system/services/dconf/default.nix7
-rw-r--r--modules/system/services/default.nix (renamed from sys/svcs/default.nix)4
-rw-r--r--modules/system/services/fwupd/default.nix14
-rw-r--r--modules/system/services/issue_file/default.nix (renamed from sys/svcs/getty/default.nix)13
-rw-r--r--modules/system/services/nix/default.nix (renamed from sys/svcs/nix/default.nix)1
-rw-r--r--modules/system/services/openssh/default.nix (renamed from sys/svcs/openssh/default.nix)0
-rw-r--r--modules/system/services/postgresql/default.nix17
-rw-r--r--modules/system/services/printing/default.nix45
-rw-r--r--modules/system/services/scanning/default.nix25
-rw-r--r--modules/system/services/serverphone/certificates/ca.crt (renamed from sys/svcs/serverphone/certificates/ca.crt)0
-rw-r--r--modules/system/services/serverphone/certificates/server.crt (renamed from sys/svcs/serverphone/certificates/server.crt)0
-rw-r--r--modules/system/services/serverphone/default.nix (renamed from sys/svcs/serverphone/default.nix)0
l---------modules/system/services/serverphone/keys/key_1 (renamed from sys/svcs/serverphone/keys/key_1)0
l---------modules/system/services/serverphone/keys/key_2 (renamed from sys/svcs/serverphone/keys/key_2)0
-rw-r--r--modules/system/services/snapper/default.nix53
-rw-r--r--modules/system/services/steam/default.nix (renamed from sys/svcs/steam/default.nix)8
-rw-r--r--modules/system/services/swaylock/default.nix (renamed from sys/svcs/swaylock/default.nix)0
-rw-r--r--modules/system/services/xdg/default.nix (renamed from sys/svcs/xdg/default.nix)0
-rwxr-xr-xmodules/system/services/xdg/scripts/lf_wrapper.sh (renamed from sys/svcs/xdg/scripts/lf_wrapper.sh)0
-rwxr-xr-xmodules/system/services/xdg/scripts/ranger_wrapper.sh (renamed from sys/svcs/xdg/scripts/ranger_wrapper.sh)0
22 files changed, 180 insertions, 18 deletions
diff --git a/sys/svcs/adb/default.nix b/modules/system/services/adb/default.nix
index 4055dbb1..4055dbb1 100644
--- a/sys/svcs/adb/default.nix
+++ b/modules/system/services/adb/default.nix
diff --git a/sys/svcs/backup/default.nix b/modules/system/services/backup/default.nix
index 91433bf9..705dcf23 100644
--- a/sys/svcs/backup/default.nix
+++ b/modules/system/services/backup/default.nix
@@ -9,16 +9,18 @@
     ${pkgs.snap-sync-forked}/bin/snap-sync-forked --UUID "${cfg.backupDiskUuid}" --noconfirm;
     ${pkgs.util-linux}/bin/umount "/run/media/${cfg.backupDiskUuid}";
   '';
-  cfg = config.soispha.fs.backup;
+
+  cfg = config.soispha.backup;
 in {
-  options.soispha.fs.backup = {
-    enable = lib.mkEnableOption (lib.mdDoc "backups with snap-sync");
+  options.soispha.backup = {
+    enable = lib.mkEnableOption "backups with my forked snap-sync";
     backupDiskUuid = lib.mkOption {
       type = lib.types.str;
       example = lib.literalExpression "d1d20ae7-3d8a-44da-86da-677dbbb10c89";
-      description = lib.mdDoc "The UUID of the backup disk";
+      description = "The UUID of the backup disk";
     };
   };
+
   config = lib.mkIf cfg.enable {
     systemd = {
       services.backup = {
@@ -31,6 +33,7 @@ in {
           ExecStart = "${backup-script}/bin/backsnap";
         };
       };
+
       timers.backup = {
         wantedBy = ["timers.target"];
         unitConfig = {
diff --git a/modules/system/services/dconf/default.nix b/modules/system/services/dconf/default.nix
new file mode 100644
index 00000000..f6598a9b
--- /dev/null
+++ b/modules/system/services/dconf/default.nix
@@ -0,0 +1,7 @@
+{...}: {
+  # needed to make home-manager play nice with some apps. See:
+  # https://nix-community.github.io/home-manager/index.xhtml#_why_do_i_get_an_error_message_about_literal_ca_desrt_dconf_literal_or_literal_dconf_service_literal
+  programs.dconf.enable = true;
+  # FIXME: This should also be parameterized. <2024-05-16>
+}
+# vim: nolinebreak nowrap textwidth=0
diff --git a/sys/svcs/default.nix b/modules/system/services/default.nix
index 56a16055..76ef26e2 100644
--- a/sys/svcs/default.nix
+++ b/modules/system/services/default.nix
@@ -1,16 +1,16 @@
 {...}: {
   imports = [
+    #./serverphone
     ./adb
     ./backup
     ./dconf
     ./fwupd
-    ./getty
+    ./issue_file
     ./nix
     ./openssh
     ./postgresql
     ./printing
     ./scanning
-    #./serverphone
     ./snapper
     ./steam
     ./swaylock
diff --git a/modules/system/services/fwupd/default.nix b/modules/system/services/fwupd/default.nix
new file mode 100644
index 00000000..5ad4f467
--- /dev/null
+++ b/modules/system/services/fwupd/default.nix
@@ -0,0 +1,14 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.services.fwupd;
+in {
+  options.soispha.services.fwupd = {
+    enable = lib.mkEnableOption "fwupd";
+  };
+  config = lib.mkIf cfg.enable {
+    services.fwupd.enable = true;
+  };
+}
diff --git a/sys/svcs/getty/default.nix b/modules/system/services/issue_file/default.nix
index 7e8a4e46..930be1d9 100644
--- a/sys/svcs/getty/default.nix
+++ b/modules/system/services/issue_file/default.nix
@@ -1,10 +1,7 @@
-{
-  lib,
-  config,
-  ...
-}: {
-  services.getty = {
-    greetingLine = lib.mkForce ''
+{config, ...}: {
+  environment.etc.issue = {
+    # Friendly greeting on the virtual consoles.
+    text = ''
       [?25l[?7l                                           
                 ▗▄▄▄       ▗▄▄▄▄    ▄▄▄▖         
                 ▜███▙       ▜███▙  ▟███▛         
@@ -27,7 +24,7 @@
                ▟███▛  ▜███▙       ▜███▙          
                ▝▀▀▀    ▀▀▀▀▘       ▀▀▀▘          
                                                  
-        NixOS ${config.system.nixos.label} 
+       NixOS ${config.system.nixos.label} 
         --------------
       
         date: \d
diff --git a/sys/svcs/nix/default.nix b/modules/system/services/nix/default.nix
index 5766fcdd..65fc7273 100644
--- a/sys/svcs/nix/default.nix
+++ b/modules/system/services/nix/default.nix
@@ -1,5 +1,6 @@
 {
   pkgs,
+
   # flakes
   nixpkgs_as_input,
   templates,
diff --git a/sys/svcs/openssh/default.nix b/modules/system/services/openssh/default.nix
index b733dbe7..b733dbe7 100644
--- a/sys/svcs/openssh/default.nix
+++ b/modules/system/services/openssh/default.nix
diff --git a/modules/system/services/postgresql/default.nix b/modules/system/services/postgresql/default.nix
new file mode 100644
index 00000000..c47a235c
--- /dev/null
+++ b/modules/system/services/postgresql/default.nix
@@ -0,0 +1,17 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.services.postgresql;
+in {
+  options.soispha.services.postgresql = {
+    enable = lib.mkEnableOption "postgresql";
+  };
+
+  config = lib.mkIf cfg.enable {
+    services.postgresql = {
+      enable = true;
+    };
+  };
+}
diff --git a/modules/system/services/printing/default.nix b/modules/system/services/printing/default.nix
new file mode 100644
index 00000000..85d15b16
--- /dev/null
+++ b/modules/system/services/printing/default.nix
@@ -0,0 +1,45 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.services.printing;
+in {
+  options.soispha.services.printing = {
+    enable = lib.mkEnableOption "default printing configuration";
+  };
+
+  config = lib.mkIf cfg.enable {
+    services.avahi = {
+      enable = true;
+      nssmdns4 = true;
+      nssmdns6 = true;
+      openFirewall = true;
+    };
+
+    services.printing = {
+      enable = true;
+      startWhenNeeded = true;
+      webInterface = true;
+
+      # deletes `/var/cache/cups`, `/var/lib/cups` and `/var/spool/cups` on cups startup
+      stateless = true;
+
+      drivers = [];
+    };
+
+    hardware = {
+      printers = {
+        ensurePrinters = [
+          {
+            name = "Brother";
+            description = "Brother DCP-9022CDW";
+            model = "everywhere";
+            deviceUri = "dnssd://Brother%20DCP-9022CDW._ipp._tcp.local/?uuid=e3248000-80ce-11db-8000-30055c773bcf";
+          }
+        ];
+        ensureDefaultPrinter = "Brother";
+      };
+    };
+  };
+}
diff --git a/modules/system/services/scanning/default.nix b/modules/system/services/scanning/default.nix
new file mode 100644
index 00000000..dda507fa
--- /dev/null
+++ b/modules/system/services/scanning/default.nix
@@ -0,0 +1,25 @@
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}: let
+  cfg = config.soispha.services.scanning;
+in {
+  options.soispha.services.scanning = {
+    enable = lib.mkEnableOption "default scanning configuration";
+  };
+
+  config = lib.mkIf cfg.enable {
+    hardware = {
+      sane = {
+        enable = true;
+        extraBackends = [pkgs.sane-airscan];
+      };
+    };
+
+    users.users.soispha.extraGroups = [
+      "scanner" # for permission to access the scanner.
+    ];
+  };
+}
diff --git a/sys/svcs/serverphone/certificates/ca.crt b/modules/system/services/serverphone/certificates/ca.crt
index 7a4ae6f9..7a4ae6f9 100644
--- a/sys/svcs/serverphone/certificates/ca.crt
+++ b/modules/system/services/serverphone/certificates/ca.crt
diff --git a/sys/svcs/serverphone/certificates/server.crt b/modules/system/services/serverphone/certificates/server.crt
index f994cdc8..f994cdc8 100644
--- a/sys/svcs/serverphone/certificates/server.crt
+++ b/modules/system/services/serverphone/certificates/server.crt
diff --git a/sys/svcs/serverphone/default.nix b/modules/system/services/serverphone/default.nix
index 20125a75..20125a75 100644
--- a/sys/svcs/serverphone/default.nix
+++ b/modules/system/services/serverphone/default.nix
diff --git a/sys/svcs/serverphone/keys/key_1 b/modules/system/services/serverphone/keys/key_1
index 67720882..67720882 120000
--- a/sys/svcs/serverphone/keys/key_1
+++ b/modules/system/services/serverphone/keys/key_1
diff --git a/sys/svcs/serverphone/keys/key_2 b/modules/system/services/serverphone/keys/key_2
index 24df7207..24df7207 120000
--- a/sys/svcs/serverphone/keys/key_2
+++ b/modules/system/services/serverphone/keys/key_2
diff --git a/modules/system/services/snapper/default.nix b/modules/system/services/snapper/default.nix
new file mode 100644
index 00000000..bf8201a4
--- /dev/null
+++ b/modules/system/services/snapper/default.nix
@@ -0,0 +1,53 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.services.snapper;
+in {
+  options.soispha.services.snapper = {
+    enable = lib.mkEnableOption "snapper config";
+  };
+
+  config = lib.mkIf cfg.enable {
+    services.snapper = {
+      configs = {
+        srv = {
+          SUBVOLUME = "/srv";
+          FSTYPE = "btrfs";
+          # users and groups allowed to work with config
+          ALLOW_GROUPS = ["wheel"];
+
+          # sync users and groups from ALLOW_USERS and ALLOW_GROUPS to .snapshots
+          # directory
+          SYNC_ACL = true;
+
+          # run daily number cleanup
+          NUMBER_CLEANUP = false;
+
+          # limit for number cleanup
+          NUMBER_MIN_AGE = 1800;
+          NUMBER_LIMIT = 50;
+          NUMBER_LIMIT_IMPORTANT = 10;
+
+          # create hourly snapshots
+          TIMELINE_CREATE = true;
+
+          # cleanup hourly snapshots after some time
+          TIMELINE_CLEANUP = true;
+
+          # limits for timeline cleanup
+          TIMELINE_MIN_AGE = 1800;
+          TIMELINE_LIMIT_HOURLY = 7;
+          TIMELINE_LIMIT_DAILY = 3;
+          TIMELINE_LIMIT_WEEKLY = 2;
+          TIMELINE_LIMIT_MONTHLY = 0;
+          TIMELINE_LIMIT_YEARLY = 2;
+
+          # cleanup empty pre-post-pairs
+          EMPTY_PRE_POST_CLEANUP = true;
+        };
+      };
+    };
+  };
+}
diff --git a/sys/svcs/steam/default.nix b/modules/system/services/steam/default.nix
index 54091493..6e507fd9 100644
--- a/sys/svcs/steam/default.nix
+++ b/modules/system/services/steam/default.nix
@@ -7,16 +7,16 @@
   cfg = config.soispha.services.steam;
 in {
   options.soispha.services.steam = {
-    enable = lib.mkOption {
-      default = false;
-      description = lib.mdDoc "Steam";
-    };
+    enable = lib.mkEnableOption "Stream";
   };
+
   config = lib.mkIf cfg.enable {
     programs.steam = {
       enable = true;
     };
+
     environment.systemPackages = [
+      # TODO: Why is this package needed? <2024-05-16>
       pkgs.wineWowPackages.waylandFull
     ];
   };
diff --git a/sys/svcs/swaylock/default.nix b/modules/system/services/swaylock/default.nix
index 6cbcef28..6cbcef28 100644
--- a/sys/svcs/swaylock/default.nix
+++ b/modules/system/services/swaylock/default.nix
diff --git a/sys/svcs/xdg/default.nix b/modules/system/services/xdg/default.nix
index 5140a832..5140a832 100644
--- a/sys/svcs/xdg/default.nix
+++ b/modules/system/services/xdg/default.nix
diff --git a/sys/svcs/xdg/scripts/lf_wrapper.sh b/modules/system/services/xdg/scripts/lf_wrapper.sh
index 16603fe4..16603fe4 100755
--- a/sys/svcs/xdg/scripts/lf_wrapper.sh
+++ b/modules/system/services/xdg/scripts/lf_wrapper.sh
diff --git a/sys/svcs/xdg/scripts/ranger_wrapper.sh b/modules/system/services/xdg/scripts/ranger_wrapper.sh
index e148bf19..e148bf19 100755
--- a/sys/svcs/xdg/scripts/ranger_wrapper.sh
+++ b/modules/system/services/xdg/scripts/ranger_wrapper.sh