compatibility module for apple silicon via asahi linux
Find a file
Youwen Wu 02c3a04945
flake.lock: Update
Flake lock file updates:

• Updated input 'nixos-apple-silicon':
    'github:nix-community/nixos-apple-silicon/530aa73aa9a21a078ff861b84767ae1d469715fa?narHash=sha256-njwPfL5gM/KRGLJ29CbQ4nLBoEkNPMvEHBAAPOP8BZc%3D' (2026-01-05)
  → 'github:nix-community/nixos-apple-silicon/749992a1cd11092ac9eea8a05fb953f591df59db?narHash=sha256-/3Hk9YEI%2B9vA2%2B4AFErByc1V3LcCDNThmXYhFWlkQiU%3D' (2026-01-27)
• Updated input 'nixos-apple-silicon/flake-compat':
    'github:nix-community/flake-compat/0f158086a2ecdbb138cd0429410e44994f1b7e4b?narHash=sha256-5SSSZ/oQkwfcAz/o/6TlejlVGqeK08wyREBQ5qFFPhM%3D' (2025-05-02)
  → 'github:nix-community/flake-compat/4a56054d8ffc173222d09dad23adf4ba946c8884?narHash=sha256-AtrEP6Jmdvrqiv4x2xa5mrtaIp3OEe8uBYCDZDS%2Bhu8%3D' (2025-10-28)
• Updated input 'nixos-apple-silicon/nixpkgs':
    'github:NixOS/nixpkgs/c5ae371f1a6a7fd27823bc500d9390b38c05fa55?narHash=sha256-4PqRErxfe%2B2toFJFgcRKZ0UI9NSIOJa%2B7RXVtBhy4KE%3D' (2025-11-12)
  → 'github:NixOS/nixpkgs/1412caf7bf9e660f2f962917c14b1ea1c3bc695e?narHash=sha256-AIdl6WAn9aymeaH/NvBj0H9qM%2BXuAuYbGMZaP0zcXAQ%3D' (2026-01-13)
2026-01-28 11:11:05 -08:00
hm-modules feat: commit initial module 2025-12-23 21:13:22 -08:00
nixos-modules feat: commit initial module 2025-12-23 21:13:22 -08:00
flake.lock flake.lock: Update 2026-01-28 11:11:05 -08:00
flake.nix feat: commit initial module 2025-12-23 21:13:22 -08:00
LICENSE Initial commit 2025-12-23 20:18:56 -08:00
README.md feat: commit initial module 2025-12-23 21:13:22 -08:00

functoros-apple-silicon

compatibility module for apple silicon via asahi linux

usage

You will need to import both the NixOS module and Home Manager module for best results.

# configuration.nix
{
  imports = [
    functoros-apple-silicon.nixosModules.default
  ];
}
# home.nix
{
  imports = [
    functoros-apple-silicon.homeManagerModules.default
  ];
}

main module options

# NixOS module options
{
  functorOS.apple-silicon = {
    # whether to enable the module and set sane defaults
    enable = true;
    # must set to path of firmware directory obtained from installation
    peripheralFirmwareDirectory = ./firmware;

    # you can set battery limits like this.
    # start is threshold when charging begins, end is when charging ends.
    # should be integers 1-100.
    battery.limit = {
      start = 80;
      end = 90;
    };

    # enable the notch, and also some hyprland customizations tailored for it
    # (only if HM module is imported).
    notch.enable = true;
  };
}

You should read the code for the rest of the options.