{pkgs, ...}: { ########################################################################################################## # # NixOS's Configuration for Wayland based Window Manager # # hyprland: project starts from 2022, support Wayland, envolving fast, good looking, support Nvidia GPU. # ########################################################################################################## imports = [ ./base/i18n.nix ./base/misc.nix ./base/networking.nix ./base/remote-building.nix ./base/user-group.nix ./base/visualisation.nix ./desktop ../base.nix ]; xdg.portal = { enable = true; wlr.enable = true; extraPortals = with pkgs; [ xdg-desktop-portal-wlr ]; }; services = { xserver.enable = false; # disable xorg server # https://wiki.archlinux.org/title/Greetd greetd = { enable = true; settings = { default_session = { # Wayland Desktop Manager is installed only for user ryan via home-manager! user = "ryan"; # .wayland-session is a script generated by home-manager, which links to the current wayland compositor(sway/hyprland or others). # with such a vendor-no-locking script, we can switch to another wayland compositor without modifying greetd's config here. command = "$HOME/.wayland-session"; # start a wayland session directly without a login manager # command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd $HOME/.wayland-session"; # start wayland session with a TUI login manager }; }; }; }; # fix https://github.com/ryan4yin/nix-config/issues/10 security.pam.services.swaylock = {}; }