65 lines
2.1 KiB
Markdown
65 lines
2.1 KiB
Markdown
|
|
# Adopt Nanuqsaurus on an existing NixOS install (no repartitioning)
|
|||
|
|
|
|||
|
|
This repo intentionally does **not** ship a “one size fits all” `nixosConfiguration` for installed systems.
|
|||
|
|
Disk layouts, filesystems, initrd modules, and bootloader details are machine-specific and live in your
|
|||
|
|
local `hardware-configuration.nix`.
|
|||
|
|
|
|||
|
|
The recommended workflow is to create a **small local wrapper flake** that:
|
|||
|
|
|
|||
|
|
- keeps your machine’s `hardware-configuration.nix` as the source of truth for mounts/boot,
|
|||
|
|
- imports `nanuqsaurus` as a feature/profile module from its URL,
|
|||
|
|
- keeps your personal changes in your own repo (or `/etc/nixos`).
|
|||
|
|
|
|||
|
|
## 1) Create a wrapper flake in `/etc/nixos`
|
|||
|
|
|
|||
|
|
On the target machine:
|
|||
|
|
|
|||
|
|
1. Ensure you have a `hardware-configuration.nix` (generated by `nixos-generate-config`).
|
|||
|
|
2. Create `/etc/nixos/flake.nix` like this (adjust `hostName` and `stateVersion`):
|
|||
|
|
|
|||
|
|
```nix
|
|||
|
|
{
|
|||
|
|
description = "Local wrapper for the nanuqsaurus profile";
|
|||
|
|
|
|||
|
|
inputs = {
|
|||
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
|
|||
|
|
nanuqsaurus.url = "git+https://codeberg.org/randogoth/nanuqsaurus.git";
|
|||
|
|
nanuqsaurus.inputs.nixpkgs.follows = "nixpkgs";
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
outputs =
|
|||
|
|
{ self, nixpkgs, nanuqsaurus, ... }:
|
|||
|
|
{
|
|||
|
|
nixosConfigurations.my-host = nixpkgs.lib.nixosSystem {
|
|||
|
|
system = "x86_64-linux";
|
|||
|
|
modules = [
|
|||
|
|
./hardware-configuration.nix
|
|||
|
|
nanuqsaurus.nixosModules.nanuqsaurus
|
|||
|
|
|
|||
|
|
# Your local overrides/customizations:
|
|||
|
|
({ ... }: {
|
|||
|
|
# Optional: change the default admin username ("admin")
|
|||
|
|
nanuqsaurus.admin.username = "admin";
|
|||
|
|
networking.hostName = "my-host";
|
|||
|
|
system.stateVersion = "25.11";
|
|||
|
|
})
|
|||
|
|
];
|
|||
|
|
};
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 2) Switch to it
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
sudo nixos-rebuild switch --flake /etc/nixos#my-host
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Updating later
|
|||
|
|
|
|||
|
|
- If you keep `nanuqsaurus.url` pointing at the repo, you can update with:
|
|||
|
|
- `nix flake update` (in `/etc/nixos`), then
|
|||
|
|
- `sudo nixos-rebuild switch --flake /etc/nixos#my-host`
|
|||
|
|
|
|||
|
|
- Keep all your machine-specific changes in the wrapper flake (additional modules, packages, services, etc.).
|