{"id":22423225,"url":"https://github.com/notthebee/nix-config","last_synced_at":"2025-10-23T19:28:29.268Z","repository":{"id":179696233,"uuid":"659868294","full_name":"notthebee/nix-config","owner":"notthebee","description":"Configuration files for my NixOS and nix-darwin machines","archived":false,"fork":false,"pushed_at":"2024-08-24T11:21:42.000Z","size":257,"stargazers_count":194,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-08-24T12:32:19.633Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/notthebee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-28T18:33:25.000Z","updated_at":"2024-08-24T11:21:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"35c1062d-19ad-46eb-83a0-cff2370e5ba6","html_url":"https://github.com/notthebee/nix-config","commit_stats":null,"previous_names":["notthebee/nix-config"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notthebee%2Fnix-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notthebee%2Fnix-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notthebee%2Fnix-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notthebee%2Fnix-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/notthebee","download_url":"https://codeload.github.com/notthebee/nix-config/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244056425,"owners_count":20390719,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-05T18:09:40.574Z","updated_at":"2025-10-23T19:28:29.250Z","avatar_url":"https://github.com/notthebee.png","language":"Nix","funding_links":[],"categories":["miscellaneous"],"sub_categories":[],"readme":"# nix-config\n\nConfiguration files for my NixOS and nix-darwin machines.\n\nVery much a work in progress.\n\n## Services\n\n\u003e This section is generated automatically from the Nix configuration using GitHub Actions and [this cursed Nix script](bin/generateServicesTable.nix)\n\n\u003c!-- BEGIN SERVICE LIST --\u003e\n### alison\n|Icon|Name|Description|Category|\n|---|---|---|---|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/grafana.svg' width=32 height=32\u003e|Grafana|Platform for data analytics and monitoring|Observability|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/home-assistant.svg' width=32 height=32\u003e|Home Assistant|Home automation platform|Smart Home|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/prometheus.svg' width=32 height=32\u003e|Prometheus|Monitoring system \u0026 time series database|Observability|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/png/raspberrymatic.png' width=32 height=32\u003e|RaspberryMatic|Homematic IP CCU|Smart Home|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/uptime-kuma.svg' width=32 height=32\u003e|Uptime Kuma|Service monitoring tool|Services|\n\n\n### aria\n|Icon|Name|Description|Category|\n|---|---|---|---|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/immich.svg' width=32 height=32\u003e|Immich|Self-hosted photo and video management solution|Media|\n\n\n### emily\n|Icon|Name|Description|Category|\n|---|---|---|---|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/audiobookshelf.svg' width=32 height=32\u003e|Audiobookshelf|Audiobook and podcast player|Media|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/bazarr.svg' width=32 height=32\u003e|Bazarr|Subtitle manager|Arr|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/deluge.svg' width=32 height=32\u003e|Deluge|Torrent client|Downloads|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/immich.svg' width=32 height=32\u003e|Immich|Self-hosted photo and video management solution|Media|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/invoiceplane.svg' width=32 height=32\u003e|InvoicePlane|Invoicing application|Services|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/jellyfin.svg' width=32 height=32\u003e|Jellyfin|The Free Software Media System|Media|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/jellyseerr.svg' width=32 height=32\u003e|Jellyseerr|Media request and discovery manager|Arr|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/keycloak.svg' width=32 height=32\u003e|Keycloak|Open Source Identity and Access Management|Services|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/png/microbin.png' width=32 height=32\u003e|Microbin|A minimal pastebin|Services|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/miniflux-light.svg' width=32 height=32\u003e|Miniflux|Minimalist and opinionated feed reader|Services|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/navidrome.svg' width=32 height=32\u003e|Navidrome|Self-hosted music streaming service|Media|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/nextcloud.svg' width=32 height=32\u003e|Nextcloud|Enterprise File Storage and Collaboration|Services|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/paperless.svg' width=32 height=32\u003e|Paperless-ngx|Document management system|Services|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/prowlarr.svg' width=32 height=32\u003e|Prowlarr|PVR indexer|Arr|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/radarr.svg' width=32 height=32\u003e|Radarr|Movie collection manager|Arr|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/radicale.svg' width=32 height=32\u003e|Radicale|Free and Open-Source CalDAV and CardDAV Server|Services|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/sabnzbd.svg' width=32 height=32\u003e|SABnzbd|The free and easy binary newsreader|Downloads|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/slskd.svg' width=32 height=32\u003e|slskd|Web-based Soulseek client|Downloads|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/sonarr.svg' width=32 height=32\u003e|Sonarr|TV show collection manager|Arr|\n|\u003cimg src='https://cdn.jsdelivr.net/gh/selfhst/icons/svg/bitwarden.svg' width=32 height=32\u003e|Vaultwarden|Password manager|Services|\n\n\n\u003c!-- END SERVICE LIST --\u003e\n\n## Installation runbook (NixOS)\n\nCreate a root password using the TTY\n\n```bash\nsudo su\npasswd\n```\n\nFrom your host, copy the public SSH key to the server\n\n```bash\nexport NIXOS_HOST=192.168.2.xxx\nssh-add ~/.ssh/notthebee\nssh-copy-id -i ~/.ssh/notthebee root@$NIXOS_HOST\n```\n\nSSH into the host with agent forwarding enabled (for the secrets repo access)\n\n```bash\nssh -A root@$NIXOS_HOST\n```\n\nEnable flakes\n\n```bash\nmkdir -p ~/.config/nix\necho \"experimental-features = nix-command flakes\" \u003e\u003e ~/.config/nix/nix.conf\n```\n\nPartition and mount the drives using [disko](https://github.com/nix-community/disko)\n\n```bash\nDISK='/dev/disk/by-id/ata-Samsung_SSD_870_EVO_250GB_S6PENL0T902873K'\nDISK2='/dev/disk/by-id/ata-Samsung_SSD_870_EVO_250GB_S6PE58S586SAER'\n\ncurl https://raw.githubusercontent.com/notthebee/nix-config/main/disko/zfs-root/default.nix \\\n    -o /tmp/disko.nix\nsed -i \"s|to-be-filled-during-installation|$DISK|\" /tmp/disko.nix\nnix --experimental-features \"nix-command flakes\" run github:nix-community/disko \\\n    -- -m destroy,format,mount /tmp/disko.nix\n```\n\nInstall git\n\n```bash\nnix-env -f '\u003cnixpkgs\u003e' -iA git\n```\n\nClone this repository\n\n```bash\nmkdir -p /mnt/etc/nixos\ngit clone https://github.com/notthebee/nix-config.git /mnt/etc/nixos\n```\n\nPut the private key into place (required for secret management)\n\n```bash\nmkdir -p /mnt/home/notthebee/.ssh\nexit\nscp ~/.ssh/notthebee root@$NIXOS_HOST:/mnt/home/notthebee/.ssh\nssh root@$NIXOS_HOST\nchmod 700 /mnt/home/notthebee/.ssh\nchmod 600 /mnt/home/notthebee/.ssh/*\n```\n\nInstall the system\n\n```bash\nnixos-install \\\n--root \"/mnt\" \\\n--no-root-passwd \\\n--flake \"git+file:///mnt/etc/nixos#hostname\" # alison, emily, etc.\n```\n\nUnmount the filesystems\n\n```bash\numount \"/mnt/boot/efis/*\"\numount -Rl \"/mnt\"\nzpool export -a\n```\n\nReboot\n\n```bash\nreboot\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotthebee%2Fnix-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnotthebee%2Fnix-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotthebee%2Fnix-config/lists"}