yatli / fvim

Cross platform Neovim front-end UI, built with F# + Avalonia
MIT License
1.34k stars 30 forks source link

nix pkgs #241

Open luxus opened 2 years ago

luxus commented 2 years ago

does anyone created one? If not i would try to create one :D

yatli commented 2 years ago

None I'm aware of. There was an old request but I don't really know a thing about nix: https://github.com/yatli/fvim/issues/183

btw, macOS has moved pass homebrew and people are adopting nix?

luxus commented 2 years ago

for gui apps homebrew is still important (but nix-darwin allows install of homebrew packages while deploying). but actually i ask for a linux package. i started working on it. but it will be my first package :( https://github.com/luxus/nixpkgs/blob/fvim/pkgs/applications/editors/neovim/fvim/default.nix

luxus commented 2 years ago

@yatli maybe you can help me i cannot build it :( https://gist.github.com/luxus/ac5493d45f945677993653e16e8a0954

yatli commented 2 years ago

You need dotnet, not xbuild -- that's a mono thing.

luxus commented 2 years ago

the strange thing my nix file doesn't mentioned xbuild at all. i tried to find any f# project that is build in nixpkgs but no success yet is there any popular software that is build in f# @yatli ?

yatli commented 2 years ago

https://github.com/luxus/nixpkgs/blob/461d0e31c94bf09f3a33f1f1b8c8c4fbf83aa457/pkgs/applications/editors/neovim/fvim/default.nix#L17

Project file should be: fvim.fsproj, not Avalonia/fvim_avalonia.fsproj

Also see: https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/dotnet.section.md

Seems like you need to specify dotnet-sdk, dotnet-runtime and dotnetFlags (If you don't, it "intelligently" falls back to mono, it seems...)

Set both sdk and runtime to 6.0 would do. As for how these flags match against our pack.sh, I don't know... You may need to consult the nix dotnet module implementation.

btw it's the first time I ever looked into nixos wiki. The language seems nice, "pythonic F#/ML" ;)

luxus commented 2 years ago

thanks for the hints. i tried to get it working.. but i really have no clue about f# and i'm pretty new to nixpkgs as well :D

if you are interested in nix on windows you can checkout https://github.com/viperML/home-manager-wsl or https://github.com/nix-community/NixOS-WSL

here is a good talk why nix will go mainstream https://discourse.nixos.org/t/domen-kozar-nix-is-going-mainstream-son2022-public-lecture-series/20923

dwarfmaster commented 1 year ago

I have a working package there. I may consider opening a PR on nixpkgs, but there are a few things I am unsatisfied with, mainly that I have to patch fvim.fsproj to set PublishTrimmed and PublishReadyToRun to false, otherwise it fails at the linking time (I think, I don't know anything about dotnet :sweat_smile:).

@luxus if you have flakes enabled in nix, you can try it with nix run github:dwarfmaster/home-nix#fvim

luxus commented 1 year ago

nice, that you figured it out .. sad that the project is so inactive :( the nix run github:dwarfmaster/home-nix#fvim didn't work btw.

zsh: no matches found: github:dwarfmaster/home-nix#fvim

dwarfmaster commented 1 year ago

Oh right you need to escape the #, ie nix run "github:dwarfmaster/home-nix#fvim" (I think, for some reason even without the quotes it works on my computer).