Clean up steam deck config.
This commit is contained in:
parent
2f44e84106
commit
ae10e31365
79
nix/steam_deck/configuration/README.org
Normal file
79
nix/steam_deck/configuration/README.org
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
* Initial Setup
|
||||||
|
** Mount /home/deck/nix to /nix
|
||||||
|
The default /nix is too small and it could be modified by OS releases. We want to use something in our home folder since that will be untouched in upgrades.
|
||||||
|
|
||||||
|
# TODO: /home/nix gets owned by root but it should be owned by deck:deck for single-user nix installs
|
||||||
|
|
||||||
|
# TODO: nixos-installer adds this to /home/deck/.bash_profile , will this be wiped out in updates?
|
||||||
|
# if [ -e /home/deck/.nix-profile/etc/profile.d/nix.sh ]; then . /home/deck/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer
|
||||||
|
|
||||||
|
Create =/etc/systemd/system/nix-directory.service=
|
||||||
|
#+begin_src text
|
||||||
|
[Unit]
|
||||||
|
Description=Create a `/nix` directory to be used for bind mounting
|
||||||
|
#PropagatesStopTo=nix-daemon.service
|
||||||
|
PropagatesStopTo=nix.mount
|
||||||
|
DefaultDependencies=no
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=steamos-readonly disable
|
||||||
|
ExecStart=mkdir -vp /nix
|
||||||
|
ExecStart=chmod -v 0755 /nix
|
||||||
|
ExecStart=chown -v root /nix
|
||||||
|
ExecStart=chgrp -v root /nix
|
||||||
|
ExecStart=steamos-readonly enable
|
||||||
|
ExecStop=steamos-readonly disable
|
||||||
|
ExecStop=rmdir /nix
|
||||||
|
ExecStop=steamos-readonly enable
|
||||||
|
RemainAfterExit=true
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Create =/etc/systemd/system/nix.mount=
|
||||||
|
#+begin_src text
|
||||||
|
[Unit]
|
||||||
|
Description=Mount `/home/nix` on `/nix`
|
||||||
|
#PropagatesStopTo=nix-daemon.service
|
||||||
|
PropagatesStopTo=nix-directory.service
|
||||||
|
After=nix-directory.service
|
||||||
|
Requires=nix-directory.service
|
||||||
|
ConditionPathIsDirectory=/nix
|
||||||
|
DefaultDependencies=no
|
||||||
|
#RequiredBy=nix-daemon.service
|
||||||
|
#RequiredBy=nix-daemon.socket
|
||||||
|
|
||||||
|
[Mount]
|
||||||
|
What=/home/nix
|
||||||
|
Where=/nix
|
||||||
|
Type=none
|
||||||
|
DirectoryMode=0755
|
||||||
|
Options=bind
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Create =/etc/systemd/system/ensure-symlinked-units-resolve.service=
|
||||||
|
#+begin_src text
|
||||||
|
[Unit]
|
||||||
|
Description=Ensure Nix related units which are symlinked resolve
|
||||||
|
After=nix.mount
|
||||||
|
Requires=nix-directory.service
|
||||||
|
Requires=nix.mount
|
||||||
|
DefaultDependencies=no
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart=/usr/bin/systemctl daemon-reload
|
||||||
|
#ExecStart=/usr/bin/systemctl restart --no-block nix-daemon.socket
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sysinit.target
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Enable the mount by running
|
||||||
|
#+begin_src bash
|
||||||
|
sudo systemctl enable --now ensure-symlinked-units-resolve.service
|
||||||
|
#+end_src
|
||||||
|
** Install nix
|
||||||
|
#+begin_src bash
|
||||||
|
sh <(curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install) --no-daemon
|
||||||
|
#+end_src
|
||||||
Loading…
x
Reference in New Issue
Block a user