Skip to content

fmartinez09/Ftz4OS

Repository files navigation

Ftz4OS — Declarative NixOS System

License: MIT NixOS Status


Ftz4OS es un sistema NixOS declarativo y modular, diseñado para infraestructura reproducible, desarrollo de sistemas distribuidos y entornos de ingeniería avanzados.
Basado originalmente en AlfheimOS, ahora completamente desacoplado, documentado y extendido con soporte para DB internals, clústeres y toolchains profesionales.


🚀 Características principales

  • ✨ Composición declarativa mediante Flakes
  • 🧠 Entornos de desarrollo para:
    • FoundationDB, ScyllaDB, PostgreSQL
    • Java (OpenJDK17, GraalVM, Maven, Quarkus)
    • Go, Bazel, Docker, K8s, K3s
  • 🖥️ Hyprland + Stylix + pywal + swww
  • 🧩 Modularización por perfiles (desktop, laptop, work)
  • 🔐 Secrets con sops-nix
  • 🛠️ Custom overlays y paquetes locales

📂 Estructura del repo

.
├── flake.nix                  # Entrada principal declarativa
├── settings.nix               # Variables como `username`, `hostname`, etc.
├── profiles/                  # Perfiles por dispositivo (laptop, work, etc.)
│   └── laptop/
│       ├── configuration.nix  # Configuración del sistema
│       └── home.nix           # Configuración del usuario
├── system/                    # Módulos del sistema (apps, hardware, wm, etc.)
├── user/                      # Configuración del usuario: shells, apps, editors
├── shells/                    # DevShells por stack
├── themes/                    # Stylix + pywal + fondos
├── overlays/                  # Extensiones del árbol de paquetes
└── pkgs/                      # Paquetes locales y parches

Instalacion

Se asume que ya instalaste NixOS (23.11 o superior) en modo UEFI.

git clone https://github.com/tuusuario/Ftz4OS.git ~/.dotfiles
cd ~/.dotfiles

Genera la configuración de hardware (solo una vez por máquina):

sudo nixos-generate-config --show-hardware-config > profiles/laptop/hardware-configuration.nix

Edita settings.nix:

{
  hostname = "ftz-laptop";
  username = "fernando";
  system = "x86_64-linux";
  profile = "laptop";
  shell = "zsh";
  ...
}

Construye el sistema:

sudo nixos-rebuild switch --flake .#ftz-laptop

Configuración del usuario (Home Manager)

home-manager switch --flake .#fernando

DevShells

nix develop .#db-internals

Incluye toolchain para:

  • FoundationDB
  • ScyllaDB
  • Quarkus (Java 17 + Maven + GraalVM)
  • Bazel
  • Go
  • Docker, Helm, kubectl, k3s, k9s

🙏 Créditos

Inspirado por AlfheimOS, ahora desacoplado y extendido con diseño y objetivos propios.

About

❄️ AlfheimOS (NixOS + home-manager + hyprland + ags + neovim)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published