| 30 Nov 2021 |
David Arnold (blaggacao) | (user nix install) - any ideas what to do? | 04:53:24 |
David Arnold (blaggacao) | the tip of my digga branch is the last commit in https://github.com/divnix/digga/pull/116 | 04:54:35 |
David Arnold (blaggacao) | with -s/--skip-checks my node is just a dummy config to "hold" the node concept which is neede for deployment with deploy-rs:
{ lib, pkgs, config, ... }: {
}
| 04:57:10 |
David Arnold (blaggacao) | With that, and at the current state of affairs we could completely rug-pull divnix/bud, which currently mainly wraps therse deployment things to give them a little more univerasl interface. | 05:01:42 |
David Arnold (blaggacao) | * With that, and at the current state of affairs we could completely rug-pull divnix/bud, which currently mainly wraps these deployment things to give them a little more universal interface. | 05:02:12 |
David Arnold (blaggacao) | lmkwyt | 05:02:19 |
| Bruno joined the room. | 09:58:01 |
Bruno | Hello ! I just migrated from arch to NixOS. Now I'm trying to use digga to start using flakes and have something clean that'll help me use my conf on my other hosts easily. There is one thing I don't understand though. When I look at devos and other examples, in ./profiles I see profiles like laptop, graphical, ... but in ./users/profiles, I see profiles relating to applications like git, tmux. From what I understand, under ./profiles are configuration of NixOS modules and under ./users/profiles of HM modules, is that right?
This distinction between NixOS and HM isn't very important to me, the difference between a desktop host (with graphics needed) and a server host is more important to me. But for these two types of host, both NixOS and HM configuration will be different. So I'd like to have a graphical profile where I will be able to change both NixOS and HM options. For example, configuring sway in HM and configuring xdg portals in my NixOS conf.
How would I do that?
| 10:07:31 |
b12f | Our config might interest you; https://git.b12f.io/pub-solar/os
branch main has the base config, branches b12f and teutat3s are for our personal users and devices.
We completely ignore the HM/NixOS distinction and make the assumption that the system has only one relevant user (apart from root)
I have suites per-device, and then add the graphical module where needed https://git.b12f.io/pub-solar/os/src/branch/b12f/flake.nix#L141
Unfortunately our headless config is still WIP, but our goal is to have a functional headless system if you have only the profiles core pubsolaros and users.your-user enabled for a system.
| 10:58:04 |
Bruno | Thank you! I'm gonna take a look at that | 11:16:13 |
Bruno | So if I understand well, you do not use ./users/profile but instead, in the profiles in ./profiles you'll have a home-manager section defined, right? Do you know why this isn't the default way to deal with profiles? | 11:45:16 |
b12f | You'll have to ask the others, but I can see some advantages to mixing NixOS and HM options, especially for multi user systems | 11:53:18 |
b12f | I guess most of unix still assumes multi-user, but if you drop that requirement a lot of stuff can become way easier | 11:53:58 |
b12f | * You'll have to ask the others, but I can see some advantages to not mixing NixOS and HM options, especially for multi user systems | 12:03:42 |
b12f | * That's correct. You'll have to ask the others, but I can see some advantages to not mixing NixOS and HM options, especially for multi user systems | 12:07:14 |
David Arnold (blaggacao) | Sweenu: also make sure to stop by https://github.com/divnix/digga/tree/main/examples/groupByConfig and other examples that give you a complementary angle to the devos-template beaten path. My favorit is groupByConfig. | 16:42:17 |
Bruno | Thanks David Arnold (blaggacao) ! Yes I looked at that config. I'm trying to use digga from scratch, with the minimum and add gradually because devos was too much at once for a noob like me 😄 | 16:53:57 |
Bruno | * Thanks David Arnold (blaggacao) ! Yes I looked at that config. I'm trying to use digga from scratch, with the minimum and add gradually because devos was too much to understand at once for a noob like me 😄 | 16:54:15 |
David Arnold (blaggacao) | Moving the stuff that loads the nix profile from ~/.zshrc to ~/.zshenv also makes them available on a non-interactive shell. | 19:19:27 |
Bruno | I'd like to see the result of rakeLeaves on a directory, can I do that easily from the command line ? | 19:22:00 |
David Arnold (blaggacao) | sure, in a nix repl. | 19:27:08 |
David Arnold (blaggacao) | it's a "recursive import", in essence. | 19:27:22 |
David Arnold (blaggacao) | (witnessing default.nix files on its way) | 19:27:40 |
David Arnold (blaggacao) | It looks like deploy-rs is not yet 100% optimized for password entry while doing ssh connections. | 19:28:15 |
Bruno | So in a hierarchy like this in my profiles:
├── graphical
│  ├── alacritty.nix
│  ├── default.nix
│  ├── firefox
│  │  ├── default.nix
│  │  └── tridactylrc
│  └── sway
│  ├── default.nix
to use all of this in a suite, I will have to do:
suites = with profiles; rec {
base = [ core users.sweenu users.root ];
desktop = base ++ [ graphical graphical.sway graphical.firefox graphical.alacritty ];
};
? I could import sway, firefox and alacritty in default.nix so that I can just do base ++ [ graphical ]; right?
| 19:34:24 |
David Arnold (blaggacao) | no graphical. | 19:42:45 |
David Arnold (blaggacao) | graphical is no "leave" and hence, not raked 😄 | 19:43:08 |
David Arnold (blaggacao) | oh, no, graphical is a leave so it's leaves are not raked. | 19:46:41 |
Bruno | mmh, gotcha 👌 | 20:10:17 |
David Arnold (blaggacao) | In reply to @blaggacao:matrix.org Moving the stuff that loads the nix profile from ~/.zshrc to ~/.zshenv also makes them available on a non-interactive shell. So that fails the HM activation script since that also wants to control ~/.zshenv - this is really a nasty boostrapping issue, since it will never be ergonomic. | 21:35:12 |