Skip to content

⚙️ | Collection of personal packages to use with my configurations [maintainer=@orzklv]

License

Notifications You must be signed in to change notification settings

uzinfocom-org/pkgs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Uzinfocom's {Pack}

Set of helpful packages written by & for Uzinfocom.

Top Used Language Test CI

About

This repository actually used to be within our nix configuration for instances. Later, we decided to move all exportable packages, overlays and libs to other repository for lighter input result and more community use. Feel free to use them, feel free to send PR and add your own packages if you feel like.

Adding repository

This is certainly easiest and yet the very beginning of using our repository with your nix configurations! In order to do that, open your flake configuration in your favorite editor of choice, and then locate for inputs. You may have either called each inputs seperately like that:

  inputs.nixpkgs.url = "...";
  inputs.nixpkgs-unstable.url = "...";
  ...

or nested it like that:

  inputs = {
    nixpkgs.url = "...";
    nixpkgs-unstable.url = "...";
  };

If you used seperate calls, please, go with nested one, because it will you more convenience when it comes to aligning nixpkgs dependencies to avoid having multiple nixpkgs instances, in a few words, it will be more readable. So, now inside your inputs, do it like that:

  inputs = {
    nixpkgs.url = "...";
    nixpkgs-unstable.url = "...";
    ...

    # You may copy/paste the code below!
    uzinfocom-pkgs = {
      url = "github:uzinfocom-org/pkgs";
      inputs = {
        # For everything
        nixpkgs.follows = "nixpkgs";
        # For `unstable` overlay
        # If you have unstable in your inputs!!!
        nixpkgs-unstable.follows = "nixpkgs-unstable";
      };
    };

  };

Packages

  • Force Push: do force push using your github bearer token
  • Google: start googling right from your terminal

Packages can be used via nix run by calling it's names. You can refer to this example shown below:

# Names are always lowercase spaced with '-'
nix run github:uzinfocom-org/pkgs#<name-here>

Or, simply use our additions overlay (refer to this for more) in your nixpkgs configuration and then feel free to add our packages to your nix configs like that:

  environment.systemPackages = with pkgs; [
    google
    krisper
  ];

Lib

We have a few useful functions initially created for ourselves to abstract certain things in our nix configurations. However, later I decided to ship it as a library which you can easily add to lib just by mergeng our lib to your nixpkgs lib as following:

  # Nixpkgs, Home-Manager and uzinfocom's helpful functions
  lib = nixpkgs.lib // home-manager.lib // uzinfocom-pkgs.lib;

Overlays

Repository includes many useful overlays which enables you to manipulate your pkgs instance delivered from nixpkgs. You may call & use them something like that:

# First, localte where you defined nixpkgs configurations
{
  # Alright, this starts like that...
  nixpkgs = {
    # If there's no overlays array, define it yourself!
    overlays = [
      # If you already have overlays, there will be some here
      ...
      # Then, from new line, call our overlays
      inputs.uzinfocom-pkgs.overlays.additions
      inputs.uzinfocom-pkgs.overlays.<name>
    ];
  };
}

You may obtain list of available overlays either from overlays/default.nix or refer to this list (might be outdated):

  • Additions: merging our packages to your pkgs instance, so you can call them within pkgs right away.
  • Modifications: some modifications for pre-existing pkgs delivered from your inputs.nixpkgs.
  • Unstable: Binding unstable nixpkgs channel to pkgs.unstable variable for calling unstable packages.

Thanks

  • Template - Started with this template
  • Nix - Masterpiece of package management

License

This project is licensed under the MIT License - see the LICENSE file for details.

Uzinfocom's {Pack}

About

⚙️ | Collection of personal packages to use with my configurations [maintainer=@orzklv]

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •