bcachefs: use unstable for zfs
This commit is contained in:
@@ -1,17 +1,16 @@
|
|||||||
{ lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
# use latest kernel we can support to get more hardware support
|
lib,
|
||||||
boot.kernelPackages =
|
pkgs,
|
||||||
lib.mkForce
|
config,
|
||||||
(pkgs.zfs.override { removeLinuxDRM = pkgs.hostPlatform.isAarch64; }).latestCompatibleLinuxPackages;
|
...
|
||||||
boot.zfs.removeLinuxDRM = lib.mkDefault pkgs.hostPlatform.isAarch64;
|
}:
|
||||||
|
{
|
||||||
|
# If we also need zfs, we can use the unstable version as we otherwise don't have a new enough kernel version
|
||||||
|
boot.zfs.package = pkgs.zfsUnstable;
|
||||||
|
boot.kernelPackages = lib.mkIf config.boot.zfs.enabled (
|
||||||
|
lib.mkForce config.boot.zfs.package.latestCompatibleLinuxPackages
|
||||||
|
);
|
||||||
|
|
||||||
# Enable bcachefs support
|
# Enable bcachefs support
|
||||||
boot.supportedFilesystems.bcachefs = lib.mkDefault true;
|
boot.supportedFilesystems.bcachefs = lib.mkDefault true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
bcachefs-tools
|
|
||||||
keyutils
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,10 +3,12 @@
|
|||||||
flake.nixosModules = {
|
flake.nixosModules = {
|
||||||
hidden-ssh-announce.imports = [ ./hidden-ssh-announce.nix ];
|
hidden-ssh-announce.imports = [ ./hidden-ssh-announce.nix ];
|
||||||
bcachefs.imports = [ ./bcachefs.nix ];
|
bcachefs.imports = [ ./bcachefs.nix ];
|
||||||
|
zfs.imports = [ ./zfs.nix ];
|
||||||
installer.imports = [
|
installer.imports = [
|
||||||
./installer
|
./installer
|
||||||
self.nixosModules.hidden-ssh-announce
|
self.nixosModules.hidden-ssh-announce
|
||||||
self.nixosModules.bcachefs
|
self.nixosModules.bcachefs
|
||||||
|
self.nixosModules.zfs
|
||||||
];
|
];
|
||||||
clanCore.imports = [
|
clanCore.imports = [
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
|
|||||||
16
nixosModules/zfs.nix
Normal file
16
nixosModules/zfs.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{ lib, config, ... }:
|
||||||
|
{
|
||||||
|
# Use the same default hostID as the NixOS install ISO and nixos-anywhere.
|
||||||
|
# This allows us to import zfs pool without using a force import.
|
||||||
|
# ZFS has this as a safety mechanism for networked block storage (ISCSI), but
|
||||||
|
# in practice we found it causes more breakages like unbootable machines,
|
||||||
|
# while people using ZFS on ISCSI is quite rare.
|
||||||
|
networking.hostId = lib.mkDefault "8425e349";
|
||||||
|
|
||||||
|
services.zfs = lib.mkIf (config.boot.zfs.enabled) {
|
||||||
|
autoSnapshot.enable = true;
|
||||||
|
# defaults to 12, which is a bit much given how much data is written
|
||||||
|
autoSnapshot.monthly = lib.mkDefault 1;
|
||||||
|
autoScrub.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user