nix-flakes/hosts/machine/ena/configuration.nix
2026-09-14 12:09:52 +09:00

75 lines
2.3 KiB
Nix

{
config,
pkgs,
lib,
inputs,
...
}:
{
imports = [
./hardware-configuration.nix
"${inputs.self}/modules/mizukios/machine.nix"
"${inputs.self}/modules/mizukios/desktop.nix"
"${inputs.self}/modules/mizukios/features/figma-agent.nix"
"${inputs.self}/modules/mizukios/features/system/sbctl.nix"
"${inputs.self}/modules/mizukios/features/system/grub-standalone.nix"
"${inputs.self}/modules/mizukios/features/system/virtualisation.nix"
"${inputs.self}/modules/mizukios/features/management/cockpit.nix"
"${inputs.self}/modules/mizukios/features/system/bluetooth.nix"
"${inputs.self}/modules/mizukios/features/system/graphics.nix"
"${inputs.self}/modules/mizukios/features/steam.nix"
"${inputs.self}/modules/mizukios/features/_1password.nix"
"${inputs.self}/modules/mizukios/features/hyprland.nix"
./sddm.nix
];
catppuccin.flavor = lib.mkForce "mocha";
networking = {
hostName = "ena";
};
services.printing.enable = true;
services.power-profiles-daemon.enable = true;
services.upower.enable = true;
services.asusd.enable = true;
services.netbird.enable = true;
# Quickshell stores the AI API key through the Secret Service API. Hyprland
# does not start GNOME Keyring by itself, so enable it explicitly for the
# SDDM/PAM session as well as D-Bus activation.
services.gnome.gnome-keyring.enable = true;
# Quickshell's on-screen keyboard sends virtual key events through ydotool.
# Keep the daemon and uinput device available to the desktop session.
programs.ydotool.enable = true;
hardware.uinput.enable = true;
users.users.imnyang.extraGroups = [ "ydotool" ];
systemd.services.asusctl-battery-limit = {
description = "Set ASUS battery charge limit";
wantedBy = [ "multi-user.target" ];
wants = [ "asusd.service" ];
after = [ "asusd.service" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.asusctl}/bin/asusctl battery limit 95";
RemainAfterExit = true;
};
};
services.cloudflare-warp.enable = true;
boot.plymouth = {
enable = true;
theme = "spinner";
};
# Wine needs both 64-bit and 32-bit userspace for typical Windows programs.
environment.systemPackages = with pkgs; [
wineWow64Packages.stable
winetricks
];
system.stateVersion = "25.11";
}