2025-01-21 02:43:35 +00:00
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
{
|
2025-01-23 14:26:51 +00:00
|
|
|
# allow flakes
|
|
|
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
2025-01-21 02:43:35 +00:00
|
|
|
|
|
|
|
# common system packages
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
# editor
|
|
|
|
vim
|
|
|
|
# lib
|
|
|
|
libz
|
|
|
|
openssl
|
|
|
|
# shell
|
|
|
|
bash
|
|
|
|
zsh
|
|
|
|
# utility
|
|
|
|
acpi
|
|
|
|
curl
|
2025-01-24 15:07:23 +00:00
|
|
|
dig
|
2025-01-23 19:53:38 +00:00
|
|
|
file
|
2025-01-21 02:43:35 +00:00
|
|
|
htop
|
|
|
|
openssh
|
|
|
|
p7zip
|
|
|
|
ripgrep
|
2025-01-22 15:06:45 +00:00
|
|
|
sbctl
|
2025-01-21 02:43:35 +00:00
|
|
|
tree
|
|
|
|
unzip
|
|
|
|
wget
|
|
|
|
];
|
|
|
|
|
2025-01-21 03:03:03 +00:00
|
|
|
# use the latest kernel
|
|
|
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
|
|
|
2025-01-21 02:43:35 +00:00
|
|
|
# timezone
|
2025-01-21 15:34:59 +00:00
|
|
|
time.timeZone = "America/New_York";
|
2025-01-21 02:43:35 +00:00
|
|
|
|
|
|
|
# locale
|
|
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
|
|
|
2025-01-23 14:26:51 +00:00
|
|
|
# services
|
|
|
|
networking.networkmanager.enable = true;
|
|
|
|
services.fwupd.enable = true;
|
|
|
|
services.libinput.enable = true;
|
|
|
|
services.pcscd.enable = true;
|
|
|
|
services.printing.enable = true;
|
2025-01-21 02:43:35 +00:00
|
|
|
services.pipewire = {
|
2025-01-23 14:26:51 +00:00
|
|
|
enable = true;
|
|
|
|
alsa.enable = true;
|
|
|
|
pulse.enable = true;
|
|
|
|
jack.enable = true;
|
2025-01-21 02:43:35 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
# create user account
|
|
|
|
users.users.${config.user} = {
|
|
|
|
isNormalUser = true;
|
|
|
|
description = config.fullName;
|
2025-01-23 14:26:51 +00:00
|
|
|
extraGroups = [ "networkmanager" "wheel" "sys" "video" "audio" ];
|
2025-01-21 02:43:35 +00:00
|
|
|
home = config.homePath;
|
|
|
|
shell = pkgs.zsh;
|
|
|
|
};
|
|
|
|
|
|
|
|
# certs
|
|
|
|
security.pki.certificateFiles = [
|
2025-01-23 14:26:51 +00:00
|
|
|
../../files/certs/freyanet.crt
|
2025-01-21 02:43:35 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
# fonts
|
|
|
|
fonts.packages = with pkgs; [
|
|
|
|
dejavu_fonts
|
|
|
|
fira-code
|
|
|
|
fira-code-symbols
|
|
|
|
jetbrains-mono
|
|
|
|
material-icons
|
|
|
|
nerd-fonts.fira-code
|
|
|
|
noto-fonts
|
|
|
|
noto-fonts-cjk-sans
|
|
|
|
noto-fonts-emoji
|
|
|
|
twemoji-color-font
|
|
|
|
];
|
|
|
|
|
|
|
|
fonts.fontconfig = {
|
|
|
|
enable = true;
|
|
|
|
defaultFonts = {
|
|
|
|
serif = [
|
|
|
|
"Twemoji"
|
|
|
|
"DejaVu Serif"
|
|
|
|
];
|
|
|
|
sansSerif = [
|
|
|
|
"Twemoji"
|
|
|
|
"DejaVu Sans"
|
|
|
|
];
|
|
|
|
monospace = [
|
|
|
|
"Fira Code"
|
|
|
|
"FiraCode Nerd Font Mono"
|
|
|
|
"Font Awesome 6 Pro Regular"
|
|
|
|
"Twemoji"
|
|
|
|
"DejaVu Sans Mono"
|
|
|
|
];
|
|
|
|
emoji = [
|
|
|
|
"Twemoji"
|
|
|
|
"Noto Color Emoji"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|