An open API service indexing awesome lists of open source software.

https://github.com/alyraffauf/nixcfg

Multi-host NixOS + home-manager flake.
https://github.com/alyraffauf/nixcfg

framework-laptop gnome home-manager homelab hyprland kde nix nix-flake nixos nixos-configuration

Last synced: about 1 year ago
JSON representation

Multi-host NixOS + home-manager flake.

Awesome Lists containing this project

README

          

# ā„ļø nixcfg

Welcome to my **nixcfg**!

This repository contains my NixOS and Home-Manager configurations, along with custom modules and packages. It is modular, declarative, and tailored for multi-device setups.

---

![](./_img/hyprland.png)

---

## ✨ Features

- **Encryption:** Encrypted boot drives with Secure Boot, LUKS, and TPM decryption.
- **Hardware Configuration**: Robust hardware support for all hosts.
- **Home-Manager**: Unified management of user environments.
- **Hyprland:** Dynamic tiling Wayland compositor and window manager.
- **Modular Configuration**: Organized and reusable modules for simplicity.
- **Multi-Device Support**: Written with multiple hosts in mind.
- **Stylix:** Auto-generated base16 themes for the whole desktop.

---

## šŸ“‚ Repository Structure

```plaintext
.
ā”œā”€ā”€ flake.nix # Main entry point
ā”œā”€ā”€ homes/ # home-manager configurations
ā”œā”€ā”€ hosts/ # NixOS host configurations
ā”œā”€ā”€ modules/ # Modules for NixOS and home-manager
ā”œā”€ā”€ overlays/ # Custom Nixpkgs overlays
ā”œā”€ā”€ pkgs/ # Custom packages
└── README.md # This README
```

### Key Files and Directories

- **`flake.nix`**: Central file linking all configurations using Nix Flakes.
- **`homes/`**: User-specific home-manager configurations.
- **`hosts/`**: Host configurations for NixOS.
- **`modules/`**: Modules for NixOS and home-manager.
- **`overlays/`**: Defines custom overlays to extend or override Nixpkgs.
- **`pkgs/`**: Houses custom or patched package definitions.
- **`secrets/`**: Securely stores encrypted credentials or sensitive data.

---

## šŸš€ Getting Started

### Prerequisites

- A working Nix installation with Flakes enabled.
- Familiarity with NixOS, Home-Manager, and declarative configurations.

### Clone the Repository

```bash
git clone https://github.com/alyraffauf/nixcfg.git
cd nixcfg
```

### Apply the Configuration

For **NixOS** systems:

```bash
sudo nixos-rebuild switch --flake .#
```

For **Home-Manager** setups:

```bash
home-manager switch --flake .
```

> Replace `` with the desired system configuration from your modules.

---

## šŸ¤ Contributing

While this is a personal project, I’m open to feedback or suggestions.\
Feel free to open an issue or share ideas that could improve this setup!

---

## šŸ“œ License

This repository is licensed under the **[GNU General Public License](LICENSE.md)**.

---

## šŸ™Œ Acknowledgments

- [nixpkgs](github.com/nixos/nixpkgs): 'nough said.
- [agenix](https://github.com/ryantm/agenix): secrets storage and orchestration.
- [disko](https://github.com/nix-community/disko): declarative partitions and disk configuration.
- [home-manager](https://github.com/nix-community/home-manager): declarative dotfile and user package management.
- [hyprland](https://github.com/hyprwm/Hyprland): great dynamic tiling wayland compositor.
- [lanzaboote](https://github.com/nix-community/lanzaboote): secure boot for NixOS.
- [nur](https://github.com/nix-community/NUR): extra packages from the nix user repository.
- [stylix](https://github.com/danth/stylix): system-wide color schemes and typography.

---

## ⭐ Stargazers Over Time

[![Stargazers over time](https://starchart.cc/alyraffauf/nixcfg.svg?variant=adaptive)](https://starchart.cc/alyraffauf/nixcfg)

---