summary refs log tree commit diff stats
path: root/modules/nixos
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--modules/nixos/sils/default.nix2
-rw-r--r--modules/nixos/sils/docker.nix24
-rw-r--r--modules/nixos/sils/impermanence.nix6
-rw-r--r--modules/nixos/sils/nix.nix4
-rw-r--r--modules/nixos/sils/printing.nix23
-rw-r--r--modules/nixos/sils/roles.nix3
-rw-r--r--modules/nixos/sils/sound.nix20
7 files changed, 79 insertions, 3 deletions
diff --git a/modules/nixos/sils/default.nix b/modules/nixos/sils/default.nix
index 0f714f7..01870c8 100644
--- a/modules/nixos/sils/default.nix
+++ b/modules/nixos/sils/default.nix
@@ -5,6 +5,7 @@
     ./bluetooth.nix
     ./bootloader.nix
     ./disks.nix
+    ./docker.nix
     ./environment.nix
     ./firejail.nix
     ./font.nix
@@ -19,6 +20,7 @@
     ./plymouth.nix
     ./printing.nix
     ./roles.nix
+    ./sound.nix
     ./sudo.nix
     ./sway.nix
     ./theming
diff --git a/modules/nixos/sils/docker.nix b/modules/nixos/sils/docker.nix
new file mode 100644
index 0000000..7d6f046
--- /dev/null
+++ b/modules/nixos/sils/docker.nix
@@ -0,0 +1,24 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.sils.docker;
+in {
+  options.sils.docker.enable = lib.mkEnableOption "docker";
+  config = lib.mkIf cfg.enable {
+    virtualisation.docker = {
+      enable = true;
+      storageDriver = "btrfs";
+    };
+    users.users.sils.extraGroups = ["docker"];
+    environment.persistence."/srv".directories = [
+      {
+        directory = "/var/lib/docker";
+        user = "docker";
+        group = "docker";
+        mode = "0755";
+      }
+    ];
+  };
+}
diff --git a/modules/nixos/sils/impermanence.nix b/modules/nixos/sils/impermanence.nix
index 4acdc6f..cf67a91 100644
--- a/modules/nixos/sils/impermanence.nix
+++ b/modules/nixos/sils/impermanence.nix
@@ -32,6 +32,12 @@ in {
         group = "root";
         mode = "0755";
       }
+      {
+        directory = "/var/log";
+        user = "root";
+        group = "root";
+        mode = "0755";
+      }
     ];
   };
 }
diff --git a/modules/nixos/sils/nix.nix b/modules/nixos/sils/nix.nix
index c23fdce..9d73fcd 100644
--- a/modules/nixos/sils/nix.nix
+++ b/modules/nixos/sils/nix.nix
@@ -14,8 +14,8 @@ in {
   config = {
     nix = {
       registry = {
-        nixpkgs.flake = nixpkgs;
-        n.flake = nixpkgs;
+        nixpkgs.flake = self.inputs.nixpkgs;
+        n.flake = self.inputs.nixpkgs;
         self.flake = self;
         s.flake = self;
       };
diff --git a/modules/nixos/sils/printing.nix b/modules/nixos/sils/printing.nix
index d447255..9247146 100644
--- a/modules/nixos/sils/printing.nix
+++ b/modules/nixos/sils/printing.nix
@@ -11,12 +11,33 @@ in {
     services = {
       printing = {
         enable = true;
-        #drivers = with pkgs; [hplip]; # if building again: epson-escpr
+        startWhenNeeded = true;
+        webInterface = true;
+        stateless = true;
+        drivers = with pkgs; [epson-escpr epson-escpr2 hplip];
       };
       avahi = {
         enable = true;
+        nssmdns4 = true;
+        nssmdns6 = true;
         openFirewall = true;
       };
     };
+
+    hardware.printers = {
+      ensureDefaultPrinter = "EPSON_ET-2720_Series";
+      ensurePrinters = [
+        {
+          name = "EPSON_ET-2720_Series";
+          description = "EPSON ET-2720 Series";
+          model = "epson-inkjet-printer-escpr/Epson-ET-2720_Series-epson-escpr-en.ppd";
+          location = "Home Network";
+          deviceUri = "dnssd://EPSON%20ET-2720%20Series._ipp._tcp.local/?uuid=cfe92100-67c4-11d4-a45f-e0bb9edcdbb9";
+          ppdOptions = {
+            PageSize = "A4";
+          };
+        }
+      ];
+    };
   };
 }
diff --git a/modules/nixos/sils/roles.nix b/modules/nixos/sils/roles.nix
index cca3cf6..346149c 100644
--- a/modules/nixos/sils/roles.nix
+++ b/modules/nixos/sils/roles.nix
@@ -24,6 +24,7 @@ in {
       pamconfig.enable = lib.mkDefault true;
       plymouth.enable = lib.mkDefault true;
       printing.enable = lib.mkDefault true;
+      sound.enable = lib.mkDefault true;
       sway.enable = lib.mkDefault false;
       theming.enable = lib.mkDefault true;
     }
@@ -45,6 +46,7 @@ in {
       pamconfig.enable = lib.mkDefault true;
       plymouth.enable = lib.mkDefault false;
       printing.enable = lib.mkDefault true;
+      sound.enable = lib.mkDefault true;
       sway.enable = lib.mkDefault false;
       theming.enable = lib.mkDefault true;
     }
@@ -68,6 +70,7 @@ in {
       pamconfig.enable = lib.mkDefault true;
       plymouth.enable = lib.mkDefault false;
       printing.enable = lib.mkDefault true;
+      sound.enable = lib.mkDefault true;
       sway.enable = lib.mkDefault false;
       theming.enable = lib.mkDefault true;
     }
diff --git a/modules/nixos/sils/sound.nix b/modules/nixos/sils/sound.nix
new file mode 100644
index 0000000..3ad26fb
--- /dev/null
+++ b/modules/nixos/sils/sound.nix
@@ -0,0 +1,20 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.sils.sound;
+in {
+  options.sils.sound.enable = lib.mkEnableOption "sound config";
+  config = lib.mkIf cfg.enable {
+    services.pipewire = {
+      enable = true;
+      alsa = {
+        enable = true;
+        support32Bit = true;
+      };
+      pulse.enable = true;
+      jack.enable = true;
+    };
+  };
+}