refactor(flake-parts): initial flake-parts configuration
This commit is contained in:
		
							parent
							
								
									8f67be9e68
								
							
						
					
					
						commit
						5603001d65
					
				
					 230 changed files with 380 additions and 717 deletions
				
			
		| 
						 | 
				
			
			@ -1,42 +0,0 @@
 | 
			
		|||
{ lib, config, pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
let
 | 
			
		||||
  inherit (lib) mkMerge mkEnableOption mkIf versionAtLeast versionOlder;
 | 
			
		||||
  inherit (builtins) elem;
 | 
			
		||||
  cpu = config.systemModules.host.hardware.cpu; 
 | 
			
		||||
  cfg = cpu.amd;
 | 
			
		||||
  kernelVersion = config.boot.kernelPackages.kernel.version;
 | 
			
		||||
  kernelVersionAtLeast = versionAtLeast kernelVersion;
 | 
			
		||||
  kernelVersionOlder= versionOlder kernelVersion;
 | 
			
		||||
in
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  options.systemModules.host.hardware.cpu.amd.pstate.enable = mkEnableOption "Enable amd pstate module";
 | 
			
		||||
 | 
			
		||||
  config = mkIf (elem cpu.type ["amd"]) {
 | 
			
		||||
    environment.systemPackages = [pkgs.amdctl];
 | 
			
		||||
    hardware.cpu.amd.updateMicrocode = true;
 | 
			
		||||
    boot = mkMerge [
 | 
			
		||||
      {
 | 
			
		||||
        kernelModules = [
 | 
			
		||||
          "amd-pstate"
 | 
			
		||||
          "amd-kvm" # virtulization
 | 
			
		||||
          "msr" # required for amdctl
 | 
			
		||||
        ];
 | 
			
		||||
      }
 | 
			
		||||
      
 | 
			
		||||
      (mkIf (cfg.pstate.enable && (kernelVersionAtLeast "5.27") && (kernelVersionOlder "6.1")) {
 | 
			
		||||
        kernelParams = ["initcall_blacklist-acpi_cpufreq_init"];
 | 
			
		||||
        kernelModules = ["amd-pstate"];
 | 
			
		||||
      })
 | 
			
		||||
 | 
			
		||||
      (mkIf (cfg.pstate.enable && (kernelVersionAtLeast "6.1") && (kernelVersionOlder "6.3")) {
 | 
			
		||||
        kernelParams = ["amd_pstate=passive"];
 | 
			
		||||
      })
 | 
			
		||||
 | 
			
		||||
      (mkIf (cfg.pstate.enable && (kernelVersionAtLeast "6.3")) {
 | 
			
		||||
        kernelParams = ["amd_pstate=active"];
 | 
			
		||||
      })
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue