This commit is contained in:
2026-06-14 13:05:57 +01:00
parent 8ec7b3429f
commit 0fb5245525
7 changed files with 651 additions and 562 deletions
+70 -61
View File
@@ -4,7 +4,8 @@
modules,
inputs,
...
}: {
}:
{
den.aspects.doloro-desktop = {
includes = [
<den/primary-user>
@@ -35,70 +36,78 @@
# modules.easyeffects
modules.lavd
modules.ai
modules.omp
# modules.omp
modules.podman
<modules/ai/ollama-cuda>
];
nixos = {
config,
pkgs,
...
}: {
users.users.doloro = {
shell = pkgs.fish;
hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path;
extraGroups = ["libvirtd"];
};
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;
};
homeManager = {
home,
pkgs,
...
}: {
wayland.windowManager.hyprland.settings = {
monitor = [
"HDMI-A-1, 1920x1080@60, 0x0, 1"
"DP-2, 1920x1080@120, 1920x0, 1"
];
exec-once = [
"hyprctl dispatch workspace 2" # shit solution to get quickshell on the right monitor
];
workspace = [
"name:2, monitor:DP-3"
];
input = {
kb_layout = "gb";
follow_mouse = 2;
sensitivity = -0.5;
nixos =
{
config,
pkgs,
...
}:
{
users.users.doloro = {
shell = pkgs.fish;
hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path;
extraGroups = [ "libvirtd" ];
};
virtualisation.libvirtd.enable = true;
# virtualisation.waydroid.enable = true;
# # Newer kernel versions may need
# virtualisation.waydroid.package = pkgs.waydroid-nftables;
programs.virt-manager.enable = true;
};
homeManager =
{
home,
pkgs,
...
}:
{
wayland.windowManager.hyprland.settings = {
monitor = [
"HDMI-A-1, 1920x1080@60, 0x0, 1"
"DP-2, 1920x1080@120, 1920x0, 1"
];
exec-once = [
"hyprctl dispatch workspace 2" # shit solution to get quickshell on the right monitor
];
workspace = [
"name:2, monitor:DP-3"
];
input = {
kb_layout = "gb";
follow_mouse = 2;
sensitivity = -0.5;
};
};
home.packages = with pkgs; [
equibop
telegram-desktop
obsidian
# pear-desktop
prismlauncher
# deadlock-mod-manager
inputs.nik-pkgs.packages.x86_64-linux.grimorie
gamescope
android-studio
blender
bottles
pi-coding-agent
];
programs.lutris.enable = true;
nixpkgs.overlays = [
# Skipping tests while upstream sorts it out, revert once
# Hydra consistently builds openldap green.
(final: prev: {
openldap = prev.openldap.overrideAttrs (_: {
doCheck = false;
});
})
];
nixpkgs.config.allowUnfree = true;
programs.home-manager.enable = true;
};
home.packages = with pkgs; [
equibop
telegram-desktop
obsidian
# pear-desktop
prismlauncher
# deadlock-mod-manager
inputs.nik-pkgs.packages.x86_64-linux.grimorie
gamescope
android-studio
blender
bottles
];
programs.lutris.enable = true;
nixpkgs.overlays = [
# Skipping tests while upstream sorts it out, revert once
# Hydra consistently builds openldap green.
(final: prev: {
openldap = prev.openldap.overrideAttrs (_: {
doCheck = false;
});
})
];
nixpkgs.config.allowUnfree = true;
programs.home-manager.enable = true;
};
};
}
+17 -1
View File
@@ -14,9 +14,25 @@
{ pkgs, ... }:
{
home.packages = [
pkgs.opencode
pkgs.claude-code
];
programs.opencode = {
enable = true;
extraPackages = with pkgs; [
rust-analyzer
typescript-language-server
];
context = ''
Instructions:
- Do NOT preemptively load all references - use lazy loading based on actual need
- When loaded, treat content as mandatory instructions that override defaults
- Follow references recursively when needed
'';
settings = {
"lsp" = true;
};
};
};
};
}
+4 -1
View File
@@ -3,12 +3,15 @@
den,
inputs,
...
}: {
}:
{
flake-file.inputs = {
omp-nix.url = "git+https://git.molez.org/mandlm/omp-nix?ref=main";
};
modules.omp = {
homeManager = {
imports = [ inputs.omp-nix.homeManagerModules.omp ];
oh-my-pi.enable = true;
};
};
}
+3 -1
View File
@@ -1,4 +1,5 @@
{modules, ...}: {
{ modules, ... }:
{
modules.dunst = {
homeManager = {
services.dunst = {
@@ -6,6 +7,7 @@
settings = {
global = {
font = "Noto Nerd Font 8";
monitor = "DP-2";
};
};
};
+465 -410
View File
@@ -4,7 +4,8 @@
lib,
inputs,
...
}: {
}:
{
# Its in its own folder for future modulizaion efforts
flake-file.inputs = {
nixvim = {
@@ -14,445 +15,499 @@
};
modules = {
nixvim = {
nixos = {home-manager, ...}: {
};
homeManager = {pkgs, ...}: let
tiny-code-action = pkgs.vimUtils.buildVimPlugin {
name = "tiny-code-action.nvim";
src = pkgs.fetchFromGitHub {
owner = "rachartier";
repo = "tiny-code-action.nvim";
rev = "main";
hash = "sha256-UF9zeO5Uujdt2MEwy2d2Lhk6JRnEN4vrEvYslv0/zaA";
};
nvimSkipModules = ["tiny-code-action.previewers.snacks"];
nixos =
{ home-manager, ... }:
{
};
in {
imports = [
inputs.nixvim.homeModules.nixvim
];
programs.nixvim = {
enable = true;
defaultEditor = true;
nixpkgs = {
config = {
allowUnfree = true;
homeManager =
{ pkgs, ... }:
let
tiny-code-action = pkgs.vimUtils.buildVimPlugin {
name = "tiny-code-action.nvim";
src = pkgs.fetchFromGitHub {
owner = "rachartier";
repo = "tiny-code-action.nvim";
rev = "main";
hash = "sha256-UF9zeO5Uujdt2MEwy2d2Lhk6JRnEN4vrEvYslv0/zaA";
};
nvimSkipModules = [ "tiny-code-action.previewers.snacks" ];
};
colorschemes.gruvbox-material.enable = true;
extraPackages = with pkgs; [
# formatters
nixfmt-rs
rustfmt
# misc
ripgrep
nixd
tree-sitter
rust-analyzer
in
{
imports = [
inputs.nixvim.homeModules.nixvim
];
performance.byteCompileLua = {
programs.nixvim = {
enable = true;
plugins = true;
nvimRuntime = true;
luaLib = true;
configs = true;
};
plugins = {
todo-comments.enable = true;
lsp-status.enable = true;
transparent.enable = true;
which-key.enable = true;
snacks.enable = true;
conform-nvim = {
enable = true;
settings = {
formatters_by_ft = {
nix = ["nixfmt"];
rust = ["rustfmt"];
"_" = [
"squeeze_blanks"
"trim_whitespace"
"trim_newlines"
];
};
format_on_save = {
timeout_ms = 500;
lsp_format = "fallback";
};
defaultEditor = true;
nixpkgs = {
config = {
allowUnfree = true;
};
};
# efmls-configs = {
colorschemes.gruvbox-material.enable = true;
# colorschemes.melange = {
# enable = true;
# languages = {
# scss = {
# formatter = "prettier";
# linter = "stylelint";
# };
# };
# autoLoad = false;
# };
lsp = {
extraPackages = with pkgs; [
# formatters
nixfmt-rs
rustfmt
# misc
ripgrep
nixd
tree-sitter
rust-analyzer
rustc
cargo
];
performance.byteCompileLua = {
enable = true;
servers = {
qmlls = {
enable = true;
config = {
cmd = "-E";
plugins = true;
nvimRuntime = true;
luaLib = true;
configs = true;
};
plugins = {
luasnip.enable = true;
cmp_luasnip.enable = true;
fidget.enable = true;
mini-comment.enable = true;
cord.enable = true;
todo-comments.enable = true;
transparent.enable = true;
which-key.enable = true;
snacks.enable = true;
conform-nvim = {
enable = true;
settings = {
formatters_by_ft = {
nix = [ "nixfmt" ];
rust = [ "rustfmt" ];
"_" = [
"squeeze_blanks"
"trim_whitespace"
"trim_newlines"
];
};
format_on_save = {
timeout_ms = 500;
lsp_format = "fallback";
};
};
rust_analyzer = {
enable = true;
installCargo = false;
installRustc = false;
};
nixd = {
enable = true;
settings = {
nixd = {
nixpkgs.expr = "import (builtins.getFlake \"${toString /home/doloro/dotfiles}\").inputs.nixpkgs { }";
options = {
nixos.expr = "(builtins.getFlake \"${toString /home/doloro/dotfiles}\").nixosConfigurations.desktop.options";
home_manager.expr = "(builtins.getFlake \"${toString /home/doloro/dotfiles}\").homeConfigurations.doloro-desktop.options";
};
# efmls-configs = {
# enable = true;
# languages = {
# scss = {
# formatter = "prettier";
# linter = "stylelint";
# };
# };
# };
lsp = {
enable = true;
servers = {
qmlls = {
enable = true;
config = {
cmd = "-E";
};
};
rust_analyzer = {
enable = true;
installCargo = false;
installRustc = false;
};
nixd = {
enable = true;
settings = {
nixd = {
nixpkgs.expr = "import (builtins.getFlake \"${toString /home/doloro/dotfiles}\").inputs.nixpkgs { }";
options = {
nixos.expr = "(builtins.getFlake \"${toString /home/doloro/dotfiles}\").nixosConfigurations.desktop.options";
home_manager.expr = "(builtins.getFlake \"${toString /home/doloro/dotfiles}\").homeConfigurations.doloro-desktop.options";
};
};
};
};
};
astro = {
enable = true;
};
ts_ls = {
enable = true;
};
cssls.enable = true;
svelte.enable = true;
};
};
lsp-format = {
enable = true;
# lspServersToEnable = [ "qmlls" ];
};
notify = {
enable = true;
settings = {
background_color = "#00000000";
};
};
mini-cursorword.enable = true;
# mini-statusline.enable = true;
lualine = {
enable = true;
settings = {
sections = {
lualine_a = ["mode"];
lualine_b = [
"branch"
"diff"
"diagnostics"
];
lualine_c = ["filename"];
lualine_x = [
"encoding"
"fileformat"
"filetype"
];
lualine_y = ["progress"];
lualine_z = ["location"];
};
inactive_sections = {
lualine_a = [];
lualine_b = [];
lualine_c = ["filename"];
lualine_x = ["location"];
lualine_y = [];
lualine_z = [];
};
};
};
web-devicons.enable = true;
vim-dadbod-completion.enable = true;
telescope.enable = true;
lazygit.enable = true;
mini-indentscope = {
enable = true;
settings = {
draw = {
delay = 10;
};
};
};
mini-files = {
enable = true;
settings = {
windows = {
preview = true;
};
};
};
lsp-lines.enable = true;
diaglist = {
enable = true;
settings = {
debug = false;
};
};
cmp = {
enable = true;
autoEnableSources = true;
settings = {
sources = [
{
name = "nvim_lsp";
priority = 100;
}
{
name = "buffer";
priority = 50;
}
{
name = "path";
priority = 40;
}
];
mapping = {
"<C-Space>" = "cmp.mapping.complete()";
"<C-d>" = "cmp.mapping.scroll_docs(-4)";
"<C-e>" = "cmp.mapping.close()";
"<C-f>" = "cmp.mapping.scroll_docs(4)";
"<CR>" = "cmp.mapping.confirm({ select = true })";
"<S-Tab>" = "cmp.mapping(function(fallback) if cmp.visible() then cmp.select_prev_item() else fallback() end end, {'i', 's'})";
"<Tab>" = "cmp.mapping(function(fallback) if cmp.visible() then cmp.select_next_item() else fallback() end end, {'i', 's'})";
};
window = {
completion = {
border = "rounded";
winhighlight = "Normal:Pmenu,FloatBorder:Pmenu,CursorLine:PmenuSel,Search:None";
astro = {
enable = true;
};
documentation = {
border = "rounded";
winhighlight = "Normal:Pmenu,FloatBorder:Pmenu";
ts_ls = {
enable = true;
};
cssls.enable = true;
svelte.enable = true;
};
};
};
lspkind.enable = true;
tiny-inline-diagnostic.enable = true;
# tiny-code-action.enable = true;
# persisted.enable = true;
auto-session = {
enable = false;
settings = {
enabled = true;
auto_save = true;
auto_restore = true;
lsp-format = {
enable = true;
# lspServersToEnable = [ "qmlls" ];
};
};
wakatime.enable = true;
treesitter = {
enable = true;
grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [
bash
css
html
javascript
json
lua
make
markdown
rust
nix
regex
toml
tsx
typescript
vim
vimdoc
xml
yaml
svelte
];
settings = {
highlight.enable = true;
indent.enable = false;
};
};
};
extraPlugins = with pkgs; [
# vimPlugins.mini-completion
vimPlugins.mini-comment
vimPlugins.melange-nvim
vimPlugins.telescope-file-browser-nvim
vimPlugins.lsp-progress-nvim
vimPlugins.cmp-cmdline
vimPlugins.cmp-nvim-lsp-signature-help
vimPlugins.cord-nvim
tiny-code-action
];
opts = {
number = true;
bg = "dark";
tabstop = 2;
shiftwidth = 2;
termguicolors = true;
};
globals = {
mapleader = " ";
};
extraConfigLua = ''
-- tree-sitter-nix uses (#is-not? local) which the new nvim-treesitter main branch no longer registers
vim.treesitter.query.add_predicate("is-not?", function() return true end, { force = true })
local cmp = require('cmp')
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources(
{ { name = 'path' } },
{ { name = 'cmdline' } }
),
window = {
completion = {
border = 'rounded',
},
},
})
cmp.setup.cmdline('/', {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = 'buffer' }
},
window = {
completion = {
border = 'rounded',
},
},
})
require('tiny-code-action').setup({
backend = 'vim',
picker = 'snacks',
resolve_timeout = 100,
notify = {
enabled = true,
on_empty = true,
},
})
'';
keymaps = [
{
action = "<cmd>Telescope persisted<cr>";
key = "<leader>fs";
options = {
silent = true;
enable = true;
settings = {
background_color = "#00000000";
};
};
}
{
action = "<cmd>Telescope find_files<cr>";
key = "<leader>ff";
options = {
silent = true;
mini-cursorword.enable = true;
# mini-statusline.enable = true;
lualine = {
enable = true;
settings = {
sections = {
lualine_a = [ "mode" ];
lualine_b = [
"branch"
"diff"
"diagnostics"
];
lualine_c = [ "filename" ];
lualine_x = [
"encoding"
"fileformat"
"filetype"
];
lualine_y = [ "progress" ];
lualine_z = [ "location" ];
};
inactive_sections = {
lualine_a = [ ];
lualine_b = [ ];
lualine_c = [ "filename" ];
lualine_x = [ "location" ];
lualine_y = [ ];
lualine_z = [ ];
};
};
};
}
{
action = "<cmd>:lua MiniFiles.open()<cr>";
key = "<leader>fv";
options = {
silent = true;
web-devicons.enable = true;
vim-dadbod-completion.enable = true;
telescope = {
enable = true;
extensions.file-browser.enable = true;
};
}
{
action = "<cmd>LazyGit<cr>";
key = "<leader>lg";
options = {
silent = true;
lazygit.enable = true;
mini-indentscope = {
enable = true;
settings = {
draw = {
delay = 10;
};
};
};
}
{
action = "<cmd>Telescope buffers<cr>";
key = "<leader>fb";
options = {
silent = true;
mini-files = {
enable = true;
settings = {
windows = {
preview = true;
};
};
};
}
{
action = "<cmd>Telescope live_grep<cr>";
key = "<leader>fg";
options = {
silent = true;
lsp-lines.enable = true;
trouble = {
enable = true;
settings = {
auto_close = true;
use_diagnostic_signs = true;
};
};
}
{
action = "<cmd>DiaglistToggle<cr>";
key = "<leader>fd";
options = {
silent = true;
cmp = {
enable = true;
autoEnableSources = true;
cmdline = {
":" = {
mapping.__raw = "cmp.mapping.preset.cmdline()";
sources = [
{ name = "path"; }
{ name = "cmdline"; }
];
};
"/" = {
mapping.__raw = "cmp.mapping.preset.cmdline()";
sources = [
{ name = "buffer"; }
];
};
};
settings = {
snippet.expand.__raw = "function(args) require('luasnip').lsp_expand(args.body) end";
sources = [
{
name = "nvim_lsp";
priority = 100;
}
{
name = "nvim_lsp_signature_help";
priority = 90;
}
{
name = "luasnip";
priority = 75;
}
{
name = "buffer";
priority = 50;
}
{
name = "path";
priority = 40;
}
];
mapping = {
"<C-Space>" = "cmp.mapping.complete()";
"<C-d>" = "cmp.mapping.scroll_docs(-4)";
"<C-e>" = "cmp.mapping.close()";
"<C-f>" = "cmp.mapping.scroll_docs(4)";
"<CR>" = "cmp.mapping.confirm({ select = true })";
"<S-Tab>" =
"cmp.mapping(function(fallback) if cmp.visible() then cmp.select_prev_item() elseif require('luasnip').jumpable(-1) then require('luasnip').jump(-1) else fallback() end end, {'i', 's'})";
"<Tab>" =
"cmp.mapping(function(fallback) if cmp.visible() then cmp.select_next_item() elseif require('luasnip').expand_or_jumpable() then require('luasnip').expand_or_jump() else fallback() end end, {'i', 's'})";
};
window = {
completion = {
border = "rounded";
winhighlight = "Normal:Pmenu,FloatBorder:Pmenu,CursorLine:PmenuSel,Search:None";
};
documentation = {
border = "rounded";
winhighlight = "Normal:Pmenu,FloatBorder:Pmenu";
};
};
};
};
}
{
action = "<cmd>lua require('tiny-code-action').code_action()<cr>";
key = "<leader>ca";
mode = ["n" "x"];
options = {
silent = true;
lspkind.enable = true;
tiny-inline-diagnostic.enable = true;
# tiny-code-action.enable = true;
# persisted.enable = true;
auto-session = {
enable = false;
settings = {
enabled = true;
auto_save = true;
auto_restore = true;
};
};
}
# LSP
{
action = "<cmd>lua vim.lsp.buf.definition()<cr>";
key = "gd";
options = { silent = true; desc = "Go to definition"; };
}
{
action = "<cmd>lua vim.lsp.buf.declaration()<cr>";
key = "gD";
options = { silent = true; desc = "Go to declaration"; };
}
{
action = "<cmd>lua vim.lsp.buf.implementation()<cr>";
key = "gi";
options = { silent = true; desc = "Go to implementation"; };
}
{
action = "<cmd>lua vim.lsp.buf.type_definition()<cr>";
key = "<leader>D";
options = { silent = true; desc = "Go to type definition"; };
}
{
action = "<cmd>Telescope lsp_references<cr>";
key = "gr";
options = { silent = true; desc = "LSP references"; };
}
{
action = "<cmd>lua vim.lsp.buf.hover()<cr>";
key = "K";
options = { silent = true; desc = "Hover docs"; };
}
{
action = "<cmd>lua vim.lsp.buf.signature_help()<cr>";
key = "<C-k>";
mode = ["n" "i"];
options = { silent = true; desc = "Signature help"; };
}
{
action = "<cmd>lua vim.lsp.buf.rename()<cr>";
key = "<leader>rn";
options = { silent = true; desc = "Rename symbol"; };
}
{
action = "<cmd>lua vim.diagnostic.goto_prev()<cr>";
key = "[d";
options = { silent = true; desc = "Previous diagnostic"; };
}
{
action = "<cmd>lua vim.diagnostic.goto_next()<cr>";
key = "]d";
options = { silent = true; desc = "Next diagnostic"; };
}
{
action = "<cmd>lua vim.diagnostic.open_float()<cr>";
key = "<leader>e";
options = { silent = true; desc = "Show diagnostic float"; };
}
];
wakatime.enable = true;
treesitter = {
enable = true;
grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [
bash
css
html
javascript
json
lua
make
markdown
rust
nix
regex
toml
tsx
typescript
vim
vimdoc
xml
yaml
svelte
];
settings = {
highlight.enable = true;
indent.enable = false;
};
};
};
extraPlugins = with pkgs; [
vimPlugins.cmp-nvim-lsp-signature-help
tiny-code-action
];
opts = {
number = true;
bg = "dark";
tabstop = 2;
shiftwidth = 2;
termguicolors = true;
completeopt = "menu,menuone,noselect";
};
globals = {
mapleader = " ";
};
extraConfigLua = ''
-- tree-sitter-nix uses (#is-not? local) which the new nvim-treesitter main branch no longer registers
vim.treesitter.query.add_predicate("is-not?", function() return true end, { force = true })
require('tiny-code-action').setup({
backend = 'vim',
picker = 'snacks',
resolve_timeout = 100,
notify = {
enabled = true,
on_empty = true,
},
})
'';
keymaps = [
{
action = "<cmd>Telescope persisted<cr>";
key = "<leader>fs";
options = {
silent = true;
};
}
{
action = "<cmd>Telescope find_files<cr>";
key = "<leader>ff";
options = {
silent = true;
};
}
{
action = "<cmd>:lua MiniFiles.open()<cr>";
key = "<leader>fv";
options = {
silent = true;
};
}
{
action = "<cmd>LazyGit<cr>";
key = "<leader>lg";
options = {
silent = true;
};
}
{
action = "<cmd>Telescope buffers<cr>";
key = "<leader>fb";
options = {
silent = true;
};
}
{
action = "<cmd>Telescope live_grep<cr>";
key = "<leader>fg";
options = {
silent = true;
};
}
{
action = "<cmd>Trouble diagnostics toggle<cr>";
key = "<leader>fd";
options = {
silent = true;
desc = "Toggle diagnostics (Trouble)";
};
}
{
action = "<cmd>lua require('tiny-code-action').code_action()<cr>";
key = "<leader>ca";
mode = [
"n"
"x"
];
options = {
silent = true;
};
}
# LSP
{
action = "<cmd>lua vim.lsp.buf.definition()<cr>";
key = "gd";
options = {
silent = true;
desc = "Go to definition";
};
}
{
action = "<cmd>lua vim.lsp.buf.declaration()<cr>";
key = "gD";
options = {
silent = true;
desc = "Go to declaration";
};
}
{
action = "<cmd>lua vim.lsp.buf.implementation()<cr>";
key = "gi";
options = {
silent = true;
desc = "Go to implementation";
};
}
{
action = "<cmd>lua vim.lsp.buf.type_definition()<cr>";
key = "<leader>D";
options = {
silent = true;
desc = "Go to type definition";
};
}
{
action = "<cmd>Telescope lsp_references<cr>";
key = "gr";
options = {
silent = true;
desc = "LSP references";
};
}
{
action = "<cmd>lua vim.lsp.buf.hover()<cr>";
key = "K";
options = {
silent = true;
desc = "Hover docs";
};
}
{
action = "<cmd>lua vim.lsp.buf.signature_help()<cr>";
key = "<C-k>";
mode = [
"n"
"i"
];
options = {
silent = true;
desc = "Signature help";
};
}
{
action = "<cmd>lua vim.lsp.buf.rename()<cr>";
key = "<leader>rn";
options = {
silent = true;
desc = "Rename symbol";
};
}
{
action = "<cmd>lua vim.diagnostic.goto_prev()<cr>";
key = "[d";
options = {
silent = true;
desc = "Previous diagnostic";
};
}
{
action = "<cmd>lua vim.diagnostic.goto_next()<cr>";
key = "]d";
options = {
silent = true;
desc = "Next diagnostic";
};
}
{
action = "<cmd>lua vim.diagnostic.open_float()<cr>";
key = "<leader>e";
options = {
silent = true;
desc = "Show diagnostic float";
};
}
];
};
};
};
};
};
}
+24 -20
View File
@@ -1,24 +1,28 @@
{modules, ...}: {
{ modules, ... }:
{
modules.tmux = {
homeManager = {
home,
pkgs,
...
}: {
programs.tmux = {
enable = true;
plugins = with pkgs.tmuxPlugins; [
sensible
minimal-tmux-status
];
extraConfig = ''
set-option -g default-terminal "tmux-256color"
set -as terminal-features ",xterm-256color:RGB"
set -g status-bg black
set -g status-fg white
set -g mouse on
'';
homeManager =
{
home,
pkgs,
...
}:
{
programs.tmux = {
enable = true;
plugins = with pkgs.tmuxPlugins; [
sensible
minimal-tmux-status
];
extraConfig = ''
set-option -g default-terminal "tmux-256color"
set -as terminal-features ",xterm-256color:RGB"
set -g status-bg black
set -g status-fg white
set -g mouse on
set -g extended-keys on
'';
};
};
};
};
}