Joey Hafner 4e9d6dec6a
Refactor flake:
- Delete homeManagerConfigurations from flake.
- Delete laptop nixosConfiguration.
- Delete `home-manager/` and `nixos/` directories.
- Switch from one general "vars" attrset for variables to using built-for-purpose attrsets for variables, each declared where it makes most sense (e.g. the "sys" attrset will be used for system-specific attributes).
- Create `systems/` directory for root-level system configurations and `modules/` directory for re-usable config files.
- Consolidate most app and system configuration into the `desktop-environment.nix` and `terminal-environment.nix` files.
- Standardize all `.nix` files to nixos config nodes, as opposed to home-manager. May reverse this decision.
- Use `${sys.username}` for the username of the primary user of the system.
- Use `${usr.${sys.username}}` for attributes related to that user (e.g. realname, email).
2025-01-08 12:04:28 -08:00

32 lines
654 B
Nix

{ pkgs, ... }: {
home.packages = with pkgs; [
( writeShellApplication {
name = "init-keys";
runtimeInputs = [
ssh-to-age
];
text = ''
#!/bin/bash
# Asserts all keys are where they belong.
assert() {
TEST_FILE="$1"
FILE_HASH="$2"
if [ ! -f "$1" ]; then
echo "Error: Missing file $1"
exit 1
fi
TEST_HASH="$(sha256sum "$TEST_FILE" | cut -d' ' -f1)"
if [ ! "$HASH" == "$FILE_HASH" ]; then
echo "Error: File hash mismatch $1"
exit 1
fi
}
'';
} )
];
}