minimal profile

This commit is contained in:
2026-09-03 20:31:06 +09:00
parent 8761cbfe40
commit 937be12e33
10 changed files with 72 additions and 40 deletions
+6
View File
@@ -24,6 +24,7 @@ required on every supported host.
| Profile | Supported host class |
| ------------------------------------ | --------------------------------------------- |
| `base` | NixOS, macOS |
| `interface.minimal` | NixOS, macOS with Home Manager |
| `interface.cli` | NixOS, macOS with Home Manager |
| `interface.gui` | NixOS, macOS with Home Manager |
| `interface.macos` | macOS |
@@ -61,6 +62,11 @@ selects labwc. A daily-use macOS development machine can combine
`interface.macos`, `workload.development`, and `workload.personal`. Hardware
support does not implicitly select an interface or workload.
`interface.minimal` provides SSH client access and key generation, Nano, htop,
btop, fastfetch, unzip, wget, Direnv, Git, GnuPG, nh, Zellij, and Zsh for remote
administration. `interface.cli` includes that baseline and adds the configured
Neovim, Yazi, and the remaining interactive command-line tools.
`workload.machine-learning` provides the Hugging Face Hub CLI for hosts used
to download and publish machine learning models and datasets.
-19
View File
@@ -8,36 +8,17 @@
dust
eza
fd
fastfetch
fzf
htop
jq
lsof
nurl
ripgrep
tio
unrar
unzip
wget
]
++ lib.optionals stdenv.isLinux [
lm_sensors
psmisc
strace
];
home.activation.generateSshKey = {
after = [ "writeBoundary" ];
before = [ ];
data = ''
key="$HOME/.ssh/id_ed25519"
if [ ! -f "$key" ]; then
umask 077
mkdir -p "$HOME/.ssh"
${pkgs.openssh}/bin/ssh-keygen -t ed25519 -N "" -f "$key" \
-C "moons@$(${pkgs.hostname}/bin/hostname || echo host)"
echo "Generated SSH key at $key"
fi
'';
};
}
+1 -8
View File
@@ -2,17 +2,10 @@
description = "Cross-platform interactive command-line environment";
includes = [
"applications.btop"
"applications.direnv"
"applications.git"
"applications.gnupg"
"applications.nh"
"profiles.interface.minimal"
"applications.nix-index"
"applications.ssh"
"applications.vim"
"applications.yazi"
"applications.zellij"
"applications.zoxide"
"applications.zsh"
];
}
@@ -0,0 +1,8 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
fastfetch
unzip
wget
];
}
@@ -0,0 +1,16 @@
{
description = "Minimal cross-platform command-line environment for remote administration";
includes = [
"applications.btop"
"applications.direnv"
"applications.git"
"applications.gnupg"
"applications.htop"
"applications.nano"
"applications.nh"
"applications.ssh"
"applications.zellij"
"applications.zsh"
];
}