hosts: steamdeck: add initial config
This commit is contained in:
parent
0df6e3313a
commit
3c4d801b71
@ -51,11 +51,11 @@
|
|||||||
pki.certificateFiles = [
|
pki.certificateFiles = [
|
||||||
./rootCA.pem
|
./rootCA.pem
|
||||||
];
|
];
|
||||||
tpm2 = {
|
#tpm2 = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
pkcs11.enable = true;
|
# pkcs11.enable = true;
|
||||||
tctiEnvironment.enable = true;
|
# tctiEnvironment.enable = true;
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
|
|
||||||
sound = { # ALSA sound enable
|
sound = { # ALSA sound enable
|
||||||
|
@ -22,8 +22,7 @@
|
|||||||
{
|
{
|
||||||
imports = # For now, if applying to other system, swap files
|
imports = # For now, if applying to other system, swap files
|
||||||
[(import ./hardware-configuration.nix)] ++ # Current system hardware config @ /etc/nixos/hardware-configuration.nix
|
[(import ./hardware-configuration.nix)] ++ # Current system hardware config @ /etc/nixos/hardware-configuration.nix
|
||||||
#[(import ../../modules/desktop/hyprland/default.nix)] ++ # Window Manager
|
[(import ../../modules/desktop/gnome/default.nix)] ++ # Window Manager
|
||||||
[(import ../../modules/desktop/sway/default.nix)] ++ # Window Manager
|
|
||||||
[(import ../../modules/desktop/virtualisation/default.nix)] ++ # Docker
|
[(import ../../modules/desktop/virtualisation/default.nix)] ++ # Docker
|
||||||
(import ../../modules/hardware); # Hardware devices
|
(import ../../modules/hardware); # Hardware devices
|
||||||
|
|
||||||
@ -63,7 +62,6 @@
|
|||||||
enableSSHSupport = true;
|
enableSSHSupport = true;
|
||||||
pinentryFlavor = "curses";
|
pinentryFlavor = "curses";
|
||||||
};
|
};
|
||||||
steam.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
|
@ -22,70 +22,76 @@
|
|||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
boot.kernelParams = [ ];
|
boot.kernelParams = [ ];
|
||||||
boot.tmp.useTmpfs = true;
|
boot.tmp.useTmpfs = true;
|
||||||
zramSwap.enable = true;
|
# zramSwap.enable = true;
|
||||||
|
|
||||||
services.btrfs.autoScrub = {
|
# services.btrfs.autoScrub = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
interval = "monthly";
|
# interval = "monthly";
|
||||||
fileSystems = [
|
# fileSystems = [
|
||||||
"/"
|
# "/"
|
||||||
];
|
# ];
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
|
# services.btrbk = {
|
||||||
|
# instances = {
|
||||||
|
# hf = {
|
||||||
|
# onCalendar = "hourly";
|
||||||
|
# settings = {
|
||||||
|
# incremental = "yes";
|
||||||
|
# snapshot_create = "ondemand";
|
||||||
|
# snapshot_dir = "@snapshots";
|
||||||
|
# timestamp_format = "long";
|
||||||
|
#
|
||||||
|
# snapshot_preserve = "2m 2w 5d 5h";
|
||||||
|
# snapshot_preserve_min = "latest";
|
||||||
|
#
|
||||||
|
# volume = {
|
||||||
|
# "/mnt/snapshots/root" = {
|
||||||
|
# snapshot_create = "always";
|
||||||
|
# subvolume = {
|
||||||
|
# "@home" = {};
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
services.btrbk = {
|
# fileSystems."/" =
|
||||||
instances = {
|
# { device = "/dev/disk/by-label/NIXROOT";
|
||||||
hf = {
|
# fsType = "btrfs";
|
||||||
onCalendar = "hourly";
|
# options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@,discard=async" ];
|
||||||
settings = {
|
# };
|
||||||
incremental = "yes";
|
#
|
||||||
snapshot_create = "ondemand";
|
# fileSystems."/home" =
|
||||||
snapshot_dir = "@snapshots";
|
# { device = "/dev/disk/by-label/NIXROOT";
|
||||||
timestamp_format = "long";
|
# fsType = "btrfs";
|
||||||
|
# options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@home,discard=async" ];
|
||||||
snapshot_preserve = "2m 2w 5d 5h";
|
# };
|
||||||
snapshot_preserve_min = "latest";
|
#
|
||||||
|
# fileSystems."/srv" =
|
||||||
volume = {
|
# { device = "/dev/disk/by-label/NIXROOT";
|
||||||
"/mnt/snapshots/root" = {
|
# fsType = "btrfs";
|
||||||
snapshot_create = "always";
|
# options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@srv,discard=async" ];
|
||||||
subvolume = {
|
# };
|
||||||
"@home" = {};
|
#
|
||||||
};
|
# fileSystems."/nix" =
|
||||||
};
|
# { device = "/dev/disk/by-label/NIXROOT";
|
||||||
};
|
# fsType = "btrfs";
|
||||||
};
|
# options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@nix,discard=async" ];
|
||||||
};
|
# };
|
||||||
};
|
#
|
||||||
};
|
# fileSystems."/mnt/snapshots/root" =
|
||||||
|
# { device = "/dev/disk/by-label/NIXROOT";
|
||||||
|
# fsType = "btrfs";
|
||||||
|
# options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvolid=5,discard=async" ];
|
||||||
|
# };
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-label/NIXROOT";
|
{ device = "/dev/disk/by-label/NIXROOT";
|
||||||
fsType = "btrfs";
|
fsType = "ext4";
|
||||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@,discard=async" ];
|
options = [ "defaults,noatime" ];
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/home" =
|
|
||||||
{ device = "/dev/disk/by-label/NIXROOT";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@home,discard=async" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/srv" =
|
|
||||||
{ device = "/dev/disk/by-label/NIXROOT";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@srv,discard=async" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/nix" =
|
|
||||||
{ device = "/dev/disk/by-label/NIXROOT";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@nix,discard=async" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/mnt/snapshots/root" =
|
|
||||||
{ device = "/dev/disk/by-label/NIXROOT";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvolid=5,discard=async" ];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" =
|
||||||
@ -96,22 +102,21 @@
|
|||||||
fileSystems."/sdcard" =
|
fileSystems."/sdcard" =
|
||||||
{ device = "/dev/disk/by-label/sdcard";
|
{ device = "/dev/disk/by-label/sdcard";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
options = [ "nofail" "x-systemd.automount" ];
|
options = [ "nofail,x-systemd.automount" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/mnt/Pluto" =
|
fileSystems."/mnt/Pluto" =
|
||||||
{ device = "nas:/Pluto";
|
{ device = "nas:/Pluto";
|
||||||
fsType = "nfs";
|
fsType = "nfs";
|
||||||
options = [ "noauto,users,x-systemd.automount,x-systemd.device-timeout=10,soft,timeo=14,x-systemd.idle-timeout=1min,sec=sys,exec,nfsvers=4.2" ];
|
options = [ "nofail,noauto,users,x-systemd.automount,x-systemd.device-timeout=10,soft,timeo=14,x-systemd.idle-timeout=1min,sec=sys,exec,nfsvers=4.2" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/mnt/Mars" =
|
fileSystems."/mnt/Mars" =
|
||||||
{ device = "nas:/Mars";
|
{ device = "nas:/Mars";
|
||||||
fsType = "nfs";
|
fsType = "nfs";
|
||||||
options = [ "noauto,users,x-systemd.automount,x-systemd.device-timeout=10,soft,timeo=14,x-systemd.idle-timeout=1min,sec=sys,exec,nfsvers=4.2" ];
|
options = [ "nofail,noauto,users,x-systemd.automount,x-systemd.device-timeout=10,soft,timeo=14,x-systemd.idle-timeout=1min,sec=sys,exec,nfsvers=4.2" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
{ device = "/dev/disk/by-label/NIXSWAP"; }
|
{ device = "/dev/disk/by-label/NIXSWAP"; }
|
||||||
];
|
];
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
#../../modules/desktop/hyprland/home.nix # Window Manager
|
#../../modules/desktop/hyprland/home.nix # Window Manager
|
||||||
../../modules/desktop/sway/home.nix # Window Manager
|
../../modules/desktop/gnome/home.nix # Window Manager
|
||||||
../../modules/home.nix # Window Manager
|
../../modules/home.nix # Window Manager
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -31,7 +31,6 @@
|
|||||||
streamlink
|
streamlink
|
||||||
streamlink-twitch-gui-bin
|
streamlink-twitch-gui-bin
|
||||||
element-desktop
|
element-desktop
|
||||||
intel-gpu-tools
|
|
||||||
pulsemixer
|
pulsemixer
|
||||||
|
|
||||||
# Display
|
# Display
|
||||||
|
54
modules/desktop/gnome/default.nix
Normal file
54
modules/desktop/gnome/default.nix
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
#
|
||||||
|
# Gnome configuration
|
||||||
|
#
|
||||||
|
# flake.nix
|
||||||
|
# ├─ ./hosts
|
||||||
|
# │ └─ ./laptop
|
||||||
|
# │ └─ default.nix
|
||||||
|
# └─ ./modules
|
||||||
|
# └─ ./desktop
|
||||||
|
# └─ ./gnome
|
||||||
|
# └─ default.nix *
|
||||||
|
#
|
||||||
|
{ config, lib, user, pkgs, jovian-nixos, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
(jovian-nixos + "/modules")
|
||||||
|
];
|
||||||
|
|
||||||
|
jovian = {
|
||||||
|
steam.enable = true;
|
||||||
|
devices.steamdeck = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware.opengl = {
|
||||||
|
enable = true;
|
||||||
|
driSupport = true;
|
||||||
|
driSupport32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
gnome.gnome-terminal
|
||||||
|
gnomeExtensions.dash-to-dock
|
||||||
|
steamdeck-firmware
|
||||||
|
rocm-opencl-icd
|
||||||
|
rocm-opencl-runtime
|
||||||
|
clinfo
|
||||||
|
];
|
||||||
|
|
||||||
|
services = {
|
||||||
|
xserver = {
|
||||||
|
desktopManager.gnome.enable = true;
|
||||||
|
displayManager = {
|
||||||
|
gdm.wayland = true;
|
||||||
|
defaultSession = "steam-wayland";
|
||||||
|
autoLogin.enable = true;
|
||||||
|
autoLogin.user = "kabbone";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
46
modules/desktop/gnome/home.nix
Normal file
46
modules/desktop/gnome/home.nix
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
#
|
||||||
|
# Gnome NixOS & Home manager configuration
|
||||||
|
#
|
||||||
|
# flake.nix
|
||||||
|
# ├─ ./hosts
|
||||||
|
# │ └─ ./steamdeck
|
||||||
|
# │ └─ home.nix
|
||||||
|
# └─ ./modules
|
||||||
|
# └─ ./desktop
|
||||||
|
# └─ ./gnome
|
||||||
|
# └─ home.nix *
|
||||||
|
#
|
||||||
|
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
{
|
||||||
|
dconf.settings = {
|
||||||
|
# Enable on-screen keyboard
|
||||||
|
"org/gnome/desktop/a11y/applications" = {
|
||||||
|
screen-keyboard-enabled = true;
|
||||||
|
};
|
||||||
|
# "org/gnome/shell" = {
|
||||||
|
# enabled-extensions = [
|
||||||
|
# "dash-to-dock@micxgx.gmail.com"
|
||||||
|
# ];
|
||||||
|
favorite-apps = ["steam.desktop"];
|
||||||
|
};
|
||||||
|
# Dash to Dock settings for a better touch screen experience
|
||||||
|
"org/gnome/shell/extensions/dash-to-dock" = {
|
||||||
|
background-opacity = 0.80000000000000004;
|
||||||
|
custom-theme-shrink = true;
|
||||||
|
dash-max-icon-size = 48;
|
||||||
|
dock-fixed = true;
|
||||||
|
dock-position = "LEFT";
|
||||||
|
extend-height = true;
|
||||||
|
height-fraction = 0.60999999999999999;
|
||||||
|
hot-keys = false;
|
||||||
|
preferred-monitor = -2;
|
||||||
|
preferred-monitor-by-connector = "eDP-1";
|
||||||
|
scroll-to-focused-application = true;
|
||||||
|
show-apps-at-top = true;
|
||||||
|
show-mounts = true;
|
||||||
|
show-show-apps-button = true;
|
||||||
|
show-trash = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user