feat: created plasma config

This commit is contained in:
Nick 2025-10-05 19:53:42 -05:00
parent 0f51aa99b1
commit d9e7e445e3
7 changed files with 378 additions and 19 deletions

24
flake.lock generated
View file

@ -1404,6 +1404,29 @@
"type": "github" "type": "github"
} }
}, },
"plasma-manager": {
"inputs": {
"home-manager": [
"home-manager"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1759321049,
"narHash": "sha256-8XkU4gIrLT2DJZWQyvsP5woXGZF5eE/7AnKfwQkiwYU=",
"owner": "nix-community",
"repo": "plasma-manager",
"rev": "205dcfd4a30d4a5d1b4f28defee69daa7c7252cd",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "plasma-manager",
"type": "github"
}
},
"pre-commit-hooks": { "pre-commit-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
@ -1466,6 +1489,7 @@
"nixpkgs": "nixpkgs_7", "nixpkgs": "nixpkgs_7",
"nixpkgs-stable": "nixpkgs-stable_3", "nixpkgs-stable": "nixpkgs-stable_3",
"nur": "nur", "nur": "nur",
"plasma-manager": "plasma-manager",
"pre-commit-hooks-nix": "pre-commit-hooks-nix", "pre-commit-hooks-nix": "pre-commit-hooks-nix",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"systems": "systems_5", "systems": "systems_5",

View file

@ -42,6 +42,11 @@
url = "github:helix-editor/helix"; url = "github:helix-editor/helix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
plasma-manager = {
url = "github:nix-community/plasma-manager";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
niri = { niri = {
url = "github:sodiboo/niri-flake"; url = "github:sodiboo/niri-flake";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";

View file

@ -21,6 +21,7 @@ in
imports = builtins.attrValues { imports = builtins.attrValues {
inherit (modules) inherit (modules)
cli cli
plasma
brave brave
floorp floorp
tor tor
@ -78,6 +79,7 @@ in
imports = builtins.attrValues { imports = builtins.attrValues {
inherit (modules) inherit (modules)
cli cli
plasma
brave brave
floorp floorp
tor tor
@ -108,8 +110,8 @@ in
systemMonitor systemMonitor
usbImager usbImager
virtManager virtManager
hypr # hypr
wayland # wayland
theming theming
dolphin dolphin
zotero zotero

View file

@ -0,0 +1,324 @@
{
flake,
osConfig,
lib,
pkgs,
...
}:
let
inherit (flake.config.aesthetics.themes) fonts;
inherit (flake.config.machines) devices;
mars = devices.mars.name;
deimos = devices.deimos.name;
host = osConfig.networking.hostName;
deviceLogic =
d: m:
if host == deimos then
d
else if host == mars then
m
else
null;
in
{
imports = [ flake.inputs.plasma-manager.homeModules.plasma-manager ];
programs = {
plasma = {
enable = true;
workspace = {
clickItemTo = "select";
lookAndFeel = "org.kde.breezedark.desktop";
colorScheme = "Scratchy";
};
session = {
general.askForConfirmationOnLogout = false;
sessionRestore = {
excludeApplications = [
(lib.getExe pkgs.bitwarden)
];
};
};
shortcuts = {
kwin = {
"Window to Desktop 1" = [ "Ctrl+!" ];
"Window to Desktop 2" = [ "Ctrl+@" ];
"Window to Desktop 3" = [ "Ctrl+#" ];
"Window to Desktop 4" = [ "Ctrl+$" ];
"Window to Desktop 5" = [ "Ctrl+%" ];
"Switch to Desktop 1" = [
"Meta+1"
"Ctrl+F1"
];
"Switch to Desktop 2" = [
"Meta+2"
"Ctrl+F2"
];
"Switch to Desktop 3" = [
"Meta+3"
"Ctrl+F3"
];
"Switch to Desktop 4" = [
"Meta+4"
"Ctrl+F4"
];
"Window Close" = [
"Meta+Tab"
"Alt+F4"
];
"Window Fullscreen" = [ "Ctrl+Shift+Tab" ];
};
};
hotkeys = {
commands = {
"launch-obsidian" = {
name = "Launch Obsidian";
key = "Meta+Z";
command = lib.getExe pkgs.obsidian;
};
"launch-feishin" = {
name = "Launch Feishin";
key = "Meta+H";
command = lib.getExe pkgs.feishin;
};
"launch-scrcpy" = {
name = "Launch Scrcpy";
key = "Meta+G";
command = lib.getExe pkgs.scrcpy;
};
"launch-dolphin" = {
name = "Launch Dolphin";
key = "Meta+E";
command = "dolphin";
};
"launch-steam" = {
name = "Launch Steam";
key = "Meta+S";
command = lib.getExe pkgs.steam;
};
"launch-signal" = {
name = "Launch Signal";
key = "Meta+N";
command = lib.getExe pkgs.signal-desktop-bin;
};
"launch-zeditor" = {
name = "Launch Zed Editor";
key = "Meta+T";
command = lib.getExe pkgs.zed-editor;
};
"launch-floorp" = {
name = "Launch Floorp";
key = "Meta+B";
command = lib.getExe pkgs.floorp-bin;
};
"launch-freetube" = {
name = "Launch FreeTube";
key = "Meta+X";
command = lib.getExe pkgs.freetube;
};
"launch-vesktop" = {
name = "Launch Vesktop";
key = "Meta+V";
command = lib.getExe pkgs.vesktop;
};
"launch-element" = {
name = "Launch Element";
key = "Meta+M";
command = lib.getExe pkgs.element-desktop;
};
"launch-ghostty" = {
name = "Launch Ghostty";
key = "Meta+D";
command = lib.getExe pkgs.ghostty;
};
"launch-bitwarden" = {
name = "Launch Bitwarden";
key = "Meta+P";
command = lib.getExe pkgs.bitwarden;
};
"launch-dotfiles" = {
name = "Launch Dotfiles in Zellij";
key = "Meta+F";
command = "ghostty -e zellij a dotfiles";
};
"launch-yazi" = {
name = "Launch Dotfiles in Zellij";
key = "Meta+R";
command = "${lib.getExe pkgs.ghostty} -e ${lib.getExe pkgs.yazi}";
};
"launch-fuzzel" = {
name = "Launch Fuzzel";
key = "Meta+Space";
command = "fuzzel";
};
# Screenshots & Utilities
"screenshot-gui" = {
name = "Screenshot GUI";
key = "Meta+Shift+S";
command = "flameshot gui";
};
# "launch-emote" = {
# name = "Launch Emoji Picker";
# key = "Meta+Shift+.";
# command = lib.getExe pkgs.emote;
# };
# Media Controls
"media-next" = {
name = "Next Track";
key = "Meta+Page_Up";
command = "playerctl next";
};
"media-previous" = {
name = "Previous Track";
key = "Meta+Page_Down";
command = "playerctl previous";
};
"media-play-pause" = {
name = "Play/Pause";
key = "Meta+Home";
command = "playerctl play-pause";
};
# System Controls
"system-shutdown" = {
name = "Shutdown";
key = "Meta+Shift+End";
command = "shutdown now";
};
"system-reboot" = {
name = "Reboot";
key = "Meta+Shift+Insert";
command = "systemctl reboot";
};
"lock-screen" = {
name = "Lock Screen";
key = "Meta+Shift+Home";
command = "swaylock";
};
};
};
kwin = {
virtualDesktops = {
rows = 1;
number = 5;
names = [
"Desktop 1"
"Desktop 2"
"Desktop 3"
"Desktop 4"
"Desktop 5"
];
};
titlebarButtons.right = [
"minimize"
"maximize"
"close"
];
nightLight = {
enable = true;
mode = "times";
temperature = {
day = 4500;
night = 2500;
};
time = {
evening = "22:00";
morning = "07:00";
};
transitionTime = 30;
};
effects = {
desktopSwitching = {
animation = "slide";
navigationWrapping = true;
};
minimization = {
animation = "squash";
};
shakeCursor.enable = false;
translucency.enable = true;
windowOpenClose = {
animation = "scale";
};
};
};
powerdevil = {
AC = {
autoSuspend = {
action = deviceLogic "sleep" null;
idleTimeout = deviceLogic 1200 null;
};
dimDisplay = {
enable = deviceLogic true false;
idleTimeout = deviceLogic 900 null;
};
displayBrightness = 100;
inhibitLidActionWhenExternalMonitorConnected = deviceLogic true null;
powerButtonAction = deviceLogic "lockScreen" "shutdown";
powerProfile = "performance";
turnOffDisplay = {
idleTimeout = deviceLogic 1800 null;
idleTimeoutWhenLocked = deviceLogic 600 null;
};
whenLaptopLidClosed = deviceLogic "sleep" null;
whenSleepingEnter = deviceLogic "hybridSleep" null;
};
battery = {
autoSuspend = {
action = "hibernate";
idleTimeout = 1200;
};
dimDisplay = {
enable = true;
idleTimeout = 1200;
};
displayBrightness = 100;
inhibitLidActionWhenExternalMonitorConnected = true;
powerButtonAction = "hibernate";
powerProfile = "powerSaving";
turnOffDisplay = {
idleTimeout = 1800;
idleTimeoutWhenLocked = 600;
};
whenLaptopLidClosed = "sleep";
whenSleepingEnter = "standbyThenHibernate";
};
lowBattery = {
autoSuspend = {
action = "hibernate";
idleTimeout = 900;
};
dimDisplay = {
enable = true;
idleTimeout = 450;
};
displayBrightness = 100;
inhibitLidActionWhenExternalMonitorConnected = true;
powerButtonAction = "hibernate";
powerProfile = "powerSaving";
turnOffDisplay = {
idleTimeout = 1200;
idleTimeoutWhenLocked = 600;
};
whenLaptopLidClosed = "hibernate";
whenSleepingEnter = "standbyThenHibernate";
};
batteryLevels = {
criticalLevel = 5;
lowLevel = 20;
};
general.pausePlayersOnSuspend = true;
};
windows.allowWindowsToRememberPositions = true;
};
elisa.enable = false;
ghostwriter.enable = false;
kate.enable = false;
konsole.enable = false;
okular.enable = false;
};
}

View file

@ -8,6 +8,7 @@ in
imports = builtins.attrValues { imports = builtins.attrValues {
inherit (modules) inherit (modules)
syncthing syncthing
# plasma
ollama ollama
# niri # niri
hypr hypr
@ -24,8 +25,10 @@ in
deimos = { deimos = {
imports = builtins.attrValues { imports = builtins.attrValues {
inherit (modules) inherit (modules)
hypr # hypr
wayland # wayland
plasma
sddm
network network
flatpak flatpak
plymouth plymouth

View file

@ -10,25 +10,25 @@ in
{ {
services = { services = {
displayManager = { displayManager = {
defaultSession = "hyprland"; # defaultSession = "hyprland";
sddm = { sddm = {
enable = true; enable = true;
package = (flake.inputs.nixpkgs-stable.legacyPackages.${pkgs.system}.kdePackages.sddm); # package = (flake.inputs.nixpkgs-stable.legacyPackages.${pkgs.system}.kdePackages.sddm);
enableHidpi = true; enableHidpi = true;
wayland = true; # wayland = true;
theme = "catppuccin-macchiato"; # theme = "catppuccin-macchiato";
}; };
}; };
}; };
environment = { # environment = {
systemPackages = [ # systemPackages = [
(pkgs.catppuccin-sddm.override { # (pkgs.catppuccin-sddm.override {
flavor = "macchiato"; # flavor = "macchiato";
font = "${fonts.name}"; # font = "${fonts.name}";
fontSize = "${toString fonts.sizes.popups}"; # fontSize = "${toString fonts.sizes.popups}";
loginBackground = true; # loginBackground = true;
}) # })
pkgs.catppuccin-sddm # pkgs.catppuccin-sddm
]; # ];
}; # };
} }

View file

@ -9,6 +9,7 @@
graphviz graphviz
imv imv
just just
nixfmt
just-lsp just-lsp
litemdview litemdview
nil nil