Monorepo for sharing my most commonly used Nix expressions between hostsç
Find a file
dependabot[bot] dc58c268f8
build(deps): bump stefanzweifel/git-auto-commit-action from 4 to 5
Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from 4 to 5.
- [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases)
- [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: stefanzweifel/git-auto-commit-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-03 11:37:14 +00:00
.github build(deps): bump stefanzweifel/git-auto-commit-action from 4 to 5 2023-11-03 11:37:14 +00:00
npins treewide: switch to npins 2023-11-03 12:27:04 +03:00
patches initial commit 2023-11-03 10:25:58 +03:00
pkgs fix cloneit derivation 2023-11-03 12:42:04 +03:00
.gitignore initial commit 2023-11-03 10:25:58 +03:00
default.nix flake: add flake-compat 2023-11-03 12:40:30 +03:00
flake.lock flake: bump inputs 2023-11-03 12:45:14 +03:00
flake.nix flake: add flake-compat 2023-11-03 12:40:30 +03:00
LICENSE add license 2023-11-03 10:54:40 +03:00
README.md docs: add credits section 2023-11-03 11:30:03 +03:00

🌙 nyxpkgs

My personal package overlay for sharing my most commonly used derivations.

Usage

NixOS/Home-manager (flakes)

It is as simple as adding a new entry to your inputs with the correct url.

# flake.nix
inputs = {
    # ...
    nyxpkgs.url = "github:notashelf/nyxpkgs";
    # ...
};

After adding the input, you can consume the exposed packages in your system configuration. An example flake.nix would be as follows:

# flake.nix
{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    home-manager.url = "github:nix-community/home-manager";

    nyxpkgs.url = "github:notashelf/nyxpkgs";
  };

  outputs = inputs @ {self, nixpkgs, ...}: {
    # set up for NixOS
    nixosConfigurations.<yourHostName> = nixpkgs.lib.nixosSystem {
      specialArgs = {inherit inputs;};
      modules = [
        ./configuration.nix
        # ...
      ];
    };

    # or for Home Manager
    homeConfigurations.<yourHostName> = inputs.home-manager.lib.homeManagerConfiguration {
      extraSpecialArgs = {inherit inputs;};

      pkgs = import nixpkgs {
        system = "x86_64-linux";
        config.allowUnfree = true;
      };

      modules = [
        ./home.nix
        # ...
      ];
    }
  };
}

Where you can then add the relevant package to your environment.systemPackages or home.packages

{pkgs, inputs, ...}: {
  # in case of home-manager, this will be home.packages
  environment.systemPackages = [
    inputs.nyxpkgs.packages.${pkgs.system}.<packageName> # installs a package
  ];
}

Nix

If you are using Nix on a non-NixOS distro, you may nix run to try out packages, or nix profile install to install them on your system profile. If using home-manager on non-NixOS, I recommend using home.packages instead.

nix profile install github:notashelf/nyxpkgs#<package>

NixOS/Home-manager (no flakes)

If you are not using flakes, the above instructions will not apply. You may obtain the source as a tarball to consume in your system configuration as follows:

{pkgs, ...}: let
  nyxpkgs = import (builtins.fetchTarball "https://github.com/notashelf/nyxpkgs/archive/main.tar.gz");
in {
  # install packages
  # this can also be home.packages if you are using home-manager
  environment.systemPackages = [
    nyxpkgs.packages.${pkgs.hostPlatform.system}.<packageName>
  ];
}

📦 Packages

There are several packages exposed by this flake. Each directory in pkgs contains a description of the package inside its README.

Package Description
ani-cli An up-to-date, auto updated version of ani-cli
cloneit A CLI tool to download specific GitHub directories or files
foot-transparent A patched version of the foot terminal emulator that brings back fullscreen transparency1
rat Linux shell port of the horizontally spinning rat meme, complete with soundtrack and spin counter.
reposilite-bin A derivation for the reposilite maven repository.

🔧 Contributing

PRs are always welcome.

🫂 Credits

The repository structure is mostly borrowed from @fufexan's nix-gaming.


  1. Foot has broken fullscreen transparency on 1.15, which looks really ugly with padding. The author is dead set on not fixing it, because it's broken on one wayland compositor that a total of 7 people use. ↩︎