From abd2d1a4cf021ecbb31b964653a403158518b7d2 Mon Sep 17 00:00:00 2001 From: Donovan Glover Date: Wed, 3 May 2023 01:19:19 -0400 Subject: [PATCH] meta: Add configuration.nix These are my first steps towards using Nix and NixOS to declaratively configure a reasonably good development environment. I am aware that there are various paradigms that include using home manager and/or flakes, however I am still exploring with a simple configuration.nix. --- configuration.nix | 78 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 configuration.nix diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..38266bb --- /dev/null +++ b/configuration.nix @@ -0,0 +1,78 @@ +{ config, pkgs, lib, ... }: + +{ + imports = [./hardware-configuration.nix]; + + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos"; + networking.networkmanager.enable = true; + + programs.fish.enable = true; + users.defaultUserShell = pkgs.fish; + environment.shells = with pkgs; [ fish ]; + + time.timeZone = "America/New_York"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.supportedLocales = ["en_US.UTF-8/UTF-8" "ja_JP.UTF-8/UTF-8" "fr_FR.UTF-8/UTF-8"]; + + services.xserver.enable = true; + services.xserver.desktopManager.gnome.enable = true; + services.xserver.displayManager.gdm.enable = true; + programs.thunar.enable = true; + + nix.package = pkgs.nixFlakes; + nix.settings.experimental-features = ["nix-command" "flakes"]; + environment.systemPackages = with pkgs; [ + neovim + tmux + fish + wget + librewolf + kitty + mullvad-vpn + mullvad-browser + papirus-icon-theme + alacritty + pywal + mpv + neofetch + anki + git + home-manager + hyprland + htop + logseq + wl-clipboard + ]; + + fonts.enableDefaultFonts = true; + fonts.fonts = with pkgs; [ + noto-fonts + noto-fonts-cjk + noto-fonts-emoji + hack-font + ]; + + fonts.fontconfig = { + defaultFonts = { + serif = ["Noto Serif CJK JP" "Noto Serif"]; + sansSerif = ["Noto Sans CJK JP" "Noto Sans"]; + monospace = ["Noto Mono CJK JP" "Noto Mono"]; + }; + }; + + fonts.fontconfig.hinting.style = "hintfull"; + + i18n.inputMethod = { + enabled = "ibus"; + ibus.engines = with pkgs.ibus-engines; [ anthy mozc ]; + }; + + services.gnome.core-utilities.enable = false; + services.mullvad-vpn.enable = true; + + system.stateVersion = "22.11"; +}