pluto-flake/hosts/generic.nix
2026-02-21 18:54:47 +08:00

125 lines
3 KiB
Nix

{ config, pkgs, lib, inputs, ...}:
{
imports = [
# ../../pkgs
];
nix.settings.experimental-features = "nix-command flakes";
networking.networkmanager = {
enable = true;
};
networking.hostName = config.var.hostname;
time.timeZone = config.var.timezone;
i18n.defaultLocale = config.var.locale;
i18n.extraLocaleSettings = {
LC_ADDRESS = config.var.locale;
LC_IDENTIFICATION = config.var.locale;
LC_MEASUREMENT = config.var.locale;
LC_MONETARY = config.var.locale;
LC_NAME = config.var.locale;
LC_NUMERIC = config.var.locale;
LC_PAPER = config.var.locale;
LC_TELEPHONE = config.var.locale;
LC_TIME = config.var.locale;
};
services.gnome.gnome-keyring.enable = true;
security.pam.services.greetd.enableGnomeKeyring = true;
security.pam.services.greetd.gnupg.enable = true;
security.pam.services.login = {
enableGnomeKeyring = true;
gnupg.enable = true;
};
systemd.user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
security.polkit.enable = true;
boot.loader.systemd-boot.enable = false;
boot.loader.limine = {
enable = true;
style.wallpapers = [];
additionalFiles = {
"efi/memtest86/memtest86.efi" = "${pkgs.memtest86-efi}/BOOTX64.efi";
"efi/shell.efi" = "${pkgs.edk2-uefi-shell}/shell.efi";
};
extraEntries = ''
/memtest86
protocol: efi
path: boot():/limine/efi/memtest86/memtest86.efi
/shell
protocol: efi
path: boot():/limine/efi/shell.efi
'';
};
boot.loader.efi.canTouchEfiVariables = true;
powerManagement.cpuFreqGovernor = "performance";
services.gvfs.enable = true;
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [mesa.opencl libvdpau-va-gl libva-vdpau-driver vulkan-validation-layers];
extraPackages32 = with pkgs; [driversi686Linux.mesa.opencl];
};
services.xserver.enable = true;
programs.dconf.enable = true;
services.xserver.xkb = {
layout = "us";
variant = "";
};
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
services.udisks2.enable = true;
users.users.${config.var.username} = {
isNormalUser = true;
};
services.libinput.enable = true;
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
];
fonts.packages = with pkgs; [
jetbrains-mono
nerd-fonts.iosevka
noto-fonts
noto-fonts-cjk-sans
noto-fonts-color-emoji
];
system.stateVersion = "26.05";
}