--- title: "Home" description: "Federated CoreDesktop turns a fresh Arch Linux and GNOME install into a tiling, keyboard-first desktop with the software you need for work, sandboxed AI agents, snapshots, backups and one-command updates." sections: - type: hero eyebrow: "Not a distribution, yet. Just Arch, GNOME and some very good scripts." title: "A tiling Arch desktop, ready for work in one command." subhead: "CoreDesktop takes a fresh **Arch Linux + GNOME** install and turns it into a keyboard-first workstation with a flexible tiling system, with the apps, developer tools, firewall, snapshots, backups and **sandboxed AI agents** already set up." ctas: - label: "Install CoreDesktop" url: "/install/" style: primary - label: "What's included" url: "#included" style: ghost video: "/video/ultrawide-desktop" videoTitle: "CoreDesktop · 5120 × 1440 ultrawide" videoLabel: "A CoreDesktop screen on an ultrawide monitor: three tiled windows side by side, a zoom out to the GNOME overview with the dock, and back." - type: text body: "CoreDesktop is *some scripts*, not a distribution, yet. Arch Linux does the heavy lifting, so you get upstream fixes as they land, and a *flexible tiling* desktop that makes the most of any screen, *ultrawides* included." - type: features id: included kicker: "What you get" headline: "Everything set up, nothing in the way." lede: "One install script, safe to run again. If something fails, run it again. It skips what's already done." items: - label: "A tiling desktop you drive from the keyboard" body: "GNOME with the Tiling Shell extension: a flexible tiling system you can lay out however you like, Super + arrow keys to move windows, and the full mouse-friendly desktop when you want it." - label: "The software you'd install anyway" body: "From pacman, the AUR, Flathub and mise: browsers, messaging, office, media, notes, remote desktop, database clients and local AI, plus a full developer toolchain." - label: "Sandboxed AI agents" body: "opencode, Hermes Agent, Cline Desktop and Claude Code run in a sandbox that can only change your project folder and can't read your keys or passwords." - label: "Snapshots and backups" body: "Snapper snapshots / before every update. `configure` adds encrypted, daily restic backups of your home folder to your Nextcloud." - label: "Safe by default" body: "The ufw firewall is on, Docker can't punch holes in it, and [`audit`](/utilities/#audit) shows every open port and who can reach it." - label: "One command to stay current" body: "`update` snapshots, then updates Arch, GNOME, AUR, Flatpaks, Ruby, extensions and firmware, and tells you if a step failed." ctas: - label: "Browse the software" url: "/software/" style: text - label: "See the system defaults" url: "/system/" style: text - type: stats kicker: "By the numbers" headline: "A lot of setup you won't have to do." items: - value: "1" label: "command to install, after Arch and GNOME" - value: "48" label: "Flatpak apps, from browsers to video editing" - value: "4" label: "AI coding agents, each in a sandbox" - value: "20" label: "steps that `update` runs, in order" - type: steps kicker: "How it works" headline: "From USB stick to working desktop." items: - title: "Install Arch with GNOME" body: "Boot the Arch ISO and run `archinstall`. Choose the desktop profile, GNOME, pipewire and the right GPU driver." - title: "Run one command" body: "Open a terminal, paste the install command, and enter your password once. Then be patient: it takes a while." - title: "Configure and reboot" body: "`configure` connects your Federated Core, joins your Tailscale network, sets up backups and signs in your AI agents." ctas: - label: "Read the full install guide" url: "/install/" style: primary - type: command kicker: "The install command" headline: "Already on Arch and GNOME?" lede: "Open a terminal and paste this in." note: "The scripts live in `~/.local/share/coredesktop/`. Read [install.sh](https://gitea.federated.computer/Federated_Computer/coredesktop/src/branch/main/install.sh) before you run it." - type: cards kicker: "Built for Federated Computer" headline: "Even better with your Federated Core." lede: "CoreDesktop is what the Federated Computer team works on every day. Point it at your Core and it wires itself into your apps." columns: 3 items: - label: "Accounts" title: "Calendar, contacts, files and email" body: "Your Nextcloud and email go into GNOME Online Accounts, your files mount in the Files sidebar, and Element points at your Core's Matrix server." link: "/utilities/#configure" linktext: "Connect your Core" - label: "Network" title: "Your own Tailscale network" body: "Join this computer to your Core's headscale, so you can reach your other machines from anywhere." link: "/utilities/#configure" linktext: "Set up Tailscale" - label: "Backups" title: "Encrypted, daily, off this machine" body: "restic backs up your home folder to your Nextcloud: 7 daily, 4 weekly and 6 monthly, with a passphrase only you keep." link: "/utilities/#restoring-from-a-backup" linktext: "How restoring works" - type: faq kicker: "Questions" headline: "Good to know before you start." items: - q: "Is CoreDesktop a Linux distribution?" a: "Not yet. Today it's a set of scripts that runs on top of a standard Arch Linux and GNOME install. Arch does the heavy lifting; CoreDesktop adds the extensions, software and configuration." - q: "Do I need a Federated Computer account?" a: "No. Everything except the `configure` steps for your Core, its Tailscale network and backups works on its own. A lot of the software is chosen for work at Federated Computer, but you may find it useful too." - q: "What if the install fails halfway?" a: "Run the command again. It skips what's already done and picks up where it stopped." - q: "Does it work on ultrawide monitors?" a: "That's what it's best at. The tiling system adapts to any screen: pick a layout from the tiling icon in the top-right corner, or make your own." - q: "Can I add my own tools on top?" a: "Yes. A sibling project is any git repository with an optional `install.sh` and `update.sh`. Install it with `sibling`, and every `update` keeps it current." ctas: - label: "Sibling projects" url: "/siblings/" style: text - type: final-cta headline: "Get a better desktop this afternoon." body: "Install Arch with GNOME, paste one command, and come back to a tiling workstation that's ready for work." ctas: - label: "Install CoreDesktop" url: "/install/" style: primary - label: "View the source" url: "https://gitea.federated.computer/Federated_Computer/coredesktop" style: ghost ---