aboutsummaryrefslogtreecommitdiff
path: root/hosts/common (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-03-10install the zed editorFranck Cuny1-0/+1
2024-03-04add configuration for my work machineFranck Cuny2-1/+11
2024-03-04common macos preferences are moved to a moduleFranck Cuny1-0/+18
2024-03-04extract shared code for darwin to a new moduleFranck Cuny1-0/+36
2022-04-08delete unneeded modulesFranck Cuny3-96/+0
2022-04-08delete unused moduleFranck Cuny1-25/+0
2022-04-06refactor transmission and metrics-exporterFranck Cuny2-39/+0
2022-04-06refactor traefikFranck Cuny1-96/+0
2022-04-06refactor rclone to a moduleFranck Cuny1-31/+0
2022-04-06refactor gitea as a moduleFranck Cuny1-42/+0
2022-04-06refactor grafana as a moduleFranck Cuny6-26432/+0
2022-04-06refactor prometheus as a moduleFranck Cuny1-179/+0
2022-04-06refactor unifi to a moduleFranck Cuny1-81/+0
2022-04-06refactor navidrome to a moduleFranck Cuny1-24/+0
2022-04-06refactor samba to a proper moduleFranck Cuny1-33/+0
The list of public share is configurable too.
2022-04-06refactor boot configuration to a moduleFranck Cuny4-49/+0
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-05refactor intel related configurationFranck Cuny2-9/+0
2022-04-05refactor modules for btrfs, ssd, and fwupdFranck Cuny2-9/+1
2022-04-05refactor network configurationFranck Cuny2-20/+1
2022-04-05refactor security to a moduleFranck Cuny2-6/+1
2022-04-05refactor users to a moduleFranck Cuny2-33/+1
2022-04-05refactor default packages to a moduleFranck Cuny2-58/+2
2022-04-05move locale configuration to a moduleFranck Cuny2-13/+0
2022-04-05console configuration is moved to a moduleFranck Cuny1-5/+0
2022-04-05network: move tailscale in modulesFranck Cuny1-6/+0
Move the networking configuration for the hosts to its own file.
2022-04-05ssh: refactor to a moduleFranck Cuny2-7/+0
Also install mosh and ensure the firewall opens the correct ports.
2022-04-05nix: refactor to a moduleFranck Cuny2-19/+0
2022-04-05sound: add a new moduleFranck Cuny2-29/+2
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-04-04dashboard: remove ping metricsFranck Cuny1-96/+3
We're using the ones from the prober
2022-04-04prometheus: fix configurationFranck Cuny1-3/+1
2022-04-04prometheus: we need to specify the IP protocolFranck Cuny1-1/+5
If we don't, by default we try over ipv6, and this is not going to work well for us (yet): ``` ts=2022-04-05T01:39:13.830414184Z caller=main.go:130 module=https_2xx target=https://notes.fcuny.net level=error msg="Error for HTTP request" err="Get \"https://[2a09:8280:1::a:2aed]\": dial tcp [2a09:8280:1::a:2aed]:443: connect: network is unreachable" ```
2022-04-04prometheus: I'll get this right this timeFranck Cuny1-5/+3
2022-04-04prometheus: set the scheme for the URLsFranck Cuny1-5/+5
2022-04-04prometheus: add scraper for HTTPFranck Cuny1-0/+28
2022-04-04prometheus: configure correctly the blackboxFranck Cuny1-10/+23
2022-04-04prometheus: attempt to configure blackbox exporterFranck Cuny1-0/+34
2022-04-04dashboard: more update for traefikFranck Cuny1-452/+1478
2022-04-04dashboards: more updates for traefikFranck Cuny1-1/+2
2022-04-04grafana: try to configure the data sourceFranck Cuny1-9/+28
2022-04-04grafana: add dashboard for traefikFranck Cuny1-0/+783
2022-04-03grafana: show last 6 hours for node exporterFranck Cuny1-2/+2
2022-04-03users: ensure I'm in the docker groupFranck Cuny1-1/+1
2022-04-03Revert "create a new role for navidrome"Franck Cuny1-0/+24
This reverts commit 814a495e9c74e3211c6b6640397111115832207b.
2022-04-03create a new role for navidromeFranck Cuny1-24/+0
Apply the role to tahoe.
2022-03-28nas: backup navidrome data and add music subdomainFranck Cuny2-0/+14
2022-03-28nas: bind navidrome to all interfacesFranck Cuny1-1/+4
2022-03-28nas: initial setup for navidromeFranck Cuny1-0/+8
2022-03-26prometheus: stop scraping the NASFranck Cuny1-4/+2
we're shutting it down!
2022-03-25common: ensure zsh is installedFranck Cuny1-0/+1
2022-03-25gitea: remove invalid configurationFranck Cuny1-1/+0
2022-03-25shell: switch from zsh to fishFranck Cuny2-3/+3
why not ?
2022-03-15rclone: correct path for the backupsFranck Cuny1-2/+2
2022-03-14rclone: fix the pathFranck Cuny1-1/+1
2022-03-13prometheus: scrape gitea metricsFranck Cuny1-0/+6
2022-03-13gitea: enable metrics endpointFranck Cuny1-0/+1
2022-03-13rclone: rewrite the service unitFranck Cuny1-5/+6
2022-03-12default: install ethtool everywhereFranck Cuny1-0/+1
2022-03-12prometheus: collect more stuffFranck Cuny1-1/+1
2022-03-12hosts: add profilesFranck Cuny2-41/+0
Profiles contain a collection of modules.
2022-03-12users: add another ssh keyFranck Cuny1-2/+8
2022-03-11rclone: add users backupFranck Cuny1-11/+12
2022-03-11nas: enable rclone configurationFranck Cuny1-0/+1
2022-03-11prometheus: scrap more endpointsFranck Cuny1-0/+30
2022-03-11rclone: synchronize restic repo to GCSFranck Cuny1-0/+29
Add a couple of secrets to store the configuration and the service account, and add a timer to synchronize the restic repository to a GCS bucket once a day.
2022-03-09traefik: typoFranck Cuny1-1/+1
2022-03-09traefik: make the rules as specific as possibleFranck Cuny1-2/+4
Otherwise, `git` will conflict, since it exists on both domains.
2022-03-09traefik: typoFranck Cuny1-5/+5
2022-03-09gitea: typoFranck Cuny1-1/+1
2022-03-09traefik: handle fcuny.net and fcuny.xyzFranck Cuny1-7/+15
fcuny.net is for public facing domains, while fcuny.xyz are for domains on the tailscale network. I need to support configuration in traefik for both. The main difference, for traefik, is the domain name and which let's encrypt challenge to use (DNS for TS, HTTP for public). Refactor the function `mkServiceConfig` to accept the domain and LE challenge as argument, and add new entries for git.fcuny.net and git.fcuny.xyz.
2022-03-09gitea: do a backup with resticFranck Cuny1-0/+12
2022-03-09gitea: we need to specify the user for the DBFranck Cuny1-1/+4
2022-03-09system: install sqliteFranck Cuny1-3/+3
It's always useful to have it around.
2022-03-08gitea: initial configurationFranck Cuny2-0/+28
2022-03-08nas: backup photos and musicFranck Cuny1-0/+12
Instead of rsync-ing these folders to a GCS bucket, I should instead do a backup. If I screw up something, the content will be sync-ed, and I won't be able to restore it. It's better (maybe more expensive, but that's OK) to keep snapshots and be able to restore.
2022-03-07backups: spread them so they don't clashFranck Cuny3-0/+3
If they start running at the same time, they won't be able to succeed since there's a global lock on the repository.
2022-03-07grafana: backup the data directoryFranck Cuny1-0/+14
2022-03-07prometheus: backup the data directoryFranck Cuny1-0/+14
2022-03-07unifi: backup the data to the local reoFranck Cuny1-0/+14
2022-03-06prometheus: scrap unifi poller on the correct IPFranck Cuny1-1/+1
2022-03-06prometheus: scrape from unifi-pollerFranck Cuny1-31/+40
2022-03-06unifi: set the correct name for the poller's unitFranck Cuny1-2/+2
2022-03-06traefik: proper configuration for unifiFranck Cuny1-0/+14
2022-03-06unifi: configure the pollerFranck Cuny1-5/+18
2022-03-06unifi: add unifi on the NASFranck Cuny2-0/+54
2022-03-06transmission: disable the rpc allowlistFranck Cuny1-2/+1
This is not working as I think, will follow up later.
2022-03-06traefik: add transmission (bt.fcuny.xyz)Franck Cuny1-2/+4
2022-03-06nas: install transmissionFranck Cuny2-0/+36
Create a user and group 'nas' so we can run tranmission in it. This will also help us to enable some specific permissions on some directories.
2022-03-06grafana: rename the instance for the routerFranck Cuny1-16/+16
2022-03-06grafana: add a few more dashboardsFranck Cuny3-0/+10539
2022-03-06traefik: getting a working configurationFranck Cuny1-22/+21
2022-03-06traefik: second attempt, simpleFranck Cuny2-52/+35
2022-03-06traefik: initial configurationFranck Cuny2-0/+87
I want to run traefik on the NAS, so I can reach grafana and other future services running on that host. To manage TLS, we use let's encrypt with a DNS challenge. For this to work we need a service account configuration, that is encrypted with age.
2022-03-05backups: unit to run maintenance on my backupsFranck Cuny2-0/+26
This will be run via a timer once a day, to perform maintenance on my backups on the nas.
2022-03-05prometheus: scrape nodeexporter for the rtrFranck Cuny1-15/+24
2022-03-05samba: fix path for music, add videosFranck Cuny1-1/+7
2022-03-05aptos: remove mem_sleep_defaultFranck Cuny1-1/+0
The laptop was rebooting when I'd open the lid.
2022-03-05tailscale: add tailscale to the laptop (aptos)Franck Cuny1-0/+6
2022-03-02grafana: disable analytics correctlyFranck Cuny1-1/+2
2022-03-02prometheus: relabel some machinesFranck Cuny1-12/+20
Don't use the IP from wireguard as the name of the host, let's map to the actual hostname.
2022-03-02users: remove rsa keyFranck Cuny1-1/+0
2022-03-02grafana: disable analyticsFranck Cuny1-0/+1
2022-02-28grafana: provision dashboardsFranck Cuny2-0/+14120
Start with node-exporter-full dashboard.
2022-02-28grafana: setup provisioning correctlyFranck Cuny1-6/+9
2022-02-28grafana: fixFranck Cuny1-1/+1
2022-02-28grafana: configure admin user and data sourcesFranck Cuny1-1/+9
2022-02-28grafana: initial configurationFranck Cuny2-0/+10
2022-02-28prometheus: initial configuration for the serverFranck Cuny2-0/+30
Run prometheus via systemd, and configure to pull node-exporter's metrics from two hosts. The retention is set for 3 years.
2022-02-27users: change my ssh key for the laptopFranck Cuny1-1/+2
2022-02-27hosts: ensure we have bash and zshFranck Cuny1-0/+3
2022-02-27nas: consume everything from the server profileFranck Cuny1-0/+1
2022-02-27server: create a new profileFranck Cuny2-0/+19
This is a profile for servers related stuff. We start with monitoring for now.
2022-02-27samba: fix configurationFranck Cuny1-3/+3
Some settings were missing, others incorrect, and the name of the share was also incorrect.
2022-02-27NAS: initial configurationFranck Cuny2-0/+34
For now we only want samba on it.
2022-02-27hardware: enable btrfs scrubber and fstrimmerFranck Cuny1-0/+3
2022-02-27software: drop nautilus, add a few more thingsFranck Cuny1-4/+0
Replace nautilus with pcmanfm, which is more than enough for my needs (I still can't open correctly images / PDF with nautilus, I don't care why). Add a few more packages (seahorse, easyeffects) to improve usability of the desktop.
2022-02-27pam: drop GDM configurationFranck Cuny1-2/+0
I don't use GDM anymore.
2022-02-27hardware: start capturing hardware related stuffFranck Cuny2-0/+10
Create a new module for hardware related things, in order to configure correctly the various machines.
2022-02-24gnome: add more gnome settingsFranck Cuny1-1/+14
Without these settings a few things are not working correctly (nautilus can't browse ssh servers for example). This module needs to be renamed too.
2022-02-24xserver: drop it completelyFranck Cuny1-14/+0
Let's remove this, I was only using it to get GDM running, but that's causing a bunch of issues so far: - not all environment variables are loaded correctly - some units are not loaded in time When trying to use xorg and i3, I have way too many tears and I can't figure out a proper configuration. To make it easier, I'm going to keep sway and start `sway` from `tty1` directly.
2022-02-21ssh: authenticate only using ssh keyFranck Cuny1-0/+1
2022-02-21system: install a few more packagesFranck Cuny1-1/+10
2022-02-21users: add ssh keys for aptos and carmelFranck Cuny1-2/+2
2022-02-21fonts: add font-awesome for i3statusFranck Cuny1-0/+1
2022-02-18xserver: add at-spi2-core packageFranck Cuny1-1/+5
See https://github.com/NixOS/nixpkgs/issues/16327 for details (this removes warnings in some services)
2022-02-18boot: fix the prefixFranck Cuny1-1/+1
2022-02-18xserver: natural scrolling is part of touchpad.Franck Cuny1-1/+1
2022-02-18fonts: rename some optionsFranck Cuny1-2/+1
`fontconfig.ultimate` does not exists anymore, and `enableFontDir` has been renamed to `fontDir.enable`.
2022-02-18system: add locale and securityFranck Cuny3-2/+19
2022-02-18desktop: enable natural scrollingFranck Cuny1-2/+4
2022-02-18boot: reorganize and add commentsFranck Cuny1-0/+8
Most of the options for booting are common to all hosts.
2022-02-18fonts: add more fonts for the systemFranck Cuny1-1/+8
2022-02-17sway: configure correctly dbus / keyringFranck Cuny1-8/+16
2022-02-16sway: install all the required packagesFranck Cuny1-1/+15
2022-02-16home-manager: move activate logic in users' configFranck Cuny1-4/+1
2022-02-14hosts: enable rtkit with audio moduleFranck Cuny1-0/+2
2022-02-13hosts: unlock disks remotely on bootFranck Cuny2-3/+24
Enable a SSH daemon in initrd, with our keys, so we can unlock remotely the disk on reboot.
2022-02-13desktop: ensure we're installing swayFranck Cuny1-1/+7
2022-02-13motd: drop, there's no need for thatFranck Cuny2-13/+0
2022-02-13sway: first attempt at configuring swayFranck Cuny1-11/+3
Let's switch right away to sway instead, now that there's an emacs package to support wayland.
2022-02-13hosts: install linux perf tools for the hostFranck Cuny1-1/+8
2022-02-13hosts: decrypt root disk via ssh on bootFranck Cuny2-0/+6
2022-02-13desktop: gnome related thingsFranck Cuny1-1/+10
2022-02-13hosts: enable avahi on desktopFranck Cuny1-0/+5
This is going to be needed to print (for example).
2022-02-12hosts: load services at the host levelFranck Cuny1-0/+15
These services are not configured at the user level, but at the host level. We might need a better separation in the future, in case I don't use xserver for example.
2022-02-12hosts: rename commons to commonFranck Cuny13-0/+212