summaryrefslogtreecommitdiff
path: root/nix/system/default.nix
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2025-01-23 09:26:51 -0500
committerFreya Murphy <freya@freyacat.org>2025-01-23 09:26:51 -0500
commit1a51f2f555b182673e3f9b3e38fb2ab0e57dd6c2 (patch)
treeeecdad132615a4469c22ee6d4ccd1df087b6159d /nix/system/default.nix
parentuse base16 in neovim and starship (diff)
downloaddotfiles-nix-1a51f2f555b182673e3f9b3e38fb2ab0e57dd6c2.tar.gz
dotfiles-nix-1a51f2f555b182673e3f9b3e38fb2ab0e57dd6c2.tar.bz2
dotfiles-nix-1a51f2f555b182673e3f9b3e38fb2ab0e57dd6c2.zip
reconfigure
Diffstat (limited to 'nix/system/default.nix')
-rw-r--r--nix/system/default.nix104
1 files changed, 104 insertions, 0 deletions
diff --git a/nix/system/default.nix b/nix/system/default.nix
new file mode 100644
index 0000000..26a8494
--- /dev/null
+++ b/nix/system/default.nix
@@ -0,0 +1,104 @@
+{ config, pkgs, ... }:
+
+{
+ # allow flakes
+ nix.settings.experimental-features = [ "nix-command" "flakes" ];
+
+ # common system packages
+ environment.systemPackages = with pkgs; [
+ # editor
+ vim
+ # lib
+ libz
+ openssl
+ # shell
+ bash
+ zsh
+ # utility
+ acpi
+ curl
+ htop
+ openssh
+ p7zip
+ ripgrep
+ sbctl
+ tree
+ unzip
+ wget
+ ];
+
+ # use the latest kernel
+ boot.kernelPackages = pkgs.linuxPackages_latest;
+
+ # timezone
+ time.timeZone = "America/New_York";
+
+ # locale
+ i18n.defaultLocale = "en_US.UTF-8";
+
+ # services
+ networking.networkmanager.enable = true;
+ services.fwupd.enable = true;
+ services.libinput.enable = true;
+ services.pcscd.enable = true;
+ services.printing.enable = true;
+ services.pipewire = {
+ enable = true;
+ alsa.enable = true;
+ pulse.enable = true;
+ jack.enable = true;
+ };
+
+ # create user account
+ users.users.${config.user} = {
+ isNormalUser = true;
+ description = config.fullName;
+ extraGroups = [ "networkmanager" "wheel" "sys" "video" "audio" ];
+ home = config.homePath;
+ shell = pkgs.zsh;
+ };
+
+ # certs
+ security.pki.certificateFiles = [
+ ../../files/certs/freyanet.crt
+ ];
+
+ # 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"
+ ];
+ };
+ };
+}