nixos/system/hyprland.nix
Evie Litherland-Smith 92378190f1 Properly enable pipewire from nixos wiki setup
Disable hardware.audio, enable pipewire addons

Move xdg mime definitions from home manager to system level

Consolidate xdg portal options in desktop.nix
2024-01-23 19:53:52 +00:00

95 lines
2.7 KiB
Nix

{ pkgs, ... }: {
imports = [ ./desktop.nix ./emacs.nix ./firefox.nix ./chromium.nix ];
nixpkgs.config.chromium.commandLineArgs =
"--enable-features=UseOzonePlatform --ozone-platform=wayland";
environment = {
sessionVariables = {
NIXOS_OZONE_WL = "1";
XDG_CURRENT_DESKTOP = "Hyprland";
XDG_SESSION_TYPE = "wayland";
XDG_SESSION_DESKTOP = "Hyprland";
GRIM_DEFAULT_DIR = "$HOME/Pictures/Grim";
};
systemPackages = with pkgs; [
libsForQt5.polkit-kde-agent
swaylock
swaynotificationcenter
xdg-utils
hyprpaper
pipewire
wireplumber
wtype
wl-clipboard
grim
slurp
swayimg
pamixer
pavucontrol
playerctl
brightnessctl
networkmanagerapplet
bluez
protonvpn-cli
protonvpn-gui
mpv
streamlink
mpg123
tagger
libreoffice
webcord
teams-for-linux
];
};
security.pam.services.swaylock = { };
services = {
blueman.enable = true;
udisks2.enable = true;
gvfs.enable = true;
tumbler.enable = true;
xserver.enable = false;
greetd.settings = let command = "Hyprland";
in {
default_session = { inherit command; };
initial_session = { inherit command; };
};
};
xdg.mime = rec {
enable = true;
defaultApplications = {
"application/pdf" = [ "emacs.desktop" ];
"application/epub+zip" = [ "emacs.desktop" ];
"application/oxps" = [ "emacs.desktop" ];
"image/jpeg" = [ "swayimg.desktop" ];
"image/png" = [ "swayimg.desktop" ];
"video/mp4" = [ "mpv.desktop" ];
"text/csv" = [ "emacs.desktop" ];
"text/html" = [ "firefox.desktop" ];
"x-scheme-handler/http" = [ "firefox.desktop" ];
"x-scheme-handler/https" = [ "firefox.desktop" ];
"x-scheme-handler/about" = [ "firefox.desktop" ];
"x-scheme-handler/chrome" = [ "firefox.desktop" ];
"application/x-extension-htm" = [ "firefox.desktop" ];
"application/x-extension-html" = [ "firefox.desktop" ];
"application/x-extension-shtml" = [ "firefox.desktop" ];
"application/xhtml+xml" = [ "firefox.desktop" ];
"application/x-extension-xhtml" = [ "firefox.desktop" ];
"application/x-extension-xht" = [ "firefox.desktop" ];
"application/x-mozilla-bookmarks" = [ "firefox.desktop" ];
"x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ];
};
addedAssociations = defaultApplications;
};
programs = {
dconf.enable = true;
light.enable = true;
thunar = {
enable = true;
plugins = with pkgs.xfce; [ thunar-archive-plugin thunar-volman ];
};
hyprland = {
enable = true;
xwayland.enable = true;
};
};
}