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:
@@ -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, high‑performance code editor
|
enable = true; # Zed Editor: a modern, high‑performance 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 community‑driven Discord client
|
vesktop.enable = true; # Vesktop: a community‑driven 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
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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, high‑performance code editor
|
enable = true; # Zed Editor: a modern, high‑performance 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 community‑driven Discord client
|
vesktop.enable = true; # Vesktop: a community‑driven 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
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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, high‑performance code editor
|
enable = true; # Zed Editor: a modern, high‑performance 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 community‑driven Discord client
|
vesktop.enable = true; # Vesktop: a community‑driven 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
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"
|
||||||
];
|
];
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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}"
|
||||||
];
|
];
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
_: {
|
_: {
|
||||||
services = {
|
services.hypridle = {
|
||||||
hypridle = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
general = {
|
general = {
|
||||||
@@ -21,5 +20,4 @@ _: {
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 = "
|
||||||
|
|||||||
@@ -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*"
|
||||||
];
|
];
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
Reference in New Issue
Block a user