lix-installer/tests/fixtures/linux/steam-deck.json
Ana Hobden 85abfc3cb5
Curing existing /nix (#310)
* Curing existing /nix

* Fixup macs

* Suggest an uninstall command if the binary is not present

* Fixup some nits

* Skip a not great suggestion

* Suggest a nice url
2023-03-08 18:43:57 +00:00

949 lines
28 KiB
JSON

{
"version": "0.5.1-unreleased",
"actions": [
{
"action": {
"action": "create_directory",
"path": "/home/nix",
"user": null,
"group": null,
"mode": 493,
"force_prune_on_revert": true
},
"state": "Uncompleted"
},
{
"action": {
"action": "create_file",
"path": "/etc/systemd/system/nix-directory.service",
"user": null,
"group": null,
"mode": 420,
"buf": "[Unit]\nDescription=Create a `/nix` directory to be used for bind mounting\nPropagatesStopTo=nix-daemon.service\nPropagatesStopTo=nix.mount\nDefaultDependencies=no\nAfter=grub-recordfail.service\nAfter=steamos-finish-oobe-migration.service\n\n[Service]\nType=oneshot\nExecStart=steamos-readonly disable\nExecStart=mkdir -vp /nix\nExecStart=chmod -v 0755 /nix\nExecStart=chown -v root /nix\nExecStart=chgrp -v root /nix\nExecStart=steamos-readonly enable\nExecStop=steamos-readonly disable\nExecStop=rmdir /nix\nExecStop=steamos-readonly enable\nRemainAfterExit=true\n",
"force": false
},
"state": "Uncompleted"
},
{
"action": {
"action": "create_file",
"path": "/etc/systemd/system/nix.mount",
"user": null,
"group": null,
"mode": 420,
"buf": "[Unit]\nDescription=Mount `/home/nix` on `/nix`\nPropagatesStopTo=nix-daemon.service\nPropagatesStopTo=nix-directory.service\nAfter=nix-directory.service\nRequires=nix-directory.service\nConditionPathIsDirectory=/nix\nDefaultDependencies=no\nRequiredBy=nix-daemon.service\nRequiredBy=nix-daemon.socket\n\n[Mount]\nWhat=/home/nix\nWhere=/nix\nType=none\nDirectoryMode=0755\nOptions=bind\n",
"force": false
},
"state": "Uncompleted"
},
{
"action": {
"action": "create_file",
"path": "/etc/systemd/system/ensure-symlinked-units-resolve.service",
"user": null,
"group": null,
"mode": 420,
"buf": "[Unit]\nDescription=Ensure Nix related units which are symlinked resolve\nAfter=nix.mount\nRequires=nix-directory.service\nRequires=nix.mount\nDefaultDependencies=no\n\n[Service]\nType=oneshot\nRemainAfterExit=yes\nExecStart=/usr/bin/systemctl daemon-reload\nExecStart=/usr/bin/systemctl restart --no-block nix-daemon.socket\n\n[Install]\nWantedBy=sysinit.target\n",
"force": false
},
"state": "Uncompleted"
},
{
"action": {
"action": "start_systemd_unit",
"unit": "nix.mount",
"enable": false
},
"state": "Uncompleted"
},
{
"action": {
"action": "provision_nix",
"fetch_nix": {
"action": {
"url": "https://releases.nixos.org/nix/nix-2.13.2/nix-2.13.2-x86_64-linux.tar.xz",
"dest": "/nix/temp-install-dir"
},
"state": "Uncompleted"
},
"create_users_and_group": {
"action": {
"nix_build_user_count": 32,
"nix_build_group_name": "nixbld",
"nix_build_group_id": 30000,
"nix_build_user_prefix": "nixbld",
"nix_build_user_id_base": 30000,
"create_group": {
"action": {
"name": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
"create_users": [
{
"action": {
"name": "nixbld0",
"uid": 30000,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld1",
"uid": 30001,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld2",
"uid": 30002,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld3",
"uid": 30003,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld4",
"uid": 30004,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld5",
"uid": 30005,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld6",
"uid": 30006,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld7",
"uid": 30007,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld8",
"uid": 30008,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld9",
"uid": 30009,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld10",
"uid": 30010,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld11",
"uid": 30011,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld12",
"uid": 30012,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld13",
"uid": 30013,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld14",
"uid": 30014,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld15",
"uid": 30015,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld16",
"uid": 30016,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld17",
"uid": 30017,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld18",
"uid": 30018,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld19",
"uid": 30019,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld20",
"uid": 30020,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld21",
"uid": 30021,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld22",
"uid": 30022,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld23",
"uid": 30023,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld24",
"uid": 30024,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld25",
"uid": 30025,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld26",
"uid": 30026,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld27",
"uid": 30027,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld28",
"uid": 30028,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld29",
"uid": 30029,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld30",
"uid": 30030,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld31",
"uid": 30031,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
}
],
"add_users_to_groups": [
{
"action": {
"name": "nixbld0",
"uid": 30000,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld1",
"uid": 30001,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld2",
"uid": 30002,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld3",
"uid": 30003,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld4",
"uid": 30004,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld5",
"uid": 30005,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld6",
"uid": 30006,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld7",
"uid": 30007,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld8",
"uid": 30008,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld9",
"uid": 30009,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld10",
"uid": 30010,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld11",
"uid": 30011,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld12",
"uid": 30012,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld13",
"uid": 30013,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld14",
"uid": 30014,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld15",
"uid": 30015,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld16",
"uid": 30016,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld17",
"uid": 30017,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld18",
"uid": 30018,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld19",
"uid": 30019,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld20",
"uid": 30020,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld21",
"uid": 30021,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld22",
"uid": 30022,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld23",
"uid": 30023,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld24",
"uid": 30024,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld25",
"uid": 30025,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld26",
"uid": 30026,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld27",
"uid": 30027,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld28",
"uid": 30028,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld29",
"uid": 30029,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld30",
"uid": 30030,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
},
{
"action": {
"name": "nixbld31",
"uid": 30031,
"groupname": "nixbld",
"gid": 30000
},
"state": "Uncompleted"
}
]
},
"state": "Uncompleted"
},
"create_nix_tree": {
"action": {
"create_directories": [
{
"action": {
"path": "/nix/var",
"user": null,
"group": null,
"mode": 493,
"force_prune_on_revert": false
},
"state": "Uncompleted"
},
{
"action": {
"path": "/nix/var/log",
"user": null,
"group": null,
"mode": 493,
"force_prune_on_revert": false
},
"state": "Uncompleted"
},
{
"action": {
"path": "/nix/var/log/nix",
"user": null,
"group": null,
"mode": 493,
"force_prune_on_revert": false
},
"state": "Uncompleted"
},
{
"action": {
"path": "/nix/var/log/nix/drvs",
"user": null,
"group": null,
"mode": 493,
"force_prune_on_revert": false
},
"state": "Uncompleted"
},
{
"action": {
"path": "/nix/var/nix",
"user": null,
"group": null,
"mode": 493,
"force_prune_on_revert": false
},
"state": "Uncompleted"
},
{
"action": {
"path": "/nix/var/nix/db",
"user": null,
"group": null,
"mode": 493,
"force_prune_on_revert": false
},
"state": "Uncompleted"
},
{
"action": {
"path": "/nix/var/nix/gcroots",
"user": null,
"group": null,
"mode": 493,
"force_prune_on_revert": false
},
"state": "Uncompleted"
},
{
"action": {
"path": "/nix/var/nix/gcroots/per-user",
"user": null,
"group": null,
"mode": 493,
"force_prune_on_revert": false
},
"state": "Uncompleted"
},
{
"action": {
"path": "/nix/var/nix/profiles",
"user": null,
"group": null,
"mode": 493,
"force_prune_on_revert": false
},
"state": "Uncompleted"
},
{
"action": {
"path": "/nix/var/nix/profiles/per-user",
"user": null,
"group": null,
"mode": 493,
"force_prune_on_revert": false
},
"state": "Uncompleted"
},
{
"action": {
"path": "/nix/var/nix/temproots",
"user": null,
"group": null,
"mode": 493,
"force_prune_on_revert": false
},
"state": "Uncompleted"
},
{
"action": {
"path": "/nix/var/nix/userpool",
"user": null,
"group": null,
"mode": 493,
"force_prune_on_revert": false
},
"state": "Uncompleted"
},
{
"action": {
"path": "/nix/var/nix/daemon-socket",
"user": null,
"group": null,
"mode": 493,
"force_prune_on_revert": false
},
"state": "Uncompleted"
}
]
},
"state": "Uncompleted"
},
"move_unpacked_nix": {
"action": {
"unpacked_path": "/nix/temp-install-dir"
},
"state": "Uncompleted"
}
},
"state": "Uncompleted"
},
{
"action": {
"action": "configure_nix",
"setup_default_profile": {
"action": {
"channels": [
[
"nixpkgs",
"https://nixos.org/channels/nixpkgs-unstable"
]
],
"unpacked_path": "/nix/temp-install-dir"
},
"state": "Uncompleted"
},
"configure_shell_profile": {
"action": {
"create_directories": [],
"create_or_insert_into_files": [
{
"action": {
"path": "/etc/bashrc",
"user": null,
"group": null,
"mode": 33188,
"buf": "\n# Nix\nif [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then\n . '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'\nfi\n# End Nix\n\n \n",
"position": "Beginning"
},
"state": "Uncompleted"
},
{
"action": {
"path": "/etc/profile.d/nix.sh",
"user": null,
"group": null,
"mode": 33188,
"buf": "\n# Nix\nif [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then\n . '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'\nfi\n# End Nix\n\n \n",
"position": "Beginning"
},
"state": "Uncompleted"
},
{
"action": {
"path": "/etc/zshenv",
"user": null,
"group": null,
"mode": 33188,
"buf": "\n# Nix\nif [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then\n . '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'\nfi\n# End Nix\n\n \n",
"position": "Beginning"
},
"state": "Uncompleted"
},
{
"action": {
"path": "/etc/bash.bashrc",
"user": null,
"group": null,
"mode": 33188,
"buf": "\n# Nix\nif [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then\n . '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'\nfi\n# End Nix\n\n \n",
"position": "Beginning"
},
"state": "Uncompleted"
}
]
},
"state": "Uncompleted"
},
"place_nix_configuration": {
"action": {
"create_directory": {
"action": {
"path": "/etc/nix",
"user": null,
"group": null,
"mode": 493,
"force_prune_on_revert": false
},
"state": "Uncompleted"
},
"create_or_merge_nix_config": {
"action": {
"path": "/etc/nix/nix.conf",
"pending_nix_config": {
"settings": {
"bash-prompt-prefix": "(nix:$name)\\040",
"build-users-group": "nixbld",
"auto-optimise-store": "true",
"experimental-features": "nix-command flakes"
}
}
},
"state": "Uncompleted"
}
},
"state": "Uncompleted"
}
},
"state": "Uncompleted"
},
{
"action": {
"action": "configure_init_service",
"init": "Systemd",
"start_daemon": true
},
"state": "Uncompleted"
},
{
"action": {
"action": "start_systemd_unit",
"unit": "ensure-symlinked-units-resolve.service",
"enable": true
},
"state": "Uncompleted"
}
],
"planner": {
"planner": "steam-deck",
"persistence": "/home/nix",
"settings": {
"channels": [
[
"nixpkgs",
"https://nixos.org/channels/nixpkgs-unstable"
]
],
"modify_profile": true,
"nix_build_user_count": 32,
"nix_build_group_name": "nixbld",
"nix_build_group_id": 30000,
"nix_build_user_prefix": "nixbld",
"nix_build_user_id_base": 30000,
"nix_package_url": "https://releases.nixos.org/nix/nix-2.13.2/nix-2.13.2-x86_64-linux.tar.xz",
"extra_conf": [],
"force": false
}
}
}