oliverdavies.uk/content/node.fe080d63-d163-4e3f-9efc-4ec3c8f9c03c.yml

122 lines
4.3 KiB
YAML

uuid:
- value: fe080d63-d163-4e3f-9efc-4ec3c8f9c03c
langcode:
- value: en
type:
- target_id: daily_email
target_type: node_type
target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7
revision_timestamp:
- value: '2025-05-11T09:00:03+00:00'
revision_uid:
- target_type: user
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
revision_log: { }
status:
- value: true
uid:
- target_type: user
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
title:
- value: 'Notes on Nix'
created:
- value: '2024-12-15T00:00:00+00:00'
changed:
- value: '2025-05-11T09:00:03+00:00'
promote:
- value: false
sticky:
- value: false
default_langcode:
- value: true
revision_translation_affected:
- value: true
path:
- alias: /daily/2024/12/15/notes-on-nix
langcode: en
body:
- value: |
<p>After writing about <a href="/daily/2024/11/10/write-plain-text-files">making notes in text files</a>, I came across <a href="https://youtu.be/NasPBjSev88?si=nSaCxdtXuznQ_YYb">a video by Nick Janetakis</a> (previous <a href="/podcast/12-nick-janetakis-docker">Beyond Blocks podcast guest</a>), showing a simple Bash application he'd written to manage his own plain text notes.</p>
<p>I thought I'd try it, but it wasn't available in the nixpkgs store so I wasn't able to install it.</p>
<p>Some of the Vim and Neovim plugins I use also aren't available and I've added those to my configuration myself and wanted to do the same for this.</p>
<p>Here's the Nix derivation I wrote:</p>
<pre><code class="nix">{ pkgs, ... }:
pkgs.stdenv.mkDerivation rec {
pname = "notes";
version = "0.3.0";
src = pkgs.fetchFromGitHub {
owner = "nickjj";
repo = "notes";
rev = "v${version}";
sha256 = "gyrsTWPT8w4DsRim3jlbjvpXwX/y+7SwLaM+3LVOJdU=";
};
buildInputs = with pkgs; [ bash ];
installPhase = ''
mkdir -p $out/bin
cp $src/notes $out/bin/notes
chmod +x $out/bin/notes
'';
}
</code></pre>
<p>I defined the GitHub repository name and owner, the version number and the required installation steps, and was able to add it to my configuration for use in NixOS and Home Manager.</p>
<p>Now, I can type <code>notes</code> and easily capture whatever I wanted to document in the appropriate text file..</p>
<hr />
<p>FYI, there is an existing <code>notes</code> program in nixpkgs, but I overwrote it with Nick's, which is another great thing about using Nix!</p>
format: full_html
processed: |
<p>After writing about <a href="/daily/2024/11/10/write-plain-text-files">making notes in text files</a>, I came across <a href="https://youtu.be/NasPBjSev88?si=nSaCxdtXuznQ_YYb">a video by Nick Janetakis</a> (previous <a href="/podcast/12-nick-janetakis-docker">Beyond Blocks podcast guest</a>), showing a simple Bash application he'd written to manage his own plain text notes.</p>
<p>I thought I'd try it, but it wasn't available in the nixpkgs store so I wasn't able to install it.</p>
<p>Some of the Vim and Neovim plugins I use also aren't available and I've added those to my configuration myself and wanted to do the same for this.</p>
<p>Here's the Nix derivation I wrote:</p>
<pre><code class="nix">{ pkgs, ... }:
pkgs.stdenv.mkDerivation rec {
pname = "notes";
version = "0.3.0";
src = pkgs.fetchFromGitHub {
owner = "nickjj";
repo = "notes";
rev = "v${version}";
sha256 = "gyrsTWPT8w4DsRim3jlbjvpXwX/y+7SwLaM+3LVOJdU=";
};
buildInputs = with pkgs; [ bash ];
installPhase = ''
mkdir -p $out/bin
cp $src/notes $out/bin/notes
chmod +x $out/bin/notes
'';
}
</code></pre>
<p>I defined the GitHub repository name and owner, the version number and the required installation steps, and was able to add it to my configuration for use in NixOS and Home Manager.</p>
<p>Now, I can type <code>notes</code> and easily capture whatever I wanted to document in the appropriate text file..</p>
<hr>
<p>FYI, there is an existing <code>notes</code> program in nixpkgs, but I overwrote it with Nick's, which is another great thing about using Nix!</p>
summary: null
field_daily_email_cta: { }