arbys/README.md
2025-07-21 00:40:11 +10:00

62 lines
1.7 KiB
Markdown

# welcome to arbys
![image](https://docs.atagen.co/arbys/assets/logo.png "Arby's logo")
## we have the meats
**Arb**itrar**y** **s**ymlink manager is a NixOS module designed to allow you to link anything - from anywhere, to anywhere.
Reproducibility vs mutability is up to you; source from the nix store, a stow repo you manage yourself, or an arbitrary set of files on disk.
However you choose to satisfy your slow-roasted meat cravings, Arbys guarantees that the set of links generated is consistent.
## double beef 'n cheddar
The Arbys interface is simple, and resembles hjem or home manager's files implementation.
It can be as easy as:
````nix
{ ... }:
{
environment = {
arbys.enable = true;
files."/var/anywhere".text = "It's tender, juicy deliciousness on the inside and perfectly fried for a satisfying crunch on the outside.";
};
}
````
You can find the full documentation [here](https://docs.atagen.co/arbys).
## smokehouse brisket
Adding Arbys to your config is straightforward:
````nix
# flake.nix
{
# first, add to your flake inputs
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
arbys.url = "git+https://git.atagen.co/atagen/arbys";
};
# next, utilise the supplied NixOS module
outputs = { self, nixpkgs, arbys, ... }:
{
nixosConfigurations.mycoolhost = nixpkgs.lib.nixosSystem {
# fluff elided
modules = [
arbys.nixosModules.arbys
];
};
};
}
````
Then set up your linkages per the documentation above.
Enjoy !
## classic french dip & swiss
Arbys would not be possible without the hard work of the [feel-co](https://github.com/feel-co) team and their excellent [hjem](https://github.com/feel-co/hjem) and [smfh](https://github.com/feel-co/smfh) projects.