https://github.com/charmoniumq/homelab

https://github.com/charmoniumq/homelab

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.6%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: charmoniumQ
  • License: mit
  • Language: Nix
  • Default Branch: main
  • Size: 470 KB
Statistics
  • Stars: 5
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created almost 5 years ago · Last pushed 11 months ago
Metadata Files
Readme License

README.org

* Sam's Homelab

It's mine, and it's awesome.

** To configure

1. [NixOS](https://nixos.org/manual/nixos/unstable/options) provides basic options for most packages.
2. Modules in [`./lib/*.nix`](./lib/default.nix) provide opinionated defaults and new option interfaces.
   - For an example of opinionated defaults, if `services.nextcloud.enabled` is set to true, this `./lib/nextcloud.nix` will expose create reverse proxy from `https://nextcloud.${networking.domain}` to the Nextcloud PHP FastCGI server.
   - For an example of new option interfaces, the user can set language, country code, currency, and units in a `config.locale.*` (see [`./lib/locale.nix`](./lib/locale.nix)) which get used by the aforementioned "opinionated defaults" in this libary.
3. Site-specific customization takes place in [`hosts/site.nix`](./hosts/site.nix); this applies to the whole network.
4. Host-specific customization takes place in [`hosts/*/default.nix`](./hosts/home-server/default.nix), which applies only to one node.
5. Secrets are encrypted by [Agenix](https://github.com/ryantm/agenix), declared in [`./secrets/secrets.nix`](./secrets/secrets.nix), and stored in [`./secrets/*.age`](./secrets/). They are encrypted with the sysadmin's SSH public key and the server's SSH host public key, such that they are write/read-able with either of the associated private keys.

** To deploy

1. Optionally type-check with `nix flake check --show-trace`
2. Optionally type-check Python scripts with `nix develop --command mypy lib/*.py`
3. Actually apply with [colmena](https://github.com/zhaofengli/colmena): `nix develop --command colmena apply`.

Note, you can optionally, build a QEMU VM image with `nix build .home-server-qemu`

** Setting up Nextcloud <-> CalDAV <-> Android

1. Download F-Droid
2. In F-Droid, download "Nextcloud Sync" and "Dav5x"
3. Log in to Nextcloud Sync
4. In the Nextcloud mobile, go to Settings/More, tap on “Sync calendars & contacts”.
5. Follow this flow, which will have you logging in to Nextcloud again
6. Set Contact Group Method to Groups are per-contact categories.
7. launch DAVx⁵ again.

See also [Nextcloud manual](https://docs.nextcloud.com/server/latest/user_manual/en/groupware/sync_android.html#contacts-and-calendar)

** Home assistant cat tracking
https://www.home-assistant.io/integrations/mqtt_room/?ref=jamesridgway.co.uk
https://www.amazon.com/ESP-WROOM-32-Development-Microcontroller-Integrated-Compatible/dp/B08D5ZD528?crid=2R7B6EY31OF2V&keywords=LOLIN32%2BESP32&qid=1655589767&sprefix=lolin32%2Besp32%2Caps%2C64&sr=8-5&linkCode=sl1&tag=espresense-20&linkId=cc9dcfa47f47f6fe47e4c697535f814c&language=en_US&ref_=as_li_ss_tl&th=1
https://www.amazon.com/Keychains-Bluetooth-Anti-Lost-Reminder-Smartphone/dp/B097PLRCVZ/ref=sr_1_6?crid=38SG4R3SZ2J7D&keywords=key+finder+tag&qid=1696526771&sprefix=key+finder+ta%2Caps%2C116&sr=8-6
https://www.aliexpress.us/item/3256805458064966.html?spm=a2g0o.productlist.main.41.50d4q1lHq1lHup&algo_pvid=a7d65298-6351-41bf-8619-e4da8f0c581d&algo_exp_id=a7d65298-6351-41bf-8619-e4da8f0c581d-20&pdp_npi=4%40dis%21USD%2115.78%215.84%21%21%2115.78%21%21%402103255b16965265497564453e7880%2112000033862847350%21sea%21US%210%21AB&curPageLogUid=ALaoQb5U0uej
https://www.aliexpress.us/item/3256803485380436.html?spm=a2g0o.productlist.main.3.2f902CZC2CZCDB&algo_pvid=c9ae4550-2744-47c5-abc5-21edc75f7832&algo_exp_id=c9ae4550-2744-47c5-abc5-21edc75f7832-1&pdp_npi=4%40dis%21USD%215.40%214.86%21%21%215.40%21%21%402103247016965264673431643e9c86%2112000028906157905%21sea%21US%210%21AB&curPageLogUid=bOSRrbOgYZw6

** Other configs
- https://github.com/gvolpe/nix-config/blob/master/flake.nix
- https://github.com/Ex-32/nixos-config
- https://github.com/ryan4yin/nix-config
- https://github.com/jdheyburn/nixos-configs

** Grocy UPC databases
Do they have 4099100042856?
- https://www.barcodelookup.com/4099100042856
- https://world.openfoodfacts.org/product/4099100042856/whole-wheat-l-oven-fresh
- https://github.com/Semantics3 ???
- http://opengtindb.org/
- https://github.com/Forceu/barcodebuddy

** Other services
- https://www.reddit.com/r/selfhosted/comments/196nke8/how_i_left_the_cloud/

** TODO-items
- [ ] Don't set listener.group = "caddy". Instead set the application's user to be in the group caddy.

- [ ] Switch to Sops-nix
  - https://github.com/Mic92/sops-nix

- [ ] Do power management
  - gnome.gnome-power-manager
  - https://community.frame.work/t/tracking-linux-battery-life-tuning/6665
  - https://knowledgebase.frame.work/en_us/optimizing-ubuntu-battery-life-Sye_48Lg3

- [ ] Make firefly-iii with Postgres and Caddy
  - https://github.com/NixOS/nixpkgs/blob/bf78e6a54601fc74d8d27fb918a420c84fb6f5b3/nixos/modules/services/web-apps/nextcloud.nix#L6
  - https://github.com/timhae/firefly/tree/main
  - https://docs.firefly-iii.org/firefly-iii/faq/self-hosted/#i-want-to-use-postgresql
  - https://github.com/NixOS/nixpkgs/commit/6cd896f96749e7932b4efb46c8cd92a2d6577d13
  - https://github.com/NixOS/nixpkgs/pull/184362

- https://github.com/DoTheEvo/selfhosted-apps-docker

Owner

  • Name: Sam Grayson
  • Login: charmoniumQ
  • Kind: user
  • Location: /home/bedroom/bed
  • Company: University of Illinois at Urbana-Champaign

PhD student, on a crusade to improve scientific software

GitHub Events

Total
  • Watch event: 2
  • Push event: 13
  • Create event: 1
Last Year
  • Watch event: 2
  • Push event: 13
  • Create event: 1