Compare commits
	
		
			4 commits
		
	
	
		
			85553a4a9c
			...
			15e00efe3e
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 15e00efe3e | |||
| e810827331 | |||
| 4004a048f6 | |||
| 1ac8bc985c | 
					 8 changed files with 72 additions and 20 deletions
				
			
		|  | @ -45,6 +45,7 @@ | |||
|         "spotify" | ||||
|         "steam" "steam-original" "steam-run" | ||||
|         "vista-fonts" | ||||
|         "nvidia-persistenced" # Docker | ||||
|       ]; | ||||
|     in | ||||
|     utils.lib.mkFlake { | ||||
|  |  | |||
|  | @ -6,6 +6,8 @@ | |||
|   ]; | ||||
| 
 | ||||
|   sisyphus = { | ||||
|     desktop.sway.enable = true; | ||||
| 
 | ||||
|     hardware.nvidia = { | ||||
|       enable = true; | ||||
|       model = "Quadro T2000"; | ||||
|  |  | |||
|  | @ -1,6 +1,7 @@ | |||
| { | ||||
|   imports = [ | ||||
|     ./gnome | ||||
|     ./hyprland | ||||
|     ./plasma | ||||
|     ./sway | ||||
|   ]; | ||||
|  |  | |||
							
								
								
									
										15
									
								
								nixos/modules/desktop/hyprland/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								nixos/modules/desktop/hyprland/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | |||
| { config, lib, ... }: | ||||
| 
 | ||||
| let | ||||
|   cfg = config.sisyphus.desktop.hyprland; | ||||
| in { | ||||
|   options.sisyphus.desktop.hyprland.enable = lib.mkEnableOption "Hyprland"; | ||||
| 
 | ||||
|   config = lib.mkIf cfg.enable { | ||||
|     programs.hyprland = { | ||||
|       enable = true; | ||||
|       xwayland.enable = true; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
| 
 | ||||
|  | @ -38,6 +38,26 @@ let | |||
|       export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS | ||||
|       gnome_schema=org.gnome.desktop.interface | ||||
|       # gsettings set $gnome_schema gtk-theme 'Dracula' | ||||
| 
 | ||||
|       # https://github.com/crispyricepc/sway-nvidia/blob/2101a18698151a61266740f1297158119bf660ac/wlroots-env-nvidia.sh | ||||
|       # Hardware cursors not yet working on wlroots | ||||
|       export WLR_NO_HARDWARE_CURSORS=1 | ||||
|       # Set wlroots renderer to Vulkan to avoid flickering | ||||
|       export WLR_RENDERER=vulkan | ||||
|       # General wayland environment variables | ||||
|       export XDG_SESSION_TYPE=wayland | ||||
|       export QT_QPA_PLATFORM=wayland | ||||
|       export QT_WAYLAND_DISABLE_WINDOWDECORATION=1 | ||||
|       # Firefox wayland environment variable | ||||
|       export MOZ_ENABLE_WAYLAND=1 | ||||
|       export MOZ_USE_XINPUT2=1 | ||||
|       # OpenGL Variables | ||||
|       export GBM_BACKEND=nvidia-drm | ||||
|       export __GL_GSYNC_ALLOWED=0 | ||||
|       export __GL_VRR_ALLOWED=0 | ||||
|       export __GLX_VENDOR_LIBRARY_NAME=nvidia | ||||
|       # Xwayland compatibility | ||||
|       export XWAYLAND_NO_GLAMOR=1 | ||||
|     ''; | ||||
|   }; | ||||
| in { | ||||
|  | @ -74,7 +94,7 @@ in { | |||
|       SCRIPT_DIR = ../../../../scripts; | ||||
|     }; | ||||
| 
 | ||||
|     fonts.fonts = with pkgs; [ | ||||
|     fonts.packages = with pkgs; [ | ||||
|       dejavu_fonts | ||||
|       font-awesome | ||||
|       noto-fonts | ||||
|  | @ -100,14 +120,17 @@ in { | |||
| 
 | ||||
|       power-profiles-daemon.enable = true; | ||||
| 
 | ||||
|       xserver.displayManager.session = [{ | ||||
|         manage = "window"; | ||||
|         name = "Sway"; | ||||
|         start = '' | ||||
|           ${pkgs.sway}/bin/sway --unsupported-gpu & | ||||
|           waitPID=$! | ||||
|         ''; | ||||
|       }];     | ||||
|       xserver = { | ||||
|         displayManager.session = [{ | ||||
|           manage = "window"; | ||||
|           name = "Sway"; | ||||
|           start = '' | ||||
|             ${pkgs.sway}/bin/sway --unsupported-gpu & | ||||
|             waitPID=$! | ||||
|           ''; | ||||
|         }]; | ||||
|         videoDrivers = [ "nouveau" ]; | ||||
|       }; | ||||
|     }; | ||||
|      | ||||
|     xdg.portal = { | ||||
|  |  | |||
|  | @ -3,6 +3,7 @@ | |||
| let | ||||
|   cfg = config.sisyphus.hardware.nvidia; | ||||
| 
 | ||||
|   # The graphics cards for which to do offloading | ||||
|   do-offloading = builtins.elem cfg.model [ "Quadro T2000" ]; | ||||
|   nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" '' | ||||
|     export __NV_PRIME_RENDER_OFFLOAD=1 | ||||
|  | @ -24,8 +25,17 @@ in { | |||
|   }; | ||||
| 
 | ||||
|   config = lib.mkIf cfg.enable { | ||||
|     services.xserver.videoDrivers = [ "nvidia" ]; | ||||
|    | ||||
| #    boot = { | ||||
| #      extraModprobeConfig = "options nvidia-drm modeset=1"; | ||||
| # | ||||
| #      initrd.kernelModules = [ | ||||
| #        "nvidia" | ||||
| #        "nvidia_modeset" | ||||
| #        "nvidia_uvm" | ||||
| #        "nvidia_drm" | ||||
| #      ]; | ||||
| #    }; | ||||
| 
 | ||||
|     hardware = { | ||||
|       opengl = { | ||||
|         enable = true; | ||||
|  | @ -33,7 +43,7 @@ in { | |||
|         driSupport32Bit = true; | ||||
|       }; | ||||
|       nvidia = { | ||||
|         open = true; | ||||
|         open = false; | ||||
|         package = config.boot.kernelPackages.nvidiaPackages.stable; | ||||
|         modesetting.enable = true; | ||||
|         nvidiaSettings = cfg.gui-settings; | ||||
|  | @ -42,6 +52,9 @@ in { | |||
|           finegrained = do-offloading; | ||||
|         }; | ||||
| 
 | ||||
|         # Avoid flickering | ||||
|         forceFullCompositionPipeline = true; | ||||
| 
 | ||||
|         prime = lib.mkMerge [ | ||||
|           (lib.mkIf do-offloading { | ||||
|             offload = { | ||||
|  |  | |||
|  | @ -61,9 +61,6 @@ in { | |||
|           icosystem             # Personal icon theme | ||||
|           spotify-adblock | ||||
|         ]) ++ (with pkgs-unstable; [ | ||||
|           # logseq | ||||
|           # obsidian | ||||
| 
 | ||||
|           brave | ||||
|           chafa                 # Terminal image viewer | ||||
|           duf                   # Df alternative | ||||
|  | @ -72,6 +69,7 @@ in { | |||
|           jellyfin-media-player | ||||
|           kitty | ||||
|           libreoffice-fresh | ||||
|           logseq | ||||
|           mpv | ||||
|           nextcloud-client | ||||
|           nsxiv                 # Lightweight image viewer | ||||
|  | @ -96,9 +94,7 @@ in { | |||
|         ]); | ||||
| 
 | ||||
|         pointerCursor = { | ||||
|           package = cursor.package; | ||||
|           name = cursor.name; | ||||
|           size = cursor.size; | ||||
|           inherit (cursor) package name size; | ||||
|           gtk.enable = true; | ||||
|           x11.enable = true; | ||||
|         }; | ||||
|  |  | |||
|  | @ -15,8 +15,9 @@ set { | |||
|     $scrollUp   button4 | ||||
|     $scrollDown button5 | ||||
| 
 | ||||
|     $term            kitty || alacritty || foot | ||||
|     $menu            j4-dmenu-desktop --dmenu "rofi -dmenu -i" | ||||
|     # $term            kitty || alacritty || foot | ||||
|     $term            kitty | ||||
|     $menu            j4-dmenu-desktop --dmenu "rofi -dmenu -i" --usage-log="/home/tdpeuter/.local/state/dmenu.log" | ||||
|     # TODO Find better location and better way to reference this. | ||||
|     $window_switcher /home/tdpeuter/projects/fzf-jump/new.sh | ||||
|     $lock            swaylock -f | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue