nixos/home/hyprland/default.nix

70 lines
1.8 KiB
Nix

{ config, lib, pkgs, hyprland, wallpapers, catppuccin-themes, ... }:
{
imports = [
hyprland.homeManagerModules.default
../alacritty/tiling.nix
./waybar/default.nix
./swaync/default.nix
./rofi/default.nix
./swaylock.nix
./gtk.nix
];
home.packages = with pkgs; [
libsForQt5.polkit-kde-agent
mc
signal-desktop
libreoffice
zotero
];
programs = {
emacs.package = pkgs.emacs29-pgtk;
firefox.package = pkgs.firefox-wayland;
rofi = {
package = pkgs.rofi-wayland;
terminal = "${pkgs.alacritty}/bin/alacritty";
pass.extraConfig = ''
backend=wtype
clibpoard_backend=wl-clipboard
'';
};
};
services.kanshi = {
enable = true;
systemdTarget = "hyprland-session.target";
};
wayland.windowManager.hyprland = {
enable = true;
package = null; # Use package from nixpkgs
xwayland.enable = true;
extraConfig = import ./config.nix {
inherit config pkgs;
theme = catppuccin-themes.hyprland;
};
};
xdg = {
configFile = {
"hypr/hyprpaper.conf".text = ''
preload = ${wallpapers.default}
wallpaper = ,${wallpapers.default}
'';
"hypr/macchiato.conf".source = ./macchiato.conf;
"hypr/extra.conf" = lib.mkDefault { text = ""; };
};
mimeApps = let
associations = {
"image/jpeg" = [ "swayimg.desktop" ];
"image/png" = [ "swayimg.desktop" ];
"application/pdf" = [ "zathura.desktop" "emacs.desktop" ];
"application/json" = [ "emacs.desktop" "firefox.desktop" ];
"application/x-yaml" = [ "emacs.desktop" ];
"text/csv" = [ "calc.desktop" "emacs.desktop" ];
};
in {
enable = true;
defaultApplications = associations;
associations.added = associations;
};
};
}