Files
nixos-config/modules/user/godot/default.nix
2025-03-02 08:57:55 -06:00

196 lines
11 KiB
Nix

{ config, lib, pkgs, ... }:
let
cfg = config.userSettings.godot;
in {
options = {
userSettings.godot = {
enable = lib.mkEnableOption "Enable godot";
};
};
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
godot_4
];
# TODO fix other colors
# TODO write script that applies these settings not as a symlink
#home.file.".config/godot/editor_settings-4.3.tres".text = ''
# [gd_resource type="EditorSettings" format=3]
#
# [resource]
# interface/editor/separate_distraction_mode = true
# interface/theme/preset = "Custom"
# interface/theme/spacing_preset = "Custom"
# interface/theme/base_color = Color(''+config.lib.stylix.colors.base00-dec-r+'',''+config.lib.stylix.colors.base00-dec-g+'', ''+config.lib.stylix.colors.base00-dec-b+'', 0.8)
# interface/theme/accent_color = Color(''+config.lib.stylix.colors.base08-dec-r+'',''+config.lib.stylix.colors.base08-dec-g+'', ''+config.lib.stylix.colors.base08-dec-b+'', 1)
# interface/theme/contrast = 0.3
# interface/theme/icon_saturation = 1.55
# interface/theme/relationship_line_opacity = 0.35
# interface/theme/border_size = 1
# interface/theme/corner_radius = 6
# interface/theme/additional_spacing = 1
# interface/touchscreen/enable_pan_and_scale_gestures = true
# interface/touchscreen/scale_gizmo_handles = 2.0
# interface/multi_window/enable = false
# interface/multi_window/restore_windows_on_load = false
# filesystem/external_programs/raster_image_editor = "krita"
# filesystem/external_programs/vector_image_editor = "inkscape"
# filesystem/external_programs/3d_model_editor = "blender"
# filesystem/external_programs/terminal_emulator = "''+config.userSettings.terminal+''"
# filesystem/directories/default_project_path = "/home/''+config.home.username+''/Projects"
# text_editor/theme/highlighting/symbol_color = Color(0.67, 0.79, 1, 1)
# text_editor/theme/highlighting/keyword_color = Color(1, 0.44, 0.52, 1)
# text_editor/theme/highlighting/control_flow_keyword_color = Color(1, 0.55, 0.8, 1)
# text_editor/theme/highlighting/base_type_color = Color(0.26, 1, 0.76, 1)
# text_editor/theme/highlighting/engine_type_color = Color(0.56, 1, 0.86, 1)
# text_editor/theme/highlighting/user_type_color = Color(0.78, 1, 0.93, 1)
# text_editor/theme/highlighting/comment_color = Color(0.764706, 0.769608, 0.77451, 0.5)
# text_editor/theme/highlighting/doc_comment_color = Color(0.6, 0.7, 0.8, 0.8)
# text_editor/theme/highlighting/string_color = Color(1, 0.93, 0.63, 1)
# text_editor/theme/highlighting/background_color = Color(0.0323529, 0.0431373, 0.0539216, 1)
# text_editor/theme/highlighting/completion_background_color = Color(0.0588235, 0.0784314, 0.0980392, 1)
# text_editor/theme/highlighting/completion_selected_color = Color(1, 1, 1, 0.07)
# text_editor/theme/highlighting/completion_existing_color = Color(1, 1, 1, 0.14)
# text_editor/theme/highlighting/completion_font_color = Color(0.764706, 0.769608, 0.77451, 1)
# text_editor/theme/highlighting/text_color = Color(0.764706, 0.769608, 0.77451, 1)
# text_editor/theme/highlighting/line_number_color = Color(0.764706, 0.769608, 0.77451, 0.5)
# text_editor/theme/highlighting/safe_line_number_color = Color(0.764706, 0.923529, 0.77451, 0.75)
# text_editor/theme/highlighting/caret_color = Color(1, 1, 1, 1)
# text_editor/theme/highlighting/selection_color = Color(0.941176, 0.443137, 0.470588, 0.4)
# text_editor/theme/highlighting/brace_mismatch_color = Color(1, 0.47, 0.42, 1)
# text_editor/theme/highlighting/current_line_color = Color(1, 1, 1, 0.07)
# text_editor/theme/highlighting/line_length_guideline_color = Color(0.0588235, 0.0784314, 0.0980392, 1)
# text_editor/theme/highlighting/word_highlighted_color = Color(1, 1, 1, 0.07)
# text_editor/theme/highlighting/number_color = Color(0.63, 1, 0.88, 1)
# text_editor/theme/highlighting/function_color = Color(0.34, 0.7, 1, 1)
# text_editor/theme/highlighting/member_variable_color = Color(0.736, 0.88, 1, 1)
# text_editor/theme/highlighting/mark_color = Color(1, 0.47, 0.42, 0.3)
# text_editor/theme/highlighting/breakpoint_color = Color(1, 0.47, 0.42, 1)
# text_editor/theme/highlighting/code_folding_color = Color(1, 1, 1, 0.27)
# text_editor/theme/highlighting/search_result_color = Color(1, 1, 1, 0.07)
# text_editor/appearance/whitespace/draw_tabs = false
# text_editor/behavior/indent/type = 1
# text_editor/behavior/indent/size = 2
# text_editor/behavior/files/trim_trailing_whitespace_on_save = true
# editors/panning/2d_editor_panning_scheme = 1
# editors/panning/sub_editors_panning_scheme = 1
# editors/panning/simple_panning = true
# project_manager/directory_naming_convention = 3
# asset_library/available_urls = {
# "godotengine.org (Official)": "https://godotengine.org/asset-library/api"
# }
# asset_library/use_threads = true
# export/android/java_sdk_path = ""
# export/android/android_sdk_path = ""
# export/android/debug_keystore = "/home/emmet/.local/share/godot/keystores/debug.keystore"
# export/android/debug_keystore_user = "androiddebugkey"
# export/android/debug_keystore_pass = "android"
# export/android/force_system_user = false
# export/android/shutdown_adb_on_exit = true
# export/android/one_click_deploy_clear_previous_install = false
# export/android/use_wifi_for_remote_debug = false
# export/android/wifi_remote_debug_host = "localhost"
# export/macos/rcodesign = ""
# export/web/http_host = "localhost"
# export/web/http_port = 8060
# export/web/use_tls = false
# export/web/tls_key = ""
# export/web/tls_certificate = ""
# export/windows/rcedit = ""
# export/windows/osslsigncode = ""
# export/windows/wine = "/home/emmet/.nix-profile/bin/wine64"
# _default_feature_profile = ""
# interface/editors/show_scene_tree_root_selection = true
# interface/editors/derive_script_globals_by_name = true
# docks/scene_tree/ask_before_deleting_related_animation_tracks = true
# _use_favorites_root_selection = false
# filesystem/file_server/port = 6010
# filesystem/file_server/password = ""
# editors/3d/manipulator_gizmo_size = 80
# editors/3d/manipulator_gizmo_opacity = 0.9
# editors/3d/navigation/show_viewport_rotation_gizmo = true
# editors/3d/navigation/show_viewport_navigation_gizmo = false
# text_editor/behavior/files/auto_reload_and_parse_scripts_on_save = true
# text_editor/behavior/files/open_dominant_script_on_scene_change = false
# text_editor/external/use_external_editor = false
# text_editor/external/exec_path = ""
# text_editor/script_list/script_temperature_enabled = true
# text_editor/script_list/script_temperature_history_size = 15
# text_editor/script_list/group_help_pages = true
# text_editor/script_list/sort_scripts_by = 0
# text_editor/script_list/list_script_names_as = 0
# text_editor/external/exec_flags = "{file}"
# version_control/username = ""
# version_control/ssh_public_key_path = ""
# version_control/ssh_private_key_path = ""
# editors/bone_mapper/handle_colors/unset = Color(0.3, 0.3, 0.3, 1)
# editors/bone_mapper/handle_colors/set = Color(0.1, 0.6, 0.25, 1)
# editors/bone_mapper/handle_colors/missing = Color(0.8, 0.2, 0.8, 1)
# editors/bone_mapper/handle_colors/error = Color(0.8, 0.2, 0.2, 1)
# network/debug_adapter/remote_port = 6006
# network/debug_adapter/request_timeout = 1000
# network/debug_adapter/sync_breakpoints = false
# editors/3d_gizmos/gizmo_settings/path3d_tilt_disk_size = 0.8
# editors/3d_gizmos/gizmo_colors/path_tilt = Color(1, 1, 0.4, 0.9)
# editors/3d_gizmos/gizmo_colors/skeleton = Color(1, 0.8, 0.4, 1)
# editors/3d_gizmos/gizmo_colors/selected_bone = Color(0.8, 0.3, 0, 1)
# editors/3d_gizmos/gizmo_settings/bone_axis_length = 0.1
# editors/3d_gizmos/gizmo_settings/bone_shape = 1
# editors/3d_gizmos/gizmo_colors/csg = Color(0, 0.4, 1, 0.15)
# editors/grid_map/editor_side = 1
# editors/grid_map/palette_min_width = 230
# editors/grid_map/preview_size = 64
# export/ssh/ssh = ""
# export/ssh/scp = ""
# network/language_server/remote_host = "127.0.0.1"
# network/language_server/remote_port = 6005
# network/language_server/enable_smart_resolve = true
# network/language_server/show_native_symbols_in_editor = false
# network/language_server/use_thread = false
# network/language_server/poll_limit_usec = 100000
# text_editor/theme/highlighting/gdscript/function_definition_color = Color(0.4, 0.9, 1, 1)
# text_editor/theme/highlighting/gdscript/global_function_color = Color(0.64, 0.64, 0.96, 1)
# text_editor/theme/highlighting/gdscript/node_path_color = Color(0.72, 0.77, 0.49, 1)
# text_editor/theme/highlighting/gdscript/node_reference_color = Color(0.39, 0.76, 0.35, 1)
# text_editor/theme/highlighting/gdscript/annotation_color = Color(1, 0.7, 0.45, 1)
# text_editor/theme/highlighting/gdscript/string_name_color = Color(1, 0.76, 0.65, 1)
# text_editor/theme/highlighting/comment_markers/critical_color = Color(0.77, 0.35, 0.35, 1)
# text_editor/theme/highlighting/comment_markers/warning_color = Color(0.72, 0.61, 0.48, 1)
# text_editor/theme/highlighting/comment_markers/notice_color = Color(0.56, 0.67, 0.51, 1)
# text_editor/theme/highlighting/comment_markers/critical_list = "ALERT,ATTENTION,CAUTION,CRITICAL,DANGER,SECURITY"
# text_editor/theme/highlighting/comment_markers/warning_list = "BUG,DEPRECATED,FIXME,HACK,TASK,TBD,TODO,WARNING"
# text_editor/theme/highlighting/comment_markers/notice_list = "INFO,NOTE,NOTICE,TEST,TESTING"
# editors/3d_gizmos/gizmo_colors/camera = Color(0.8, 0.4, 0.8, 1)
# editors/3d_gizmos/gizmo_colors/stream_player_3d = Color(0.4, 0.8, 1, 1)
# editors/3d_gizmos/gizmo_colors/occluder = Color(0.8, 0.5, 1, 1)
# editors/3d_gizmos/gizmo_colors/visibility_notifier = Color(0.8, 0.5, 0.7, 1)
# editors/3d_gizmos/gizmo_colors/particles = Color(0.8, 0.7, 0.4, 1)
# editors/3d_gizmos/gizmo_colors/particle_attractor = Color(1, 0.7, 0.5, 1)
# editors/3d_gizmos/gizmo_colors/particle_collision = Color(0.5, 0.7, 1, 1)
# editors/3d_gizmos/gizmo_colors/reflection_probe = Color(0.6, 1, 0.5, 1)
# editors/3d_gizmos/gizmo_colors/decal = Color(0.6, 0.5, 1, 1)
# editors/3d_gizmos/gizmo_colors/voxel_gi = Color(0.5, 1, 0.6, 1)
# editors/3d_gizmos/gizmo_colors/lightmap_lines = Color(0.5, 0.6, 1, 1)
# editors/3d_gizmos/gizmo_colors/lightprobe_lines = Color(0.5, 0.6, 1, 1)
# editors/3d_gizmos/gizmo_colors/joint_body_a = Color(0.6, 0.8, 1, 1)
# editors/3d_gizmos/gizmo_colors/joint_body_b = Color(0.6, 0.9, 1, 1)
# editors/3d_gizmos/gizmo_colors/fog_volume = Color(0.5, 0.7, 1, 1)
# text_editor/help/sort_functions_alphabetically = true
# metadata/script_setup_templates_dictionary = {
# "AnimatedSprite2D": "0NodeDefault",
# "Area2D": "0NodeDefault",
# "CanvasLayer": "0NodeDefault",
# "Node": "0NodeDefault",
# "Node2D": "0NodeDefault"
# }
# metadata/export_template_download_directory = "/home/emmet/.cache/godot"
#'';
};
}