Skip to content

Instantly share code, notes, and snippets.

@digitalknk
Created November 10, 2021 07:35
Show Gist options
  • Save digitalknk/ee0379c1cd4597463c31a323ea5882a5 to your computer and use it in GitHub Desktop.
Save digitalknk/ee0379c1cd4597463c31a323ea5882a5 to your computer and use it in GitHub Desktop.
NixOS Configuration for the Framework Laptop
#
# NixOS Configuration for Framework Laptop
#
{ config, lib, pkgs, modulesPath, ... }:
{
boot.kernelParams = [ "mem_sleep_default=deep" ];
boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_latest.override {
argsOverride = rec {
src = pkgs.fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "1j0lnrsj5y2bsmmym8pjc5wk4wb11y336zr9gad1nmxcr0rwvz9j";
};
version = "5.15.1";
modDirVersion = "5.15.1";
};
});
powerManagement = {
enable = true;
powertop.enable = true;
cpuFreqGovernor = lib.mkDefault "ondemand";
};
# Enable Bluetooth
hardware.bluetooth.enable = true;
# Enable Networking Management
networking.networkmanager.enable = true;
# Enable thermal data
services.thermald.enable = true;
# Enable fingerprint support
services.fprintd.enable = true;
hardware.opengl.extraPackages = with pkgs; [
mesa_drivers
vaapiIntel
vaapiVdpau
libvdpau-va-gl
intel-media-driver
];
# Bring in some audio
security.rtkit.enable = true;
# rtkit is optional but recommended
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
};
# Enable touchpad support (enabled default in most desktopManager).
services.xserver.libinput.enable = true;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment