nixos/system/hyprland.nix
Evie Litherland-Smith b3d73b9ae7 Add firefox as additional mime entry
Now I don't have to constantly update this list if I change browsers again...
2024-01-30 08:06:05 +00:00

106 lines
3.5 KiB
Nix

{ pkgs, ... }: {
imports = [ ./desktop.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-effects
swaynotificationcenter
xdg-utils
hyprpaper
pipewire
wireplumber
wtype
wl-clipboard
swayimg
pamixer
pavucontrol
playerctl
brightnessctl
networkmanagerapplet
bluez
protonvpn-gui
mpv
streamlink
mpg123
libreoffice
webcord
];
};
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" = [ "emacsclient.desktop" "emacs.desktop" ];
"application/epub+zip" = [ "emacsclient.desktop" "emacs.desktop" ];
"application/oxps" = [ "emacsclient.desktop" "emacs.desktop" ];
"image/jpeg" =
[ "swayimg.desktop" "emacsclient.desktop" "emacs.desktop" ];
"image/png" = [ "swayimg.desktop" "emacsclient.desktop" "emacs.desktop" ];
"video/mp4" = [ "mpv.desktop" ];
"text/csv" = [ "emacsclient.desktop" "emacs.desktop" ];
"text/html" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"x-scheme-handler/http" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"x-scheme-handler/https" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"x-scheme-handler/about" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"x-scheme-handler/chrome" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"application/x-extension-htm" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"application/x-extension-html" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"application/x-extension-shtml" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"application/xhtml+xml" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"application/x-extension-xhtml" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"application/x-extension-xht" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"application/x-mozilla-bookmarks" =
[ "firefox.desktop" "chromium-browser.desktop" ];
"x-scheme-handler/msteams" =
[ "firefox.desktop" "chromium-browser.desktop" ];
"x-scheme-handler/zoomus" =
[ "firefox.desktop" "chromium-browser.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;
};
};
}