nixos/nixos/configuration.nix

88 lines
2 KiB
Nix

{
pkgs,
...
}:
{
imports = [
./nixvim/nixvim.nix
./programs/common.nix
./programs/steam.nix
./programs/system-packages.nix
./programs/xppen.nix
./programs/fonts.nix
./hardware/bluetooth.nix
./services/common.nix
./services/pipewire.nix
./services/ly.nix
./stylix/stylix.nix
];
documentation = {
dev.enable = true;
man = {
man-db.enable = false;
mandoc.enable = true;
};
};
boot.loader.systemd-boot = {
edk2-uefi-shell.enable = true;
configurationLimit = 5;
};
boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = pkgs.linuxPackages_latest;
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
nix.package = pkgs.lixPackageSets.stable.lix;
nix.settings.trusted-users = [ "lucy" ];
networking.hostName = "nixos"; # Define your hostname.
networking.networkmanager.enable = true;
networking.networkmanager.wifi.powersave = false;
time.timeZone = "Europe/Berlin";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8";
LC_MEASUREMENT = "de_DE.UTF-8";
LC_MONETARY = "de_DE.UTF-8";
LC_NAME = "de_DE.UTF-8";
LC_NUMERIC = "de_DE.UTF-8";
LC_PAPER = "de_DE.UTF-8";
LC_TELEPHONE = "de_DE.UTF-8";
LC_TIME = "de_DE.UTF-8";
};
services.xserver.xkb = {
layout = "eu";
variant = "";
};
security.polkit = {
enable = true;
enablePkexecWrapper = true;
};
security.doas.enable = true;
security.doas.extraRules = [
{
users = [
"lucy"
"root"
];
groups = [ "wheel" ];
keepEnv = true;
persist = true; # Optional, only require password verification a single time
}
];
users.users."lucy" = {
shell = pkgs.zsh;
isNormalUser = true;
description = "lucy";
extraGroups = [
"networkmanager"
"wheel"
];
};
nixpkgs.config.allowUnfree = true;
system.stateVersion = "26.05"; # Did you read the comment?
}