dotfiles/hosts/linux/spotlights-macbook-air/configuration.nix

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 = ./firmware;
# 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";
}