Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nitestack/dotfiles
Cross-Platform Dotfiles for Customizing my Development Environment
https://github.com/nitestack/dotfiles
arch-linux chezmoi dotfiles hyprland lazygit nixos-config nvim oh-my-posh pwsh tmux vscode wezterm wsl zsh
Last synced: about 10 hours ago
JSON representation
Cross-Platform Dotfiles for Customizing my Development Environment
- Host: GitHub
- URL: https://github.com/nitestack/dotfiles
- Owner: Nitestack
- License: apache-2.0
- Created: 2023-12-27T12:25:55.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2024-10-29T23:43:00.000Z (8 days ago)
- Last Synced: 2024-10-30T01:50:05.838Z (8 days ago)
- Topics: arch-linux, chezmoi, dotfiles, hyprland, lazygit, nixos-config, nvim, oh-my-posh, pwsh, tmux, vscode, wezterm, wsl, zsh
- Language: Lua
- Homepage: https://npham.de
- Size: 57.1 MB
- Stars: 13
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
~/.dotfilesΒ π
For NixOS and Windows (including WSL)
Powered by chezmoi
![Latest commit](https://img.shields.io/github/last-commit/Nitestack/dotfiles?style=for-the-badge)
![GitHub Repo stars](https://img.shields.io/github/stars/Nitestack/dotfiles?style=for-the-badge)
![Github Created At](https://img.shields.io/github/created-at/Nitestack/dotfiles?style=for-the-badge)[Features](#-features) β’ [Requirements](#οΈ-requirements) β’ [Getting Started](#-getting-started) β’ [Credits](#-credits) β’ [License](#-license)
![image](https://github.com/Nitestack/dotfiles/assets/74626967/154b824c-42f2-4ec0-818b-f244f8c91f4b)
_Elevate your computing experience across platforms with this curated collection of configuration files and setup scripts. From [NixOS](https://nixos.org) to [Windows](https://microsoft.com/windows) and [WSL](https://learn.microsoft.com/windows/wsl) ([NixOS](https://nix-community.github.io/NixOS-WSL)), personalize your environment effortlessly. Securely manage diverse machines using [chezmoi](https://chezmoi.io) 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](https://aylur.github.io/astal) and [AGS](https://aylur.github.io/ags-docs). 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](https://wayland.freedesktop.org) protocol, utilizing [Hyprland](https://hyprland.org) as the compositor for smooth and visually pleasing window management. For login management, [SDDM](https://github.com/sddm/sddm) is employed with a custom theme, providing a refined interface. The system uses [GRUB](https://www.gnu.org/software/grub) as the bootloader, enhanced with a theme and `os-prober` for seamless dual-booting with Windows or other operating systems. Both [Astal](https://aylur.github.io/astal) and [AGS](https://aylur.github.io/ags-docs) create a cohesive design for app launchers, power and notification menus, top and bottom bars, and more.
Everything is built using a [Nix Flake](https://nix.dev/concepts/flakes.html), ensuring the system is reproducible. It also includes features listed in the [Cross-Platform](#cross-platform-nixos-windows) and [UNIX](#unix-nixos) sections, making it a complete and functional environment.
### Cross-Platform (NixOS, Windows)
- **Neovim Configuration (with WSL)**: Powered by [LazyVim](http://www.lazyvim.org), 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](https://github.com/catppuccin/lazygit) 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](https://nixos.org), [Windows](https://microsoft.com/windows), or [WSL](https://learn.microsoft.com/windows/wsl) installed.
### WSL (NixOS)
Ensure you have the latest release of [NixOS-WSL](https://github.com/nix-community/NixOS-WSL/releases/latest) downloaded.
Open PowerShell and run:
```pwsh
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`:
```sh
sudo nix-channel --update
```Then rebuild the system:
```sh
sudo nixos-rebuild switch
```To make NixOS your default distribution, use:
```pwsh
wsl -s NixOS
```### NixOS (including WSL)
Ensure you have `git` and `chezmoi` available when needed in the installation section.
```sh
nix-shell -p git chezmoi
```### Windows
Ensure you have `git`, `chezmoi`, and `pwsh` installed.
```pwsh
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
- [Rubik Font](https://fonts.google.com/specimen/Rubik)
- [MonaspiceNe Nerd Font](https://nerdfonts.com/font-downloads)
- [Symbols Nerd Font](https://nerdfonts.com/font-downloads)
- [Noto Color Emoji](https://fonts.google.com/noto)## π Getting Started
Clone the dotfiles repository:
```sh
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:
```sh
sudo nixos-rebuild boot --flake "$HOME/.dotfiles/nix#nixstation" --impure
```Please reboot the system and then continue with the [Final Steps](#final-steps).
### WSL (NixOS)
Before continuing with the installation, initialize the NixOS WSL system:
```sh
sudo nixos-rebuild boot --flake "$HOME/.dotfiles/nix#wslstation" --impure
```Execute the following commands in PowerShell to correctly apply the custom username:
```pwsh
wsl -t NixOS
wsl -d NixOS --user root exit
wsl -t NixOS
```Start WSL and then continue with the [Final Steps](#final-steps).
### Final Steps
Initialize chezmoi:
#### UNIX
```sh
chezmoi init --source="$HOME/.dotfiles" --apply
```#### Windows
```pwsh
chezmoi init --source="$env:USERPROFILE\.dotfiles" --apply
```## π Credits
- [Tom Payne](https://github.com/twpayne): Creator of [chezmoi](https://chezmoi.io). Parts of his dotfiles are used.
- [Folke Lemaitre](https://github.com/folke): Creator of [LazyVim](https://github.com/LazyVim/LazyVim). Parts of his dotfiles are used.
- [Aylur](https://github.com/Aylur): Creator of [Ags](https://aylur.github.io/ags-docs) and [Astal](https://aylur.github.io/astal). Parts of his Nix configuration were used.
- [end-4](https://github.com/end-4): Parts of his dotfiles are used.
- [Pratik Gayen](https://github.com/FireDrop6000/hyprland-mydots): Hyprlock config is used.
- [Elliott Minns](https://github.com/elliottminns) ([Dreams of Code](https://www.youtube.com/@dreamsofcode)): Parts of his Nix configuration were used.## π License
This project is licensed under the Apache-2.0 license.