Giter VIP home page Giter VIP logo

dotfiles's Introduction

~/.dotfilesΒ πŸ“‚
Cross-Platform & Cross-Shell Dotfiles
Powered by chezmoi

Latest commit GitHub Repo stars Github Created At

Features β€’ Requirements β€’ Getting Started β€’ Documentation β€’ Credits β€’ License

image

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!

πŸš€ Features

Cross-Platform (Arch Linux, macOS, Windows)

  • 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

UNIX

  • 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

Arch Linux

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.

macOS

  • 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

Windows

  • 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.

βš™οΈ Requirements

Ensure you have the latest stable release of Arch Linux, macOS or Windows installed.

Dependencies

Homebrew (macOS only)

curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | /bin/bash

Git

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

chezmoi

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

Wget or curl (UNIX only)

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)

🏁 Getting Started

Installation

UNIX

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

Windows

To install on Windows, run the following command in PowerShell:

iwr https://raw.githubusercontent.com/Nitestack/dotfiles/HEAD/scripts/install.ps1 | iex

Environment Variables

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 to master.
  • SSH (for Bash) or -SSH (for PowerShell): Set to true if you want to install the dotfiles with SSH. Defaults to false.
  • ONE_SHOT (for Bash) or -OneShot (for PowerShell): Set to true 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 to false.

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"

πŸ“– Documentation

Bindings

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 -
- Print Take Screenshot (Select Area) L, W -
Win Print Take Fullscreen Screenshot L, W -
Win + Alt Print 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 -

OS Compatibility

  • L - Linux
  • W - Windows
  • M - macOS

Binding Flags

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.

πŸ™Œ Credits

πŸ“ License

This project is licensed under the Apache-2.0 license.

dotfiles's People

Contributors

github-actions[bot] avatar nitestack avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.