{"id":34531625,"url":"https://github.com/rishabh5321/dotfiles","last_synced_at":"2026-05-24T08:01:22.873Z","repository":{"id":331948574,"uuid":"847279697","full_name":"Rishabh5321/dotfiles","owner":"Rishabh5321","description":"Just another NixOS dotfiles.","archived":false,"fork":false,"pushed_at":"2026-05-17T15:46:22.000Z","size":603517,"stargazers_count":37,"open_issues_count":4,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-17T17:40:51.284Z","etag":null,"topics":["container","dotfiles","flakes","gnome","home-manager","hyprland","i3","kde","nix","nix-flake","nix-flakes","nixos","nixos-config","nixos-configuration","pinned","sway","swaywm","xfce"],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rishabh5321.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-08-25T11:23:27.000Z","updated_at":"2026-05-17T15:46:25.000Z","dependencies_parsed_at":"2026-02-17T07:03:32.777Z","dependency_job_id":"6d48a874-db43-431b-b2d1-79cca619b9bd","html_url":"https://github.com/Rishabh5321/dotfiles","commit_stats":null,"previous_names":["rishabh5321/dotfiles"],"tags_count":99,"template":false,"template_full_name":null,"purl":"pkg:github/Rishabh5321/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rishabh5321%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rishabh5321%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rishabh5321%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rishabh5321%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rishabh5321","download_url":"https://codeload.github.com/Rishabh5321/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rishabh5321%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33426013,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"online","status_checked_at":"2026-05-24T02:00:06.296Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["container","dotfiles","flakes","gnome","home-manager","hyprland","i3","kde","nix","nix-flake","nix-flakes","nixos","nixos-config","nixos-configuration","pinned","sway","swaywm","xfce"],"created_at":"2025-12-24T05:43:14.556Z","updated_at":"2026-05-24T08:01:22.851Z","avatar_url":"https://github.com/Rishabh5321.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./.github/assets/logo/nixos-logo.png\" width=\"100px\" alt=\"NixOS Logo\" /\u003e\n\n  # Rishabh's Flakes\n\n  My personal NixOS configurations, managed with Nix Flakes for reproducibility and modularity.\n\n  [![Repo Size](https://img.shields.io/github/repo-size/Rishabh5321/dotfiles?color=B16286\u0026labelColor=282828\u0026style=for-the-badge\u0026logo=github\u0026logoColor=B16286)](https://github.com/Rishabh5321/dotfiles)\n  [![NixOS Unstable](https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge\u0026labelColor=282828\u0026logo=NixOS\u0026logoColor=458588\u0026color=458588)](https://nixos.org)\n  [![License: MIT](https://img.shields.io/static/v1.svg?style=for-the-badge\u0026label=License\u0026message=MIT\u0026colorA=282828\u0026colorB=98971A\u0026logo=unlicense\u0026logoColor=98971A)](https://github.com/Rishabh5321/dotfiles/blob/main/LICENSE)\n  [![Last Commit](https://img.shields.io/github/last-commit/Rishabh5321/dotfiles?color=D65D0E\u0026labelColor=282828\u0026style=for-the-badge\u0026logo=github\u0026logoColor=D65D0E)](https://github.com/Rishabh5321/dotfiles/commits/main)\n  [![Check and Build Flake Config Status](https://img.shields.io/github/actions/workflow/status/Rishabh5321/dotfiles/build.yml?branch=main\u0026label=Check%20and%20Build%20Flake%20Config\u0026logo=github\u0026logoColor=98971A\u0026labelColor=282828\u0026style=for-the-badge\u0026color=98971A)](https://github.com/Rishabh5321/dotfiles/actions/workflows/build.yml)\n\n\u003c/div\u003e\n\n## 🖼️ Showcase\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"80%\" src=\"screenshot/screenshot1.png\" /\u003e\n  \u003cimg src=\"screenshot/screenshot2.png\" width=\"40%\" /\u003e\n  \u003cimg src=\"screenshot/screenshot3.png\" width=\"40%\" /\u003e\n  \u003cimg src=\"screenshot/screenshot4.png\" width=\"40%\" /\u003e\n  \u003cimg src=\"screenshot/screenshot5.png\" width=\"40%\" /\u003e\n\u003c/p\u003e\n\n## ✨ Philosophy\n\nThis project aims to create a highly modular and reusable NixOS setup for all my machines. The core principles are:\n\n- **Reproducibility:** Nix Flakes ensure that every machine has the exact same configuration, defined declaratively.\n- **Modularity:** Configurations are broken down into small, reusable modules (`./modules`) that can be mixed and matched for different hosts.\n- **Simplicity:** The structure is designed to be easy to understand and manage, with a clear separation between system-level (`configuration.nix`) and user-level (`home.nix`) settings.\n- **Automation:** GitHub Actions are used to automatically check, build, and format the code, ensuring quality and consistency.\n\n## 📂 Directory Structure\n\nThe repository is organized to separate concerns, making it easy to manage configurations for different machines and purposes.\n\n```\n.\n├── containers/   # Nix definitions for containerized services (Plex, Sonarr, etc.)\n├── hosts/        # Host-specific configurations. Each subdirectory is a unique machine.\n│   └── dell/     # Example host configuration for a machine named 'dell'\n│       ├── configuration.nix  # Main NixOS configuration for this host\n│       ├── home.nix           # Home Manager configuration for the user on this host\n│       └── ...                # Other host-specific files (e.g., hardware-configuration.nix)\n├── modules/      # Reusable modules for system and user configurations\n│       ├── desktop/  # Desktop Enviornments/ Window manager\n│       ├── system/   # System-level modules (boot, networking, security, etc.)\n│       └── user/     # Home Manager modules (shell, editors, browsers, etc.)\n├── overlays/     # Custom Nixpkgs overlays to modify or add packages\n├── pkgs/         # Custom packages built with Nix\n├── flake.nix     # The heart of the project, defining inputs and outputs\n└── README.md     # This file\n```\n\n## 🚀 Usage\n\n### Prerequisites\n- A machine with Nix installed, with support for Flakes enabled.\n- Git to clone the repository.\n\n### Installation\n1.  Clone this repository to your local machine:\n    ```bash\n    git clone --depth 1 https://github.com/Rishabh5321/dotfiles\n    cd dotfiles\n    ```\n\n2.  **IMPORTANT**: Before deploying, you **must** create a new host directory under `./hosts/` that matches your machine's hostname. You will also need to generate a `hardware-configuration.nix` specific to your hardware.\n    ```bash\n    # 1. Get your machine's hostname\n    hostname\n\n    # 2. Create a directory for your host\n    mkdir -p hosts/$(hostname)\n\n    # 3. Generate a hardware configuration for your new machine\n    sudo nixos-generate-config --show-hardware-config \u003e hosts/$(hostname)/hardware-configuration.nix\n\n    # 4. Create your main configuration.nix and home.nix.\n    #    You can copy from an existing host to get started.\n    cp hosts/dell/configuration.nix hosts/$(hostname)/\n    cp hosts/dell/home.nix hosts/$(hostname)/\n    ```\n\n3.  Apply the configuration. The flake is set up to automatically detect any directory in `./hosts` as a valid `nixosConfiguration`.\n    ```bash\n    # Replace \u003chostname\u003e with your machine's actual hostname\n    sudo nixos-rebuild switch --flake .#\u003chostname\u003e\n    ```\n    For example, to deploy the `dell` configuration:\n    ```bash\n    sudo nixos-rebuild switch --flake .#dell\n    ```\n\n## flake.nix Details\n\n### Inputs\nThis flake pulls in several external dependencies to build the system. Key inputs include:\n- **nixpkgs**: The primary Nix package set, tracking `nixos-unstable-small`.\n- **home-manager**: Manages user-level dotfiles and packages.\n- **stylix**: For system-wide theming and styling.\n- **sops-nix / agenix**: (Future goal) For managing secrets securely.\n- And various other flakes for specific applications and themes.\n\n### Outputs\nThe flake provides the following outputs:\n- **`nixosConfigurations`**: The main output. It dynamically generates a NixOS configuration for every host defined in the `hosts/` directory.\n- **`formatter`**: Provides a consistent code formatter (`nixpkgs-fmt`) for the entire project. You can run it with `nix fmt`.\n- **`overlays`**: Custom overlays defined in the `overlays/` directory.\n\n---\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frishabh5321%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frishabh5321%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frishabh5321%2Fdotfiles/lists"}