feat: refactor, hyprland - greet with autologin

This commit is contained in:
Ryan Yin
2023-12-17 23:00:19 +08:00
parent 7d03e63bdd
commit a04a058077
33 changed files with 414 additions and 380 deletions
+21 -36
View File
@@ -1,4 +1,4 @@
{pkgs, hyprland, ...}: {
{pkgs, ...}: {
##########################################################################################################
#
# NixOS's Configuration for Wayland based Window Manager
@@ -7,6 +7,18 @@
#
##########################################################################################################
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;
@@ -15,48 +27,21 @@
];
};
environment.pathsToLink = ["/libexec"]; # links /libexec from derivations to /run/current-system/sw
services = {
gvfs.enable = true; # Mount, trash, and other functionalities
tumbler.enable = true; # Thumbnail support for images
xserver = {
xserver.enable = false;
# https://wiki.archlinux.org/title/Greetd
greetd = {
enable = true;
desktopManager = {
xterm.enable = false;
};
displayManager = {
defaultSession = "hyprland";
lightdm.enable = false;
gdm = {
enable = true;
wayland = true;
settings = {
default_session = {
user = "ryan"; # Hyprland is installed only for user ryan via home-manager!
command = "Hyprland"; # start Hyprland directly without a login manager
# command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # start Hyprland with a TUI login manager
};
};
};
};
programs = {
hyprland = {
enable = true;
package = hyprland.packages.${pkgs.system}.hyprland.override {
enableXWayland = true; # whether to enable XWayland
legacyRenderer = false; # whether to use the legacy renderer (for old GPUs)
withSystemd = true; # whether to build with systemd support
};
};
# thunar file manager(part of xfce) related options
thunar = {
enable = true;
plugins = with pkgs.xfce; [
thunar-archive-plugin
thunar-volman
];
};
};
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [