nix-chimera/README.md

40 lines
3.0 KiB
Markdown
Raw Normal View History

2024-03-12 23:51:55 -07:00
This is the config for my steam deck, using [Jovian-NixOS](https://jovian-experiments.github.io/Jovian-NixOS/)
Portions of my config are defined in [my base flake](https://github.com/vivlim/nix-base/). 'moduleBundles' are defined in that flake (see [flake.nix](https://github.com/vivlim/nix-base/blob/main/flake.nix))
**You should not use my configuration without modification, since it includes some personalizations you definitely won't want. (e.g. installing my ssh keys)**
This config has the following qualities (at time of writing, and this is not an exhaustive list)
- Full disk encryption + lvm (via nixos-anywhere/disko, see later in this readme)
- Note that entering the encryption password requires attaching a usb keyboard during boot, at the moment.
- Boots up in gamescope (see ./deck.nix)
- Plasma wayland session ([from my base](https://github.com/vivlim/nix-base/blob/main/desktop/plasma.nix))
- maliit-keyboard provides touch keyboard
- steam launches with [extest](https://github.com/Supreeeme/extest), so you can see the visible cursor move when steam input moves it in wayland sessions
2024-03-12 23:51:55 -07:00
- [Flatpak support + Discover (defined in my base)](https://github.com/vivlim/nix-base/blob/main/applications/flatpak.nix)
- [nix-ld](https://github.com/Mic92/nix-ld), which allows running unpatched binaries on nixos ([config is in my base](https://github.com/vivlim/nix-base/blob/main/applications/nix-ld.nix))
- obs studio, waydroid, retroarch, some other misc stuff (see ./configuration.nix)
- [support for various game controllers, in my base](https://github.com/vivlim/nix-base/blob/main/gaming-hardware/game-controllers.nix) ([also a tool for the wii u gamecube controller adapter](https://github.com/vivlim/nix-base/blob/main/gaming-hardware/wii-u-gc-adapter.nix), but the udev rules might not work)
- [flakes are enabled and used instead of channels](https://github.com/vivlim/nix-base/blob/dd9b5e20885497a31a950baacce02b3c0f091756/system-base/core.nix#L26)
# How I installed it
I booted the steam deck from nixos install media via [netboot.xyz](https://netboot.xyz/) and used [nixos-anywhere](https://github.com/nix-community/nixos-anywhere)
I *also* tried to use nixos-anywhere directly on steamos but that didn't work.
This config uses [disko](https://github.com/nix-community/disko) to set up lvm with full disk encryption. nixos-anywhere interactively prompts you for a password if you don't provide a secret (which is very nice)
See disk-config.nix for my config. If you want to use this, you'll need to change the path to the disk (I use disk ID with disko so I am less likely to wipe the wrong disk)
2024-03-12 01:15:44 -07:00
```
nix run github:nix-community/nixos-anywhere -- --flake .#vivdeck root@vivdeck-ip-addresss
```
2024-03-12 23:51:55 -07:00
# How I'm pushing changes to it
I'd rather not build on the deck itself since that'll make it hotter than it needs to be. Instead I build on another machine and deploy with [colmena](https://colmena.cli.rs/unstable/), which is a single command:
```
colmena apply -v
```
(the target ip address is configured in flake.nix)