Skip to content

Repository files navigation

NUR

My personal NUR repository.

All packages here are pre-built binaries. Because I don't like to compile by myself.

Only tested on x86_64-linux. Packages may work on aarch64 systems, but I'm not sure about that.

How to use

  1. Add the following to your flake inputs:
    nur = {
      url = "github:nix-community/NUR";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  2. Add overlays to pkgs as you like (for me, I use the following config):
    let
      pkgs = import nixpkgs {
        inherit system;
        overlays = [
          nur.overlays.default
        ];
      };
    in
    lib.nixosSystem {
      inherit pkgs;
      # ......
    }
  3. use packages in your config:
    {
      environment.systemPackages = [
        pkgs.nur.repos.lxl66566.git-simple-encrypt       # gnu by default
        pkgs.nur.repos.lxl66566.git-simple-encrypt.musl  # if you want musl and the package suppport musl
      ];
    }
  4. use modules in your config:
    # import the module in flake.nix
    {
      lib.nixosSystem {
        ...
        modules = [
          pkgs.nur.repos.lxl66566.nixosModules
        ];
        ...
      };
    }
    Currently only contains nixosModules. If you want to use darwin/home-manager module, please open an issue for that.

packages

Name Outputs Description
audio-loudness-batch-normalize null, musl Easy to use audio loudness batch normalization tool based on EBU R128, written in Rust
fungi null p2p tool cross platform
git-simple-encrypt null, musl Encrypt/decrypt files in git repo using one password
git-sync-backup null, musl Synchronize and backup files/folders using Git, cross-device & configurable
git-touchfish-commit null, musl make your commit time safe
nextppp null, musl proxy to bypass GFW
openppp2 null, tc Next-generation security network access technology, providing high-performance Virtual Ethernet tunneling service.
selector4nix null, musl Nix substituter proxy with parallel cache queries and latency-aware selection
system76-scheduler-niri null, musl Niri integration for system76-scheduler
urldecoder null, musl Batch find and decode URLs in your text/files. very fast.
user-startup-rs null, musl Simple cross-platform tool to make your command auto run on startup
xp3-pack-unpack null kirikiri xp3 format cli packer & unpacker
zdu null, musl A fast disk usage analyzer, competitive with dust and pdu.
zhfmt null, musl High performance formatter that adds spaces between CJK and Latin characters

modules

system76-scheduler-niri

{
  services.system76-scheduler-niri.enable = true;
}

selector4nix

reference to StarryReverie/selector4nix for example config.

{
  services.selector4nix = {
    enable = true;
    settings = {
      server = {
        ip = "127.0.0.1";
        port = 5496;
      };
      substituters = [
        {
          url = "https://cache.nixos.org/";
        }
      ];
    };
  };
}

nextppp

# server
{
  services.nextppp = {
    enable = true;
    mode = "server";
    settings = {
      listen = "0.0.0.0:6666";
      password = "CHANGE_ME";
      # connect_timeout = 10;
      # handshake_timeout = 15;
      # obfuscation = { ... };
    };
  };
}

# client
{
  services.nextppp = {
    enable = true;
    mode = "client";
    settings = {
      listen = "127.0.0.1:1080";
      password = "CHANGE_ME";
      server = {
        address = "your.server.example:6666";
      };
    };
  };
}

fungi

not support attrSet config, since I don't use fungi now... (currently using easytier.)

expand to view
{
  services.fungi = {
    enable = true;
    # package = pkgs.nur.repos.lxl66566.fungi;  # this is the default package, you can also use your own package
    configFile = pkgs.writeText "test-config.toml" ''
      [rpc]
      listen_address = "127.0.0.1:5405"

      [network]
      listen_tcp_port = 0
      listen_udp_port = 0
      incoming_allowed_peers = [
        "16Uiu2HAmN7utr2gU28MizZqpL3tHtFK3nnPfxedzYVCLBxxCDWAP",
      ]
      disable_relay = false
      custom_relay_addresses = []

      [tcp_tunneling.forwarding]
      enabled = true
      rules = []

      [tcp_tunneling.listening]
      enabled = true
      rules = [
        { host = "127.0.0.1", port = 22 }, # Expose SSH to remote devices
      ]
    '';
    # or configFile = ./config.toml;
  };
}

development

how to test packages/modules in this NUR:

nix-build -A openppp2               # build a package
nix-build tests/fungi-test.nix      # test a module

About

My NUR packages

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages