here's some CTF prep

This commit is contained in:
Audrey 2025-04-09 10:36:20 -07:00
parent 61bc29a0ac
commit 5d40f2db72
2 changed files with 103 additions and 85 deletions

View File

@ -30,6 +30,8 @@ in {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
strace strace
rr
qemu-user
# language servers # language servers
nil nil
@ -48,6 +50,7 @@ in {
programs = { programs = {
virt-manager.enable = true; virt-manager.enable = true;
nix-ld.enable = true;
}; };
services.zfs.zed = { services.zfs.zed = {

View File

@ -1,100 +1,115 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ let rhelmot = config.rhelmot;
imports = [ ./overlays/packages.nix ./configuration-cross.nix ]; in {
nixpkgs.config.allowUnfree = true; options.rhelmot = {
globalPythonPackages = lib.mkOption {
nix.settings.extra-experimental-features = "nix-command flakes"; type = with lib.types; listOf (functionTo (listOf package));
nix.settings.trusted-users = [ "audrey" ]; default = [];
nix.settings.max-jobs = 1; description = "python packages (p: with p; [ x ]) to include in the global python environment";
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 ];
}; };
imports = [ ./overlays/packages.nix ./configuration-cross.nix ];
config = {
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [ nix.settings.extra-experimental-features = "nix-command flakes repl-flake";
wget nix.settings.trusted-users = [ "audrey" ];
ripgrep nix.settings.max-jobs = 1;
fd nix.settings.cores = 0;
curl nix.settings.secret-key-files = [ "/var/lib/nix/binary-cache-key" ];
btop
file
patchelf
gdb
p7zip
unzip
(python3.withPackages (p: with p; [ # 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
p7zip
unzip
foremost
binwalk
(python3.withPackages (p: lib.concatMap (pl: pl p) rhelmot.globalPythonPackages))
];
rhelmot.globalPythonPackages = [ (p: with p; [
virtualenvwrapper virtualenvwrapper
pylint pylint
pytest pytest
ipdb ipdb
ipython ipython
])) nclib
]; pyyaml
]) ];
programs = { programs = {
zsh = { zsh = {
enable = true; enable = true;
enableCompletion = true; enableCompletion = true;
syntaxHighlighting.enable = true; syntaxHighlighting.enable = true;
vteIntegration = true; vteIntegration = true;
enableLsColors = true; enableLsColors = true;
histSize = 10000; histSize = 10000;
promptInit = '' promptInit = ''
. ${pkgs.python3Packages.virtualenvwrapper}/bin/virtualenvwrapper.sh . ${pkgs.python3Packages.virtualenvwrapper}/bin/virtualenvwrapper.sh
'' + builtins.readFile ./dotfiles/zsh-prompt.sh; '' + builtins.readFile ./dotfiles/zsh-prompt.sh;
shellInit = builtins.readFile ./dotfiles/zsh-init.sh; shellInit = builtins.readFile ./dotfiles/zsh-init.sh;
shellAliases = { shellAliases = {
grep = "grep --color=auto"; grep = "grep --color=auto";
egrep = "egrep --color=auto"; egrep = "egrep --color=auto";
objdump = "objdump -M intel"; objdump = "objdump -M intel";
gits = "git status"; gits = "git status";
pag = "ps aux | grep -v grep | grep -i"; pag = "ps aux | grep -v grep | grep -i";
hd = "hexdump -C"; hd = "hexdump -C";
man = "MAN_POSIXLY_CORRECT=1 man"; man = "MAN_POSIXLY_CORRECT=1 man";
nose = "pytest -v --capture=no --pdbcls=IPython.terminal.debugger:TerminalPdb"; nose = "pytest -v --capture=no --pdbcls=IPython.terminal.debugger:TerminalPdb";
mkvirtualenv = "mkvirtualenv -r /etc/venv-default.txt"; mkvirtualenv = "mkvirtualenv -r /etc/venv-default.txt";
}; };
}; };
tmux = { tmux = {
enable = true; enable = true;
extraConfig = builtins.readFile ./dotfiles/tmux.conf; extraConfig = builtins.readFile ./dotfiles/tmux.conf;
}; };
direnv.enable = true; direnv.enable = true;
htop.enable = true; htop.enable = true;
git = { git = {
enable = true; enable = true;
lfs.enable = true; lfs.enable = true;
config = { config = {
user.email = "audrey@rhelmot.io"; user.email = "audrey@rhelmot.io";
user.name = "Audrey Dutcher"; user.name = "Audrey Dutcher";
init.defaultBranch = "main"; init.defaultBranch = "main";
blame.markUnblamableLines = true; blame.markUnblamableLines = true;
credential.helper = "store"; credential.helper = "store";
url."ssh://git@".insteadOf = "git://"; 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;
}; };
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;
} }