Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

any updates? #1

Open
luxus opened this issue Aug 26, 2022 · 20 comments
Open

any updates? #1

luxus opened this issue Aug 26, 2022 · 20 comments

Comments

@luxus
Copy link

luxus commented Aug 26, 2022

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

@danielphan2003
Copy link
Owner

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:

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.

@luxus
Copy link
Author

luxus commented Aug 31, 2022

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
Copy link
Author

luxus commented Sep 6, 2022

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

@danielphan2003
Copy link
Owner

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
Copy link
Owner

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

@luxus
Copy link
Author

luxus commented Sep 6, 2022

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
Copy link
Author

luxus commented Sep 24, 2022

are you still working on this?

@danielphan2003
Copy link
Owner

danielphan2003 commented Sep 24, 2022

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.

@luxus
Copy link
Author

luxus commented Sep 24, 2022

nice i will check it right now :D

@luxus luxus closed this as completed Sep 24, 2022
@luxus
Copy link
Author

luxus commented Nov 27, 2022

oh nice update :D
how useable is it now?

@danielphan2003
Copy link
Owner

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.

@luxus
Copy link
Author

luxus commented Nov 27, 2022

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 luxus reopened this Nov 27, 2022
@danielphan2003
Copy link
Owner

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.

@luxus
Copy link
Author

luxus commented Nov 29, 2022

i guess you patched something here locally?

flk/flake.nix

Line 78 in e3e6197

url = "/home/danie/src/github.com/danielphan2003/devos-ext-lib";

@luxus
Copy link
Author

luxus commented Nov 29, 2022

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
Copy link
Author

luxus commented Nov 29, 2022

i run into this error
asciicast

@danielphan2003
Copy link
Owner

danielphan2003 commented Nov 29, 2022

i guess you patched something here locally?

flk/flake.nix

Line 78 in e3e6197

url = "/home/danie/src/github.com/danielphan2003/devos-ext-lib";

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

@luxus
Copy link
Author

luxus commented Nov 29, 2022

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

@danielphan2003
Copy link
Owner

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

@LiGoldragon
Copy link

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! 😉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants