This repository contains my personal configuration files and setup scripts for managing Linux and macOS (Darwin) environments using Nix and home-manager.
The configuration is organized using a modular approach with shared components between platforms and platform-specific settings.
- Cross-platform configuration (macOS and Linux)
- Modular organization for easy maintenance
- Managed applications, development tools, and system settings
- Secrets management with sops-nix
- Consistent theming with Catppuccin
- Automated formatting with treefmt
To set up your environment using these dotfiles, follow the steps below:
-
Ensure Nix is installed on your system. You can find installation instructions here.
-
Follow these instructions to enable flakes.
-
Install
justwith:nix shell nixpkgs#just
- Clone the Repository
git clone https://github.com/delafthi/dotfiles.git
cd dotfiles- Apply Configurations
For macOS:
just applyFor Linux:
just apply-linuxNote: The system will automatically detect your hostname and apply the appropriate configuration.
This repository provides several helpful commands for development:
# Format all nix files
just fmt
# Check flake validity
just check
# Update flake inputs
just updatehosts/- Host-specific configurationshome/- Home-manager configurationsdarwin/- macOS-specific settingslinux/- Linux-specific settingsshared/- Shared configurations between platforms
modules/- Custom Nix modulesoverlays/- Package overlayspkgs/- Custom packages