Compare commits
	
		
			7 commits
		
	
	
		
			d12a96ff76
			...
			3bfd1450fc
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 3bfd1450fc | |||
| a777e1ab35 | |||
| 74a308e22e | |||
| 5dd3c43865 | |||
| fb4b5d0cbe | |||
| 041177cdae | |||
| fe595e335d | 
					 12 changed files with 650 additions and 891 deletions
				
			
		
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -25,14 +25,14 @@ in | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       wayland.windowManager.hyprland.settings.exec-once = [ |       wayland.windowManager.hyprland.settings.exec-once = [ | ||||||
|         ''hyprctl hyprpaper wallpaper "DP-2,${picture-path}"'' |         ''hyprctl hyprpaper wallpaper "DP-1,${picture-path}"'' | ||||||
|       ]; |       ]; | ||||||
| 
 | 
 | ||||||
|       services.hyprpaper = { |       services.hyprpaper = { | ||||||
|         enable = true; |         enable = true; | ||||||
|         settings = { |         settings = { | ||||||
|           preload = [ picture-path ]; |           preload = [ picture-path ]; | ||||||
|           wallpaper = "DP-2,${picture-path}"; |           wallpaper = "DP-1,${picture-path}"; | ||||||
|         }; |         }; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
|  | @ -118,6 +118,9 @@ in | ||||||
|       focus-1password |       focus-1password | ||||||
| 
 | 
 | ||||||
|       hyprpanel |       hyprpanel | ||||||
|  | 
 | ||||||
|  |       ##### | ||||||
|  |       xdg-dbus-proxy | ||||||
|     ]; |     ]; | ||||||
| 
 | 
 | ||||||
|     programs = { |     programs = { | ||||||
|  | @ -125,21 +128,54 @@ in | ||||||
|         enable = true; |         enable = true; | ||||||
|         package = hyprland-package; |         package = hyprland-package; | ||||||
|         portalPackage = inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland; |         portalPackage = inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland; | ||||||
|  |         withUWSM = true; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     services.greetd = { |     xdg = { | ||||||
|       enable = true; |       autostart.enable = true; | ||||||
|       settings = rec { |       portal = { | ||||||
|         initial_session = { |         enable = true; | ||||||
|           command = "${hyprland-package}/bin/Hyprland"; |         extraPortals = [ | ||||||
|           user = "cholli"; |           pkgs.xdg-desktop-portal | ||||||
|         }; |           pkgs.xdg-desktop-portal-gtk | ||||||
|  |         ]; | ||||||
|  |         xdgOpenUsePortal = true; | ||||||
| 
 | 
 | ||||||
|         default_session = initial_session; |         config = { | ||||||
|  |           common = { | ||||||
|  |             default = [ "*" ]; | ||||||
|  |             "org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ]; | ||||||
|  |           }; | ||||||
|  |           hyprland = { | ||||||
|  |             default = [ | ||||||
|  |               "hyprland" | ||||||
|  |               "gtk" | ||||||
|  |             ]; | ||||||
|  |             "org.freedesktop.impl.portal.FileChooser" = [ "gtk" ]; | ||||||
|  |             "org.freedesktop.impl.portal.OpenURI" = [ "gtk" ]; | ||||||
|  |           }; | ||||||
|  |         }; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|  |     # services.greetd = { | ||||||
|  |     #   enable = true; | ||||||
|  |     #   settings = rec { | ||||||
|  |     #     initial_session = { | ||||||
|  |     #       command = "${hyprland-package}/bin/Hyprland"; | ||||||
|  |     #       user = "cholli"; | ||||||
|  |     #     }; | ||||||
|  | 
 | ||||||
|  |     #     default_session = initial_session; | ||||||
|  |     #   }; | ||||||
|  |     # }; | ||||||
|  |     # | ||||||
|  |     services.displayManager.gdm = { | ||||||
|  |       enable = true; | ||||||
|  |       wayland = true; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|     ${namespace} = { |     ${namespace} = { | ||||||
|       desktop = { |       desktop = { | ||||||
|         enable = true; |         enable = true; | ||||||
|  | @ -164,6 +200,7 @@ in | ||||||
|           enable = true; |           enable = true; | ||||||
|           package = hyprland-package; |           package = hyprland-package; | ||||||
|           plugins = [ inputs.hy3.packages.${system}.hy3 ]; |           plugins = [ inputs.hy3.packages.${system}.hy3 ]; | ||||||
|  |           systemd.variables = [ "--all" ]; | ||||||
|           settings = mkMerge [ |           settings = mkMerge [ | ||||||
|             { |             { | ||||||
|               "$mod" = "SUPER"; |               "$mod" = "SUPER"; | ||||||
|  | @ -171,7 +208,7 @@ in | ||||||
|               exec-once = [ |               exec-once = [ | ||||||
|                 "systemctl --user start hyprpolkitagent" |                 "systemctl --user start hyprpolkitagent" | ||||||
| 
 | 
 | ||||||
|                 "[workspace 2 silent] steam --disable-gpu-compositing" # nvidia pls let me have nice things |                 "[workspace 2 silent] steam" | ||||||
|                 "[workspace 8 silent] discord" |                 "[workspace 8 silent] discord" | ||||||
|                 "[workspace 9 silent] ELECTRON_OZONE_PLATFORM_HINT=x11 1password" # fix for promts not showing up anymore |                 "[workspace 9 silent] ELECTRON_OZONE_PLATFORM_HINT=x11 1password" # fix for promts not showing up anymore | ||||||
|                 "[workspace 1 silent] zen-beta" |                 "[workspace 1 silent] zen-beta" | ||||||
|  | @ -250,69 +287,68 @@ in | ||||||
|                 ]; |                 ]; | ||||||
|               }; |               }; | ||||||
| 
 | 
 | ||||||
|               bind = |               bind = [ | ||||||
|                 [ |                 # compositor commands | ||||||
|                   # compositor commands |                 "$mod SHIFT, R, exec, hyprctl reload" | ||||||
|                   "$mod SHIFT, R, exec, hyprctl reload" |                 "$mod SHIFT, Q, killactive," | ||||||
|                   "$mod SHIFT, Q, killactive," |                 "$mod SHIFT, E, exec, pkill Hyprland" | ||||||
|                   "$mod SHIFT, E, exec, pkill Hyprland" |  | ||||||
| 
 | 
 | ||||||
|                   "$mod, F, fullscreen," |                 "$mod, F, fullscreen," | ||||||
|                   "$mod, G, togglegroup," |                 "$mod, G, togglegroup," | ||||||
|                   "$mod SHIFT, N, changegroupactive, f" |                 "$mod SHIFT, N, changegroupactive, f" | ||||||
|                   "$mod SHIFT, P, changegroupactive, b" |                 "$mod SHIFT, P, changegroupactive, b" | ||||||
|                   "$mod, R, togglesplit," |                 "$mod, R, togglesplit," | ||||||
|                   "$mod, T, togglefloating," |                 "$mod, T, togglefloating," | ||||||
|                   "$mod ALT, ,resizeactive," |                 "$mod ALT, ,resizeactive," | ||||||
| 
 | 
 | ||||||
|                   "$mod CTRL, left, movecurrentworkspacetomonitor, l" |                 "$mod CTRL, left, movecurrentworkspacetomonitor, l" | ||||||
|                   "$mod CTRL, right, movecurrentworkspacetomonitor, r" |                 "$mod CTRL, right, movecurrentworkspacetomonitor, r" | ||||||
| 
 | 
 | ||||||
|                   # move focus |                 # move focus | ||||||
|                   "$mod, h, hy3:movefocus, l" |                 "$mod, h, hy3:movefocus, l" | ||||||
|                   "$mod, j, hy3:movefocus, d" |                 "$mod, j, hy3:movefocus, d" | ||||||
|                   "$mod, k, hy3:movefocus, u" |                 "$mod, k, hy3:movefocus, u" | ||||||
|                   "$mod, l, hy3:movefocus, r" |                 "$mod, l, hy3:movefocus, r" | ||||||
|                   "$mod, left, hy3:movefocus, l" |                 "$mod, left, hy3:movefocus, l" | ||||||
|                   "$mod, down, hy3:movefocus, d" |                 "$mod, down, hy3:movefocus, d" | ||||||
|                   "$mod, up, hy3:movefocus, u" |                 "$mod, up, hy3:movefocus, u" | ||||||
|                   "$mod, right, hy3:movefocus, r" |                 "$mod, right, hy3:movefocus, r" | ||||||
| 
 | 
 | ||||||
|                   # move focus |                 # move focus | ||||||
|                   "$mod SHIFT, h, hy3:movewindow, l, once" |                 "$mod SHIFT, h, hy3:movewindow, l, once" | ||||||
|                   "$mod SHIFT, j, hy3:movewindow, d, once" |                 "$mod SHIFT, j, hy3:movewindow, d, once" | ||||||
|                   "$mod SHIFT, k, hy3:movewindow, u, once" |                 "$mod SHIFT, k, hy3:movewindow, u, once" | ||||||
|                   "$mod SHIFT, l, hy3:movewindow, r, once" |                 "$mod SHIFT, l, hy3:movewindow, r, once" | ||||||
|                   "$mod SHIFT, left, hy3:movewindow, l, once" |                 "$mod SHIFT, left, hy3:movewindow, l, once" | ||||||
|                   "$mod SHIFT, down, hy3:movewindow, d, once" |                 "$mod SHIFT, down, hy3:movewindow, d, once" | ||||||
|                   "$mod SHIFT, up, hy3:movewindow, u, once" |                 "$mod SHIFT, up, hy3:movewindow, u, once" | ||||||
|                   "$mod SHIFT, right, hy3:movewindow, r, once" |                 "$mod SHIFT, right, hy3:movewindow, r, once" | ||||||
| 
 | 
 | ||||||
|                   #run important programs |                 #run important programs | ||||||
|                   "$mod, Return, exec, kitty" |                 "$mod, Return, exec, kitty" | ||||||
|                   "$mod, D, exec, rofi -show drun" |                 "$mod, D, exec, rofi -show drun" | ||||||
|                   "$mod, P, exec, focus-or-open-1pass" |                 "$mod, P, exec, focus-or-open-1pass" | ||||||
|                   # "$mod, D, exec, rofi -show combi" |                 # "$mod, D, exec, rofi -show combi" | ||||||
| 
 | 
 | ||||||
|                   #screenshot |                 #screenshot | ||||||
|                   ", Print, exec, grimblast copy area" |                 ", Print, exec, grimblast copy area" | ||||||
|                 ] |               ] | ||||||
|                 ++ ( |               ++ ( | ||||||
|                   # workspaces |                 # workspaces | ||||||
|                   # binds $mod + [shift +] {1..9} to [move to] workspace {1..9} |                 # binds $mod + [shift +] {1..9} to [move to] workspace {1..9} | ||||||
|                   builtins.concatLists ( |                 builtins.concatLists ( | ||||||
|                     builtins.genList ( |                   builtins.genList ( | ||||||
|                       i: |                     i: | ||||||
|                       let |                     let | ||||||
|                         ws = i + 1; |                       ws = i + 1; | ||||||
|                       in |                     in | ||||||
|                       [ |                     [ | ||||||
|                         "$mod, code:1${toString i}, workspace, ${toString ws}" |                       "$mod, code:1${toString i}, workspace, ${toString ws}" | ||||||
|                         "$mod SHIFT, code:1${toString i}, hy3:movetoworkspace, ${toString ws}" |                       "$mod SHIFT, code:1${toString i}, hy3:movetoworkspace, ${toString ws}" | ||||||
|                       ] |                     ] | ||||||
|                     ) 9 |                   ) 9 | ||||||
|                   ) |                 ) | ||||||
|                 ); |               ); | ||||||
| 
 | 
 | ||||||
|               # mouse movements |               # mouse movements | ||||||
|               bindm = [ |               bindm = [ | ||||||
|  |  | ||||||
|  | @ -3,6 +3,7 @@ | ||||||
|   config, |   config, | ||||||
|   lib, |   lib, | ||||||
|   namespace, |   namespace, | ||||||
|  |   pkgs, | ||||||
|   ... |   ... | ||||||
| }: | }: | ||||||
| let | let | ||||||
|  | @ -17,7 +18,15 @@ in | ||||||
| 
 | 
 | ||||||
|   config = mkIf cfg.enable { |   config = mkIf cfg.enable { | ||||||
|     services.gnome.gnome-keyring.enable = true; |     services.gnome.gnome-keyring.enable = true; | ||||||
|  |     security.pam.services.gdm.enableGnomeKeyring = true; | ||||||
|     security.pam.services.sddm.enableGnomeKeyring = true; |     security.pam.services.sddm.enableGnomeKeyring = true; | ||||||
|     security.pam.services.greetd.enableGnomeKeyring = true; |     security.pam.services.greetd.enableGnomeKeyring = true; | ||||||
|  | 
 | ||||||
|  |     services.dbus.packages = [ | ||||||
|  |       pkgs.gnome-keyring | ||||||
|  |       pkgs.gcr | ||||||
|  |     ]; | ||||||
|  | 
 | ||||||
|  |     environment.systemPackages = [ pkgs.seahorse ]; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -17,7 +17,7 @@ in | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   config = mkIf cfg.enable { |   config = mkIf cfg.enable { | ||||||
|     # environment.systemPackages = with pkgs; [ prismlauncher ]; |     environment.systemPackages = with pkgs; [ prismlauncher ]; | ||||||
| 
 | 
 | ||||||
|     ${namespace} = { |     ${namespace} = { | ||||||
|       apps = { |       apps = { | ||||||
|  |  | ||||||
							
								
								
									
										35
									
								
								modules/nixos/system/hardware/gpu/amd/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								modules/nixos/system/hardware/gpu/amd/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,35 @@ | ||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   namespace, | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | let | ||||||
|  |   inherit (lib) mkIf mkEnableOption; | ||||||
|  |   cfg = config.${namespace}.system.hardware.gpu.amd; | ||||||
|  | 
 | ||||||
|  |   amdvlk-run = pkgs.writeShellScriptBin "amdvlk-run" '' | ||||||
|  |     export VK_DRIVER_FILES="${pkgs.amdvlk}/share/vulkan/icd.d/amd_icd64.json:${pkgs.pkgsi686Linux.amdvlk}/share/vulkan/icd.d/amd_icd32.json" | ||||||
|  |     exec "$@" | ||||||
|  |   ''; | ||||||
|  | in | ||||||
|  | { | ||||||
|  |   options.${namespace}.system.hardware.gpu.amd = { | ||||||
|  |     enable = mkEnableOption "Enable AMD GPU"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   config = mkIf cfg.enable { | ||||||
|  |     hardware.graphics = { | ||||||
|  |       enable = true; | ||||||
|  |       enable32Bit = true; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     environment = { | ||||||
|  |       systemPackages = [ amdvlk-run ]; | ||||||
|  |       variables = { | ||||||
|  |         AMD_VULKAN_ICD = "RADV"; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  | @ -1,97 +0,0 @@ | ||||||
| { |  | ||||||
|   inputs, |  | ||||||
|   lib, |  | ||||||
|   namespace, |  | ||||||
|   pkgs, |  | ||||||
|   ... |  | ||||||
| }: |  | ||||||
| let |  | ||||||
|   inherit (lib.${namespace}) enabled disabled; |  | ||||||
| in |  | ||||||
| { |  | ||||||
|   imports = [ |  | ||||||
|     ./hardware.nix |  | ||||||
|     ./hyprland_config.nix |  | ||||||
|   ]; |  | ||||||
| 
 |  | ||||||
|   environment.systemPackages = with pkgs; [ |  | ||||||
|     path-of-building |  | ||||||
|     teams-for-linux |  | ||||||
|     obsidian |  | ||||||
|     zed-editor |  | ||||||
| 
 |  | ||||||
|     # eve |  | ||||||
|     bottles |  | ||||||
|     pyfa |  | ||||||
| 
 |  | ||||||
|     # misc |  | ||||||
|     diebahn |  | ||||||
| 
 |  | ||||||
|     nixpkgs-review |  | ||||||
|   ]; |  | ||||||
| 
 |  | ||||||
|   environment.pathsToLink = [ "/libexec" ]; |  | ||||||
| 
 |  | ||||||
|   virtualisation.waydroid = enabled; |  | ||||||
| 
 |  | ||||||
|   programs.ssh.extraConfig = '' |  | ||||||
|     AddressFamily inet |  | ||||||
|   ''; |  | ||||||
|   home-manager = { |  | ||||||
|     backupFileExtension = ".bak"; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   nix = { |  | ||||||
|     distributedBuilds = true; |  | ||||||
|     settings.builders-use-substitutes = true; |  | ||||||
|     buildMachines = [ |  | ||||||
|       { |  | ||||||
|         hostName = "nixberry"; |  | ||||||
|         sshUser = "remotebuild"; |  | ||||||
|         sshKey = "/root/.ssh/remotebuild"; |  | ||||||
|         systems = [ "aarch64-linux" ]; |  | ||||||
|         protocol = "ssh-ng"; |  | ||||||
| 
 |  | ||||||
|         supportedFeatures = [ |  | ||||||
|           "nixos-test" |  | ||||||
|           "big-parallel" |  | ||||||
|           "kvm" |  | ||||||
|         ]; |  | ||||||
|       } |  | ||||||
|     ]; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   ${namespace} = { |  | ||||||
|     archetypes = { |  | ||||||
|       gaming.enable = true; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     apps = { |  | ||||||
|       _1password = enabled; |  | ||||||
|       obs-studio = enabled; |  | ||||||
|       cli-apps.helix = enabled; |  | ||||||
|       starsector = enabled; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     desktop.hyprland = { |  | ||||||
|       enable = true; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     services = { |  | ||||||
|       factorio-server = disabled; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     tools.devenv = enabled; |  | ||||||
| 
 |  | ||||||
|     system = { |  | ||||||
|       hardware = { |  | ||||||
|         bluetooth = enabled; |  | ||||||
|         # gpu.nvidia = enabled; |  | ||||||
|       }; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     security.gpg = enabled; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   system.stateVersion = "23.11"; |  | ||||||
| } |  | ||||||
|  | @ -1,69 +0,0 @@ | ||||||
| # Do not modify this file!  It was generated by ‘nixos-generate-config’ |  | ||||||
| # and may be overwritten by future invocations.  Please make changes |  | ||||||
| # to /etc/nixos/configuration.nix instead. |  | ||||||
| { |  | ||||||
|   config, |  | ||||||
|   lib, |  | ||||||
|   modulesPath, |  | ||||||
|   inputs, |  | ||||||
|   ... |  | ||||||
| }: |  | ||||||
| let |  | ||||||
|   inherit (inputs) nixos-hardware; |  | ||||||
| in |  | ||||||
| { |  | ||||||
|   imports = with nixos-hardware.nixosModules; [ |  | ||||||
|     (modulesPath + "/installer/scan/not-detected.nix") |  | ||||||
|     common-cpu-amd |  | ||||||
|     common-gpu-nvidia-nonprime |  | ||||||
|     common-pc |  | ||||||
|     common-pc-ssd |  | ||||||
|   ]; |  | ||||||
| 
 |  | ||||||
|   boot = { |  | ||||||
|     initrd.availableKernelModules = [ |  | ||||||
|       "nvme" |  | ||||||
|       "xhci_pci" |  | ||||||
|       "ahci" |  | ||||||
|       "usb_storage" |  | ||||||
|       "usbhid" |  | ||||||
|       "sd_mod" |  | ||||||
|     ]; |  | ||||||
|     initrd.kernelModules = [ ]; |  | ||||||
|     kernelModules = [ |  | ||||||
|       "kvm-amd" |  | ||||||
|       "btusb" |  | ||||||
|     ]; |  | ||||||
|     extraModulePackages = [ ]; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   fileSystems = { |  | ||||||
|     "/" = { |  | ||||||
|       device = "/dev/disk/by-uuid/444a9216-59d1-46e0-9643-0b716a42ba0b"; |  | ||||||
|       fsType = "ext4"; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     "/boot" = { |  | ||||||
|       device = "/dev/disk/by-uuid/8310-585A"; |  | ||||||
|       fsType = "vfat"; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     "/storage" = { |  | ||||||
|       device = "/dev/disk/by-uuid/c3c1dec1-7716-4c37-a3f2-bb60f9af84fd"; |  | ||||||
|       fsType = "ext4"; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   swapDevices = [ ]; |  | ||||||
| 
 |  | ||||||
|   # Enables DHCP on each ethernet and wireless interface. In case of scripted networking |  | ||||||
|   # (the default) this is the recommended approach. When using systemd-networkd it's |  | ||||||
|   # still possible to use this option, but it's recommended to use it in conjunction |  | ||||||
|   # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. |  | ||||||
|   networking.useDHCP = lib.mkDefault true; |  | ||||||
|   # networking.interfaces.enp40s0.useDHCP = lib.mkDefault true; |  | ||||||
|   # networking.interfaces.enp42s0.useDHCP = lib.mkDefault true; |  | ||||||
| 
 |  | ||||||
|   nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; |  | ||||||
|   hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; |  | ||||||
| } |  | ||||||
|  | @ -1,48 +0,0 @@ | ||||||
| { |  | ||||||
|   lib, |  | ||||||
|   namespace, |  | ||||||
|   pkgs, |  | ||||||
|   ... |  | ||||||
| }: |  | ||||||
| let |  | ||||||
| in |  | ||||||
| { |  | ||||||
|   ${namespace}.desktop.hyprland.settings = { |  | ||||||
|     monitor = [ |  | ||||||
|       #Ultrawide |  | ||||||
|       "DP-2,3440x1440@144, 0x0, 1" |  | ||||||
|       #Vertical |  | ||||||
|       "HDMI-A-1, 1920x1080@144, auto-right, 1, transform, 1" |  | ||||||
|       # nividia kernel issues |  | ||||||
|       "Unknown-1, disable" |  | ||||||
|     ]; |  | ||||||
| 
 |  | ||||||
|     cursor = { |  | ||||||
|       no_hardware_cursors = true; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     exec-once = [ |  | ||||||
|       "[workspace 7 silent] obsidian" |  | ||||||
| 
 |  | ||||||
|       "${lib.getExe pkgs.xorg.xrandr} --output DP-2 --primary" |  | ||||||
|     ]; |  | ||||||
| 
 |  | ||||||
|     workspace = [ |  | ||||||
|       "1, monitor:DP-2" |  | ||||||
|       "2, monitor:DP-2" |  | ||||||
|       "3, monitor:DP-2" |  | ||||||
|       "4, monitor:DP-2" |  | ||||||
|       "5, monitor:DP-2" |  | ||||||
|       "6, monitor:DP-2" |  | ||||||
|       "7, monitor:HDMI-A-1" |  | ||||||
|       "8, monitor:HDMI-A-1" |  | ||||||
|       "9, monitor:HDMI-A-1" |  | ||||||
|     ]; |  | ||||||
| 
 |  | ||||||
|     windowrulev2 = [ |  | ||||||
|       "workspace 8 silent, class:^(steam)$, title:^(Friends List)" |  | ||||||
|       "workspace 8 silent, class:^(discord)$, title:^(Discord)" |  | ||||||
|       "workspace 7 silent, class:^(com.obsproject.Studio)$" |  | ||||||
|     ]; |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
|  | @ -38,7 +38,7 @@ in | ||||||
|     AddressFamily inet |     AddressFamily inet | ||||||
|   ''; |   ''; | ||||||
|   home-manager = { |   home-manager = { | ||||||
|     backupFileExtension = ".bak"; |     backupFileExtension = "bak"; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   nix = { |   nix = { | ||||||
|  | @ -86,7 +86,7 @@ in | ||||||
|     system = { |     system = { | ||||||
|       hardware = { |       hardware = { | ||||||
|         bluetooth = enabled; |         bluetooth = enabled; | ||||||
|         gpu.nvidia = enabled; |         gpu.amd = enabled; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -4,8 +4,9 @@ | ||||||
| { | { | ||||||
|   config, |   config, | ||||||
|   lib, |   lib, | ||||||
|   modulesPath, |  | ||||||
|   inputs, |   inputs, | ||||||
|  |   pkgs, | ||||||
|  |   modulesPath, | ||||||
|   ... |   ... | ||||||
| }: | }: | ||||||
| let | let | ||||||
|  | @ -15,7 +16,6 @@ in | ||||||
|   imports = with nixos-hardware.nixosModules; [ |   imports = with nixos-hardware.nixosModules; [ | ||||||
|     (modulesPath + "/installer/scan/not-detected.nix") |     (modulesPath + "/installer/scan/not-detected.nix") | ||||||
|     common-cpu-amd |     common-cpu-amd | ||||||
|     common-gpu-nvidia-nonprime |  | ||||||
|     common-pc |     common-pc | ||||||
|     common-pc-ssd |     common-pc-ssd | ||||||
|   ]; |   ]; | ||||||
|  | @ -23,29 +23,28 @@ in | ||||||
|   boot = { |   boot = { | ||||||
|     initrd.availableKernelModules = [ |     initrd.availableKernelModules = [ | ||||||
|       "nvme" |       "nvme" | ||||||
|       "xhci_pci" |  | ||||||
|       "ahci" |       "ahci" | ||||||
|       "usb_storage" |       "xhci_pci" | ||||||
|       "usbhid" |       "usbhid" | ||||||
|  |       "usb_storage" | ||||||
|       "sd_mod" |       "sd_mod" | ||||||
|     ]; |     ]; | ||||||
|     initrd.kernelModules = [ ]; |     kernelModules = [ "kvm-amd" ]; | ||||||
|     kernelModules = [ |  | ||||||
|       "kvm-amd" |  | ||||||
|       "btusb" |  | ||||||
|     ]; |  | ||||||
|     extraModulePackages = [ ]; |  | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   fileSystems = { |   fileSystems = { | ||||||
|     "/" = { |     "/" = { | ||||||
|       device = "/dev/disk/by-uuid/444a9216-59d1-46e0-9643-0b716a42ba0b"; |       device = "/dev/disk/by-uuid/b1a956f4-91d5-456e-a92b-be505bb719bd"; | ||||||
|       fsType = "ext4"; |       fsType = "ext4"; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     "/boot" = { |     "/boot" = { | ||||||
|       device = "/dev/disk/by-uuid/8310-585A"; |       device = "/dev/disk/by-uuid/B4D4-8BA0"; | ||||||
|       fsType = "vfat"; |       fsType = "vfat"; | ||||||
|  |       options = [ | ||||||
|  |         "fmask=0077" | ||||||
|  |         "dmask=0077" | ||||||
|  |       ]; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     "/storage" = { |     "/storage" = { | ||||||
|  | @ -54,15 +53,17 @@ in | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   swapDevices = [ ]; |   swapDevices = [ | ||||||
|  |     { device = "/dev/disk/by-uuid/4bec00ec-e9eb-4034-836a-ecf15e0bb40e"; } | ||||||
|  |   ]; | ||||||
| 
 | 
 | ||||||
|   # Enables DHCP on each ethernet and wireless interface. In case of scripted networking |   # Enables DHCP on each ethernet and wireless interface. In case of scripted networking | ||||||
|   # (the default) this is the recommended approach. When using systemd-networkd it's |   # (the default) this is the recommended approach. When using systemd-networkd it's | ||||||
|   # still possible to use this option, but it's recommended to use it in conjunction |   # still possible to use this option, but it's recommended to use it in conjunction | ||||||
|   # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. |   # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. | ||||||
|   networking.useDHCP = lib.mkDefault true; |   networking.useDHCP = lib.mkDefault true; | ||||||
|   # networking.interfaces.enp40s0.useDHCP = lib.mkDefault true; |   # networking.interfaces.enp14s0.useDHCP = lib.mkDefault true; | ||||||
|   # networking.interfaces.enp42s0.useDHCP = lib.mkDefault true; |   # networking.interfaces.wlp15s0.useDHCP = lib.mkDefault true; | ||||||
| 
 | 
 | ||||||
|   nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; |   nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; | ||||||
|   hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; |   hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; | ||||||
|  |  | ||||||
|  | @ -10,7 +10,7 @@ in | ||||||
|   ${namespace}.desktop.hyprland.settings = { |   ${namespace}.desktop.hyprland.settings = { | ||||||
|     monitor = [ |     monitor = [ | ||||||
|       #Ultrawide |       #Ultrawide | ||||||
|       "DP-2,3440x1440@144, 0x0, 1" |       "DP-1,3440x1440@144, 0x0, 1" | ||||||
|       #Vertical |       #Vertical | ||||||
|       "HDMI-A-1, 1920x1080@144, auto-right, 1, transform, 1" |       "HDMI-A-1, 1920x1080@144, auto-right, 1, transform, 1" | ||||||
|       # nividia kernel issues |       # nividia kernel issues | ||||||
|  | @ -24,16 +24,16 @@ in | ||||||
|     exec-once = [ |     exec-once = [ | ||||||
|       "[workspace 7 silent] obsidian" |       "[workspace 7 silent] obsidian" | ||||||
| 
 | 
 | ||||||
|       "${lib.getExe pkgs.xorg.xrandr} --output DP-2 --primary" |       "${lib.getExe pkgs.xorg.xrandr} --output DP-1 --primary" | ||||||
|     ]; |     ]; | ||||||
| 
 | 
 | ||||||
|     workspace = [ |     workspace = [ | ||||||
|       "1, monitor:DP-2" |       "1, monitor:DP-1" | ||||||
|       "2, monitor:DP-2" |       "2, monitor:DP-1" | ||||||
|       "3, monitor:DP-2" |       "3, monitor:DP-1" | ||||||
|       "4, monitor:DP-2" |       "4, monitor:DP-1" | ||||||
|       "5, monitor:DP-2" |       "5, monitor:DP-1" | ||||||
|       "6, monitor:DP-2" |       "6, monitor:DP-1" | ||||||
|       "7, monitor:HDMI-A-1" |       "7, monitor:HDMI-A-1" | ||||||
|       "8, monitor:HDMI-A-1" |       "8, monitor:HDMI-A-1" | ||||||
|       "9, monitor:HDMI-A-1" |       "9, monitor:HDMI-A-1" | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue