mirror of
https://gitlab.com/upRootNutrition/dotfiles.git
synced 2025-12-07 05:27:13 -06:00
feat: created plasma config
This commit is contained in:
parent
0f51aa99b1
commit
d9e7e445e3
7 changed files with 378 additions and 19 deletions
24
flake.lock
generated
24
flake.lock
generated
|
|
@ -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",
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
324
modules/home/gui/desktop/plasma/default.nix
Executable file
324
modules/home/gui/desktop/plasma/default.nix
Executable 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;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
];
|
# ];
|
||||||
};
|
# };
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
graphviz
|
graphviz
|
||||||
imv
|
imv
|
||||||
just
|
just
|
||||||
|
nixfmt
|
||||||
just-lsp
|
just-lsp
|
||||||
litemdview
|
litemdview
|
||||||
nil
|
nil
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue