aboutsummaryrefslogtreecommitdiff
path: root/modules (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-05-29feat(cgit): exclude some repositoriesFranck Cuny1-1/+8
There are a few repositories that I want to have active in gerrit but I don't want to list in cgit. Change-Id: I341801cddba0909d5c32d2653c8cc5eb8aae94ed Reviewed-on: https://cl.fcuny.net/c/world/+/124 Reviewed-by: Franck Cuny <franck@fcuny.net>
2022-05-28fix(cgit): ensure permissions are set correctlyFranck Cuny1-0/+2
Change-Id: I65efa49a904ab1885bd72566e450b6678be6aa21 Reviewed-on: https://cl.fcuny.net/c/world/+/123 Reviewed-by: Franck Cuny <franck@fcuny.net>
2022-05-28fix(cgit): define the list of repos prior to scan pathFranck Cuny1-2/+2
From the documentation for `project-list`: A list of subdirectories inside of scan-path, relative to it, that should loaded as git repositories. This must be defined prior to scan-path Change-Id: Iab176a800e8ff0abd515a525d89ef524ba6ab097 Reviewed-on: https://cl.fcuny.net/c/world/+/122 Reviewed-by: Franck Cuny <franck@fcuny.net>
2022-05-28fix(cgit): generate a proper list of repositoriesFranck Cuny1-1/+3
The logic was previously incorrect. If a repository becomes hidden in gerrit, it will not be removed from the list. Instead, we create a temporary file which we use to dump the new list and then move it over the current list. Change-Id: I990588ac98ad4024ba144c4c76ad7e4ae27202bc Reviewed-on: https://cl.fcuny.net/c/world/+/121 Reviewed-by: Franck Cuny <franck@fcuny.net>
2022-05-28feat(gerrit): link to cgitFranck Cuny1-0/+14
Configure gitweb to link to our cgit instance Change-Id: I55cb96e7199bf2636a30689b277978008d6605eb Reviewed-on: https://cl.fcuny.net/c/world/+/88 Reviewed-by: Franck Cuny <franck@fcuny.net>
2022-05-28feat(cgit): generate the list of projects from gerritFranck Cuny1-4/+35
Query the gerrit API to get the list of active projects, and generate the list of repositories from it. This run every 10 minutes as a systemd timer. Change-Id: I016a6d748597ff4d03af893e0a95b96830bdb3f7 Reviewed-on: https://cl.fcuny.net/c/world/+/87 Reviewed-by: Franck Cuny <franck@fcuny.net>
2022-05-28feat(cgit): set the clone URL to gerritFranck Cuny1-0/+1
Change-Id: I2328abdbd369358e59747a220fe1e57edd8c5126 Reviewed-on: https://cl.fcuny.net/c/world/+/86 Reviewed-by: Franck Cuny <franck@fcuny.net>
2022-05-28feat(cgit): support org mode files for READMEFranck Cuny1-0/+2
Change-Id: Ia0b3c7e5c2b1f399f7eaf5db2e926dc3a0859790 Reviewed-on: https://cl.fcuny.net/c/world/+/85 Reviewed-by: Franck Cuny <franck@fcuny.net>
2022-05-28feat(gerrit): backup all relevant directoriesFranck Cuny1-0/+2
Change-Id: I7d70a25f95cddedaba5e5186b6e7f83ddf9e7eb9 Reviewed-on: https://cl.fcuny.net/c/world/+/84 Reviewed-by: Franck Cuny <franck@fcuny.net>
2022-05-27feat(gerrit): enable sending emailsFranck Cuny1-1/+10
Configure gerrit to send emails using fastmail's SMTP servers. Change-Id: I658373a2c1e9b3c5dcbe214a02ebe8ca1be69580 Reviewed-on: https://cl.fcuny.net/c/world/+/81 Reviewed-by: Franck Cuny <franck@fcuny.net>
2022-05-27fix(gerrit): set the OAUTH client IDFranck Cuny1-0/+5
Change-Id: I2a5b554be29af9184ad504bcb8beca30c605e6c4 Reviewed-on: https://cl.fcuny.net/c/world/+/63 Reviewed-by: Franck Cuny <franck.cuny@gmail.com>
2022-05-27fix(gerrit): set the home directory for gitFranck Cuny1-1/+1
Change-Id: Idba41215b58e8cd77d8d4efa354a3acf52c6bc6d Reviewed-on: https://cl.fcuny.net/c/world/+/61 Reviewed-by: Franck Cuny <franck.cuny@gmail.com>
2022-05-27feat(cgit): add a module for cgitFranck Cuny2-0/+52
cgit is a git web viewer, it will be hosted at git.fcuny.net to replace gitea. Change-Id: I16561776fa90a3561d6a13f8545bd2e8f67f409a Reviewed-on: https://cl.fcuny.net/c/world/+/46 Reviewed-by: Franck Cuny <franck.cuny@gmail.com>
2022-05-26ref(gerrit): ensure the git user is presentFranck Cuny1-0/+9
Change-Id: Ie217a14a20474b626a2c66116663b785193978c2
2022-05-26fix(gerrit): use a compatible JDKFranck Cuny1-0/+3
Change-Id: I3fadf8a3a9a81c7966b4c048ace1ae259f0e3668
2022-05-26fix(gerrit): install the plugin for oauthFranck Cuny1-2/+8
Change-Id: I3e4a215b47a5a368210b268fa170aa2dddab721f
2022-05-26fix(gerrit): settings where in wrong placeFranck Cuny1-8/+8
Change-Id: I449f9032e32911fa33c26ec41faadb4f8acc8b1f
2022-05-26feat(gerrit): use OAUTH for authenticationFranck Cuny1-0/+10
2022-05-26fix(gerrit): force gerrit to run as the git userFranck Cuny1-0/+11
The default configuration wants to run gerrit with a DynamicUser. However, this prevent the server to generate the ssh keys needed by gerrit. Instead, we can force the server to run with the 'git' user, which already exists.
2022-05-26fix(gerrit): use localhost for the proxyFranck Cuny1-1/+1
2022-05-26fix(gerrit): remove extra '}' from stringFranck Cuny1-1/+1
2022-05-26fix(sourcegraph): remove extra '}' from stringFranck Cuny1-1/+1
2022-05-26fix(gerrit): apply a serverIdFranck Cuny1-0/+1
This identify the server (see https://github.com/NixOS/nixpkgs/blob/634141959076a8ab69ca2cca0f266852256d79ee/nixos/modules/services/web-apps/gerrit.nix#L141).
2022-05-26feat(gerrit): add the gerrit serverFranck Cuny2-0/+51
Gerrit is a tool for doing code review for git. It will be running at cl.fcuny.net and will be the main way to interact with my git repositories.
2022-05-22feat(modules): create a module for sourcegraphFranck Cuny2-0/+47
Run sourcegraph ([0]) in a docker container. It's exposed as cs.fcuny.xyz, and we backup some of the directories. [0] https://docs.sourcegraph.com
2022-05-15zsh: switch to zsh as the default shellFranck Cuny1-1/+1
`zsh' is available everywhere and is compatible with bash. When using `fish' I need to remember how to do things. While the completion style is nicer, I don't care about the rest. I prefer to have a consistent experience in the shell, no matter where am I. This is an initial configuration, I might need to make a few changes as I go.
2022-05-13modules: fix configuration for syncthingFranck Cuny1-2/+2
The `documents` folder was not being synced.
2022-05-12grafana: there was already something on port 3030 ...Franck Cuny1-1/+1
2022-05-12grafana: run on port 3030Franck Cuny1-0/+1
There's already something on port 3000.
2022-05-12add modules to manage bluetoothFranck Cuny2-1/+65
2022-05-06modules: add a few packagesFranck Cuny1-0/+2
2022-05-02modules: fix configuration for drone-runner-execFranck Cuny1-1/+1
2022-04-24gitea: add a dashboard for grafanaFranck Cuny1-0/+1176
2022-04-24gitea: enable metric endpointFranck Cuny2-7/+13
Move configuration for the scraper into the gitea module itself.
2022-04-24backups: do backups for the laptopFranck Cuny1-1/+10
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.
2022-04-21syncthing: add pixel (my phone) to known devicesFranck Cuny1-1/+12
Copy the pictures from the phone on all my machines. Don't sync the documents on the phone (at least for now).
2022-04-21syncthing: configure devices and foldersFranck Cuny1-0/+18
2022-04-21syncthing: configure the keys for tahoeFranck Cuny1-3/+7
2022-04-21syncthing: enable on tahoeFranck Cuny1-6/+12
2022-04-21modules: add syncthing as a new moduleFranck Cuny2-0/+12
2022-04-13drone: backup the state directoryFranck Cuny1-0/+2
2022-04-13drone: configuration fixesFranck Cuny2-2/+7
2022-04-13drone: initial attempt at configuring itFranck Cuny5-0/+178
2022-04-13nginx: configure correctly the dashboardFranck Cuny1-2/+2
2022-04-13nginx: install the default dashboardFranck Cuny1-0/+6
2022-04-13traefik: remove the moduleFranck Cuny4-1934/+0
2022-04-13modules: make the vhost be configurableFranck Cuny3-15/+25
2022-04-13grafana: the vhost is configurableFranck Cuny1-4/+11
2022-04-13grafana: bind to localhostFranck Cuny1-4/+0
2022-04-13modules: set secretsFranck Cuny2-2/+6
2022-04-13unifi: use nginx for reverse proxyFranck Cuny1-0/+14
2022-04-13transmission: use nginx for reverse proxyFranck Cuny1-0/+14
2022-04-13navidrome: use nginx for reverse proxyFranck Cuny1-0/+14
2022-04-13grafana: set proper port for reverse proxyFranck Cuny1-1/+1
2022-04-13secrets: we can specify which user owns itFranck Cuny1-2/+7
2022-04-13grafana: use proper certFranck Cuny1-1/+1
2022-04-13grafana: try to configure the domain with acme+dnsFranck Cuny1-1/+17
2022-04-13nginx: get a simple solution to work firstFranck Cuny2-291/+12
2022-04-13nginx: add nginx as a reverse proxyFranck Cuny4-0/+412
This will ultimately replace traefik.
2022-04-13secrets: delete duplicated filesFranck Cuny7-52/+0
2022-04-13rclone: fix the order of the paramsFranck Cuny1-2/+2
2022-04-13secrets: move the actual secrets with hosts configFranck Cuny2-11/+12
Having the secrets closer to the host is easier to manage. At the moment I don't have secrets that are shared across multiple hosts, so that's an OK approach.
2022-04-13secrets: fix the path to the ssh keyFranck Cuny1-4/+3
2022-04-13secrets: load ssh key only if it existsFranck Cuny1-1/+1
2022-04-13users: add myself to the group 'nas'Franck Cuny1-0/+1
2022-04-11backups: rename system to hostFranck Cuny1-1/+1
Since this is a host level backup.
2022-04-11grafana: backup the whole directoryFranck Cuny1-1/+1
2022-04-10secrets: move all the secrets under module/Franck Cuny14-27/+92
Refactor a bit the configuration, which should simplify the management and usage of secrets from now on.
2022-04-10add a module for backup with resticFranck Cuny7-65/+89
Do a single backup for the host, instead of running multiple ones.
2022-04-09install documentations (man)Franck Cuny2-4/+19
2022-04-09add pcmanfm and easyeffectsFranck Cuny1-0/+1
2022-04-08services: add avahiFranck Cuny2-0/+15
2022-04-08users: add myself to "cdrom" groupFranck Cuny1-0/+1
Otherwise I can't run `abcde`.
2022-04-08modules: add a few moreFranck Cuny8-3/+100
2022-04-07initial attempt to reconfigure home-managerFranck Cuny2-1/+50
All the modules that are needed for home-manager should be under `home/`, and each host will have a `host.nix` where the modules are enabled as needed. Later on we can create some profiles to make it easier to consume the configuration. I apply this only to tahoe for now, as the amount of packages needed for my user are pretty limited.
2022-04-06gitea: fix the moduleFranck Cuny1-3/+3
Quick fix for now, we will add these values as options to the module once we confirm everything is still working.
2022-04-06modules: import packagesFranck Cuny1-1/+2
2022-04-06refactor transmission and metrics-exporterFranck Cuny4-1/+54
2022-04-06refactor traefikFranck Cuny2-0/+104
2022-04-06refactor rclone to a moduleFranck Cuny2-0/+38
2022-04-06refactor gitea as a moduleFranck Cuny2-0/+54
2022-04-06prometheus: proper name for the optionFranck Cuny1-1/+1
2022-04-06refactor grafana as a moduleFranck Cuny6-0/+26438
2022-04-06refactor prometheus as a moduleFranck Cuny2-0/+189
2022-04-06refactor unifi to a moduleFranck Cuny2-2/+97
2022-04-06import navidrome with other servicesFranck Cuny1-1/+2
2022-04-06refactor navidrome to a moduleFranck Cuny1-0/+37
2022-04-06refactor samba to a proper moduleFranck Cuny2-1/+56
The list of public share is configurable too.
2022-04-06refactor boot configuration to a moduleFranck Cuny2-1/+49
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).
2022-04-06refactor configuration for AMDFranck Cuny2-1/+14
2022-04-05refactor intel related configurationFranck Cuny2-1/+14
2022-04-05refactor modules for btrfs, ssd, and fwupdFranck Cuny6-3/+18
2022-04-05refactor network configurationFranck Cuny2-1/+12
2022-04-05refactor security to a moduleFranck Cuny2-1/+6
2022-04-05refactor users to a moduleFranck Cuny2-1/+38
2022-04-05refactor default packages to a moduleFranck Cuny1-0/+49
2022-04-05move locale configuration to a moduleFranck Cuny2-1/+8
2022-04-05console configuration is moved to a moduleFranck Cuny2-1/+7
2022-04-05create a profile for laptopFranck Cuny3-1/+35
2022-04-05network: move tailscale in modulesFranck Cuny2-1/+14
Move the networking configuration for the hosts to its own file.
2022-04-05ssh: refactor to a moduleFranck Cuny3-1/+19
Also install mosh and ensure the firewall opens the correct ports.
2022-04-05nix: refactor to a moduleFranck Cuny3-1/+18
2022-04-05sound: add a new moduleFranck Cuny3-0/+41
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.
2022-02-12move configurations and modules aroundFranck Cuny10-190/+0
Sorry, this is a mess, hopefully the last one.
2022-02-10nix: enable flakesFranck Cuny1-9/+12
2022-02-09systems: add a MoTDFranck Cuny2-0/+13
2022-02-09modules: swap capslock for controlFranck Cuny1-1/+1
2022-02-09modules: more softwareFranck Cuny1-1/+2
2022-02-09modules: set a few more options for nixFranck Cuny1-0/+3
2022-02-09users: move users configuration to systemsFranck Cuny2-0/+26
2022-02-09systems: typoFranck Cuny1-0/+2
2022-02-09systems: ensure latest kernel and tmp on tmpfsFranck Cuny1-0/+3
2022-02-09systems: more packagesFranck Cuny1-1/+6
2022-02-09hosts: remove / clean codeFranck Cuny2-0/+16
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.
2022-02-09ssh: new module for managing sshFranck Cuny1-0/+5
2022-02-09Revert "desktop: new option to control desktop setup"Franck Cuny2-30/+13
This reverts commit 343e89015a55b627400286a06937175facb1494d.
2022-02-09Revert "desktop: install sound and xserver only when asked"Franck Cuny2-44/+32
This reverts commit 3b1ac4f78d21802073c82df39ca7080ae70a67a9.
2022-02-08desktop: install sound and xserver only when askedFranck Cuny2-32/+44
2022-02-08desktop: new option to control desktop setupFranck Cuny2-13/+30
We don't want to install a desktop on all hosts. We add a new option that we can set to true or false if we want a desktop to be installed.
2022-02-08i3: remove extra packages and fix typoFranck Cuny1-6/+0
2022-02-08i3: separate configuration for xserver and i3Franck Cuny2-0/+33
Let's first configure the xserver in the desktop module, then we can have a configuration for i3 in the home-manager.
2022-02-08i3: move configuration to home-managerFranck Cuny3-39/+0
2022-02-08desktop: configuration for i3Franck Cuny2-4/+19
2022-02-08systems: move some packages out of host configFranck Cuny1-0/+1
2022-02-08desktop: add soundFranck Cuny2-0/+21
Let's use pipewire.
2022-02-08systems: fix typoFranck Cuny1-1/+1
2022-02-08systems: install more packagesFranck Cuny2-1/+24
2022-02-08xserver: drop deprecated variableFranck Cuny1-1/+0
``` warning: The following options are deprecated: - services.xserver.windowManager.default Please use services.xserver.displayManager.defaultSession = "none+i3"; instead. ```
2022-02-08desktop: import correct moduleFranck Cuny1-1/+1
2022-02-08xserver: initial configurationFranck Cuny2-0/+25
Enable it for the desktop.
2022-02-08systems: drop nix.settingsFranck Cuny1-5/+0
This is not yet available with the current configuration.
2022-02-08systems: default configuration for all systemsFranck Cuny2-0/+22
2022-02-07modules: start desktop configurationFranck Cuny2-0/+24
We will create a module for desktop (which will also be used by the laptop). Start by configuring the fonts.