nix-configs/configuration.nix
Aaron Honeycutt 95dd1f96ab remove nvd
2025-04-12 11:49:43 -06:00

129 lines
2.8 KiB
Nix

{ config, pkgs, lib, inputs, ... }:
{
imports =
[
./hardware-configuration.nix
];
# Latest kernel
# boot.kernelPackages = pkgs.linuxPackages_latest;
boot.loader = {
systemd-boot.enable = true;
systemd-boot.consoleMode = "0";
systemd-boot.configurationLimit = 5;
};
boot.plymouth.enable = true;
boot.initrd.systemd.enable = true;
boot.kernelParams = [ "quiet" ];
#nix.settings.auto-optimise-store = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 1w";
};
swapDevices = [ {
device = "/var/lib/swapfile";
size = 16*1024;
} ];
zramSwap.enable = true;
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "America/Denver";
# Enter keyboard layout
services.xserver.xkb.layout = "us";
# Define user accounts
users.users.aaronh = {
description = "Aaron Honeycutt";
home = "/home/aaronh";
extraGroups = [ "wheel" "networkmanager" "adm"];
isNormalUser = true;
hashedPassword = "$6$aAcbLtqiqzySifls$jdKMOQjoWITHD/dWNNZVUH/qNc6aoJ7v4zYofi0U7IJSVTbmOfChS3mzaJbp57AodjdPNKPrnrip8Nlh2Qanx.";
};
# Allow Unfree
nixpkgs.config.allowUnfree = true;
# Install some packages
environment.systemPackages =
with pkgs;
[
# nixpkgs CLI tools
avahi
dmidecode
freshfetch
git
git-lfs
helix
libcamera
lshw
restic
unzip
wget
xz
zellij
zlib
# GUI tools
firefox
# Flake CLI tools
inputs.pinix.packages.${system}.default
];
# Enable/Disable hardware
## Turn off PulseAudio
#services.pulseaudio.enable = false;
# Enable Pipewire
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# Enable Bluetooth
hardware.bluetooth.enable = true;
# Enable services
services.fwupd.enable = true;
services.printing.enable = true;
services.openssh.enable = true;
services.avahi = {
enable = true;
#nssmdns4 = true;
openFirewall = true;
# Needed for detecting scanners
publish = {
enable = true;
addresses = true;
userServices = true;
};
};
# Scanner support
hardware.sane.enable = true;
hardware.sane.extraBackends = [ pkgs.sane-airscan ];
services.ipp-usb.enable = true;
services.hardware.bolt.enable = true;
# System
system.stateVersion = "24.11";
system.autoUpgrade.enable = true;
}