feat(module): add common hardware/peripherals module
refactor(module): move audio configuration to module
This commit is contained in:
		
							parent
							
								
									77c95c1140
								
							
						
					
					
						commit
						078657f1e2
					
				
					 7 changed files with 52 additions and 68 deletions
				
			
		|  | @ -1,17 +1,6 @@ | |||
| { | ||||
|   lib, | ||||
|   pkgs, | ||||
|   inputs, | ||||
| 
 | ||||
|   namespace, # The flake namespace, set in flake.nix. If not set, defaults to "internal". | ||||
|   system, | ||||
|   target, # The Snowfall Lib target for this home (eg. `x86_64-home`). | ||||
|   format, # A normalized name for the home target (eg. `home`). | ||||
|   virtual, # A boolean to determine whether this home is a virtual target using nixos-generators. | ||||
|   host, # The host name for this home. | ||||
| 
 | ||||
|   config, | ||||
|   ... | ||||
| }: { | ||||
|   home.file.".config/fish/themes/Catppuccin\ Frappe.theme".source = lib.snowfall.fs.get-file "resources/apps/fish/Catppuccin\ Frappe.theme"; | ||||
| } | ||||
| } | ||||
|  |  | |||
|  | @ -1,15 +1,7 @@ | |||
| { | ||||
|   lib, | ||||
|   pkgs, | ||||
|   inputs, | ||||
| 
 | ||||
|   namespace, # The flake namespace, set in flake.nix. If not set, defaults to "internal". | ||||
|   system, # The system architecture for this host (eg. `x86_64-linux`). | ||||
|   target, # The Snowfall Lib target for this system (eg. `x86_64-iso`). | ||||
|   format, # A normalized name for the system target (eg. `iso`). | ||||
|   virtual, # A boolean to determine whether this system is a virtual target using nixos-generators. | ||||
|   systems, # An attribute map of your defined hosts. | ||||
| 
 | ||||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
|  | @ -20,7 +12,7 @@ in { | |||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     environment.sessionVariables = { | ||||
|       NIXOS_OZONE_WL = "1"; # Chromium/Electron native Wayland support | ||||
|       NIXOS_OZONE_WL = "0"; # Chromium/Electron native Wayland support (Buggy) | ||||
|       MOZ_ENABLE_WAYLAND = "1"; # Firefox native Wayland support | ||||
|     }; | ||||
| 
 | ||||
|  | @ -33,6 +25,9 @@ in { | |||
|         kernel.enable = true; # Kernel modifications | ||||
|         bluetooth.enable = true; # Bluetooth support | ||||
|         shell.enable = true; # Shell environment configuration | ||||
|         hardware.enable = true; # Common hardware support and tweaks | ||||
|         fonts.enable = true; # Common fonts and font management tweaks | ||||
|         audio.enable = true; # Audio setup | ||||
|       }; | ||||
| 
 | ||||
|       desktop.gnome.enable = true; | ||||
|  |  | |||
							
								
								
									
										24
									
								
								modules/nixos/common/audio/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								modules/nixos/common/audio/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | |||
| { | ||||
|   lib, | ||||
|   inputs, | ||||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| let | ||||
|   cfg = config.${namespace}.common.audio; | ||||
| in { | ||||
|   options.${namespace}.common.audio = { enable = mkEnableOption "whether to enable common audio support and tweaks"; }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     hardware.pulseaudio.enable = false; | ||||
| 
 | ||||
|     security.rtkit.enable = true; | ||||
|     services.pipewire = { | ||||
|       enable = true; | ||||
|       alsa.enable = true; | ||||
|       alsa.support32Bit = true; | ||||
|       pulse.enable = true; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -1,15 +1,7 @@ | |||
| { | ||||
|   lib, | ||||
|   pkgs, | ||||
|   inputs, | ||||
| 
 | ||||
|   namespace, # The flake namespace, set in flake.nix. If not set, defaults to "internal". | ||||
|   system, # The system architecture for this host (eg. `x86_64-linux`). | ||||
|   target, # The Snowfall Lib target for this system (eg. `x86_64-iso`). | ||||
|   format, # A normalized name for the system target (eg. `iso`). | ||||
|   virtual, # A boolean to determine whether this system is a virtual target using nixos-generators. | ||||
|   systems, # An attribute map of your defined hosts. | ||||
| 
 | ||||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
|  | @ -19,6 +11,8 @@ in { | |||
|   options.${namespace}.common.bluetooth = { enable = mkEnableOption "Enable bluetooth support on your current system"; }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     environment.systemPackages = with pkgs; [ bluez ]; | ||||
| 
 | ||||
|     hardware.bluetooth = { | ||||
|       enable = true; | ||||
|       powerOnBoot = true; | ||||
|  |  | |||
							
								
								
									
										18
									
								
								modules/nixos/common/hardware/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								modules/nixos/common/hardware/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,18 @@ | |||
| { | ||||
|   lib, | ||||
|   inputs, | ||||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| let | ||||
|   cfg = config.${namespace}.common.hardware; | ||||
| in { | ||||
|   options.${namespace}.common.hardware = { enable = mkEnableOption "whether to enable common hardware support"; }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     hardware.sensor.iio.enable = true; # Enable iio-sensor for automatic screen rotation and similar features. | ||||
| 
 | ||||
|     hardware.flipperzero.enable = true; # Enable support for the flipperzero device. | ||||
|   }; | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue