nixos/system/hyprland.nix
2023-09-17 17:57:24 +01:00

75 lines
1.9 KiB
Nix

{ pkgs, user ? "xenia", hyprland, ... }: {
imports = [ ./desktop.nix hyprland.nixosModules.default ];
environment.systemPackages = with pkgs; [
libsForQt5.polkit-kde-agent
xdg-utils
wlr-randr
hyprpaper
pipewire
wireplumber
wtype
wl-clipboard
grim
slurp
swayimg
pamixer
pavucontrol
playerctl
brightnessctl
];
security.pam.services.swaylock = { };
services = {
blueman.enable = true;
gvfs.enable = true;
tumbler.enable = true;
xserver.displayManager = {
sessionPackages = [ hyprland.packages.${pkgs.system}.hyprland ];
defaultSession = "hyprland";
};
};
fonts = {
packages = with pkgs; [
# normal fonts
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
font-awesome
# nerdfonts
(nerdfonts.override { fonts = [ "FiraCode" ]; })
# icon fonts
material-symbols
emacs-all-the-icons-fonts
material-design-icons
weather-icons
vscode-extensions.file-icons.file-icons
];
fontconfig = {
enable = true;
# user defined fonts
# the reason there's Noto Color Emoji everywhere is to override DejaVu's
# B&W emojis that would sometimes show instead of some Color emojis
defaultFonts = {
serif = [ "Noto Serif" "Noto Color Emoji" ];
sansSerif = [ "Noto Sans" "Noto Color Emoji" ];
monospace = [ "FiraCode Nerd Font" "Noto Sans" "Noto Color Emoji" ];
emoji = [ "Noto Color Emoji" ];
};
};
};
xdg.portal = {
enable = true;
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
};
programs = {
hyprland = {
enable = true;
package = hyprland.packages.${pkgs.system}.hyprland;
xwayland.enable = true;
};
thunar = {
enable = true;
plugins = with pkgs.xfce; [ thunar-archive-plugin thunar-volman ];
};
};
}