kakoune config

This commit is contained in:
Charlie Root 2024-05-18 17:49:42 +02:00
commit 6f534bedcb
11 changed files with 197 additions and 6 deletions

View file

@ -68,6 +68,7 @@ in {
cd = "z";
v = "nvim";
h = "hx";
k = "kak";
e = "emacs";
update = ''nh os switch "${gitPath}"'';
flake = "cd '${gitPath}'";

View file

@ -4,6 +4,7 @@ _: {
./gtk.nix
./foot.nix
./mpv.nix
./kakoune.nix
./qt.nix
./zathura.nix
./stylix.nix

79
modules/gui/kakoune.nix Normal file
View file

@ -0,0 +1,79 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.modules.programs.kakoune;
username = config.modules.other.system.username;
# inherit (inputs.kakoune.packages.${pkgs.system}) kakoun;
in {
options.modules.programs.kakoune.enable = mkEnableOption "kakoune";
config = mkIf cfg.enable {
home-manager.users.${username} = {
programs.kakoune = {
enable = true;
# extraConfig = builtins.readFile
# package = kakoun;
plugins = with pkgs.kakounePlugins; [
auto-pairs-kak
fzf-kak
powerline-kak
byline-kak
kakoune-lsp
# luar-kak
];
config = {
ui = {
statusLine = "top";
enableMouse = true;
assistant = "none";
};
numberLines.enable = true;
numberLines.relative = true;
numberLines.highlightCursor = true;
# numberLines.separator = " ";
showMatching = true;
indentWidth = 2;
tabStop = 2;
scrollOff.lines = 1;
scrollOff.columns = 3;
keyMappings = [
{
mode = "normal";
key = "<esc>";
effect = ";,";
docstring =
"Press escape to clear highlighted text and collapse cursors";
}
{
mode = "normal";
key = "<c-v>";
effect = ":comment-line<ret>";
docstring = "Comment a line with <c-v>!";
}
{
mode = "normal";
key = "b";
effect = ":db<ret>";
docstring = "close current buffer";
}
{
mode = "normal";
key = "n";
effect = ":bp<ret>";
docstring = "go to next buffer";
}
{
mode = "normal";
key = "m";
effect = ":bn<ret>";
docstring = "go to next buffer";
}
];
};
};
};
};
}

View file

@ -17,13 +17,13 @@ in {
targets = {
btop.enable = true;
fish.enable = true;
dunst.enable = true;
dunst.enable = false;
emacs.enable = true;
firefox.enable = true;
kitty.enable = true;
lazygit.enable = true;
rofi.enable = true;
foot.enable = true;
foot.enable = false;
tmux.enable = true;
waybar.enable = true;
vim.enable = true;
@ -73,6 +73,7 @@ in {
stylix = {
image = ../../lib/wallpapers/FreeBSD.png;
polarity = "dark";
targets.plymouth.enable = false;
};
};
}

View file

@ -1 +1 @@
_: { imports = [ ./pipewire.nix ./ssh.nix ./greetd.nix ]; }
_: { imports = [ ./pipewire.nix ./ssh.nix ./greetd.nix ./dunst.nix ]; }

View file

@ -0,0 +1,93 @@
{ config, inputs, lib, pkgs, ... }:
let
cfg = config.modules.services.dunst;
inherit (config.modules.other.system) username;
inherit (lib) mkEnableOption mkIf;
in {
options.modules.services.dunst.enable = mkEnableOption "dunst";
config = mkIf cfg.enable {
home-manager.users.${username} = {
services.dunst = {
enable = true;
package = inputs.nixpkgs-wayland.packages.${pkgs.system}.dunst;
settings = {
global = {
monitor = 1;
follow = "none";
width = 300;
height = 300;
origin = "top-center";
offset = "0x15";
scale = 0;
notification_limit = 3;
idle_threshold = 120;
progress_bar = true;
progress_bar_height = 10;
progress_bar_frame_width = 0;
progress_bar_min_width = 150;
progress_bar_max_width = 300;
indicate_hidden = "yes";
transparency = 10;
separator_height = 2;
padding = 10;
frame_width = 3;
frame_color = "#89B4FA";
separator_color = "frame";
highlight = "#89DCEB";
sort = "yes";
font = "JetBrains Mono 12";
line_height = 0;
markup = "full";
format = ''
<b>%s</b>
%b'';
alignment = "right";
vertical_alignment = "center";
show_age_threshold = 60;
ellipsize = "middle";
ignore_newline = "no";
stack_duplicates = true;
hide_duplicate_count = false;
show_indicators = "yes";
icon_position = "left";
min_icon_size = 0;
max_icon_size = 32;
sticky_history = "yes";
history_length = 20;
dmenu = "${pkgs.rofi-wayland}/bin/rofi";
browser = "${pkgs.xdg-utils}/bin/xdg-open";
always_run_script = true;
title = "Dunst";
class = "dunst";
corner_radius = 10;
ignore_dbusclose = false;
force_xwayland = false;
force_xinerama = false;
mouse_left_click = "do_action, close_current";
mouse_middle_click = "context";
mouse_right_click = "close_all";
};
experimental = { per_monitor_dpi = false; };
urgency_low = {
background = "#1E1E2E";
foreground = "#CDD6F4";
timeout = 5;
};
urgency_normal = {
background = "#1E1E2E";
foreground = "#CDD6F4";
timeout = 6;
};
urgency_critical = {
background = "#1E1E2E";
foreground = "#CDD6F4";
frame_color = "#FAB387";
timeout = 0;
};
};
};
};
};
}