113 lines
2.5 KiB
Nix
113 lines
2.5 KiB
Nix
{
|
|
nixosModules,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
imports = [
|
|
nixosModules.packages.desktop
|
|
nixosModules.packages.python
|
|
];
|
|
|
|
programs.dconf.enable = true;
|
|
programs.hyprland = {
|
|
enable = true;
|
|
xwayland.enable = true;
|
|
};
|
|
programs.thunar.enable = true;
|
|
programs.thunderbird.enable = true;
|
|
programs.xwayland.enable = true;
|
|
|
|
hardware.graphics.enable = true;
|
|
|
|
security.polkit.enable = true;
|
|
security.rtkit.enable = true;
|
|
|
|
services.displayManager.defaultSession = "hyprland";
|
|
services.displayManager.sddm = {
|
|
enable = true;
|
|
wayland.enable = true;
|
|
};
|
|
|
|
security.pam.services.login.enableGnomeKeyring = true;
|
|
security.pam.services.sddm.enableGnomeKeyring = true;
|
|
|
|
services.gnome.gnome-keyring.enable = true;
|
|
services.gvfs.enable = true;
|
|
services.libinput.enable = true;
|
|
services.pipewire = {
|
|
enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
pulse.enable = true;
|
|
wireplumber.enable = true;
|
|
extraConfig.pipewire."10-buffer-stability" = {
|
|
context.properties = {
|
|
# Favor playback stability over minimum latency when the system is busy.
|
|
default.clock.rate = 48000;
|
|
default.clock.quantum = 1024;
|
|
default.clock.min-quantum = 1024;
|
|
default.clock.max-quantum = 2048;
|
|
};
|
|
};
|
|
};
|
|
services.tumbler.enable = true;
|
|
services.udisks2.enable = true;
|
|
|
|
xdg.portal = {
|
|
enable = true;
|
|
xdgOpenUsePortal = true;
|
|
extraPortals = [
|
|
pkgs.xdg-desktop-portal-gtk
|
|
pkgs.xdg-desktop-portal-hyprland
|
|
];
|
|
};
|
|
|
|
fonts.packages = with pkgs; [
|
|
jetbrains-mono
|
|
nerd-fonts.jetbrains-mono
|
|
nerd-fonts.symbols-only
|
|
noto-fonts
|
|
noto-fonts-cjk-sans
|
|
noto-fonts-color-emoji
|
|
vista-fonts
|
|
corefonts
|
|
source-han-sans
|
|
];
|
|
|
|
fonts.fontconfig.defaultFonts = {
|
|
monospace = [
|
|
"JetBrainsMono Nerd Font"
|
|
"JetBrains Mono"
|
|
];
|
|
sansSerif = [ "Noto Sans" ];
|
|
serif = [ "Noto Serif" ];
|
|
emoji = [ "Noto Color Emoji" ];
|
|
};
|
|
|
|
systemd.user.services.hyprpolkitagent = {
|
|
description = "Hyprland polkit agent";
|
|
wantedBy = [ "graphical-session.target" ];
|
|
after = [ "graphical-session.target" ];
|
|
partOf = [ "graphical-session.target" ];
|
|
serviceConfig = {
|
|
ExecStart = "${pkgs.hyprpolkitagent}/bin/hyprpolkitagent";
|
|
Restart = "on-failure";
|
|
RestartSec = 1;
|
|
};
|
|
};
|
|
|
|
systemd.user.services.pipewire.serviceConfig = {
|
|
Nice = -15;
|
|
CPUWeight = 90;
|
|
IOWeight = 90;
|
|
};
|
|
|
|
systemd.user.services.wireplumber.serviceConfig = {
|
|
Nice = -10;
|
|
CPUWeight = 80;
|
|
IOWeight = 80;
|
|
};
|
|
|
|
}
|