{"id":20102766,"url":"https://github.com/42loco42/und","last_synced_at":"2026-05-08T22:33:40.274Z","repository":{"id":203482061,"uuid":"709707221","full_name":"42LoCo42/und","owner":"42LoCo42","description":"micro nix deployer - soon to be rewritten","archived":false,"fork":false,"pushed_at":"2024-01-29T09:18:17.000Z","size":34,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-02T17:24:33.201Z","etag":null,"topics":["deployment","nix","nixos"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/42LoCo42.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":null,"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-10-25T08:32:45.000Z","updated_at":"2024-01-23T14:09:04.000Z","dependencies_parsed_at":"2024-01-29T10:43:02.229Z","dependency_job_id":"598e80dd-d524-4844-ab1f-dd4ea553f035","html_url":"https://github.com/42LoCo42/und","commit_stats":null,"previous_names":["42loco42/und"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/42LoCo42/und","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/42LoCo42%2Fund","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/42LoCo42%2Fund/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/42LoCo42%2Fund/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/42LoCo42%2Fund/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/42LoCo42","download_url":"https://codeload.github.com/42LoCo42/und/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/42LoCo42%2Fund/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32800221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["deployment","nix","nixos"],"created_at":"2024-11-13T17:32:59.477Z","updated_at":"2026-05-08T22:33:40.258Z","avatar_url":"https://github.com/42LoCo42.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"* µnd - micro nix deployer\nInspired by [[https://github.com/numtide/nixos-anywhere][nixos-anywhere]] and [[https://github.com/MatthewCroughan/nixinate][nixinate]], this tool enables you to install and update\na NixOS configuration on any system with SSH and root access and some basic tools.\n\nRewrite in progress - currently happening in [[https://github.com/42LoCo42/aquaris/blob/main/lib/combined.sh][Aquaris]]!\n\n** Usage\n#+begin_src nix\n    {\n      inputs = {\n        # the installation uses disko to prepare the disks\n        disko.inputs.nixpkgs.follows = \"nixpkgs\";\n\n        und.url = \"github:42loco42/und\";\n      };\n\n      outputs = { self, nixpkgs, ... }: {\n        apps = self.inputs.und.und self;\n        nixosConfigurations = {\n          test = {\n            system = \"x86_64-linux\";\n            modules = [\n              ./disk.nix # disko config file\n\n              self.inputs.disko.nixosModules.disko\n\n              {\n                _module.args.und = {\n                  host = \"example.org\";\n                  user = \"foobar\";\n\n                  # set this option if the user on the old system (which will be overwritten)\n                  # is different from your normal user\n                  # preUser = \"barbaz\";\n\n                  # set this option to use a custom kexec tarbarll URL\n                  # otherwise, the default tarball for the config's system\n                  # from https://github.com/nix-community/nixos-images will be used\n                  # kexec = \"https://example.org/other-kexec.tar.gz\"\n                };\n              }\n            ];\n          };\n        };\n      };\n    }\n#+end_src\n\n** Modes of operation\nFor a configuration named ~test~ (like in the example above),\nthese are the primary ways to use the script:\n#+begin_src shell\n  nix run .#test -- -i # installs to the target system\n  nix run .#test       # updates the target system\n\n  nix run .#test -- -l -i # installs to the local system (e.g. from a NixOS live ISO)\n  nix run .#test -- -l    # updates the local system\n#+end_src\n\n** Other options\nThe following options are also available:\n- ~-u, --user~: override the ~user~ option\n- ~-h, --host~: override the ~host~ option\n- ~-p, --preUser~: override the ~preUser~ option\n- ~-k, --kexec~: override the ~kexec~ option\n- ~--no-format~: don't format the disks (e.g. to retry a failed installation)\n- ~--no-kexec~: don't perform the kexec steps (e.g. when the target is already running a NixOS live environment)\n- ~--no-reboot~: don't reboot after the installation has finished (e.g. to configure more stuff)\n- ~--save-hwconf \u003cpath\u003e~: generate \u0026 save a hardware configuration file to ~\u003cpath\u003e~.\n  The script will then pause to allow further edits and actions (e.g. adding the file to ~git~)\n\n** Notes\n- all remote builds happen on the target system to allow installing to different architectures\n- all SSH connections have a PTY, so you can enter passwords\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F42loco42%2Fund","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F42loco42%2Fund","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F42loco42%2Fund/lists"}