### Install Neovim and Development Languages with winget Source: https://github.com/freddiehaddad/windotfiles/blob/master/README.md Installs Neovim, Rustup, Node.js LTS, and Python 3.12 using winget. These are fundamental tools for modern software development across various languages. ```bash winget install --id Neovim.Neovim winget install --id Rustlang.Rustup winget install --id OpenJS.NodeJS.LTS winget install --id Python.Python.3.12 ``` -------------------------------- ### Install GlazeWM Window Manager with winget Source: https://github.com/freddiehaddad/windotfiles/blob/master/README.md Installs the GlazeWM tiling window manager using winget. It also provides instructions for creating a shortcut to launch GlazeWM with a specific configuration file and adding it to the Windows startup. ```bash winget install --id glazr-io.glazewm ``` -------------------------------- ### Install Core Development Tools with winget Source: https://github.com/freddiehaddad/windotfiles/blob/master/README.md Installs essential command-line tools such as fzf and ripgrep using the Windows Package Manager (winget). These tools enhance shell productivity and code searching capabilities. ```bash winget install --id junegunn.fzf winget install --id BurntSushi.ripgrep.MSVC ``` -------------------------------- ### Install Tree-sitter CLI for Neovim Source: https://github.com/freddiehaddad/windotfiles/blob/master/README.md Installs the tree-sitter CLI using Cargo, the Rust package manager. This tool is used by Neovim for efficient code parsing and syntax highlighting. ```bash cargo install tree-sitter-cli ``` -------------------------------- ### Configure GlazeWM Shortcut for Startup Source: https://github.com/freddiehaddad/windotfiles/blob/master/README.md Appends a command-line argument to the GlazeWM executable shortcut to specify its configuration file. This ensures GlazeWM loads with the desired settings on startup. ```bash start --config "%USERPROFILE%\.config\glazewm\glazewm.yaml" ``` -------------------------------- ### Install Additional Packages with winget Source: https://github.com/freddiehaddad/windotfiles/blob/master/README.md Installs supplementary user-focused applications like Nvidia GeForce Experience, Logitech G HUB, and Microsoft PowerToys using winget. These enhance hardware functionality and system utilities. ```bash winget inatall --id Nvidia.GeForceExperience winget install --id Logitech.GHUB winget install --id Microsoft.PowerToys ``` -------------------------------- ### Install Visual Studio 2022 Build Tools with winget Source: https://github.com/freddiehaddad/windotfiles/blob/master/README.md Installs Visual Studio 2022 Build Tools with specific C++ and Windows SDK components using winget. This enables C++ development, CMake projects, and LLVM/Clang integration. The installation is performed silently and waits for completion. ```bash winget install --id Microsoft.VisualStudio.2022.BuildTools --override "--passive --wait --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows11SDK.26100 --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.MSBuild --add Microsoft.VisualStudio.Component.VC.CoreBuildTools --add Microsoft.VisualStudio.Component.VC.ASan --add Microsoft.VisualStudio.Component.Windows10SDK.10240" ``` -------------------------------- ### Configure Rust Toolchain Source: https://github.com/freddiehaddad/windotfiles/blob/master/README.md Sets the default Rust toolchain to stable and adds the rust-analyzer component for enhanced IDE support. This is crucial for Rust development. ```bash rustup default stable rustup component add rust-analyzer ``` -------------------------------- ### Configure Windows Defender Exclusions Source: https://github.com/freddiehaddad/windotfiles/blob/master/README.md Provides paths and process names to exclude from Windows Defender scans. This can help improve the performance of terminals and applications by reducing scan interference. ```text ExclusionPath : {C:\, S:\, T:\} ExclusionProcess: {git.exe, nvim.exe, pwsh.exe, starship.exe} ``` -------------------------------- ### PowerShell Profile Setup for Development Tools Source: https://context7.com/freddiehaddad/windotfiles/llms.txt Configures environment variables, command aliases, and integrates shell completions for development tools like Visual Studio Build Tools, starship, and zoxide. It sets up paths, editor preferences, and initializes essential shell enhancements. ```powershell # Profile location: ~/.config/powershell/profile.ps1 # Set environment variables for C/C++ development $VCToolsVersion = "14.44.35207" $WindowsSdkVersion = "10.0.26100.0" $env:PATH += ";C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\$VCToolsVersion\bin\HostX64\x64" $env:INCLUDE = "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\$VCToolsVersion\include" $env:LIB = "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\$VCToolsVersion\lib\x64" # Configure editor $env:VISUAL = "zed --wait" $env:EDITOR = $env:VISUAL $env:XDG_CONFIG_HOME = Join-Path $env:USERPROFILE ".config" # Enable shell completions rustup completions powershell | Out-String | Invoke-Expression op completion powershell | Out-String | Invoke-Expression # Initialize starship prompt $env:STARSHIP_CONFIG = "$env:USERPROFILE\.config\starship\starship.toml" Invoke-Expression (&starship init powershell) # Initialize zoxide (must be last) Invoke-Expression (& { (zoxide init powershell | Out-String) }) ``` -------------------------------- ### Set ZED_CONFIG_DIR Environment Variable Source: https://github.com/freddiehaddad/windotfiles/blob/master/README.md Sets the ZED_CONFIG_DIR environment variable to a specific path. This directs the Zed editor to use a custom configuration directory, allowing for personalized settings and themes. ```powershell $env:ZED_CONFIG_DIR = "S:\projects\git\windotfiles\.config\zed" ``` -------------------------------- ### Configure Neovim Editor Settings and Plugins Source: https://context7.com/freddiehaddad/windotfiles/llms.txt Sets up Neovim options, Windows-specific shell integration, window navigation keymaps, and initializes plugins like blink.cmp and mini.pairs. It also enables LSP support for C++, Lua, and Rust. ```lua -- Location: ~/.config/nvim/init.lua -- Basic options vim.opt.mouse = "" vim.opt.clipboard = "unnamedplus" vim.opt.wrap = false vim.opt.number = true vim.opt.relativenumber = true vim.opt.scrolloff = 4 vim.opt.cursorline = true vim.opt.ignorecase = true vim.opt.smartcase = true -- Windows shell setup if vim.fn.has("win32") == 1 then vim.opt.shell = "pwsh.exe" vim.opt.shellcmdflag = "-NoLogo -ExecutionPolicy RemoteSigned -Command" vim.opt.shellpipe = ">%s 2>&1" vim.opt.shellredir = ">%s 2>&1" end -- Use ripgrep for grep vim.opt.grepprg = "rg --vimgrep --smart-case --follow" -- Window navigation keymaps vim.keymap.set("n", "", "h", { desc = "Move to left window" }) vim.keymap.set("n", "", "j", { desc = "Move to lower window" }) vim.keymap.set("n", "", "k", { desc = "Move to upper window" }) vim.keymap.set("n", "", "l", { desc = "Move to right window" }) -- Window resize keymaps vim.keymap.set("n", "", ":resize -1", { silent = true }) vim.keymap.set("n", "", ":resize +1", { silent = true }) vim.keymap.set("n", "", ":vertical resize -1", { silent = true }) vim.keymap.set("n", "", ":vertical resize +1", { silent = true }) -- Plugin setup require("blink.cmp").setup({ keymap = { [""] = { "hide", "show_signature", "hide_signature" }, [""] = { "show", "show_documentation", "hide_documentation" }, [""] = { "hide", "show" }, }, appearance = { nerd_font_variant = "normal" }, }) require("mini.pairs").setup({ mappings = { ["<"] = { action = "open", pair = "<>", neigh_pattern = "[%a:]." }, [">"] = { action = "close", pair = "<>", neigh_pattern = "[^\\]." }, }, }) -- Enable LSP servers vim.lsp.enable({ "clangd", "luals", "rust_analyzer" }) ``` -------------------------------- ### Configure GlazeWM Tiling Window Manager Source: https://context7.com/freddiehaddad/windotfiles/llms.txt Defines window management rules, gaps, aesthetic borders, and vim-style keybindings for the GlazeWM tiling manager on Windows 11. ```yaml # Location: ~/.config/glazewm/glazewm.yaml general: hide_method: "cloak" focus_follows_cursor: false cursor_jump: enabled: true trigger: "monitor_focus" gaps: inner_gap: "10px" outer_gap: top: "10px" right: "10px" bottom: "10px" left: "10px" window_effects: focused_window: border: enabled: true color: '#7a3212' other_windows: border: enabled: true color: '#161a1f' workspaces: - name: "1" - name: "2" - name: "3" - name: "4" # Window rules for specific applications window_rules: - commands: ["set-tiling"] match: - window_process: { equals: "Code" } on: ["manage"] - commands: ["ignore"] match: - window_title: { regex: "[Pp]icture.in.[Pp]icture" } - window_process: { equals: "PowerToys" } - window_title: { equals: "Calculator" } # Keybindings (vim-style with Win key modifier) keybindings: # Focus movement - commands: ["focus --direction left"] bindings: ["lwin+ctrl+h"] - commands: ["focus --direction right"] bindings: ["lwin+ctrl+l"] - commands: ["focus --direction up"] bindings: ["lwin+ctrl+k"] - commands: ["focus --direction down"] bindings: ["lwin+ctrl+j"] # Window movement - commands: ["move --direction left"] bindings: ["lwin+alt+h"] - commands: ["move --direction right"] bindings: ["lwin+alt+l"] # Workspace switching - commands: ["focus --workspace 1"] bindings: ["lwin+ctrl+1"] - commands: ["focus --workspace 2"] bindings: ["lwin+ctrl+2"] # Window state - commands: ["toggle-floating --centered"] bindings: ["lwin+ctrl+shift+f"] - commands: ["toggle-fullscreen"] bindings: ["lwin+ctrl+shift+m"] - commands: ["close"] bindings: ["lwin+ctrl+q"] ``` -------------------------------- ### Configure Zed Editor Settings Source: https://context7.com/freddiehaddad/windotfiles/llms.txt Configures the Zed editor for a minimal, vim-centric development experience. Includes settings for font size, theme overrides, and AI-assisted edit predictions. ```json { "vim_mode": true, "vim": { "toggle_relative_line_numbers": true }, "base_keymap": "VSCode", "cursor_blink": false, "buffer_font_family": "Comic Code", "buffer_font_size": 15, "ui_font_size": 16, "tab_bar": { "show": false }, "scrollbar": { "axes": { "horizontal": false, "vertical": false } }, "theme": { "mode": "system", "light": "One Light", "dark": "Ayu Dark" }, "experimental.theme_overrides": { "background": "#0a0e14ff", "editor.background": "#0a0e14ff", "panel.background": "#0a0e14ff", "title_bar.background": "#0a0e14ff", "status_bar.background": "#0a0e14ff" }, "edit_predictions": { "provider": "copilot" }, "session": { "trust_all_worktrees": true } } ``` -------------------------------- ### Fuzzy File Search and Edit Function with Ripgrep, Fzf, and Bat Source: https://context7.com/freddiehaddad/windotfiles/llms.txt Provides a fuzzy file search capability using ripgrep, fzf, and bat for preview, opening selected files in the configured editor. Requires the EDITOR environment variable to be set. ```powershell # Location: ~/.config/powershell/fzf-functions.ps1 function Invoke-FuzzyEditor { param( [string]$Filter = "*" ) if ([string]::IsNullOrWhiteSpace($env:EDITOR)) { Write-Error "The environment variable `$env:EDITOR` is not set." Write-Host "Please add `$env:EDITOR = 'editor'` to your `$PROFILE." -ForegroundColor Yellow return } $selection = & rg --files --glob $Filter | fzf --height 100% --preview "bat -n --color always {}" if ($selection) { & $env:EDITOR $selection } } Set-Alias -Name vfe -Value Invoke-FuzzyEditor # Usage: # vfe # Search all files # vfe *.lua # Search only Lua files # vfe *.ps1 # Search only PowerShell scripts ``` -------------------------------- ### Configure Starship Prompt Icons Source: https://context7.com/freddiehaddad/windotfiles/llms.txt Customizes the Starship shell prompt by assigning specific Nerd Font symbols to various programming languages and OS environments. ```toml # Location: ~/.config/starship/starship.toml "$schema" = 'https://starship.rs/config-schema.json' [git_branch] symbol = " " [git_commit] tag_symbol = ' ' [rust] symbol = "󱘗 " [golang] symbol = " " [python] symbol = " " [nodejs] symbol = " " [c] symbol = " " [lua] symbol = " " [package] symbol = "󰏗 " style = "bold yellow" [directory] read_only = " 󰌾" [os.symbols] Windows = "󰍲 " Macos = " " Linux = " " Ubuntu = " " Arch = " " ``` -------------------------------- ### Custom Shell Aliases for Enhanced File Listing with Eza Source: https://context7.com/freddiehaddad/windotfiles/llms.txt Replaces default PowerShell file listing commands (ls, ll, lla, lt) with the 'eza' utility for enhanced output, including icons and tree views. These functions accept pass-through arguments for full compatibility with eza. ```powershell # Replace ls with eza Remove-Item Alias:ls function ls { param ( [Parameter(ValueFromRemainingArguments=$true)] [string[]]$_args ) eza@_args } # Long listing format function ll { param ( [Parameter(ValueFromRemainingArguments=$true)] [string[]]$_args ) eza -l@_args } # Long listing with hidden files function lla { param ( [Parameter(ValueFromRemainingArguments=$true)] [string[]]$_args ) eza -l -a@_args } # Tree view function lt { param ( [Parameter(ValueFromRemainingArguments=$true)] [string[]]$_args ) eza --tree@_args } # Usage examples: # ls # Basic listing # ll -h # Long format with human-readable sizes # lla # Show all files including hidden # lt --level=2 # Tree view, 2 levels deep ``` -------------------------------- ### Configure Windows Terminal Settings Source: https://context7.com/freddiehaddad/windotfiles/llms.txt Defines the profile, color schemes, keybindings, and appearance settings for Windows Terminal. It sets the default profile to PowerShell and applies custom Ayu Dark theme colors. ```json { "defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}", "launchMode": "focus", "centerOnLaunch": true, "copyOnSelect": true, "profiles": { "defaults": { "colorScheme": "Ayu Dark", "cursorShape": "filledBox", "font": { "face": "ComicCode Nerd Font", "size": 12, "cellHeight": "1.5" }, "historySize": 100000, "scrollbarState": "hidden", "useAcrylic": true, "opacity": 100 }, "list": [ { "name": "PowerShell", "commandline": "pwsh.exe -NoLogo -NoProfileLoadTime -NoExit -File ~/.config/powershell/profile.ps1", "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}" } ] }, "keybindings": [ { "id": "User.moveFocus.2A0DA8E0", "keys": "ctrl+alt+h" }, { "id": "User.moveFocus.87C324ED", "keys": "ctrl+alt+l" }, { "id": "User.moveFocus.6CD791B", "keys": "ctrl+alt+k" }, { "id": "User.moveFocus.F747588A", "keys": "ctrl+alt+j" }, { "id": "User.toggleFocusMode", "keys": "f11" }, { "id": "User.switchToTab.D3F0B923", "keys": "f1" }, { "id": "User.switchToTab.2A0DA8E0", "keys": "f2" } ], "schemes": [ { "name": "Ayu Dark", "background": "#0A0E14", "foreground": "#B3B1AD", "black": "#01060E", "blue": "#53BDFA", "cyan": "#90E1C6", "green": "#91B362", "red": "#EA6C73", "yellow": "#F9AF4F" } ] } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.