mirror of
				https://github.com/Jokiller230/puzzlevision.git
				synced 2025-10-31 13:50:04 +00:00 
			
		
		
		
	[modules] add plasma nixos module, modify gnome nixos module
feat(modules): add plasma module refactor(module): gnome module has to be explicitly enabled now
This commit is contained in:
		
							parent
							
								
									d218f5a13c
								
							
						
					
					
						commit
						32ab43f7dd
					
				
					 7 changed files with 117 additions and 67 deletions
				
			
		
							
								
								
									
										24
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										24
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							|  | @ -2,11 +2,11 @@ | ||||||
|   "nodes": { |   "nodes": { | ||||||
|     "catppuccin": { |     "catppuccin": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1720472194, |         "lastModified": 1721784420, | ||||||
|         "narHash": "sha256-CYscFEts6tyvosc1T29nxhzIYJAj/1CCEkV3ZMzSN/c=", |         "narHash": "sha256-bgF6fN4Qgk7NErFKGuuqWXcLORsiykTYyqMUFRiAUBY=", | ||||||
|         "owner": "catppuccin", |         "owner": "catppuccin", | ||||||
|         "repo": "nix", |         "repo": "nix", | ||||||
|         "rev": "d75d5803852fb0833767dc969a4581ac13204e22", |         "rev": "8bdb55cc1c13f572b6e4307a3c0d64f1ae286a4f", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  | @ -70,11 +70,11 @@ | ||||||
|     }, |     }, | ||||||
|     "hardware": { |     "hardware": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1721413321, |         "lastModified": 1722332872, | ||||||
|         "narHash": "sha256-0GdiQScDceUrVGbxYpV819LHesK3szHOhJ09e6sgES4=", |         "narHash": "sha256-2xLM4sc5QBfi0U/AANJAW21Bj4ZX479MHPMPkB+eKBU=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixos-hardware", |         "repo": "nixos-hardware", | ||||||
|         "rev": "ab165a8a6cd12781d76fe9cbccb9e975d0fb634f", |         "rev": "14c333162ba53c02853add87a0000cbd7aa230c2", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  | @ -91,11 +91,11 @@ | ||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1721534365, |         "lastModified": 1722321190, | ||||||
|         "narHash": "sha256-XpZOkaSJKdOsz1wU6JfO59Rx2fqtcarQ0y6ndIOKNpI=", |         "narHash": "sha256-WeVWVRqkgrbLzmk6FfJoloJ7Xe7HWD27Pv950IUG2kI=", | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "repo": "home-manager", |         "repo": "home-manager", | ||||||
|         "rev": "635563f245309ef5320f80c7ebcb89b2398d2949", |         "rev": "4fcd54df7cbb1d79cbe81209909ee8514d6b17a4", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  | @ -122,11 +122,11 @@ | ||||||
|     }, |     }, | ||||||
|     "nixpkgs": { |     "nixpkgs": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1721562059, |         "lastModified": 1722185531, | ||||||
|         "narHash": "sha256-Tybxt65eyOARf285hMHIJ2uul8SULjFZbT9ZaEeUnP8=", |         "narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=", | ||||||
|         "owner": "nixos", |         "owner": "nixos", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "68c9ed8bbed9dfce253cc91560bf9043297ef2fe", |         "rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  |  | ||||||
|  | @ -51,7 +51,6 @@ | ||||||
|     git |     git | ||||||
|     nodejs_22 |     nodejs_22 | ||||||
|     bun |     bun | ||||||
|     kitty |  | ||||||
|     forge-sparks |     forge-sparks | ||||||
|     devenv |     devenv | ||||||
| 
 | 
 | ||||||
|  | @ -67,4 +66,4 @@ | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   home.stateVersion = "24.05"; |   home.stateVersion = "24.05"; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -16,10 +16,10 @@ | ||||||
|   catppuccin = { |   catppuccin = { | ||||||
|     enable = true; |     enable = true; | ||||||
|     accent = "blue"; |     accent = "blue"; | ||||||
|     flavor = "frappe"; |     flavor = "macchiato"; | ||||||
| 
 | 
 | ||||||
|     pointerCursor.enable = true; |     pointerCursor.enable = true; | ||||||
|     pointerCursor.accent = "blue"; |     pointerCursor.accent = "blue"; | ||||||
|     pointerCursor.flavor = "frappe"; |     pointerCursor.flavor = "macchiato"; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  | @ -1,50 +0,0 @@ | ||||||
| { |  | ||||||
|   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. |  | ||||||
| 
 |  | ||||||
|   config, |  | ||||||
|   ... |  | ||||||
| }: { |  | ||||||
|   services.xserver.enable = true; |  | ||||||
| 
 |  | ||||||
|   # Enable GNOME and GDM. |  | ||||||
|   services.xserver.displayManager.gdm.enable = true; |  | ||||||
|   services.xserver.desktopManager.gnome.enable = true; |  | ||||||
| 
 |  | ||||||
|   environment.gnome.excludePackages =  (with pkgs; [ |  | ||||||
|     gnome-tour |  | ||||||
|     gedit |  | ||||||
|     cheese |  | ||||||
|     geary |  | ||||||
|     yelp # Help view |  | ||||||
|     epiphany # Gnome web |  | ||||||
|   ]) ++ (with pkgs.gnome; [ |  | ||||||
|     gnome-music |  | ||||||
|     tali # Poker game |  | ||||||
|     iagno # Go game |  | ||||||
|     hitori # Sudoku game |  | ||||||
|     gnome-contacts |  | ||||||
|     gnome-initial-setup |  | ||||||
|   ]); |  | ||||||
| 
 |  | ||||||
|   programs.dconf.enable = true; |  | ||||||
| 
 |  | ||||||
|   services.gnome.gnome-keyring.enable = true; |  | ||||||
| 
 |  | ||||||
|   programs.kdeconnect = { |  | ||||||
|     enable = true; |  | ||||||
|     package = pkgs.gnomeExtensions.gsconnect; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   environment.systemPackages = with pkgs; [ |  | ||||||
|     gnome-tweaks |  | ||||||
|   ]; |  | ||||||
| } |  | ||||||
							
								
								
									
										57
									
								
								modules/nixos/desktop/gnome/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								modules/nixos/desktop/gnome/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,57 @@ | ||||||
|  | { | ||||||
|  |   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. | ||||||
|  | 
 | ||||||
|  |   config, | ||||||
|  |   ... | ||||||
|  | }: with lib; with lib.${namespace}; | ||||||
|  | let | ||||||
|  |   cfg = config.${namespace}.desktop.gnome; | ||||||
|  | in { | ||||||
|  |   options.${namespace}.desktop.gnome = { enable = mkEnableOption "gnome"; }; | ||||||
|  | 
 | ||||||
|  |   config = mkIf cfg.enable { | ||||||
|  |     services.xserver.enable = true; | ||||||
|  | 
 | ||||||
|  |     # Enable GNOME and GDM. | ||||||
|  |     services.xserver.displayManager.gdm.enable = true; | ||||||
|  |     services.xserver.desktopManager.gnome.enable = true; | ||||||
|  | 
 | ||||||
|  |     environment.gnome.excludePackages =  (with pkgs; [ | ||||||
|  |       gnome-tour | ||||||
|  |       gedit | ||||||
|  |       cheese | ||||||
|  |       geary | ||||||
|  |       yelp # Help view | ||||||
|  |       epiphany # Gnome web | ||||||
|  |     ]) ++ (with pkgs.gnome; [ | ||||||
|  |       gnome-music | ||||||
|  |       tali # Poker game | ||||||
|  |       iagno # Go game | ||||||
|  |       hitori # Sudoku game | ||||||
|  |       gnome-contacts | ||||||
|  |       gnome-initial-setup | ||||||
|  |     ]); | ||||||
|  | 
 | ||||||
|  |     programs.dconf.enable = true; | ||||||
|  | 
 | ||||||
|  |     services.gnome.gnome-keyring.enable = true; | ||||||
|  | 
 | ||||||
|  |     programs.kdeconnect = { | ||||||
|  |       enable = true; | ||||||
|  |       package = pkgs.gnomeExtensions.gsconnect; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     environment.systemPackages = with pkgs; [ | ||||||
|  |       gnome-tweaks | ||||||
|  |     ]; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										29
									
								
								modules/nixos/desktop/plasma/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								modules/nixos/desktop/plasma/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,29 @@ | ||||||
|  | { | ||||||
|  |   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. | ||||||
|  | 
 | ||||||
|  |   config, | ||||||
|  |   ... | ||||||
|  | }: with lib; with lib.${namespace}; | ||||||
|  | let | ||||||
|  |   cfg = config.${namespace}.desktop.plasma; | ||||||
|  | in { | ||||||
|  |   options.${namespace}.desktop.plasma = { enable = mkEnableOption "Whether to enable the KDE Plasma desktop environment"; }; | ||||||
|  | 
 | ||||||
|  |   config = mkIf cfg.enable { | ||||||
|  |     services.xserver.enable = true; | ||||||
|  | 
 | ||||||
|  |     services.desktopManager.plasma6.enable = true; | ||||||
|  |     services.displayManager.sddm.enable = true; | ||||||
|  | 
 | ||||||
|  |     programs.kdeconnect.enable = true; | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  | @ -18,7 +18,10 @@ | ||||||
|   # All other arguments come from the system system. |   # All other arguments come from the system system. | ||||||
|   config, |   config, | ||||||
|   ... |   ... | ||||||
| }: { | }: | ||||||
|  | with lib; | ||||||
|  | with lib.${namespace}; | ||||||
|  | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./hardware-configuration.nix |     ./hardware-configuration.nix | ||||||
|     inputs.hardware.nixosModules.common-pc-laptop |     inputs.hardware.nixosModules.common-pc-laptop | ||||||
|  | @ -125,6 +128,9 @@ | ||||||
|   # Enable printing. |   # Enable printing. | ||||||
|   services.printing.enable = true; |   services.printing.enable = true; | ||||||
| 
 | 
 | ||||||
|  |   # Enable docker | ||||||
|  |   virtualisation.docker.enable = true; | ||||||
|  | 
 | ||||||
|   # Sound configuration based on pipewire. |   # Sound configuration based on pipewire. | ||||||
|   hardware.pulseaudio.enable = false; |   hardware.pulseaudio.enable = false; | ||||||
|   security.rtkit.enable = true; |   security.rtkit.enable = true; | ||||||
|  | @ -151,12 +157,18 @@ | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|  |   # Enable Gnome | ||||||
|  |   puzzlevision.desktop.gnome.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. |   # Enable iio-sensor for automatic screen rotation and similar features. | ||||||
|   hardware.sensor.iio.enable = true; |   hardware.sensor.iio.enable = true; | ||||||
| 
 | 
 | ||||||
|  |   # Enable support for flipper zero devices | ||||||
|  |   hardware.flipperzero.enable = true; | ||||||
|  | 
 | ||||||
|   # Configure system-wide default shell. |   # Configure system-wide default shell. | ||||||
|   environment.shells = with pkgs; [ fish ]; |   environment.shells = with pkgs; [ fish ]; | ||||||
|   users.defaultUserShell = pkgs.fish; |   users.defaultUserShell = pkgs.fish; | ||||||
|  | @ -165,6 +177,9 @@ | ||||||
|   # Configure users. |   # Configure users. | ||||||
|   snowfallorg.users.jo.admin = true; |   snowfallorg.users.jo.admin = true; | ||||||
| 
 | 
 | ||||||
|  |   users.users.jo.isNormalUser = true; | ||||||
|  |   users.users.jo.extraGroups = [ "dialout" "docker" ]; | ||||||
|  | 
 | ||||||
|   # Configure home-manager |   # Configure home-manager | ||||||
|   home-manager = { |   home-manager = { | ||||||
|     backupFileExtension = "homeManagerBackup"; |     backupFileExtension = "homeManagerBackup"; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue