aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 0f66240ffa9860198c44b4ae6465490483f7d6e7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# 📦 Tsutsumi

> Top-level Flake for Applications and Libraries Packaged for Nix

Test out any of these applications without installing anything permanently by
running `nix run github:Fuwn/tsutsumi#rui`. (or any other package in place of
`rui`, [continued](#nix-run-with-binary-cache))

## Applications

- [Maple](https://github.com/gemrest/maple) - Static Gemini server with Titan support
- [Rui](https://github.com/Fuwn/rui/) (`rui`) - Personal NixOS flake manager
- [Yae](https://github.com/Fuwn/yae) (`yae`) - Nix Dependency Manager
- [ahoviewer](https://github.com/ahodesuka/ahoviewer) - GTK image viewer,
  manga reader, and booru browser
- [BindToInterface](https://github.com/JsBergbau/BindToInterface)
  (`bindtointerface`) - Bind applications to a specific network
  interface/network adapter
- [bollux](https://tildegit.org/acdw/bollux) - Command-line Gemini browser
  written in Bash
- [cargo-clean-all](https://github.com/dnlmlr/cargo-clean-all) - Recursively
  clean all Cargo projects in a given directory that match the specified criteria
- [chan-downloader](https://github.com/mariot/chan-downloader) - CLI to
  download all images/webms in a 4chan thread
- [chibi-cli](https://github.com/CosmicPredator/chibi-cli) (`chibi`) - Lightweight
  anime & manga CLI for AniList
- [code-stats-ls](https://github.com/maxdeviant/code-stats-ls) - Language
  server for Code::Stats
- [cynic-cli](https://github.com/obmarg/cynic/tree/main/cynic-cli) - CLI for
  Cynic, the code first GraphQL client for Rust
- [git-sumi](https://github.com/welpo/git-sumi) - Non-opinionated Rust-based
  commit message linter
- [gigi](https://github.com/Fuwn/gigi/) - Finger protocol server
- [html2md](https://github.com/suntong/html2md) - Command-line HTML to Markdown converter
- [Lilipod](https://github.com/89luca89/lilipod) - Simple container manager
- [peerflix](https://github.com/mafintosh/peerflix) - Command-line streaming
  BitTorrent client
- [`parse-ripper-output`](github.com/saucecode/reddit-thread-ripper) - Sister
  program to `reddit-thread-ripper` that parses the output of the latter into
  an HTML document
- [Private Internet Access](https://www.privateinternetaccess.com/)
  (`private-internet-access`) - Private Internet Access VPN binaries and
  configuration files
- [reddit-thread-ripper](github.com/saucecode/reddit-thread-ripper) - a Python
  program/library to download an entire reddit thread's comment section
- [`suzuri`](https://github.com/Fuwn/suzuri) - Command-line interface to [sumi.news](https://sumi.news)
- [swaddle](https://github.com/ATTron/swaddle) - `swayidle` inhibitor when
  watching content or listening to audio
- [t](https://github.com/juev/t) - Command-line TODO list manager for
  people that want to finish tasks, not organize them
- [Thorium](https://thorium.rocks/) (`thorium`) - Fast and secure browser that
  uses modern CPU flags and LLVM optimizations
- [wakatime-ls](https://github.com/wakatime/zed-wakatime/tree/master/wakatime-ls)
  \- Language server for [Wakatime](https://wakatime.com/)
- [Yaak](https://yaak.app/) (`yaak`) - API client for modern developers
- [Zen Browser](https://zen-browser.app/) (`zen-browser-bin`) - Firefox based
  browser with a focus on privacy and customisation (alpha release)

## Installation

### Add to Flake Inputs (for Flakes Users)

```nix
{
  inputs.tsutsumi = {
    url = "github:Fuwn/tsutsumi";
    inputs.nixpkgs.follows = "nixpkgs"; # Recommended
  };
}
```

### Add to System or Home Manager Packages

```nix
# For flakes users
inputs.tsutsumi.packages.${pkgs.system}.rui # Or any other package

# For non-flakes users
(import (
  pkgs.fetchFromGitHub {
    owner = "Fuwn";
    repo = "tsutsumi";
    rev = "...";  # Use the current commit revision hash
    hash = "..."; # Use the current commit sha256 hash
  }
)).packages.${builtins.currentSystem}.rui # Or any other package
```

### Use as a Nix Packages Overlay

Overlaying Tsutsumi allows you to simplify the mass installation of Tsutsumi
packages. For example, `inputs.tsutsumi.packages.${pkgs.system}.rui` becomes
`pkgs.tsutsumi.rui`.

```nix
import nixpkgs {
  system = "your_system_attribute";

  overlays = [
    (_: _: {
      tsutsumi = inputs.tsutsumi.packages.${system};
    })
  ];
}
```

## Binary Cache

To speed up the consumption of Tsutsumi packages, add the Tsutsumi binary cache
to your NixOS configuration.

```nix
nix.settings = {
  substituters = [ "https://tsutsumi.cachix.org" ];

  trusted-public-keys = [
    "tsutsumi.cachix.org-1:MojIlGI60CT5EoyuTgjB4VRVgf/uUvakZVWoYJThQNk="
  ];
};
```

### Nix Run With Binary Cache

Replace `rui` with any other package name made available by Tsutsumi.

```bash
nix run github:Fuwn/tsutsumi#rui \
  --extra-substituters "https://tsutsumi.cachix.org" \
  --extra-trusted-public-keys "tsutsumi.cachix.org-1:MojIlGI60CT5EoyuTgjB4VRVgf/uUvakZVWoYJThQNk="
```

## Credits

This flake includes a modified version of
[`zen-browser-bin`](https://github.com/MordragT/nixos/blob/master/pkgs/by-name/zen-browser-bin/default.nix)
from [MordragT/nixos](https://github.com/MordragT/nixos), which is licensed
under the [MIT License](https://github.com/MordragT/nixos/blob/master/license).

## Licence

This project is licensed with the [GNU General Public License v3.0](./LICENSE.txt).