Linux fixes
This commit is contained in:
parent
3ac339633a
commit
73f6d4ae58
15
devenver.py
15
devenver.py
@ -511,7 +511,7 @@ internal_app_list = []
|
||||
devenv_script_buffer = ""
|
||||
|
||||
def install_app_list(app_list, download_dir, install_dir, is_windows):
|
||||
title = "Internal Apps" if app_list is internal_app_list else "User Apps"
|
||||
title = "Internal Apps"
|
||||
print_header(title)
|
||||
result = {}
|
||||
|
||||
@ -792,11 +792,6 @@ def run(user_app_list,
|
||||
install_dir=install_dir,
|
||||
is_windows=is_windows)
|
||||
|
||||
user_apps = install_app_list(app_list=user_app_list,
|
||||
download_dir=download_dir,
|
||||
install_dir=install_dir,
|
||||
is_windows=is_windows)
|
||||
|
||||
# Write the devenv script with environment variables
|
||||
if is_windows:
|
||||
devenv_script_buffer += "set devenver_root_backslash=%~dp0\n"
|
||||
@ -823,13 +818,5 @@ def run(user_app_list,
|
||||
if not is_windows:
|
||||
subprocess.run(args=["chmod", "+x", devenv_script_path])
|
||||
|
||||
# Merge the install dictionaries, this dictionary contains
|
||||
# (app label) -> [array of installed versions]
|
||||
result = internal_apps
|
||||
for key, value in user_apps.items():
|
||||
if key not in result:
|
||||
result.update({key: value})
|
||||
else:
|
||||
result[key] += value
|
||||
|
||||
return result
|
||||
|
||||
114
install.py
114
install.py
@ -44,16 +44,6 @@ arg_parser.add_argument('--install-dir',
|
||||
default="",
|
||||
type=pathlib.Path)
|
||||
|
||||
arg_parser.add_argument('--with-dev-apps',
|
||||
help=f'Download and install apps from the developer manifest',
|
||||
const=True,
|
||||
action="store_const")
|
||||
|
||||
arg_parser.add_argument('--with-user-apps',
|
||||
help=f'Download and install apps from the user manifest',
|
||||
const=True,
|
||||
action="store_const")
|
||||
|
||||
arg_parser.add_argument('operating_system',
|
||||
choices=['win', 'linux'],
|
||||
help=f'Download and install apps for the specified operating system')
|
||||
@ -73,20 +63,16 @@ if install_dir == pathlib.Path(""):
|
||||
install_dir = devenver.script_dir / 'Linux'
|
||||
|
||||
# Install development apps
|
||||
# ------------------------------------------------------------------------------
|
||||
if args.with_dev_apps:
|
||||
# Run DEVenver, installing the portable apps
|
||||
dev_env_script_name = "dev_env"
|
||||
app_list = app_manifest_dev.get_manifest(is_windows=is_windows)
|
||||
installed_dev_apps = devenver.run(user_app_list=app_list,
|
||||
dev_env_script_name = "dev_env"
|
||||
app_list = app_manifest_dev.get_manifest(is_windows=is_windows)
|
||||
installed_dev_apps = devenver.run(user_app_list=app_list,
|
||||
download_dir=download_dir,
|
||||
install_dir=install_dir,
|
||||
devenv_script_name=dev_env_script_name,
|
||||
is_windows=is_windows)
|
||||
install_script_path = pathlib.Path(devenver.script_dir, "install.py")
|
||||
|
||||
|
||||
install_script_path = pathlib.Path(devenver.script_dir, "install.py")
|
||||
if is_windows:
|
||||
if is_windows:
|
||||
# Install apps dependent on Git
|
||||
devenver.print_header("Install apps that rely on Git")
|
||||
git_exe = installed_dev_apps["Git"][0]['exe_path']
|
||||
@ -170,25 +156,25 @@ local set_environment_variables = {{}}
|
||||
|
||||
if wezterm.target_triple == "x86_64-pc-windows-msvc" then
|
||||
|
||||
clink_exe = string.format("%s\\\\..\\\\..\\\\{clink_exe_path_for_wezterm}", wezterm.executable_dir)
|
||||
devenv_bat = string.format("%s\\\\..\\\\..\\\\{dev_env_script_name}.bat", wezterm.executable_dir)
|
||||
clink_profile = string.format("%s\\\\..\\\\..\\\\{clink_profile_path_for_wezterm}", wezterm.executable_dir)
|
||||
clink_exe = string.format("%s\\\\..\\\\..\\\\{clink_exe_path_for_wezterm}", wezterm.executable_dir)
|
||||
devenv_bat = string.format("%s\\\\..\\\\..\\\\{dev_env_script_name}.bat", wezterm.executable_dir)
|
||||
clink_profile = string.format("%s\\\\..\\\\..\\\\{clink_profile_path_for_wezterm}", wezterm.executable_dir)
|
||||
|
||||
-- Taken from: https://wezfurlong.org/wezterm/shell-integration.html
|
||||
-- Use OSC 7 as per the above example
|
||||
set_environment_variables['prompt'] =
|
||||
'$E]7;file://localhost/$P$E\\\\$E[32m$T$E[0m $E[35m$P$E[36m$_$G$E[0m '
|
||||
-- Taken from: https://wezfurlong.org/wezterm/shell-integration.html
|
||||
-- Use OSC 7 as per the above example
|
||||
set_environment_variables['prompt'] =
|
||||
'$E]7;file://localhost/$P$E\\\\$E[32m$T$E[0m $E[35m$P$E[36m$_$G$E[0m '
|
||||
|
||||
default_prog = {{"cmd.exe", "/s", "/k",
|
||||
default_prog = {{"cmd.exe", "/s", "/k",
|
||||
clink_exe, "inject", "--profile", clink_profile, "-q",
|
||||
"&&", "call", devenv_bat}}
|
||||
end
|
||||
|
||||
return {{
|
||||
font_size = 10.0,
|
||||
color_scheme = "Peppermint",
|
||||
default_prog = default_prog,
|
||||
set_environment_variables = set_environment_variables,
|
||||
font_size = 10.0,
|
||||
color_scheme = "Peppermint",
|
||||
default_prog = default_prog,
|
||||
set_environment_variables = set_environment_variables,
|
||||
}}
|
||||
""")
|
||||
|
||||
@ -201,8 +187,8 @@ setlocal EnableDelayedExpansion
|
||||
|
||||
set working_dir=
|
||||
if "%~1" neq "" (
|
||||
set working_dir=start --cwd "%~1"
|
||||
set working_dir=!working_dir:\=/!
|
||||
set working_dir=start --cwd "%~1"
|
||||
set working_dir=!working_dir:\=/!
|
||||
)
|
||||
|
||||
start "" /MAX "%~dp0{installed_dev_apps["WezTerm"][0]["exe_path"].relative_to(install_dir)}" !working_dir!
|
||||
@ -214,10 +200,10 @@ start "" /MAX "%~dp0{installed_dev_apps["WezTerm"][0]["exe_path"].relative_to(in
|
||||
devenver.lprint(f"Installing PyNVIM")
|
||||
subprocess.run(f"{python_exe_path} -m pip install pynvim")
|
||||
|
||||
# Use LLVM script to fix up bloated installation
|
||||
# See: https://github.com/zufuliu/llvm-utils/blob/main/llvm/llvm-link.bat
|
||||
internal_dir = pathlib.Path(os.path.dirname(os.path.abspath(__file__))) / "Internal"
|
||||
if is_windows:
|
||||
# Use LLVM script to fix up bloated installation
|
||||
# See: https://github.com/zufuliu/llvm-utils/blob/main/llvm/llvm-link.bat
|
||||
internal_dir = pathlib.Path(os.path.dirname(os.path.abspath(__file__))) / "Internal"
|
||||
if is_windows:
|
||||
devenver.print_header("Use LLVM utils script to slim installation size")
|
||||
llvm_install_dir_set = set()
|
||||
for entry in installed_dev_apps["LLVM"]:
|
||||
@ -230,46 +216,46 @@ start "" /MAX "%~dp0{installed_dev_apps["WezTerm"][0]["exe_path"].relative_to(in
|
||||
subprocess.run(llvm_script_dest_path, cwd=llvm_install_dir)
|
||||
os.remove(llvm_script_dest_path)
|
||||
|
||||
# Install fzf scripts
|
||||
if not is_windows:
|
||||
# Install fzf scripts
|
||||
if not is_windows:
|
||||
shutil.copy(internal_dir / "unix_fzf-completion.bash", install_dir)
|
||||
shutil.copy(internal_dir / "unix_fzf-key-bindings.bash", install_dir)
|
||||
|
||||
# Install dev scripts
|
||||
if is_windows:
|
||||
# Install dev scripts
|
||||
if is_windows:
|
||||
shutil.copy(internal_dir / "win_dev.bat", install_dir / "dev.bat")
|
||||
else:
|
||||
else:
|
||||
shutil.copy(internal_dir / "unix_dev.sh", install_dir / "dev.sh")
|
||||
subprocess.run(args=["chmod", "+x", install_dir / "dev.sh")
|
||||
subprocess.run(args=["chmod", "+x", install_dir / "dev.sh"])
|
||||
|
||||
# Install left-overs
|
||||
devenver.print_header("Install configuration files")
|
||||
# Install left-overs
|
||||
devenver.print_header("Install configuration files")
|
||||
|
||||
# ClangFormat
|
||||
clang_format_src_path = internal_dir / "os_clang_format_style_file"
|
||||
clang_format_dest_path = install_dir / "_clang-format"
|
||||
devenver.lprint(f"Copying clang-format file from {clang_format_src_path} to {clang_format_dest_path}")
|
||||
shutil.copy(clang_format_src_path, clang_format_dest_path)
|
||||
# ClangFormat
|
||||
clang_format_src_path = internal_dir / "os_clang_format_style_file"
|
||||
clang_format_dest_path = install_dir / "_clang-format"
|
||||
devenver.lprint(f"Copying clang-format file from {clang_format_src_path} to {clang_format_dest_path}")
|
||||
shutil.copy(clang_format_src_path, clang_format_dest_path)
|
||||
|
||||
# Copy init.vim to NVIM directory
|
||||
nvim_init_dir = ""
|
||||
# Copy init.vim to NVIM directory
|
||||
nvim_init_dir = ""
|
||||
|
||||
if is_windows:
|
||||
if is_windows:
|
||||
nvim_init_dir = pathlib.Path(os.path.expanduser("~")) / "AppData" / "Local" / "nvim"
|
||||
else:
|
||||
else:
|
||||
nvim_init_dir = pathlib.Path(os.path.expanduser("~")) / ".config" / "nvim"
|
||||
|
||||
nvim_config_dest_path = nvim_init_dir / "init.vim"
|
||||
nvim_config_src_path = internal_dir / "os_nvim_init.vim"
|
||||
nvim_config_dest_path = nvim_init_dir / "init.vim"
|
||||
nvim_config_src_path = internal_dir / "os_nvim_init.vim"
|
||||
|
||||
devenver.lprint(f"Installing NVIM config to {nvim_config_dest_path}")
|
||||
nvim_init_dir.mkdir(parents=True, exist_ok=True)
|
||||
shutil.copy(nvim_config_src_path, nvim_config_dest_path)
|
||||
devenver.lprint(f"Installing NVIM config to {nvim_config_dest_path}")
|
||||
nvim_init_dir.mkdir(parents=True, exist_ok=True)
|
||||
shutil.copy(nvim_config_src_path, nvim_config_dest_path)
|
||||
|
||||
# Download vim.plug to NVIM init directory
|
||||
nvim_plug_vim_dir = nvim_init_dir / "autoload"
|
||||
nvim_plug_vim_path = nvim_plug_vim_dir / "plug.vim"
|
||||
nvim_plug_vim_dir.mkdir(parents=True, exist_ok=True)
|
||||
if not os.path.exists(nvim_plug_vim_path):
|
||||
# Download vim.plug to NVIM init directory
|
||||
nvim_plug_vim_dir = nvim_init_dir / "autoload"
|
||||
nvim_plug_vim_path = nvim_plug_vim_dir / "plug.vim"
|
||||
nvim_plug_vim_dir.mkdir(parents=True, exist_ok=True)
|
||||
if not os.path.exists(nvim_plug_vim_path):
|
||||
devenver.lprint(f"Installing NVIM plugin manager to {nvim_plug_vim_path}")
|
||||
urllib.request.urlretrieve("https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim", nvim_plug_vim_path)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user