107 lines
2.4 KiB
Nix
107 lines
2.4 KiB
Nix
{ inputs, config, lib, pkgs, ... }:
|
|
let
|
|
cfg = config.profile.hyprland;
|
|
hyprlandPkg = inputs.hyprland.packages."${pkgs.system}".hyprland;
|
|
in
|
|
{
|
|
config = lib.mkIf cfg.enable {
|
|
programs.thunar = {
|
|
enable = true;
|
|
plugins = with pkgs.xfce; [
|
|
thunar-volman
|
|
thunar-archive-plugin
|
|
];
|
|
};
|
|
programs.xfconf.enable = true;
|
|
programs.hyprland = {
|
|
enable = true;
|
|
package = hyprlandPkg;
|
|
xwayland.enable = true;
|
|
};
|
|
services.gvfs.enable = true; # Mount, trash, and other functionalities
|
|
services.tumbler.enable = true; # Thumbnail support for images
|
|
|
|
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
|
|
gwenview
|
|
|
|
# Hyprland Programs
|
|
meson
|
|
wayland-protocols
|
|
wayland-utils
|
|
wl-clipboard
|
|
wlroots
|
|
networkmanagerapplet
|
|
dunst
|
|
libnotify
|
|
|
|
gnome.gnome-keyring
|
|
gnome.seahorse
|
|
|
|
greetd.tuigreet
|
|
|
|
libappindicator-gtk2
|
|
libappindicator
|
|
catppuccin-sddm
|
|
];
|
|
};
|
|
|
|
fonts.packages = with pkgs; [
|
|
nerdfonts
|
|
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
|
|
];
|
|
};
|
|
|
|
programs.file-roller.enable = true;
|
|
|
|
services.greetd = lib.mkIf (cfg.displayManager == "tuigreet") {
|
|
enable = true;
|
|
restart = true;
|
|
settings = {
|
|
terminal = {
|
|
vt = 5;
|
|
};
|
|
default_session = {
|
|
command = ''tuigreet --remember --cmd "dbus-run-session Hyprland"'';
|
|
user = "tigor";
|
|
};
|
|
};
|
|
};
|
|
|
|
services.displayManager.sddm = lib.mkIf (cfg.displayManager == "sddm") {
|
|
enable = true;
|
|
wayland.enable = true;
|
|
theme = "catppuccin-mocha";
|
|
};
|
|
|
|
xdg.portal.xdgOpenUsePortal = true;
|
|
|
|
services.libinput.enable = true;
|
|
};
|
|
}
|