feat: create new home/ directory structure for profile-based config
New structure:
- home/base/ - Always loaded (shell, cli-tools, secrets)
- home/coding/ - Profile-independent dev tooling (editor, lsp, git, agents)
- home/profiles/ - Freely combinable profiles (gaming, media)
- home/desktop/ - Desktop-only (wm, apps, theme)
- home/server/ - Minimal server stub
Migration sources:
- home/features/cli/ → home/base/{shell,cli-tools,secrets}
- home/features/desktop/hyprland,wayland,rofi → home/desktop/wm/
- home/features/desktop/obsidian,office,webapps,crypto → home/desktop/apps/
- home/features/desktop/fonts,theme,wallpapers → home/desktop/theme/
- gaming.nix split → home/profiles/gaming/{steam,gamescope}
- media.nix split → home/profiles/media/{obs,ffmpeg,yt-dlp,kdenlive,handbrake}
Option namespaces updated:
- features.cli.* → base.shell.* / base.cliTools.* / base.secrets
- features.desktop.* → desktop.wm.* / desktop.apps.* / desktop.theme.*
- features.desktop.gaming → profiles.gaming.*
- features.desktop.media → profiles.media.*
Verified: nix flake check passes (warnings only)
This commit is contained in:
56
home/desktop/apps/webapps.nix
Normal file
56
home/desktop/apps/webapps.nix
Normal file
@@ -0,0 +1,56 @@
|
||||
# Web application desktop entries — Teams, Outlook, Basecamp, and OpenCode launchers.
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
icons = {
|
||||
teams = pkgs.fetchurl {
|
||||
url = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/microsoft-teams.svg";
|
||||
sha256 = "sha256-Pr9QS8nnXJq97r4/G3c6JXi34zxHl0ps9gcyI8cN/s8=";
|
||||
};
|
||||
outlook = pkgs.fetchurl {
|
||||
url = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/microsoft-outlook.svg";
|
||||
sha256 = "sha256-3u8t5QNHFZvrAegxBiGicO4PjtMWhEaQSCv7MSSfLLc=";
|
||||
};
|
||||
opencode = pkgs.fetchurl {
|
||||
url = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/opencode-dark.svg";
|
||||
sha256 = "1lms4f8habamvdh2qqqz9psx4py9wx23mmlkkds44pvrbq3bkj3n";
|
||||
};
|
||||
};
|
||||
in {
|
||||
xdg.desktopEntries = {
|
||||
teams = {
|
||||
name = "Microsoft Teams";
|
||||
exec = "launch-webapp https://teams.microsoft.com";
|
||||
comment = "Open Microsoft Teams as a Desktop App";
|
||||
categories = ["Application" "Network" "Chat"];
|
||||
terminal = false;
|
||||
icon = icons.teams;
|
||||
};
|
||||
outlook = {
|
||||
name = "Microsoft Outlook";
|
||||
exec = "launch-webapp https://outlook.office.com/mail/";
|
||||
comment = "Open Microsoft Outlook as a Desktop App";
|
||||
categories = ["Application" "Network"];
|
||||
terminal = false;
|
||||
icon = icons.outlook;
|
||||
};
|
||||
basecamp = {
|
||||
name = "Basecamp";
|
||||
exec = "launch-webapp https://3.basecamp.com/5996442/";
|
||||
comment = "Open Basecamp as a Desktop App";
|
||||
categories = ["Application" "Network"];
|
||||
terminal = false;
|
||||
icon = "/home/sascha.koenig/.local/share/icons/basecamp-logo.png";
|
||||
};
|
||||
opencode = {
|
||||
name = "Opencode";
|
||||
exec = "rofi-project-opener";
|
||||
comment = "Open Opencode Terminal App";
|
||||
categories = ["Application" "Development"];
|
||||
terminal = false;
|
||||
icon = icons.opencode;
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user