about summary refs log tree commit diff
path: root/modules
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>2023-02-03 00:38:33 +0300
committerAzat Bahawi <azat@bahawi.net>2023-02-03 00:38:33 +0300
commited775a06b6fee8788330fa07f1b9d26d5d2c4fcd (patch)
treeefaba6e97da77a2668c366544f76dbd6ae0a9ac6 /modules
parent2023-02-02 (diff)
2023-02-03
Diffstat (limited to 'modules')
-rw-r--r--modules/nixfiles/common/nix/default.nix30
-rw-r--r--modules/nixos/podman.nix34
2 files changed, 44 insertions, 20 deletions
diff --git a/modules/nixfiles/common/nix/default.nix b/modules/nixfiles/common/nix/default.nix
index 2cbb86a..2f7904a 100644
--- a/modules/nixfiles/common/nix/default.nix
+++ b/modules/nixfiles/common/nix/default.nix
@@ -27,25 +27,25 @@ with lib; {
   nix = let
     filteredInputs = filterAttrs (n: _: n != "self") inputs;
   in {
-    # https://github.com/NixOS/nix/blob/master/src/libutil/experimental-features.cc
-    extraOptions = ''
-      warn-dirty = false
-      flake-registry = ${inputs.flake-registry}/flake-registry.json
-      extra-experimental-features = ca-derivations
-      extra-experimental-features = flakes
-      extra-experimental-features = nix-command
-      extra-experimental-features = recursive-nix
-      keep-derivations = ${
+    settings = {
+      # https://github.com/NixOS/nix/blob/master/src/libutil/experimental-features.cc
+      experimental-features = concatStringsSep " " [
+        "ca-derivations"
+        "flakes"
+        "nix-command"
+        "recursive-nix"
+      ];
+      keep-derivations =
         if this.isHeadful
         then "true"
-        else "false"
-      }
-      keep-outputs = ${
+        else "false";
+      keep-outputs =
         if this.isHeadful
         then "true"
-        else "false"
-      }
-    '';
+        else "false";
+      flake-registry = "${inputs.flake-registry}/flake-registry.json";
+      warn-dirty = false;
+    };
 
     nixPath =
       mapAttrsToList (n: v: "${n}=${v}") filteredInputs
diff --git a/modules/nixos/podman.nix b/modules/nixos/podman.nix
index 1c5378b..cda8a4b 100644
--- a/modules/nixos/podman.nix
+++ b/modules/nixos/podman.nix
@@ -31,11 +31,35 @@ in {
 
     my.extraGroups = ["podman"];
 
-    hm.programs.bash = {
-      shellAliases.p = "${pkgs.podman}/bin/podman";
-      initExtra = mkAfter ''
-        _complete_alias p __start_podman podman
-      '';
+    hm = {
+      xdg.configFile = {
+        # This removes a really annoying registry search. 100% of the time I
+        # would need to look up stuff from the Docker and not Quay!
+        "containers/registries.conf".text = ''
+          [registries.search]
+          registries = ["docker.io"]
+        '';
+
+        # As for plain OverlayFS in Podman over ZFS[1]... I guess we are waiting
+        # for Podman to catch up now.
+        #
+        # [1]: https://github.com/openzfs/zfs/pull/14070#issuecomment-1309116666
+        "containers/storage.conf".text = optionalString config.boot.zfs.enabled ''
+          [storage]
+          driver = "overlay"
+
+          [storage.options]
+          mount_program = "${pkgs.fuse-overlayfs}/bin/fuse-overlayfs"
+          mountopt = "noatime,nodev,nosuid"
+        '';
+      };
+
+      programs.bash = {
+        shellAliases.p = "${pkgs.podman}/bin/podman";
+        initExtra = mkAfter ''
+          _complete_alias p __start_podman podman
+        '';
+      };
     };
   };
 }

Consider giving Nix/NixOS a try! <3