Compare commits

...

15 Commits

Author SHA1 Message Date
7bd24eaea6 enable rtkit and alsa for pipewire 2026-09-03 18:50:06 -05:00
cb31edd30a moving nvim.lua for stobbsm to nvim.nix 2026-08-20 15:18:12 -05:00
623ff4e1a9 add gobin to path 2026-08-20 14:34:03 -05:00
3ff184e813 add extra packages to neovim 2026-08-20 14:28:11 -05:00
a0239eb5a9 add extra packages to neovim install 2026-08-20 14:12:53 -05:00
e9c8dfe196 fix (hopefully) neovide font 2026-08-20 13:46:49 -05:00
a6ce51554f remove background-opacity from ghostty 2026-08-20 13:08:08 -05:00
e3bca91c69 update background colour in ghostty 2026-08-20 12:58:09 -05:00
0be13c3ce1 remove unneeded yazi.toml 2026-08-20 12:56:36 -05:00
230aff4564 rename yazi flavor, move to directory layout 2026-08-20 12:50:35 -05:00
a64ff2cb9c fix yazi config 2026-08-20 12:39:31 -05:00
21581780d0 rename stobbsm/init.lua 2026-08-20 12:30:53 -05:00
ff59fb17c5 remove font config for now 2026-08-20 12:28:21 -05:00
5ac6408727 remove wayland config for now
- try to configure a shell to handle the config for me?
2026-08-20 12:27:41 -05:00
598c2e9780 fix properties issue 2026-08-20 12:22:59 -05:00
6 changed files with 557 additions and 396 deletions

View File

@@ -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
@@ -553,4 +539,4 @@ wk.add({
{ '<M-h>', '<cmd>tabprev<CR>', desc = 'Navigate to previous tab' }, { '<M-h>', '<cmd>tabprev<CR>', desc = 'Navigate to previous tab' },
{ '<M-l>', '<cmd>tabnext<CR>', desc = 'Navigate to next tab' }, { '<M-l>', '<cmd>tabnext<CR>', desc = 'Navigate to next tab' },
}, },
}) -- }}} }) -- }}}

View 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
];
};
}

View File

@@ -1,6 +0,0 @@
[mgr]
show_hidden = true
sort_by = "natural"
sort_sensitive = true
sort_dir_first = true
scrolloff = 5

View File

@@ -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;
}; # };
}; # };
}; # };
}; # };
} }

View File

@@ -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;
@@ -93,4 +96,4 @@
}; };
}; };
}; };
} }