Files
nix-flake/system/common.nix

88 lines
1.8 KiB
Nix

{ config, pkgs, ... }:
{
imports = [
./flatpak.nix
];
# Common system configuration shared across all machines
# Bootloader
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Networking
networking.networkmanager.enable = true;
# Timezone and locale
time.timeZone = "Europe/London";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Enable sound
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
# Enable CUPS for printing
services.printing.enable = true;
# Enable OpenGL
hardware.graphics = {
enable = true;
enable32Bit = true;
};
# System-wide packages
environment.systemPackages = with pkgs; [
vim
wget
curl
git
htop
neofetch
unzip
zip
];
# Enable flakes
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# Hyprland Cachix binary cache
nix.settings = {
substituters = [
"https://cache.nixos.org"
"https://hyprland.cachix.org"
];
trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
];
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# Enable networking
networking.firewall.enable = true;
# System state version
system.stateVersion = "25.05";
}