From 52306bb5f72d31012e47cdc9735836f34129a2ec Mon Sep 17 00:00:00 2001 From: Fuwn Date: Fri, 30 Aug 2024 16:40:58 -0700 Subject: update --- .../wayland/hyprland/hyprland/environment.nix | 70 +---------------- modules/default.nix | 2 +- modules/environment/default.nix | 4 +- modules/environment/system-packages.nix | 9 --- modules/environment/system-packages/default.nix | 16 ++++ modules/environment/system-packages/gtk.nix | 8 ++ modules/environment/system-packages/usb.nix | 8 ++ modules/environment/system-packages/vulkan.nix | 8 ++ modules/environment/variables.nix | 90 +++++++++++++++++----- modules/hardware/graphics.nix | 7 +- modules/nix.nix | 8 +- modules/programs/default.nix | 20 ++--- modules/programs/gnupg.nix | 16 ++++ modules/programs/hyprland.nix | 8 -- modules/programs/nh.nix | 10 +++ 15 files changed, 161 insertions(+), 123 deletions(-) delete mode 100644 modules/environment/system-packages.nix create mode 100644 modules/environment/system-packages/default.nix create mode 100644 modules/environment/system-packages/gtk.nix create mode 100644 modules/environment/system-packages/usb.nix create mode 100644 modules/environment/system-packages/vulkan.nix create mode 100644 modules/programs/gnupg.nix delete mode 100644 modules/programs/hyprland.nix create mode 100644 modules/programs/nh.nix diff --git a/home/ebisu/fortune/desktop/wayland/hyprland/hyprland/environment.nix b/home/ebisu/fortune/desktop/wayland/hyprland/hyprland/environment.nix index 73690ac..252b53a 100644 --- a/home/ebisu/fortune/desktop/wayland/hyprland/hyprland/environment.nix +++ b/home/ebisu/fortune/desktop/wayland/hyprland/hyprland/environment.nix @@ -1,80 +1,16 @@ -_: -let cursorSize = "18"; in +let + cursorSize = "18"; +in { wayland.windowManager.hyprland.settings.env = [ - # Proton - "PROTON_ENABLE_NGX_UPDATER, 1" - # Cursor "XCURSOR_SIZE, ${cursorSize}" "HYPRCURSOR_SIZE, ${cursorSize}" "HYPERCURSOR_THEME, Bibata-Modern-Ice" # WhiteSur-cursors "XCURSOR_THEME, Bibata-Modern-Ice" - # Wayland & Xwayland - "GDK_BACKEND, wayland,x11,*" - "SDL_VIDEODRIVER, wayland" - "CLUTTER_BACKEND, wayland" - "XWAYLAND_NO_GLAMOR, 1" # Gamescope - - # Nvidia - "LIBVA_DRIVER_NAME, nvidia" - "GBM_BACKEND, nvidia-drm" - "__GLX_VENDOR_LIBRARY_NAME, nvidia" - "__VK_LAYER_NV_optimus, NVIDIA_only" - "__NV_PRIME_RENDER_OFFLOAD, 1" - "NVD_BACKEND, direct" - - # OpenGL - "__GL_GSYNC_ALLOWED, 1" - "__GL_VRR_ALLOWED, 1" - "__GL_MaxFramesAllowed, 1" - - # Electron - # "ELECTRON_OZONE_PLATFORM_HINT, auto" - "OZONE_PLATFORM, wayland" - - # Qt - "QT_AUTO_SCREEN_SCALE_FACTOR, 1" - "QT_QPA_PLATFORM, wayland;xcb" - "QT_WAYLAND_DISABLE_WINDOWDECORATION, 1" - "QT_QPA_PLATFORMTHEME, qt5ct" - # "QT_STYLE_OVERRIDE, kvantum" - - # wlroots - "WLR_NO_HARDWARE_CURSORS, 1" - "WLR_DRM_NO_ATOMIC, 1" - "WLR_USE_LIBINPUT, 1" - "WLR_RENDERER_ALLOW_SOFTWARE, 1" - # "WLR_DRM_DEVICES, /dev/dri/card0" - # "WLR_EGL_NO_MODIFIERS, 1" - # XDG - "XDG_SESSION_TYPE, wayland" "XDG_CURRENT_DESKTOP, Hyprland" "XDG_SESSION_DESKTOP, Hyprland" - - # Mozilla - "MOZ_ENABLE_WAYLAND, 1" - "MOZ_DISABLE_RDD_SANDBOX, 1" - - # Fcitx - # https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland - "QT_IM_MODULE, fcitx" - "XMODIFIERS, @im=fcitx" - # "GTK_IM_MODULE, wayland" - # "GTK_IM_MODULE, fcitx" - "SDL_IM_MODULE, fcitx" - "GLFW_IM_MODULE, ibus" - "INPUT_METHOD, fcitx" - - # GTK - "GTK_USE_PORTAL, 1" - - # Java - "_JAVA_AWT_WM_NONREPARENTING, 1" - - # SSH - # "SSH_AUTH_SOCK, $XDG_RUNTIME_DIR/ssh-agent.socket" ]; } diff --git a/modules/default.nix b/modules/default.nix index b4d4169..2e3bb89 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -2,8 +2,8 @@ imports = [ ./boot ./environment - ./hardware ./programs + ./hardware ./services ./datetime.nix ./networking.nix diff --git a/modules/environment/default.nix b/modules/environment/default.nix index 07805f0..fafb09d 100644 --- a/modules/environment/default.nix +++ b/modules/environment/default.nix @@ -1,6 +1,8 @@ { imports = [ - ./system-packages.nix + ./system-packages ./variables.nix ]; + + environment.shellAliases.nvidia-settings = "nvidia-settings --config='$XDG_CONFIG_HOME'/nvidia/settings"; } diff --git a/modules/environment/system-packages.nix b/modules/environment/system-packages.nix deleted file mode 100644 index 85251d9..0000000 --- a/modules/environment/system-packages.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: -{ - environment.systemPackages = with pkgs; [ - vim - wget - git - mediastreamer-openh264 - ]; -} diff --git a/modules/environment/system-packages/default.nix b/modules/environment/system-packages/default.nix new file mode 100644 index 0000000..228280c --- /dev/null +++ b/modules/environment/system-packages/default.nix @@ -0,0 +1,16 @@ +{ pkgs, ... }: +{ + imports = [ + ./gtk.nix + ./usb.nix + ./vulkan.nix + ]; + + environment.systemPackages = with pkgs; [ + vim + wget + git + mediastreamer-openh264 + pinentry + ]; +} diff --git a/modules/environment/system-packages/gtk.nix b/modules/environment/system-packages/gtk.nix new file mode 100644 index 0000000..4357e75 --- /dev/null +++ b/modules/environment/system-packages/gtk.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + environment.systemPackages = with pkgs; [ + gtk2 + gtk3 + gtk4 + ]; +} diff --git a/modules/environment/system-packages/usb.nix b/modules/environment/system-packages/usb.nix new file mode 100644 index 0000000..28bb194 --- /dev/null +++ b/modules/environment/system-packages/usb.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + environment.systemPackages = with pkgs; [ + usbutils + lm_sensors + pciutils + ]; +} diff --git a/modules/environment/system-packages/vulkan.nix b/modules/environment/system-packages/vulkan.nix new file mode 100644 index 0000000..e8dda9b --- /dev/null +++ b/modules/environment/system-packages/vulkan.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + environment.systemPackages = with pkgs; [ + vulkan-loader + vulkan-validation-layers + vulkan-tools + ]; +} diff --git a/modules/environment/variables.nix b/modules/environment/variables.nix index d28c806..7e9b794 100644 --- a/modules/environment/variables.nix +++ b/modules/environment/variables.nix @@ -1,22 +1,74 @@ { - environment = { - variables = { - LIBVA_DRIVER_NAME = "nvidia"; - XDG_SESSION_TYPE = "wayland"; - GBM_BACKEND = "nvidia-drm"; - __GLX_VENDOR_LIBRARY_NAME = "nvidia"; - __GL_GSYNC_ALLOWED = "1"; - __GL_VRR_ALLOWED = "0"; - QT_AUTO_SCREEN_SCALE_FACTOR = "1"; - QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; - CUDA_CACHE_PATH = "$XDG_CACHE_HOME/nv"; - }; - - sessionVariables = { - NIXOS_OZONE_WL = "1"; - WLR_NO_HARDWARE_CURSORS = "1"; - }; - - shellAliases.nvidia-settings = "nvidia-settings --config='$XDG_CONFIG_HOME'/nvidia/settings"; + environment.variables = { + # OpenGL + __GL_GSYNC_ALLOWED = "1"; + __GL_VRR_ALLOWED = "0"; + __GL_MaxFramesAllowed = "1"; + + # Java + _JAVA_AWT_WM_NONREPARENTING = "1"; + + # Qt + QT_AUTO_SCREEN_SCALE_FACTOR = "1"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + QT_QPA_PLATFORM = "wayland;xcb"; + DISABLE_QT5_COMPAT = "0"; + DISABLE_QT_COMPAT = "0"; + QT_QPA_PLATFORMTHEME = "qt5ct"; + # QT_STYLE_OVERRIDE = "kvantum"; + + # Electron + # ELECTRON_OZONE_PLATFORM_HINT = "auto"; + # OZONE_PLATFORM = "wayland"; + NIXOS_OZONE_WL = "1"; + + # Proton + PROTON_ENABLE_NGX_UPDATER = "1"; + + # wlroots + WLR_NO_HARDWARE_CURSORS = "1"; + WLR_DRM_NO_ATOMIC = "1"; + WLR_USE_LIBINPUT = "1"; + WLR_RENDERER_ALLOW_SOFTWARE = "1"; + WLR_DRM_DEVICES = "/dev/dri/card0"; + WLR_EGL_NO_MODIFIERS = "1"; + WLR_BACKEND = "vulkan"; + WLR_RENDERER = "vulkan"; + + # Mozilla + MOZ_ENABLE_WAYLAND = "1"; + MOZ_DISABLE_RDD_SANDBOX = "1"; + + # Nvidia + LIBVA_DRIVER_NAME = "nvidia"; + __GLX_VENDOR_LIBRARY_NAME = "nvidia"; + GBM_BACKEND = "nvidia-drm"; + __VK_LAYER_NV_optimus = "NVIDIA_only"; + __NV_PRIME_RENDER_OFFLOAD = "1"; + NVD_BACKEND = "direct"; + + # Fcitx + # https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland + QT_IM_MODULE = "fcitx"; + XMODIFIERS = "@im=fcitx"; + # GTK_IM_MODULE = "wayland"; + # GTK_IM_MODULE = "fcitx"; + SDL_IM_MODULE = "fcitx"; + GLFW_IM_MODULE = "ibus"; + INPUT_METHOD = "fcitx"; + CUDA_CACHE_PATH = "$XDG_CACHE_HOME/nv"; + + # Other Wayland + GDK_BACKEND = "wayland,x11,*"; + SDL_VIDEODRIVER = "wayland"; + CLUTTER_BACKEND = "wayland"; + XWAYLAND_NO_GLAMOR = "1"; # Gamescope + ANKI_WAYLAND = "1"; + XDG_SESSION_TYPE = "wayland"; + + # Other + GTK_USE_PORTAL = "1"; + DIRENV_LOG_FORMAT = ""; + SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh"; }; } diff --git a/modules/hardware/graphics.nix b/modules/hardware/graphics.nix index ae9d2fc..b757b58 100644 --- a/modules/hardware/graphics.nix +++ b/modules/hardware/graphics.nix @@ -3,6 +3,11 @@ hardware.graphics = { enable = true; enable32Bit = true; - extraPackages = with pkgs; [ nvidia-vaapi-driver ]; + + extraPackages = with pkgs; [ + nvidia-vaapi-driver + vaapiVdpau + libvdpau-va-gl + ]; }; } diff --git a/modules/nix.nix b/modules/nix.nix index 65413f0..8efc3ef 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -10,7 +10,6 @@ # sandbox = "relaxed"; trusted-users = [ - "root" "@wheel" ]; @@ -20,9 +19,14 @@ ]; substituters = [ + "https://cache.nixos.org/" "https://nix-community.cachix.org" "https://hyprland.cachix.org" - "https://ghostty.cachix.org" + ]; + + trusted-public-keys = [ + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ]; experimental-features = [ diff --git a/modules/programs/default.nix b/modules/programs/default.nix index 0cec34e..df9231e 100644 --- a/modules/programs/default.nix +++ b/modules/programs/default.nix @@ -1,24 +1,14 @@ { pkgs, ... }: { - # imports = [ ./hyprland.nix ]; + imports = [ + ./gnupg.nix + ./nh.nix + ]; programs = { fish.enable = true; mtr.enable = true; dconf.enable = true; - - gnupg.agent = { - enable = true; - enableSSHSupport = true; - }; - - nh = { - enable = true; - - clean = { - enable = true; - extraArgs = "--keep-since 4d --keep 3"; - }; - }; + ssh.startAgent = false; }; } diff --git a/modules/programs/gnupg.nix b/modules/programs/gnupg.nix new file mode 100644 index 0000000..604781d --- /dev/null +++ b/modules/programs/gnupg.nix @@ -0,0 +1,16 @@ +{ pkgs, ... }: +{ + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryPackage = pkgs.pinentry-curses; + + settings = { + enable-ssh-support = ""; + ttyname = "$GPG_TTY"; + default-cache-ttl = 60; + max-cache-ttl = 120; + allow-loopback-pinentry = ""; + }; + }; +} diff --git a/modules/programs/hyprland.nix b/modules/programs/hyprland.nix deleted file mode 100644 index befea76..0000000 --- a/modules/programs/hyprland.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgs, inputs, ... }: -{ - programs.hyprland = { - enable = true; - package = inputs.hyprland.packages.${pkgs.system}.hyprland; - portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland; - }; -} diff --git a/modules/programs/nh.nix b/modules/programs/nh.nix new file mode 100644 index 0000000..ebb4137 --- /dev/null +++ b/modules/programs/nh.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: { + programs.nh = { + enable = true; + + clean = { + enable = true; + extraArgs = "--keep-since 4d --keep 3"; + }; + }; +} -- cgit v1.2.3