System/modules/linux/hyprland.nix

67 lines
1.8 KiB
Nix
Raw Normal View History

2022-06-23 02:57:41 -04:00
{ config, lib, pkgs, inputs, ... }:
let nc = config.nathan.config;
in with lib; {
2023-06-18 18:59:45 -04:00
config = mkMerge [
(mkIf nc.hyprland.enableGreetd {
# Greetd for login
2023-06-23 01:19:22 -04:00
# programs.regreet = {
# enable = true;
# settings = { GTK = { font_name = "Roboto 16"; }; };
# };
# services.greetd = {
# enable = true;
# settings = { default_session.command = "cage -s -- regreet"; };
# };
2023-06-18 18:59:45 -04:00
environment.systemPackages = with pkgs; [
# Greeter packages
cage
config.programs.regreet.package
gnome.adwaita-icon-theme
];
})
(mkIf nc.hyprland.enable {
# Turn on GDM for login
services.xserver = {
# enable = true;
2023-08-17 20:05:28 -04:00
enable = false;
2023-07-08 02:05:04 -04:00
autorun = true;
2023-06-18 18:59:45 -04:00
# Enable plasma for the applications
desktopManager.plasma5.enable = true;
2023-06-23 01:19:22 -04:00
displayManager.defaultSession = "hyprland";
displayManager.gdm = {
enable = true;
wayland = true;
};
2023-06-18 18:59:45 -04:00
};
# Setup drivers
hardware.opengl = {
# Enable vulkan
driSupport = true;
# Same as above, but enable 32 bit legacy support (for games)
driSupport32Bit = true;
};
# Basic packages that are effectively required for a graphical system
environment.systemPackages = with pkgs; [
# GTK Theming
gtk-engine-murrine
gtk_engines
gsettings-desktop-schemas
lxappearance
kde-gtk-config
];
qt.platformTheme = "qt5ct";
# Enable and configure hyperland
programs.hyprland = {
enable = true;
2023-08-17 20:05:28 -04:00
xwayland = { enable = true; };
2023-06-13 23:21:21 -04:00
};
2023-06-18 18:59:45 -04:00
# Make swaylock work
# https://github.com/NixOS/nixpkgs/issues/158025
security.pam.services.swaylock = { };
2022-06-23 02:57:41 -04:00
2023-06-18 18:59:45 -04:00
environment.sessionVariables = { MOZ_ENABLE_WAYLAND = "1"; };
2022-06-23 02:57:41 -04:00
2023-06-18 18:59:45 -04:00
})
];
2022-06-23 02:57:41 -04:00
}