A professional Ubuntu-based Linux distribution built for developers. namdevOS provides a curated, preconfigured environment with all the tools you need to start coding immediately.
- Developer-First: Git, Docker, VS Code, Neovim, and 30+ development tools pre-installed
- XFCE Desktop: Lightweight, fast, and fully customizable desktop environment
- Custom Branding: Professional dark theme with custom wallpaper, boot splash, and login screen
- Performance Tuned: Optimized sysctl settings for developer workloads (increased inotify watches, reduced swap usage, TCP Fast Open)
- Calamares Installer: Smooth graphical installation experience
- Flatpak Ready: Flathub pre-configured for additional application installs
- Secure Defaults: UFW firewall enabled, SSH ready, sensible security settings
- Reproducible Builds: Docker-based build environment for consistent ISO generation
- 64-bit (amd64) processor
- 4 GB RAM minimum (8 GB recommended)
- 25 GB disk space minimum (50 GB recommended)
- UEFI or Legacy BIOS boot
- Ubuntu 22.04+ or Debian 12+ build host
- 8 GB RAM minimum
- 50 GB free disk space
- Root access (for live-build)
- Internet connection (for package downloads)
# Clone the repository
git clone https://github.com/namdevOS/namdevOS.git
cd namdevOS
# Run validation (no root required)
make validate
# Build the ISO (requires root)
sudo make build
# Or build in Docker (recommended)
make docker-buildInstall all build dependencies:
sudo bash scripts/setup-dev.shThis installs live-build, debootstrap, squashfs-tools, xorriso, and other required packages.
-
Validate the project structure:
bash scripts/validate.sh
-
Build the ISO image:
sudo bash build.sh
The ISO will be placed in
output/namdevOS-1.0-amd64.iso. -
Clean build artifacts:
sudo bash build.sh --clean
-
Dry run (validate without building):
bash build.sh --dry-run
For reproducible builds without modifying your host system:
make docker-buildThis builds the ISO inside a Docker container with all dependencies pre-installed.
Package lists are in the packages/ directory:
base.list.chroot- Core system packagesdesktop.list.chroot- Desktop environmentdeveloper.list.chroot- Development toolsmultimedia.list.chroot- Media applicationsutilities.list.chroot- System utilities
Add one package name per line. Lines starting with # are comments.
- Wallpaper: Edit or replace
branding/wallpapers/namdevos-default.svg - Logo: Edit
branding/logo/namdevos-logo.svg - Boot splash: Modify
branding/plymouth/namdevos-theme/ - Login screen: Edit
branding/lightdm/lightdm-gtk-greeter.conf - Desktop layout: Modify files in
branding/xfce/
Hooks in config/hooks/live/ run during the build process in alphabetical order:
| Hook | Purpose |
|---|---|
| 0100-add-repos | Adds external repositories (VS Code, Docker) |
| 0200-install-extras | Installs packages from added repos |
| 0300-configure-desktop | Applies XFCE configuration to /etc/skel |
| 0400-apply-branding | Copies branding to system locations |
| 0500-system-tuning | Applies sysctl and system configs |
| 0600-cleanup | Removes apt cache and temp files |
namdevOS/
├── build.sh # Main build script
├── Makefile # Build targets
├── Dockerfile.build # Docker build environment
├── config/
│ ├── live-build/auto/ # live-build configuration
│ └── hooks/live/ # Build hooks (chroot)
├── packages/ # Package lists by category
├── branding/
│ ├── wallpapers/ # Desktop wallpapers
│ ├── logo/ # Distribution logo
│ ├── plymouth/ # Boot splash theme
│ ├── lightdm/ # Login screen config
│ └── xfce/ # Desktop environment config
├── installer/calamares/ # Calamares installer config
├── system/
│ ├── sysctl/ # Kernel parameter tuning
│ ├── scripts/ # System scripts
│ └── grub/ # Bootloader config
├── scripts/
│ ├── validate.sh # Project validation
│ └── setup-dev.sh # Dev environment setup
└── .github/workflows/ # CI/CD pipeline
See CONTRIBUTING.md for guidelines on how to contribute to namdevOS.
namdevOS is licensed under the GNU General Public License v3.0