Skip to content

Cross-Platform Dotfiles for Customizing my Development Environment

License

Notifications You must be signed in to change notification settings

Nitestack/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

~/.dotfilesย ๐Ÿ“‚
For NixOS and Windows (including WSL)
Powered by chezmoi

Latest commit GitHub Repo stars Github Created At

Features โ€ข Requirements โ€ข Getting Started โ€ข Credits โ€ข License

image

Elevate your computing experience across platforms with this curated collection of configuration files and setup scripts. From NixOS to Windows and WSL (NixOS), personalize your environment effortlessly. Securely manage diverse machines using chezmoi and leverage seamless deployment and synchronization.

Be sure to โญ๏ธ or fork this repo if you find it useful!

๐Ÿš€ Features

NixOS (Full System)

Warning

The NixOS full system configuration is still incomplete. Key features yet to be implemented include the integration of Astal and AGS. This requires a rewrite from the previous Arch-based version of the dotfiles, meaning there is currently no top or bottom bar, and the power menu is also missing.

This setup operates on the Wayland protocol, utilizing Hyprland as the compositor for smooth and visually pleasing window management. For login management, SDDM is employed with a custom theme, providing a refined interface. The system uses GRUB as the bootloader, enhanced with a theme and os-prober for seamless dual-booting with Windows or other operating systems. Both Astal and AGS create a cohesive design for app launchers, power and notification menus, top and bottom bars, and more.

Everything is built using a Nix Flake, ensuring the system is reproducible. It also includes features listed in the Cross-Platform and UNIX sections, making it a complete and functional environment.

Cross-Platform (NixOS, Windows)

  • Neovim Configuration (with WSL): Powered by LazyVim, ensuring a robust text editing experience.

  • WezTerm Configuration: Integrated Neovim workflow for a seamless terminal and text editing setup.

  • Oh My Posh Configuration (with WSL): Customized prompt for a visually appealing and informative shell experience.

  • Fastfetch Configuration (with WSL): Customized settings for efficient system information display.

  • Lazygit Configuration (with WSL): Themed with the Catppuccin Mocha theme for a cohesive look and feel.

  • Git Configuration (with WSL): Customized settings for version control.

  • ShellCheck Configuration (with WSL): Setup for shell script analysis.

  • SSH Configuration (with WSL): Consistent and secure SSH setup across systems.


And more to discover.

โš™๏ธ Requirements

Ensure you have the latest stable release of NixOS, Windows, or WSL installed.

WSL (NixOS)

Ensure you have the latest release of NixOS-WSL downloaded.

Open PowerShell and run:

wsl --import NixOS --version 2 $env:USERPROFILE\NixOS\ nixos-wsl.tar.gz

Post-Install

After the initial installation, update your channels to use nixos-rebuild:

sudo nix-channel --update

Then rebuild the system:

sudo nixos-rebuild switch

To make NixOS your default distribution, use:

wsl -s NixOS

NixOS (including WSL)

Ensure you have git and chezmoi available when needed in the installation section.

nix-shell -p git chezmoi

Windows

Ensure you have git, chezmoi, and pwsh installed.

winget install -e --accept-package-agreements --accept-source-agreements Git.Git twpayne.chezmoi Microsoft.PowerShell

Important

All versions of Windows come with PowerShell 5.1 pre-installed. However, this repository requires PowerShell 7.x or higher. PowerShell 7.x+ does not replace or upgrade PowerShell 5.1; it is installed alongside it.

Fonts

๐Ÿ Getting Started

Clone the dotfiles repository:

git clone https://github.com/Nitestack/dotfiles.git ~/.dotfiles
# or with SSH
git clone [email protected]:Nitestack/dotfiles.git ~/.dotfiles

NixOS

Before continuing with the installation, initialize the NixOS system:

sudo nixos-rebuild boot --flake "$HOME/.dotfiles/nix#nixstation" --impure

Please reboot the system and then continue with the Final Steps.

WSL (NixOS)

Before continuing with the installation, initialize the NixOS WSL system:

sudo nixos-rebuild boot --flake "$HOME/.dotfiles/nix#wslstation" --impure

Execute the following commands in PowerShell to correctly apply the custom username:

wsl -t NixOS
wsl -d NixOS --user root exit
wsl -t NixOS

Start WSL and then continue with the Final Steps.

Final Steps

Initialize chezmoi:

UNIX

chezmoi init --source="$HOME/.dotfiles" --apply

Windows

chezmoi init --source="$env:USERPROFILE\.dotfiles" --apply

๐Ÿ™Œ Credits

๐Ÿ“ License

This project is licensed under the Apache-2.0 license.