Skip to content

Instantly share code, notes, and snippets.

@Magicloud
Last active April 7, 2024 12:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Magicloud/15b422919bf294b207ba933d3cd04da7 to your computer and use it in GitHub Desktop.
Save Magicloud/15b422919bf294b207ba933d3cd04da7 to your computer and use it in GitHub Desktop.
configuration.nix
{ config, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
nix.settings.max-jobs = 24;
nix.settings.cores = 24;
# boot.kernelModules = [ "kvm-amd" "kvm-intel" ];
# boot.kernelPackages = pkgs.linuxPackages_latest;
boot = {
kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_6_6.override {
argsOverride = rec {
src = pkgs.fetchurl {
url = "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-${version}.tar.xz";
sha256 = "99d210be87908233a55b0fadc0dccd3b95926c0651b6b82e37350b2029de1f44";
};
version = "6.6.25";
modDirVersion = "6.6.25";
};
});
kernelParams = [ "nomodeset" ];
loader = {
grub = {
enable = true;
device = "/dev/sdi"; # or "nodev" for efi only
};
};
extraModprobeConfig = ''
options zfs l2arc_noprefetch=0 l2arc_write_boost=33554432 l2arc_write_max=16777216 zfs_arc_max=2147483648
'';
supportedFilesystems = [ "xfs" "zfs" ];
zfs.extraPools = [ "raid" ];
};
# services.postgresql = {
# enable = false;
# package = pkgs.postgresql_16;
# dataDir = "/mnt/data/db/${config.services.postgresql.package.psqlSchema}";
# authentication = pkgs.lib.mkOverride 10 ''
# local all all trust
# host all all 127.0.0.1/32 scram-sha-256
# '';
# };
environment.systemPackages = with pkgs; [
vim
];
fonts.packages = [ pkgs.sarasa-gothic ];
nixpkgs.config.allowUnfree = true;
networking = {
useDHCP = false;
hostId = "edeaf675";
firewall.enable = false;
interfaces = {
enp3s0f0.useDHCP = true;
enp3s0f1.useDHCP = true;
enp4s0f0.useDHCP = true;
enp4s0f1.useDHCP = true;
};
};
programs.zsh.enable = true;
time.timeZone = "Asia/Chongqing";
services = {
zfs = {
autoScrub.enable = true;
trim.enable = true;
};
openssh = {
enable = true;
ports = [ 22 ];
};
xserver = {
enable = true;
displayManager.sddm.enable = false;
displayManager.lightdm.enable = false;
desktopManager.xterm.enable = false;
desktopManager.xfce.enable = true;
};
xrdp = {
enable = true;
defaultWindowManager = "startxfce4";
openFirewall = true;
};
};
users.users.magicloud = {
isNormalUser = true;
extraGroups = [ "wheel" "docker" "libvirtd" "kvm" "vboxusers" ];
shell = pkgs.zsh;
};
system = {
stateVersion = "23.11";
autoUpgrade.enable = false;
};
virtualisation = {
libvirtd = {
enable = false;
qemu = {
package = pkgs.qemu_kvm;
runAsRoot = true;
# swtpm.enable = true;
# ovmf = {
# enable = true;
# packages = [(pkgs.unstable.OVMF.override {
# secureBoot = true;
# tpmSupport = true;
# }).fd];
# };
};
};
virtualbox.host = {
enable = true;
enableExtensionPack = true;
};
docker = {
enable = true;
package = pkgs.docker_25;
daemon.settings = {
group = "docker";
hosts = [
"tcp://127.0.0.1:2375"
"fd://"
];
live-restore = true;
log-driver = "journald";
storage-driver = "zfs";
data-root = "/mnt/data/docker";
};
storageDriver = "zfs";
# enableOnBoot = true;
};
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment