30 Nov 2021 |
David Arnold (blaggacao) | We could start by auto-providing deploy.nodes.* outputs by default in digga & then add logic for home-manager profiles. | 03:10:06 |
David Arnold (blaggacao) | Then, we can deploy 🤞hm profiles something like this: deploy .#kuma.blaggacao | 03:11:08 |
David Arnold (blaggacao) | Gytis Ivaskevicius: would you accept a dependency on nix-community/nixpkgs.lib in turn for a little bit f convenience and maintainability in fup? | 04:13:30 |
David Arnold (blaggacao) | almost: | 04:51:11 |
David Arnold (blaggacao) | ❯ deploy .#ws.blaggacao@127.0.0.1:22 -s
🚀 ℹ️ [deploy] [INFO] Evaluating flake in .
warning: Git tree '/home/blaggacao/src/github.com/blaggacao/devos' is dirty
🚀 ℹ️ [deploy] [INFO] The following profiles are going to be deployed:
[ws.blaggacao]
user = "blaggacao"
path = "/nix/store/nysd6q63iw2lpb44fqm6c5k2xrvb9nff-activatable-home-manager-generation"
uri = "ssh://blaggacao@127.0.0.1:22"
ssh_opts = []
🚀 ℹ️ [deploy] [INFO] Building profile `blaggacao` for node `ws`
🚀 ℹ️ [deploy] [INFO] Copying profile `blaggacao` to node `ws`
zsh:1: command not found: nix-store
error: cannot connect to 'blaggacao@127.0.0.1'
🚀 ❌ [deploy] [ERROR] Failed to push profile: Nix copy command resulted in a bad exit code: Some(1)
| 04:51:21 |
David Arnold (blaggacao) | ❯ ssh 127.0.0.1
blaggacao@127.0.0.1's password:
Welcome to Pop!_OS 21.04 (GNU/Linux 5.13.0-7620-generic x86_64)
* Homepage: https://pop.system76.com
* Support: https://support.system76.com
Last login: Mon Nov 29 23:46:53 2021 from 127.0.0.1
blaggacao in dar in ~
❯ nix-store -h
error: no operation specified
Try 'nix-store --help' for more information.
yeah!
| 04:51:51 |
David Arnold (blaggacao) | ❯ ssh 127.0.0.1 -- nix-store -h
blaggacao@127.0.0.1's password:
zsh:1: command not found: nix-store
ouch!
| 04:52:05 |
David Arnold (blaggacao) | my nix profile is not loaded on a non-tty shell... | 04:52:28 |
David Arnold (blaggacao) | the only blocker so far. | 04:52:36 |
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 |