This flake will configure your system to boot directly into OpenGamepadUI.
An installer ISO is available that will install NixOS and configure the OS to use this git repository as its default configuration source:
NOTE: This is still very alpha level, and will wipe the entire disk
Alternatively, this flake can be used with an existing NixOS installation with the "flakes" feature enabled.
To enable flakes on your system, add the following to your /etc/nixos/configuration.nix:
nix.settings.experimental-features = [ "nix-command" "flakes" ];
Then enable it with:
sudo nixos-rebuild switchThen generate a hardware report with nixos-facter:
nix-shell -p nixos-facter --run "sudo nixos-facter -o /etc/nixos/facter.json"Add the following to: /etc/nixos/flake.nix:
{
description = "A very basic flake";
inputs = {
shadowblip.url = "github:shadowblip/blipcore?ref=main";
};
outputs =
inputs@{
self,
shadowblip,
}:
{
# You can replace "nixos" with your hostname
nixosConfigurations.nixos = shadowblip.inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
# Allows `inputs` to be used in configuration
specialArgs = { inherit inputs; };
modules = [
shadowblip.nixosModules.default
./configuration.nix
];
};
};
}
Then enable it with:
sudo nixos-rebuild switchSecure Boot is supported via Lanzaboote. You can enable it with the following steps:
- Boot into your device firmware and configure Secure Boot for "Setup Mode"
sudo systemctl reboot --firmware-setup- Reboot into the OS to generate and enroll keys:
sudo sbctl create-keys
sudo sbctl enroll-keys --microsoft
sudo reboot- Boot into your device firmware and enable Secure Boot
To update, run:
cd /etc/nixos/
sudo nix flake updateThen use nixos-rebuild to apply the latest updates:
sudo nixos-rebuild switchYou can customize your installation like any other NixOS system by editing
/etc/nixos/configuration.nix and running sudo nixos-rebuild switch.
You can test building this flake configuration without switching to it with:
make testThis command will create a result symlink in the current directory with
the built OS configuration.
You can also simulate building the flake for a specific device by setting the
DEVICE variable and passing it the name of the device found in ./test/devices:
make test DEVICE=oxp-miniYou can build the flake for all supported images with:
make test-allYou can build this flake locally and push it to a remote device with:
make deploy SSH_HOST=x.x.x.xYou can build the installer ISO image using the Makefile:
make iso