{
  config,
  lib,
  pkgs,
  inputs,
  system,
  sources,
  modulesPath,
  ...
}: let
  cfg = config.mods;
in {
  # Hardware
  imports = [
    ./hardware-configuration.nix
    "${
      builtins.fetchTarball {
        url = "https://github.com/nix-community/disko/archive/refs/tags/v1.12.0.tar.gz";
        sha256 = "0wbx518d2x54yn4xh98cgm65wvj0gpy6nia6ra7ns4j63hx14fkq";
      }
    }/module.nix"
    ./disk-config.nix
    # (inputs.nixpkgs
    #   + "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix")
  ];

  environment.systemPackages = with inputs.nix-alien.packages.${system}; [nix-alien];

  # System
  mods.user.name = "muon";
  networking.hostName = "muvo";
  networking.hostId = "a2309040";
  mods.home.file = ./home.nix;

  # Modules
  mods.desktop.enable = true;
  mods.boot.enable = true;

  mods.theme.enable = true;
  mods.theme.scheme = "woodland";
  mods.theme.wallpaper = ./wallpaper.png;

  services.xserver.windowManager.i3.enable = true;

  mods.impermanence.enable = true;

  # Persist
  environment.persistence."/persist" = {
    directories = ["/etc/NetworkManager" "/var/lib/NetworkManager"];
  };

  # Hardware preferences
  environment.variables = {
    WINIT_HIDPI_FACTOR = "1";
    WINIT_X11_SCALE_FACTOR = "1";
  };

  ## Laptop
  powerManagement.enable = true;
  services.thermald.enable = true;
  services.tlp.enable = true;
  services.fwupd.enable = true;

  ## Mouse
  services.libinput.mouse.accelProfile = "flat";

  # Version of first install
  system.stateVersion = "23.05";
}
