NixOS/system/modules/hyprland.nix

108 lines
2.3 KiB
Nix
Raw Normal View History

{
config,
lib,
pkgs,
...
}:
2024-06-12 09:54:11 +07:00
let
cfg = config.profile.hyprland;
in
{
config = lib.mkIf cfg.enable {
programs.xfconf.enable = true;
programs.hyprland = {
enable = true;
xwayland.enable = true;
};
services.gvfs.enable = true; # Mount, trash, and other functionalities
services.tumbler.enable = true; # Thumbnail support for images
programs.nautilus-open-any-terminal.enable = true;
services.gnome.sushi.enable = true; # File previewer
2024-06-12 09:54:11 +07:00
environment = {
sessionVariables = {
NIXOS_OZONE_WL = "1";
};
systemPackages = with pkgs; [
# Thunar Extended Support
webp-pixbuf-loader # webp images
poppler # .pdf filees
ffmpegthumbnailer # video thumbnailer
mcomix # comicbook archives
nautilus # file manager
2024-06-12 09:54:11 +07:00
gwenview
# Hyprland Programs
meson
wayland-protocols
wayland-utils
wl-clipboard
wlroots
networkmanagerapplet
dunst
libnotify
gnome-keyring
seahorse
2024-06-12 09:54:11 +07:00
greetd.tuigreet
libappindicator-gtk2
libappindicator
catppuccin-sddm
];
};
2024-10-24 17:27:43 +07:00
programs.kdeconnect.enable = true;
2024-06-12 09:54:11 +07:00
fonts.packages = with pkgs; [
meslo-lgs-nf
font-awesome
roboto
];
nixpkgs.overlays = [
(self: super: {
waybar = super.waybar.overrideAttrs (oldAttrs: {
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
});
})
];
services.dbus.enable = true;
xdg.portal = {
enable = true;
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
2024-06-12 09:54:11 +07:00
};
programs.file-roller.enable = true;
services.greetd = lib.mkIf (cfg.displayManager == "tuigreet") {
enable = true;
restart = true;
settings = {
terminal = {
vt = 5;
};
default_session = {
2024-10-22 10:23:52 +07:00
command = ''tuigreet --remember --cmd "Hyprland"'';
2024-06-12 09:54:11 +07:00
user = "tigor";
};
};
};
boot.kernelParams = [ "console=tty1" ];
2024-06-12 09:54:11 +07:00
services.displayManager.sddm = lib.mkIf (cfg.displayManager == "sddm") {
enable = true;
wayland.enable = true;
theme = "catppuccin-mocha";
};
xdg.portal.xdgOpenUsePortal = true;
services.libinput.enable = true;
};
}