steam mod, move adwaita to homeModules
This commit is contained in:
		
							parent
							
								
									78400473ef
								
							
						
					
					
						commit
						084e819232
					
				
					 11 changed files with 113 additions and 101 deletions
				
			
		
							
								
								
									
										29
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										29
									
								
								flake.nix
									
										
									
									
									
								
							|  | @ -92,7 +92,8 @@ | |||
|       importDir = | ||||
|         dir: | ||||
|         (lib.attrsets.mapAttrs' ( | ||||
|           m: _: lib.attrsets.nameValuePair (lib.strings.removeSuffix ".nix" m) (import "${dir}/${m}") | ||||
|           m: _: | ||||
|           lib.attrsets.nameValuePair (lib.strings.removeSuffix ".nix" m) { imports = [ "${dir}/${m}" ]; } | ||||
|         ) (builtins.readDir dir)); | ||||
|     in | ||||
|     rec { | ||||
|  | @ -113,6 +114,16 @@ | |||
|                 stateVersion = "22.11"; | ||||
|                 autoUpgrade.flake = "git+https://git.berlin.ccc.de/vinzenz/nixos-configuration.git"; | ||||
|               }; | ||||
| 
 | ||||
|               nixpkgs.overlays = [ | ||||
|                 overlays.unstable-packages | ||||
|                 overlays.zerforschen | ||||
|               ]; | ||||
| 
 | ||||
|               nix.settings.experimental-features = [ | ||||
|                 "nix-command" | ||||
|                 "flakes" | ||||
|               ]; | ||||
|             } | ||||
| 
 | ||||
|             ./hosts/${device}/hardware.nix | ||||
|  | @ -124,27 +135,25 @@ | |||
|             self.nixosModules.autoupdate | ||||
|             self.nixosModules.openssh | ||||
|             self.nixosModules.tailscale | ||||
|             self.nixosModules.allowed-unfree-list | ||||
|             self.nixosModules.extra-caches | ||||
|             ./modules/nixpkgs.nix | ||||
| 
 | ||||
|             { | ||||
|               nixpkgs.overlays = [ | ||||
|                 overlays.unstable-packages | ||||
|                 overlays.zerforschen | ||||
|               ]; | ||||
|             } | ||||
|           ] | ||||
|           ++ (nixpkgs.lib.optionals (builtins.elem device homeDevices) [ | ||||
|             { | ||||
|               home-manager.extraSpecialArgs = specialArgs; | ||||
| 
 | ||||
|               time.timeZone = "Europe/Berlin"; | ||||
| 
 | ||||
|               home-manager.sharedModules = [ | ||||
|                 self.homeModules.adwaita | ||||
|               ]; | ||||
|             } | ||||
| 
 | ||||
|             self.nixosModules.pkgs-unstable | ||||
|             self.nixosModules.niri | ||||
|             self.nixosModules.kdeconnect | ||||
|             self.nixosModules.en-de | ||||
|             self.nixosModules.adwaita | ||||
|             self.nixosModules.gnome | ||||
|             ./modules/home-manager.nix | ||||
| 
 | ||||
|  | @ -178,6 +187,8 @@ | |||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       homeModules = importDir ./homeModules; | ||||
| 
 | ||||
|       formatter = forAllSystems ({ pkgs, ... }: pkgs.nixfmt-tree); | ||||
|     }; | ||||
| } | ||||
|  |  | |||
|  | @ -1,7 +1,9 @@ | |||
| { nixosModules, ... }: | ||||
| { | ||||
|   imports = [ | ||||
|     ../../modules/gnome.nix | ||||
|     ../../modules/gaming.nix | ||||
|     nixosModules.steam | ||||
|     ../../modules/desktop-environment.nix | ||||
|     ../../modules/desktop-hardware.nix | ||||
| 
 | ||||
|  |  | |||
|  | @ -3,6 +3,7 @@ | |||
|   imports = [ | ||||
|     ../../modules/gnome.nix | ||||
|     ../../modules/gaming.nix | ||||
|     nixosModules.steam | ||||
|     nixosModules.printing | ||||
|     nixosModules.podman | ||||
|     ../../modules/desktop-environment.nix | ||||
|  |  | |||
|  | @ -3,6 +3,7 @@ | |||
|   imports = [ | ||||
|     ../../modules/gnome.nix | ||||
|     ../../modules/gaming.nix | ||||
|     nixosModules.steam | ||||
|     nixosModules.printing | ||||
|     nixosModules.podman | ||||
|     #../../modules/niri.nix | ||||
|  |  | |||
|  | @ -56,6 +56,7 @@ | |||
|         enable = true; | ||||
|         binfmt = true; | ||||
|       }; | ||||
|       xwayland.enable = true; | ||||
|     }; | ||||
| 
 | ||||
|     systemd = { | ||||
|  |  | |||
|  | @ -8,7 +8,6 @@ | |||
|         extraPackages32 = with pkgs; [ mangohud ]; | ||||
|       }; | ||||
| 
 | ||||
|       steam-hardware.enable = true; | ||||
|       xpadneo.enable = true; | ||||
|     }; | ||||
| 
 | ||||
|  | @ -23,59 +22,9 @@ | |||
|       lutris | ||||
|     ]; | ||||
| 
 | ||||
|     programs = { | ||||
|       xwayland.enable = true; | ||||
|       steam = { | ||||
|         enable = true; | ||||
|         remotePlay.openFirewall = true; | ||||
|         dedicatedServer.openFirewall = true; | ||||
|         localNetworkGameTransfers.openFirewall = true; | ||||
|         gamescopeSession.enable = false; | ||||
|       }; | ||||
|       gamemode.enable = true; | ||||
|     }; | ||||
| 
 | ||||
|     networking.firewall = { | ||||
|       allowedUDPPorts = [ | ||||
|         # Factorio | ||||
|         34197 | ||||
| 
 | ||||
|         # steam network transfer | ||||
|         3478 | ||||
|       ]; | ||||
| 
 | ||||
|       allowedTCPPorts = [ | ||||
|         # steam network transfer | ||||
|         24070 | ||||
|       ]; | ||||
| 
 | ||||
|       allowedTCPPortRanges = [ | ||||
|         # steam network transfer | ||||
|         { | ||||
|           from = 27015; | ||||
|           to = 27050; | ||||
|         } | ||||
|       ]; | ||||
| 
 | ||||
|       allowedUDPPortRanges = [ | ||||
|         # steam network transfer | ||||
|         { | ||||
|           from = 4379; | ||||
|           to = 4380; | ||||
|         } | ||||
|         { | ||||
|           from = 27000; | ||||
|           to = 27100; | ||||
|         } | ||||
|       ]; | ||||
|     }; | ||||
| 
 | ||||
|     allowedUnfreePackages = [ | ||||
|       "steam" | ||||
|       "steam-original" | ||||
|       "steam-run" | ||||
|       "steam-unwrapped" | ||||
|       "ut1999" | ||||
|     networking.firewall.allowedUDPPorts = [ | ||||
|       # Factorio | ||||
|       34197 | ||||
|     ]; | ||||
|   }; | ||||
| } | ||||
|  |  | |||
|  | @ -1,41 +1,9 @@ | |||
| { config, lib, ... }: | ||||
| { | ||||
|   options.allowedUnfreePackages = lib.mkOption { | ||||
|     type = lib.types.listOf lib.types.str; | ||||
|     default = [ ]; | ||||
|     example = [ "steam" ]; | ||||
|   }; | ||||
|   config = { | ||||
|     nixpkgs.config = { | ||||
|       # https://github.com/NixOS/nixpkgs/issues/197325#issuecomment-1579420085 | ||||
|       allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) config.allowedUnfreePackages; | ||||
|     }; | ||||
| 
 | ||||
|     nix.settings = { | ||||
|       substituters = [ | ||||
|         "https://cache.nixos.org/" | ||||
|         "https://nix-community.cachix.org" | ||||
|         "https://cache.lix.systems" | ||||
|         "https://niri.cachix.org" | ||||
|       ]; | ||||
|       trusted-public-keys = [ | ||||
|         "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" | ||||
|         "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" | ||||
|         "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" | ||||
|         "niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964=" | ||||
|       ]; | ||||
|       experimental-features = [ | ||||
|         "nix-command" | ||||
|         "flakes" | ||||
|       ]; | ||||
|     }; | ||||
| 
 | ||||
|     documentation = { | ||||
|       enable = true; # documentation of packages | ||||
|       nixos.enable = false; # nixos documentation | ||||
|       man.enable = true; # manual pages and the man command | ||||
|       info.enable = false; # info pages and the info command | ||||
|       doc.enable = false; # documentation distributed in packages' /share/doc | ||||
|     }; | ||||
|   documentation = { | ||||
|     enable = true; # documentation of packages | ||||
|     nixos.enable = false; # nixos documentation | ||||
|     man.enable = true; # manual pages and the man command | ||||
|     info.enable = false; # info pages and the info command | ||||
|     doc.enable = false; # documentation distributed in packages' /share/doc | ||||
|   }; | ||||
| } | ||||
|  |  | |||
							
								
								
									
										15
									
								
								nixosModules/allowed-unfree-list.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								nixosModules/allowed-unfree-list.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | |||
| { lib, config, ... }: | ||||
| { | ||||
|   options.allowedUnfreePackages = lib.mkOption { | ||||
|     type = lib.types.listOf lib.types.str; | ||||
|     default = [ ]; | ||||
|     example = [ "steam" ]; | ||||
|   }; | ||||
| 
 | ||||
|   config = { | ||||
|     nixpkgs.config = { | ||||
|       # https://github.com/NixOS/nixpkgs/issues/197325#issuecomment-1579420085 | ||||
|       allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) config.allowedUnfreePackages; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										16
									
								
								nixosModules/extra-caches.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								nixosModules/extra-caches.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | |||
| { | ||||
|   nix.settings = { | ||||
|     substituters = [ | ||||
|       "https://cache.nixos.org/" | ||||
|       "https://nix-community.cachix.org" | ||||
|       "https://cache.lix.systems" | ||||
|       "https://niri.cachix.org" | ||||
|     ]; | ||||
|     trusted-public-keys = [ | ||||
|       "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" | ||||
|       "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" | ||||
|       "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" | ||||
|       "niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964=" | ||||
|     ]; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										48
									
								
								nixosModules/steam.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								nixosModules/steam.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,48 @@ | |||
| { nixosModules, ... }: | ||||
| { | ||||
|   imports = [ nixosModules.allowed-unfree-list ]; | ||||
| 
 | ||||
|   hardware.steam-hardware.enable = true; | ||||
| 
 | ||||
|   programs = { | ||||
|     steam = { | ||||
|       enable = true; | ||||
|       remotePlay.openFirewall = true; | ||||
|       dedicatedServer.openFirewall = true; | ||||
|       localNetworkGameTransfers.openFirewall = true; | ||||
|       gamescopeSession.enable = false; | ||||
|     }; | ||||
|     gamemode.enable = true; | ||||
|   }; | ||||
| 
 | ||||
|   # steam network transfer | ||||
|   networking.firewall = { | ||||
|     allowedUDPPorts = [ 3478 ]; | ||||
|     allowedTCPPorts = [ 24070 ]; | ||||
| 
 | ||||
|     allowedTCPPortRanges = [ | ||||
|       { | ||||
|         from = 27015; | ||||
|         to = 27050; | ||||
|       } | ||||
|     ]; | ||||
| 
 | ||||
|     allowedUDPPortRanges = [ | ||||
|       { | ||||
|         from = 4379; | ||||
|         to = 4380; | ||||
|       } | ||||
|       { | ||||
|         from = 27000; | ||||
|         to = 27100; | ||||
|       } | ||||
|     ]; | ||||
|   }; | ||||
| 
 | ||||
|   allowedUnfreePackages = [ | ||||
|     "steam" | ||||
|     "steam-original" | ||||
|     "steam-run" | ||||
|     "steam-unwrapped" | ||||
|   ]; | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Vinzenz Schroeter
						Vinzenz Schroeter