1
0
Fork 0

add plasma-manager, add shortcuts and hotkeys

This commit is contained in:
Philipp 2025-02-05 19:18:52 +01:00
parent a83c37a638
commit 01f8435ba7
Signed by: Philipp
GPG key ID: 9EBD8439AFBAB750
10 changed files with 211 additions and 73 deletions

View file

@ -30,6 +30,7 @@ in
enable = mkBoolOpt false "Whether or not to enable kitty.";
settings = mkOpt attrs defaultSettings "Settings to apply to the profile.";
font = mkOpt attrs defaultFont "Customize default font settings.";
plasma.enable = mkBoolOpt false "Whether to enable plasma configs for kitty.";
};
config = mkIf cfg.enable {
@ -38,6 +39,15 @@ in
themeFile = "Dracula";
inherit (cfg) font settings;
};
programs.plasma = mkIf cfg.plasma.enable {
enable = true;
hotkeys.commands."launch-kitty" = {
name = "Launch kitty";
key = "Meta+Return";
command = "kitty";
};
};
};
}

View file

@ -0,0 +1,23 @@
{
config,
lib,
namespace,
...
}:
with lib;
with lib.${namespace};
let
cfg = config.${namespace}.cli-apps.lazygit;
in
{
options.${namespace}.cli-apps.lazygit = with types; {
enable = mkBoolOpt false "Whether or not to enable lazygit.";
};
config = mkIf cfg.enable {
programs.lazygit = {
enable = true;
};
};
}

View file

@ -0,0 +1,26 @@
{
config,
lib,
namespace,
...
}:
with lib;
with lib.${namespace};
let
cfg = config.${namespace}.desktop.hotkeys;
in
{
options.${namespace}.desktop.hotkeys = with types; {
enable = mkBoolOpt false "Whether or not to enable kitty.";
};
config = mkIf cfg.enable {
programs.plasma = {
enable = true;
shortcuts.kwin = {
"Window Close" = [ "Meta+Shift+Q" "Alt+F4" ];
};
};
};
}

View file

@ -1,55 +1,5 @@
{
options,
config,
lib,
pkgs,
namespace,
...
}:
with lib;
with lib.${namespace};
let
cfg = config.${namespace}.cli.neovim;
in
{
options.${namespace}.cli.neovim = with types; {
enable = mkBoolOpt false "Whether or not to enable neovim.";
};
config = mkIf cfg.enable {
programs.nvf = {
enable = true;
settings = {
vim.viAlias = true;
vim.vimAlias = true;
vim.lsp.enable = true;
vim.theme.enable = true;
vim.theme.name = "tokyonight";
vim.theme.style = "night";
vim.languages.nix.enable = true;
vim.statusline.lualine.enable = true;
vim.telescope.enable = true;
vim.autocomplete.nvim-cmp.enable = true;
vim.languages.enableLSP = true;
vim.languages.enableTreesitter = true;
vim.options.tabstop = 2;
vim.undoFile.enable = true;
vim.options.shiftwidth = 2;
vim.filetree.neo-tree = {
enable = true;
setupOpts = {
};
};
vim.keymaps = [
{
key = "<C-n>";
mode = [ "n" ];
action = "<CMD>Neotree toggle<CR>";
desc = "Toggles neo-tree";
}
];
};
};
};
imports = [
./vim-config.nix
];
}

View file

@ -0,0 +1,64 @@
{
config,
lib,
namespace,
...
}:
with lib;
with lib.${namespace};
let
cfg = config.${namespace}.cli.neovim;
in
{
options.${namespace}.cli.neovim = with types; {
enable = mkBoolOpt false "Whether or not to enable neovim.";
};
config = mkIf cfg.enable {
programs.nvf = {
enable = true;
settings = {
vim = {
viAlias = true;
vimAlias = true;
options = {
tabstop = 2;
shiftwidth = 2;
};
undoFile.enable = true;
theme = {
enable = true;
name = "tokyonight";
style = "night";
};
lsp.enable = true;
statusline.lualine.enable = true;
telescope.enable = true;
autocomplete.nvim-cmp.enable = true;
languages = {
enableLSP = true;
enableTreesitter = true;
nix.enable = true;
};
filetree.neo-tree = {
enable = true;
setupOpts = {
};
};
keymaps = [
{
key = "<C-n>";
mode = [ "n" ];
action = "<CMD>Neotree toggle<CR>";
desc = "Toggles neo-tree";
}
];
};
};
};
};
}

View file

@ -1,4 +1,9 @@
{ lib, config, pkgs, namespace, ... }:
{
lib,
config,
namespace,
...
}:
with lib;
with lib.${namespace};
let