dots/modules/nixos/default.nix
2023-09-13 23:40:35 -04:00

128 lines
3.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.

{ config, pkgs, ... }: let
user = "gene";
hostname = "rainbow-planet";
in {
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
system.stateVersion = "23.05";
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking = {
hostName = "${hostname}";
networkmanager.enable = true;
};
time.timeZone = "America/New_York";
# Select internationalisation properties.
i18n = {
defaultLocale = "en_US.UTF-8";
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";
};
};
services.xserver = {
enable = true; # Enable the X11 windowing system.
# Configure keymap in X11
layout = "us";
xkbVariant = "";
};
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
services.udev.packages = with pkgs; [
gnome.gnome-settings-daemon
];
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
users.users.${user} = {
isNormalUser = true;
description = "Gene Liverman";
extraGroups = [ "networkmanager" "wheel" "dialout" ];
packages = with pkgs; [
tailscale-systray
];
};
environment.shells = with pkgs; [ bash zsh ];
users.defaultUserShell = pkgs.zsh;
programs.zsh.enable = true;
security.sudo.wheelNeedsPassword = false;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
dconf2nix
firefox
gnomeExtensions.appindicator
gnomeExtensions.caffeine
gnomeExtensions.dash-to-panel
gnomeExtensions.user-themes
libreoffice
neofetch
tailscale
tilix
vivaldi
];
programs._1password.enable = true;
programs._1password-gui = {
enable = true;
# Certain features, including CLI integration and system authentication support,
# require enabling PolKit integration on some desktop environments (e.g. Plasma).
polkitPolicyOwners = [ "${user}" ];
};
nix.settings = {
allowed-users = [ "${user}" ];
experimental-features = [
"flakes"
"nix-command"
];
};
fonts.fontDir.enable = false;
fonts.packages = [ (pkgs.nerdfonts.override { fonts = [
"Hack"
"SourceCodePro"
]; }) ];
}