{ pkgs, config, lib, ... }: { # hyprland configs, based on https://github.com/notwidow/hyprland home.file.".config/hypr" = { source = ./hypr-conf; # copy the scripts directory recursively recursive = true; }; home.file.".config/gtk-3.0" = { source = ./gtk-3.0; recursive = true; }; home.file.".gtkrc-2.0".source = ./gtkrc-2.0; home.file.".config/hypr/wallpapers/wallpaper.png".source = ../wallpapers/wallpaper.png; home.file.".config/fcitx5/profile".source = ./profile; home.file.".config/fcitx5/profile-bak".source = ./profile; # used for backup # fcitx5 每次切换输入法,就会修改 ~/.config/fcitx5/profile 文件,导致我用 hm 管理的配置被覆盖 # 解决方法是通过如下内置,每次 rebuild 前都先删除下 profile 文件 home.activation.removeExistingFcitx5Profile = lib.hm.dag.entryBefore ["checkLinkTargets"] '' rm -f "${config.xdg.configHome}/fcitx5/profile" ''; # allow fontconfig to discover fonts and configurations installed through home.packages fonts.fontconfig.enable = true; # set cursor size and dpi for 4k monitor # this is for xwayland xresources.properties = { "Xcursor.size" = 16; "Xft.dpi" = 160; }; systemd.user.sessionVariables = { "NIXOS_OZONE_WL" = "1"; # for any ozone-based browser & electron apps to run on wayland "MOZ_ENABLE_WAYLAND" = "1"; # for firefox to run on wayland "MOZ_WEBRENDER" = "1"; # for hyprland with nvidia gpu, ref https://wiki.hyprland.org/Nvidia/ "LIBVA_DRIVER_NAME" = "nvidia"; "XDG_SESSION_TYPE" = "wayland"; "GBM_BACKEND" = "nvidia-drm"; "__GLX_VENDOR_LIBRARY_NAME" = "nvidia"; "WLR_NO_HARDWARE_CURSORS" = "1"; "WLR_EGL_NO_MODIFIRES" = "1"; # copy from https://github.com/nix-community/home-manager/blob/master/modules/i18n/input-method/fcitx5.nix GLFW_IM_MODULE = "fcitx"; GTK_IM_MODULE = "fcitx"; QT_IM_MODULE = "fcitx"; XMODIFIERS = "@im=fcitx"; INPUT_METHOD = "fcitx"; IMSETTINGS_MODULE = "fcitx"; }; }