snowfallorg / snowfallorg/lib

How to install packages from unstable channel via overlays?

Open
#171 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Nix
Stars
628
Forks
64
PR merge metrics
No merged PRs in 30d

Description

I'm trying to install a single package from the unstable channel but don't have the slightest clue about how because the docs aren't really helpful at all. They only show how to create overlays etc. but not how to use them.

This overlay will be made available on your flake’s overlays output with the same name as the directory that you created. is not really an explanation for users who never worked with overlays before. The docs need more examples and not just on how to create the file.

# overlays/sketchybar-app-font/default.nix

{
channels,
namespace,
inputs,
... }:

final: prev: {
    inherit (channels.unstable) sketchybar-app-font;
}

Where do I have to register the overlay?
How do I install the unstable package now in my modules/sketchybar/default.nix?

{ options, config, lib, pkgs, ... }:

with lib;
with lib.shiro;
let
  cfg = config.shiro.tools.sketchybar;
in
{
  options.shiro.tools.sketchybar = with types; {
    enable = mkBoolOpt false "Whether or not to install sketchybar";
  };

  config = mkIf cfg.enable {
    environment.systemPackages = with pkgs; [ sketchybar ];

    fonts.packages = with pkgs; [
        sketchybar-app-font
    ];

    services.sketchybar = {
      enable = true;
      package = pkgs.sketchybar;
    };
  };
}

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing overlay documentation referenced in the issue, including the explanation of the flake's overlays output. Add examples showing where the overlay is registered and how the unstable package is referenced from a module, using the provided overlay and sketchybar module as context. Done means a newcomer can follow the documented steps to install one unstable package.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.