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)
2026-04-26 10:37:03 +02:00
|
|
|
# Web application desktop entries — Teams, Outlook, Basecamp, and OpenCode launchers.
|
|
|
|
|
{
|
2026-04-26 10:49:01 +02:00
|
|
|
config,
|
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)
2026-04-26 10:37:03 +02:00
|
|
|
pkgs,
|
|
|
|
|
...
|
|
|
|
|
}: 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;
|
2026-04-26 10:49:01 +02:00
|
|
|
icon = "${config.home.homeDirectory}/.local/share/icons/basecamp-logo.png";
|
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)
2026-04-26 10:37:03 +02:00
|
|
|
};
|
|
|
|
|
opencode = {
|
|
|
|
|
name = "Opencode";
|
|
|
|
|
exec = "rofi-project-opener";
|
|
|
|
|
comment = "Open Opencode Terminal App";
|
|
|
|
|
categories = ["Application" "Development"];
|
|
|
|
|
terminal = false;
|
|
|
|
|
icon = icons.opencode;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|