summary refs log tree commit diff
path: root/host/Arc/optional
diff options
context:
space:
mode:
Diffstat (limited to 'host/Arc/optional')
-rw-r--r--host/Arc/optional/gui/wayland.nix63
-rw-r--r--host/Arc/optional/gui/x11.nix36
-rw-r--r--host/Arc/optional/hardware-specific/amd.nix42
-rw-r--r--host/Arc/optional/hardware-specific/nvidia.nix40
4 files changed, 181 insertions, 0 deletions
diff --git a/host/Arc/optional/gui/wayland.nix b/host/Arc/optional/gui/wayland.nix
new file mode 100644

index 0000000..0d8682b --- /dev/null +++ b/host/Arc/optional/gui/wayland.nix
@@ -0,0 +1,63 @@ +{ + pkgs, + hyprland, + hy3, + ... +}: + +{ + #programs.sway = { + # enable = true; + # + # wrapperFeatures.gtk = true; + # extraSessionCommands = '' + # # -- Wayland fixes + # # SDL: + # export SDL_VIDEODRIVER=wayland + # # QT (needs qt5.qtwayland in systemPackages): + # export QT_QPA_PLATFORM=wayland-egl + # export QT_WAYLAND_DISABLE_WINDOWDECORATION="1" + # # Fix for some Java AWT applications (e.g. Android Studio), + # # use this if they aren't displayed properly: + # export _JAVA_AWT_WM_NONREPARENTING=1 + # ''; + # + # extraPackages = with pkgs; [ + # swaybg + # #swayidle + # #swaylock + # waybar + # wl-clipboard + # grim + # slurp + # easyeffects + # keepassxc + # ]; + #}; + + programs.hyprland = { + enable = true; + package = hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; + }; + + programs.hyprlock.enable = true; + environment.systemPackages = with pkgs; [ + wmenu + + waybar + wl-clipboard + grim + slurp + #easyeffects + keepassxc + networkmanagerapplet + ]; + + #environment.etc."hyprPlugins" = { + # text = '' + # plugin = ${hy3.packages.${pkgs.stdenv.hostPlatform.system}.hy3}/lib/libhy3.so + # ''; + #}; + + xdg.portal.wlr.enable = true; +} diff --git a/host/Arc/optional/gui/x11.nix b/host/Arc/optional/gui/x11.nix new file mode 100644
index 0000000..9070298 --- /dev/null +++ b/host/Arc/optional/gui/x11.nix
@@ -0,0 +1,36 @@ +{ + config, + pkgs, + lib, + nhekoSrc, + mtxclientSrc, + ... +}: + +{ + imports = [ ]; + + services = { + xserver = { + windowManager.i3.enable = true; + windowManager.i3.extraSessionCommands = '' + # output from arandr: + #xrandr --output DP-1 --mode 1920x1080 --pos 3840x1080 --rotate normal --output HDMI-1 --mode 3840x2160 --pos 0x0 --rotate normal --output HDMI-2 --off --output DP-2 --off + xrandr --output HDMI-1 --mode 3840x2160 --pos 0x0 --rotate normal --primary --output DP-1 --mode 1920x1080 --pos 3840x1080 --rotate normal --output HDMI-2 --off --output DP-2 --off + ${pkgs.polybarFull}/bin/polybar & + ${pkgs.dunst}/bin/dunst & + ${pkgs.picom}/bin/picom --config ~/.config/picom.conf & + ${pkgs.feh}/bin/feh --no-fehbg --bg-fill ${../../../../modules/users/Rory/wallpaper.webp} + ''; + windowManager.i3.extraPackages = with pkgs; [ + easyeffects + keepassxc + ]; + }; + + picom.enable = false; + #picom.vSync = false; + #picom.backend = "glx"; + }; + +} diff --git a/host/Arc/optional/hardware-specific/amd.nix b/host/Arc/optional/hardware-specific/amd.nix new file mode 100644
index 0000000..e4758a6 --- /dev/null +++ b/host/Arc/optional/hardware-specific/amd.nix
@@ -0,0 +1,42 @@ +{ + config, + pkgs, + lib, + nhekoSrc, + mtxclientSrc, + ... +}: + +{ + imports = [ ]; + + boot.initrd.kernelModules = [ "amdgpu" ]; + + services = { + xserver = { + windowManager.i3.extraSessionCommands = '' + xrandr --output HDMI-1 --mode 3840x2160 --pos 0x0 --rotate normal --primary --output DP-1 --mode 1920x1080 --pos 3840x1080 --rotate normal --output HDMI-2 --off --output DP-2 --off + ''; + wacom.enable = true; + }; + picom.backend = "glx"; + }; + + environment.systemPackages = with pkgs; [ + rocmPackages.rocm-smi # useful to have + ]; + + hardware = { + graphics = { + enable = true; + enable32Bit = true; + extraPackages = with pkgs; [ + rocmPackages.clr.icd + #amdvlk + ]; + #extraPackages32 = with pkgs; [ driversi686Linux.amdvlk ]; + }; + }; + + systemd.tmpfiles.rules = [ "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" ]; +} diff --git a/host/Arc/optional/hardware-specific/nvidia.nix b/host/Arc/optional/hardware-specific/nvidia.nix new file mode 100644
index 0000000..1f98541 --- /dev/null +++ b/host/Arc/optional/hardware-specific/nvidia.nix
@@ -0,0 +1,40 @@ +{ + config, + pkgs, + lib, + nhekoSrc, + mtxclientSrc, + ... +}: + +{ + imports = [ + + ]; + + services = { + xserver = { + #videoDrivers = [ "nvidia" ]; + #windowManager.i3.extraSessionCommands = '' + # todo: restore + #''; + }; + picom.backend = "glx"; + }; + + hardware = { + graphics = { + enable = true; + }; + + nvidia = { + modesetting.enable = true; + powerManagement.enable = false; + powerManagement.finegrained = false; + open = true; + nvidiaSettings = true; + nvidiaPersistenced = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + }; +}