flk icon indicating copy to clipboard operation
flk copied to clipboard

any updates?

Open luxus opened this issue 3 years ago • 20 comments

hi, i found your config by accident :D i'm very impressed by it and saw your note that you need to update the documentation. (its already cool that it exist in such a complex config) are you still planing it? and did you really changed nothing in the last 2 month? :D

luxus avatar Aug 26 '22 12:08 luxus

Hi! Thanks for the compliments. flk is currently going under a rewrite to follow https://github.com/divnix/hive conventions. Quite a lot of things have changed, so here is a non exhaustive list:

  • Added a home profile for https://github.com/hyprwm/Hyprland
  • Added a nixos profile for tui-greet.
  • Use https://github.com/zhaofengli/colmena instead of deploy-rs.
  • No longer depends on https://github.com/divnix/digga. Instead I rewrote flk to use https://github.com/divnix/std, which is what https://github.com/divnix/hive based on.
  • Secure boot support with https://github.com/DeterminateSystems/bootspec-secureboot!
  • Theming with https://github.com/danth/stylix.
  • dan-nixpkgs is now https://github.com/danielphan2003/fog. It's where I keep my package sources up to date using https://github.com/berberman/nvfetcher.

Now that you mentioned it, I usually push new changes every two months since I made so many changes and I use a Yubikey to sign my commit, so I tend to push all the changes as a single commit to save the hassle.

Worry not, I have been close to finalise the tree to the point where I can confidently push the upcoming changes to main branch. In the meantime I will try to push the unfinished changes to a separate tree as https://github.com/danielphan2003/flk/tree/22.11 (the .11 isn't actually November, I just followed Nixpkgs's upcoming stable branch name, which is release-22.11). After that, I will continue to std-ify the tree until it can be deployed with Colmena and usable in nix repl, at which it will be merged into main branch.

danielphan2003 avatar Aug 31 '22 02:08 danielphan2003

Hello daniel, Thanks for this detailed answer. And I'm very happy about it :D I try to answer, but English is not my native tongue that I only will see updates every two months is quite sad :( But I can understand.

At the moment, I use my fork of https://github.com/Misterio77/nix-config

  • Great news I use Hyprland myself, and I like it.
  • I use greetd as well. Good choice! But with gtk at the moment.
  • I read some stuff about colmena; it looks interesting. I didn't get into the deploy stuff yet. But I start a new job tomorrow, and learning about it can come in handy.
  • digga sounded good.. but I had some trouble with it. Std looks like the future. I don't like the documentation. It's very cryptic. So I look forward to your comments and documentation :)
  • I didn't spend time on secure boot yet. I'm happy that btrfs(including opt-in root on boot delete) with impermanence is working in my config.
  • because the author of the config I forked is the author is nix-colors, I'm at the moment using it. But I saw stylix already, and it's on my todo list :D
  • I like your approach to updating the cachix. I dislike having hundreds of CI commits in my repo.. so it's a nice solution that you handle it by another repo.

Looking forward to your config; maybe I will rewrite mine and for yours. I learn a lot about nix by dissecting configs and changing them to my needs. Flakes and digga / std are complex beasts that are easier to understand with good examples, at least for me.

stuff that I need to add to my fork of your config looking forward to your WIP tree.

  • nix(on darwin, ubuntu and wsl). Darwin is sometimes not so straightforward. I hope it works well with std.
  • I want to replace tailscale with www.netbird.io (it supports Linux kernel wireguard, tailscale only supports the golang version)
  • looking forward to trying streaming and gaming on Linux :D
  • the other is mostly copy-paste, I think

br kai

luxus avatar Aug 31 '22 19:08 luxus

Do you know when you will add the experimental branch? I want to rework my config and hope for some inspiration and base :)

luxus avatar Sep 06 '22 05:09 luxus

I'm currently still doing some major reworks after seeing https://github.com/GTrunSec/cells-lab, but for now I will upload the zip file here

danielphan2003 avatar Sep 06 '22 06:09 danielphan2003

Places of interest are cells/nixos/*, cells/home/*, cells/flk/hosts/* and cells/flk/users/*

danielphan2003 avatar Sep 06 '22 06:09 danielphan2003

haha GTrunSec already made me rewriting my config already 1 time .. so i know how you feel :D any timeframe when you will be done with the major rework?

luxus avatar Sep 06 '22 16:09 luxus

are you still working on this?

luxus avatar Sep 24 '22 17:09 luxus

There has been little progress been made to finalize the APIs and std cells since I can only work with this at weekends. I'm sadly not actively planning things out because of my uni life, and rethinking https://github.com/divnix/digga into std takes more time than I had originally thought.

That said, I will upload the code later since finishing this alone would be possible, but having some help from https://github.com/divnix/hive and the DivNix's Matrix chat would surely get the job done faster.

Update: the changes are up! Hope you find it useful even though it's a big wip.

danielphan2003 avatar Sep 24 '22 17:09 danielphan2003

nice i will check it right now :D

luxus avatar Sep 24 '22 18:09 luxus

oh nice update :D how useable is it now?

luxus avatar Nov 27 '22 00:11 luxus

oh nice update :D how useable is it now?

Pretty much everything works, including custom channel for each host as well as your own overlays and packages are also available. This wouldn't be possible without https://github.com/divnix/hive, but in order to pass specialArgs to nixos module ({profiles, suites, inputs, self, ...}) I had to fork it at https://github.com/danielphan2003/hive/tree/evalConfigArgs. My flake outputs with hive are almost exactly the same as when I used digga (nixos or home{,Portable}Configurations, pkgs, packages etc.) except for packages where I think I have to use exportPackages from https://github.com/gytis-ivaskevicius/flake-utils-plus.

You can use https://github.com/zhaofengli/colmena instead of nixos-rebuild and deploy-rs. Note that hive's generated {colmena,nixos}Configurations has a form of {cell}-o-{target} so you have to specify that in your command. For example, I have a cell called themachine, and I also have a {colmena,nixos}Configurations file that has a themachine attrs, so I run sudo colmena apply-local --target themachine-o-themachine. I might open an issue about this in hive to simplify things.

danielphan2003 avatar Nov 27 '22 07:11 danielphan2003

The first moment, I was a little confused that I saw so many digga "references". i have some Linux machines and servers. But my main Computer is a Mac, does it supports darwinConfigurations?

luxus avatar Nov 27 '22 09:11 luxus

The first moment, I was a little confused that I saw so many digga "references".

No worries. If you were to take any repo built with digga and run nix flake show, the output would be similar to mine, which is why I'm replacing digga in the first place.

Being built on std, it makes sense to unify how and where to look for type-specific dotfiles such as NixOS's vs. Darwin's vs. Home Manager's hosts/users/modules/profiles etc, instead of relying on passing framework-specific inputs so that the framework can do its job while limiting options for any outputs other than that framework outputs.

i have some Linux machines and servers. But my main Computer is a Mac, does it supports darwinConfigurations?

You can adapt https://github.com/danielphan2003/hive/blob/evalConfigArgs/make-mead.nix so that it uses Darwin-specific modules or builder instead. See how I used it to generate the output for nixosConfigurations at my flake.nix. I don't have any Mac but I think hive would love to see an implementation for this.

danielphan2003 avatar Nov 27 '22 13:11 danielphan2003

i guess you patched something here locally? https://github.com/danielphan2003/flk/blob/e3e6197677355fea5f816126f60086c62bf2e344/flake.nix#L78

luxus avatar Nov 29 '22 18:11 luxus

You can adapt danielphan2003/hive@evalConfigArgs/make-mead.nix so that it uses Darwin-specific modules or builder instead. See how I used it to generate the output for nixosConfigurations at my flake.nix. I don't have any Mac but I think hive would love to see an implementation for this.

okay I will work on makeCider for darwin :D

luxus avatar Nov 29 '22 18:11 luxus

i run into this error asciicast

luxus avatar Nov 29 '22 22:11 luxus

i guess you patched something here locally? https://github.com/danielphan2003/flk/blob/e3e6197677355fea5f816126f60086c62bf2e344/flake.nix#L78

Ah yes, the changes are available at https://github.com/danielphan2003/devos-ext-lib/tree/std

danielphan2003 avatar Nov 29 '22 22:11 danielphan2003

yeah i just updated the source 1 minute before you posted :D but the error is still the same :( sorry to bother you with my problems I think it has todo with the fact that I entered the directory on darwin edit: looks like it works fine in linux builds fine but I get the next error when I try to launch std

error: attribute 'default' missing

       at /nix/store/74zk8l7g93zh1y48iilw9nzgcx7cjz30-cells/flk/overlays.nix:30:21:

           29|
           30|     devos-ext-lib = inputs.devos-ext-lib.overlays.default;
             |                     ^
           31|
(use '--show-trace' to show detailed location information)
2022/11/29 23:43:37 exit status 1

luxus avatar Nov 29 '22 22:11 luxus

yeah i just updated the source 1 minute before you posted :D but the error is still the same :( sorry to bother you with my problems I think it has todo with the fact that I entered the directory on darwin edit: looks like it works fine in linux builds fine but I get the next error when I try to launch std

error: attribute 'default' missing

       at /nix/store/74zk8l7g93zh1y48iilw9nzgcx7cjz30-cells/flk/overlays.nix:30:21:

           29|
           30|     devos-ext-lib = inputs.devos-ext-lib.overlays.default;
             |                     ^
           31|
(use '--show-trace' to show detailed location information)
2022/11/29 23:43:37 exit status 1

Fixed with latest commit in flk

danielphan2003 avatar Nov 30 '22 02:11 danielphan2003

Hi! I'm also impressed by your nix code. Not a lot of people are using std. You will probably like kriomOS when it's ready. How can we get in touch? I use matrix, check my links. I can read your horoscope if you want on my astrology podcast, or we can talk on my coding podcast, or just chat. Cam Eun! :wink:

LiGoldragon avatar Jun 06 '23 05:06 LiGoldragon