user4306: Checking the official documentation from cardano-wallet I can see that there are options to get wallets from mnemonics and extended public keys, but not private keys.
Even public libs don't have that option. And as far as I know it's not possible to restore a wallet from a private key in Daedalus or Yoroi.
It's a somewhat simple functionality that I can't find any info about!

user4023: A robust way to do that is to use cardano-wallet CLI.
First of all, run cardano-wallet serve and cardano-node.
Root Key
The command that helps us writing a root private key into a file should look like this:
cardano-wallet recovery-phrase generate --size 18 \ 
    | cardano-wallet key from-recovery-phrase Shelley > secretKey.prv

It results in private key creation that might look like this:
root_xsk1vrv54w0rpg6j9qz54ed48hjf99k0qt7p4wu5l3y55tlpk8684dphx6a8xw82u3vsgwcv6n8mdxwczhfhusy22eknmdpjn9lnyram0alqaa7mwjx4rg0eyh3ckv0el34j5vswquzhvrpaze6ju6s623fs4ylx346v

Derivation Path
m / purpose' / coin_type' / account_index' / role / address_index

If you tap a 20th receiving address in Daedalus wallet you'll see the following path:
m / 1852H / 1815H / 0H / 0 / 19

where 1852 is a hardened Shelley-era address type, and 1815 is hardened ADA's index.
Account Keys
According to this scheme let's create account private key and account public key:
cat secretKey.prv \
    | cardano-wallet key child 1852H/1815H/0H \
    | tee account.prv \
    | cardano-wallet key public --with-chain-code > account.pub

These results are:
acct_xsk10ra048lvz7le0y5pkmqmceuf492u64nv8edk9qsh3036jtz84dp3xqns35edmhag0nke3xmhm87368v8mtr5d2ryd3ucjgg6e5vjf7r8eu4ejhpyax2us59c73pt7sduvddy934k8p925xxsqvc2hh8nnug24fq6

...
acct_xvk1fpqtkwf8yy5rn3f79a4vr4fpd9rxxfheursjzqw8kgj0qf3q98ux0netn9wzf6v4epgt3azzhaqmcc66gtrtvwz24gvdqqes40w088c36lqsu

Create a wallet
cardano-wallet wallet create from-public-key < 128-bit hash of acct pub key >

Additional reading
If you need more details on Cardano CLI, please read my Medium stories:

Cardano 911 — Wallet Command Line Interface (Part One)
Cardano 911 — Wallet Command Line Interface (Part Two)


4306: <p>Checking the <a href="https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postWallet" rel="nofollow noreferrer">official documentation from cardano-wallet</a> I can see that there are options to get wallets from mnemonics and extended public keys, but not private keys.</p>
<p>Even <a href="https://github.com/vacuumlabs/cardano-crypto.js/blob/develop/test/index.js" rel="nofollow noreferrer">public libs</a> don't have that option. And as far as I know it's not possible to restore a wallet from a private key in Daedalus or Yoroi.</p>
<p>It's a somewhat simple functionality that I can't find any info about!</p>
 4023: <p>A robust way to do that is to use <em><strong>cardano-wallet CLI</strong></em>.</p>
<p>First of all, run <em><strong>cardano-wallet serve</strong></em> and <em><strong>cardano-node</strong></em>.</p>
<h2>Root Key</h2>
<p>The command that helps us writing a <em><strong>root private key</strong></em> into a file should look like this:</p>
<pre><code>cardano-wallet recovery-phrase generate --size 18 \ 
    | cardano-wallet key from-recovery-phrase Shelley &gt; secretKey.prv
</code></pre>
<p>It results in private key creation that might look like this:</p>
<pre><code>root_xsk1vrv54w0rpg6j9qz54ed48hjf99k0qt7p4wu5l3y55tlpk8684dphx6a8xw82u3vsgwcv6n8mdxwczhfhusy22eknmdpjn9lnyram0alqaa7mwjx4rg0eyh3ckv0el34j5vswquzhvrpaze6ju6s623fs4ylx346v
</code></pre>
<h2>Derivation Path</h2>
<pre><code>m / purpose' / coin_type' / account_index' / role / address_index
</code></pre>
<p>If you tap a 20th receiving address in Daedalus wallet you'll see the following path:</p>
<pre><code>m / 1852H / 1815H / 0H / 0 / 19
</code></pre>
<p>where <code>1852</code> is a hardened Shelley-era address type, and <code>1815</code> is hardened ADA's index.</p>
<h2>Account Keys</h2>
<p>According to this scheme let's create <em><strong>account private key</strong></em> and <em><strong>account public key</strong></em>:</p>
<pre><code>cat secretKey.prv \
    | cardano-wallet key child 1852H/1815H/0H \
    | tee account.prv \
    | cardano-wallet key public --with-chain-code &gt; account.pub
</code></pre>
<p>These results are:</p>
<pre><code>acct_xsk10ra048lvz7le0y5pkmqmceuf492u64nv8edk9qsh3036jtz84dp3xqns35edmhag0nke3xmhm87368v8mtr5d2ryd3ucjgg6e5vjf7r8eu4ejhpyax2us59c73pt7sduvddy934k8p925xxsqvc2hh8nnug24fq6
</code></pre>
<p>...</p>
<pre><code>acct_xvk1fpqtkwf8yy5rn3f79a4vr4fpd9rxxfheursjzqw8kgj0qf3q98ux0netn9wzf6v4epgt3azzhaqmcc66gtrtvwz24gvdqqes40w088c36lqsu
</code></pre>
<h2>Create a wallet</h2>
<pre><code>cardano-wallet wallet create from-public-key &lt; 128-bit hash of acct pub key &gt;
</code></pre>
<h2>Additional reading</h2>
<p>If you need more details on Cardano CLI, please read my Medium stories:</p>
<ul>
<li><a href="https://medium.com/geekculture/cardano-911-wallet-command-line-interface-part-one-ad0ee5ac8509" rel="nofollow noreferrer"><strong>Cardano 911 — Wallet Command Line Interface (Part One)</strong></a></li>
<li><a href="https://medium.com/@arkit/cardano-911-wallet-command-line-interface-part-two-982a096c50e2" rel="nofollow noreferrer"><strong>Cardano 911 — Wallet Command Line Interface (Part Two)</strong></a></li>
</ul>
