{ config, lib, pkgs, ... }: { imports = [ ./overlays/packages.nix ]; # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.memtest86.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.efiSysMountPoint = "/boot"; nix.settings.extra-experimental-features = "nix-command flakes"; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; console = { font = "Lat2-Terminus16"; #keyMap = "us"; useXkbConfig = true; # use xkb.options in tty. }; # Configure keymap in X11 services.xserver.xkb.layout = "us"; services.xserver.xkb.options = "caps:escape"; users.defaultUserShell = pkgs.zsh; # Define a user account. Don't forget to set a password with ‘passwd’. users.users.audrey = { isNormalUser = true; extraGroups = [ "wheel" "docker" ]; packages = with pkgs; [ ]; }; environment.systemPackages = with pkgs; [ wget curl btop tmux nixfmt-rfc-style ]; programs = { zsh.enable = true; htop.enable = true; git.enable = true; neovim = { enable = true; defaultEditor = true; vimAlias = true; viAlias = true; configure = { # lmao customRC = '' ${builtins.readFile ./dotfiles/nvim-init.vim} lua << EOF ${builtins.readFile ./dotfiles/nvim-init.lua} EOF ''; packages.myVimPackage = with pkgs.vimPlugins; { start = [ rust-vim vim-tmux-navigator popup-nvim vim-sleuth nvim-lspconfig rust-tools-nvim nvim-lint nvim-cmp lsp-status-nvim telescope-nvim nvim-treesitter.withAllGrammars sweetie-nvim vim-nix csharpls-extended-lsp-nvim ]; opt = []; }; }; }; }; # Enable the OpenSSH daemon. services.openssh.enable = true; }