Compare commits
15 Commits
94ed302d0b
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 7bd24eaea6 | |||
| cb31edd30a | |||
| 623ff4e1a9 | |||
| 3ff184e813 | |||
| a0239eb5a9 | |||
| e9c8dfe196 | |||
| a6ce51554f | |||
| e3bca91c69 | |||
| 0be13c3ce1 | |||
| 230aff4564 | |||
| a64ff2cb9c | |||
| 21581780d0 | |||
| ff59fb17c5 | |||
| 5ac6408727 | |||
| 598c2e9780 |
@@ -56,19 +56,6 @@ vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' }
|
|||||||
vim.opt.inccommand = 'split'
|
vim.opt.inccommand = 'split'
|
||||||
-- Set foldmethod, change in .editorconfig of projects
|
-- Set foldmethod, change in .editorconfig of projects
|
||||||
vim.opt.foldmethod = 'marker'
|
vim.opt.foldmethod = 'marker'
|
||||||
-- General gui settings
|
|
||||||
vim.o.guifont = 'JetBrainsMono Nerd Font:12'
|
|
||||||
-- Neovide settings
|
|
||||||
if vim.g.neovide then
|
|
||||||
vim.env.PATH = '/usr/local/bin:' .. vim.env.PATH
|
|
||||||
vim.env.PATH = '/usr/local/go/bin:' .. vim.env.PATH
|
|
||||||
vim.env.PATH = '/opt/homebrew/bin:' .. vim.env.PATH
|
|
||||||
vim.env.PATH = vim.env.HOME .. '/.local/bin:' .. vim.env.PATH
|
|
||||||
vim.env.PATH = vim.env.HOME .. '/.cargo/bin:' .. vim.env.PATH
|
|
||||||
vim.env.PATH = vim.env.HOME .. '/.local/cargo/bin:' .. vim.env.PATH
|
|
||||||
vim.env.PATH = vim.env.HOME .. '/go/bin:' .. vim.env.PATH
|
|
||||||
vim.env.PATH = vim.env.HOME .. '/.local/npm/bin:' .. vim.env.PATH
|
|
||||||
end
|
|
||||||
vim.cmd.colorscheme 'sprouting-dark'
|
vim.cmd.colorscheme 'sprouting-dark'
|
||||||
-- }}}
|
-- }}}
|
||||||
-- {{{ Helper functions
|
-- {{{ Helper functions
|
||||||
@@ -263,7 +250,6 @@ vim.filetype.add({
|
|||||||
}) -- }}}
|
}) -- }}}
|
||||||
-- {{{ LSP Configuration
|
-- {{{ LSP Configuration
|
||||||
local lspproto = vim.lsp.protocol
|
local lspproto = vim.lsp.protocol
|
||||||
local lspconfig = vim.lsp.config
|
|
||||||
local lspenable = vim.lsp.enable
|
local lspenable = vim.lsp.enable
|
||||||
local capabilities = lspproto.make_client_capabilities()
|
local capabilities = lspproto.make_client_capabilities()
|
||||||
-- Formatter autocmd
|
-- Formatter autocmd
|
||||||
170
config/nvim/stobbsm/nvim.nix
Normal file
170
config/nvim/stobbsm/nvim.nix
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
extraLuaConfig = [
|
||||||
|
"vim.g.mapleader = ' '"
|
||||||
|
"vim.g.maplocalleader = ' '"
|
||||||
|
"vim.g.have_nerd_font = true"
|
||||||
|
"vim.opt.clipboard = 'unnamedplus'"
|
||||||
|
"vim.opt.cursorline = true"
|
||||||
|
"vim.opt.expandtab = true"
|
||||||
|
"vim.opt.hlsearch = true"
|
||||||
|
"vim.opt.inccommand = 'split'"
|
||||||
|
"vim.opt.modeline = true"
|
||||||
|
"vim.opt.mouse = 'a'"
|
||||||
|
"vim.opt.number = true"
|
||||||
|
"vim.opt.preserveindent = true"
|
||||||
|
"vim.opt.relativenumber = true"
|
||||||
|
"vim.opt.ruler = true"
|
||||||
|
"vim.opt.scrolloff = 5"
|
||||||
|
"vim.opt.shiftwidth = 2"
|
||||||
|
"vim.opt.showmode = true"
|
||||||
|
"vim.opt.showtabline = 1"
|
||||||
|
"vim.opt.softtabstop = 2"
|
||||||
|
"vim.opt.tabstop = 2"
|
||||||
|
"vim.opt.termguicolors = true"
|
||||||
|
"vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' }"
|
||||||
|
"vim.opt.inccommand = 'split'"
|
||||||
|
"vim.opt.foldmethod = 'marker'"
|
||||||
|
"vim.cmd.colorscheme 'sprouting-dark'"
|
||||||
|
];
|
||||||
|
plugins = with pkgs.vimPlugins; [
|
||||||
|
{ plugin = mini-align; }
|
||||||
|
{ plugin = mini-basics; }
|
||||||
|
{ plugin = mini-diff; }
|
||||||
|
{ plugin = mini-extra; }
|
||||||
|
{ plugin = mini-git; }
|
||||||
|
{ plugin = mini-icons; }
|
||||||
|
{ plugin = mini-move; }
|
||||||
|
{ plugin = mini-operators; }
|
||||||
|
{ plugin = mini-pairs; }
|
||||||
|
{ plugin = mini-snippets; }
|
||||||
|
{ plugin = mini-splitjoin; }
|
||||||
|
{
|
||||||
|
plugin = mini-statusline;
|
||||||
|
type = "lua";
|
||||||
|
config = /* lua */''
|
||||||
|
content = {
|
||||||
|
active = function()
|
||||||
|
local check_macro_recording = function()
|
||||||
|
if vim.fn.reg_recording() ~= \'\' then
|
||||||
|
return '@' .. vim.fn.reg_recording()
|
||||||
|
else
|
||||||
|
return \'\'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- configure statusline for active windows
|
||||||
|
local mode, mode_hl = MiniStatusline.section_mode { trunc_width = 120 }
|
||||||
|
local git = MiniStatusline.section_git { trunc_width = 40 }
|
||||||
|
local diff = MiniStatusline.section_diff { trunc_width = 75 }
|
||||||
|
local diagnostics = MiniStatusline.section_diagnostics { trunc_width = 75 }
|
||||||
|
local lsp = MiniStatusline.section_lsp { trunc_width = 75 }
|
||||||
|
local filename = MiniStatusline.section_filename { trunc_width = 140 }
|
||||||
|
local fileinfo = MiniStatusline.section_fileinfo { trunc_width = 120 }
|
||||||
|
local location = MiniStatusline.section_location { trunc_width = 75 }
|
||||||
|
local search = MiniStatusline.section_searchcount { trunc_width = 75 }
|
||||||
|
local macro = check_macro_recording()
|
||||||
|
|
||||||
|
return MiniStatusline.combine_groups {
|
||||||
|
{ hl = mode_hl, strings = { mode } },
|
||||||
|
{ hl = 'MiniStatuslineDevinfo', strings = { git, diff, diagnostics, lsp } },
|
||||||
|
'%<', -- Mark general truncate point
|
||||||
|
{ hl = 'MiniStatuslineFilename', strings = { filename } },
|
||||||
|
'%=', -- End left alignment
|
||||||
|
{ hl = 'MiniStatuslineFilename', strings = { macro } },
|
||||||
|
{ hl = 'MiniStatuslineFileinfo', strings = { fileinfo } },
|
||||||
|
{ hl = mode_hl, strings = { search, location } },
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
use_icons = true,
|
||||||
|
set_vim_settings = true,
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
{ plugin = nui-nvim; }
|
||||||
|
{ plugin = nvim-colorizer-lua; }
|
||||||
|
{
|
||||||
|
plugin = noice-nvim;
|
||||||
|
type = "lua";
|
||||||
|
config = /* lua */''
|
||||||
|
lsp = {
|
||||||
|
override = {
|
||||||
|
['vim.lsp.util.convert_input_to_markdown_lines'] = true,
|
||||||
|
['vim.lsp.util.stylize_markdown'] = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
popupmenu = {
|
||||||
|
enabled = true,
|
||||||
|
backend = 'nui',
|
||||||
|
},
|
||||||
|
notify = {
|
||||||
|
enabled = true,
|
||||||
|
view = 'notify',
|
||||||
|
},
|
||||||
|
routes = {
|
||||||
|
{
|
||||||
|
view = 'notify',
|
||||||
|
filter = { event = 'msg_showmode' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
{
|
||||||
|
plugin = snacks-nvim;
|
||||||
|
type = "lua";
|
||||||
|
config = /* lua */''
|
||||||
|
animate = {},
|
||||||
|
dim = {},
|
||||||
|
image = {},
|
||||||
|
indent = {},
|
||||||
|
lazygit = {},
|
||||||
|
picker = {},
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
{ plugin = lazygit-nvim; }
|
||||||
|
{ plugin = nvim-lspconfig; }
|
||||||
|
{ plugin = nvim-treesitter; }
|
||||||
|
{ plugin = plenary-nvim; }
|
||||||
|
{ plugin = go-nvim; }
|
||||||
|
{ plugin = guihua-lua; }
|
||||||
|
{
|
||||||
|
plugin = conform-nvim;
|
||||||
|
type = "lua";
|
||||||
|
config = /* lua */''
|
||||||
|
formatters_by_ft = {
|
||||||
|
ansible = { 'ansible-lint' },
|
||||||
|
buf = { 'buf' },
|
||||||
|
cmake = { 'cmake_format' },
|
||||||
|
go = { 'goimports' },
|
||||||
|
markdown = { 'cbfmt', 'mdformat' },
|
||||||
|
sql = { 'sqlfluff' },
|
||||||
|
terraform = { 'terraform_fmt' },
|
||||||
|
templ = { 'go tool templ fmt' },
|
||||||
|
},
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
{ plugin = which-key-nvim; }
|
||||||
|
{ plugin = yazi-nvim; }
|
||||||
|
{ plugin = dashboard-nvim; }
|
||||||
|
];
|
||||||
|
defaultEditor = true;
|
||||||
|
viAlias = true;
|
||||||
|
vimAlias = true;
|
||||||
|
vimdiffAlias = true;
|
||||||
|
withNodeJs = true;
|
||||||
|
withPerl = true;
|
||||||
|
withPython3 = true;
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
delve
|
||||||
|
ginkgo
|
||||||
|
golangci-lint
|
||||||
|
gopls
|
||||||
|
gotests
|
||||||
|
gotestsum
|
||||||
|
gotools
|
||||||
|
govulncheck
|
||||||
|
tree-sitter
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
[mgr]
|
|
||||||
show_hidden = true
|
|
||||||
sort_by = "natural"
|
|
||||||
sort_sensitive = true
|
|
||||||
sort_dir_first = true
|
|
||||||
scrolloff = 5
|
|
||||||
@@ -23,6 +23,10 @@
|
|||||||
homeDirectory = "/home/${username}";
|
homeDirectory = "/home/${username}";
|
||||||
preferXdgDirectories = true;
|
preferXdgDirectories = true;
|
||||||
stateVersion = stateVersion;
|
stateVersion = stateVersion;
|
||||||
|
sessionPath = [
|
||||||
|
"$HOME/go/bin"
|
||||||
|
"$HOME/.local/bin"
|
||||||
|
];
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
bitwarden-cli
|
bitwarden-cli
|
||||||
bitwarden-desktop
|
bitwarden-desktop
|
||||||
@@ -49,30 +53,30 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
fonts = {
|
# fonts = {
|
||||||
fontconfig = {
|
# fontconfig = {
|
||||||
defaultFonts = {
|
# defaultFonts = {
|
||||||
emoji = with pkgs; [
|
# emoji = with pkgs; [
|
||||||
nerd-fonts.symbols-only
|
# nerd-fonts.symbols-only
|
||||||
font-awesome
|
# font-awesome
|
||||||
];
|
# ];
|
||||||
monospace = with pkgs; [
|
# monospace = with pkgs; [
|
||||||
nerd-fonts.jetbrains-mono
|
# nerd-fonts.jetbrains-mono
|
||||||
nerd-fonts.hack
|
# nerd-fonts.hack
|
||||||
nerd-fonts.symbols-only
|
# nerd-fonts.symbols-only
|
||||||
];
|
# ];
|
||||||
sansSerif = [
|
# sansSerif = [
|
||||||
liberation_ttf_v2
|
# liberation_ttf_v2
|
||||||
];
|
# ];
|
||||||
serif = [
|
# serif = [
|
||||||
liberation_ttf_v2
|
# liberation_ttf_v2
|
||||||
];
|
# ];
|
||||||
};
|
# };
|
||||||
antialiasing = true;
|
# antialiasing = true;
|
||||||
hinting = "medium";
|
# hinting = "medium";
|
||||||
subpixelRendering = "rgb";
|
# subpixelRendering = "rgb";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
programs = {
|
programs = {
|
||||||
aerc = {
|
aerc = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -154,7 +158,6 @@
|
|||||||
macos-option-as-alt = true;
|
macos-option-as-alt = true;
|
||||||
shell-integration-features = "no-cursor";
|
shell-integration-features = "no-cursor";
|
||||||
cursor-style = "block";
|
cursor-style = "block";
|
||||||
background-opacity = 0.75;
|
|
||||||
};
|
};
|
||||||
themes = {
|
themes = {
|
||||||
sproutingdark = {
|
sproutingdark = {
|
||||||
@@ -176,14 +179,14 @@
|
|||||||
"14=#b2f8f5"
|
"14=#b2f8f5"
|
||||||
"15=#f5f9f5"
|
"15=#f5f9f5"
|
||||||
];
|
];
|
||||||
background = "1f2620";
|
background = "#1f2620";
|
||||||
foreground = "eaeaea";
|
foreground = "#eaeaea";
|
||||||
cursor-color = "fffd98";
|
cursor-color = "#fffd98";
|
||||||
cursor-text = "3f4c3f";
|
cursor-text = "#3f4c3f";
|
||||||
cursor-opacity = 0.7;
|
cursor-opacity = 0.7;
|
||||||
cursor-style = "block";
|
cursor-style = "block";
|
||||||
selection-background = "3f4c3f";
|
selection-background = "#3f4c3f";
|
||||||
selection-foreground = "ffffea";
|
selection-foreground = "#ffffea";
|
||||||
background-opacity = 1;
|
background-opacity = 1;
|
||||||
window-padding-x = "2,2";
|
window-padding-x = "2,2";
|
||||||
window-padding-y = "2,2";
|
window-padding-y = "2,2";
|
||||||
@@ -231,22 +234,11 @@
|
|||||||
settings = {
|
settings = {
|
||||||
wayland-app-id = "neovide";
|
wayland-app-id = "neovide";
|
||||||
font = {
|
font = {
|
||||||
normal = [ pkgs.nerd-fonts.jetbrains-mono ];
|
normal = [ "JetBrainsMono Nerd Font" ];
|
||||||
size = 14.0;
|
size = 14.0;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
neovim = {
|
|
||||||
enable = true;
|
|
||||||
initLua = builtins.readFile ../config/nvim/stobbsm/nvim.lua;
|
|
||||||
defaultEditor = true;
|
|
||||||
viAlias = true;
|
|
||||||
vimAlias = true;
|
|
||||||
vimdiffAlias = true;
|
|
||||||
withNodeJs = true;
|
|
||||||
withPerl = true;
|
|
||||||
withPython3 = true;
|
|
||||||
};
|
|
||||||
# noctalia = {
|
# noctalia = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
# settings = "${config.xdg.configHome}/dotfiles/niri/.config/niri/full.kdl";
|
# settings = "${config.xdg.configHome}/dotfiles/niri/.config/niri/full.kdl";
|
||||||
@@ -402,8 +394,24 @@
|
|||||||
yazi = {
|
yazi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
settings = builtins.readFile ../config/yazi/yazi.toml;
|
flavors = {
|
||||||
theme = builtins.readFile ../config/yazi/themes/sprouting.toml;
|
sprouting = ../config/yazi/themes/sprouting.yazi;
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
mgr = {
|
||||||
|
show_hidden = true;
|
||||||
|
sort_by = "natural";
|
||||||
|
sort_sensitive = true;
|
||||||
|
sort_dir_first = true;
|
||||||
|
scrolloff = 5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
theme = {
|
||||||
|
flavor = {
|
||||||
|
dark = "sprouting";
|
||||||
|
light = "sprouting";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
zoxide = {
|
zoxide = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -431,332 +439,332 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
wayland = {
|
# wayland = {
|
||||||
windowManager = {
|
# windowManager = {
|
||||||
niri = {
|
# niri = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
settings = {
|
# settings = {
|
||||||
layout = {
|
# layout = {
|
||||||
focus-ring = {
|
# focus-ring = {
|
||||||
active-color = "#9bdf9e";
|
# active-color = "#9bdf9e";
|
||||||
inactive-color = "#7e997e";
|
# inactive-color = "#7e997e";
|
||||||
urgent-color = "#e04b7c";
|
# urgent-color = "#e04b7c";
|
||||||
};
|
# };
|
||||||
border = {
|
# border = {
|
||||||
active-color = "#9bdf9e";
|
# active-color = "#9bdf9e";
|
||||||
inactive-color = "#7e997e";
|
# inactive-color = "#7e997e";
|
||||||
urgent-color = "#e04b7c";
|
# urgent-color = "#e04b7c";
|
||||||
};
|
# };
|
||||||
shadow = {
|
# shadow = {
|
||||||
color = "#3f4c3f70";
|
# color = "#3f4c3f70";
|
||||||
};
|
# };
|
||||||
tab-indicator = {
|
# tab-indicator = {
|
||||||
active-color = "#9bdf9e";
|
# active-color = "#9bdf9e";
|
||||||
inactive-color = "#7e997e";
|
# inactive-color = "#7e997e";
|
||||||
urgent-color = "#e04b7c";
|
# urgent-color = "#e04b7c";
|
||||||
};
|
# };
|
||||||
insert-hint = {
|
# insert-hint = {
|
||||||
color = "#3f4c3f80";
|
# color = "#3f4c3f80";
|
||||||
};
|
# };
|
||||||
_props.gaps = 16;
|
# _props.gaps = 16;
|
||||||
_props.center-focused-column = "never";
|
# _props.center-focused-column = "never";
|
||||||
|
#
|
||||||
_props.background-color = "transparent";
|
# _props.background-color = "transparent";
|
||||||
|
#
|
||||||
preset-column-widths = {
|
# preset-column-widths = ''
|
||||||
_props.proportion = 0.33333;
|
# proportion = 0.33333
|
||||||
_props.proportion = 0.5;
|
# proportion = 0.5
|
||||||
_props.proportion = 0.66667;
|
# proportion = 0.66667
|
||||||
};
|
# '';
|
||||||
|
#
|
||||||
_props.struts = "{}";
|
# _props.struts = "{}";
|
||||||
};
|
# };
|
||||||
recent-windows = {
|
# recent-windows = {
|
||||||
highlight = {
|
# highlight = {
|
||||||
_props.active-color = "#b1ccb1";
|
# _props.active-color = "#b1ccb1";
|
||||||
_props.urgent-color = "#e8789d";
|
# _props.urgent-color = "#e8789d";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
animations = {
|
# animations = {
|
||||||
workspace-switch = {
|
# workspace-switch = {
|
||||||
"spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001" = { };
|
# "spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001" = { };
|
||||||
};
|
# };
|
||||||
window-open = {
|
# window-open = {
|
||||||
duration-ms = 200;
|
# duration-ms = 200;
|
||||||
curve = "ease-out-quad";
|
# curve = "ease-out-quad";
|
||||||
};
|
# };
|
||||||
window-close = {
|
# window-close = {
|
||||||
duration-ms = 200;
|
# duration-ms = 200;
|
||||||
curve = "ease-out-cubic";
|
# curve = "ease-out-cubic";
|
||||||
};
|
# };
|
||||||
horizontal-view-movement = {
|
# horizontal-view-movement = {
|
||||||
"spring damping-ratio=1.0 stiffness=900 epsilon=0.0001" = { };
|
# "spring damping-ratio=1.0 stiffness=900 epsilon=0.0001" = { };
|
||||||
};
|
# };
|
||||||
window-movement = {
|
# window-movement = {
|
||||||
"spring damping-ratio=1.0 stiffness=800 epsilon=0.0001" = { };
|
# "spring damping-ratio=1.0 stiffness=800 epsilon=0.0001" = { };
|
||||||
};
|
# };
|
||||||
window-resize = {
|
# window-resize = {
|
||||||
"spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001" = { };
|
# "spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001" = { };
|
||||||
};
|
# };
|
||||||
config-notification-open-close = {
|
# config-notification-open-close = {
|
||||||
"spring damping-ratio=0.6 stiffness=1200 epsilon=0.001" = { };
|
# "spring damping-ratio=0.6 stiffness=1200 epsilon=0.001" = { };
|
||||||
};
|
# };
|
||||||
screenshot-ui-open = {
|
# screenshot-ui-open = {
|
||||||
duration-ms = 300;
|
# duration-ms = 300;
|
||||||
curve = "ease-out-quad";
|
# curve = "ease-out-quad";
|
||||||
};
|
# };
|
||||||
overview-open-close = {
|
# overview-open-close = {
|
||||||
"spring damping-ratio=1.0 stiffness=900 epsilon=0.0001" = { };
|
# "spring damping-ratio=1.0 stiffness=900 epsilon=0.0001" = { };
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
input = {
|
# input = {
|
||||||
keyboard = {
|
# keyboard = {
|
||||||
xkb = {
|
# xkb = {
|
||||||
#layout = "us";
|
# #layout = "us";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
touchpad = {
|
# touchpad = {
|
||||||
tap = { };
|
# tap = { };
|
||||||
natural-scroll = { };
|
# natural-scroll = { };
|
||||||
};
|
# };
|
||||||
mouse = {
|
# mouse = {
|
||||||
accel-profile = "flat";
|
# accel-profile = "flat";
|
||||||
accel-speed = 0.0;
|
# accel-speed = 0.0;
|
||||||
};
|
# };
|
||||||
focus-follows-mouse = { };
|
# focus-follows-mouse = { };
|
||||||
workspace-auto-back-and-forth = { };
|
# workspace-auto-back-and-forth = { };
|
||||||
};
|
# };
|
||||||
binds = {
|
# binds = {
|
||||||
"Mod+Shift+ESCAPE".show-hotkey-overlay = { };
|
# "Mod+Shift+ESCAPE".show-hotkey-overlay = { };
|
||||||
|
#
|
||||||
"Mod+Return" = {
|
# "Mod+Return" = {
|
||||||
_props.hotkey-overlay-title = "Open Terminal: Ghostty";
|
# _props.hotkey-overlay-title = "Open Terminal: Ghostty";
|
||||||
spawn = [ "ghostty" ];
|
# spawn = [ "ghostty" ];
|
||||||
};
|
# };
|
||||||
"Mod+B" = {
|
# "Mod+B" = {
|
||||||
_props.hotkey-overlay-title = "Open Browser: firefox";
|
# _props.hotkey-overlay-title = "Open Browser: firefox";
|
||||||
spawn = [ "firefox" ];
|
# spawn = [ "firefox" ];
|
||||||
};
|
# };
|
||||||
"Mod+ALT+L" = {
|
# "Mod+ALT+L" = {
|
||||||
_props.hotkey-overlay-title = "Lock Screen: noctalia lock";
|
# _props.hotkey-overlay-title = "Lock Screen: noctalia lock";
|
||||||
spawn-sh = [ "qs -c noctalia-shell ipc call lockScreen lock" ];
|
# spawn-sh = [ "qs -c noctalia-shell ipc call lockScreen lock" ];
|
||||||
};
|
# };
|
||||||
"Mod+Shift+Q" = {
|
# "Mod+Shift+Q" = {
|
||||||
_props.hotkey-overlay-title = "Session Menu: noctalia sessionMenu";
|
# _props.hotkey-overlay-title = "Session Menu: noctalia sessionMenu";
|
||||||
spawn-sh = [ "qs -c noctalia-shell ipc call sessionMenu toggle" ];
|
# spawn-sh = [ "qs -c noctalia-shell ipc call sessionMenu toggle" ];
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
"Mod+E" = {
|
# "Mod+E" = {
|
||||||
_props.hotkey-overlay-title = "File Manager: Nautilus";
|
# _props.hotkey-overlay-title = "File Manager: Nautilus";
|
||||||
spawn = [ "nautilus" ];
|
# spawn = [ "nautilus" ];
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
"XF86AudioRaiseVolume" = {
|
# "XF86AudioRaiseVolume" = {
|
||||||
_props.allow-when-locked = true;
|
# _props.allow-when-locked = true;
|
||||||
spawn-sh = [ "qs -c noctalia-shell ipc call volume increase" ];
|
# spawn-sh = [ "qs -c noctalia-shell ipc call volume increase" ];
|
||||||
};
|
# };
|
||||||
"XF86AudioLowerVolume" = {
|
# "XF86AudioLowerVolume" = {
|
||||||
_props.allow-when-locked = true;
|
# _props.allow-when-locked = true;
|
||||||
spawn-sh = [ "qs -c noctalia-shell ipc call volume decrease" ];
|
# spawn-sh = [ "qs -c noctalia-shell ipc call volume decrease" ];
|
||||||
};
|
# };
|
||||||
"XF86AudioMute" = {
|
# "XF86AudioMute" = {
|
||||||
_props.allow-when-locked = true;
|
# _props.allow-when-locked = true;
|
||||||
spawn-sh = [ "qs -c noctalia-shell ipc call volume muteOutput" ];
|
# spawn-sh = [ "qs -c noctalia-shell ipc call volume muteOutput" ];
|
||||||
};
|
# };
|
||||||
"XF86AudioMicMute" = {
|
# "XF86AudioMicMute" = {
|
||||||
_props.allow-when-locked = true;
|
# _props.allow-when-locked = true;
|
||||||
spawn-sh = [ "qs -c noctalia-shell ipc call volume muteInput" ];
|
# spawn-sh = [ "qs -c noctalia-shell ipc call volume muteInput" ];
|
||||||
};
|
# };
|
||||||
"XF86AudioNext" = {
|
# "XF86AudioNext" = {
|
||||||
_props.allow-when-locked = true;
|
# _props.allow-when-locked = true;
|
||||||
spawn-sh = [ "qs -c noctalia-shell ipc call media next" ];
|
# spawn-sh = [ "qs -c noctalia-shell ipc call media next" ];
|
||||||
};
|
# };
|
||||||
"XF86AudioPrev" = {
|
# "XF86AudioPrev" = {
|
||||||
_props.allow-when-locked = true;
|
# _props.allow-when-locked = true;
|
||||||
spawn-sh = [ "qs -c noctalia-shell ipc call media previous" ];
|
# spawn-sh = [ "qs -c noctalia-shell ipc call media previous" ];
|
||||||
};
|
# };
|
||||||
"XF86AudioPlay" = {
|
# "XF86AudioPlay" = {
|
||||||
_props.allow-when-locked = true;
|
# _props.allow-when-locked = true;
|
||||||
spawn-sh = [ "qs -c noctalia-shell ipc call media playPause" ];
|
# spawn-sh = [ "qs -c noctalia-shell ipc call media playPause" ];
|
||||||
};
|
# };
|
||||||
"XF86AudioPause" = {
|
# "XF86AudioPause" = {
|
||||||
_props.allow-when-locked = true;
|
# _props.allow-when-locked = true;
|
||||||
spawn-sh = [ "qs -c noctalia-shell ipc call media playPause" ];
|
# spawn-sh = [ "qs -c noctalia-shell ipc call media playPause" ];
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
"XF86MonBrightnessUp" = {
|
# "XF86MonBrightnessUp" = {
|
||||||
_props.allow-when-locked = true;
|
# _props.allow-when-locked = true;
|
||||||
spawn-sh = [ "qs -c noctalia-shell ipc call brightness increase" ];
|
# spawn-sh = [ "qs -c noctalia-shell ipc call brightness increase" ];
|
||||||
};
|
# };
|
||||||
"XF86MonBrightnessDown" = {
|
# "XF86MonBrightnessDown" = {
|
||||||
_props.allow-when-locked = true;
|
# _props.allow-when-locked = true;
|
||||||
spawn-sh = [ "qs -c noctalia-shell ipc call brightness decrease" ];
|
# spawn-sh = [ "qs -c noctalia-shell ipc call brightness decrease" ];
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
"Mod+Q".close-window = { };
|
# "Mod+Q".close-window = { };
|
||||||
|
#
|
||||||
"Mod+Left".focus-column-left = { };
|
# "Mod+Left".focus-column-left = { };
|
||||||
"Mod+H".focus-column-left = { };
|
# "Mod+H".focus-column-left = { };
|
||||||
"Mod+Right".focus-column-right = { };
|
# "Mod+Right".focus-column-right = { };
|
||||||
"Mod+L".focus-column-right = { };
|
# "Mod+L".focus-column-right = { };
|
||||||
"Mod+Up".focus-window-up = { };
|
# "Mod+Up".focus-window-up = { };
|
||||||
"Mod+K".focus-window-up = { };
|
# "Mod+K".focus-window-up = { };
|
||||||
"Mod+Down".focus-window-down = { };
|
# "Mod+Down".focus-window-down = { };
|
||||||
"Mod+J".focus-window-down = { };
|
# "Mod+J".focus-window-down = { };
|
||||||
|
#
|
||||||
"Mod+CTRL+Left".move-column-left = { };
|
# "Mod+CTRL+Left".move-column-left = { };
|
||||||
"Mod+CTRL+H".move-column-left = { };
|
# "Mod+CTRL+H".move-column-left = { };
|
||||||
"Mod+CTRL+Right".move-column-right = { };
|
# "Mod+CTRL+Right".move-column-right = { };
|
||||||
"Mod+CTRL+L".move-column-right = { };
|
# "Mod+CTRL+L".move-column-right = { };
|
||||||
"Mod+CTRL+UP".move-window-up = { };
|
# "Mod+CTRL+UP".move-window-up = { };
|
||||||
"Mod+CTRL+K".move-window-up = { };
|
# "Mod+CTRL+K".move-window-up = { };
|
||||||
"Mod+CTRL+Down".move-window-down = { };
|
# "Mod+CTRL+Down".move-window-down = { };
|
||||||
"Mod+CTRL+J".move-window-down = { };
|
# "Mod+CTRL+J".move-window-down = { };
|
||||||
|
#
|
||||||
"Mod+Home".focus-column-first = { };
|
# "Mod+Home".focus-column-first = { };
|
||||||
"Mod+End".focus-column-last = { };
|
# "Mod+End".focus-column-last = { };
|
||||||
"Mod+CTRL+Home".move-column-to-first = { };
|
# "Mod+CTRL+Home".move-column-to-first = { };
|
||||||
"Mod+CTRL+End".move-column-to-last = { };
|
# "Mod+CTRL+End".move-column-to-last = { };
|
||||||
|
#
|
||||||
"Mod+Shift+Left".focus-monitor-left = { };
|
# "Mod+Shift+Left".focus-monitor-left = { };
|
||||||
"Mod+Shift+Right".focus-monitor-right = { };
|
# "Mod+Shift+Right".focus-monitor-right = { };
|
||||||
"Mod+Shift+UP".focus-monitor-up = { };
|
# "Mod+Shift+UP".focus-monitor-up = { };
|
||||||
"Mod+Shift+Down".focus-monitor-down = { };
|
# "Mod+Shift+Down".focus-monitor-down = { };
|
||||||
|
#
|
||||||
"Mod+Shift+CTRL+Left".move-column-to-monitor-left = { };
|
# "Mod+Shift+CTRL+Left".move-column-to-monitor-left = { };
|
||||||
"Mod+Shift+CTRL+Right".move-column-to-monitor-right = { };
|
# "Mod+Shift+CTRL+Right".move-column-to-monitor-right = { };
|
||||||
"Mod+Shift+CTRL+UP".move-column-to-monitor-up = { };
|
# "Mod+Shift+CTRL+UP".move-column-to-monitor-up = { };
|
||||||
"Mod+Shift+CTRL+Down".move-column-to-monitor-down = { };
|
# "Mod+Shift+CTRL+Down".move-column-to-monitor-down = { };
|
||||||
|
#
|
||||||
"Mod+Next" = {
|
# "Mod+Next" = {
|
||||||
_props.cooldown-ms = 150;
|
# _props.cooldown-ms = 150;
|
||||||
_props.focus-workspace-down = { };
|
# _props.focus-workspace-down = { };
|
||||||
};
|
# };
|
||||||
"Mod+Prior" = {
|
# "Mod+Prior" = {
|
||||||
_props.cooldown-ms = 150;
|
# _props.cooldown-ms = 150;
|
||||||
_props.focus-workspace-up = { };
|
# _props.focus-workspace-up = { };
|
||||||
};
|
# };
|
||||||
"Mod+CTRL+Next" = {
|
# "Mod+CTRL+Next" = {
|
||||||
_props.cooldown-ms = 150;
|
# _props.cooldown-ms = 150;
|
||||||
_props.move-column-to-workspace-down = { };
|
# _props.move-column-to-workspace-down = { };
|
||||||
};
|
# };
|
||||||
"Mod+CTRL+Prior" = {
|
# "Mod+CTRL+Prior" = {
|
||||||
_props.cooldown-ms = 150;
|
# _props.cooldown-ms = 150;
|
||||||
_props.move-column-to-workspace-up = { };
|
# _props.move-column-to-workspace-up = { };
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
"Mod+WheelScrollRight".focus-column-right = { };
|
# "Mod+WheelScrollRight".focus-column-right = { };
|
||||||
"Mod+WheelScrollLeft".focus-column-left = { };
|
# "Mod+WheelScrollLeft".focus-column-left = { };
|
||||||
"Mod+CTRL+WheelScrollRight".move-column-right = { };
|
# "Mod+CTRL+WheelScrollRight".move-column-right = { };
|
||||||
"Mod+CTRL+WheelScrollLeft".move-column-left = { };
|
# "Mod+CTRL+WheelScrollLeft".move-column-left = { };
|
||||||
|
#
|
||||||
"Mod+Shift+WheelScrollDown".focus-column-right = { };
|
# "Mod+Shift+WheelScrollDown".focus-column-right = { };
|
||||||
"Mod+Shift+WheelScrollUp".focus-column-left = { };
|
# "Mod+Shift+WheelScrollUp".focus-column-left = { };
|
||||||
"Mod+CTRL+Shift+WheelScrollDown".move-column-right = { };
|
# "Mod+CTRL+Shift+WheelScrollDown".move-column-right = { };
|
||||||
"Mod+CTRL+Shift+WheelScrollUp".move-column-left = { };
|
# "Mod+CTRL+Shift+WheelScrollUp".move-column-left = { };
|
||||||
|
#
|
||||||
"Mod+1".focus-workspace = 1;
|
# "Mod+1".focus-workspace = 1;
|
||||||
"Mod+2".focus-workspace = 2;
|
# "Mod+2".focus-workspace = 2;
|
||||||
"Mod+3".focus-workspace = 3;
|
# "Mod+3".focus-workspace = 3;
|
||||||
"Mod+4".focus-workspace = 4;
|
# "Mod+4".focus-workspace = 4;
|
||||||
"Mod+5".focus-workspace = 5;
|
# "Mod+5".focus-workspace = 5;
|
||||||
"Mod+6".focus-workspace = 6;
|
# "Mod+6".focus-workspace = 6;
|
||||||
"Mod+7".focus-workspace = 7;
|
# "Mod+7".focus-workspace = 7;
|
||||||
"Mod+8".focus-workspace = 8;
|
# "Mod+8".focus-workspace = 8;
|
||||||
"Mod+9".focus-workspace = 9;
|
# "Mod+9".focus-workspace = 9;
|
||||||
|
#
|
||||||
"Mod+CTRL+1".move-column-to-workspace = 1;
|
# "Mod+CTRL+1".move-column-to-workspace = 1;
|
||||||
"Mod+CTRL+2".move-column-to-workspace = 2;
|
# "Mod+CTRL+2".move-column-to-workspace = 2;
|
||||||
"Mod+CTRL+3".move-column-to-workspace = 3;
|
# "Mod+CTRL+3".move-column-to-workspace = 3;
|
||||||
"Mod+CTRL+4".move-column-to-workspace = 4;
|
# "Mod+CTRL+4".move-column-to-workspace = 4;
|
||||||
"Mod+CTRL+5".move-column-to-workspace = 5;
|
# "Mod+CTRL+5".move-column-to-workspace = 5;
|
||||||
"Mod+CTRL+6".move-column-to-workspace = 6;
|
# "Mod+CTRL+6".move-column-to-workspace = 6;
|
||||||
"Mod+CTRL+7".move-column-to-workspace = 7;
|
# "Mod+CTRL+7".move-column-to-workspace = 7;
|
||||||
"Mod+CTRL+8".move-column-to-workspace = 8;
|
# "Mod+CTRL+8".move-column-to-workspace = 8;
|
||||||
"Mod+CTRL+9".move-column-to-workspace = 9;
|
# "Mod+CTRL+9".move-column-to-workspace = 9;
|
||||||
|
#
|
||||||
"Mod+TAB".focus-workspace-previous = { };
|
# "Mod+TAB".focus-workspace-previous = { };
|
||||||
|
#
|
||||||
"Mod+CTRL+F".expand-column-to-available-width = { };
|
# "Mod+CTRL+F".expand-column-to-available-width = { };
|
||||||
"Mod+C".center-column = { };
|
# "Mod+C".center-column = { };
|
||||||
"Mod+CTRL+C".center-visible-columns = { };
|
# "Mod+CTRL+C".center-visible-columns = { };
|
||||||
"Mod+Minus".set-column-width = "-10%";
|
# "Mod+Minus".set-column-width = "-10%";
|
||||||
"Mod+Equal".set-column-width = "+10%";
|
# "Mod+Equal".set-column-width = "+10%";
|
||||||
"Mod+Shift+Minus".set-window-height = "-10%";
|
# "Mod+Shift+Minus".set-window-height = "-10%";
|
||||||
"Mod+Shift+Equal".set-window-height = "+10%";
|
# "Mod+Shift+Equal".set-window-height = "+10%";
|
||||||
|
#
|
||||||
"Mod+T".toggle-window-floating = { };
|
# "Mod+T".toggle-window-floating = { };
|
||||||
"Mod+F".fullscreen-window = { };
|
# "Mod+F".fullscreen-window = { };
|
||||||
"Mod+W".toggle-column-tabbed-display = { };
|
# "Mod+W".toggle-column-tabbed-display = { };
|
||||||
|
#
|
||||||
"CTRL+Shift+1".screenshot = { };
|
# "CTRL+Shift+1".screenshot = { };
|
||||||
"CTRL+Shift+2".screenshot-screen = { };
|
# "CTRL+Shift+2".screenshot-screen = { };
|
||||||
"CTRL+Shift+3".screenshot-window = { };
|
# "CTRL+Shift+3".screenshot-window = { };
|
||||||
|
#
|
||||||
"Mod+ESCAPE" = {
|
# "Mod+ESCAPE" = {
|
||||||
allow-inhibiting = false;
|
# allow-inhibiting = false;
|
||||||
toggle-keyboard-shortcuts-inhibit = { };
|
# toggle-keyboard-shortcuts-inhibit = { };
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
"CTRL+ALT+Delete".quit = { };
|
# "CTRL+ALT+Delete".quit = { };
|
||||||
"Mod+Shift+P".power-off-monitors = { };
|
# "Mod+Shift+P".power-off-monitors = { };
|
||||||
"Mod+O" = {
|
# "Mod+O" = {
|
||||||
repeat = false;
|
# repeat = false;
|
||||||
toggle-overview = { };
|
# toggle-overview = { };
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
_props.prefer-no-csd = { };
|
# _props.prefer-no-csd = { };
|
||||||
screenshot-path = "null";
|
# screenshot-path = "null";
|
||||||
|
#
|
||||||
environment = {
|
# environment = {
|
||||||
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
# ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
||||||
QT_QPA_PLATFORM = "wayland";
|
# QT_QPA_PLATFORM = "wayland";
|
||||||
QT_QPA_PLATFORMTHEME = "gtk3";
|
# QT_QPA_PLATFORMTHEME = "gtk3";
|
||||||
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
# QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||||
XDG_CURRENT_DESKTOP = "niri";
|
# XDG_CURRENT_DESKTOP = "niri";
|
||||||
XDG_SESSION_TYPE = "wayland";
|
# XDG_SESSION_TYPE = "wayland";
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
cursor = {
|
# cursor = {
|
||||||
xcursor-theme = "capitaine-cursors";
|
# xcursor-theme = "capitaine-cursors";
|
||||||
xcursor-size = 24;
|
# xcursor-size = 24;
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
debug = {
|
# debug = {
|
||||||
_props.honor-xdg-activation-with-invalid-serial = { };
|
# _props.honor-xdg-activation-with-invalid-serial = { };
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
hotkey-overlay = {
|
# hotkey-overlay = {
|
||||||
_props.skip-at-startup = { };
|
# _props.skip-at-startup = { };
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
window-rule = {
|
# window-rule = {
|
||||||
_props.geometry-corner-radius = 20;
|
# _props.geometry-corner-radius = 20;
|
||||||
clip-to-geometry = true;
|
# clip-to-geometry = true;
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
window-rule = {
|
# window-rule = {
|
||||||
match = "app-id=\"steam\"";
|
# match = "app-id=\"steam\"";
|
||||||
exclude = "title=r#\"^[Ss]team$\"#";
|
# exclude = "title=r#\"^[Ss]team$\"#";
|
||||||
open-floating = true;
|
# open-floating = true;
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
window-rule = {
|
# window-rule = {
|
||||||
match = "app-id=\"steam\" title=r#\"^notificationtoasts_\d+_desktop$\"#";
|
# match = "app-id=\"steam\" title=r#\"^notificationtoasts_\d+_desktop$\"#";
|
||||||
default-floating-position = "x=10 y=10 relative-to=\"bottom-right\"";
|
# default-floating-position = "x=10 y=10 relative-to=\"bottom-right\"";
|
||||||
open-focused = false;
|
# open-focused = false;
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
layer-rule = {
|
# layer-rule = {
|
||||||
match = "namespace=\"^noctalia-wallpaper*\"";
|
# match = "namespace=\"^noctalia-wallpaper*\"";
|
||||||
place-within-backdrop = true;
|
# place-within-backdrop = true;
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
systemd = {
|
# systemd = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
security.rtkit.enable = true;
|
||||||
systemd = {
|
systemd = {
|
||||||
user = {
|
user = {
|
||||||
services = {
|
services = {
|
||||||
@@ -82,6 +83,8 @@
|
|||||||
pipewire = {
|
pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
};
|
};
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
libinput.enable = true;
|
libinput.enable = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user