Things
- `wireguard` for `hs` - gnome keyring for VSCode to make Copilot work - uninstalled local `Hydra` on `pc` - VSCode -> VSCodeFHS - Emacs - typescript - solidity - envrc mode
This commit is contained in:
parent
3668e2d3d0
commit
816bd8fe6f
132 changed files with 1410 additions and 3682 deletions
77
README.org
77
README.org
|
@ -1,77 +0,0 @@
|
|||
* NixFleet
|
||||
|
||||
A complete, declarative and reproducible configuration of my entire
|
||||
Nix fleet, this includes the following machines:
|
||||
|
||||
- [X] my main home workstation ~pc~
|
||||
- [X] homeserver (mainly a nas) ~hs~
|
||||
- [X] my arm based [[https://wiki.pine64.org/wiki/Pinebook_Pro][PineBook Pro]] ~pbp~, almost completely open hardware
|
||||
|
||||
The different confgurations share many profiles, in fact my original
|
||||
goal was to avoid to rewrite the same Nix derivations for my
|
||||
different machines.
|
||||
|
||||
** Continuous integration
|
||||
At every commit a GitHub action builds all the machines and publish the
|
||||
artifacts produces to [[aciceri-fleet.cachix.org]].
|
||||
Moreover, every night, another GitHub action is triggered and it try to update
|
||||
the flake's lockfile creating a PR, the same GitHub action is before is run
|
||||
against the branch of this PR.
|
||||
|
||||
** Commands
|
||||
Here I describe my most used commands. All the commands are executed
|
||||
inside the Flake's development shell. To enter in this shell is
|
||||
sufficent to ~cd~ in the folder (if you use ~direnv~) or run ~nix
|
||||
develop~.
|
||||
|
||||
*** Checking
|
||||
To check that the Nix Flake is [[https://nixos.org/manual/nix/unstable/command-ref/new-cli/nix3-flake-check.html#evaluation-checks][well defined]]:
|
||||
#+begin_src shell
|
||||
nix flake check
|
||||
#+end_src
|
||||
|
||||
*** Building
|
||||
#+begin_src shell
|
||||
nix -Lv build
|
||||
".#nixosConfigurations.<host>.config.system.build.toplevel"
|
||||
#+end_src
|
||||
|
||||
where ~<host>~ is the hostname e.g. ~pc~.
|
||||
|
||||
*** Testing new config
|
||||
#+begin_src shell
|
||||
bud rebuild <host> test
|
||||
#+end_src
|
||||
|
||||
where ~<host>~ is the hostname e.g. ~pc~.
|
||||
|
||||
|
||||
*** Switching
|
||||
#+begin_src shell
|
||||
bud rebuild <host> switch
|
||||
#+end_src
|
||||
|
||||
where ~<host>~ is the hostname e.g. ~pc~.
|
||||
|
||||
*** Remote deploy
|
||||
|
||||
#+begin_src shell
|
||||
deploy -d --hostname <hostname> '.#<host>' --skip-checks --ssh-user root
|
||||
#+end_src
|
||||
|
||||
where
|
||||
- ~<hostname>~ is the remote machine hostname or ip
|
||||
- ~<host>~ is one between ~pc~, ~pbp~ or ~hs~
|
||||
|
||||
** Github Actions
|
||||
*** Check and build
|
||||
At every commit pushed on ~master~ a Github actions which ~nix flake
|
||||
check~ the flake is executed and then every system is build.
|
||||
Currently this workflow will skip ~aarch64~ hosts since the runner is
|
||||
~x86_64~ and I didn't find a way to make it cross compile.
|
||||
|
||||
*** Release
|
||||
At every tagged commit whose tag name starts with ~release-~ a process
|
||||
that releases all the bootstrap ISOs for the systems is started. Here
|
||||
I've the same problem with ~aarch64~ hosts so the runner will skip
|
||||
them.
|
Loading…
Add table
Add a link
Reference in a new issue