dotfiles/hosts/linux/spotlights-macbook-air/configuration.nix
Spotlight 659d10fd78
spotlights-macbook-air: Read firmware directly off boot partition
This allows us to avoid intermixing firmware within the repository. We already must build this specific flake configuration as impure due to mesa replacement.

This may be revisited in the future, but it allows for significantly less hassle at the moment.
2024-11-03 02:12:56 -06:00

97 lines
2.1 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{ config, lib, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
];
nix.settings.experimental-features = [ "flakes" "nix-command" ];
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = false;
# GPU enablement
hardware.asahi = {
peripheralFirmwareDirectory = /boot/asahi;
# GPU enablement
useExperimentalGPUDriver = true;
experimentalGPUInstallMode = "replace";
withRust = true;
};
networking = {
hostName = "spotlights-macbook-air";
wireless.iwd = {
enable = true;
settings.General.EnableNetworkConfiguration = true;
};
networkmanager.enable = true;
};
services = {
# Enable GNOME
xserver = {
enable = true;
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
};
avahi = {
enable = true;
# Enable .local resolution
nssmdns4 = true;
};
# Enable CUPS to print documents.
printing.enable = true;
};
# Our user account.
programs.zsh.enable = true;
users.users.spotlight = {
isNormalUser = true;
extraGroups = [ "wheel" ]; # Enable sudo for the user.
shell = pkgs.zsh;
};
environment.systemPackages = with pkgs; [
cachix
firefox
git
htop
gnomeExtensions.appindicator
legcord
minicom
nix-output-monitor
python3
seafile-client
telegram-desktop
tmux
usbutils
vim
vscode
wget
];
# :(
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"vscode"
];
# Allow location services.
location.provider = "geoclue2";
services.geoclue2.enable = true;
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
programs.gnupg.agent = {
enable = true;
pinentryPackage = pkgs.pinentry-gnome3;
};
system.stateVersion = "24.05";
}