diff --git a/modules/hardware-configuration.nix b/modules/hardware-configuration.nix index a56d17e..35025bc 100644 --- a/modules/hardware-configuration.nix +++ b/modules/hardware-configuration.nix @@ -23,39 +23,38 @@ fsType = "vfat"; }; - fileSystems."/var/lib/containers/storage/overlay" = - { device = "/var/lib/containers/storage/overlay"; - fsType = "none"; - options = [ "bind" ]; - }; - - fileSystems."/var/lib/containers/storage/overlay-containers/dba1864ff1473b3ba5fddd103f9cfff67334fbcc5c99c42b619e8a6d88776061/userdata/shm" = - { device = "shm"; - fsType = "tmpfs"; - }; - - fileSystems."/var/lib/containers/storage/overlay/1990fed1fbfbe8dc75ded251c84e8d82700fef0f01e8ead81916cadc5ec2cac1/merged" = - { device = "overlay"; - fsType = "overlay"; - }; - fileSystems."/vault" = { device = "vault"; fsType = "zfs"; }; - fileSystems."/vault/radicale" = - { device = "vault/radicale"; + fileSystems."/var/lib/signald" = + { device = "vault/state_directories/signald"; fsType = "zfs"; }; - fileSystems."/vault/syncthing" = - { device = "vault/syncthing"; + fileSystems."/var/lib/gitea" = + { device = "vault/state_directories/gitea"; fsType = "zfs"; }; - fileSystems."/vault/backups" = - { device = "vault/backups"; + fileSystems."/var/lib/wallabag" = + { device = "vault/state_directories/wallabag"; + fsType = "zfs"; + }; + + fileSystems."/var/lib/matrix-as-telegram" = + { device = "vault/state_directories/matrix-as-telegram"; + fsType = "zfs"; + }; + + fileSystems."/var/lib/matrix-as-signal" = + { device = "vault/state_directories/matrix-as-signal"; + fsType = "zfs"; + }; + + fileSystems."/var/lib/matrix-as-facebook" = + { device = "vault/state_directories/matrix-as-facebook"; fsType = "zfs"; }; @@ -69,6 +68,21 @@ fsType = "zfs"; }; + fileSystems."/vault/backups" = + { device = "vault/backups"; + fsType = "zfs"; + }; + + fileSystems."/vault/radicale" = + { device = "vault/radicale"; + fsType = "zfs"; + }; + + fileSystems."/vault/syncthing" = + { device = "vault/syncthing"; + fsType = "zfs"; + }; + fileSystems."/vault/backups/monolith" = { device = "vault/backups/monolith"; fsType = "zfs"; @@ -84,33 +98,18 @@ fsType = "zfs"; }; - fileSystems."/var/lib/wallabag" = - { device = "vault/state_directories/wallabag"; + fileSystems."/var/lib/containers" = + { device = "vault/containers"; fsType = "zfs"; }; - fileSystems."/var/lib/gitea" = - { device = "vault/state_directories/gitea"; - fsType = "zfs"; + fileSystems."/var/lib/containers/storage/zfs-containers/7521f1406d193340f67dfea6538f5ba05b19c61f757917f13e12b70287841045/userdata/shm" = + { device = "shm"; + fsType = "tmpfs"; }; - fileSystems."/var/lib/signald" = - { device = "vault/state_directories/signald"; - fsType = "zfs"; - }; - - fileSystems."/var/lib/matrix-as-signal" = - { device = "vault/state_directories/matrix-as-signal"; - fsType = "zfs"; - }; - - fileSystems."/var/lib/matrix-as-facebook" = - { device = "vault/state_directories/matrix-as-facebook"; - fsType = "zfs"; - }; - - fileSystems."/var/lib/matrix-as-telegram" = - { device = "vault/state_directories/matrix-as-telegram"; + fileSystems."/var/lib/containers/storage/zfs/graph/6bf2a36ab4d55af9e693f55018f5b2fd38b6aae285183b8680969f5820bd0be9" = + { device = "vault/containers/6bf2a36ab4d55af9e693f55018f5b2fd38b6aae285183b8680969f5820bd0be9"; fsType = "zfs"; }; @@ -123,7 +122,7 @@ networking.useDHCP = lib.mkDefault true; # networking.interfaces.cni-podman0.useDHCP = lib.mkDefault true; # networking.interfaces.eth0.useDHCP = lib.mkDefault true; - # networking.interfaces.veth65ee03c8.useDHCP = lib.mkDefault true; + # networking.interfaces.veth8009136e.useDHCP = lib.mkDefault true; # networking.interfaces.wg0.useDHCP = lib.mkDefault true; # networking.interfaces.wlan0.useDHCP = lib.mkDefault true; diff --git a/modules/information.nix b/modules/information.nix index 68c454b..7b9f8bb 100644 --- a/modules/information.nix +++ b/modules/information.nix @@ -31,11 +31,31 @@ # Set environment variable pointing to wallabag configuration directory environment.variables.WALLABAG_DATA = "/var/lib/wallabag"; - # Openbooks configuration - virtualisation.oci-containers.containers = { - openbooks = { - image = "evanbuss/openbooks:latest"; - ports = [ "127.0.0.1:9000:80" ]; + # Podman setup with ZFS + virtualisation = { + containers.enable = true; + containers.storage.settings.storage = { + driver = "zfs"; + graphroot = "/var/lib/containers/storage"; + runroot = "/run/containers/storage"; + }; + + podman = { + enable = true; + dockerCompat = true; + extraPackages = with pkgs; [ zfs ]; + }; + + # Openbooks configuration + oci-containers = { + backend = "podman"; + containers = { + openbooks = { + image = "evanbuss/openbooks:latest"; + ports = [ "127.0.0.1:9000:80" ]; + }; + }; }; }; + }