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" |         "spotify" | ||||||
|         "steam" "steam-original" "steam-run" |         "steam" "steam-original" "steam-run" | ||||||
|         "vista-fonts" |         "vista-fonts" | ||||||
|  |         "nvidia-persistenced" # Docker | ||||||
|       ]; |       ]; | ||||||
|     in |     in | ||||||
|     utils.lib.mkFlake { |     utils.lib.mkFlake { | ||||||
|  |  | ||||||
|  | @ -6,6 +6,8 @@ | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   sisyphus = { |   sisyphus = { | ||||||
|  |     desktop.sway.enable = true; | ||||||
|  | 
 | ||||||
|     hardware.nvidia = { |     hardware.nvidia = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       model = "Quadro T2000"; |       model = "Quadro T2000"; | ||||||
|  |  | ||||||
|  | @ -1,6 +1,7 @@ | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./gnome |     ./gnome | ||||||
|  |     ./hyprland | ||||||
|     ./plasma |     ./plasma | ||||||
|     ./sway |     ./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 |       export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS | ||||||
|       gnome_schema=org.gnome.desktop.interface |       gnome_schema=org.gnome.desktop.interface | ||||||
|       # gsettings set $gnome_schema gtk-theme 'Dracula' |       # 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 { | in { | ||||||
|  | @ -74,7 +94,7 @@ in { | ||||||
|       SCRIPT_DIR = ../../../../scripts; |       SCRIPT_DIR = ../../../../scripts; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     fonts.fonts = with pkgs; [ |     fonts.packages = with pkgs; [ | ||||||
|       dejavu_fonts |       dejavu_fonts | ||||||
|       font-awesome |       font-awesome | ||||||
|       noto-fonts |       noto-fonts | ||||||
|  | @ -100,14 +120,17 @@ in { | ||||||
| 
 | 
 | ||||||
|       power-profiles-daemon.enable = true; |       power-profiles-daemon.enable = true; | ||||||
| 
 | 
 | ||||||
|       xserver.displayManager.session = [{ |       xserver = { | ||||||
|         manage = "window"; |         displayManager.session = [{ | ||||||
|         name = "Sway"; |           manage = "window"; | ||||||
|         start = '' |           name = "Sway"; | ||||||
|           ${pkgs.sway}/bin/sway --unsupported-gpu & |           start = '' | ||||||
|           waitPID=$! |             ${pkgs.sway}/bin/sway --unsupported-gpu & | ||||||
|         ''; |             waitPID=$! | ||||||
|       }];     |           ''; | ||||||
|  |         }]; | ||||||
|  |         videoDrivers = [ "nouveau" ]; | ||||||
|  |       }; | ||||||
|     }; |     }; | ||||||
|      |      | ||||||
|     xdg.portal = { |     xdg.portal = { | ||||||
|  |  | ||||||
|  | @ -3,6 +3,7 @@ | ||||||
| let | let | ||||||
|   cfg = config.sisyphus.hardware.nvidia; |   cfg = config.sisyphus.hardware.nvidia; | ||||||
| 
 | 
 | ||||||
|  |   # The graphics cards for which to do offloading | ||||||
|   do-offloading = builtins.elem cfg.model [ "Quadro T2000" ]; |   do-offloading = builtins.elem cfg.model [ "Quadro T2000" ]; | ||||||
|   nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" '' |   nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" '' | ||||||
|     export __NV_PRIME_RENDER_OFFLOAD=1 |     export __NV_PRIME_RENDER_OFFLOAD=1 | ||||||
|  | @ -24,8 +25,17 @@ in { | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   config = lib.mkIf cfg.enable { |   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 = { |     hardware = { | ||||||
|       opengl = { |       opengl = { | ||||||
|         enable = true; |         enable = true; | ||||||
|  | @ -33,7 +43,7 @@ in { | ||||||
|         driSupport32Bit = true; |         driSupport32Bit = true; | ||||||
|       }; |       }; | ||||||
|       nvidia = { |       nvidia = { | ||||||
|         open = true; |         open = false; | ||||||
|         package = config.boot.kernelPackages.nvidiaPackages.stable; |         package = config.boot.kernelPackages.nvidiaPackages.stable; | ||||||
|         modesetting.enable = true; |         modesetting.enable = true; | ||||||
|         nvidiaSettings = cfg.gui-settings; |         nvidiaSettings = cfg.gui-settings; | ||||||
|  | @ -42,6 +52,9 @@ in { | ||||||
|           finegrained = do-offloading; |           finegrained = do-offloading; | ||||||
|         }; |         }; | ||||||
| 
 | 
 | ||||||
|  |         # Avoid flickering | ||||||
|  |         forceFullCompositionPipeline = true; | ||||||
|  | 
 | ||||||
|         prime = lib.mkMerge [ |         prime = lib.mkMerge [ | ||||||
|           (lib.mkIf do-offloading { |           (lib.mkIf do-offloading { | ||||||
|             offload = { |             offload = { | ||||||
|  |  | ||||||
|  | @ -61,9 +61,6 @@ in { | ||||||
|           icosystem             # Personal icon theme |           icosystem             # Personal icon theme | ||||||
|           spotify-adblock |           spotify-adblock | ||||||
|         ]) ++ (with pkgs-unstable; [ |         ]) ++ (with pkgs-unstable; [ | ||||||
|           # logseq |  | ||||||
|           # obsidian |  | ||||||
| 
 |  | ||||||
|           brave |           brave | ||||||
|           chafa                 # Terminal image viewer |           chafa                 # Terminal image viewer | ||||||
|           duf                   # Df alternative |           duf                   # Df alternative | ||||||
|  | @ -72,6 +69,7 @@ in { | ||||||
|           jellyfin-media-player |           jellyfin-media-player | ||||||
|           kitty |           kitty | ||||||
|           libreoffice-fresh |           libreoffice-fresh | ||||||
|  |           logseq | ||||||
|           mpv |           mpv | ||||||
|           nextcloud-client |           nextcloud-client | ||||||
|           nsxiv                 # Lightweight image viewer |           nsxiv                 # Lightweight image viewer | ||||||
|  | @ -96,9 +94,7 @@ in { | ||||||
|         ]); |         ]); | ||||||
| 
 | 
 | ||||||
|         pointerCursor = { |         pointerCursor = { | ||||||
|           package = cursor.package; |           inherit (cursor) package name size; | ||||||
|           name = cursor.name; |  | ||||||
|           size = cursor.size; |  | ||||||
|           gtk.enable = true; |           gtk.enable = true; | ||||||
|           x11.enable = true; |           x11.enable = true; | ||||||
|         }; |         }; | ||||||
|  |  | ||||||
|  | @ -15,8 +15,9 @@ set { | ||||||
|     $scrollUp   button4 |     $scrollUp   button4 | ||||||
|     $scrollDown button5 |     $scrollDown button5 | ||||||
| 
 | 
 | ||||||
|     $term            kitty || alacritty || foot |     # $term            kitty || alacritty || foot | ||||||
|     $menu            j4-dmenu-desktop --dmenu "rofi -dmenu -i" |     $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. |     # TODO Find better location and better way to reference this. | ||||||
|     $window_switcher /home/tdpeuter/projects/fzf-jump/new.sh |     $window_switcher /home/tdpeuter/projects/fzf-jump/new.sh | ||||||
|     $lock            swaylock -f |     $lock            swaylock -f | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue