1
Fork 0

Add KDE and set it as the default on the workstation host

Note: The kde configuration is currently incomplete. It's still missing
some configuration using the plasma-manager flake. I'm going to get
plasma working first and then worry about the small configuration
details.
This commit is contained in:
caem 2024-08-28 18:21:04 +02:00
parent 950d488894
commit 654cde2a3a
Signed by: caem
GPG key ID: 69A830D03203405F
6 changed files with 131 additions and 23 deletions

View file

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
assets/wallpapers/kde.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 KiB

View file

@ -9,28 +9,41 @@
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
plasma-manager = {
url = "github:nix-community/plasma-manager";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
};
outputs = { nixpkgs, impermanence, home-manager, nur, ... } @ inputs:
let
lib = nixpkgs.lib.extend (final: prev:
import ./lib { lib = final; }
);
in
{
nixosConfigurations = lib.mkHosts {
modules = [
home-manager.nixosModules.home-manager {
home-manager.sharedModules = [
nur.hmModules.nur
];
}
impermanence.nixosModules.impermanence
nur.nixosModules.nur
];
nixpkgs = nixpkgs;
inputs = inputs;
};
outputs = {
nixpkgs,
impermanence,
home-manager,
nur,
plasma-manager,
...
} @ inputs: let
lib = nixpkgs.lib.extend (final: prev:
import ./lib { lib = final; }
);
in {
nixosConfigurations = lib.mkHosts {
modules = [
home-manager.nixosModules.home-manager {
home-manager.sharedModules = [
nur.hmModules.nur
plasma-manager.homeManagerModules.plasma-manager
];
}
impermanence.nixosModules.impermanence
nur.nixosModules.nur
];
nixpkgs = nixpkgs;
inputs = inputs;
};
};
}

View file

@ -6,8 +6,8 @@
./persist.nix
../../home/default.nix
../../modules/desktop/environments/kde.nix
../../modules/system/basic.nix
../../modules/desktop/environments/hyprland.nix
../../modules/system/security.nix
../../modules/desktop/apps/communication.nix
../../modules/desktop/apps/games.nix

View file

@ -104,10 +104,10 @@
ipc = "on";
splash = false;
preload = [
"/nix/config/assets/wallpaper.jpg"
"/nix/config/assets/wallpapers/hyprland.jpg"
];
wallpaper = [
",/nix/config/assets/wallpaper.jpg"
",/nix/config/wallpapers/hyprland.jpg"
];
};
};

View file

@ -0,0 +1,95 @@
{ pkgs, ... }:
{
imports = [
../../system/fonts.nix
];
environment.sessionVariables = {
LIBVA_DRIVER_NAME = "nvidia";
XDG_SESSION_TYPE = "wayland";
GBM_BACKEND = "nvidia-drm";
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
NVD_BACKEND = "direct";
MOZ_DISABLE_RDD_SANDBOX = 1;
NIXOS_OZONE_WL = 1;
};
services.desktopManager.plasma6.enable = true;
services.displayManager.sddm = {
enable = true;
wayland.enable = true;
};
environment.plasma6.excludePackages = with pkgs.kdePackages; [
plasma-browser-integration
khelpcenter
krdp
];
environment.systemPackages = with pkgs; [
nvidia-vaapi-driver
];
home-manager.users.hu = {
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
gtk = {
enable = true;
theme = {
name = "breeze";
package = pkgs.kdePackages.breeze-gtk;
};
};
programs.plasma = {
enable = true;
workspace = {
lookAndFeel = "org.kde.breezedark.desktop";
wallpaper = "/nix/config/assets/wallpapers/kde.png";
};
panels = [
{
location = "bottom";
widgets = [
{
kickoff = {
icon = "nix-snowflake-white";
};
}
{
iconTasks = {
launchers = [
"applications:org.kde.dolphin.desktop"
"applications:org.kde.konsole.desktop"
"applications:org.mozilla.firefox.desktop"
];
};
}
"org.kde.plasma.marginsseperator"
{
digialclock = {
calendar.firstDayOfWeek = "monday";
time.format = "24h";
};
}
{
systemTray.items = {
shown = [
"org.kde.plasma.networkmanagement"
"org.kde.plasma.volume"
];
};
}
];
}
];
};
};
}