From 98a561fa5a74d0eedfdc09e16a6b811bac4b9899 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?c=C4=83t=C4=83lin?= Date: Fri, 19 Apr 2024 13:38:19 +0200 Subject: [PATCH] add stuff, i don't even know anymore man --- .dotter/global.toml | 4 + ansible/requirements.yml | 2 + ansible/roles/packages/bin.yml | 5 - ansible/roles/packages/tasks/arch.yml | 72 ++++++++ ansible/roles/packages/tasks/debian.yml | 28 +-- ansible/roles/packages/tasks/main.yml | 17 +- ansible/roles/packages/tasks/rust.yml | 2 + astrovim/init.lua | 2 +- continue/config.json | 91 ++++++++++ fish/conf.d/paths.fish | 1 + gamemode | 112 ++++++++++++ helldivers2 | 223 ++++++++++++++++++++++++ mangohud | 1 + sshconfig | 23 +-- topgrade | 4 - utils/patch-eldenring.sh | 24 +++ 16 files changed, 555 insertions(+), 56 deletions(-) create mode 100644 ansible/requirements.yml delete mode 100644 ansible/roles/packages/bin.yml create mode 100644 ansible/roles/packages/tasks/arch.yml create mode 100644 continue/config.json create mode 100644 gamemode create mode 100644 helldivers2 create mode 100644 mangohud create mode 100755 utils/patch-eldenring.sh diff --git a/.dotter/global.toml b/.dotter/global.toml index 0e7153b..df7b220 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -16,3 +16,7 @@ garden = "~/.config/garden/garden.yaml" kitty = "~/.config/kitty" cobra = "~/.cobra.yaml" bat = "~/.config/bat" +continue = "~/.continue" +mangohud = "~/.config/MangoHud/MangoHud.conf" +gamemode = "~/.config/gamemode.ini" +helldivers2 = "~/.local/share/Steam/steamapps/compatdata/553850/pfx/drive_c/users/steamuser/AppData/Roaming/Arrowhead/Helldivers2/user_settings.config" \ No newline at end of file diff --git a/ansible/requirements.yml b/ansible/requirements.yml new file mode 100644 index 0000000..cad479a --- /dev/null +++ b/ansible/requirements.yml @@ -0,0 +1,2 @@ +collections: + - name: kewlfft.aur \ No newline at end of file diff --git a/ansible/roles/packages/bin.yml b/ansible/roles/packages/bin.yml deleted file mode 100644 index 72a4b01..0000000 --- a/ansible/roles/packages/bin.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: install Open Policy Agent - ansible.builtin.get_url: - url: https://openpolicyagent.org/downloads/v0.61.0/opa_linux_amd64_static - dest: ~/.local/bin/opa - mode: '0700' \ No newline at end of file diff --git a/ansible/roles/packages/tasks/arch.yml b/ansible/roles/packages/tasks/arch.yml new file mode 100644 index 0000000..ad1f7a6 --- /dev/null +++ b/ansible/roles/packages/tasks/arch.yml @@ -0,0 +1,72 @@ +--- +- name: Install Arch packages + ansible.builtin.package: + name: + # gnome + - gnome + - gnome-extra + - gnome-bluetooth-3.0 + - gnome-control-center + - gnome-shell-extensions + - gnome-themes-extra + - gnome-shell-extension-dash-to-dock-git + - gnome-browser-connector + + # dbs + - postgresql-client + - freetds + - unixodbc + + # work + - visual-studio-code-bin + - azure-cli + + # bluetooth + - bluez + - bluez-utils + - bluez-deprecated-tools + + # docker + - docker + - docker-buildx + - docker-compose + + # gayming + - steam + - steam-native-runtime + - mangohud + - lib32-mangohud + - gamemode + - lib32-gamemode + - mesa + + # utils + - glow + - python-virtualenv + - asciinema + - trash-cli + - git + - base-devel + - bubblewrap + - libseccomp + - xz + - shellcheck + + # misc + - networkmanager + - ttf-liberation + - firefox + state: present + +- name: Install aur packages + kewlfft.aur.aur: + name: + - visual-studio-code-bin + - python-pyodbc + - gnome-shell-extension-dash-to-dock-git + - protonqt-up + - jetbrains-toolbox + - pipx + - snapd + - microsoft-edge-stable-bin + state: present \ No newline at end of file diff --git a/ansible/roles/packages/tasks/debian.yml b/ansible/roles/packages/tasks/debian.yml index 3cf6f2b..85ebbe8 100644 --- a/ansible/roles/packages/tasks/debian.yml +++ b/ansible/roles/packages/tasks/debian.yml @@ -1,24 +1,4 @@ -- name: Add Kubernetes repository - block: - - name: Add key - ansible.builtin.shell: curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg - - - name: Add repo - ansible.builtin.apt_repository: - repo: 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' - state: present - filename: kubernetes - -- name: add charm.sh repository - block: - - name: Add key - ansible.builtin.shell: curl -fsSL https://repo.charm.sh/apt/gpg.key | gpg --dearmor -o /etc/apt/keyrings/charm.gpg - - - name: Add repo - ansible.builtin.apt_repository: - repo: "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" - filename: charm.sh - +--- - name: Install Debian packages ansible.builtin.package: name: @@ -33,5 +13,9 @@ - kubectl - glow - postgresql-client-common - - postgresql-client-15 + - libnss3-tools + - hwinfo + - rsync + - nmap + - netcat state: present diff --git a/ansible/roles/packages/tasks/main.yml b/ansible/roles/packages/tasks/main.yml index dbbd775..c3794c3 100644 --- a/ansible/roles/packages/tasks/main.yml +++ b/ansible/roles/packages/tasks/main.yml @@ -4,17 +4,25 @@ name: - git - tmux - - python3-pip + - python-pip - fish - rofi - automake - libtool - mpv + - ncdu - xclip state: present tags: - agnostic +- name: Install Arch packages + become: true + when: ansible_os_family == "Archlinux" + ansible.builtin.import_tasks: arch.yml + tags: + - arch + - name: Install Debian packages become: true when: ansible_os_family == "Debian" @@ -48,9 +56,4 @@ become: true ansible.builtin.import_tasks: snap.yml tags: - - snap - -- name: Install binaries - ansible.builtin.import_tasks: bin.yml - tags: - - bin + - snap \ No newline at end of file diff --git a/ansible/roles/packages/tasks/rust.yml b/ansible/roles/packages/tasks/rust.yml index 616eb40..4e178e7 100644 --- a/ansible/roles/packages/tasks/rust.yml +++ b/ansible/roles/packages/tasks/rust.yml @@ -18,6 +18,8 @@ ansible.builtin.command: /tmp/sh.rustup.rs -y - name: Install cargo packages + environment: + PATH: "${PATH}:~/.cargo/bin" community.general.cargo: name: - git-delta diff --git a/astrovim/init.lua b/astrovim/init.lua index 85380e6..8f36933 100644 --- a/astrovim/init.lua +++ b/astrovim/init.lua @@ -1,5 +1,5 @@ return { - colorscheme = "catppuccin", + astrogui = "catppuccin", diagnostics = { virtual_text = true, diff --git a/continue/config.json b/continue/config.json new file mode 100644 index 0000000..ede4149 --- /dev/null +++ b/continue/config.json @@ -0,0 +1,91 @@ +{ + "models": [ + { + "title": "Ollama", + "provider": "ollama", + "model": "deepseek-coder", + "completionOptions": {} + }, + { + "title": "GPT-4", + "provider": "openai-free-trial", + "model": "gpt-4" + }, + { + "title": "GPT-3.5-Turbo", + "provider": "openai-free-trial", + "model": "gpt-3.5-turbo" + } + ], + "slashCommands": [ + { + "name": "edit", + "description": "Edit highlighted code", + "step": "EditHighlightedCodeStep" + }, + { + "name": "comment", + "description": "Write comments for the highlighted code", + "step": "CommentCodeStep" + }, + { + "name": "share", + "description": "Download and share this session", + "step": "ShareSessionStep" + }, + { + "name": "cmd", + "description": "Generate a shell command", + "step": "GenerateShellCommandStep" + } + ], + "customCommands": [ + { + "name": "test", + "prompt": "Write a comprehensive set of unit tests for the selected code. It should setup, run tests that check for correctness including important edge cases, and teardown. Ensure that the tests are complete and sophisticated. Give the tests just as chat output, don't edit any file.", + "description": "Write unit tests for highlighted code" + } + ], + "contextProviders": [ + { + "name": "diff", + "params": {} + }, + { + "name": "open", + "params": {} + }, + { + "name": "terminal", + "params": {} + }, + { + "name": "codebase", + "params": { + "nRetrieve": 25, + "nFinal": 5, + "useReranking": true + } + }, + { + "name": "code", + "params": {} + }, + { + "name": "docs", + "params": {} + } + ], + "embeddingsProvider": { + "provider": "ollama", + "model": "deepseek-coder", + "apiBase": "http://localhost:11434" + }, + "tabAutocompleteModel": { + "title": "Ollama", + "provider": "ollama", + "model": "deepseek-coder", + "apiBase": "http://localhost:11434" + }, + "allowAnonymousTelemetry": true +} \ No newline at end of file diff --git a/fish/conf.d/paths.fish b/fish/conf.d/paths.fish index 9e7f9d6..1bcb05a 100644 --- a/fish/conf.d/paths.fish +++ b/fish/conf.d/paths.fish @@ -11,3 +11,4 @@ set -gx PATH $ANDROID_HOME/platform-tools $PATH set -gx PATH /usr/local/texlive/2023/bin/x86_64-linux $PATH set -gx MANPATH /usr/local/texlive/2023/texmf-dist/doc/man $MANPATH set -gx INFOPATH /usr/local/texlive/2023/texmf-dist/doc/info $INFOPATH +set -gx PATH ~/.pulumi/bin $PATH diff --git a/gamemode b/gamemode new file mode 100644 index 0000000..70ac22a --- /dev/null +++ b/gamemode @@ -0,0 +1,112 @@ +[general] +; The reaper thread will check every 5 seconds for exited clients, for config file changes, and for the CPU/iGPU power balance +reaper_freq=5 + +; The desired governor is used when entering GameMode instead of "performance" +desiredgov=performance +; The default governor is used when leaving GameMode instead of restoring the original value +;defaultgov=powersave + +; The iGPU desired governor is used when the integrated GPU is under heavy load +igpu_desiredgov=powersave +; Threshold to use to decide when the integrated GPU is under heavy load. +; This is a ratio of iGPU Watts / CPU Watts which is used to determine when the +; integraged GPU is under heavy enough load to justify switching to +; igpu_desiredgov. Set this to -1 to disable all iGPU checking and always +; use desiredgov for games. +igpu_power_threshold=0.3 + +; GameMode can change the scheduler policy to SCHED_ISO on kernels which support it (currently +; not supported by upstream kernels). Can be set to "auto", "on" or "off". "auto" will enable +; with 4 or more CPU cores. "on" will always enable. Defaults to "off". +softrealtime=off + +; GameMode can renice game processes. You can put any value between 0 and 20 here, the value +; will be negated and applied as a nice value (0 means no change). Defaults to 0. +; To use this feature, the user must be added to the gamemode group (and then rebooted): +; sudo usermod -aG gamemode $(whoami) +renice=0 + +; By default, GameMode adjusts the iopriority of clients to BE/0, you can put any value +; between 0 and 7 here (with 0 being highest priority), or one of the special values +; "off" (to disable) or "reset" (to restore Linux default behavior based on CPU priority), +; currently, only the best-effort class is supported thus you cannot set it here +ioprio=0 + +; Sets whether gamemode will inhibit the screensaver when active +; Defaults to 1 +inhibit_screensaver=1 + +; Sets whether gamemode will disable split lock mitigation when active +; Defaults to 1 +disable_splitlock=1 + +[filter] +; If "whitelist" entry has a value(s) +; gamemode will reject anything not in the whitelist +;whitelist=RiseOfTheTombRaider + +; Gamemode will always reject anything in the blacklist +;blacklist=HalfLife3 +; glxgears + +[gpu] +; Here Be Dragons! +; Warning: Use these settings at your own risk +; Any damage to hardware incurred due to this feature is your responsibility and yours alone +; It is also highly recommended you try these settings out first manually to find the sweet spots + +; Setting this to the keyphrase "accept-responsibility" will allow gamemode to apply GPU optimisations such as overclocks +;apply_gpu_optimisations=0 + +; The DRM device number on the system (usually 0), ie. the number in /sys/class/drm/card0/ +;gpu_device=0 + +; Nvidia specific settings +; Requires the coolbits extension activated in nvidia-xconfig +; This corresponds to the desired GPUPowerMizerMode +; "Adaptive"=0 "Prefer Maximum Performance"=1 and "Auto"=2 +; See NV_CTRL_GPU_POWER_MIZER_MODE and friends in https://github.com/NVIDIA/nvidia-settings/blob/master/src/libXNVCtrl/NVCtrl.h +;nv_powermizer_mode=1 + +; These will modify the core and mem clocks of the highest perf state in the Nvidia PowerMizer +; They are measured as Mhz offsets from the baseline, 0 will reset values to default, -1 or unset will not modify values +;nv_core_clock_mhz_offset=0 +;nv_mem_clock_mhz_offset=0 + +; AMD specific settings +; Requires a relatively up to date AMDGPU kernel module +; See: https://dri.freedesktop.org/docs/drm/gpu/amdgpu.html#gpu-power-thermal-controls-and-monitoring +; It is also highly recommended you use lm-sensors (or other available tools) to verify card temperatures +; This corresponds to power_dpm_force_performance_level, "manual" is not supported for now +;amd_performance_level=high + +[cpu] +; Parking or Pinning can be enabled with either "yes", "true" or "1" and disabled with "no", "false" or "0". +; Either can also be set to a specific list of cores to park or pin, comma separated list where "-" denotes +; a range. E.g "park_cores=1,8-15" would park cores 1 and 8 to 15. +; The default is uncommented is to disable parking but enable pinning. If either is enabled the code will +; currently only properly autodetect Ryzen 7900x3d, 7950x3d and Intel CPU:s with E- and P-cores. +;park_cores=no +;pin_cores=yes + +[supervisor] +; This section controls the new gamemode functions gamemode_request_start_for and gamemode_request_end_for +; The whilelist and blacklist control which supervisor programs are allowed to make the above requests +;supervisor_whitelist= +;supervisor_blacklist= + +; In case you want to allow a supervisor to take full control of gamemode, this option can be set +; This will only allow gamemode clients to be registered by using the above functions by a supervisor client +;require_supervisor=0 + +[custom] +; Custom scripts (executed using the shell) when gamemode starts and ends +;start=notify-send "GameMode started" +; /home/me/bin/stop_foldingathome.sh + +;end=notify-send "GameMode ended" +; /home/me/bin/start_foldingathome.sh + +; Timeout for scripts (seconds). Scripts will be killed if they do not complete within this time. +;script_timeout=10 \ No newline at end of file diff --git a/helldivers2 b/helldivers2 new file mode 100644 index 0000000..17d6088 --- /dev/null +++ b/helldivers2 @@ -0,0 +1,223 @@ + +audio_device = 0 +audio_volume = 1 +maximized_window = false +voice_chat_volume = 1 +framerate_limit_enabled = false +fullscreen = false +music_volume = 1 +dialogue_volume = 1 +aspect_ratio = -1 +sfx_volume = 1 +borderless_fullscreen = true +hostability = "0000d69200010ac50000001100000002da0b65fa" +prev_audio_device = 0 +adapter_index = 0 +framerate_limit = 144 +version = 15 +render_backend = 0 +prefer_hdr = false +render_settings = { + light_falloff_end_target_bias = 1 + post_effects_enabled = true + cubemap_lod_object_multiplier = 4 + gbuffer_subsurface_visualization = false + motion_blur_enabled = true + shadows = 3 + terrain_quality = 2 + terrain_trample_enabled = true + gbuffer_iridescence_visualization = false + debug_wireframe = false + gbuffer_heightmap_ao_visualization = false + forward_local_lights_cast_shadows = true + sun_lens_flare_mask_visualization = false + gbuffer_specular_color_visualization = false + cubemap_high_altitude_clouds_resolution = [ + 64 + 64 + ] + gbuffer_ambient_diffuse_visualization = false + debug_rendering = false + taa_no_history_visualization = false + ssr_enabled = true + renderer = { + } + object_lod_quality = 1 + static_slice_half_size = 1024 + gbuffer_specular_visualization = false + debug_lod = false + gbuffer_roughness_visualization = false + tweak_camo_customization = false + gbuffer_ssao_visualization = false + sun_shadow_map_visualization = false + particles_cast_shadows = false + speedtree_grass_shadow_lod_multiplier = 1 + volumetric_clouds_quality = 2 + shadow_atlas_visualization = false + gbuffer_reconstructed_normal_visualization = false + ambient_only_visualization = 0 + gbuffer_albedo_verification_visualization = false + tweak_pattern_customization = false + shadow_mask_visualization = false + last_grass_shadow_slice = 1 + cubemap_volumetric_clouds_resolution = [ + 32 + 32 + ] + cs_cluster_max_depth_override = 0 + taa_enabled = true + static_slice_constribution_cull_scale = 0.25 + taa_stable_depth_visualization = false + min_object_contribution_scale_cubemap = 4 + sun_shadows = true + sun_flare_enabled = true + hdr_enabled = false + survey_url = "legal forced me to remove the placeholder" + light_count_heatmap_visualization = false + mirror_screen = 0 + bloom_visualization = false + non_default_light_models_enabled = true + light_cull_distance_multiplier = 35 + dof_enabled = true + auto_exposure_visualization = false + imp_transparent_override = 0 + sun_shadow_map_filter_quality = "high" + baker_filter_lightmap = true + texture_density_visualization = 0 + particles_local_lighting = true + min_object_size_generation = 1 + far_fog_enabled = true + object_ids_visualization = false + ui_brightness = 336.35858154296875 + min_object_size_shadow = 0.050000000745058171 + depth_capture_enabled = false + scatter_distance_multiplier = 1 + bloom_enabled = true + deferred_local_lights_cast_shadows = true + last_slice_subdivisions = 2 + gbuffer_lighting_only_visualization = false + imp_tile_size = 32 + high_altitude_clouds_enabled = true + static_slice_min_object_size = 0.0099999997764826081 + enable_gpu_crash_debug = false + shadow_cascade_visualization = false + taa_hdr0_clamp_visualization = false + color_blindness_simulation = 0 + use_static_last_slice = false + local_lights_shadow_atlas_size = [ + 2048 + 2048 + ] + checkerboarding_enabled = false + scatter_density = 2 + view_distance = "high" + ssr_mask_visualization = false + wind_enabled = true + local_lights_shadow_map_filter_quality = "high" + ui_blur_sigma = 2.5 + gbuffer_clearcoat_normal_visualization = false + selection_enabled = true + cubemap_resolution = [ + 256 + 256 + ] + taa_ao_lerp_visualization = false + space_lighting = false + baker_full_visualization = false + max_num_shadow_casters = 4 + fsr_enabled = false + reflection_quality = 3 + baker_materials_visualization = false + space_probe_rendering = false + local_lights = true + gbuffer_wetness_visualization = false + gbuffer_sun_shadow_visualization = false + terrain_blending_enabled = true + lighting_and_material_quality = 1 + ssgi_enabled = 1 + gbuffer_ssgi_mask_visualization = false + debug_baker = false + dof_visualization = false + min_object_contribution_scale = 1 + gbuffer_normal_visualization = false + screen_brightness = 1 + gbuffer_ssr_visualization = false + particle_quality = 3 + min_object_size_cubemap = 3 + taa_hdr0_lerp_visualization = false + gbuffer_specular_dielectric_visualization = false + particles_tessellation = true + color_grading_enabled = true + taa_hdr0_jitter_visualization = false + render_resolution = [ + 1920 + 1080 + ] + use_new_lod_selection = true + lod_selection_multiplier = 1 + heathaze_enabled = true + gbuffer_ssgi_visualization = false + overdraw_visualization = false + sun_shadow_map_size = [ + 2048 + 2048 + ] + debug_taa = false + use_imp = true + space_backdrop_visible = false + cubemap_mip_levels = 6 + gbuffer_velocity_visualization = false + debug_space_rs = false + terminal_canvas_resolution = [ + 960 + 1080 + ] + min_object_contribution_scale_generation = 2 + circular_dof = false + ssao_enabled = 1 + allow_async_compute = false + gbuffer_ao_visualization = false + particles_receive_shadows = true + fxaa_enabled = false + gbuffer_metallic_visualization = false + space_quality = 0 + volumetric_fog_quality = 2 + speedtree_shadow_lod_multiplier = 2 + lens_quality_enabled = true + debug_deformation_prevention = false + gbuffer_albedo_visualization = false + gbuffer_fuzz_visualization = false + gbuffer_subsurface_color_visualization = false + gbuffer_clearcoat_visualization = false + gbuffer_clearcoat_roughness_visualization = false + gbuffer_sun_subsurface_shadow_visualization = false + gbuffer_material_ao_visualization = false + imp_material_count_visualization = false + atmospheric_lookup_visualization = false + state_game = true + motion_blur_amount_multiplier = 1 + sharpening_amount = 0.75000000000000011 + sharpening_enabled = true + scatter_bake_face = 0 + tweak_material_customization = false + tweak_cape_customization = false + capture_cctv_feed = false + far_scatter_enabled = true + cluster_max_depth_multiplier = 1 + light_falloff_end_target_exposure_offset = 1 + light_falloff_end_target = 45 + graphics_preset = 4 + texture_quality = 1 + render_resolution_factor_index = 3 +} +initial_setup_completed = true +tts_volume = 1 +screen_resolution = [ + 1920 + 1080 +] +fullscreen_output = 0 +vsync = false +midnight_mode = false +vertical_fov = 55 +data_privacy = 1 diff --git a/mangohud b/mangohud new file mode 100644 index 0000000..df293c6 --- /dev/null +++ b/mangohud @@ -0,0 +1 @@ +preset=2 \ No newline at end of file diff --git a/sshconfig b/sshconfig index ac39a75..b3f9d96 100644 --- a/sshconfig +++ b/sshconfig @@ -62,7 +62,9 @@ Host fuku.smough Host fuku.gitea HostName gitea.fuku IdentityFile ~/.ssh/id_ed25519 - User root + User root + IdentitiesOnly yes + SetEnv TERM=linux Host fuku.nginx HostName nginx.fuku @@ -102,19 +104,6 @@ Host fuku.fz HostName fz.fuku User catalin - -Host fuku.docker - HostName docker.fuku - User docker - -Host dz.superset.dev - HostName 172.16.48.107 - User root - -Host dz.superset.stag - HostName 172.16.48.117 - User root - -Host dz.k3s.main - HostName 172.16.48.201 - User root +Host fuku.ace + HostName ace.fuku + User root diff --git a/topgrade b/topgrade index 666d4f0..0d5be8e 100644 --- a/topgrade +++ b/topgrade @@ -5,14 +5,10 @@ disable = ["containers"] pre_sudo = true run_in_tmux = true display_time = true - cleanup = true -[post_commands] - [firmware] upgrade = true - [flatpak] use_sudo = true diff --git a/utils/patch-eldenring.sh b/utils/patch-eldenring.sh new file mode 100755 index 0000000..32f8027 --- /dev/null +++ b/utils/patch-eldenring.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +# https://old.reddit.com/r/linux_gaming/comments/td14yg/elden_ring_wont_launch_protonlinux/ +# Move $ELDEN_RING_DIR/elden_ring.exe to $ELDEN_RING_DIR/start_protected_game.exe + +ELDEN_RING_DIR="$HOME/.steam/steam/steamapps/common/ELDEN RING/Game" + +set -euo pipefail + +# Assert $ELDEN_RING_DIR/elden_ring.exe exists +# if it doesn't exist, exit successfully + +if [ ! -f "$ELDEN_RING_DIR/elden_ring.exe" ]; then + echo "Already patched" + exit 0 +fi + +## Move $ELDEN_RING_DIR/start_protected_game.exe to $ELDEN_RING_DIR/start_protected_game.exe.bak + +mv "$ELDEN_RING_DIR/start_protected_game.exe" "$ELDEN_RING_DIR/start_protected_game.exe.bak" + +# Move $ELDEN_RING_DIR/elden_ring.exe to $ELDEN_RING_DIR/start_protected_game.exe + +mv "$ELDEN_RING_DIR/elden_ring.exe" "$ELDEN_RING_DIR/start_protected_game.exe" +