Compare commits

...

2 commits

Author SHA1 Message Date
939d0cc861
system/tailscale: persist tailscale state
Some checks are pending
CI / Build linux-lava for x86_64-linux (push) Waiting to run
2026-05-30 20:37:42 +10:00
0edeac9f4c
user/neovim: remove lsp.with 2026-05-30 19:38:31 +10:00
6 changed files with 34 additions and 23 deletions

9
modules/binds.nix Normal file
View file

@ -0,0 +1,9 @@
{ config, lib, ...}: {
imports = [ ./options.nix ];
fileSystems = lib.mapAttrs (dest: key: {
depends = [ "/persist" ];
device = "/persist/binds/${key}";
fsType = "none";
options = [ "bind" ];
}) config.me.binds;
}

View file

@ -14,6 +14,7 @@ let
}) paths }) paths
); );
in { in {
binds = ./binds.nix;
options = ./options.nix; options = ./options.nix;
services = mkAttrsFromPaths [ services = mkAttrsFromPaths [
./services/banksia.nix ./services/banksia.nix

View file

@ -44,5 +44,10 @@ in {
type = types.bool; type = types.bool;
default = false; default = false;
}; };
binds = lib.mkOption {
type = with lib.types; attrsOf str;
default = {};
};
}; };
} }

View file

@ -1,5 +1,5 @@
{ config, inputs, modules, ... }: { { config, inputs, modules, ... }: {
imports = [ modules.options ]; imports = [ modules.binds modules.options ];
environment.etc = { environment.etc = {
"machine-id".source = "/persist/machine-id"; "machine-id".source = "/persist/machine-id";

View file

@ -1,5 +1,6 @@
{ config, ... }: { { config, ... }: {
age.secrets.tailscale_auth.file = ../../secrets/tailscale_auth.age; age.secrets.tailscale_auth.file = ../../secrets/tailscale_auth.age;
me.binds."/var/lib/tailscale" = "tailscale";
services.tailscale = { services.tailscale = {
enable = true; enable = true;
authKeyFile = config.age.secrets.tailscale_auth.path; authKeyFile = config.age.secrets.tailscale_auth.path;

View file

@ -108,18 +108,18 @@ require('lualine').setup {
-- many thanks to @kristijanhusak -- many thanks to @kristijanhusak
-- https://github.com/nvim-treesitter/nvim-treesitter/issues/1167#issuecomment-920824125 -- https://github.com/nvim-treesitter/nvim-treesitter/issues/1167#issuecomment-920824125
function _G.javascript_indent() function _G.javascript_indent()
local line = vim.fn.getline(vim.v.lnum) local line = vim.fn.getline(vim.v.lnum)
local prev_line = vim.fn.getline(vim.v.lnum - 1) local prev_line = vim.fn.getline(vim.v.lnum - 1)
if line:match('^%s*[%*/]%s*') then if line:match('^%s*[%*/]%s*') then
if prev_line:match('^%s*%*%s*') then if prev_line:match('^%s*%*%s*') then
return vim.fn.indent(vim.v.lnum - 1) return vim.fn.indent(vim.v.lnum - 1)
end
if prev_line:match('^%s*/%*%*%s*$') then
return vim.fn.indent(vim.v.lnum - 1) + 1
end
end end
if prev_line:match('^%s*/%*%*%s*$') then
return vim.fn.indent(vim.v.lnum - 1) + 1
end
end
return vim.fn['GetJavascriptIndent']() return vim.fn['GetJavascriptIndent']()
end end
vim.cmd('au FileType javascript setlocal indentexpr=v:lua.javascript_indent()') vim.cmd('au FileType javascript setlocal indentexpr=v:lua.javascript_indent()')
@ -157,18 +157,13 @@ vim.api.nvim_create_autocmd("LspAttach", {
end end
}) })
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( vim.diagnostic.config({
vim.lsp.diagnostic.on_publish_diagnostics, { focusable = false,
focusable = false, virtual_text = false,
virtual_text = false, underline = true,
underline = true, signs = true,
signs = true, update_in_insert = true
update_in_insert = true })
}
)
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(
vim.lsp.handlers.signature_help, { focusable = false }
)
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities) capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)