[{"content":"October Linux is an Arch-based Linux distribution. It provides a fast installer written in Go that takes a JSON configuration as input to deploy a full system. While heavily dependent on network operations for installing packages, October Linux can be installed in the 3 to 15 minutes range, depending on how many extra packages you want to install.\nFor reference, my laptop installation was ready in 6 minutes while my desktop took 10 minutes. The time difference was mostly dependent on network connectivity (Wi-Fi on the laptop vs. ethernet on the desktop) and number of extra packages (more on the desktop).\nA default pre-configured desktop environment composed of Hyprland, a Quickshell bar and the Wofi app launcher is installed, along with other base packages. The full base packages list is available here.\nA nice perk is that the desktop environment\u0026rsquo;s colors automatically adapt to your wallpaper: ","externalUrl":null,"permalink":"/docs/introduction/","section":"Docs","summary":"","title":"Introduction","type":"docs"},{"content":"October Linux provides an installer that takes a JSON configuration file to deploy your system. The JSON defines things like disk partitioning, users and extra packages you want installed.\nThis page goes over all you need to know to prepare your JSON configuration to deploy a fully operational system.\nFull JSON example # { \u0026#34;drives\u0026#34; : [ { \u0026#34;path\u0026#34;: \u0026#34;/dev/xyz\u0026#34;, \u0026#34;append\u0026#34;: true/false, \u0026#34;partitions\u0026#34;: [ { \u0026#34;size\u0026#34;: { \u0026#34;amount\u0026#34;: 1234, \u0026#34;unit\u0026#34;: \u0026#34;MiB/GiB/etc.\u0026#34;, \u0026#34;takeRemaining\u0026#34;: true/false }, \u0026#34;fileSystem\u0026#34;: \u0026#34;btrfs/ext4\u0026#34;, \u0026#34;partitionType\u0026#34;: \u0026#34;gpt partition type (guid)\u0026#34;, \u0026#34;mountPoint\u0026#34;: \u0026#34;/absolute/path/to/directory\u0026#34; } ] } ], \u0026#34;users\u0026#34;: [ { \u0026#34;username\u0026#34;: \u0026#34;[username]\u0026#34;, \u0026#34;password\u0026#34;: \u0026#34;[password]\u0026#34;, \u0026#34;homepath\u0026#34;: \u0026#34;[path to home]\u0026#34;, \u0026#34;sudoer\u0026#34;: true } ], \u0026#34;mirrorCountries\u0026#34;: [ \u0026#34;list of countries\u0026#34; ], \u0026#34;timezone\u0026#34;: \u0026#34;[user timezone]\u0026#34;, \u0026#34;locale\u0026#34;: \u0026#34;[user locale]\u0026#34;, \u0026#34;hostname\u0026#34;: \u0026#34;[user hostname]\u0026#34;, \u0026#34;rootPassword\u0026#34;: \u0026#34;[root password]\u0026#34;, \u0026#34;bestEffortGPU\u0026#34;: true, \u0026#34;extraPackages\u0026#34;: { \u0026#34;officialRepositories\u0026#34;: [\u0026#34;package1\u0026#34;, \u0026#34;package2\u0026#34;], \u0026#34;aur\u0026#34;: [\u0026#34;package1\u0026#34;, \u0026#34;package2\u0026#34;] } } Drives # Drives contains an array of \u0026ldquo;drives\u0026rdquo; and those contain partitions. This section dictates what partitions to create on which drives.\nExample # A basic drive configuration looks like this:\n\u0026#34;drives\u0026#34;: [ { \u0026#34;path\u0026#34;: \u0026#34;/dev/sda\u0026#34;, \u0026#34;append\u0026#34;: false, \u0026#34;partitions\u0026#34;: [ { \u0026#34;size\u0026#34;: { \u0026#34;amount\u0026#34;: 1, \u0026#34;unit\u0026#34;: \u0026#34;GiB\u0026#34; }, \u0026#34;partitionType\u0026#34;: \u0026#34;C12A7328-F81F-11D2-BA4B-00A0C93EC93B\u0026#34; }, { \u0026#34;size\u0026#34;: { \u0026#34;amount\u0026#34;: 4, \u0026#34;unit\u0026#34;: \u0026#34;GiB\u0026#34; }, \u0026#34;partitionType\u0026#34;: \u0026#34;0657FD6D-A4AB-43C4-84E5-0933C84B4F4F\u0026#34; }, { \u0026#34;size\u0026#34;: { \u0026#34;takeRemaining\u0026#34;: true }, \u0026#34;partitionType\u0026#34;: \u0026#34;4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709\u0026#34;, \u0026#34;fileSystem\u0026#34;: \u0026#34;ext4\u0026#34; } ] } ], Supported partition table # Currently, the installer only supports GPT drives, so make sure to format drives on which you\u0026rsquo;ll create partitions to GPT before running the installer.\nThis can be done by doing:\n$ fdisk /dev/sda Command (m for help): g Command (m for help): w Supported partition types # The installer currently support all the listed partition types below. The ones with an asterisk are needed for the system to be functional.\nName GUID Description EFI* C12A7328-F81F-11D2-BA4B-00A0C93EC93B Used for the booloader to boot the system. SWAP* 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F Systems swap space. Root* 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709 The partition that will have root (/). File System 0FC63DAF-8483-4772-8E79-3D69D8477DE4 Partition with data on it. Home 933AC7E1-2EB4-4F13-B844-0E14E2AEF915 Optional partition for home directory. Supported file systems # The installer currently support two file systems:\nbtrfs ext4 Drive, partition and size keys # This is a table of all the keys and descriptions for each of them.\nDrive keys # Name type Description Needed path string The absolute path to the drive. Yes append boolean Whether the new partitions will be appended to the existing partition table or replace it. Yes partitions array of objects Array of all the partitions that need to be created. Yes Partition keys # Name type Description Needed size object The size of the new partition. Yes partitionType string The GUID of the partition type. Yes fileSystem string The partition file system. If partitionType is not EFI or SWAP. mountPoint string The mount point of the drive If partitionType is not EFI, SWAP or Root. Size keys # Name type Description Needed amount integer The size of the new drive. If takeRemaining is false or not present. unit string The unit of the given amount. Units are in *iB (like GiB). If amount is specified. takeRemaining boolean If true, it will take the remaining space of the drive for this partition. If no amount is specified. User # Users contains an array of users that needs to be created after the installation.\nUsers configuration example # { \u0026#34;username\u0026#34;: \u0026#34;testuser\u0026#34;, \u0026#34;password\u0026#34;: \u0026#34;test\u0026#34;, \u0026#34;homepath\u0026#34;: \u0026#34;/home/testuser\u0026#34;, \u0026#34;sudoer\u0026#34;: true } User keys # Name Type Description Needed username string The username of the user. Yes password string The password of the user. Yes homepath string The absolute path to the user home folder. No. Default: /home/[username] sudoer boolean Is the user a sudoer on the new install. Yes General configuration # This part contains all the more \u0026ldquo;general\u0026rdquo; configuration of the installation.\nGeneral configuration example # { \u0026#34;mirrorCountries\u0026#34;: [\u0026#34;Canada\u0026#34;], \u0026#34;timezone\u0026#34;: \u0026#34;America/Montreal\u0026#34;, \u0026#34;locale\u0026#34;: \u0026#34;US.UTF-8\u0026#34;, \u0026#34;hostname\u0026#34;: \u0026#34;testhostname\u0026#34;, \u0026#34;rootPassword\u0026#34;: \u0026#34;test\u0026#34;, \u0026#34;bestEffortGPU\u0026#34;: false, \u0026#34;extraPackages\u0026#34;: { \u0026#34;officialRepositories\u0026#34;: [\u0026#34;package1\u0026#34;, \u0026#34;package2\u0026#34;], \u0026#34;aur\u0026#34;: [\u0026#34;package1\u0026#34;, \u0026#34;package2\u0026#34;] } } General configuration keys # Name Type Description Needed mirrorCountries array of strings Names of the countries you want to use mirrors from. They can be seen on the Arch Wiki. Yes timezone string The timezone you want the system to be set to. Yes locale string The locale you want to set on the system. Only UTF-8 locales are supported. Yes hostname string The hostname of the new system. Yes rootPassword string The root password on the new install. Yes bestEffortGPU boolean If true, it will attempt to install the drivers for the systems GPU on the new install. Only Nvidia, AMD and Intel are supported. Yes extraPackages object The extra packages to be installed on the system. No extraPackages.officialRepositories array of strings The extra packages to be installed from the official Arch Linux repositories No extraPackages.aur array of strings The extra packages to be installed from the Arch User Repository (AUR) No ","externalUrl":null,"permalink":"/docs/json-configuration/","section":"Docs","summary":"","title":"JSON Configuration","type":"docs"},{"content":"Installing October Linux requires downloading the ISO. Once booted up, you will be able to use the october-installer command to start the installation.\nIf using Wi-Fi, you will need to connect using iwctl first.\nFor example: october-installer -json config.json\nThe easiest way to import your JSON configuration into the live ISO is to host it in a GitHub repository and curl it.\nExample # JSON configuration # { \u0026#34;drives\u0026#34;: [ { \u0026#34;path\u0026#34;: \u0026#34;/dev/vda\u0026#34;, \u0026#34;append\u0026#34;: false, \u0026#34;partitions\u0026#34;: [ { \u0026#34;size\u0026#34;: { \u0026#34;amount\u0026#34;: 1, \u0026#34;unit\u0026#34;: \u0026#34;GiB\u0026#34; }, \u0026#34;partitionType\u0026#34;: \u0026#34;C12A7328-F81F-11D2-BA4B-00A0C93EC93B\u0026#34; }, { \u0026#34;size\u0026#34;: { \u0026#34;amount\u0026#34;: 2, \u0026#34;unit\u0026#34;: \u0026#34;GiB\u0026#34; }, \u0026#34;partitionType\u0026#34;: \u0026#34;0657FD6D-A4AB-43C4-84E5-0933C84B4F4F\u0026#34; }, { \u0026#34;size\u0026#34;: { \u0026#34;takeRemaining\u0026#34;: true }, \u0026#34;partitionType\u0026#34;: \u0026#34;4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709\u0026#34;, \u0026#34;fileSystem\u0026#34;: \u0026#34;ext4\u0026#34; } ] } ], \u0026#34;users\u0026#34;: [ { \u0026#34;username\u0026#34;: \u0026#34;arianne\u0026#34;, \u0026#34;password\u0026#34;: \u0026#34;censored\u0026#34;, \u0026#34;sudoer\u0026#34;: true } ], \u0026#34;mirrorCountries\u0026#34;: [\u0026#34;Canada\u0026#34;, \u0026#34;United States\u0026#34;], \u0026#34;timezone\u0026#34;: \u0026#34;America/Montreal\u0026#34;, \u0026#34;locale\u0026#34;: \u0026#34;en_US.UTF-8\u0026#34;, \u0026#34;hostname\u0026#34;: \u0026#34;kitaria\u0026#34;, \u0026#34;rootPassword\u0026#34;: \u0026#34;censored\u0026#34;, \u0026#34;bestEffortGPU\u0026#34;: false, \u0026#34;extraPackages\u0026#34;: { \u0026#34;officialRepositories\u0026#34;: [ \u0026#34;archiso\u0026#34;, \u0026#34;archlinux-xdg-menu\u0026#34;, \u0026#34;btop\u0026#34;, \u0026#34;fastfetch\u0026#34;, \u0026#34;progress\u0026#34;, \u0026#34;python-termcolor\u0026#34;, \u0026#34;zip\u0026#34;, \u0026#34;unzip\u0026#34;, \u0026#34;zed\u0026#34;, \u0026#34;zsh\u0026#34;, \u0026#34;code\u0026#34; ], \u0026#34;aur\u0026#34;: [\u0026#34;go-chroma-bin\u0026#34;, \u0026#34;oh-my-posh-bin\u0026#34;, \u0026#34;onefetch\u0026#34;] } } Installation # ","externalUrl":null,"permalink":"/docs/installation/","section":"Docs","summary":"","title":"Installation","type":"docs"},{"content":"October Linux ships with a default pre-configured desktop environment composed of Hyprland, a Quickshell bar and the Wofi app launcher.\nThe configuration lives within the ~/.config/october-config/ directory. You can change anything you want in this directory, but it might get overriden when you update. However, some subdirectories are designed to let you add on to the configuration, safe from updates.\nConfiguring Hyprland # A base configuration lives in the hypr/base/ directory, but you can add your own configuration files in the hypr/user directory to modify it. Any files in this directory are automatically loaded into Hyprland on top of the base configuration files.\nAdding wallpapers # You can add your wallpapers in the wallpapers/ directory. octoberctl can help you manage this with a command.\nSetting a profile picture # The profile picture for the lockscreen is taken from profile_picture.jpg: override it with any image you\u0026rsquo;d like to make it your profile picture. octoberctl can help you manage this with a command.\nUpdating the configuration # The October Linux configuration files are kept up-to-date by us. To update it with the latest changes from GitHub, use the octoberctl update command.\n","externalUrl":null,"permalink":"/docs/configuration/","section":"Docs","summary":"","title":"Configuration","type":"docs"},{"content":" Keybinds # \u0026ldquo;SUPER\u0026rdquo; can also be referred to as the \u0026ldquo;Windows\u0026rdquo; key. Keybind Action SUPER + M Exit Hyprland SUPER + SHIFT + L Lock the screen SUPER + W Switch wallpaper, picked randomly from the wallpapers/ directory SUPER + RETURN Open terminal SUPER + B Open web browser SUPER + R Open application launcher SHIFT + PRINT Capture the current output PRINT Capture a selected region SUPER + Q Close the active window SUPER + V Toggle floating mode for the active window SUPER + F Toggle fullscreen for the active window SUPER + SHIFT + F Toggle maximized fullscreen for the active window SUPER + ← Focus window to the left SUPER + → Focus window to the right SUPER + ↑ Focus window above SUPER + ↓ Focus window below SUPER + H Focus window to the left SUPER + L Focus window to the right SUPER + K Focus window above SUPER + J Focus window below SUPER + 1–9, 0 Switch to workspace 1–10 (0 = workspace 10) SUPER + SHIFT + 1–9, 0 Move the active window to workspace 1–10 (0 = workspace 10) SUPER + Left Mouse Button Drag/move the active window SUPER + Right Mouse Button Resize the active window octoberctl # octoberctl is the command-line utility used to manage October Linux. It can, amongst other things:\nUpdate the configuration Manage wallpapers Manage the profile picture ","externalUrl":null,"permalink":"/docs/usage/","section":"Docs","summary":"","title":"Usage","type":"docs"},{"content":" October Linux is an Arch-based Linux distribution that provides an installer written in Go, which enables a fast and automated setup using a JSON configuration. The installer deploys a complete system including a pre-configured desktop environment and essential applications to deliver an out-of-the-box experience, while remaining as faithful as possible to the minimalist philosophy of Arch.\nDocumentation\nDownload ISO\nScreenshots # ","date":"31 May 2026","externalUrl":null,"permalink":"/","section":"","summary":"","title":"","type":"page"},{"content":"The list of October Linux releases.\n","date":"31 May 2026","externalUrl":null,"permalink":"/releases/","section":"Releases","summary":"","title":"Releases","type":"releases"},{"content":" ISO # What\u0026rsquo;s Changed # Change swww to awww by @ariannelafraise Add gnome-keyring to the list of packages by @ariannelafraise Full Changelog\nInstaller # What\u0026rsquo;s Changed # Make arch-chroot mockable by @eFournierRobert Update colors.conf to colors.lua in config.go by @ariannelafraise Full Changelog\n","date":"31 May 2026","externalUrl":null,"permalink":"/releases/1.2.1/","section":"Releases","summary":"","title":"v1.2.1","type":"releases"},{"content":"This is the official October blog, where we discuss all things October.\n","date":"11 March 2026","externalUrl":null,"permalink":"/blog/","section":"Blog","summary":"","title":"Blog","type":"blog"},{"content":"","externalUrl":null,"permalink":"/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":"","externalUrl":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"The official documentation for installing, configuring and using October Linux.\n","externalUrl":null,"permalink":"/docs/","section":"Docs","summary":"","title":"Docs","type":"docs"},{"content":"GitHub organization\noctober-os/october-iso The official ISO for October Linux Shell 3 0 october-os/october-installer The official October Linux installer Go 3 0 october-os/october-config The official configuration/dotfiles for October Linux QML 2 0 october-os/octoberctl The official October Linux management utility Go 1 0 october-os/october-assets The official assets for October Linux null 1 0 october-os/october-website CSS 0 0 ","externalUrl":null,"permalink":"/repositories/","section":"","summary":"","title":"Repositories","type":"page"},{"content":"","externalUrl":null,"permalink":"/series/","section":"Series","summary":"","title":"Series","type":"series"},{"content":"","externalUrl":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"}]