132 lines
3.4 KiB
Nix
132 lines
3.4 KiB
Nix
{
|
||
pkgs,
|
||
lib,
|
||
inputs,
|
||
...
|
||
}: {
|
||
imports = [
|
||
inputs.self.nixosModules.homeManagerConfig
|
||
inputs.jovian-nixos.nixosModules.default
|
||
../../hardware/steam-deck.nix
|
||
../../modules/steam.nix
|
||
./topology.nix
|
||
];
|
||
config = {
|
||
boot.loader.systemd-boot = {
|
||
enable = true;
|
||
editor = false;
|
||
configurationLimit = 5;
|
||
};
|
||
boot.loader.efi.canTouchEfiVariables = false;
|
||
boot.binfmt.registrations.appimage = {
|
||
wrapInterpreterInShell = false;
|
||
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
|
||
recognitionType = "magic";
|
||
offset = 0;
|
||
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
|
||
magicOrExtension = ''\x7fELF....AI\x02'';
|
||
};
|
||
boot.consoleLogLevel = 0;
|
||
boot.initrd.verbose = false;
|
||
boot.plymouth = {
|
||
enable = true;
|
||
theme = "breeze";
|
||
};
|
||
console = {
|
||
font = "ter-132n";
|
||
packages = [pkgs.terminus_font];
|
||
useXkbConfig = true;
|
||
earlySetup = false;
|
||
};
|
||
|
||
networking.hostName = "polymita-picta";
|
||
networking.networkmanager.enable = true;
|
||
|
||
# === Settings ===
|
||
settings.ssh.openOutsideVPN = true;
|
||
|
||
hardware.pulseaudio.enable = lib.mkForce false;
|
||
|
||
services.xserver.enable = true;
|
||
services.xserver.desktopManager.plasma5.enable = true;
|
||
|
||
services.displayManager = {
|
||
autoLogin = {
|
||
enable = true;
|
||
user = "deck";
|
||
};
|
||
};
|
||
|
||
# Use some fonts
|
||
fonts = {
|
||
enableDefaultPackages = true;
|
||
packages = with pkgs; [hack-nerdfont noto-fonts noto-fonts-cjk joypixels];
|
||
fontDir.enable = true;
|
||
fontconfig = {
|
||
enable = true;
|
||
defaultFonts.monospace = ["Hack Nerd Font Mono"];
|
||
};
|
||
};
|
||
|
||
services.openssh = {
|
||
enable = true;
|
||
settings.PasswordAuthentication = false;
|
||
settings.KbdInteractiveAuthentication = false;
|
||
};
|
||
|
||
programs.dconf.enable = true;
|
||
|
||
users = {
|
||
mutableUsers = false;
|
||
defaultUserShell = pkgs.fish;
|
||
custom.deck.enable = true;
|
||
};
|
||
|
||
environment.systemPackages = with pkgs; [
|
||
inputs.self.packages.x86_64-linux.emudeck
|
||
steam-rom-manager
|
||
boilr
|
||
electron
|
||
];
|
||
|
||
security.sudo.extraRules = [
|
||
{
|
||
users = ["deck"];
|
||
commands = [
|
||
{
|
||
command = "ALL";
|
||
options = ["NOPASSWD"];
|
||
}
|
||
];
|
||
}
|
||
];
|
||
|
||
programs.steam = {
|
||
enable = true;
|
||
extraPkgs = [pkgs.flatpak];
|
||
remotePlay.openFirewall = true;
|
||
};
|
||
|
||
jovian.devices.steamdeck.enable = true;
|
||
jovian.devices.steamdeck.autoUpdate = true;
|
||
jovian.devices.steamdeck.enableGyroDsuService = true;
|
||
jovian.steam.enable = true;
|
||
jovian.steam.autoStart = true;
|
||
jovian.steam.desktopSession = "plasmawayland";
|
||
jovian.steam.user = "deck";
|
||
jovian.decky-loader = {
|
||
enable = true;
|
||
user = "deck";
|
||
};
|
||
jovian.hardware.has.amd.gpu = true;
|
||
|
||
# This value determines the NixOS release from which the default
|
||
# settings for stateful data, like file locations and database versions
|
||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||
# this value at the release version of the first install of this system.
|
||
# Before changing this value read the documentation for this option
|
||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||
system.stateVersion = "22.11"; # Did you read the comment?
|
||
};
|
||
}
|