The Faerie Queen, Fyora, is the ruler of Faerieland. She is a kind faerie who basically tries to keep everything under control, not just in Faerieland. (Neopets Wiki)
Fyora is a declarative replacement for GNU Stow. It is a symlink farm manager that uses a yaml file to declare which files/directories should be symlinked where, rather than a cli interface.
If you have Go installed, you can install fyora with the following command:
go install github.com/wenbang24/fyora@latestYou can download pre-built binaries for your platform from the releases page.
Then simply move the binary to a directory in your PATH, such as /usr/local/bin or ~/bin.
- Linux/macOS:
chmod +x fyora,mv fyora /usr/local/bin - Windows: Move
fyora.exeto a directory in your PATH, such asC:\Windows\System32
Now open a terminal/command prompt and run fyora --version to see if it was installed correctly.
- Clone the repo
- Run
go mod tidyto install dependencies - Run
go buildto build the binary - Run
go installto install the binary to your $GOPATH/bin directory
- Create a config file (see below)
- Run
fyora- By default, it will look for a file called
fyora.yamlin your~/.configdirectory. You can specify a different path using the--configflag (-cshorthand).
- By default, it will look for a file called
(the important part)
The fyora config file is a yaml file that looks like this:
links:
- type: outside
source: /dir1
target: ~/dir2
unsafe: true
- type: inside
source: ~/dir3
target: ~/dir/dir4
unsafe: false
- type: file
source: /dir5/file.txt
target: ~/dir2/dir/file.txt
unsafe: false
ignore:
- .DS_Store
- .gitOutside links create a symlink to the folder itself i.e. ~/dir2/dir1 will point to to /dir1.
Inside links symlink everything inside the first folder to inside of the second folder i.e. ~/dir3/file.txt would be symlinked to ~/dir/dir4/file.txt.
File links symlink the file itself i.e. /dir5/file.txt would be symlinked to ~/dir2/dir/file.txt.
Unsafe mode is dangerous and should only be used if you know what you're doing. If unsafe mode is enabled and there is something at the target location, it will be deleted before the symlink is created, permanently deleting what was once there. This is useful for directories that may already exist but you want to replace with a symlink. This can also lead to irreversible data loss if you are not careful.
Everything under ignore (files and folders) will NOT be symlinked.
"The Faerie Queen, Fyora, is the ruler of Faerieland. She is a kind faerie who basically tries to keep everything under control, not just in Faerieland." (Neopets Wiki)
My friend is a neopets fan and really wanted me to name it after Fyora. I thought it was a cute name and it stuck.