nixos/nixos/modules/gui/niri.nix

81 lines
1.8 KiB
Nix
Raw Normal View History

2025-01-14 17:35:06 +08:00
{
config,
lib,
pkgs,
...
}: let
2025-01-14 17:35:06 +08:00
cfg = config.youthlic.gui;
in {
2025-01-14 17:35:06 +08:00
config = lib.mkIf (cfg.enabled == "niri") {
2025-03-10 00:24:32 +08:00
qt = {
enable = true;
platformTheme = "qt5ct";
};
2025-01-14 17:35:06 +08:00
environment.systemPackages = with pkgs; [
bluez
2025-02-08 17:49:45 +08:00
cosmic-files
2025-03-10 00:24:32 +08:00
kdePackages.qt6ct
libsForQt5.qt5ct
2025-01-14 17:35:06 +08:00
];
2025-03-22 16:34:26 +08:00
xdg = {
terminal-exec = {
enable = true;
settings = {
default = ["com.mitchellh.ghostty.desktop"];
2025-03-22 16:34:26 +08:00
};
};
mime = {
enable = true;
defaultApplications = {
"inode/directory" = [
"com.system76.CosmicFiles.desktop"
];
"x-scheme-handler/about" = [
"firefox.desktop"
"chromium-browser.desktop"
];
"x-scheme-handler/ftp" = [
"firefox.desktop"
"chromium-browser.desktop"
];
"x-scheme-handler/http" = [
"firefox.desktop"
"chromium-browser.desktop"
];
"x-scheme-handler/https" = [
"firefox.desktop"
"chromium-browser.desktop"
];
"x-scheme-handler/mailto" = [
"firefox.desktop"
"chromium-browser.desktop"
];
"x-scheme-handler/tg" = ["telegramdesktop.desktop"];
2025-03-22 16:34:26 +08:00
"x-scheme-handler/unknown" = [
"firefox.desktop"
"chromium-browser.desktop"
];
};
2025-02-08 17:49:45 +08:00
};
};
2025-01-14 17:35:06 +08:00
hardware.bluetooth = {
enable = true;
};
services.xserver = {
enable = true;
xkb = {
layout = "cn";
variant = "";
};
displayManager.gdm = {
enable = true;
wayland = true;
};
};
programs.niri = {
enable = true;
package = pkgs.niri-unstable;
2025-01-14 17:35:06 +08:00
};
};
}