Aborav3
TinyPMDownloadDocsWorkstationsArchivesv3v4
GitHub Download

Documentation

  • Screenshots
  • Introduction
  • Installation
  • Quick Start

Core Features

  • Desktop Environments
  • Installer
  • System Management

Tools & Commands

  • ANIX Profiles
  • TinyPM
  • Abora Commands

Configuration

  • System Config
  • Update Channels
  • Flatpak Setup

Advanced

  • Recovery & Rollback
  • Building from Source
  • Contributing

System Configuration

Customize your Abora system by editing configuration files and applying changes.

Configuration Files

/etc/nixos/configuration.nix

Your main system configuration file. Define packages, services, and settings here.

/etc/nixos/abora-local.nix

Abora-specific settings: hostname, timezone, locale, desktop choice.

~/.config/

User-level application configurations and dotfiles.

Basic Configuration Structure

Your configuration.nix follows this structure:

{ config, pkgs, ... }:

{
  # System packages
  environment.systemPackages = [
    pkgs.vim
    pkgs.git
  ];

  # Enable services
  services.openssh.enable = true;

  # Set hostname
  networking.hostname = "my-machine";

  # Set timezone
  time.timeZone = "America/New_York";
}

Common Configuration Tasks

Install System Packages

Add packages to your system:

environment.systemPackages = [ pkgs.vim pkgs.git pkgs.curl ];

Run anix switch to install.

Set Hostname

Change your system hostname:

networking.hostname = "my-new-hostname";

Set Timezone

Configure your timezone:

time.timeZone = "America/Los_Angeles";

See all available timezones in /usr/share/zoneinfo

Enable SSH

Allow remote login via SSH:

services.openssh.enable = true;

Set Locale

Configure system language and locale:

i18n.defaultLocale = "en_US.UTF-8";

Change Desktop

Switch to a different desktop environment:

abora config set desktop kde

Abora-Local Configuration

The /etc/nixos/abora-local.nix file contains Abora-specific settings. Edit it directly or use `abora config`:

abora.hostname = "my-pc";
abora.timezone = "America/New_York";
abora.desktop = "gnome";
abora.locale = "en_US.UTF-8";

Or use commands:

abora config set hostname my-pc
abora config set timezone America/New_York
abora config set desktop hyprland
abora config apply

Applying Changes

After editing your configuration, apply changes:

sudo nano /etc/nixos/configuration.nix
# Make your edits
anix switch
# Apply changes

Most changes take effect immediately. Desktop changes usually require logout/login or reboot.

Services Management

Enable or disable system services by editing configuration:

Enable SSH

services.openssh.enable = true;

Enable Docker

virtualisation.docker.enable = true;

Enable Bluetooth

hardware.bluetooth.enable = true;

User Management

Create additional user accounts through configuration:

users.users.alice = {
  isNormalUser = true;
  home = "/home/alice";
  extraGroups = [ "wheel" "docker" ];
};

User-Level Configuration

User-specific settings go in ~/.config/. These are managed separately from system configuration and don't require sudo:

  • • Application settings: ~/.config/application-name/
  • • Shell configuration: ~/.bashrc, ~/.zshrc
  • • Editor config: ~/.config/vim/, ~/.config/nvim/

Troubleshooting

Configuration has syntax errors

Run nix-instantiate /etc/nixos/configuration.nix to check for errors.

anix switch fails

Check the error message. Usually a package name is wrong or doesn't exist. Verify with nix-env -qa | grep package-name

Changes didn't take effect

Some changes (like desktop environment) require reboot or logout/login. Check the documentation for the specific setting.

Need to rollback? See the Recovery guide.