99 lines
2.7 KiB
Nix
99 lines
2.7 KiB
Nix
{ config, lib, pkgs, ... }:
|
||
{
|
||
imports = [ ./overlays/packages.nix ./configuration-cross.nix ];
|
||
nixpkgs.config.allowUnfree = true;
|
||
|
||
nix.settings.extra-experimental-features = "nix-command flakes";
|
||
nix.settings.trusted-users = [ "audrey" ];
|
||
nix.settings.max-jobs = 1;
|
||
nix.settings.cores = 0;
|
||
nix.settings.secret-key-files = [ "/var/lib/nix/binary-cache-key" ];
|
||
|
||
# Select internationalisation properties.
|
||
i18n.defaultLocale = "en_US.UTF-8";
|
||
|
||
# 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 = {
|
||
uid = 1000;
|
||
description = "Audrey Dutcher";
|
||
isNormalUser = true;
|
||
extraGroups = [ "wheel" "docker" ];
|
||
openssh.authorizedKeys.keyFiles = [ ./dotfiles/authorized_keys ];
|
||
};
|
||
|
||
environment.systemPackages = with pkgs; [
|
||
wget
|
||
ripgrep
|
||
fd
|
||
curl
|
||
btop
|
||
file
|
||
patchelf
|
||
gdb
|
||
|
||
(python3.withPackages (p: with p; [
|
||
virtualenvwrapper
|
||
pylint
|
||
pytest
|
||
ipdb
|
||
ipython
|
||
]))
|
||
];
|
||
|
||
programs = {
|
||
zsh = {
|
||
enable = true;
|
||
enableCompletion = true;
|
||
syntaxHighlighting.enable = true;
|
||
vteIntegration = true;
|
||
enableLsColors = true;
|
||
histSize = 10000;
|
||
promptInit = ''
|
||
. ${pkgs.python3Packages.virtualenvwrapper}/bin/virtualenvwrapper.sh
|
||
'' + builtins.readFile ./dotfiles/zsh-prompt.sh;
|
||
shellInit = builtins.readFile ./dotfiles/zsh-init.sh;
|
||
shellAliases = {
|
||
grep = "grep --color=auto";
|
||
egrep = "egrep --color=auto";
|
||
objdump = "objdump -M intel";
|
||
gits = "git status";
|
||
pag = "ps aux | grep -v grep | grep -i";
|
||
hd = "hexdump -C";
|
||
man = "MAN_POSIXLY_CORRECT=1 man";
|
||
nose = "pytest -v --capture=no --pdbcls=IPython.terminal.debugger:TerminalPdb";
|
||
mkvirtualenv = "mkvirtualenv -r /etc/venv-default.txt";
|
||
};
|
||
};
|
||
tmux = {
|
||
enable = true;
|
||
extraConfig = builtins.readFile ./dotfiles/tmux.conf;
|
||
};
|
||
direnv.enable = true;
|
||
htop.enable = true;
|
||
git = {
|
||
enable = true;
|
||
lfs.enable = true;
|
||
config = {
|
||
user.email = "audrey@rhelmot.io";
|
||
user.name = "Audrey Dutcher";
|
||
init.defaultBranch = "main";
|
||
blame.markUnblamableLines = true;
|
||
credential.helper = "store";
|
||
url."ssh://git@".insteadOf = "git://";
|
||
};
|
||
};
|
||
};
|
||
|
||
environment.etc."gdb/gdbinit".source = ./dotfiles/gdb-init.gdb;
|
||
environment.etc."venv-default.txt".source = ./dotfiles/venv-default.txt;
|
||
|
||
# Enable the OpenSSH daemon.
|
||
services.openssh.enable = true;
|
||
}
|
||
|