mirror of
				https://github.com/Jokiller230/puzzlevision.git
				synced 2025-10-31 13:50:04 +00:00 
			
		
		
		
	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, |   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"; |   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, |   lib, | ||||||
|   pkgs, |   pkgs, | ||||||
|   inputs, |   namespace, | ||||||
| 
 |  | ||||||
|   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. |  | ||||||
| 
 |  | ||||||
|   config, |   config, | ||||||
|   ... |   ... | ||||||
| }: with lib; with lib.${namespace}; | }: with lib; with lib.${namespace}; | ||||||
|  | @ -20,7 +12,7 @@ in { | ||||||
| 
 | 
 | ||||||
|   config = mkIf cfg.enable { |   config = mkIf cfg.enable { | ||||||
|     environment.sessionVariables = { |     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 |       MOZ_ENABLE_WAYLAND = "1"; # Firefox native Wayland support | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|  | @ -33,6 +25,9 @@ in { | ||||||
|         kernel.enable = true; # Kernel modifications |         kernel.enable = true; # Kernel modifications | ||||||
|         bluetooth.enable = true; # Bluetooth support |         bluetooth.enable = true; # Bluetooth support | ||||||
|         shell.enable = true; # Shell environment configuration |         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; |       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, |   lib, | ||||||
|   pkgs, |   pkgs, | ||||||
|   inputs, |   namespace, | ||||||
| 
 |  | ||||||
|   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. |  | ||||||
| 
 |  | ||||||
|   config, |   config, | ||||||
|   ... |   ... | ||||||
| }: with lib; with lib.${namespace}; | }: with lib; with lib.${namespace}; | ||||||
|  | @ -19,6 +11,8 @@ in { | ||||||
|   options.${namespace}.common.bluetooth = { enable = mkEnableOption "Enable bluetooth support on your current system"; }; |   options.${namespace}.common.bluetooth = { enable = mkEnableOption "Enable bluetooth support on your current system"; }; | ||||||
| 
 | 
 | ||||||
|   config = mkIf cfg.enable { |   config = mkIf cfg.enable { | ||||||
|  |     environment.systemPackages = with pkgs; [ bluez ]; | ||||||
|  | 
 | ||||||
|     hardware.bluetooth = { |     hardware.bluetooth = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       powerOnBoot = 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. | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  | @ -1,21 +1,8 @@ | ||||||
| { | { | ||||||
|   # Snowfall Lib provides a customized `lib` instance with access to your flake's library |  | ||||||
|   # as well as the libraries available from your flake's inputs. |  | ||||||
|   lib, |   lib, | ||||||
|   # Instance of `pkgs` with overlays and custom packages applied. |  | ||||||
|   pkgs, |   pkgs, | ||||||
|   # All flake inputs. |  | ||||||
|   inputs, |   inputs, | ||||||
| 
 |   namespace, | ||||||
|   # Additional metadata, provided by Snowfall Lib. |  | ||||||
|   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. |  | ||||||
| 
 |  | ||||||
|   # All other arguments come from the system system. |  | ||||||
|   config, |   config, | ||||||
|   ... |   ... | ||||||
| }: | }: | ||||||
|  | @ -76,28 +63,12 @@ with lib.${namespace}; | ||||||
|   # Enable docker |   # Enable docker | ||||||
|   virtualisation.docker.enable = true; |   virtualisation.docker.enable = true; | ||||||
| 
 | 
 | ||||||
|   # Sound configuration based on pipewire. |  | ||||||
|   hardware.pulseaudio.enable = false; |  | ||||||
|   security.rtkit.enable = true; |  | ||||||
|   services.pipewire = { |  | ||||||
|     enable = true; |  | ||||||
|     alsa.enable = true; |  | ||||||
|     alsa.support32Bit = true; |  | ||||||
|     pulse.enable = true; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   # Set system Type |   # Set system Type | ||||||
|   puzzlevision.archetypes.workstation.enable = true; |   puzzlevision.archetypes.workstation.enable = true; | ||||||
| 
 | 
 | ||||||
|   # Enable flatpak support. |   # Enable flatpak support. | ||||||
|   services.flatpak.enable = true; |   services.flatpak.enable = true; | ||||||
| 
 | 
 | ||||||
|   # Enable iio-sensor for automatic screen rotation and similar features. |  | ||||||
|   hardware.sensor.iio.enable = true; |  | ||||||
| 
 |  | ||||||
|   # Enable support for flipper zero devices |  | ||||||
|   hardware.flipperzero.enable = true; |  | ||||||
| 
 |  | ||||||
|   # Configure users. |   # Configure users. | ||||||
|   snowfallorg.users.jo.admin = true; |   snowfallorg.users.jo.admin = true; | ||||||
| 
 | 
 | ||||||
|  | @ -117,13 +88,6 @@ with lib.${namespace}; | ||||||
|     chromium |     chromium | ||||||
|     vlc |     vlc | ||||||
|     spotify |     spotify | ||||||
| 
 |  | ||||||
|     ### Bluetooth |  | ||||||
|     bluez |  | ||||||
| 
 |  | ||||||
|     ### Fonts |  | ||||||
|     noto-fonts |  | ||||||
|     noto-fonts-color-emoji |  | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   system.stateVersion = "23.05"; |   system.stateVersion = "23.05"; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue