update: viridian+fuchsia configuration

This commit is contained in:
♥ Minnie ♥ 2024-08-11 16:15:30 +08:00
parent 802e1c5289
commit 71639ed7ef
Signed by: jasmine
GPG key ID: 8563E358D4E8040E
5 changed files with 92 additions and 65 deletions

View file

@ -1,52 +1,20 @@
{pkgs, ...}: {
{...}: {
imports = [
# Global configuartion for all our systems
../common/global
# Our user configuration and optional user units
../common/users/sajenim
../common/users/sajenim/samba
../common/users/sajenim/steam
# Optional components
../common/optional/key.nix
# Programs and services
./programs
./services
# Setup our hardware
./hardware-configuration.nix
];
# Boot configuration
boot = {
kernelPackages = pkgs.linuxPackages_latest;
kernelParams = [
# Enable amdgpu driver sysfs API that allows fine grain control of GPU
"amdgpu.ppfeaturemask=0xffffffff"
];
kernelModules = ["i2c-dev" "i2c-piix4"];
initrd.kernelModules = ["amdgpu"];
};
# Hardware configuration
hardware = {
bluetooth = {
enable = true;
powerOnBoot = true;
};
pulseaudio = {
enable = true;
support32Bit = true;
extraConfig = "load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1";
};
opengl = {
enable = true;
# Vulkan
driSupport = true;
driSupport32Bit = true;
# OpenCL
extraPackages = with pkgs; [
rocmPackages.clr.icd
];
};
};
# Networking configuration
networking = {
hostName = "fuchsia";

View file

@ -1,26 +1,68 @@
{
config,
lib,
pkgs,
...
}: {
imports = [
# Our ephemeral system. Wipe root on reboot.
../common/optional/ephemeral-btrfs.nix
];
# Boot configuration
boot = {
# Initial ramdisk
initrd = {
# The modules listed here are available in the initrd, but are only loaded on demand.
availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
kernelModules = ["kvm-amd"];
# List of modules that are always loaded by the initrd.
kernelModules = ["kvm-amd" "amdgpu"];
};
# Linux kernel used by NixOS.
kernelPackages = pkgs.linuxPackages_latest;
# Parameters added to the kernel command line.
kernelParams = [
# Enable amdgpu driver sysfs API that allows fine grain control of GPU
"amdgpu.ppfeaturemask=0xffffffff"
];
# The set of kernel modules to be loaded in the second stage of the boot process.
kernelModules = ["i2c-dev" "i2c-piix4"];
# Our boot loader configuration
loader = {
systemd-boot.enable = true;
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot";
canTouchEfiVariables = true;
};
systemd-boot.enable = true;
};
};
# Hardware configuration
hardware = {
bluetooth = {
enable = true;
powerOnBoot = true;
};
pulseaudio = {
enable = true;
support32Bit = true;
extraConfig = "load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1";
};
opengl = {
enable = true;
# Vulkan
driSupport = true;
driSupport32Bit = true;
# OpenCL
extraPackages = with pkgs; [
rocmPackages.clr.icd
];
};
};
# Setup our filesystems
fileSystems."/boot" = {
device = "/dev/disk/by-label/ESP";
fsType = "vfat";