| Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
There's too many moving parts and layers of abstractions, for no
benefits: I only have to manage 3-4 machines.
Going to create profiles, move things there, and stop with the `enable`
pattern.
|
|
|
|
When rebuilding the host (through `nixos-rebuild switch --flake`) I
don't want to rebuild also my home-manager configuration. I want these
to be two different steps.
I rebuild the home-manager configuration more frequently and it's a
waste of time and CPU to rebuild the world every time.
This is a pretty large refactoring:
- move checks back into the flake: if I modify a check, the
configuration for `pre-commits` is not regenerated, as the file with the
checks is not monitored with `direnv` (I could probably configure it for
it, but not now)
- remove `home.nix` from the host level configuration
- introduce a `mkHomeManagerConfiguration` function to manage the
different user@host
- fix a warning with the rust overlay
|
|
The pre-commit hook for new lines reported and correct a number of
issues, so let's commit them now and after that we ca enable the hook
for the repository.
Change-Id: I5bb882d3c2cca870ef94301303f029acfb308740
Reviewed-on: https://cl.fcuny.net/c/world/+/592
Tested-by: CI
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
This was done by running `nixpkgs-fmt .'.
Change-Id: I4ea6c1e759bf468d08074be2111cbc7af72df295
Reviewed-on: https://cl.fcuny.net/c/world/+/404
Tested-by: CI
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
All the modules that are setup by the profiles are now managed at the
host level. This simplify some configuration, and will make it easier to
adjust things at the host instead of trying to squeeze everything into
profiles.
This will also help the refactoring later, when I'll split nixos and
home-manager configuration.
Change-Id: I17ffda8b0b5d15bf1915c6fae5030380523d74b5
Reviewed-on: https://cl.fcuny.net/c/world/+/297
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
All the configuration is done at the host level.
Change-Id: Ib5ef71ea7955f6872fb08f576e48b24a70600693
Reviewed-on: https://cl.fcuny.net/c/world/+/296
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
From the laptop I only backup /home/fcuny, as the rest should be
straightforward to rebuild with nix.
I run that backup as my own user, since I need my ssh key to use the
remote repository (which is on the NAS). I also need a new secret for
it (I might have been able to use `pass' for this, but well, that's easy
enough).
For the NAS, I update the list of directories to backup to include home,
this will be on the systems backup.
|
|
|
|
aptos is now using the new home-manager setup.
|
|
We don't need the previous `hosts/common/system` configs anymore, as
everything has been moved out.
We keep some boot configuration for carmel in the host configuration for
now, but I need to check why I don't have similar settings for
tahoe (since I also need to unlock the host remotely).
|
|
|
|
|
|
Move the networking configuration for the hosts to its own file.
|
|
This is the start of yet another refactoring of the configuration.
Sound configuration is moving to a module, and we enable it as needed at
the host level. It takes care of configuring pipewire and install the
packages needed too.
This module is applied to the laptop and the desktop.
|
|
|
|
|
|
|
|
This is done in the module itself.
|
|
|
|
The key was created under /run/agenix, which is wiped out after a
reboot. The key being absent prevents the wireguard interface to come
up. Store the key somewhere persistent to prevent this to happen.
|
|
Add a new module to automatically configure the peers for wireguard. The
module needs a configuration file (in `configs/wireguard.toml`) which
lists all the peers, their IP and and their public keys. The secret keys
is encrypted as a secret with agenix.
There's some initial documentation on how to use this setup.
|
|
Replace wpa_supplicant with iwd (I prefer that daemon and the associated
tool, iwctl).
Enable thermald for managing power.
|
|
aptos is my laptop (dell xps 13'). This adds the initial configuration
for it.
|
|
Most of the options for booting are common to all hosts.
|
|
We need to load the driver for the NIC.
|
|
Enable a SSH daemon in initrd, with our keys, so we can unlock remotely
the disk on reboot.
|
|
This is not working yet, we will figure this out later.
|
|
|
|
Update the `mkSystem` function to include the proper common module, and
fix the path to import the common configuration for a desktop into
`carmel`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
There's a lot of commented stuff I don't need, and move things that are
configured in the host into modules, which will improve re-usability and
readability of this configuration.
|
|
I'm still struggling with documentation, and I'd rather have something
simple that works rather than smart and does not work.
The configuration for the host imports the modules that are relevant to
that host (in the case of carmel, desktop and systems).
For the home-manager, I create a profile "desktop" that contains stuff
related to a desktop (i3, etc), and it includes the module "common" that
contains stuff that I want on any machines (so that in the future, for
a machine that is a server, the home manager will only import "common").
|
|
|
|
|
|
|
|
Enable it for the desktop.
|
|
|
|
Initial configuration for the desktop (carmel).
|