move shared gnome config to homeModule
This commit is contained in:
		
							parent
							
								
									f1855c1265
								
							
						
					
					
						commit
						f5e1b9c7ee
					
				
					 7 changed files with 174 additions and 132 deletions
				
			
		|  | @ -106,6 +106,7 @@ | |||
|           commonSpecialArgs = { | ||||
|             inherit device; | ||||
|             vinzenzHomeModules = self.homeModules; | ||||
|             vinzenzLib = self.lib; | ||||
|           }; | ||||
|         in | ||||
|         nixpkgs.lib.nixosSystem { | ||||
|  | @ -170,6 +171,7 @@ | |||
|                 self.homeModules.templates | ||||
|                 self.homeModules.zsh-basics | ||||
|                 self.homeModules.nano | ||||
|                 self.homeModules.gnome-extensions | ||||
|               ]; | ||||
|             } | ||||
| 
 | ||||
|  |  | |||
|  | @ -58,6 +58,8 @@ | |||
|     nextcloud-client | ||||
| 
 | ||||
|     lutris | ||||
| 
 | ||||
|     foliate | ||||
|   ]; | ||||
| 
 | ||||
|   home.file = { | ||||
|  |  | |||
|  | @ -1,23 +1,21 @@ | |||
| { pkgs, ... }: | ||||
| { | ||||
|   config = { | ||||
|     home.packages = | ||||
|       with pkgs.gnomeExtensions; | ||||
|       [ | ||||
|         # battery-health-charging | ||||
|         quick-settings-tweaker | ||||
|     home.packages = with pkgs.gnomeExtensions; [ | ||||
|       solaar-extension | ||||
|         alphabetical-app-grid | ||||
|       ] | ||||
|       ++ (with pkgs; [ foliate ]); | ||||
|     ]; | ||||
| 
 | ||||
|     dconf.settings = { | ||||
|       "org/gnome/shell" = { | ||||
|         enabled-extensions = [ | ||||
|       "org/gnome/shell".enabled-extensions = [ | ||||
|         "GPaste@gnome-shell-extensions.gnome.org" | ||||
|         "solaar-extension@sidevesh" | ||||
|           "AlphabeticalAppGrid@stuarthayhurst" | ||||
|       ]; | ||||
|       "org/gnome/desktop/interface".color-scheme = "prefer-dark"; | ||||
|       "org/gnome/desktop/wm/keybindings" = { | ||||
|         switch-windows = [ "<Alt>Tab" ]; | ||||
|         switch-windows-backward = [ "<Shift><Alt>Tab" ]; | ||||
|         switch-applications = [ "<Super>Tab" ]; | ||||
|         switch-applications-backward = [ "<Shift><Super>Tab" ]; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
|  |  | |||
							
								
								
									
										101
									
								
								homeModules/gnome-extensions.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								homeModules/gnome-extensions.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,101 @@ | |||
| { | ||||
|   lib, | ||||
|   pkgs, | ||||
|   osConfig, | ||||
|   config, | ||||
|   ... | ||||
| }: | ||||
| { | ||||
|   options.vinzenz.gnome-extensions = | ||||
|     let | ||||
|       mkDefaultEnabledOption = | ||||
|         name: | ||||
|         lib.mkOption { | ||||
|           default = true; | ||||
|           example = false; | ||||
|           description = "Whether to enable ${name}."; | ||||
|           type = lib.types.bool; | ||||
|         }; | ||||
|     in | ||||
|     { | ||||
|       enable = mkDefaultEnabledOption "gnome extended options"; | ||||
|       appindicator.enable = mkDefaultEnabledOption "appindicator"; | ||||
|       caffeine.enable = mkDefaultEnabledOption "caffeine"; | ||||
|       tailscale-qs.enable = lib.mkOption { | ||||
|         default = osConfig.services.tailscale.enable; | ||||
|         example = true; | ||||
|         description = "Whether to enable tailscale quick setting."; | ||||
|         type = lib.types.bool; | ||||
|       }; | ||||
|       alphabetic-apps.enable = mkDefaultEnabledOption "alphabetic app grid"; | ||||
|       clock-show-seconds = mkDefaultEnabledOption "clock seconds"; | ||||
|       show-battery-percentage = mkDefaultEnabledOption "battery percentage"; | ||||
|       enable-numlock = mkDefaultEnabledOption "num lock on login"; | ||||
|       enable-systool-warning = lib.mkEnableOption "system configuration tool warning"; | ||||
|       edge-tiling = mkDefaultEnabledOption "edge tiling"; | ||||
|       dynamic-workspaces = mkDefaultEnabledOption "dynamic workspaces"; | ||||
|       tap-to-click = mkDefaultEnabledOption "tap to click"; | ||||
|       two-finger-scrolling = mkDefaultEnabledOption "two finger scrolling"; | ||||
|     }; | ||||
| 
 | ||||
|   config = | ||||
|     let | ||||
|       cfg = config.vinzenz.gnome-extensions; | ||||
|     in | ||||
|     lib.mkIf cfg.enable ( | ||||
|       lib.mkMerge [ | ||||
|         { | ||||
|           dconf = { | ||||
|             enable = true; | ||||
|             settings = { | ||||
|               "org/gnome/shell" = { | ||||
|                 disable-user-extensions = false; | ||||
|                 disabled-extensions = [ ]; | ||||
|                 enabled-extensions = [ ]; | ||||
|               }; | ||||
| 
 | ||||
|               "ca/desrt/dconf-editor".show-warning = cfg.enable-systool-warning; | ||||
|               "org/gnome/tweaks".show-extensions-notice = cfg.enable-systool-warning; | ||||
|               "org/gnome/mutter" = { | ||||
|                 inherit (cfg) edge-tiling dynamic-workspaces; | ||||
|               }; | ||||
|               "org/gnome/desktop/peripherals/touchpad" = { | ||||
|                 inherit (cfg) tap-to-click; | ||||
|                 two-finger-scrolling-enabled = cfg.two-finger-scrolling; | ||||
|               }; | ||||
|               "org/gnome/desktop/interface" = { | ||||
|                 inherit (cfg) clock-show-seconds show-battery-percentage; | ||||
|               }; | ||||
|             }; | ||||
|           }; | ||||
|         } | ||||
| 
 | ||||
|         (lib.mkIf cfg.tailscale-qs.enable { | ||||
|           home.packages = [ pkgs.gnomeExtensions.tailscale-qs ]; | ||||
|           dconf.settings."org/gnome/shell".enabled-extensions = [ "tailscale@joaophi.github.com" ]; | ||||
|         }) | ||||
| 
 | ||||
|         (lib.mkIf cfg.appindicator.enable { | ||||
|           home.packages = [ pkgs.gnomeExtensions.appindicator ]; | ||||
|           dconf.settings."org/gnome/shell".enabled-extensions = [ "appindicatorsupport@rgcjonas.gmail.com" ]; | ||||
|         }) | ||||
| 
 | ||||
|         (lib.mkIf cfg.caffeine.enable { | ||||
|           home.packages = [ pkgs.gnomeExtensions.caffeine ]; | ||||
|           dconf.settings."org/gnome/shell".enabled-extensions = [ "caffeine@patapon.info" ]; | ||||
|         }) | ||||
| 
 | ||||
|         (lib.mkIf cfg.alphabetic-apps.enable { | ||||
|           home.packages = [ pkgs.gnomeExtensions.alphabetical-app-grid ]; | ||||
|           dconf.settings = { | ||||
|             "org/gnome/shell".enabled-extensions = [ "AlphabeticalAppGrid@stuarthayhurst" ]; | ||||
|             "org/gnome/shell/extensions/alphabetical-app-grid".folder-order-position = "start"; | ||||
|           }; | ||||
|         }) | ||||
| 
 | ||||
|         (lib.mkIf cfg.enable-numlock { | ||||
|           dconf.settings."org/gnome/desktop/peripherals/keyboard".numlock-state = true; | ||||
|         }) | ||||
|       ] | ||||
|     ); | ||||
| } | ||||
|  | @ -1,6 +1,5 @@ | |||
| { pkgs, ... }: | ||||
| { | ||||
|   config = { | ||||
|   hardware = { | ||||
|     graphics = { | ||||
|       enable32Bit = true; | ||||
|  | @ -20,6 +19,4 @@ | |||
|     vulkan-tools | ||||
|     glxinfo | ||||
|   ]; | ||||
| 
 | ||||
|   }; | ||||
| } | ||||
|  |  | |||
|  | @ -1,43 +0,0 @@ | |||
| { | ||||
|   "org/gnome/desktop/interface" = { | ||||
|     color-scheme = "prefer-dark"; | ||||
|     clock-show-seconds = true; | ||||
|     show-battery-percentage = true; | ||||
|   }; | ||||
|   "org/gnome/mutter" = { | ||||
|     edge-tiling = true; | ||||
|     dynamic-workspaces = true; | ||||
|   }; | ||||
|   "org/gnome/desktop/peripherals/keyboard" = { | ||||
|     numlock-state = true; | ||||
|   }; | ||||
|   "org/gnome/desktop/peripherals/touchpad" = { | ||||
|     tap-to-click = true; | ||||
|     two-finger-scrolling-enabled = true; | ||||
|   }; | ||||
|   "org/gnome/tweaks" = { | ||||
|     show-extensions-notice = false; | ||||
|   }; | ||||
|   "org/gnome/shell" = { | ||||
|     disable-user-extensions = false; | ||||
|     disabled-extensions = [ ]; | ||||
|     enabled-extensions = [ | ||||
|       "tailscale@joaophi.github.com" | ||||
|       "appindicatorsupport@rgcjonas.gmail.com" | ||||
|       "workspace-indicator@gnome-shell-extensions.gcampax.github.com" | ||||
|       "caffeine@patapon.info" | ||||
|     ]; | ||||
|   }; | ||||
|   "ca/desrt/dconf-editor" = { | ||||
|     show-warning = false; | ||||
|   }; | ||||
|   "org/gnome/desktop/wm/keybindings" = { | ||||
|     switch-windows = [ "<Alt>Tab" ]; | ||||
|     switch-windows-backward = [ "<Shift><Alt>Tab" ]; | ||||
|     switch-applications = [ "<Super>Tab" ]; | ||||
|     switch-applications-backward = [ "<Shift><Super>Tab" ]; | ||||
|   }; | ||||
|   "org/gnome/shell/extensions/alphabetical-app-grid" = { | ||||
|     folder-order-position = "start"; | ||||
|   }; | ||||
| } | ||||
|  | @ -1,6 +1,5 @@ | |||
| { pkgs, ... }: | ||||
| { | ||||
|   config = { | ||||
|   # remove some gnome default apps | ||||
|   environment.gnome.excludePackages = with pkgs; [ | ||||
|     cheese # photo booth | ||||
|  | @ -28,9 +27,7 @@ | |||
| 
 | ||||
|   home-manager.sharedModules = [ | ||||
|     { | ||||
|         home.packages = | ||||
|           with pkgs; | ||||
|           [ | ||||
|       home.packages = with pkgs; [ | ||||
|         gitg | ||||
|         meld | ||||
|         simple-scan | ||||
|  | @ -43,19 +40,7 @@ | |||
| 
 | ||||
|         # graphical installer for flatpak apps | ||||
|         gnome-software | ||||
|           ] | ||||
|           ++ (with gnomeExtensions; [ | ||||
|             caffeine | ||||
|             appindicator | ||||
|           ]); | ||||
| 
 | ||||
|         dconf.settings = import ./gnome-shared-dconf.nix; | ||||
|       } | ||||
| 
 | ||||
|       { | ||||
|         home.packages = with pkgs; [ trayscale ] ++ (with gnomeExtensions; [ tailscale-qs ]); | ||||
|         dconf.settings."org/gnome/shell".enabled-extensions = [ "tailscale@joaophi.github.com" ]; | ||||
|       ]; | ||||
|     } | ||||
|   ]; | ||||
|   }; | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Vinzenz Schroeter
						Vinzenz Schroeter