{"id":18949039,"url":"https://github.com/crustde-containerizedrustdevenv/windows_reinstall","last_synced_at":"2026-01-28T10:04:20.975Z","repository":{"id":105010966,"uuid":"474963777","full_name":"CRUSTDE-ContainerizedRustDevEnv/windows_reinstall","owner":"CRUSTDE-ContainerizedRustDevEnv","description":"Description of my Windows OS prepared for Rust development in Linux","archived":false,"fork":false,"pushed_at":"2026-01-14T12:19:05.000Z","size":14186,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-14T16:34:15.229Z","etag":null,"topics":["tutorial"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CRUSTDE-ContainerizedRustDevEnv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-03-28T11:04:30.000Z","updated_at":"2026-01-14T12:19:09.000Z","dependencies_parsed_at":"2023-06-16T12:00:51.591Z","dependency_job_id":"319598b6-b60d-4881-8a0f-f06f0f142023","html_url":"https://github.com/CRUSTDE-ContainerizedRustDevEnv/windows_reinstall","commit_stats":null,"previous_names":["crde-containerized-rust-dev-environment/development_environment","crustde-containerized-rust-dev-env/development_environment","crustde-containerizedrustdevenv/windows_reinstall"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CRUSTDE-ContainerizedRustDevEnv/windows_reinstall","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CRUSTDE-ContainerizedRustDevEnv%2Fwindows_reinstall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CRUSTDE-ContainerizedRustDevEnv%2Fwindows_reinstall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CRUSTDE-ContainerizedRustDevEnv%2Fwindows_reinstall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CRUSTDE-ContainerizedRustDevEnv%2Fwindows_reinstall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CRUSTDE-ContainerizedRustDevEnv","download_url":"https://codeload.github.com/CRUSTDE-ContainerizedRustDevEnv/windows_reinstall/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CRUSTDE-ContainerizedRustDevEnv%2Fwindows_reinstall/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28844011,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T07:39:25.367Z","status":"ssl_error","status_checked_at":"2026-01-28T07:39:24.487Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["tutorial"],"created_at":"2024-11-08T13:15:33.298Z","updated_at":"2026-01-28T10:04:20.960Z","avatar_url":"https://github.com/CRUSTDE-ContainerizedRustDevEnv.png","language":null,"funding_links":["https://paypal.me/LucianoBestia"],"categories":[],"sub_categories":[],"readme":"# windows_reinstall\n\n**Description of my Windows OS prepared for Rust development in Linux**  \n***version: 2024.326.1347 date: 2024-03-26 author: [bestia.dev](https://bestia.dev) repository: [GitHub](https://github.com/CRUSTDE-ContainerizedRustDevEnv/windows_reinstall)***  \n\n ![tutorial](https://img.shields.io/badge/tutorial-yellow)\n ![License](https://img.shields.io/badge/license-MIT-blue.svg)\n ![windows_reinstall](https://bestia.dev/webpage_hit_counter/get_svg_image/641758399.svg)\n\n**WARNING !!! This is a public repository: never write or save secrets here!!!**\n\n ![logo](https://raw.githubusercontent.com/CRUSTDE-ContainerizedRustDevEnv/.github/main/images/crustde_250x250.png)\n\n windows_reinstall is a member of the [CRUSTDE-ContainerizedRustDevEnv](https://github.com/orgs/CRUSTDE-ContainerizedRustDevEnv/repositories?q=sort%3Aname-asc) project.\n\n [![Lines in md](https://img.shields.io/badge/Lines_in_markdown-280-green.svg)](https://github.com/CRUSTDE-ContainerizedRustDevEnv/windows_reinstall/)\n\nHashtags: #rustlang #tutorial #buildtool #developmenttool  \nMy projects on GitHub are more like a tutorial than a finished product: [bestia-dev tutorials](https://github.com/bestia-dev/tutorials_rust_wasm).\n\n## Win installation 2024\n\nOften we must reinstall Windows from scratch to solve some unsolvable problems.  \nThanks, Microsoft!  \nThis is a good exercise. We must learn how to save settings for different programs.  \n\n## About my notebook\n\nAsus Zenbook 14  \nIntel Core Ultra 7 155H, 16 cores, 22 threads  \n6 Performance-cores 1.4 GHz to 4.80 GHz  \n8 Efficient-cores 900 MHz to 3.8 GHz  \n2 Low Power Efficient-cores 2.5 GHz  \n24 MB Intel® Smart Cache  \n28 W to 115 W  \nIntel® Arc™ graphics 8 Xe-cores  \nIntel® Thunderbolt™ 4  \nInstalled RAM 32,0 GB  \nSSD 1TB (M.2 NVMe™ PCIe® 4.0)  \nOLED 16:10, FHD (1920x1200) HDR, DCI-P3:100%, 600 nits, 60Hz\n\n## Windows\n\nWindows 11 Home 23H2  \nActivation: Windows is activated with a digital license\n\nI split my SSD into partitions `C:` and `D:`. Every time I reinstall Windows I completely format the `C:` partition, but the `D:` partition remains intact.  \nI have the Dropbox folder on my `D:` partition. All my data is there. So it will survive the reinstallation of Windows. It is also better for backups to have separate system and data disks.  \n\n## System backup win11\n\nBackup, backup, backup... Do it all the time. Disks can die in an instant and you lose everything.  \nMy external disk is not NTFS, so the original windows backup function does not work.\nI will try with clonezilla.\n\nIt is funny that in Win10, the name of this function is \"Backup and Restore (Windows 7)\".  \nOpen the System Backup Image Tool. In Windows 10, head to Control Panel \u003e Backup and Restore (Windows 7) \u003e Create a System Image onto an external disk.  \nA system image contains everything: data, programs, OS, config,... from the `C:` drive.  \n\nThe `D:` drive contains only data and is much easier to backup/copy. I just copy all the files to an external drive. And I have Dropbox installed to sync this drive to the cloud.  \n\n## Download ISO for Win10\n\n\u003chttps://www.microsoft.com/sl-si/software-download/windows10\u003e  \nspecial Media creation tool for download  \ndownload windows.iso to my Ventoy bootable USB storage  \n\u003chttps://www.ventoy.net/en/index.html\u003e\n\n## Install Win10 from scratch\n\nTurn off the computer. Insert the Ventoy bootable USB storage.  \nTurn on the computer and press F2 to enter the boot menu. Choose boot from USB.  \nDon't connect to the internet because then you cannot make a local account, but only a Microsoft online account.  \nI don't want a Microsoft account. I want to have a local account.  \nThe computer will restart a couple of times. Pretty fast and easy to install.  \nThe installation creates a new folder `windows.old` that contains 200GB of files of the old OS.  \nDetach the Ventoy bootable USB storage and restart.  \n\n## After installation\n\nAfter installation is completed login to the machine.  \nConnect over wifi to the internet. In my case, it assumes that I am on a metered connection. Go to Wifi Properties and turn the metered connection off.  \nThe computer will work in the background to download the drivers and updates and install them. That can take a while.  \nYou can right-click on the Start button and choose \"Device Manager\" to see what drivers are missing.  \nFor my computer, I will install the Lenovo software and drivers from:  \n\u003chttps://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/flex-series/flex-5-14are05\u003e  \nDownload Lenovo Vantage. Get from Microsoft store 430 MB.  \nLaunch Lenovo Vantage. I don't need it to start at boot or other automatic things.  \nThen \"Check updates\" will find updates and I want to install them all. After 15 minutes all is installed. Restart the system.  \n\n## Upgrade to Pro\n\nRight-click on the Start button then choose System. My Windows is edition Home. I want to \"upgrade\" to Pro. I have the product key.  \nChoose \"Change product key or upgrade your edition of Windows\" and input the product key.  \n\n## Language and region\n\nLeft-click on the Language icon on the taskbar and choose Language Preferences.  \nAdd language - Slovenian - Install language pack, but NOT Set as Windows display language.  \nOrder of languages: English (United States), English(Slovenia), Slovenian.  \nClick on Date, Time and regional formatting - Current format: Slovenia\n\n## Taskbar\n\nOn the taskbar right click then \"Unlock the taskbar\". Right-click on Taskbar and disable: Search box, Task view, News and interest, Windows Ink,...  \nI like to have the taskbar on the right and not on the bottom because there is way more space horizontally than vertically on a 19:6 screen. Right-click on Taskbar icons and Hide: Meet now.  \nRight-click on Taskbar - Taskbar settings - Turn system icons on and off - I don't need keyboard indicator, Location and microphone.  \nThe taskbar does not show the day of the week. Unlock the taskbar and widen the taskbar just a bit to show the day of the week. Then lock the taskbar.  \n\n## Start menu\n\nUnpin all the non-usable tiles. Eventually, Pin to start menu interesting shortcuts.  \n\n## Desktop image, icons, dark mode\n\nSearch Theme and related settings - Desktop icons settings - Disable the Recycle bin.  \nIn Theme and related settings - Click on Picture and browse   c\\Users\\Luciano\\AppData\\Roaming\\Microsoft\\Windows\\Themes\\wallpaper.png  \nCopy icons from c\\Users\\luciano\\Desktop to C:\\Users\\luciano\\Desktop  \nSearch Turn on Dark mode system-wide and Choose your color: Dark.  \nRight-click on Desktop and choose Display settings - Multiple displays - Extend this display.  \nRight-click taskbar - Taskbar settings - Disable Show taskbar on all displays.  \nRight-click on Desktop - View - Large icons.  \n\n## Tweaks\n\nMake file extension visible in Powershell as administrator and then restart win10:  \n\n```powershell\nNew-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\" -Name \"HideFileExt\" -Value 0 -PropertyType DWORD -Force\n```\n\nIn Windows Explorer View - Enable Hidden items.  \nPress Win+V and enable the Clipboard manager to have more than one item in the clipboard.  \nI want to uninstall OneDrive because I use Dropbox. Apps \u0026 features - Microsoft One Drive - Uninstall.  \nSimilarly uninstall Skype, Movies, Sticky Notes, Weather, XBox, Maps, Mail... all apps that I already have and are NOT from Microsoft.  \n\n## Certificates\n\nI have some personal certificates for use with the government. The backup of my keys is in my encrypted vault.  \n\nFrom the encrypted vault, copy the certificates .p12 files somewhere locally temporarily.  \nIn Windows type mmc into Start and choose File - Add Remove Snap-in - Certificates - Personal.  \nRight-click - All tasks - Import - browse the certificate .p12 file - choose high security ask for the password on every use of the certificate. Don't make the private key exportable.  \nGit for Windows comes with `C:\\Program Files\\Git\\usr\\bin\\shred.exe`. Use it to shred/delete the temporary .p12 files.\n\n## Install Programs on Windows\n\nA bunch of programs must be installed for a usable machine for development.\n\n## TotalCmd\n\nTo Install and configure TotalCmd follow the instructions: \u003chttps://github.com/CRUSTDE-ContainerizedRustDevEnv/total_commander_best_file_manager\u003e  \n\n## Firefox\n\n\u003chttps://www.mozilla.org/en-US/firefox/new/\u003e\nI use Firefox just for programming purposes because Rust was born at Mozilla.  \n\n## Chrome\n\n\u003chttps://www.google.com/chrome/\u003e\nI have more Google accounts: private, official, developer, project,...  \nLog in to a Google account, the 2FA is on my smartphone. The Chrome extensions are also stored in the account.  \nI use Chrome \"Profiles\" to isolate different Google accounts.  \nFirst login to a specific Google account. Then click the 3 dot menu at the top right of Chrome. Click Settings. Click Customize your Chrome profile. Scroll down and click the Create Desktop shortcut.  \nI want to have this shortcut in the Start menu and not on the desktop. Sadly, the \"Pin to start\" does not work, I don't know why.  \nBut I can move the `lnk` file from the desktop location `%userprofile%\\desktop` to the Start Menu location for the actual user (hidden and system folders):  `%AppData%\\Microsoft\\Windows\\Start Menu\\Programs`. Now the shortcut is in the Start menu and I can use Pin to Start to create a tile. That works perfectly.  \nFYI: There is also the folder `%ProgramData%\\Microsoft\\Windows\\Start Menu\\Programs` that contains Start Menu shortcuts for all users.  \n\n## Libre office\n\n\u003chttps://www.libreoffice.org/download/download-libreoffice/\u003e  \n345 MB  \nI don't like autocomplete. Disable all of that.  \n\n## Whatsapp\n\nIt is already prepared in Win10, but it still needs to download the latest version.  \nRun it and it shows a QR code. On the smartphone open Whatsapp-Settings - QRCode-Scan code and then Link the device.\n\n## Dropbox\n\nI split my SSD into partitions `C:` and `D:`. Every time I reinstall Windows I completely format the `C:` partition, but the `D:` partition remains intact.  \nI have the Dropbox folder on my `D:` partition. So it will survive the reinstallation of Windows. It is also better for backups to have separate system and data disks.\n\nI already had Dropbox on my PC before the reinstall and used \"Selective folders\". Now I want to install it again, but I don't want to make a mess with my files.  \nI will rename d:\\Dropbox into d:\\Dropbox_old.  \nLogin to \u003chttps://www.dropbox.com/home\u003e. Click on the profile right top and choose \"Install Dropbox app\" - Download Dropbox app. Run DropboxInstaller.exe.  \nThe browser should stay open on the user's Dropbox page. After installation, the application will use the browser to log in.  \nChoose folders to sync. I already split the folders into sync and non_sync folders. So it is easy to choose all the sync folders.  \nAdvanced - location D:\\Dropbox. Done. Wait a little to start. And then click the taskbar icon - Profile - Quit.  \nNow I can rename the D:\\Dropbox_old to d:\\Dropbox. Start Dropbox. It will index for 10 minutes.  \nIf there is a conflict Dropbox will create a new file with the name containing the word \"conflict\".  \n\n## WezTerm\n\nWezTerm is a powerful cross-platform terminal emulator and multiplexer written in Rust.  \nI prefer to use it instead of Windows Console, Windows Terminal, Xterm or Terminator.  \nInstall Wezterm from [here](https://wezfurlong.org/wezterm/install/windows.html).  \n\nI had a problem that using the Windows Clipboard Manager for \"multi-item clipboard\" `win+v` it prepends extra `^[[200~`. This is called \"bracketed paste\" and is becoming standard in many terminal applications because it does not run a command if it finds a character for Enter when pasting. It waits for the user to read what is pasted and then presses Enter manually or choose to abort the action. This is very important when copying commands from the internet. On the website, there are many technics to hide visually a text but still copy it to the clipboard. So there we go, no more WYSIWYG. Many administrators always paste text copied from the internet into a simple text editor like Notepad++. That will show all the important characters even the invisible ones if you need. From there you can copy a text that is visually correct without malicious hidden commands.  \n\u003chttps://cirw.in/blog/bracketed-paste\u003e  \nThe Clipboard Manager is sending ctrl+v under the hood. That key combination means \"the next character will be taken literally\". Then shift-ctrl-v pastes the \"bracketed paste\" that starts with ^[[200~. But unfortunately, the first character is not understood as a special code, but as a normal character \"literally\".  \n\nI would like to use the terminal with the shortcuts I learned in VSCode. The terminal is so old, that some shortcuts are crazy. What I changed for my opinionated workflow:\n\n- ctrl+c - Copy (like in VSCode)\n- ctrl+v - Paste (like in VSCode)\n- ctrl+q - Kill the current process (instead of ctrl+c)\n\nCreate/edit the configuration `wezterm.lua` file to ignore the ctrl+v key binding.  \nThe template for `$HOME\\.config\\wezterm\\wezterm.lua` is [here](configuration_files/win_files/c/Users/luciano/.config/wezterm/wezterm.lua).  \n\nAfter `git-bash` and `WSL:Debian` are installed create 2 icons on the Desktop to use Wezterm as their terminal.  \nDownload the Debian ico in `git-bash`:\n\n```bash\ncurl https://raw.githubusercontent.com/CRUSTDE-ContainerizedRustDevEnv/win10_wsl2_debian11/main/images/Debian_logo.ico -o ~/.config/wezterm/Debian_logo.ico\n```\n\nIcon name: `git-bash`\n\n- Target: \"C:\\Program Files\\WezTerm\\wezterm-gui.exe\" start -- \"C:\\\\Program Files\\\\Git\\\\bin\\\\bash.exe\" -l\n- Windows: Maximized\n- Icon: `%ProgramFiles%\\Git\\git-bash.exe`\n\nIcon name: `WSL:Debian`\n\n- Target: \"C:\\Program Files\\WezTerm\\wezterm-gui.exe\" start --domain WSL:Debian\n- Windows: Maximized\n- Icon: `%UserProfile%\\.config\\wezterm\\Debian_logo.ico`\n\nThe icons on the Desktop should look like this:\n\n![Icons on Desktop](https://raw.githubusercontent.com/CRUSTDE-ContainerizedRustDevEnv/windows_reinstall/main/images/Wezterm_git_bash_wsl_debian.png)\n\nYou can now `Pin to start` or `Pin to taskbar` as you wish.\n\n## CRUSTDE in detail\n\nThe installation of the main programs used for CRUSTDE are described in more detail here:  \n\n- git, git-bash, SSH and VSCdoe \u003chttps://github.com/CRUSTDE-ContainerizedRustDevEnv/win_git_git_bash_ssh_VSCode\u003e  \n- WSL2 and Debian on Windows \u003chttps://github.com/CRUSTDE-ContainerizedRustDevEnv/win10_wsl2_debian11\u003e  \n\n## Other programs\n\n- paint.net \u003chttps://www.getpaint.net/\u003e\n- Notepad++ \u003chttps://notepad-plus-plus.org/downloads/\u003e\n- Shotcut \u003chttps://shotcut.org/\u003e\n- IrfanView \u003chttps://www.irfanview.com/main_download_engl.htm\u003e\n- OBS studio \u003chttps://obsproject.com/download\u003e\n- Android Studio \u003chttps://developer.android.com/studio\u003e\n- Krita \u003chttps://krita.org/en/download/\u003e\n- Arduino \u003chttps://www.arduino.cc/en/software\u003e\n- Calibre \u003chttps://calibre-ebook.com/download\u003e\n- Audacity \u003chttps://www.audacityteam.org/download/\u003e\n- Inkspace \u003chttps://inkscape.org/\u003e\n- PhotoFilmStrip \u003chttps://www.photofilmstrip.org/en/download/\u003e\n- qBittorent \u003chttps://www.qbittorrent.org/download\u003e\n- TeamViewer \u003chttps://www.teamviewer.com/en/download/windows/\u003e\n- VLC \u003chttps://www.videolan.org/\u003e\n\n## websites\n\nMy websites are on a Google Linux virtual machine.  \nOn my local disk, I always prepare the files and folder structure for the websites. Then I synchronize this folder with the directory on the VM.  \nIt already happened that I deleted my VM on Google and had to set up a new one from scratch. I wanted a clean start. So having an identical copy on my local disk is paramount.  \nThe local folder is synced with Dropbox for backup.  \n\n## confusion with names\n\nSadly, it is not possible to use consistently the same \"name\" everywhere, because there are always some limitations on what characters are allowed.  \nAlphanumerics are allowed everywhere, but dot, hyphen, underscore are not.  \nAlso, uppercase and lowercase can be limited.\n\nVariants of my name:\n\nbestia.dev - domain name and primary, preferred name  \ninfo.bestia.dev at gmail.com  (bestia.dev is NOT available 2024-03, but it is not in use?!?)  \ninfo at bestia.dev - email address is forwarded to info.bestia.dev at gmail.com  \nbestiadev  - docker  \nbestia-dev - GitHub (bestiadev is NOT available 2024-03, dot and underscore are not allowed)  \n\n\n## Open-source and free as a beer\n\nMy open-source projects are free as a beer (MIT license).  \nI just love programming.  \nBut I need also to drink. If you find my projects and tutorials helpful, please buy me a beer by donating to my [PayPal](https://paypal.me/LucianoBestia).  \nYou know the price of a beer in your local bar ;-)  \nSo I can drink a free beer for your health :-)  \n[Na zdravje!](https://translate.google.com/?hl=en\u0026sl=sl\u0026tl=en\u0026text=Na%20zdravje\u0026op=translate) [Alla salute!](https://dictionary.cambridge.org/dictionary/italian-english/alla-salute) [Prost!](https://dictionary.cambridge.org/dictionary/german-english/prost) [Nazdravlje!](https://matadornetwork.com/nights/how-to-say-cheers-in-50-languages/) 🍻\n\n[//bestia.dev](https://bestia.dev)  \n[//github.com/bestia-dev](https://github.com/bestia-dev)  \n[//bestiadev.substack.com](https://bestiadev.substack.com)  \n[//youtube.com/@bestia-dev-tutorials](https://youtube.com/@bestia-dev-tutorials)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrustde-containerizedrustdevenv%2Fwindows_reinstall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrustde-containerizedrustdevenv%2Fwindows_reinstall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrustde-containerizedrustdevenv%2Fwindows_reinstall/lists"}