Files
nixos-config/configuration.nix
2024-03-04 14:08:21 +01:00

92 lines
2.1 KiB
Nix

{ config, lib, pkgs, ... }:
{
# Include the results of the hardware scan.
imports = [ ./hardware-configuration.nix ];
# Use the systemd-boot EFI boot loader.
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
# Chose NetworkManager and hostname.
networking = {
hostName = "eliasLaptop";
networkmanager.enable = true;
};
# Set your time zone.
time.timeZone = "Europe/Berlin";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
console = {
font = "Lat2-Terminus16";
# Use xkb.options in tty.
useXkbConfig = true;
};
# Activate Flakes.
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# Enable sound.
sound.enable = true;
hardware.pulseaudio.enable = true;
services = {
# Set XServer Options.
xserver = {
enable = true;
displayManager = {
sddm = {
enable = true;
theme = "catppuccin-mocha";
};
defaultSession = "none+xmonad";
};
libinput.enable = true; # Enable touchpad.
windowManager.xmonad.enable = true;
xkb.layout = "de";
};
# Enable CUPS to print.
printing.enable = true;
# For Samba support in Nautilus.
gvfs.enable = true;
};
# Define a user account.
users = {
mutableUsers = false;
users.elias = {
isNormalUser = true;
home = "/home/elias";
shell = pkgs.zsh;
extraGroups = [ "wheel" "networkmanager" ];
hashedPassword =
"$6$pdAJt1f0v7Zb13Ri$1WpKrErAp5JCb7eXs7EeeWYRMBLu5/WKDdMyGzJyYQDijG2NiywUXpAkl/8p1noxOOqYbb.MTw7JmTzhWGsT21";
};
};
# Basic Packages.
environment.systemPackages = with pkgs; [
(libsForQt5.callPackage ./home/themes/catppuccin-sddm.nix { })
git
wget
curl
alacritty
dmenu
gnome.nautilus
lxqt.lxqt-policykit # provides a default authentication client for policykit
];
# Enable zsh for setting it as shell for users.
programs.zsh.enable = true;
# Set stateVersion. Leave it as set.
system.stateVersion = "23.11";
}