nix-dots/nixos/hyprland/default.nix

76 lines
1.5 KiB
Nix

{
pkgs,
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.my.hyprland;
in {
options.my.hyprland = {
enable = mkEnableOption "hyprland";
};
config = mkIf cfg.enable {
hm.my.hyprland.enable = true;
programs.hyprland = {
enable = true;
};
# Hint electron apps to use wayland
environment.sessionVariables.NIXOS_OZONE_WL = "1";
services.gnome.gnome-keyring.enable = true;
security.pam.services.greetd.enableGnomeKeyring = true;
environment.systemPackages = with pkgs; [
# Theme
adw-gtk3
# Applications
gnome.nautilus
gnome.sushi
gnome.eog
gnome.totem
gnome.cheese
gnome.file-roller
gnome.gnome-weather
gnome.gnome-contacts
gnome.gnome-calendar
gnome.gnome-screenshot
gnome.gnome-dictionary
gnome.gnome-font-viewer
gnome.gnome-system-monitor
monophony # music player
# Nvim clipboard
wl-clipboard
];
# Required for Nautilus to work outside GNOME
services.gvfs.enable = true;
# Use CAPSLOCK as Hyper key
services.keyd = {
enable = true;
keyboards.default = {
ids = ["*"];
settings.main = {
capslock = "overload(meta, esc)";
};
};
};
services.greetd = {
enable = true;
settings = {
default_session = {
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland";
user = "greeter";
};
};
};
};
}