{ config, lib, pkgs, ... }: with lib; let cfg = config.xyno.presets.development; in { options.xyno.presets.development.enable = mkEnableOption "enables xynos configs for a development/workstation machine"; config = mkIf cfg.enable { home-manager.users.${config.xyno.system.user.name} = mkIf config.xyno.presets.home-manager.enable ( { ... }: { xyno.helix.withLargeLSPs = true; xyno.git.enable = true; } ); xyno.presets.cli.enable = true; xyno.presets.home-manager.enable = true; xyno.system.user.enable = true; virtualisation.podman.enable = true; environment.systemPackages = with pkgs; [ orca-slicer unstable.kicad freecad dune3d jetbrains.rider # android-studio nixpkgs-manual nixpkgs-manual.lib-docs podman-compose tio ( let helpScript = pkgs.writeShellScriptBin "nixpkgs-help" '' exec xdg-open ${pkgs.nixpkgs-manual}/share/doc/nixpkgs/index.html ''; desktopItem = pkgs.makeDesktopItem { name = "nixpkgs-manual"; desktopName = "nixpkgs Manual"; genericName = "System Manual"; comment = "View nixpkgs documentation in a web browser"; icon = "nix-snowflake"; exec = "nixpkgs-help"; categories = [ "System" ]; }; in pkgs.symlinkJoin { name = "nixpkgs-help"; paths = [ helpScript desktopItem ]; } ) ]; }; }