{"id":13837882,"url":"https://github.com/pinpox/nixos","last_synced_at":"2025-04-04T17:08:03.567Z","repository":{"id":37028296,"uuid":"309150524","full_name":"pinpox/nixos","owner":"pinpox","description":"My NixOS Configurations","archived":false,"fork":false,"pushed_at":"2024-10-17T09:26:29.000Z","size":3283,"stargazers_count":180,"open_issues_count":3,"forks_count":9,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-19T12:50:26.953Z","etag":null,"topics":["config","configuration-management","dotfiles","flake","nix","nix-dotfiles","nixos","nixos-configuration","secrets"],"latest_commit_sha":null,"homepage":"https://pablo.tools","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pinpox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["pinpox"],"buy_me_a_coffee":"pinpox"}},"created_at":"2020-11-01T17:30:31.000Z","updated_at":"2024-10-17T09:26:33.000Z","dependencies_parsed_at":"2023-02-16T16:31:35.414Z","dependency_job_id":"23679d6b-dc76-4938-bb33-46349b3d35a7","html_url":"https://github.com/pinpox/nixos","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinpox%2Fnixos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinpox%2Fnixos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinpox%2Fnixos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinpox%2Fnixos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pinpox","download_url":"https://codeload.github.com/pinpox/nixos/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247217184,"owners_count":20903009,"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":["config","configuration-management","dotfiles","flake","nix","nix-dotfiles","nixos","nixos-configuration","secrets"],"created_at":"2024-08-04T15:01:29.239Z","updated_at":"2025-04-04T17:08:03.549Z","avatar_url":"https://github.com/pinpox.png","language":"Nix","funding_links":["https://github.com/sponsors/pinpox","https://buymeacoffee.com/pinpox","https://www.buymeacoffee.com/pinpox","https://img.buymeacoffee.com/button-api/?text=Buy"],"categories":["Nix"],"sub_categories":[],"readme":"![nixos](https://socialify.git.ci/pinpox/nixos/image?description=1\u0026font=Source%20Code%20Pro\u0026forks=1\u0026issues=1\u0026logo=https%3A%2F%2Fpablo.tools%2Fnixoscolorful.svg\u0026owner=1\u0026pattern=Circuit%20Board\u0026pulls=1\u0026stargazers=1\u0026theme=Light)\n\n**Configuration checks:** [![Build Status](https://build.lounge.rocks/api/badges/9/status.svg)](https://build.lounge.rocks/repos/9)\n\nAll Module options are documeted at: https://pinpox.github.io/nixos/\n\nThis repository includes all configurations for my NixOS machines. Feel free to\nuse parts of it as you please, but keep it mind it is intended mostly for\npersonal use. I've written posts about certain aspects of this setup on my\n[personal blog](https://pablo.tools/posts).\n\n# Initial Setup\n\nThe structure of this repository is meant to allow easy manual deployment.\nIndividual hosts are defined in `/machines/\u003chostname\u003e` and will import re-usable\nparts of the configuration as needed.\n\nDeployment is managed with [lollypops](https://github.com/pinpox/lollypops)\nSecrets are stored in [pass](https://www.passwordstore.org/).\n\n**TL;DR** To use a host configuration on a fresh install, make sure that:\n\n- The hostname is set correctly (`hostname \u003cmachine name\u003e`)\n- You are connected to the internet and have access rights to the repository\n- Pass has the necessary secrets for the machine\n- The machine's config is up-to-date\n\nThen backup the generated `hardware-configuration.nix` file:\n\n```bash\n# Overwrite hardware-configuration.nix file with the generated one\ncp /etc/nixos/hardware-configuration.nix \\\n   ./machines/$(hostname)/hardware-configuration.nix\n\n# Commit and push the new file\ngit commit -am\"Add hardware-configuration for $(hostname)\" \u0026\u0026 git push\n```\n\n\u003e TODO: update\n\nIt is also possible to build on the system itself when logged in, e.g. to get\nadditional debug information.\n\n```bash\ncd /var/src/machine-config\nsudo nixos-rebuild --flake \".#kartoffel\" switch\n```\n\n# Current Hosts\n\n| Configuration                       | Type      | Location    | VPN IP         | Description                  |\n| ----------------------------------- | --------- | ----------- | -------------- | ---------------------------- |\n| [kartoffel](./machines/kartoffel)   | Desktop   | local       | `192.168.7.3`  | Desktop                      |\n| [ahorn](./machines/ahorn)           | Desktop   | local       | `192.168.7.2`  | Notebook                     |\n| [birne](./machines/birne)           | Server    | local       | `192.168.7.4`  | Local NAS                    |\n| [porree](./machines/porree)         | Server    | netcup.de   | `192.168.7.1`  | Server for pablo.tools       |\n| [mega](./machines/mega)             | Server    | netcup.de   | `192.168.7.6`  | Server for megaclan3000.de   |\n| [kfbox](./machines/kfbox)           | Server    | netcup.de   | `192.168.7.5`  | Server for 0cx.de            |\n\nThe services running on each host are documented in the host-specific\n`README.md` files.\n\n# Deployment\n\n## Default Deployment\n\nDeployment is handled with [lollypops](https://github.com/pinpox/lollypops).\n\nTODO Update/document\n\n## First Deployment\n\nIf the system has not been configured to use flakes (e.g. fresh install), the\nfirst deployment will have to be build on a machine that has. This can be done\nfrom any of the other hosts that have the repository. The configuration will the\nhave the necessary options set, so that flakes works from now on with the normal\nlollypops deployment.\n\n```bash\n# bash, zsh doesn't always work correctly\nsudo nixos-rebuild --flake .#new-hostname --target-host \u003cnew-host-ip\u003e --build-host localhost switch\n ```\n\n# Contributing?\n\nWhile contributions don't make much sense for a personal configuration repository,\nI'm always happy to get hints, tips and constructive criticism. If you find something \nthat could be done in a better way, please let me know!\n\n\n\u003ca href=\"https://www.buymeacoffee.com/pinpox\"\u003e\u003cimg src=\"https://img.buymeacoffee.com/button-api/?text=Buy me a coffee\u0026emoji=😎\u0026slug=pinpox\u0026button_colour=82aaff\u0026font_colour=000000\u0026font_family=Inter\u0026outline_colour=000000\u0026coffee_colour=FFDD00\"\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpinpox%2Fnixos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpinpox%2Fnixos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpinpox%2Fnixos/lists"}