diff --git a/modules/gaming/sys/jovian.nix b/modules/gaming/sys/jovian.nix index b082059..031c5d3 100644 --- a/modules/gaming/sys/jovian.nix +++ b/modules/gaming/sys/jovian.nix @@ -3,6 +3,6 @@ jovian.steam.enable = true; jovian.steam.autoStart = true; jovian.steam.user = "deck"; - jovian.steam.desktopSession = "gnome"; + jovian.steam.desktopSession = "plasma"; }; } diff --git a/modules/hosts/deck/hardware.nix b/modules/hosts/deck/hardware.nix new file mode 100644 index 0000000..56a52ed --- /dev/null +++ b/modules/hosts/deck/hardware.nix @@ -0,0 +1,8 @@ +{ ... }: { + flake.nixosModules.computer-nadine = { system, ... }: { + boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.kernelParams = [ "quiet" "splash" "boot.shell_on_fail" "loglevel=3" "rd.systemd.show_status=false" "rd.udev.log_level=3" "udev.log_priority=3" ]; + nixpkgs.hostPlatform = system; + hardware.cpu.amd.updateMicrocode = true; + }; +} diff --git a/modules/hosts/deck/imports.nix b/modules/hosts/deck/imports.nix new file mode 100644 index 0000000..d054450 --- /dev/null +++ b/modules/hosts/deck/imports.nix @@ -0,0 +1,26 @@ +{ inputs, config, ... }: { + flake.nixosModules.computer-deck = { ... }: { + imports = with inputs.self.nixosModules; [ + apps-sys-chrome + apps-sys-vesktop + base-sys-group + desktop-sys-group + disks-sys-singledisk + gaming-sys-controller + gaming-sys-jovian + kde-sys-plasma + kde-sys-plasma-apps + kde-sys-sddm-deck + security-sys-secureboot + security-sys-sopsnix + users-sys-deck + ]; + home-manager.users.deck.imports = with config.flake.homeModules; [ + apps-usr-vesktop-all + base-usr-group + gaming-usr-steam-all + kde-usr-plasma-deck + security-usr-sopsnix + ]; + }; +} diff --git a/modules/hosts/deck/nixosConfigurations.nix b/modules/hosts/deck/nixosConfigurations.nix new file mode 100644 index 0000000..4cea1bf --- /dev/null +++ b/modules/hosts/deck/nixosConfigurations.nix @@ -0,0 +1,6 @@ +{ inputs, ... }: { + flake.nixosConfigurations."computer-deck" = inputs.self.lib.mkHost { + system = "x86_64-linux"; + host = "computer-deck"; + }; +} diff --git a/modules/kde/usr/dotfiles/userplaces-steamdeck b/modules/kde/usr/dotfiles/userplaces-deck similarity index 100% rename from modules/kde/usr/dotfiles/userplaces-steamdeck rename to modules/kde/usr/dotfiles/userplaces-deck diff --git a/modules/kde/usr/plasma-deck.nix b/modules/kde/usr/plasma-deck.nix new file mode 100644 index 0000000..0dde16e --- /dev/null +++ b/modules/kde/usr/plasma-deck.nix @@ -0,0 +1,97 @@ +{ inputs, ... }: +{ + flake.homeModules.kde-usr-plasma-deck = { config, ... }: + { + imports = [ inputs.plasma-manager.homeModules.plasma-manager ]; + home.file."Code/.directory".source = ./dotfiles/code-folder; + home.file.".config/haruna/haruna.conf".source = ./dotfiles/haruna-config; + home.file.".local/share/user-places.xbel".source = ./dotfiles/userplaces-deck; + home.file.".config/kde-material-you-colors/config.conf".source = ./dotfiles/kmyc-config; + home.file.".config/autostart/kde-material-you-colors.desktop".source = ./dotfiles/kmyc-desktop; + home.file.wallpaper = { + recursive = true; + source = ./wallpaper-deck; + target = "Bilder/Hintergründe"; + }; + + programs.plasma = { + enable = true; + immutableByDefault = false; + + workspace = { + wallpaperSlideShow.path = "${config.home.homeDirectory}/Bilder/Hintergründe"; + wallpaperSlideShow.interval = 864000; + windowDecorations.library = "org.kde.klassy"; + windowDecorations.theme = "Klassy"; + cursor = { + size = 24; + theme = "Breeze_Light"; + }; + colorScheme = "MaterialYouDark"; + }; + + kscreenlocker = { + appearance.wallpaper = "${config.home.homeDirectory}/Bilder/Hintergründe/wallpaper-beach.png"; + lockOnResume = false; + lockOnStartup = false; + passwordRequired = false; + }; + + powerdevil.AC = { + dimDisplay.enable = false; + turnOffDisplay.idleTimeoutWhenLocked = 600; + }; + + session.general.askForConfirmationOnLogout = false; + + fonts = { + menu = { family = "Adwaita Sans"; pointSize = 10; weight = "normal"; }; + general = { family = "Adwaita Sans"; pointSize = 10; weight = "normal"; }; + small = { family = "Adwaita Sans"; pointSize = 8; weight = "normal"; }; + toolbar = { family = "Adwaita Sans"; pointSize = 10; weight = "normal"; }; + fixedWidth = { family = "Adwaita Mono"; pointSize = 11; weight = "normal"; }; + windowTitle = { family = "Adwaita Sans"; pointSize = 12; weight = "normal"; }; + }; + + panels = [ + { + location = "bottom"; + floating = true; + alignment = "center"; + height = 46; + lengthMode = "fit"; + hiding = "dodgewindows"; + widgets = [ + { + name = "org.kde.plasma.kickoff"; + config.General.icon = "nix-snowflake"; + } + "org.kde.plasma.marginsseparator" + { + iconTasks.launchers = [ + "applications:org.kde.dolphin.desktop" + "applications:org.kde.konsole.desktop" + "applications:google-chrome.desktop" + "applications:steam.desktop" + "applications:vesktop.desktop" + ]; + } + "org.kde.plasma.marginsseparator" + { + systemTray.items.shown = [ + "org.kde.plasma.bluetooth" + "org.kde.plasma.networkmanagement" + ]; + } + { + digitalClock = { + calendar.firstDayOfWeek = "monday"; + time.format = "24h"; + }; + } + ]; + } + ]; + }; + }; +} diff --git a/modules/kde/usr/wallpaper-deck/wallpaper-beach.jpg b/modules/kde/usr/wallpaper-deck/wallpaper-beach.jpg new file mode 100644 index 0000000..0b0f9be Binary files /dev/null and b/modules/kde/usr/wallpaper-deck/wallpaper-beach.jpg differ