Add Teams, disable Ferdium, refactor Hyprland

Enable teams-for-linux and disable ferdium in system modules; add both
to core packages. Simplify Hyprland configuration by using direct
settings for animations, window rules, env, exec‑once and hypridle.
Remove unused Microsoft Teams PWA entry.
This commit is contained in:
2026-01-07 19:49:21 +01:00
parent 28daa28c6b
commit 9d9ed0f04b
17 changed files with 243 additions and 298 deletions

View File

@@ -3,7 +3,6 @@ _: {
Development editors and IDEs Development editors and IDEs
*/ */
vscodium.enable = false; # VSCodium: a free and open-source "demicrosofted" VSCode vscodium.enable = false; # VSCodium: a free and open-source "demicrosofted" VSCode
zed-editor = { zed-editor = {
enable = true; # Zed Editor: a modern, highperformance code editor enable = true; # Zed Editor: a modern, highperformance code editor
remote-server.enable = true; # Remote Server: enable remote editing capabilities remote-server.enable = true; # Remote Server: enable remote editing capabilities
@@ -13,27 +12,21 @@ _: {
Web browsers Web browsers
*/ */
librewolf.enable = true; # Librewolf: a privacy-focused Firefox fork librewolf.enable = true; # Librewolf: a privacy-focused Firefox fork
ungoogled-chromium.enable = true; # Ungoogled Chromium: a privacy-focused Chromium fork ungoogled-chromium.enable = true; # Ungoogled Chromium: a privacy-focused Chromium fork
/* /*
System utilities System utilities
*/ */
btop.enable = true; # Btop: a resource monitor for the terminal btop.enable = true; # Btop: a resource monitor for the terminal
cava.enable = false; # Cava: terminal audio visualizer cava.enable = false; # Cava: terminal audio visualizer
fastfetch.enable = true; # Fastfetch: a fast system information tool fastfetch.enable = true; # Fastfetch: a fast system information tool
peaclock.enable = true; # Peaclock: Clock, timer, and stopwatch for the terminal peaclock.enable = true; # Peaclock: Clock, timer, and stopwatch for the terminal
/* /*
Communication and synchronization Communication and synchronization
*/ */
kdeconnect.enable = false; # KDE Connect: integrate your phone and desktop kdeconnect.enable = false; # KDE Connect: integrate your phone and desktop
nextcloud-client.enable = true; # Nextcloud Client: sync files with a Nextcloud server nextcloud-client.enable = true; # Nextcloud Client: sync files with a Nextcloud server
vesktop.enable = true; # Vesktop: a communitydriven Discord client vesktop.enable = true; # Vesktop: a communitydriven Discord client
/* /*
@@ -68,7 +61,6 @@ _: {
chatgpt.enable = true; # ChatGPT: a large language model chatgpt.enable = true; # ChatGPT: a large language model
claude.enable = true; # Claude: a large language model claude.enable = true; # Claude: a large language model
glance.enable = true; # Glance: my home server dashboard glance.enable = true; # Glance: my home server dashboard
microsoftTeams.enable = true; # Microsoft Teams: a collaboration tool
}; };
}; };
} }

View File

@@ -55,6 +55,8 @@ _: {
slack.enable = true; # Slack: team communication and collaboration tool slack.enable = true; # Slack: team communication and collaboration tool
tutanota.enable = true; # Tutanota: secure email client tutanota.enable = true; # Tutanota: secure email client
signal.enable = true; # Signal: secure messaging app signal.enable = true; # Signal: secure messaging app
teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux
ferdium.enable = false; # Ferdium: All your services in one place built by the community
/* /*
Productivity / Knowledge Management Productivity / Knowledge Management
@@ -79,7 +81,7 @@ _: {
*/ */
eddieAirVPN.enable = true; # Eddie AirVPN: VPN client eddieAirVPN.enable = true; # Eddie AirVPN: VPN client
galculator.enable = false; # Galculator: simple calculator galculator.enable = false; # Galculator: simple calculator
gedit.enable = false; # Gedit: GNOME text editor gedit.enable = true; # Gedit: GNOME text editor
winboat.enable = false; # Winboat: Windows remote desktop via RDP winboat.enable = false; # Winboat: Windows remote desktop via RDP
adb.enable = false; # ADB: Android SDK platform tools adb.enable = false; # ADB: Android SDK platform tools
}; };

View File

@@ -3,7 +3,6 @@ _: {
Development editors and IDEs Development editors and IDEs
*/ */
vscodium.enable = false; # VSCodium: a free and open-source "demicrosofted" VSCode vscodium.enable = false; # VSCodium: a free and open-source "demicrosofted" VSCode
zed-editor = { zed-editor = {
enable = true; # Zed Editor: a modern, highperformance code editor enable = true; # Zed Editor: a modern, highperformance code editor
remote-server.enable = true; # Remote Server: enable remote editing capabilities remote-server.enable = true; # Remote Server: enable remote editing capabilities
@@ -13,27 +12,21 @@ _: {
Web browsers Web browsers
*/ */
librewolf.enable = true; # Librewolf: a privacy-focused Firefox fork librewolf.enable = true; # Librewolf: a privacy-focused Firefox fork
ungoogled-chromium.enable = true; # Ungoogled Chromium: a privacy-focused Chromium fork ungoogled-chromium.enable = true; # Ungoogled Chromium: a privacy-focused Chromium fork
/* /*
System utilities System utilities
*/ */
btop.enable = true; # Btop: a resource monitor for the terminal btop.enable = true; # Btop: a resource monitor for the terminal
cava.enable = false; # Cava: terminal audio visualizer cava.enable = false; # Cava: terminal audio visualizer
fastfetch.enable = true; # Fastfetch: a fast system information tool fastfetch.enable = true; # Fastfetch: a fast system information tool
peaclock.enable = true; # Peaclock: Clock, timer, and stopwatch for the terminal peaclock.enable = true; # Peaclock: Clock, timer, and stopwatch for the terminal
/* /*
Communication and synchronization Communication and synchronization
*/ */
kdeconnect.enable = false; # KDE Connect: integrate your phone and desktop kdeconnect.enable = false; # KDE Connect: integrate your phone and desktop
nextcloud-client.enable = true; # Nextcloud Client: sync files with a Nextcloud server nextcloud-client.enable = true; # Nextcloud Client: sync files with a Nextcloud server
vesktop.enable = true; # Vesktop: a communitydriven Discord client vesktop.enable = true; # Vesktop: a communitydriven Discord client
/* /*
@@ -68,7 +61,6 @@ _: {
chatgpt.enable = true; # ChatGPT: a large language model chatgpt.enable = true; # ChatGPT: a large language model
claude.enable = true; # Claude: a large language model claude.enable = true; # Claude: a large language model
glance.enable = true; # Glance: my home server dashboard glance.enable = true; # Glance: my home server dashboard
microsoftTeams.enable = true; # Microsoft Teams: a collaboration tool
}; };
}; };
} }

View File

@@ -55,6 +55,8 @@ _: {
slack.enable = true; # Slack: team communication and collaboration tool slack.enable = true; # Slack: team communication and collaboration tool
tutanota.enable = true; # Tutanota: secure email client tutanota.enable = true; # Tutanota: secure email client
signal.enable = true; # Signal: secure messaging app signal.enable = true; # Signal: secure messaging app
teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux
ferdium.enable = false; # Ferdium: All your services in one place built by the community
/* /*
Productivity / Knowledge Management Productivity / Knowledge Management

View File

@@ -3,7 +3,6 @@ _: {
Development editors and IDEs Development editors and IDEs
*/ */
vscodium.enable = false; # VSCodium: a free and open-source "demicrosofted" VSCode vscodium.enable = false; # VSCodium: a free and open-source "demicrosofted" VSCode
zed-editor = { zed-editor = {
enable = true; # Zed Editor: a modern, highperformance code editor enable = true; # Zed Editor: a modern, highperformance code editor
remote-server.enable = true; # Remote Server: enable remote editing capabilities remote-server.enable = true; # Remote Server: enable remote editing capabilities
@@ -13,27 +12,21 @@ _: {
Web browsers Web browsers
*/ */
librewolf.enable = true; # Librewolf: a privacy-focused Firefox fork librewolf.enable = true; # Librewolf: a privacy-focused Firefox fork
ungoogled-chromium.enable = true; # Ungoogled Chromium: a privacy-focused Chromium fork ungoogled-chromium.enable = true; # Ungoogled Chromium: a privacy-focused Chromium fork
/* /*
System utilities System utilities
*/ */
btop.enable = true; # Btop: a resource monitor for the terminal btop.enable = true; # Btop: a resource monitor for the terminal
cava.enable = false; # Cava: terminal audio visualizer cava.enable = false; # Cava: terminal audio visualizer
fastfetch.enable = true; # Fastfetch: a fast system information tool fastfetch.enable = true; # Fastfetch: a fast system information tool
peaclock.enable = true; # Peaclock: Clock, timer, and stopwatch for the terminal peaclock.enable = true; # Peaclock: Clock, timer, and stopwatch for the terminal
/* /*
Communication and synchronization Communication and synchronization
*/ */
kdeconnect.enable = false; # KDE Connect: integrate your phone and desktop kdeconnect.enable = false; # KDE Connect: integrate your phone and desktop
nextcloud-client.enable = true; # Nextcloud Client: sync files with a Nextcloud server nextcloud-client.enable = true; # Nextcloud Client: sync files with a Nextcloud server
vesktop.enable = true; # Vesktop: a communitydriven Discord client vesktop.enable = true; # Vesktop: a communitydriven Discord client
/* /*
@@ -68,7 +61,6 @@ _: {
chatgpt.enable = true; # ChatGPT: a large language model chatgpt.enable = true; # ChatGPT: a large language model
claude.enable = true; # Claude: a large language model claude.enable = true; # Claude: a large language model
glance.enable = true; # Glance: my home server dashboard glance.enable = true; # Glance: my home server dashboard
microsoftTeams.enable = true; # Microsoft Teams: a collaboration tool
}; };
}; };
} }

View File

@@ -55,6 +55,8 @@ _: {
slack.enable = true; # Slack: team communication and collaboration tool slack.enable = true; # Slack: team communication and collaboration tool
tutanota.enable = true; # Tutanota: secure email client tutanota.enable = true; # Tutanota: secure email client
signal.enable = true; # Signal: secure messaging app signal.enable = true; # Signal: secure messaging app
teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux
ferdium.enable = false; # Ferdium: All your services in one place built by the community
/* /*
Productivity / Knowledge Management Productivity / Knowledge Management

View File

@@ -47,6 +47,8 @@
bottles = bottles; bottles = bottles;
heroic = heroic; heroic = heroic;
adb = android-tools; adb = android-tools;
teams = teams-for-linux;
ferdium = ferdium;
}; };
in { in {
imports = builtins.attrValues (builtins.mapAttrs mkPackage packages); imports = builtins.attrValues (builtins.mapAttrs mkPackage packages);

View File

@@ -1,6 +1,5 @@
_: { _: {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings.animations = {
animations = {
enabled = true; enabled = true;
bezier = [ bezier = [
"wind, -1.05, 0.9, 0.1, 1.05" "wind, -1.05, 0.9, 0.1, 1.05"
@@ -18,5 +17,4 @@ _: {
"workspaces, 0, 5, wind" "workspaces, 0, 5, wind"
]; ];
}; };
};
} }

View File

@@ -1,8 +1,6 @@
_: { _: {
wayland.windowManager.hyprland.settings = {
# name "Dynamic" # name "Dynamic"
# credit https://github.com/mylinuxforwork/dotfiles wayland.windowManager.hyprland.settings.animations = {
animations = {
enabled = true; enabled = true;
bezier = [ bezier = [
"wind, 0.05, 0.9, 0.1, 1.05" "wind, 0.05, 0.9, 0.1, 1.05"
@@ -21,5 +19,4 @@ _: {
"workspaces, 1, 5, wind" "workspaces, 1, 5, wind"
]; ];
}; };
};
} }

View File

@@ -1,8 +1,6 @@
_: { _: {
wayland.windowManager.hyprland.settings = {
# Name: END-4 # Name: END-4
# Credit: END-4 project https://github.com/end-4/dots-hyprland wayland.windowManager.hyprland.settings.animations = {
animations = {
enabled = true; enabled = true;
bezier = [ bezier = [
"linear, 0, 0, 1, 1" "linear, 0, 0, 1, 1"
@@ -33,5 +31,4 @@ _: {
"workspaces, 1, 7, menu_decel, slide" "workspaces, 1, 7, menu_decel, slide"
]; ];
}; };
};
} }

View File

@@ -1,8 +1,6 @@
_: { _: {
wayland.windowManager.hyprland.settings = {
# name "moving" # name "moving"
# credit https://github.com/mylinuxforwork/dotfiles wayland.windowManager.hyprland.settings.animations = {
animations = {
enabled = true; enabled = true;
bezier = [ bezier = [
"overshot, 0.05, 0.9, 0.1, 1.05" "overshot, 0.05, 0.9, 0.1, 1.05"
@@ -20,5 +18,4 @@ _: {
"workspaces, 1, 6, default" "workspaces, 1, 6, default"
]; ];
}; };
};
} }

View File

@@ -1,7 +1,5 @@
_: { _: {
wayland.windowManager.hyprland = { wayland.windowManager.hyprland.settings.env = [
settings = {
env = [
"NIXOS_OZONE_WL, 1" "NIXOS_OZONE_WL, 1"
"NIXPKGS_ALLOW_UNFREE, 1" "NIXPKGS_ALLOW_UNFREE, 1"
"XDG_CURRENT_DESKTOP, Hyprland" "XDG_CURRENT_DESKTOP, Hyprland"
@@ -31,6 +29,4 @@ _: {
"TERMINAL,kitty" "TERMINAL,kitty"
"XDG_TERMINAL_EMULATOR,kitty" "XDG_TERMINAL_EMULATOR,kitty"
]; ];
};
};
} }

View File

@@ -4,8 +4,7 @@
stylixImage stylixImage
; ;
in { in {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings.exec-once = [
exec-once = [
"wl-paste --type text --watch cliphist store" # Saves text "wl-paste --type text --watch cliphist store" # Saves text
"wl-paste --type image --watch cliphist store" # Saves images "wl-paste --type image --watch cliphist store" # Saves images
"dbus-update-activation-environment --all --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" "dbus-update-activation-environment --all --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
@@ -20,5 +19,4 @@ in {
"nm-applet --indicator" "nm-applet --indicator"
"sleep 1.0 && swww img ${stylixImage}" "sleep 1.0 && swww img ${stylixImage}"
]; ];
};
} }

View File

@@ -1,6 +1,5 @@
_: { _: {
services = { services.hypridle = {
hypridle = {
enable = true; enable = true;
settings = { settings = {
general = { general = {
@@ -21,5 +20,4 @@ _: {
]; ];
}; };
}; };
};
} }

View File

@@ -26,9 +26,7 @@ in {
enableXdgAutostart = true; enableXdgAutostart = true;
variables = ["--all"]; variables = ["--all"];
}; };
xwayland = { xwayland.enable = true;
enable = true;
};
settings = { settings = {
input = { input = {
kb_layout = "${keyboardLayout}"; kb_layout = "${keyboardLayout}";
@@ -131,9 +129,7 @@ in {
direct_scanout = 0; direct_scanout = 0;
}; };
debug = { debug.full_cm_proto = true;
full_cm_proto = true;
};
master = { master = {
new_status = "master"; new_status = "master";
@@ -142,9 +138,7 @@ in {
}; };
# Ensure Xwayland windows render at integer scale; compositor scales them # Ensure Xwayland windows render at integer scale; compositor scales them
xwayland = { xwayland.force_zero_scaling = true;
force_zero_scaling = true;
};
}; };
extraConfig = " extraConfig = "

View File

@@ -1,101 +1,94 @@
_: { _: {
wayland.windowManager.hyprland = { wayland.windowManager.hyprland.settings.windowrule = [
settings = {
windowrule = [
# XWayland specific rules # XWayland specific rules
#"noblur, xwayland:1" # Helps prevent odd borders/shadows for xwayland apps #"noblur, xwayland:1" # Helps prevent odd borders/shadows for xwayland apps
# downside it can impact other xwayland apps # downside it can impact other xwayland apps
# This rule is a template for a more targeted approach # This rule is a template for a more targeted approach
"noblur, class:^(\bresolve\b)$, xwayland:1" # Window rule for just resolve "no_blur on, match:class resolve, match:xwayland 1" # Window rule for just resolve
# Application tags # Application tags
"tag +file-manager, class:^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$" "tag +file-manager, match:class [Tt]hunar|org\.gnome\.Nautilus|[Pp]cmanfm-qt"
"tag +terminal, class:^(com.mitchellh.ghostty|org.wezfurlong.wezterm|Alacritty|kitty|kitty-dropterm)$" "tag +terminal, match:class com\.mitchellh\.ghostty|org\.wezfurlong\.wezterm|Alacritty|kitty|kitty-dropterm"
"tag +browser, class:^(Brave-browser(-beta|-dev|-unstable)?)$" "tag +browser, match:class [Ff]irefox|org\.mozilla\.firefox|[Ff]irefox-esr"
"tag +browser, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr)$" "tag +browser, match:class [Ll]ibrewolf|io\.gitlab\.librewolf-community"
"tag +browser, class:^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$" "tag +browser, match:class [Gg]oogle-chrome(-beta|-dev|-unstable)?|[Cc]hromium-browser(-beta|-dev|-unstable)?"
"tag +browser, class:^([Tt]horium-browser|[Cc]achy-browser)$" "tag +projects, match:class VSCode|code|code-url-handler|codium|codium-url-handler|VSCodium|VSCodium-url-handler"
"tag +projects, class:^(codium|codium-url-handler|VSCodium)$" "tag +projects, match:class dev\.zed\.Zed"
"tag +projects, class:^(VSCode|code-url-handler)$" "tag +im, match:class [Dd]iscord|[Ww]ebCord|[Vv]esktop"
"tag +im, class:^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$" "tag +im, match:class [Ff]erdium"
"tag +im, class:^([Ff]erdium)$" "tag +im, match:class [Ss]ignal"
"tag +im, class:^([Ww]hatsapp-for-linux)$" "tag +im, match:class [Ss]lack"
"tag +im, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$" "tag +im, match:class [Tt]eams-for-linux"
"tag +im, class:^(teams-for-linux)$" "tag +games, match:class gamescope"
"tag +games, class:^(gamescope)$" "tag +games, match:class ?:steam_app_\d+"
"tag +games, class:^(steam_app_\d+)$" "tag +games, match:class tf_linux64"
"tag +gamestore, class:^([Ss]team)$" "tag +gamestore, match:class [Ss]team"
"tag +gamestore, title:^([Ll]utris)$" "tag +gamestore, match:title [Ll]utris"
"tag +gamestore, class:^(com.heroicgameslauncher.hgl)$" "tag +gamestore, match:class com\.heroicgameslauncher\.hgl"
"tag +settings, class:^(gnome-disks|wihotspot(-gui)?)$" "tag +settings, match:class gnome-disks|wihotspot(-gui)?"
"tag +settings, class:^([Rr]ofi)$" "tag +settings, match:class [Rr]ofi"
"tag +settings, class:^(file-roller|org.gnome.FileRoller)$" "tag +settings, match:class file-roller|org\.gnome\.FileRoller"
"tag +settings, class:^(nm-applet|nm-connection-editor|blueman-manager)$" "tag +settings, match:class nm-applet|nm-connection-editor|blueman-manager"
"tag +settings, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$" "tag +settings, match:class pavucontrol|org\.pulseaudio\.pavucontrol|com\.saivert\.pwvucontrol"
"tag +settings, class:^(nwg-look|qt5ct|qt6ct|[Yy]ad)$" "tag +settings, match:class nwg-look|qt5ct|qt6ct|[Yy]ad"
"tag +settings, class:(xdg-desktop-portal-gtk)" "tag +settings, match:class xdg-desktop-portal-gtk"
"tag +settings, class:(.blueman-manager-wrapped)" "tag +settings, match:class ?:blueman-manager-wrapped"
"tag +settings, class:(nwg-displays)" "tag +settings, match:class nwg-displays"
# Position and movement rules # Position and movement rules
"move 72% 7%,title:^(Picture-in-Picture)$" "move 72% 7%, match:title Picture-in-Picture"
"center, class:^([Ff]erdium)$" "center on, match:class pavucontrol|org\.pulseaudio\.pavucontrol|com\.saivert\.pwvucontrol"
"center, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$" "center on, match:class [Tt]hunar, match:title negative:.*[Tt]hunar.*"
"center, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)" "center on, match:title Authentication Required"
"center, title:^(Authentication Required)$"
# Idle inhibit rules # Idle inhibit rules
"idleinhibit fullscreen, class:^(*)$" "idle_inhibit fullscreen, match:class .*"
"idleinhibit fullscreen, title:^(*)$" "idle_inhibit fullscreen, match:title .*"
"idleinhibit fullscreen, fullscreen:1" "idle_inhibit fullscreen, match:fullscreen 1"
# Float rules # Float rules
"float, class:^([Ww]aypaper)$" "float on, match:class [Ww]aypaper"
"float, tag:settings*" "float on, match:tag settings*"
"float, class:^([Ff]erdium)$" "float on, match:title Picture-in-Picture"
"float, title:^(Picture-in-Picture)$" "float on, match:class mpv"
"float, class:^(mpv)$" "float on, match:title Authentication Required"
"float, title:^(Authentication Required)$" "float on, match:title War in Tunnels"
"float, title:^(War in Tunnels)$" "float on, match:class codium|codium-url-handler|VSCodium, match:title negative:.*(?:codium|VSCodium).*"
"float, class:(codium|codium-url-handler|VSCodium), title:negative:(.*codium.*|.*VSCodium.*)" "float on, match:class com\.heroicgameslauncher\.hgl, match:title negative Heroic Games Launcher"
"float, class:^(com.heroicgameslauncher.hgl)$, title:negative:(Heroic Games Launcher)" "float on, match:class [Ss]team, match:title negative:[Ss]team"
"float, class:^([Ss]team)$, title:negative:^([Ss]team)$" "float on, match:class [Tt]hunar, match:title negative:.*[Tt]hunar.*"
"float, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)" "float on, match:class galculator"
"float, class:^(galculator)$" "float on, match:initial_title Add Folder to Workspace"
"float, initialTitle:(Add Folder to Workspace)" "float on, match:initial_title Open Files"
"float, initialTitle:(Open Files)" "float on, match:initial_title wants to save"
"float, initialTitle:(wants to save)"
# Size rules # Size rules
"size 70% 60%, initialTitle:(Open Files)" "size 70% 60%, match:initial_title Open Files"
"size 70% 60%, initialTitle:(Add Folder to Workspace)" "size 70% 60%, match:initial_title Add Folder to Workspace"
"size 70% 70%, tag:settings*" "size 70% 70%, match:tag settings*"
"size 60% 70%, class:^([Ff]erdium)$" "size 70% 70%, match:class mpv"
"size 70% 70%, class:^(mpv)$"
# Tile rules # Tile rules
"tile, class:^(affinity.exe)$" "tile on, match:class affinity\.exe"
"tile, class:^(dev.zed.Zed)$" "tile on, match:class dev\.zed\.Zed"
# Opacity rules # Opacity rules
"opacity 1.0 1.0, tag:browser*" "opacity 1.0 1.0, match:tag browser*"
"opacity 0.9 0.8, tag:projects*" "opacity 0.9 0.8, match:tag projects*"
"opacity 0.94 0.86, tag:im*" "opacity 0.94 0.86, match:tag im*"
"opacity 0.9 0.8, tag:file-manager*" "opacity 0.9 0.8, match:tag file-manager*"
"opacity 0.8 0.7, tag:terminal*" "opacity 0.8 0.7, match:tag terminal*"
"opacity 0.8 0.7, tag:settings*" "opacity 0.8 0.7, match:tag settings*"
"opacity 0.8 0.7, class:^(gedit|org.gnome.TextEditor|mousepad)$" "opacity 0.8 0.7, match:class gedit|org\.gnome\.TextEditor|mousepad"
"opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui" "opacity 0.9 0.8, match:class seahorse # gnome-keyring gui"
"opacity 0.95 0.75, title:^(Picture-in-Picture)$" "opacity 0.95 0.75, match:title Picture-in-Picture"
# Picture-in-Picture specific rules # Picture-in-Picture specific rules
"pin, title:^(Picture-in-Picture)$" "pin on, match:title Picture-in-Picture"
"keepaspectratio, title:^(Picture-in-Picture)$" "keep_aspect_ratio on, match:title Picture-in-Picture"
# Games specific rules # Games specific rules
"noblur, tag:games*" "no_blur on, match:tag games*"
"fullscreen, tag:games*" "fullscreen on, match:tag games*"
]; ];
};
};
} }

View File

@@ -62,19 +62,12 @@
iconUrl = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/glance.png"; iconUrl = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/glance.png";
iconSha = "sha256-xyFlmPpt+DABoGX5oBqj/aQVdxtmNflat9Jb2BE7SOY="; iconSha = "sha256-xyFlmPpt+DABoGX5oBqj/aQVdxtmNflat9Jb2BE7SOY=";
} }
{
name = "microsoftTeams";
displayName = "Microsoft Teams";
url = "https://teams.microsoft.com/v2/";
iconUrl = "https://i.pinimg.com/236x/e6/b6/28/e6b628706696320cd0ede93f7053abd8.jpg";
iconSha = "sha256-bZVmoWHeG8rycS8lj7LQaxFggXINjUx/7NWKPVhPTFw=";
}
]; ];
in { in {
options.xdgDesktopEntries = { options.xdgDesktopEntries = {
enable = lib.mkEnableOption "PWA Apps"; enable = lib.mkEnableOption "PWA Apps";
entries = builtins.listToAttrs ( entries = builtins.listToAttrs (
builtins.map (app: { map (app: {
name = app.name; name = app.name;
value = { value = {
enable = lib.mkEnableOption "Enable ${app.displayName} PWA"; enable = lib.mkEnableOption "Enable ${app.displayName} PWA";