Skip to content

RomeoCavazza/setup-os

Repository files navigation

NixOS Logo

NixOS dotfiles

NixOS Hyprland GNOME Nix Flakes Guix NVIDIA Prime Prometheus Loki Grafana

Overview

The GitHub Wiki is the primary documentation resource for this repository.

Local technical annexes:

Architecture

nixos/
├── config/
│   ├── bin/          # Custom scripts
│   ├── doom/         # Doom Emacs
│   ├── foot/         # Terminal
│   ├── hypr/         # Hyprland + Waybar
│   ├── rofi/         # Active Rofi runtime
│   └── swappy/       # Screenshot editor config
├── home/tco/
│   ├── home.nix      # Home Manager entry point
│   ├── modules/
│       └── apps/
│           ├── cad.nix       # obsidian, kicad, freecad
│           ├── embedded.nix  # arduino, esptool, minicom
│           └── data.nix      # dbeaver, grafana, influxdb2
├── modules/          # System-only modules (services, drivers)
│   ├── backup.nix
│   ├── nvidia-prime.nix
│   ├── virtualisation.nix
│   ├── databases.nix
│   ├── ollama.nix
│   ├── observability.nix
│   └── ...
├── secrets/          # SOPS-encrypted secrets committed safely
├── configuration.nix
├── flake.nix
└── flake.lock

Preview

Desktop demo

Waybar showcase Desktop Interface — Waybar Configuration · Wallpaper


Tip

This setup ships with two desktop environments accessible via GDM — switch seamlessly between Hyprland and GNOME at login.

Session at login

%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#1e293b', 'secondaryColor': '#0f172a', 'tertiaryColor': '#0f172a', 'primaryBorderColor': '#94e2d5', 'lineColor': '#94e2d5', 'primaryTextColor': '#e2e8f0', 'clusterBkg': '#0f172a', 'clusterBorder': '#475569' }}}%%
flowchart TB
  Boot["Boot"]
  GDM["GDM"]
  H["Hyprland"]
  G["GNOME"]

  Boot --> GDM
  GDM --> H
  GDM --> G
Loading

GNOME

GNOME Desktop


Hyprland

Hyprland Desktop


Code Environment

Neovim Screen

Fully featured Neovim setup for efficient coding and development.


Virtualization

Virtual Machine Screen

Seamless virtualization support for running isolated environments and testing.


Hardware & Modeling

CAD Screen

Optimized performance for demanding CAD and 3D modeling workloads.


System Metrics

HTOP Screen

Real-time system monitoring and resource management.


Graphics Engine

NVIDIA Screen

Dedicated NVIDIA GPU integration with Prime support for maximum graphics power.


Live Infrastructure

Live NixOS Metrics

Prometheus, Loki, Grafana, and Promtail provide local observability. The snapshots committed under docs/assets/live/ are documentation artifacts only: they are refreshed by a 15-minute systemd timer when the visual delta is over 0.5%. Live operations stay in Grafana.

Dashboard snapshots:

Runbook details live in the Observability wiki page.


Backup & Secrets

Backups use sops-nix, restic, and Backblaze B2, split into b2-critical for configuration and secret-adjacent material, and b2-data for user files. Secrets are committed only in encrypted form under secrets/. See the Security & Secrets wiki page for paths, timers, retention, and restore commands.


Installation

Prerequisites

Setup Instructions

Important

Warning: This configuration is tailored for my hardware. Don't blindly use these settings unless you know what they entail. Use at your own risk!

Note

This repository uses a modular structure, allowing you to easily toggle specific services (databases, AI, monitoring) by importing the corresponding files in configuration.nix.

Tip

Development toolchains (Rust, Python, embedded, data) are installed globally via Home Manager. Per-project environments use a local flake.nix with direnvcd into the project directory and the environment loads automatically.

  1. Backup your current config:

    sudo cp -r /etc/nixos /etc/nixos-backup
  2. Clone this repository:

    sudo git clone https://github.com/RomeoCavazza/setup-os.git /etc/nixos-new
    sudo cp -r /etc/nixos-new/* /etc/nixos/
  3. Apply the configuration:

    cd /etc/nixos
    sudo nixos-rebuild switch --flake .#nixos

About

❄️ Fully declarative system architecture featuring custom Hyprland & GNOME dotfiles.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors