peter-nixos/configuration.nix
Benson Chu fd0f029e99 Let there be light!
Honestly, you should be ashamed that this hasn't been source
controlled sooner. Tsk tsk tsk.
2024-01-26 08:07:20 -06:00

175 lines
6.5 KiB
Nix

{ config, pkgs, ... }:
{
imports = [ ./hardware-configuration.nix ];
networking.hostId = "7be305c3";
networking.hostName = "sandy";
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.networkmanager.enable = true;
time.timeZone = "America/Chicago";
i18n.defaultLocale = "en_US.UTF-8";
i18n.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";
};
nixpkgs.config.allowUnfree = true;
nix = {
package = pkgs.nixFlakes;
extraOptions = ''
experimental-features = nix-command flakes
'';
};
services = {
openssh.enable = true;
tailscale.enable = true;
zfs.autoSnapshot.enable = true;
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
hardware.bolt.enable = true;
xserver = {
enable = true;
displayManager.lightdm.enable = true;
desktopManager.plasma5.enable = true;
displayManager.defaultSession = "plasmawayland";
displayManager.autoLogin.enable = true;
displayManager.autoLogin.user = "hodgson";
layout = "us";
xkbVariant = "";
};
emacs = {
enable = true;
install = true;
startWithGraphical = true;
};
nscd.enable = true;
printing.enable = true;
};
programs.zsh.enable = true;
services.avahi = {
enable = true;
nssmdns = true;
openFirewall = true;
publish = {
enable = true;
userServices = true;
};
};
services.printing = {
listenAddresses = [ "*:631" ];
allowFrom = [ "all" ];
browsing = true;
defaultShared = true;
openFirewall = true;
drivers = [ pkgs.epson-escpr2 pkgs.epson-escpr pkgs.epson-201106w pkgs.gutenprint ];
};
sound.enable = true;
hardware.pulseaudio.enable = false;
hardware.printers = {
};
security = {
rtkit.enable = true;
sudo.wheelNeedsPassword = false;
};
users.users.nshields = {
isNormalUser = true;
shell = pkgs.zsh;
description = "Nikolai Shields";
extraGroups = [ "lp" "docker" "networkmanager" "wheel" "podman" ];
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCpQBfim54pBdMAHJyYrrOpgma5EEE0GxVs92ax+WzJNIoXsuaQUVxQ8adzO7lIxwIrYQKt8uciKmsUJWRMSEKsmo6fgFUD767+d68+oz/IJitUnYHsPYfo0vsQGsiGkGi+goZ9UoLnmmOkbrGcasKrVqyM0zyd9X2cWa2CYnVU3BTa0r6+2cMBnUVI5ZigdaNm9jDiPJMMCYB60YI8A3bGZr6iNvfUSJ9p3ZTUshGzLO7ubJEZdUaa1YVOyZhZNz/u3eiBN9I+F49pV8EOazAFS5XZpkH8qxxl1fKKhNMtpYxx4UolesvfCf19qxf8ElNL2x70GPxhZApZ+IW0Ia2FwGmBYJq82Rd44fUHs+qK81a97auvj+fHCf+7wVLIoKTjg3sbOnVCCOe9/tYbzy/W+Bxbp1mCkvvfCirGX+P8VovbTGliwBAFwFBTNXqxlB363Fu9hmJxVUae1llMba7/FDcydgRsDSw4sNm/1lvyBrd4Fkh5CHfZFh3GGgVBpfXarYovq4TdmyuDEAqOVXJSiBUXhhhb3K40hJfNirgyO4+4C8S2VlpyWNMGGr5vDUzOKK8f1iEWiwItTg+vMTjqikuEaug+V4ZyaJiCI/p9M27+EC6K3VGLxhY4GyyMfzxbaq+08/2fmBv38izF0q7J1xJT0wvAj+bC6caZdYzIAw=="
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMrs3AFRgL4YfA7aMAD7X3O9kihcSCJKY8GiyWYV6Jwx"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMyMRFu9m1ZSBqq/bAh4Vi2XDhPBkrCnYNddDizTu7Ob"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA8O6W8B0w4JdCl+1AoHEQ861gVPkPxH0FWU1tM3JVxb"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE0byzjdB7Um+ODCLNUrupMtAc/pHlznhq38y/gUPKIq"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOjlyVh1/GW3KTdGnzSDP6oii13NLIk61v6FFKuRcvz/"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINX5/yQ/mXI/qqWHWd0+lNt6rBnhDA9p5YgMBmfp3Xtk"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKtQOHXIfltnEVMxgHlxgUNB/o6Bey6vdMWtwSfo+U4q"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG90xfsjQSCH/nKyXlBujpJshZHb9yWzqDH8fLKKl9T2"
];
};
users.users.benson = {
isNormalUser = true;
shell = pkgs.zsh;
description = "Benson Chu";
extraGroups = [ "wheel" ];
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDvIHZGAD3sLB8SKxXCaJDyuSceX3lMjKKUL2cvciPSPNUXnM3hgtWrL0c4xsWw9tF2NPiANtVXjrFMoE9+j875XbbBXkpTr/HXP2+3Zjo7SgZUW2YNUbY5oPkPc5/m4BAYUGrycQNOmCvEm9hHEdMob3LnmPzImA+GHxYisL0Hi1qRDj5gjLooMOuJdFl22BddxBQk0GsSHnHpSH7Y9OMzmA2oxs7yUaYWP9aE4Ksh7HqDVavHKZDJIjujx7KkJG2a9aAw++tau81O7fJhN5aLmw8OenxNNcyXK94La9z8s7yp2G5rVTnJj6dbCklSeFHO8Oi5D7IdDRK668N9yWL5 benson@ArchLinuvo"
];
};
users.users.hodgson = {
isNormalUser = true;
shell = pkgs.zsh;
description = "Peter Hodgson";
extraGroups = [ "lp" "wheel" ];
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCpQBfim54pBdMAHJyYrrOpgma5EEE0GxVs92ax+WzJNIoXsuaQUVxQ8adzO7lIxwIrYQKt8uciKmsUJWRMSEKsmo6fgFUD767+d68+oz/IJitUnYHsPYfo0vsQGsiGkGi+goZ9UoLnmmOkbrGcasKrVqyM0zyd9X2cWa2CYnVU3BTa0r6+2cMBnUVI5ZigdaNm9jDiPJMMCYB60YI8A3bGZr6iNvfUSJ9p3ZTUshGzLO7ubJEZdUaa1YVOyZhZNz/u3eiBN9I+F49pV8EOazAFS5XZpkH8qxxl1fKKhNMtpYxx4UolesvfCf19qxf8ElNL2x70GPxhZApZ+IW0Ia2FwGmBYJq82Rd44fUHs+qK81a97auvj+fHCf+7wVLIoKTjg3sbOnVCCOe9/tYbzy/W+Bxbp1mCkvvfCirGX+P8VovbTGliwBAFwFBTNXqxlB363Fu9hmJxVUae1llMba7/FDcydgRsDSw4sNm/1lvyBrd4Fkh5CHfZFh3GGgVBpfXarYovq4TdmyuDEAqOVXJSiBUXhhhb3K40hJfNirgyO4+4C8S2VlpyWNMGGr5vDUzOKK8f1iEWiwItTg+vMTjqikuEaug+V4ZyaJiCI/p9M27+EC6K3VGLxhY4GyyMfzxbaq+08/2fmBv38izF0q7J1xJT0wvAj+bC6caZdYzIAw=="
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMrs3AFRgL4YfA7aMAD7X3O9kihcSCJKY8GiyWYV6Jwx"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMyMRFu9m1ZSBqq/bAh4Vi2XDhPBkrCnYNddDizTu7Ob"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA8O6W8B0w4JdCl+1AoHEQ861gVPkPxH0FWU1tM3JVxb"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE0byzjdB7Um+ODCLNUrupMtAc/pHlznhq38y/gUPKIq"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOjlyVh1/GW3KTdGnzSDP6oii13NLIk61v6FFKuRcvz/"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINX5/yQ/mXI/qqWHWd0+lNt6rBnhDA9p5YgMBmfp3Xtk"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKtQOHXIfltnEVMxgHlxgUNB/o6Bey6vdMWtwSfo+U4q"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG90xfsjQSCH/nKyXlBujpJshZHb9yWzqDH8fLKKl9T2"
];
};
environment.systemPackages = with pkgs; [
gnome.gnome-tweaks
gnome.networkmanager-openconnect
google-chrome
nss
htop
sssd
nsss
vim
git
curl
wget
wl-clipboard
unscd
glibc
glib
openconnect
emacs
ispell
tmux
libsForQt5.plasma-thunderbolt
nmap
];
networking.firewall.allowedTCPPorts = [ 22 ];
networking.firewall.allowedUDPPorts = [ ];
networking.firewall.enable = true;
system.stateVersion = "23.05"; # Did you read the comment?
}