cleanups and move steamdeck to desktop module

This commit is contained in:
2026-04-25 17:09:23 +02:00
parent c8806e3676
commit f7035e0daf
20 changed files with 49 additions and 930 deletions

View File

@@ -106,7 +106,6 @@
security = {
sudo.execWheelOnly = true;
rtkit.enable = true;
pki.certificateFiles = [
./rootCA.pem
];

View File

@@ -1,60 +0,0 @@
#
# Desktop/laptop configuration. Imports configuration_common.nix for shared settings.
# Host-specific window manager and hardware configs are imported per-host.
#
{ config, lib, pkgs, inputs, user, location, agenix, ... }:
{
imports = [
./configuration_common.nix
];
users.users.${user} = {
isNormalUser = true;
uid = 2000;
extraGroups = [ "wheel" "video" "audio" "camera" "networkmanager" "lp" "kvm" "libvirtd" "adb" "dialout" "tss" ];
};
security.pam.services.login.enableGnomeKeyring = true;
environment.systemPackages = with pkgs; [
file
powertop
cpufrequtils
lm_sensors
libva-utils
at-spi2-core
qmk-udev-rules
gptfdisk
age-plugin-yubikey
pwgen
sbctl
ausweisapp
e2fsprogs
orca-slicer
]);
nixpkgs.config.permittedInsecurePackages = [
"mbedtls-2.28.10"
];
services = {
pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
wireplumber.enable = true;
};
pcscd.enable = true;
yubikey-agent.enable = true;
udev.packages = [ pkgs.yubikey-personalization pkgs.nitrokey-udev-rules ];
flatpak.enable = true;
gvfs.enable = true;
fwupd.enable = true;
};
programs.dconf.enable = true;
system.autoUpgrade.enable = false;
}

View File

@@ -86,13 +86,13 @@ in
steamdeck = nixpkgs-unstable.lib.nixosSystem { # steamdeck profile
inherit system;
specialArgs = { inherit inputs pkgs user location nixos-hardware agenix jovian-nixos lanzaboote; };
specialArgs = { inherit inputs user location nixos-hardware agenix jovian-nixos lanzaboote; };
modules = [
agenix.nixosModules.default
jovian-nixos.nixosModules.default
lanzaboote.nixosModules.lanzaboote
./steamdeck
./configuration_desktop.nix
./configuration_common.nix
] ++ (mkHM home-manager-unstable [ ./home.nix ./steamdeck/home.nix ]);
};

View File

@@ -1,80 +1,50 @@
#
# Specific system configuration settings for desktop
#
# flake.nix
# ├─ ./hosts
# │ └─ ./laptop
# │ ├─ default.nix *
# │ └─ hardware-configuration.nix
# └─ ./modules
# ├─ ./desktop
# │ └─ ./hyprland
# │ └─ hyprland.nix
# ├─ ./modules
# │ └─ ./programs
# │ └─ waybar.nix
# └─ ./hardware
# └─ default.nix
# Steamdeck — system configuration
#
{ config, pkgs, user, jovian-nixos, lib, ... }:
{ lib, pkgs, user, jovian-nixos, ... }:
{
imports = [
./hardware-configuration.nix
../../modules/desktop
../../modules/wm/steam
];
# ── Desktop module options ──────────────────────────────────────────────
myDesktop.windowManager = "kde";
myDesktop.cpu = "amd";
myDesktop.virtualisation.enable = true;
myDesktop.nitrokey.enable = true;
specialisation = {
sway.configuration = {
imports =
[(import ../../modules/wm/sway)];
jovian.steam.enable = lib.mkForce false;
services.desktopManager.plasma6.enable = lib.mkForce false;
};
sway.configuration = {
imports = [ (import ../../modules/wm/sway) ];
jovian.steam.enable = lib.mkForce false;
services.desktopManager.plasma6.enable = lib.mkForce false;
};
};
imports = # For now, if applying to other system, swap files
[(import ./hardware-configuration.nix)] ++ # Current system hardware config @ /etc/nixos/hardware-configuration.nix
(import ../../modules/wm/virtualisation) ++ # libvirt + Docker
[(import ../../modules/wm/virtualisation/kvm-amd.nix)] ++ # kvm module options
[(import ../../modules/wm/steam)] ++
[(import ../../modules/wm/kde)] ++
(import ../../modules/hardware); # Hardware devices
boot = { # Boot options
loader = { # EFI Boot
systemd-boot.enable = lib.mkForce false;
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot";
};
timeout = 1; # Grub auto select time
# ── Host-specific settings ──────────────────────────────────────────────
boot = {
loader = {
systemd-boot.enable = lib.mkForce false;
efi.canTouchEfiVariables = true;
efi.efiSysMountPoint = "/boot";
timeout = 1;
};
lanzaboote = {
enable = true;
pkiBundle = "/etc/secureboot";
enable = true;
pkiBundle = "/etc/secureboot";
};
};
hardware = {
nitrokey.enable = true;
services.printing = {
enable = true;
drivers = [ pkgs.gutenprint ];
};
services = {
# blueman.enable = true;
printing = { # Printing and drivers for TS5300
enable = true;
drivers = [ pkgs.gutenprint ];
};
avahi = { # Needed to find wireless printer
enable = true;
nssmdns4 = true;
publish = { # Needed for detecting the scanner
enable = true;
addresses = true;
userServices = true;
};
};
tailscale.enable = true;
services.tailscale.enable = true;
};
security.pam.sshAgentAuth.enable = true;
}

View File

@@ -1,52 +1,30 @@
#
# Home-manager configuration for laptop
#
# flake.nix
# ├─ ./hosts
# │ └─ ./laptop
# │ └─ home.nix *
# └─ ./modules
# └─ ./desktop
# └─ ./hyprland
# └─ hyprland.nix
# Home-manager configuration for steamdeck
#
{ pkgs, ... }:
{
specialisation = {
sway.configuration = {
imports =
[(import ../../modules/wm/sway/home.nix)];
};
sway.configuration = {
imports = [ (import ../../modules/wm/sway/home.nix) ];
};
};
imports =
[(import ../../modules/home.nix)] ++ # Window Manager
[(import ../../modules/wm/steam/home.nix)] ++
[(import ../../modules/wm/kde/home.nix)];
[ (import ../../modules/home.nix) ] ++
[ (import ../../modules/wm/steam/home.nix) ];
home = { # Specific packages for laptop
home = {
packages = with pkgs; [
# Applications
libreoffice # Office packages
#firefox
libreoffice
chromium
thunderbird
streamlink
streamlink-twitch-gui-bin
pulsemixer
#yuzu-early-access
# Power Management
#auto-cpufreq # Power management
#tlp # Power management
];
};
services = { # Applets
};
xsession.preferStatusNotifierItems = true;
}