feat(steamdeck): prepare config for eventual install
All checks were successful
Discord / discord commits (push) Has been skipped

This commit is contained in:
matt1432 2024-06-29 03:45:06 -04:00
parent 724ced18f1
commit 2ceaaeff76
5 changed files with 137 additions and 9 deletions

View file

@ -5,13 +5,14 @@ This directory encompasses every device's main configuration file.
## List of my Devices
| Name | Description |
| ---------- | ------------------------------------------------------------------------------------------------------- |
| ----------- | ------------------------------------------------------------------------------------------------------- |
| `android` | My [Nix-On-Droid](https://github.com/nix-community/nix-on-droid) configuration for my OnePlus 9 Pro |
| `bbsteamie` | My wife's SteamDeck that has a pink case |
| `binto` | My desktop PC with a multi-monitor setup and an NVIDIA (cringe) 3070 |
| `cluster` | Two Lenovo mini PCs that make use of [NixOS-pcsd](https://github.com/matt1432/nixos-pcsd) to form a cluster |
| `nos` | My custom built NAS |
| `oksys` | A very old Acer laptop that went from sailing the seas for years to becoming my web server and VPN host. It is now retired indefinitely. |
| `servivi` | A gaming PC in a previous life, it is now used to experiment and do heavier stuff |
| `servivi` | A gaming PC in a previous life, it is now used as a build farm and hosts game servers |
| `wim` | My 2-1 Lenovo Laptop that I use for uni |
## Global Vars

View file

@ -0,0 +1,47 @@
{
config,
jovian,
...
}: let
inherit (config.vars) mainUser hostName;
in {
imports = [
jovian.nixosModules.default
./hardware-configuration.nix
./modules/desktop.nix
];
vars = {
mainUser = "mariah";
hostName = "bbsteamie";
promptMainColor = "pink";
};
users.users.${mainUser} = {
isNormalUser = true;
extraGroups = [
"wheel"
"adm"
];
};
networking = {
inherit hostName;
networkmanager.enable = true;
};
home-manager.users.${mainUser} = {
imports = [];
# No touchy
home.stateVersion = "24.11";
};
# Set your time zone.
time.timeZone = "America/Montreal";
# No touchy
system.stateVersion = "24.11";
}

View file

@ -0,0 +1,40 @@
{modulesPath, ...}: {
nixpkgs.hostPlatform = "x86_64-linux";
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
jovian = {
steamos.useSteamOSConfig = true;
devices.steamdeck = {
enable = true;
enableGyroDsuService = true;
};
hardware.has.amd.gpu = true;
};
boot.loader = {
efi.canTouchEfiVariables = true;
systemd-boot = {
enable = true;
configurationLimit = 30;
};
};
virtualisation.waydroid.enable = true;
# TODO: add auto-generated stuff
# Placeholder
fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/6ae4d722-dacf-485a-8d29-b276f540dc91";
fsType = "btrfs";
};
"/boot" = {
device = "/dev/disk/by-label/NIXBOOT";
fsType = "vfat";
};
};
}

View file

@ -0,0 +1,38 @@
{config, ...}: let
inherit (config.vars) mainUser;
in {
# Auto-login to plasma
services = {
desktopManager.plasma6.enable = true;
displayManager = {
autoLogin = {
enable = true;
user = mainUser;
};
defaultSession = "plasmawayland";
};
};
programs = {
xwayland.enable = true;
kdeconnect.enable = true;
};
# Enable flatpak support
services.flatpak.enable = true;
services.packagekit.enable = true;
jovian.steam = {
enable = true;
user = mainUser;
desktopSession = config.services.displayManager.defaultSession;
};
jovian.decky-loader = {
enable = true;
user = mainUser;
};
}

View file

@ -68,6 +68,8 @@
];
binto = mkNixOS [./devices/binto];
bbsteamie = mkNixOS [./devices/bbsteamie];
# NAS
nos = mkNixOS [
./devices/nos