dotfiles.nix/nixos/fuchsia/configuration.nix

103 lines
2.1 KiB
Nix

{ pkgs, ... }:
{
imports = [
../common/global
../common/users/sajenim
../common/users/sajenim/samba
../common/users/sajenim/steam
../common/optional/key.nix
./services
./hardware-configuration.nix
];
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 = {
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 = {
hostName = "fuchsia";
networkmanager.enable = true;
};
programs = {
zsh.enable = true;
direnv.enable = true;
adb.enable = true;
};
services = {
# Enable necessary udev rules.
udev.packages = with pkgs; [
openrgb
qmk-udev-rules
];
# Setup our display server.
xserver = {
enable = true;
layout = "au";
videoDrivers = [ "amdgpu" ];
libinput = {
enable = true;
mouse = {
accelProfile = "flat";
};
};
displayManager.startx.enable = true;
};
# Get up and running with large language models locally.
ollama = {
enable = true;
package = pkgs.unstable.ollama;
acceleration = "rocm";
# environmentVariables = {
# HSA_OVERRIDE_GFX_VERSION = "10.3.0";
# };
};
# Enable a few other services.
ratbagd.enable = true;
pcscd.enable = true;
};
# Use docker instead of podman for our containers.
virtualisation.docker = {
enable = true;
liveRestore = false;
};
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "22.11";
}