Skip to content

Commit

Permalink
tweak readme
Browse files Browse the repository at this point in the history
  • Loading branch information
viperML committed Jun 11, 2024
1 parent e9fbf45 commit 4139759
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 7 deletions.
Binary file added .github/Designer.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
49 changes: 42 additions & 7 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,67 @@
# hover-rs

Tired of programs messing your precious $HOME ? hover-rs is for you!
<h1>
<p align="center">
hover-rs - Protective home overlay
</p>
</h1>

<h4>
<p align="center">
<i>Tired of programs messing your precious $HOME ? hover-rs is for you!</i>
</p>
</h4>

<p align="center">
<img src="./.github/Designer.jpeg" width="274">
</p>


---

hover-rs uses Linux's user namespaces to mount a volatile overlayfs over your $HOME. Any write or delete operation is redirected to the upper layer, while your $HOME is left intact.
hover-rs uses Linux's user namespaces to mount a volatile overlayfs over your
$HOME. Any write or delete operation is redirected to the upper layer, while
your $HOME is left intact. Read more in my blogpost: [https://ayats.org/blog/hover](https://ayats.org/blog/hover).

## Requirements

Your kernel must have namespaces enabled:
Your kernel must have user namespaces and overlayfs enabled:

```
$ zcat /proc/config.gz | rg CONFIG_NAMESPACES
$ zcat /proc/config.gz | grep -e NAMESPACES= -e USER_NS= -e OVERLAY_FS=
CONFIG_NAMESPACES=y
CONFIG_USER_NS=y
CONFIG_OVERLAY_FS=m
```

(probably more hidden requirements...)
## Static binaries

CI builds statically-linked binaries (with musl). You can use download and use
them directly:

```
$ curl -OL https://github.com/viperML/hover-rs/releases/download/latest/hover-static-x86_64-linux
$ chmod +x hover-static-x86_64-linux
$ ./hover-static-x86_64-linux
```

## Building

With nix:

```
nix build github:viperML/hover-rs
```

With guix:

```
guix build -L .
```

If you bring your own cargo+rustc, just `cargo build`.

## Attribution

Inspired by https://github.com/max-privatevoid/hover , which uses fuse instead of namespaces.
Inspired by
[https://github.com/max-privatevoid/hover](https://github.com/max-privatevoid/hover),
which uses fuse-overlayfs.

0 comments on commit 4139759

Please sign in to comment.