- 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).
32 lines
654 B
Nix
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
|
|
}
|
|
'';
|
|
} )
|
|
];
|
|
}
|