about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
...
* feat(hosts/tahoe): install gitolite and cgitFranck Cuny2023-03-024-9/+145
| | | | | | | | Replace gitea with gitolite + cgit. I don't need a whole git forge for myself, especially since I don't use most of the features. The main thing I'm losing with this change is CI (via drone), but this is not really a big loss for now.
* fix(home/age): use `rage' for `passage'Franck Cuny2023-02-211-0/+4
| | | | | The current version of age shipped by nixos does not support the keys generated by `age-plugin-yubikey'.
* fix(home/git): simplify gitignore configurationFranck Cuny2023-02-212-21/+13
|
* feat(home/fish): new function to run home-managerFranck Cuny2023-02-211-0/+4
|
* feat(home/fish): function to create go projectsFranck Cuny2023-02-211-0/+27
| | | | | | A function to create a go project: it creates the git repository, setup the project using a flake template, create an initial commit, push it and ensure we can run drone on it.
* feat(templates/go): add flake template for go projectsFranck Cuny2023-02-218-0/+151
|
* feat(home/fish): move fish's code to external filesFranck Cuny2023-02-215-20/+43
| | | | | | | It's easier to edit / debug / test the code that way. This also add a new function (`find-ssh-agent') to find or start a new ssh agent when a shell is started.
* feat(home/pass): add passageFranck Cuny2023-02-201-0/+10
| | | | Port of `pass' to use `age' instead of `gpg'.
* ref(home/gpg): don't use the gpg-agent as an ssh-agentFranck Cuny2023-02-201-1/+1
|
* ref(home/git): sign commits and tags properlyFranck Cuny2023-02-202-11/+16
| | | | | | The configuration can be simplified by using the `signing' directive. For some reason it was also set in the configuration for `pass' which, while it was correct, was in the wrong location.
* ref(modules/users): move ssh keys to a separate fileFranck Cuny2023-02-203-6/+17
| | | | | Each key is associated to a variable, which let me be more specific about which key to use depending on the context.
* feat(modules/pcscd): install the pcscd daemonFranck Cuny2023-02-203-0/+15
| | | | This is to use the yubikeys correctly
* feat(home/age): install tooling related to age and yubikeysFranck Cuny2023-02-204-0/+32
|
* fix(home/firefox): move plugins to the profileFranck Cuny2023-02-201-7/+7
|
* meta: bump flake dependenciesFranck Cuny2023-02-201-35/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | • Updated input 'agenix': 'github:ryantm/agenix/42d371d861a227149dc9a7e03350c9ab8b8ddd68' (2023-01-09) → 'github:ryantm/agenix/5f66c8aa774d8d488cba1cdc4f0c954d2a14e3a1' (2023-02-20) • Added input 'agenix/darwin': 'github:lnl7/nix-darwin/87b9d090ad39b25b2400029c64825fc2a8868943' (2023-01-09) • Added input 'agenix/darwin/nixpkgs': follows 'agenix/nixpkgs' • Updated input 'emacs-overlay': 'github:nix-community/emacs-overlay/b537e3cba7307729bf80cdc8ef2b176727cbb645' (2023-01-10) → 'github:nix-community/emacs-overlay/d7eeebd439b52b77958eb3d8043f3262701ddee2' (2023-02-20) • Updated input 'emacs-overlay/nixpkgs': 'github:NixOS/nixpkgs/35f1f865c03671a4f75a6996000f03ac3dc3e472' (2023-01-09) → 'github:NixOS/nixpkgs/0f213d0fee84280d8c3a97f7469b988d6fe5fcdf' (2023-01-12) • Updated input 'futils': 'github:numtide/flake-utils/5aed5285a952e0b949eb3ba02c12fa4fcfef535f' (2022-11-02) → 'github:numtide/flake-utils/3db36a8b464d0c4532ba1c7dda728f4576d6d073' (2023-02-13) • Updated input 'home-manager': 'github:nix-community/home-manager/176e455371a8371586e8a3ff0d56ee9f3ca2324e' (2023-01-10) → 'github:nix-community/home-manager/72ce74d3eae78a6b31538ea7ebe0c1fcf4a10f7a' (2023-02-20) • Updated input 'naersk/nixpkgs': 'github:NixOS/nixpkgs/35f1f865c03671a4f75a6996000f03ac3dc3e472' (2023-01-09) → 'github:NixOS/nixpkgs/a1291d0d020a200c7ce3c48e96090bfa4890a475' (2023-02-19) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/54644f409ab471e87014bb305eac8c50190bcf48' (2023-01-10) → 'github:NixOS/nixpkgs/0cf4274b5d06325bd16dbf879a30981bc283e58a' (2023-02-19) • Updated input 'nur': 'github:nix-community/NUR/2c47b2a0053cdb36cc08353f79eebf7a055fa18f' (2023-01-10) → 'github:nix-community/NUR/3c39aebcd09c9d6c257140e07f3d2beac4a83043' (2023-02-20) • Updated input 'pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/f8992fb404c7e79638192a10905b7ea985818050' (2023-01-09) → 'github:cachix/pre-commit-hooks.nix/c9495f017f67a11e9c9909b032dc7762dfc853cf' (2023-02-20) • Updated input 'pre-commit-hooks/flake-compat': 'github:edolstra/flake-compat/009399224d5e398d03b22badca40a37ac85412a1' (2022-11-17) → 'github:edolstra/flake-compat/35bb57c0c8d8b62bbfd284272c928ceb64ddbde9' (2023-01-17) • Updated input 'rust': 'github:oxalica/rust-overlay/9724998ea2caf23214674bf0c2cdf6ec0b1719af' (2023-01-10) → 'github:oxalica/rust-overlay/98f11700e398cf2ae6da905df56badc17e265021' (2023-02-20)
* ref(home/gpg): install ykman and more configurations for GPGFranck Cuny2023-02-091-2/+11
| | | | | | Installing the yubikey manager (ykman) to help managing the keys. Add more configurations for GPG related to keys.
* ref(home/swaylock): different background colorFranck Cuny2023-01-221-1/+1
|
* ref(aptos/services): don't use autologinFranck Cuny2023-01-221-1/+0
| | | | | | This is not working as I thought it would: I was expecting this to only work with the first login, but any time I log out of my account it logs in right away again.
* ref(hosts/tahoe): exclude more paths from backupsFranck Cuny2023-01-192-1/+11
|
* feat(home/packages): install resticFranck Cuny2023-01-161-0/+1
|
* ref(tahoe/backups): backup fewer thingsFranck Cuny2023-01-162-5/+12
| | | | | I don't need to backup videos, and the cache of my home directory. I also don't need to keep that many snapshots around.
* ref(home/matrix): replace element by fractalFranck Cuny2023-01-155-14/+19
| | | | | | | | | | | fractal(-next) is a client for matrix. It's GTK4 native and uses rust. While not much nicer looking than element, it's not an electron app, which I prefer (electron is slow, and element would freeze/crash from time to time). I renamed the module from element to matrix-client, in case I switch to something else in the future (or if there are additional configurations).
* ref(home/python): use the default versionFranck Cuny2023-01-151-2/+2
| | | | | | | | | | | | Use the default version of python for the nixos version I'm using. Remove an unused environment variable (PYTHON_HISTFILE) since it's not used (I don't remember where I got this one from, but it's not used to set the history for the python interpreter, see [1]). Add an environment variable for ipython. [1] https://github.com/python/cpython/blob/main/Lib/site.py#L468
* ref(home/gpg): set homedir for GPG configurationsFranck Cuny2023-01-151-0/+1
|
* ref(home/xdg): configure a few more environment variablesFranck Cuny2023-01-151-0/+3
|
* ref(home/sway): auto login and enable systemd integrationFranck Cuny2023-01-152-4/+8
| | | | | | | | | When the laptop boots, I already have to enter a passphrase to unlock the disks, I can trust that it's me and can automatically log into the system. Enable systemd integration for sway so that the correct session is started and environment variables are imported properly.
* ref(modules/prometheus): don't backup the dataFranck Cuny2023-01-151-2/+0
| | | | | I don't care if I lose this data, and it's creating a lot of churn in the backups and consuming a lot of space.
* feat(modules/backup): enable max compressionFranck Cuny2023-01-151-1/+1
|
* fix(modules/gitea): correctly set the variable for log levelFranck Cuny2023-01-121-1/+1
|
* ref(home/swayidle): configure it using upstream moduleFranck Cuny2023-01-111-18/+24
|
* bump flakesFranck Cuny2023-01-101-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | • Updated input 'emacs-overlay': 'github:nix-community/emacs-overlay/dca61513fcd032f348aa2e3fe4606d52e848e7ce' (2023-01-09) → 'github:nix-community/emacs-overlay/b537e3cba7307729bf80cdc8ef2b176727cbb645' (2023-01-10) • Updated input 'emacs-overlay/nixpkgs': 'github:NixOS/nixpkgs/0c9aadc8eff6daaa5149d2df9e6c49baaf44161c' (2023-01-08) → 'github:NixOS/nixpkgs/35f1f865c03671a4f75a6996000f03ac3dc3e472' (2023-01-09) • Updated input 'home-manager': 'github:nix-community/home-manager/b0a3689878d4c2e8a1b02cecf8319ba8c53da519' (2023-01-09) → 'github:nix-community/home-manager/176e455371a8371586e8a3ff0d56ee9f3ca2324e' (2023-01-10) • Updated input 'naersk/nixpkgs': 'github:NixOS/nixpkgs/0c9aadc8eff6daaa5149d2df9e6c49baaf44161c' (2023-01-08) → 'github:NixOS/nixpkgs/35f1f865c03671a4f75a6996000f03ac3dc3e472' (2023-01-09) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/8c54d842d9544361aac5f5b212ba04e4089e8efe' (2023-01-08) → 'github:NixOS/nixpkgs/54644f409ab471e87014bb305eac8c50190bcf48' (2023-01-10) • Updated input 'nur': 'github:nix-community/NUR/7d6f34170b42fe49740fb9b7e4b4a7fdf530b581' (2023-01-09) → 'github:nix-community/NUR/2c47b2a0053cdb36cc08353f79eebf7a055fa18f' (2023-01-10) • Updated input 'rust': 'github:oxalica/rust-overlay/3488cec01351c2f1086b02a3a61808be7a25103e' (2023-01-09) → 'github:oxalica/rust-overlay/9724998ea2caf23214674bf0c2cdf6ec0b1719af' (2023-01-10)
* fix(modules/gitea): what a messFranck Cuny2023-01-101-3/+6
|
* ref(modules/nix): update a number of settings for nixFranck Cuny2023-01-101-4/+15
| | | | Inspired by https://jackson.dev/post/nix-reasonable-defaults/
* feat(hosts/tahoe): rotate the screen 90 degreeFranck Cuny2023-01-101-2/+6
| | | | The machine is connected to a rotated screen.
* fix(services/unifi): remove prometheus.exporters.unpollerFranck Cuny2023-01-101-12/+0
| | | | | This does not exist in 22.11, only 23.05. Will figure out the proper way to monitor it later.
* fix(modules/gitea): restore settings for nix 22.11Franck Cuny2023-01-101-7/+3
|
* fix(hosts/tahoe): workaround md raid boot uuid issue in 22.11Franck Cuny2023-01-101-2/+2
| | | | | | | Due to md device uuid availability issue in initrd. Refs: - https://github.com/NixOS/nixpkgs/issues/196800 - https://github.com/NixOS/nixpkgs/issues/199551
* fix(modules/unifi): pin the package for mongodbFranck Cuny2023-01-091-0/+1
| | | | Similar to 6c0211b.
* fix(hosts/tahoe): mask mdmonitorFranck Cuny2023-01-091-0/+5
| | | | | This is a broken unit and I don't need it (see https://github.com/nixos/nixpkgs/issues/72394).
* ref(flake): let's stay on stableFranck Cuny2023-01-092-33/+33
| | | | | There's no need to be on unstable, I prefer break things only twice a year instead of every time I run an update ...
* fix(modules/unifi): proper monitoring and latest versionFranck Cuny2023-01-082-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | They've recently removed from nixpkgs the version of mongodb that was used by unifi. I updated to the latest version (7) and did the migration of the DB manually (see https://github.com/NixOS/nixpkgs/pull/207382): ``` nix-shell -p mongodb-3_4 mongodb-tools mongod --dbpath /var/lib/unifi/data/db --logpath /var/log/unifi/repair.log --repair mongod --dbpath /var/lib/unifi/data/db --logpath /var/log/unifi/repair.log --journal --fork mongodump --out=/root/mongodump pkill mongod exit nix-shell -p mongodb-4_2 mongodb-tools mv /var/lib/unifi/data/db /var/lib/unifi/data/db_bak mkdir /var/lib/unifi/data/db mongod --dbpath /var/lib/unifi/data/db --logpath /var/log/unifi/repair.log --journal --fork mongorestore /root/mongodump pkill mongod ``` Once this was done, the exporter was also broken, has it has been renamed. There are two different services for it in nixpkgs: `services.unpoller` and `services.prometheus.exporters.unpoller`. Only the last one works. From what I can tell, everything is working now.
* ref(flake): use latest version for nixosFranck Cuny2023-01-072-47/+31
| | | | Don't pin, just use latest.
* fix(home/emacs): don't install nixpkgs-fmt hereFranck Cuny2023-01-071-1/+0
|
* fix(home/mail): set the full path to notmuch config for afewFranck Cuny2023-01-071-2/+2
| | | | | | It's expecting the configuration in a different place. I think some environment variable are not propagated correctly, might look into this later.
* fix(home/python): don't specify the versionFranck Cuny2023-01-071-2/+1
| | | | | Use what ever is the latest version set by nix, and don't install poetry (it seems to be broken at the moment).
* fix(home/sway): set the environment variable correctlyFranck Cuny2023-01-071-1/+1
|
* fix(modules/gitea): the linter corrupted the file ...Franck Cuny2023-01-071-15/+0
|
* fix(modules/sendsms): run it as root for nowFranck Cuny2023-01-071-2/+0
| | | | | | I need to figure a way to make it run as a dynamic user, while still having access to the credentials for twilio, while not changing the permissions to the file.
* fix(modules/unifi): remove the pollerFranck Cuny2023-01-071-32/+0
| | | | | | | | The poller refuses to start, as the name of the binary has been updated, and the upstream module is not reflecting that change. The service has also been renamed from `unifi-poller` to `unpoller`, but this is not working for now. Let's get rid of it as a temporary fix while looking at the correct solution.
* fix(modules/grafana): a number of options have been renamedFranck Cuny2023-01-072-8/+11
|
* fix(modules/gitea): a number of options have been renamedFranck Cuny2023-01-071-8/+35
|
* feat(home/packages): add tool masked-emailsFranck Cuny2023-01-074-60/+343
|
* fix(home/emacs): rename the packageFranck Cuny2023-01-071-1/+1
| | | | | | ``` trace: emacsPgtkNativeComp has been renamed to emacsPgtk, please update your expression. ```
* fix(home/firefox): remove extension https-everywhereFranck Cuny2023-01-071-1/+0
| | | | It's been deprecated.
* ref: delete terraform configuration for GitHubFranck Cuny2023-01-037-427/+0
| | | | | I'm not using GitHub for my repositories, and I don't need to maintain this configuration either.
* feat: script to delete repositories on GitHubFranck Cuny2023-01-031-0/+84
| | | | | Delete repositories that are marked as private in GitHub and already exists in my gitea instance.
* feat: update to nix 22.11Franck Cuny2023-01-034-30/+51
|
* feat(modules/nix): add binary cachesFranck Cuny2022-11-301-0/+10
|
* feat(hosts/tahoe): enable `sendsms` moduleFranck Cuny2022-11-303-0/+14
|
* feat(modules/sensdms): a module to send an SMSFranck Cuny2022-11-305-3/+236
| | | | | | A new module `sendsms` is added to send SMS when the host reboots. It's triggered by systemd when the host boots and once the network is available.
* ref(tools/sendsms): it's been moved to its own repositoryFranck Cuny2022-11-218-1401/+2
| | | | https://git.fcuny.net/fcuny/sendsms
* ref(fonts): switch back to source code proFranck Cuny2022-11-213-14/+2
| | | | I find Source Code Pro to be more readable than iosevka.
* feat(templates/rust): add configuration for drone CIFranck Cuny2022-11-151-0/+33
|
* fix(flake): add extra argument for the `check-yaml' hookFranck Cuny2022-11-151-1/+1
| | | | | | | Drone's CI configuration is in YAML and can contain multiple configurations (documents). By default the check does not allow this, so let's update the configuration by adding the flag `--allow-multiple-documents`.
* fix(modules/gitea): next time I'll learn to read the documentationFranck Cuny2022-11-151-2/+1
|
* fix(modules/gitea): add a few more settingsFranck Cuny2022-11-151-0/+4
|
* build: update flake for x509-infoFranck Cuny2022-11-151-14/+14
|
* feat(fonts): add iosevka to the list of fontsFranck Cuny2022-11-154-6/+18
| | | | | Replace the use of Source Code Pro with Iosevka in a few applications (sway, waybar, alacritty).
* ref(home/alacritty): use cascadia and larger font sizeFranck Cuny2022-11-131-1/+4
|
* feat(home/packages): install diveFranck Cuny2022-11-081-2/+3
| | | | A tool to explore layers in docker images.
* ref: update url for some inputs to the flakeFranck Cuny2022-11-072-132/+235
|
* fix(services/gitea): disable registration correctlyFranck Cuny2022-11-071-1/+1
|
* fix(services/gitea): disable heatmap and registrationsFranck Cuny2022-11-071-0/+2
|
* fix(tools/import-gh-to-gitea): README + remove unused importFranck Cuny2022-11-072-1/+12
|
* ref(gerrit): delete modules/docs/configs for gerrit/buildkiteFranck Cuny2022-11-0725-986/+0
|
* feat(services/gitea): add robots.txtFranck Cuny2022-11-071-1/+7
| | | | Configure the policy for the crawlers.
* ref(services/unifi): reduce the poller's verbosityFranck Cuny2022-11-071-0/+3
|
* feat(tools/import-gh-to-gitea): a script to archive repositoriesFranck Cuny2022-11-071-0/+50
|
* ci: replace GitHub actions with droneFranck Cuny2022-11-074-26/+16
|
* Merge pull request 'fcuny/ci-drone' (#1) from fcuny/test-woodpecker into mainFranck2022-11-0712-0/+212
|\ | | | | | | Reviewed-on: https://git.fcuny.net/fcuny/world/pulls/1
| * fix(services/drone): enable droneFranck Cuny2022-11-068-14/+19
| | | | | | | | | | The URL for drone changed to https://ci.fcuny.net. The secrets also changed (and we remove the unencrypted file with secrets).
| * Revert "ref(drone): remove all modules and configurations"Franck Cuny2022-11-0510-0/+207
|/ | | | This reverts commit 614fc2fcce0e9ae0bcfdc6e08d3c4bac846d02a8.
* ref(home/git): update mapping for the git-helperFranck Cuny2022-11-052-2/+3
|
* feat(tools/import-gh-to-gitea): script to import my repositoriesFranck Cuny2022-11-051-0/+62
| | | | | I'm going to move (again) from GH to my own instance of gitea. This script does the migration for me.
* feat(hosts/tahoe): enable gitea againFranck Cuny2022-11-051-0/+4
|
* Revert "ref(gitea): remove all modules for gitea"Franck Cuny2022-11-053-0/+1241
| | | | | | This reverts commit f4f83c7e83272234571d9580f5a897676de3d0dc. I'm planning to switch back to gitea to host my projects.
* ref(home/direnv): some configuration tweaksFranck Cuny2022-11-041-0/+4
|
* ref(home/packages): don't install opensslFranck Cuny2022-11-042-7/+0
| | | | | It's usually needed for developing some rust projects, but this should be setup by the flake of that project.
* ref: update rust's template to use craneFranck Cuny2022-11-041-27/+32
|
* Merge pull request #2 from fcuny/fcuny/rust-templateFranck Cuny2022-11-013-90/+131
|\
| * ref: update the template for rust projectsFranck Cuny2022-11-013-90/+131
|/ | | | | | | | Update the workflow to use `nix develop` commands instead of multiple steps (see https://determinate.systems/posts/nix-github-actions). Add a configuration for `cargo deny` to manage the dependencies I take on.
* feat(home/packages): install gha-billing CLIFranck Cuny2022-10-311-2/+7
|
* fix(home/python): add types for requestsFranck Cuny2022-10-311-0/+1
|
* feat(tools/gha-billing): a CLI to report minutes left/used on GHAFranck Cuny2022-10-313-0/+76
|
* ref(home/python): install a few more packagesFranck Cuny2022-10-291-2/+14
|
* fix(home/git): remove a gerrit referenceFranck Cuny2022-10-291-1/+0
|
* fix(home): remove various shell functions related to gerritFranck Cuny2022-10-293-12/+0
| | | | I'm not using gerrit anymore.
* fix(tools): install dependencies correctlyFranck Cuny2022-10-295-2/+7
| | | | | | | For the python tools, we need the python runtime to be available. For this we need to specify the dependencies in `propagatedBuildInputs`. The same is true for flamegraph and perf.
* ref(hosts/tahoe): disable cgit/gerrit/buildkite/sourcegraphFranck Cuny2022-10-291-10/+0
| | | | | Since I'm moving everything back to GitHub I don't need to run these services anymore.
* flake.lock: UpdateFranck Cuny2022-10-291-28/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Flake lock file updates: • Updated input 'emacs-overlay': 'github:nix-community/emacs-overlay/f8d2c22b0714629bb7f8e90071b12fa56cd620be' (2022-10-17) → 'github:nix-community/emacs-overlay/feea89fbc310afc87dff52ae0a1bc4afabfcbd43' (2022-10-29) • Updated input 'emacs-overlay/nixpkgs': 'github:NixOS/nixpkgs/d0f9857448e77df50d1e0b518ba0e835b797532a' (2022-10-17) → 'github:NixOS/nixpkgs/f44ba1be526c8da9e79a5759feca2365204003f6' (2022-10-28) • Updated input 'gh-ssh-keys': 'git+ssh://git@github.com/fcuny/gh-ssh-keys?ref=main&rev=b1b7df6d529835d97734c3cb214d2be5ea593900' (2022-10-16) → 'git+ssh://git@github.com/fcuny/gh-ssh-keys?ref=main&rev=a7f3234679c81a46324a1979c1bc5e7752473c2e' (2022-10-22) • Updated input 'naersk/nixpkgs': 'github:NixOS/nixpkgs/d0f9857448e77df50d1e0b518ba0e835b797532a' (2022-10-17) → 'github:NixOS/nixpkgs/f44ba1be526c8da9e79a5759feca2365204003f6' (2022-10-28) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/1935dd8fdab8e022a9d958419663162fd840014c' (2022-10-17) → 'github:nixos/nixpkgs/b62e0c1523295ac3316a9bc514f013173e5ad7ba' (2022-10-29) • Updated input 'nur': 'github:nix-community/NUR/5b866cfe1ffcb2dc004c862d7da2ff5c6dc66e51' (2022-10-17) → 'github:nix-community/NUR/248c0ebe4a3c450fa1aa90b3c4a7a847a61fe574' (2022-10-29) • Updated input 'pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/94b0f300dd9a23d4e851aa2a947a1511d3410e2d' (2022-10-12) → 'github:cachix/pre-commit-hooks.nix/1b436f36e2812c589e6d830e3223059ea9661100' (2022-10-24) • Updated input 'rust': 'github:oxalica/rust-overlay/ae87512a3e8ee5bfffd42dadce041e7bdcd05a38' (2022-10-17) → 'github:oxalica/rust-overlay/34d76c0a001d81a0fac342698ce7926da37b8ea5' (2022-10-29) • Updated input 'x509-tools': 'github:fcuny/x509-info/406eaab3073651acff3c09deeb22e864fc9d5b23' (2022-10-22) → 'github:fcuny/x509-info/80e1db79a95a245542d4a9ddc6eac13d717c4ac8' (2022-10-25)
* ref(users/fcuny): and just like that ...Franck Cuny2022-10-2725-797/+0
|
* feat(ops/github): archive notes.fcuny.netFranck Cuny2022-10-271-3/+1
| | | | | The content has been merged with fcuny.net - I can keep everything in one site.
* ref(tools/perf-flamegraph): move to a proper shell scriptFranck Cuny2022-10-254-15/+48
| | | | | | | | I don't want to inline shell scripts inside nix configuration, as it prevents me to use `shellcheck` to validate them for example. The script is now moved into the tool directory, and is a tiny bit more flexible, so that I can run it as my own user.
* ref(ops/github): finished the migration of my repositoriesFranck Cuny2022-10-251-54/+59
| | | | | All the repositories should be on GitHub now, and archived if they are not relevant anymore.
* feat(ops/github): import more repositoriesFranck Cuny2022-10-241-0/+184
|
* fix(ops/github): create resources in correct orderFranck Cuny2022-10-241-0/+2
| | | | | | | | | We first need to create a repository before we can create the default branch. For the default branch to be set, we also need the repository to contain a commit, which is achieved with the `auto_init' attribute. We can always push with `--force' to overwrite that initial commit when doing the migration.
* feat(system/fonts): add cascadiaFranck Cuny2022-10-241-0/+1
|
* ref(tools/mpd-stats): delete the projectFranck Cuny2022-10-2413-490/+3
| | | | | | | It's been moved to its own repository at https://github.com/fcuny/mpd-stats Update the list of repositories managed by terraform.
* feat(home/packages): install git-broomFranck Cuny2022-10-231-0/+1
|
* ref(ops/github): only allow merge commitFranck Cuny2022-10-231-3/+3
| | | | | While not great, this is the default workflow on GitHub. It's also what allows my `git-broom` CLI to work with branches on GitHub.
* feat(tools/git-broom): CLI to delete local and remote branchesFranck Cuny2022-10-233-0/+376
| | | | | | This tool helps to keep only the branches that are relevant: the ones that have not been merged yet into the main branch on the principal remote repository.
* ref(tools/git-bootstrap): this is replaced by terraformFranck Cuny2022-10-224-250/+0
|
* fix(flake): remove unstable URL for nixpkgsFranck Cuny2022-10-222-18/+0
| | | | I was not using it.
* feat(home/packages): install the tool x509-infoFranck Cuny2022-10-224-4/+122
|
* feat(ops/github): new repository: x509-infoFranck Cuny2022-10-221-0/+4
|
* fix(ops/github): some fixes related to repositories creationFranck Cuny2022-10-221-3/+3
|
* feat(templates): add a template for rustFranck Cuny2022-10-2210-0/+188
| | | | | | | To use it, run: ``` nix flake init -t github:fcuny/world#rust ```
* ref(tools/python): make mypy happyFranck Cuny2022-10-173-21/+28
|
* feat(home/python): add lsp/mypy packagesFranck Cuny2022-10-171-3/+4
|
* flake.lock: UpdateFranck Cuny2022-10-171-37/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Flake lock file updates: • Updated input 'agenix': 'github:ryantm/agenix/6acb1fe5f8597d5ce63fc82bc7fcac7774b1cdf0' (2022-09-25) → 'github:ryantm/agenix/a630400067c6d03c9b3e0455347dc8559db14288' (2022-10-15) • Updated input 'emacs-overlay': 'github:nix-community/emacs-overlay/8e54a8980aa438c4f35807ad676acbf7578acce3' (2022-09-20) → 'github:nix-community/emacs-overlay/f8d2c22b0714629bb7f8e90071b12fa56cd620be' (2022-10-17) • Updated input 'emacs-overlay/nixpkgs': 'github:NixOS/nixpkgs/8e0f159ff2d17faabbce0d60b14f50710e882eab' (2022-10-02) → 'github:NixOS/nixpkgs/d0f9857448e77df50d1e0b518ba0e835b797532a' (2022-10-17) • Updated input 'gh-ssh-keys': 'git+ssh://git@github.com/fcuny/gh-ssh-keys?ref=main&rev=de753cd61c1b75879010c4d2452598ada629e489' (2022-10-03) → 'git+ssh://git@github.com/fcuny/gh-ssh-keys?ref=main&rev=b1b7df6d529835d97734c3cb214d2be5ea593900' (2022-10-16) • Updated input 'home-manager': 'github:nix-community/home-manager/4a3d01fb53f52ac83194081272795aa4612c2381' (2022-06-25) → 'github:nix-community/home-manager/b81e128fc053ab3159d7b464d9b7dedc9d6a6891' (2022-10-17) • Updated input 'naersk/nixpkgs': 'github:NixOS/nixpkgs/8e0f159ff2d17faabbce0d60b14f50710e882eab' (2022-10-02) → 'github:NixOS/nixpkgs/d0f9857448e77df50d1e0b518ba0e835b797532a' (2022-10-17) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/2a57890da5727cafa0607a27a5e2f4201645dfba' (2022-10-02) → 'github:nixos/nixpkgs/1935dd8fdab8e022a9d958419663162fd840014c' (2022-10-17) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/8e0f159ff2d17faabbce0d60b14f50710e882eab' (2022-10-02) → 'github:nixos/nixpkgs/d0f9857448e77df50d1e0b518ba0e835b797532a' (2022-10-17) • Updated input 'nur': 'github:nix-community/NUR/392b26288ad1cdebd03eac17adb70491f9f392d3' (2022-10-02) → 'github:nix-community/NUR/5b866cfe1ffcb2dc004c862d7da2ff5c6dc66e51' (2022-10-17) • Updated input 'pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/2e4a708918e14fdbd534cc94aaa9470cd19b2464' (2022-10-02) → 'github:cachix/pre-commit-hooks.nix/94b0f300dd9a23d4e851aa2a947a1511d3410e2d' (2022-10-12) • Updated input 'rust': 'github:oxalica/rust-overlay/5db6b63124ccedd61e896ec98def85fb4e6668f4' (2022-10-02) → 'github:oxalica/rust-overlay/ae87512a3e8ee5bfffd42dadce041e7bdcd05a38' (2022-10-17) • Updated input 'rust/flake-utils': 'github:numtide/flake-utils/7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249' (2022-07-04) → 'github:numtide/flake-utils/c0e246b9b83f637f4681389ecabcb2681b4f3af0' (2022-08-07)
* build(deps): bump cachix/install-nix-action from 17 to 18dependabot[bot]2022-10-171-1/+1
| | | | | | | | | | | | | | Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 17 to 18. - [Release notes](https://github.com/cachix/install-nix-action/releases) - [Commits](https://github.com/cachix/install-nix-action/compare/v17...v18) --- updated-dependencies: - dependency-name: cachix/install-nix-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
* ref(tools/git-blame-stats): rewrite the tool in pythonFranck Cuny2022-10-166-101/+113
| | | | | | The tool can calculate some stats about authors in a git repository. It computes the number of lines that are authored by authors at a given revision (HEAD by default), and the number of commits.
* ops(github): archive the repository govanityFranck Cuny2022-10-151-3/+1
|
* ref(seqstat): rewrite from go to pythonFranck Cuny2022-10-158-194/+53
| | | | | | This is a simple script, there's no benefit in having this in go. Having it Python makes it easier to extend with panda or other libraries in the future if I need more statistics too.
* ci: update the flake once a weekFranck Cuny2022-10-101-3/+1
| | | | | | | | | This is going to fail anyway since it will try to update a flake from a private repository and it won't work. But once I make the repository public it will start working. Also remove the token, want the PR to be open as the github-actions bot.
* feat(ops/github): set the name of the default branchFranck Cuny2022-10-091-0/+13
| | | | | From now on we should always be using 'main'. If a project requires 'master', it will need to be set explicitly.
* ref(ops/github): simplify the configurationFranck Cuny2022-10-094-373/+125
| | | | | | Move all the repositories in a YAML file, instead of declaring each repository. This will simplify the management as I'll be introducing more resources to manage my repositories.
* feat(ops/github): add the repository twitter-backupFranck Cuny2022-10-081-0/+14
|
* ref(tools/govanity): moved back to its own repositoryFranck Cuny2022-10-0813-313/+14
| | | | It's back at https://github.com/fcuny/govanity
* ci: add GitHub action to update flakes and dependabotFranck Cuny2022-10-072-0/+28
|
* fix(flake): set the correct path for various pre-commit binariesFranck Cuny2022-10-071-4/+4
|
* ref(fcuny/exp): delete containerd-to-vmFranck Cuny2022-10-057-1510/+0
| | | | The code is in https://github.com/fcuny/containerd-to-vm
* ref(fcuny/notes): delete notesFranck Cuny2022-10-0524-1608/+0
| | | | The notes are at https://github.com/fcuny/notes.fcuny.net
* ref(fcuny/blog): delete the blogFranck Cuny2022-10-0529-1007/+0
| | | | The blog moved back to https://github.com/fcuny/fcuny.net
* feat(ops/github): add notes.fcuny.net and containerd-to-vmFranck Cuny2022-10-042-0/+28
|
* feat(ops/github): add repository for fcuny.netFranck Cuny2022-10-041-0/+14
|
* ref(tools/ipconverter): rewrite the tool in pythonFranck Cuny2022-10-046-124/+55
| | | | | | | No need to do this with Go, a python script is fine. We also don't need to set shell aliases for this: when we install the tool, we can create symbolic links to `ip2int` and `int2ip`.
* ops(terraform): individual actions for init/plan/applyFranck Cuny2022-10-044-5/+43
| | | | | Don't do all of these actions together, instead provide helpers for both init, plan, and apply.
* ref(tools/ssh-key-to-forge): replaced by gh-ssh-keysFranck Cuny2022-10-034-591/+0
| | | | See https://github.com/fcuny/gh-ssh-keys
* feat(home/packages): install gh-ssh-keysFranck Cuny2022-10-034-5/+132
| | | | Add a new input to the flake configuration to install `gh-ssh-keys`.
* fix(home/rust): switch to the latest stable toolchainFranck Cuny2022-10-021-1/+1
|
* meta: bump flake dependenciesFranck Cuny2022-10-021-26/+30
|
* feat(ops/github): new repository: gh-ssh-keysFranck Cuny2022-10-021-0/+14
|
* ops(github): terraform configuration to manage GitHubFranck Cuny2022-09-305-0/+354
| | | | | | Import current GitHub repositories into terraform. This should be the main way (going forward) to interact with GitHub to create / manage the repositories and ensuring I'm consistent in the ways I want to use it.
* fix(home/element): I want the wayland versionFranck Cuny2022-09-261-1/+1
|
* feat(naersk): use naersk to build packages with rustFranck Cuny2022-09-266-12/+52
| | | | | | | | | | | | | naersk makes it simple to build rust project in nix. For this to work, `mkSystem` and `mkHomeManagerConfiguration` needs to pass naersk to my overlays. I dropped the support to run the tools with `nix run .#tools...`: I don't use this in practice and it's not making things simpler. I dropped `nix-linter` from the check, it's reporting many errors without helping me to fix them.
* fix(flake): call some programs with `nix run .#tools.<name>`Franck Cuny2022-09-251-12/+10
|
* fix(user/blog): update list of ssh keysFranck Cuny2022-09-241-2/+2
|
* fix(home/wm): unlock gnome-keyring when loggingFranck Cuny2022-09-243-17/+19
|
* fix(modules/home): delete the moduleFranck Cuny2022-09-242-36/+1
| | | | | The configuration for home-manager is set using `home-manager' directly, instead of applying updates all at once (OS and home-manager).
* fix(home/shell): set value for PKG_CONFIG_PATHFranck Cuny2022-09-241-0/+4
| | | | | I don't know why I need to do this, but otherwise I can't build rust packages with `cargo build' if it's not set ...
* fix(system/packages): install openssl-dev packageFranck Cuny2022-09-241-0/+1
| | | | | I don't think I should have to do this, it's also not solving the problem I have, but it should not hurt either ...
* fix(hosts): the WM manager needs to be in home.nixFranck Cuny2022-09-234-6/+8
|
* fix(home/waybar): fix the configuration after 22.05Franck Cuny2022-09-231-29/+27
| | | | | | | The configuration for the modules has changed as of 22.05 (see [1]). This change is to remove the `modules` section from the settings. [1] https://github.com/nix-community/home-manager/commit/7c320a53254609d9814280a34e312b7f00fd160b
* feat(flake): add nix-linter to the checksFranck Cuny2022-09-221-0/+1
|
* ref(home-manager): don't use home-manager when building the hostFranck Cuny2022-09-2210-132/+191
| | | | | | | | | | | | | | | | | | | 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
* ref(flake): move all the checks to external moduleFranck Cuny2022-09-182-33/+34
| | | | | This improve the readability of the flake configuration, the check can be in their own module.
* ref(flake): drop naersk for nowFranck Cuny2022-09-184-53/+11
| | | | | I'll go and refactor correctly and properly the support for rust packages, this is not working and I'm doing something stupid.
* ref(flake): remove pre-commit for golangFranck Cuny2022-09-181-34/+1
| | | | | There has to be a nicer way, and I might just completely drop golang support anyway in this repo.
* feat(home/python): add a few more packagesFranck Cuny2022-09-181-2/+8
| | | | | Having requests installed by default is useful to write quickly a script, and the black formatter is to enforce consistency.
* feat(home/git): sign commits with my ssh keyFranck Cuny2022-09-171-0/+4
| | | | | | | | | | | | GitHub supports signing commits with a ssh key now (git has supported this feature for a while but it was not yet available on GitHub). More details at [1]. I used the steps documented in [2] for nix. [1] https://github.blog/changelog/2022-08-23-ssh-commit-verification-now-supported/ [2] https://jeppesen.io/git-commit-sign-nix-home-manager-ssh/
* feat(tools/sendsms): build sendsms with nix via naerskFranck Cuny2022-09-073-4/+23
| | | | | | | I can now run `nix build .#tools.sendsms` to build the tool, or get it deployed on a machine. Change-Id: I82c733be466adb229d98414fd1229e05f355dd7d
* feat(flake): use naersk to build rust projectsFranck Cuny2022-09-073-2/+37
| | | | | | The flake naersk is used to build rust crates with nix. Change-Id: Ia1c95de34fe802ae6a6b623dc169ca502fa72f12
* feat(tool/sendsms): a CLI to send SMSFranck Cuny2022-09-076-0/+1382
| | | | | | | | | | | This is a new tool to send SMS via Twilio's API. For now it supports a single subcommand: reboot. Using that subcommand, a SMS will be send with the name of the host and the IP address for the defined network interface. This is useful to be notified when one of my machine reboot, and what's the IP for the main interface (this is useful since my ISP does not provide a static IP). Change-Id: I5886a2c77ebd344ab3befa51a6bdd3d65bcc85d4
* meta: ignore build for rust projectsFranck Cuny2022-09-071-0/+1
| | | | Change-Id: I0235d851df781430abe87d503c652bd97b6e1f1a
* fix(home/rust): better setupFranck Cuny2022-09-071-5/+11
| | | | | | Configure the latest beta for rust and pull some tools with it. Change-Id: Icd7e3a7efd2a5485ab7380a9d077613c03617905
* feat(modules/packages): install pkg-configFranck Cuny2022-09-071-1/+1
| | | | Change-Id: Iaa041a70b386d25c581a3a3c2afe860b86740618
* fix(home/email): remove inbox tag for archived emailsFranck Cuny2022-09-071-1/+4
| | | | Change-Id: If0b49ce46875f9f5bd35b792596796bcdb85b3e9
* feat(home/terraform): install the LSP serverFranck Cuny2022-09-041-1/+4
| | | | Change-Id: I436d66239d25e69e90c43c036afde5dd3bf18915
* feat(rust): add an overlay to install rustFranck Cuny2022-08-226-1/+63
| | | | | | | | Installing the rust overlay to get the various tools installed. This is done by a new module for home-manager, and is installed only on my laptop at the moment. Change-Id: I80c1633ca04da82f4321a0687a05d1df7c523702
* ref(modules/backup): only keep 4 weeks worth of backupsFranck Cuny2022-08-151-1/+1
| | | | | | | Change-Id: I9aa813d57c80f431468d97dfc945d9a0439723f1 Reviewed-on: https://cl.fcuny.net/c/world/+/719 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* ref(modules/sourcegraph): stop backing upFranck Cuny2022-08-151-15/+0
| | | | | | | | | | There's no need to make a backup for sourcegraph, all the things I might care about (at this stage at least) can be easily regenerated. Change-Id: I4b592c9007ce57b56b04a94b43ad2ab8759ce891 Reviewed-on: https://cl.fcuny.net/c/world/+/718 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* ci(pre-commit): add a few more checksFranck Cuny2022-08-151-2/+40
| | | | | | | | | | | | Add a mechanism to run checks for go (fmt/mod tidy) and one for terraform. Fix the configuration for shellcheck (it was not checking the files). Change-Id: I1d250b96bd22838eddf624fda6b4d78d5da3e39f Reviewed-on: https://cl.fcuny.net/c/world/+/715 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(fmt): apply gofmt on some filesFranck Cuny2022-08-151-2/+1
| | | | | | | Change-Id: I9d1ff1b7de5cb89ffcf40bc91e794f7ff420c1e8 Reviewed-on: https://cl.fcuny.net/c/world/+/717 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(shellcheck): apply recommendations from shellcheckFranck Cuny2022-08-151-3/+3
| | | | | | | Change-Id: Id11ad998c30d6e863ab3b43552b9fe248a0d6c7f Reviewed-on: https://cl.fcuny.net/c/world/+/716 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(ops/gcp-backups): add terraform configuration for GCP bucketsFranck Cuny2022-08-155-0/+193
| | | | | | | | | | | | | This terraform configuration is to create the buckets that I'm using for various buckets. Doing this through the UI is difficult, as there are too many options, it's easy to have different buckets with different settings when I need them to be identical, no way to review what the change is going to look like, etc. Change-Id: I8ee15939559e7632e2df9d17cfaec75d756930b6 Reviewed-on: https://cl.fcuny.net/c/world/+/713 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(home/terminal): use alacritty's default colorsFranck Cuny2022-08-101-6/+0
| | | | Change-Id: I8e08d5ee8649f31e52bfdedda8083a2b78dba54d
* fix(ops/tf): remove commentsFranck Cuny2022-08-101-8/+0
| | | | | | | Change-Id: Ifb970bc6835fbc0de1943349739524331b6dba76 Reviewed-on: https://cl.fcuny.net/c/world/+/712 Reviewed-by: Franck Cuny <franck@fcuny.net> Tested-by: CI
* feat(ops/tf): script to create GCP service accounts and set rolesFranck Cuny2022-08-101-0/+113
| | | | | | | | | | | | | | | Since I'm using terraform for a few things, I want to store the state in a GCP bucket. This script takes care of creating the bucket, creating the service account for terraform, setting the roles, and enabling impersonation. The script is (or at least is intended) to be idempotent. If a new project is created, running will update only what is needed. Change-Id: Ie92703be6d17749dc76dabcf9e73e7b274e8d2ac Reviewed-on: https://cl.fcuny.net/c/world/+/711 Reviewed-by: Franck Cuny <franck@fcuny.net> Tested-by: CI
* ref(ops/buildkite): use service account impersonation for GCPFranck Cuny2022-08-103-8/+30
| | | | | | | | | | | | | | | Instead of using a key for the terraform service account, use delegation. This simplifies a bit the setup: - no need to have a local key - principle of least privilege - no need to setup some environment variables Update the documentation in case something goes wrong in the future. Change-Id: I430bdf6816419da35ae8a36cec55ce56491b985c Reviewed-on: https://cl.fcuny.net/c/world/+/710 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(tahoe/secrets): configuration for rclone-sync to GCPFranck Cuny2022-08-081-0/+0
| | | | | | | | | | | | The configuration needs to be updated, we set the value for `bucket_policy_only` to true now that we've set the bucket to use uniform bucket level access (https://cloud.google.com/storage/docs/uniform-bucket-level-access). Change-Id: I7e9516709af4be35a3964937c1dbd728bcfe1f01 Reviewed-on: https://cl.fcuny.net/c/world/+/709 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(home/terraform): install terraform when neededFranck Cuny2022-08-083-0/+12
| | | | | | | Change-Id: Ie87672629ff23eeb93f5308898014cc737490b7c Reviewed-on: https://cl.fcuny.net/c/world/+/708 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(ops/buildkite): use terraform to manage buildkiteFranck Cuny2022-08-077-1/+74
| | | | | | | Change-Id: I63fc8fd81679457f7dbeafc2bd10c0eded0de991 Reviewed-on: https://cl.fcuny.net/c/world/+/707 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* ci(pipeline): the pipeline to be executed with a new buildFranck Cuny2022-08-073-3/+28
| | | | | | | | | | | This is the pipeline that is executed when a new build starts. It wait for all the steps to be completed, and if one of them fail, the build is marked as failed. Change-Id: I1eb22b27749944de78d44e49586a1db1fe07b460 Reviewed-on: https://cl.fcuny.net/c/world/+/706 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(hosts/tahoe): add a token for graphql for buildkite agentsFranck Cuny2022-08-062-0/+16
| | | | | | | Change-Id: I17ea0baab0d74888ed1b21342c583495d3f52643 Reviewed-on: https://cl.fcuny.net/c/world/+/705 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(modules/buildkite): rename a shell scriptFranck Cuny2022-08-061-1/+1
| | | | | | | Change-Id: I2b495c55191f3192b871cfb9d06445817c16e0de Reviewed-on: https://cl.fcuny.net/c/world/+/704 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* ref(flake): tools and users packages are managed the same wayFranck Cuny2022-08-062-5/+10
| | | | | | | | | | Configure the way we import these packages the same way, that way it's consistent and easy to use. Change-Id: I0e218f8fe9dd4cd2045bfee11c80de84ff769fe1 Reviewed-on: https://cl.fcuny.net/c/world/+/703 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(tools): add gerrit-hook to the list of toolsFranck Cuny2022-08-061-0/+2
| | | | | | | Change-Id: I9bf0524ec12c4d554fc4c7ded458aab8a9cf5ef6 Reviewed-on: https://cl.fcuny.net/c/world/+/702 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(modules/secrets): call correct function for groupFranck Cuny2022-08-061-2/+3
| | | | | | | | | | The function `groupExists` returns a boolean, what we want is `groupIfExists` which returns the actual name of the group. Change-Id: I7db50066e13932dd617ffccb9dae40ecb1d383a5 Reviewed-on: https://cl.fcuny.net/c/world/+/701 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* ref(tools): simplify the import of toolsFranck Cuny2022-08-066-17/+14
| | | | | | | | | | | In the `mkSystem` function, instead of defining each tools, let's import all of them at once. This works both with installing a tool from a module or running them from the CLI. Change-Id: Ia44ff9a45b54a1ecea6f6b02b4cad2956799f627 Reviewed-on: https://cl.fcuny.net/c/world/+/682 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* ref(ci): delete custom scripts for formattingFranck Cuny2022-08-064-61/+1
| | | | | | | | | | Since I have configured the pre-commit hooks, I can use them instead of my custom scripts: less things to maintain and easier to read output. Change-Id: Ic833ec88ed9fbcbe52b1b1680f978da3a5a08b31 Reviewed-on: https://cl.fcuny.net/c/world/+/681 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* meta(flake): bump dependenciesFranck Cuny2022-07-201-3/+3
| | | | | | | | | | | | | | | ``` fcuny@aptos ~/w/world (main)> nix flake lock --update-input nixpkgs warning: updating lock file '/home/fcuny/workspace/world/flake.lock': • Updated input 'nixpkgs': 'github:nixos/nixpkgs/f961520b1f163beb178ad2af448832985c7f8417' (2022-06-09) → 'github:nixos/nixpkgs/d2ff0167ce734340e745ca1f53b11a0996ff17a4' (2022-07-20) ``` Change-Id: I8e5efd490cf7f15e84c99ccb27d75660080813a4 Reviewed-on: https://cl.fcuny.net/c/world/+/663 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(modules/secrets): call correct function for group validationFranck Cuny2022-07-201-1/+1
| | | | | | | Change-Id: I84deb43c422668719157a5027e8dbea9a1ec92cf Reviewed-on: https://cl.fcuny.net/c/world/+/662 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* docs(gerrit): how to edit the secretsFranck Cuny2022-07-201-1/+3
| | | | | | | Change-Id: Ibc81727971cfbd7b05c383a1c58ca02b907683f7 Reviewed-on: https://cl.fcuny.net/c/world/+/661 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(modules/secrets): set correctly all possible attributesFranck Cuny2022-07-201-5/+10
| | | | | | | | | | | | | | | | Secrets can have multiple attributes: the owner, group, mode and path. So far, we were setting the file (path where it should be read from), the owner (if it exists), the group (if it exists) and the mode. The attribute 'path' was not propagated correctly. We now check for all these attributes (as optional) and if they exists we set them. We still validate that the user and group exist before setting them. Change-Id: Ifeccf2ee9d0acd17a3cd05de8d08968cea49550b Reviewed-on: https://cl.fcuny.net/c/world/+/641 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(modules/gerrit): manage secure configuration with nixFranck Cuny2022-07-184-1/+8
| | | | | | | | | | | | Currently the secure configuration for gerrit is not managed by nix. This is likely going to break in the future and I'll hate myself for that. Let's move it into nix and encrypt it with age, like we do for other secrets. Change-Id: Ia7a006748a3ad64fa4b97ca9e8cbd98c99433982 Reviewed-on: https://cl.fcuny.net/c/world/+/622 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(modules/backup): reduce verbosity for resticFranck Cuny2022-07-081-1/+1
| | | | | | | | | It's spamming journald, and I don't need that level of details. Change-Id: If6bd8338cf3ed5d7981500e0f3001a3dc4c14870 Reviewed-on: https://cl.fcuny.net/c/world/+/621 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(tahoe/backups): don't backup some directoriesFranck Cuny2022-07-081-0/+1
| | | | | | | | | I don't need to backup these directories in my home. Change-Id: Ia2302f2ebe74033090b86b52864787d2a63ecb4b Reviewed-on: https://cl.fcuny.net/c/world/+/620 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(home/email): correct rule to move emails with afewFranck Cuny2022-07-071-1/+1
| | | | | | | | | | If an email has the tag 'archive' while in the Inbox folder, it needs to be moved to the archive directory. Change-Id: I44efc9e51fe0e749a5a2ffa15fe32b8b945d12f0 Reviewed-on: https://cl.fcuny.net/c/world/+/609 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(home/email): remove a filter from afewFranck Cuny2022-07-071-6/+0
| | | | | | | | | | | | I do not need this filter anymore, it was a one time thing to make sure all emails in the archive directory are tagged properly. Running this every 5 minutes is not needed, but it also trigger the fans on the XPS, so let's remove this. Change-Id: I6ab3669b5708997e4e3681a5d7b0416efe8a1dd9 Reviewed-on: https://cl.fcuny.net/c/world/+/608 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(home/mail): enable smtp to send emailsFranck Cuny2022-07-071-0/+3
| | | | | | | Change-Id: Ia651a1821c44ec45a2dae033e44c91c9eab8459e Reviewed-on: https://cl.fcuny.net/c/world/+/607 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(home/mail): run afew before mbsyncFranck Cuny2022-07-021-0/+1
| | | | | | | | | | Move the mails based on some rules, then we can synchronize local and remote stores. Change-Id: Iae46d94b14606c54a05efa0aa7eb5ca1eb1deb90 Reviewed-on: https://cl.fcuny.net/c/world/+/603 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(home/mail): add more rules for afewFranck Cuny2022-07-021-0/+18
| | | | | | | Change-Id: Ieaa3163db8f73bb6e299304099e3325bba99cc10 Reviewed-on: https://cl.fcuny.net/c/world/+/602 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(home/email): remove the environment variable NOTMUCH_CONFIGFranck Cuny2022-07-021-1/+0
| | | | | | | | | | The path is incorrect, and it's not needed. Instead of fixing the path let's drop the variable. Change-Id: I0b86add1739769810ec8369aac8da60ba38fa0bd Reviewed-on: https://cl.fcuny.net/c/world/+/601 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(flake): add more pre-commit hooksFranck Cuny2022-07-021-0/+12
| | | | | | | | | | | Add pre-commit hooks for: - trailing white spaces - new lines at the end of files Change-Id: I02b5c125064b1cc43e3dfcd7504f60df50846c36 Reviewed-on: https://cl.fcuny.net/c/world/+/593 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(new-lines): add or remove new lines where neededFranck Cuny2022-07-0213-13/+2
| | | | | | | | | | | 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>
* fix(home/git): install pre-commit toolFranck Cuny2022-07-021-1/+1
| | | | | | | | | | | | | | | The tool `pre-commit' is installed as part of the nix shell for this repository, but not on the host (or in my profile). It means that if I try to make a commit via Emacs/magit, it fails, since it's not in my path. By installing it with home-manager, it's in the path, and it can be used by magit when creating a commit. Change-Id: Ifa61d0be1027043eecaf11dd40fbba1ed2f5a9a6 Reviewed-on: https://cl.fcuny.net/c/world/+/591 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(flake): add pre-commit hooksFranck Cuny2022-06-283-1/+56
| | | | | | | | | And configure them to run nixpkgs-fmt and shellcheck. Change-Id: I0aa2025e368b80c5e7d90a4dc05448494525e31e Reviewed-on: https://cl.fcuny.net/c/world/+/590 Reviewed-by: Franck Cuny <franck@fcuny.net> Tested-by: CI
* ref(flake): import tools top-level moduleFranck Cuny2022-06-281-6/+1
| | | | | | | Change-Id: I22fad8e0dcdc7c678ea4d7b9235fa5fe4fcdd84d Reviewed-on: https://cl.fcuny.net/c/world/+/589 Reviewed-by: Franck Cuny <franck@fcuny.net> Tested-by: CI
* ref(tools): top level module to manage all the toolsFranck Cuny2022-06-281-0/+10
| | | | | | | | | | Don't make it harder to maintain the flake.nix, just add the tools to this module and import it in the flake configuration. Change-Id: I62237b996b1c8319c48b9ca4a80e7a3062ef92ec Reviewed-on: https://cl.fcuny.net/c/world/+/588 Reviewed-by: Franck Cuny <franck@fcuny.net> Tested-by: CI
* ref(flake): move `nixosConfigurations` at the bottomFranck Cuny2022-06-281-43/+48
| | | | | | | | | This is more readable. Change-Id: Ibdb6cf2f880f8fe3be80f9049bdf18b2d9120b91 Reviewed-on: https://cl.fcuny.net/c/world/+/587 Reviewed-by: Franck Cuny <franck@fcuny.net> Tested-by: CI
* ref(flake): be specific about which systems we supportFranck Cuny2022-06-281-2/+8
| | | | | | | | | For now the only system we support with nix is linux on x86. Change-Id: Ia7d6173ab0be674e9be706f9c0eb02937aa87ac6 Reviewed-on: https://cl.fcuny.net/c/world/+/586 Reviewed-by: Franck Cuny <franck@fcuny.net> Tested-by: CI
* ref(flake): rename utils to futilsFranck Cuny2022-06-282-19/+19
| | | | | | | | | This name is more specific (f is for flake in this case). Change-Id: Iaad98d8325b81cfe1af8b692ef7cd13586f251e6 Reviewed-on: https://cl.fcuny.net/c/world/+/585 Reviewed-by: Franck Cuny <franck@fcuny.net> Tested-by: CI
* fix(flake): remove duplicated definition of flake-utilsFranck Cuny2022-06-282-18/+0
| | | | | | | Change-Id: I8cb6cfcc89fd2c4167a99a27f8e50d954bacdf6a Reviewed-on: https://cl.fcuny.net/c/world/+/584 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(tools/gerrit-hook): exit on errorFranck Cuny2022-06-261-0/+1
| | | | | | | Change-Id: Ia09983533b3527e50eb4c0828d675e72a782c146 Reviewed-on: https://cl.fcuny.net/c/world/+/581 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(modules/cgit): don't log blackbox exporter requestsFranck Cuny2022-06-261-0/+3
| | | | | | | Change-Id: I60d1d552d028a4b2db2e0c62c1d2d580a4e58e1a Reviewed-on: https://cl.fcuny.net/c/world/+/562 Reviewed-by: Franck Cuny <franck@fcuny.net> Tested-by: CI
* fix(tools/gerrit-hook): replace `.' with `-dot-' in project's nameFranck Cuny2022-06-261-0/+5
| | | | | | | | | | | | If the name of the project has a `.' in it's name (for example `Emacs.d'), buildKite automatically replace it with `-dot'. Which means that we also have to do this conversion here otherwise we're trying to build against a pipeline that does not exists. Change-Id: I54a7dce40da854f125ff43bfbd252b0cd5bfcb29 Reviewed-on: https://cl.fcuny.net/c/world/+/561 Reviewed-by: Franck Cuny <franck@fcuny.net> Tested-by: CI
* feat(tools/gerrit-hook): run CI pipeline for all the repositoriesFranck Cuny2022-06-261-3/+3
| | | | | | | Change-Id: Ib0e376366ea684a254b7993a746e082e38849daa Reviewed-on: https://cl.fcuny.net/c/world/+/521 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(modules/cgit): correct alias configuration for robots.txtFranck Cuny2022-06-231-1/+3
| | | | | | | | | | | | | | | As noted in https://github.com/yandex/gixy/blob/master/docs/en/plugins/aliastraversal.md > if you want to map a single file make sure the location starts with a > =, e.g =/i.gif instead of /i.gif Without a leading `=`, the configuration refuses to build. Change-Id: Ib49f68fbe26441ff6c3ee91efa1d12c3778a0248 Reviewed-on: https://cl.fcuny.net/c/world/+/489 Reviewed-by: Franck Cuny <franck@fcuny.net> Tested-by: CI
* fix(modules/cgit): exclude all web crawlersFranck Cuny2022-06-231-0/+6
| | | | | | | Change-Id: I96db1763dcc85d43ca5913a95d702cf96830c7b0 Reviewed-on: https://cl.fcuny.net/c/world/+/488 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(modules/grafana): configure nginx to bind to tailscale IPFranck Cuny2022-06-231-0/+12
| | | | | | | | | | | | Only serve a response if the request is coming from tailscale. To ensure this is the case, let's configure nginx to only listen on the tailscale IP of the host for that server. Note: the IP for tailscale is hard coded, there has to be a better way. Change-Id: I83952484f60206df215e8c03017cfe7722d32697 Reviewed-on: https://cl.fcuny.net/c/world/+/487 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(modules/sourcegraph): configure nginx to bind to tailscale IPFranck Cuny2022-06-231-0/+12
| | | | | | | | | | | | Only serve a response if the request is coming from tailscale. To ensure this is the case, let's configure nginx to only listen on the tailscale IP of the host for that server. Note: the IP for tailscale is hard coded, there has to be a better way. Change-Id: I684f2da60a128652fac2f7004bec22ce4bf959d0 Reviewed-on: https://cl.fcuny.net/c/world/+/486 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(modules/unifi): configure nginx to bind to tailscale IPFranck Cuny2022-06-231-0/+12
| | | | | | | | | | | | Only serve a response if the request is coming from tailscale. To ensure this is the case, let's configure nginx to only listen on the tailscale IP of the host for that server. Note: the IP for tailscale is hard coded, there has to be a better way. Change-Id: I75978866eb978439df76cede5bf993762f7cd5ab Reviewed-on: https://cl.fcuny.net/c/world/+/485 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(modules/navidrome): configure nginx to bind to tailscale IPFranck Cuny2022-06-231-0/+12
| | | | | | | | | | | | Only serve a response if the request is coming from tailscale. To ensure this is the case, let's configure nginx to only listen on the tailscale IP of the host for that server. Note: the IP for tailscale is hard coded, there has to be a better way. Change-Id: I8b497507b2c8548d824c2e2bb693b38768b355b9 Reviewed-on: https://cl.fcuny.net/c/world/+/484 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(modules/transmission): configure nginx to bind on tailscale IPFranck Cuny2022-06-231-0/+12
| | | | | | | | | | | | Only serve a response if the request is coming from tailscale. To ensure this is the case, let's configure nginx to only listen on the tailscale IP of the host for that server. Note: the IP is currently hard coded, there has to be a better way. Change-Id: I21b6db5e94070024c1ff8d6cea852aafd6952b55 Reviewed-on: https://cl.fcuny.net/c/world/+/483 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(modules/cgit): make cgit the default server for nginxFranck Cuny2022-06-231-0/+4
| | | | | | | | | | | | | | If a request goes through nginx without a Host header set, the default site we serve is cgit. Without this option, nginx will pick the first site defined in the configuration, which is not what I want. I want to be specific about what is the default. Change-Id: If131b80c1488510e79d60ef6de5bb9db4fa18d58 Reviewed-on: https://cl.fcuny.net/c/world/+/482 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(hosts/home): use fish as my default shell everywhereFranck Cuny2022-06-232-2/+2
| | | | | | | Change-Id: I75df9d3ba133e3f7380a518e1b8c70a564f60482 Reviewed-on: https://cl.fcuny.net/c/world/+/481 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(modules/unifi): only backup the backup directoryFranck Cuny2022-06-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `/var/lib/unifi` is almost 1GB. The data directory contains a lot of files that are changing constantly, which creates a significant amount of data to backup everyday. Overall if I need to restore a backup for unifi, I don't care about metrics and other application data, I only need to restore a backup, which contains the network configuration. `/var/lib/unifi/data/backup` is smaller: ``` fcuny@tahoe ~> sudo du -sh /var/lib/unifi/data/backup 332M /var/lib/unifi/data/backup ``` and each backup is about 12MB: ``` fcuny@tahoe ~> sudo ls -ltrh /var/lib/unifi/data/backup/autobackup|tail -2 -rw------- 1 unifi unifi 12M Jun 22 18:15 autobackup_6.5.55_20220623_0115_1655946900001.unf -rw------- 1 unifi unifi 5.0K Jun 22 18:15 autobackup_meta.json ``` This will reduce the churn in our daily backup significantly. Change-Id: Ie39ffa9055605298a82ba6731acc34fd4e29309c Reviewed-on: https://cl.fcuny.net/c/world/+/471 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(home/shell): add alias to search nix packagesFranck Cuny2022-06-231-0/+1
| | | | | | | Change-Id: I394d4cd05ff763aed28e91d86e2905f6ad414336 Reviewed-on: https://cl.fcuny.net/c/world/+/470 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* ref(tools/gerrit-hook): more idiomatic codeFranck Cuny2022-06-231-3/+4
| | | | | | | | | As reported by the linter. Change-Id: I649fc3d90387bda28efe025dd7ccb54d4296d1bd Reviewed-on: https://cl.fcuny.net/c/world/+/469 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(home/go): install go-tools packageFranck Cuny2022-06-231-1/+1
| | | | | | | | | This package contains a number of go tools, like staticcheck. Change-Id: I4c923137a430b782ef3ed090bc252586e2ed36ef Reviewed-on: https://cl.fcuny.net/c/world/+/468 Reviewed-by: Franck Cuny <franck@fcuny.net> Tested-by: CI
* fix(tools/ipconverter): add missing new lines to print statementsFranck Cuny2022-06-201-4/+4
| | | | | | | Change-Id: I2dffe70dae5ef287c49d3504f9db438661adc16b Reviewed-on: https://cl.fcuny.net/c/world/+/465 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(tools/ipconverter): fail if number of arguments is insufficientFranck Cuny2022-06-201-0/+5
| | | | | | | Change-Id: Ifa382713e3f7cf2360b58d6c05a8a200258921f2 Reviewed-on: https://cl.fcuny.net/c/world/+/464 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(home/shell): add aliases for ip2int and int2ipFranck Cuny2022-06-201-0/+2
| | | | | | | Change-Id: I309e378a9cd1871fc84b395a6e077757106d2628 Reviewed-on: https://cl.fcuny.net/c/world/+/463 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(home/emacs): don't create frame for emacsclientFranck Cuny2022-06-201-2/+2
| | | | | | | | | Use the existing one. Change-Id: I3983aa234528a97ebab87982c8af88472a5a2933 Reviewed-on: https://cl.fcuny.net/c/world/+/462 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* doc(home/git): comment some of the optionsFranck Cuny2022-06-201-0/+4
| | | | | | | Change-Id: I7c898923c423a30cbc5ba8ba79fb8b9e8e4d2d21 Reviewed-on: https://cl.fcuny.net/c/world/+/461 Reviewed-by: Franck Cuny <franck@fcuny.net> Tested-by: CI
* feat(home/git): add a few more options in the default configurationFranck Cuny2022-06-201-0/+5
| | | | | | | Change-Id: I14c7b3349973db99c01c102c57f453840f284612 Reviewed-on: https://cl.fcuny.net/c/world/+/460 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* fix(home/emacs): install the package nixpkgs-fmtFranck Cuny2022-06-201-0/+1
| | | | | | | | | | | | | | | nixpkgs-fmt is a tool to format nix code. This is the one the nix community seems to recommend (https://github.com/nix-community/nixpkgs-fmt) so I should use it. I'm installing this with Emacs because that's how I interact with this code, and I'll configure Emacs to use it for formatting the code. Change-Id: I4364a898c54c75ace12d07636085faa7e9c050c7 Reviewed-on: https://cl.fcuny.net/c/world/+/459 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(home/shell): manage fish's functions directoryFranck Cuny2022-06-203-0/+14
| | | | | | | Change-Id: I03a35a211c7563e65770b39b140099291efafab9 Reviewed-on: https://cl.fcuny.net/c/world/+/458 Reviewed-by: Franck Cuny <franck@fcuny.net> Tested-by: CI
* ref(home/shell): switch default shell to fishFranck Cuny2022-06-202-2/+2
| | | | | | | Change-Id: I905ce6eddc35e4c51a0ab27c8984e0da0fdee7a7 Reviewed-on: https://cl.fcuny.net/c/world/+/457 Reviewed-by: Franck Cuny <franck@fcuny.net> Tested-by: CI
* ref(home/shell): move all shell aliases to a shared configurationFranck Cuny2022-06-204-6/+20
| | | | | | | | | | By moving the aliases to a shared module, they can be used between zsh and fish. Change-Id: Ifcfe0af3b90825fe3a67bc1796d4cf65a58d3ff2 Reviewed-on: https://cl.fcuny.net/c/world/+/456 Reviewed-by: Franck Cuny <franck@fcuny.net> Tested-by: CI
* ref(home/shell): make it easier to share common things between shellsFranck Cuny2022-06-2015-43/+53
| | | | | | | | | | | | | | | | | | | | I'm considering trying again fish, and there are a number of things that should be common between zsh and fish (aliases, environment variables, ...). Instead of duplicating these settings multiple time, I'm consolidating the shell configurations under `home/shell`, and I can set the shell I want to use with `my.home.shell.name`. The first step is to move the modules for fish and zsh under `home/shell`, add an interface to pick which one I want to use, and modify the `host/home.nix` configuration to keep using zsh with the new interface. Change-Id: Idb66b1a6fcc11a6eeaf5fd2d32dd3698d2d85bdf Reviewed-on: https://cl.fcuny.net/c/world/+/455 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(tools/seqstat): add a tool to report stats about a sequenceFranck Cuny2022-06-194-0/+194
| | | | | | | | | | | | | | | | | | | | | For example: ``` % echo 1 20 12 32 19 2 | ./seqstat -S ▁▅▃█▅▁ min: 1.000000 max: 32.000000 avg: 14.333333 p50: 19.000000 p90: 32.000000 p99: 32.000000 p999: 32.000000 ordered sequence: [1 2 12 19 20 32] ``` Change-Id: I9303bd7d0e964948143e77c868de8777cd7a9951 Reviewed-on: https://cl.fcuny.net/c/world/+/454 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(tools/numap): add a tool to report NUMA topology of a hostFranck Cuny2022-06-197-0/+512
| | | | | | | | | | | | The tool maps the various PCI devices to the NUMA node they are attached to and print the result to STDOUT in JSON. Only ethernet, NVMe and GPU devices are accounted for at the moment. Change-Id: If32c805e61211f0ef4838a82eabc70d7fc1985fe Reviewed-on: https://cl.fcuny.net/c/world/+/453 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(tools/schedlatency): add a tool to report scheduler latencyFranck Cuny2022-06-192-0/+258
| | | | | | | | | Given a PID, the tool reports the scheduler latency for it. Change-Id: I52e1de81a91f53ac74734dfd808fd4d7ac00c685 Reviewed-on: https://cl.fcuny.net/c/world/+/452 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(tools/scheddomain): add a tool to report on scheduler domainsFranck Cuny2022-06-192-0/+156
| | | | | | | Change-Id: Ia4e1aa1e7fc48b8bfb619aba9ba71037ffcc69f8 Reviewed-on: https://cl.fcuny.net/c/world/+/451 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(tools/git-bootstrap): initialize a git repository with my defaultsFranck Cuny2022-06-184-0/+250
| | | | | | | | | | This tool can be used to create a new git repository. It will create a README, add the license file, and a few other things I expect. Change-Id: I14123c8f5b7e2d23373a505a146d2c9f6c08615e Reviewed-on: https://cl.fcuny.net/c/world/+/450 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(tools/ssh-key-to-forge): import a SSH key to a forgeFranck Cuny2022-06-184-0/+591
| | | | | | | | | | This can be useful if I need to import a SSH key to one of the forge (only GitHub is supported for now). Change-Id: Ieb5143a670cd75f1fbe51c0f3ae763dd1d667bef Reviewed-on: https://cl.fcuny.net/c/world/+/449 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(tools/music-organizer): add a CLI to organize my musicFranck Cuny2022-06-185-0/+318
| | | | | | | | | | This CLI can be used on the NAS to import an album in my music collection. Change-Id: I5749e34b55bead846e9341fca29e648d3859fc8f Reviewed-on: https://cl.fcuny.net/c/world/+/448 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
* feat(tools/git-blame-stats): add the CLI with default git configurationFranck Cuny2022-06-181-1/+2
| | | | | | | Change-Id: I59fed38dca010d6aeac48b5066021ca61ba69db9 Reviewed-on: https://cl.fcuny.net/c/world/+/447 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>