I do not recommend cloning the repository at this time, as the initial structure has not yet been finalized.
Since the project is still in development and brand new, I am not accepting contributors or pull requests at this time.
For now, please use this template as a guide to help you create your own.
The flake contains my hardware configuration file, which is not suitable for your hardware.
Please make the necessary changes to adapt it to your machine and user account before rebuilding the Nix configuration.
This is my first time using NixOS, and I can already tell that learning and building my own architecture is a difficult challenge.
NixOS provides exactly the philosophy I was looking for: stability, reproducibility and full control over the system.
I love how NixOS lets you manage your system however you want.
Here, the goal is to create a solid and robust architecture as possible, within my beginner's capabilities.
As a fan of Arch ricing, I decided to customize my own NixOS window manager from scratch with Hyprland, which I had never used or setup before.
The Hyprland settings are distributed under the path ../nixos/home/modules/hyprland/ in order to easily define a new profile.
The keyboard shortcuts are based on Vim for the navigation.
- NixOS flake-based configuration
- Modular host/profile architecture
- Hyprland configuration split into reusable modules
- Waybar + GTK theming
- Dynamic color schemes using Wallust
- Multi-host ready configuration
.
├── flake.nix
├── hosts/
│ └── promethos-desktop/
│ ├── configuration.nix
│ ├── hardware-configuration.nix
│ └── home.nix
├── modules/
├── home/
│ ├── users/
│ ├── profiles/
│ └── modules/
├── packages/
└── overlays/The main goal is to share a continuous integration of my configuration, easily usable after cloning by anyone.
Currently, my system uses Flake, a HomeManager for my user, Hosts and Profiles concepts.
| NixOS (Wayland) | |
|---|---|
| Window Manager | Hyprland |
| Terminal Emulator | Kitty |
| Status Bar | Waybar + GTK |
| Lockscreen | Hyprlock |
| Launcher | Rofi |
| Color scheme generator | Wallust |
| Network management tool | NetworkManager |
| System resource monitor | Btop |
| File Manager | Yazi |
| Shell | zsh + Starship |
| Media Player | mpv |
| Text Editor | Neovim |
| Fonts | Nerd fonts |
| Wallpaper | swww + pickwall (internal pkg) |
| Youtube player | yt-x |
| Filesystem & encryption | btrfs subvolumes |
❗ Please keep your hardware-configuration.nix and move it under your new host folder. ❗
git clone https://github.com/Arcreuss/Nix-PromethOS-Rice.git
cd Nix-PromethOS-Rice
sudo nixos-rebuild switch --flake .#YourHostDon't forget to add your user in nixos/modules/users.nix, you can use my configuration as reference.
Then execute the command line below to set your password.
passwd YourUserCreate a new user file under the path nixos/home/users/ to use the HomeManager.
{ pkgs, ... }:
{
home.username = "YourUserName";
home.homeDirectory = "/home/YourUserDirectory";
home.stateVersion = "YourVersion";
home.sessionVariables = {
# Declare here all environment variables for your user.
# Examples
EDITOR = "nvim";
VISUAL = "nvim";
TERMINAL = "kitty";
BROWSER = "firefox";
};
}For your new personal host, you have to link it with your user thought the Home Manager.
Create a new home.nix inside nixos/hosts/YourHostFolder and add this configuration.
{ ... }:
{
imports = [
../../home/users/YourUser.nix
../../home/profiles/YourProfile.nix
];
}If you want to create a new profile, please always use this configuration as a minimal requirement.
{ ... }:
{
imports = [
../modules/core.nix # Add others modules after the core.nix
];
}The final result should be something visually refined and classic.
My inspiration is coming from this video.
In order to complete my challenge, I read the NixOS documentation and used Chat GPT as a mentor to break down the main goal into smaller goals with consistent learning and progression.
Other dotfiles, repository, youtubers that inspired me:
- Nix Flakes Architecture and Usage
- Visuals Inspirations
If this repository helps you build your own NixOS setup, feel free to use it as inspiration.
