~/.dotfilesΒ π
Cross-Platform & Cross-Shell Dotfiles
Powered by chezmoi
Features β’ Requirements β’ Getting Started β’ Documentation β’ Credits β’ License
Elevate your computing experience across platforms with this curated collection of configuration files and setup scripts. From Arch Linux to macOS and Windows, personalize your environment effortlessly, managed securely across multiple diverse machines using chezmoi. Leverage advanced features like templates, password manager support, file encryption, and script execution for seamless deployment and synchronization.
Be sure to βοΈ or fork this repo if you find it useful!
-
Neovim Configuration: Powered by LazyVim, ensuring a robust and efficient text editing experience
-
WezTerm Configuration: Integrated Neovim workflow for a seamless terminal and text editing setup
-
Visual Studio Code Configuration: Settings and extensions for an optimized development environment
-
Oh My Posh Configuration: Customized prompt for a visually appealing and informative shell experience
-
Fastfetch Configuration: Customized settings for a fast and efficient system information display
-
bat Configuration: Themed with the Catppuccin Mocha theme
-
Lazygit Configuration: Themed with the Catppuccin Mocha theme for a cohesive look and feel
-
Spicetify Configuration: Add extensibility and customization to Spotify
-
Git Configuration: Customized settings for version control
-
ShellCheck Configuration: Setup for shell script analysis
-
SSH Configuration: Consistent and secure SSH setup across systems
-
Package & App Management: Consistent management of common apps and packages across all systems, including system-specific packages and apps
-
Font Management: Ensuring a uniform look and feel across different platforms, with support for Nerd icons (Symbols Nerd Font) and emojis (Noto Color Emoji)
-
Performance Always in Mind: Optimized configurations to ensure efficient and smooth performance
-
tmux Configuration: Themed with the Catppuccin Mocha theme, featuring session management and an integrated Neovim workflow
-
Zed Configuration: Settings for the new lightweight code editor
-
Zsh Configuration: Powered by Oh My Zsh, this configuration includes styled prompts, shell completions, optimized history settings, and useful aliases for a seamless command-line experience
This repository provides a comprehensive setup for Arch Linux, including:
-
Hyprland Configuration: Customized settings and tweaks for the Wayland compositor
-
AGS Configuration: Beautiful and functional Wayland widgets configuration using ags
-
GRUB Setup: Configured GRUB options and themed with Hyperfluent Arch
-
SDDM Theme: Aesthetic display manager theme using Astronaut Theme
-
System Services: Automatic setup for essential services like Bluetooth
-
Synced Theming: Consistent theming across different applications and system components
-
Pacman Configuration: Enhanced pacman settings for faster downloads and updated servers using reflector, along with efficient package cache management (paccache)
-
AUR Helper: Inclusion of paru for seamless access to AUR packages
-
Zsh: Zsh shell configuration for an improved command-line experience
After installing Arch Linux on a new machine, this repository can set up the rest of the system to work properly, ensuring a smooth and efficient workflow.
-
Dependency Management: Managed with Homebrew, including formulae, casks, fonts, and Mac App Store applications (via mas), all bundled using
brew bundle
-
System Settings: Configured using
defaults
to set macOS system preferences and settings
-
WSL Configuration: Optimized settings for Windows Subsystem for Linux (WSL) to ensure seamless integration and performance
-
PowerShell Profile: Customized PowerShell profile with a styled prompt, optimized history settings, aliases, and various Linux utilities ported over to PowerShell for enhanced productivity
-
Komorebi Configuration: Customizations and tweaks for the tiling window manager (extension to the Desktop Window Manager)
And more to discover.
Ensure you have the latest stable release of Arch Linux, macOS or Windows installed.
Homebrew (macOS only)
curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | /bin/bash
Arch Linux:
sudo pacman -S --needed --noconfirm git
macOS:
brew install git
Windows:
winget install -e --accept-package-agreements --accept-source-agreements --id Git.Git
Arch Linux:
sudo pacman -S --needed --noconfirm chezmoi
macOS:
brew install chezmoi
Windows:
winget install -e --accept-package-agreements --accept-source-agreements --id twpayne.chezmoi
Arch Linux:
sudo pacman -S --needed --noconfirm wget curl
macOS (curl
is pre-installed, but if you want to use wget
):
brew install wget
PowerShell (Windows only)
All versions of Windows come with PowerShell 5.1 pre-installed. However, please note that this repository requires PowerShell 7.x or higher. PowerShell 7.x+ does not replace or upgrade PowerShell 5.1; instead, it is installed alongside PowerShell 5.1.
winget install -e --accept-package-agreements --accept-source-agreements --id Microsoft.PowerShell
Fonts (Windows only)
To install on UNIX systems, run the following command in your terminal:
curl -fsSL https://raw.githubusercontent.com/Nitestack/dotfiles/HEAD/scripts/install.sh | bash
Or, using wget
:
wget -qO- https://raw.githubusercontent.com/Nitestack/dotfiles/HEAD/scripts/install.sh | bash
To install on Windows, run the following command in PowerShell:
iwr https://raw.githubusercontent.com/Nitestack/dotfiles/HEAD/scripts/install.ps1 | iex
You can customize the installation by passing environment variables to the installation script:
BRANCH
(for Bash) or-Branch
(for PowerShell): Specify the branch you want to install. Defaults tomaster
.SSH
(for Bash) or-SSH
(for PowerShell): Set totrue
if you want to install the dotfiles with SSH. Defaults tofalse
.ONE_SHOT
(for Bash) or-OneShot
(for PowerShell): Set totrue
to install your dotfiles and then remove all traces of chezmoi from the system. Useful for setting up temporary environments (e.g., Docker containers). Defaults tofalse
.
For example, to install using a specific branch:
curl -fsSL https://raw.githubusercontent.com/Nitestack/dotfiles/HEAD/scripts/install.sh | BRANCH="dev" bash
iwr https://raw.githubusercontent.com/Nitestack/dotfiles/HEAD/scripts/install.ps1 | iex -Branch "dev"
Modifiers | Key | Description | OS | Flags |
---|---|---|---|---|
Ctrl + Shift | R | Reload ags |
L , W |
- |
Win | Tab | Toggle Workspaces Overview | L |
- |
Alt | Space | Toggle App Launcher | L , W |
- |
Win | V | Open Clipboard History | L , W |
- |
- | PowerOff Button | Toggle Power Menu | L , W |
- |
- | Take Screenshot (Select Area) | L , W |
- | |
Win | Take Fullscreen Screenshot | L , W |
- | |
Win + Alt | Start Screen Recording | L , W |
- | |
Win | Backslash | Open Terminal | L , W |
- |
Win | E | Open File Manager | L , W |
- |
Win | W | Open Browser | L , W |
- |
Ctrl + Shift | Escape | Open System Monitor | L , W |
- |
- | AudioLowerVolume Button | Decrease Volume | L , W |
l , e |
- | AudioRaiseVolume Button | Increase Volume | L , W |
l , e |
- | AudioMute Button | Mute/Unmute Volume | L , W |
l |
- | AudioMicMute Button | Mute/Unmute Microphone | L , W |
l |
- | AudioPlay Button | Play/Pause | L , W |
l |
- | AudioPause Button | Play/Pause | L , W |
l |
- | AudioNext Button | Skip to Next Track | L , W |
l |
- | AudioPrev Button | Return to Previous Track | L , W |
l |
- | MonBrightnessDown Button | Decrease Screen Brightness | L , W |
l , e |
- | MonBrightnessUp Button | Increase Screen Brightness | L , W |
l , e |
Win | H | Move Focus to Left Window | L , W |
- |
Win | L | Move Focus to Right Window | L , W |
- |
Win | K | Move Focus to Upper Window | L , W |
- |
Win | J | Move Focus to Lower Window | L , W |
- |
Win | Right Mouse Button | Resize Window | L |
- |
Win | F | Toggle Fullscreen | L |
- |
Win | M | Maximize/Restore Window | L , W |
- |
Win | β | Resize Window to the Left | L , W |
e |
Win | β | Resize Window to the Right | L , W |
e |
Win | β | Resize Window Upwards | L , W |
e |
Win | β | Resize Window Downwards | L , W |
e |
Win | Left Mouse Button | Move Window | L |
- |
Win + Alt | H | Move Window Left | L , W |
- |
Win + Alt | L | Move Window Right | L , W |
- |
Win + Alt | K | Move Window Upwards | L , W |
- |
Win + Alt | J | Move Window Downwards | L , W |
- |
Win | Q | Close Active Window | L , W |
- |
Win | C | Center Window | L |
- |
Win | P | Toggle Focused Window's Pseudo Mode | L |
- |
Win | R | Toggle Split Orientation | L , W |
- |
Win | T | Toggle Active Window Floating | L , W |
- |
Win + Shift | T | Toggle All Windows Floating | L , W |
- |
Win | 1 | Switch to Workspace 1 | L , W |
- |
Win | 2 | Switch to Workspace 2 | L , W |
- |
Win | 3 | Switch to Workspace 3 | L , W |
- |
Win | 4 | Switch to Workspace 4 | L , W |
- |
Win | 5 | Switch to Workspace 5 | L , W |
- |
Win | 6 | Switch to Workspace 6 | L , W |
- |
Win | 7 | Switch to Workspace 7 | L , W |
- |
Win | 8 | Switch to Workspace 8 | L , W |
- |
Win | 9 | Switch to Workspace 9 | L , W |
- |
Win | 0 | Switch to Workspace 10 | L , W |
- |
Win + Ctrl | H | Switch to Previous Workspace | L , W |
- |
Win + Ctrl | L | Switch to Next Workspace | L , W |
- |
Win | Mouse Wheel Down | Switch to Previous Workspace | L , W |
- |
Win | Mouse Wheel Up | Switch to Next Workspace | L , W |
- |
Win + Shift | 1 | Move Active Window to Workspace 1 | L , W |
- |
Win + Shift | 2 | Move Active Window to Workspace 2 | L , W |
- |
Win + Shift | 3 | Move Active Window to Workspace 3 | L , W |
- |
Win + Shift | 4 | Move Active Window to Workspace 4 | L , W |
- |
Win + Shift | 5 | Move Active Window to Workspace 5 | L , W |
- |
Win + Shift | 6 | Move Active Window to Workspace 6 | L , W |
- |
Win + Shift | 7 | Move Active Window to Workspace 7 | L , W |
- |
Win + Shift | 8 | Move Active Window to Workspace 8 | L , W |
- |
Win + Shift | 9 | Move Active Window to Workspace 9 | L , W |
- |
Win + Shift | 0 | Move Active Window to Workspace 10 | L , W |
- |
Win + Shift | H | Move Active Window to Previous Workspace | L , W |
- |
Win + Shift | L | Move Active Window to Next Workspace | L , W |
- |
Win | S | Toggle Scratchpad | L |
- |
Win + Shift | S | Move Active Window to Scratchpad | L |
- |
L
- LinuxW
- WindowsM
- macOS
From the Hyprland binding flags reference:
l
- locked, will also work when an input inhibitor (e.g. a lockscreen) is active.r
- release, will trigger on release of a key.e
- repeat, will repeat when held.n
- non-consuming, key/mouse events will be passed to the active window in addition to triggering the dispatcher.t
- transparent, cannot be shadowed by other binds.i
- ignore mods, will ignore modifiers.s
- separate, will arbitrarily combine keys between each mod/key, see Keysym combos.
- Tom Payne
- creator of chezmoi
- parts of his dotfiles are used
- Folke Lemaitre
- creator of LazyVim
- parts of his dotfiles are used
- Felipe Santos
- parts of his README are used
- RenΓ©-Marc Simard
- the header section of his dotfiles README is used
- Aylur
- creator of ags
- his ags configuration was used as a base
- end-4
- parts of his dotfiles are used
- Pratik Gayen
- Hyprlock config is used
This project is licensed under the Apache-2.0 license.