xdg os check
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
#ENC[AES256_GCM,data:b7E2U/jRfXEKulR/Pba0L4Aucy3MSUPj2BU=,iv:+KC+vfB2z2AIiPr5uIC4Pbfgc44GOs6SVRZW1v80hUE=,tag:kkn3UfJwdgxYERmfiMUmjw==,type:comment]
|
#ENC[AES256_GCM,data:b7E2U/jRfXEKulR/Pba0L4Aucy3MSUPj2BU=,iv:+KC+vfB2z2AIiPr5uIC4Pbfgc44GOs6SVRZW1v80hUE=,tag:kkn3UfJwdgxYERmfiMUmjw==,type:comment]
|
||||||
blake_passwd: ENC[AES256_GCM,data:AfFql6/ghGhCDLOb4+QuAsDznz4hC4ilxZYCIH2sgBWX9tWXsUOgFw1k7CIhDoXIehz6YlTy0czekXPCqHL5gmIKRQTowU4svocw/Bl/Qz5CQ58RASB6YpnzOKTrwX7HCnu/ghpdMrcy2A==,iv:hMAkLcHjP0hiyCY4rhMU0Ae7jdYPa6MffEd2WGolbEo=,tag:p/6xmD8Te1RnFkp0zWw+ew==,type:str]
|
blake_passwd: ENC[AES256_GCM,data:AfFql6/ghGhCDLOb4+QuAsDznz4hC4ilxZYCIH2sgBWX9tWXsUOgFw1k7CIhDoXIehz6YlTy0czekXPCqHL5gmIKRQTowU4svocw/Bl/Qz5CQ58RASB6YpnzOKTrwX7HCnu/ghpdMrcy2A==,iv:hMAkLcHjP0hiyCY4rhMU0Ae7jdYPa6MffEd2WGolbEo=,tag:p/6xmD8Te1RnFkp0zWw+ew==,type:str]
|
||||||
#ENC[AES256_GCM,data:0HBVS2AYQ2VZXY4EbMLwiSjRNyWZ57bf,iv:20SLWXpbRTLk76g5mFrhg1Z9Qasv3NoSJbK/FOiIgtk=,tag:DbUffQwrDqzy2QO64uoUeg==,type:comment]
|
#ENC[AES256_GCM,data:0HBVS2AYQ2VZXY4EbMLwiSjRNyWZ57bf,iv:20SLWXpbRTLk76g5mFrhg1Z9Qasv3NoSJbK/FOiIgtk=,tag:DbUffQwrDqzy2QO64uoUeg==,type:comment]
|
||||||
klefki_auth_mapping: ENC[AES256_GCM,data:pvQEdxtj,iv:7IyAbt6yXfp2UBrZooRAT/9/E8c4+HCm5t+F5U2Lqzk=,tag:RcS/aWHSheMvLz3QhhCPxw==,type:str]
|
klefki_auth_map: ENC[AES256_GCM,data:u8OBLtT/,iv:THW21BDyhyFIjcwixsAnaAODofxbuQZnpdgt9HGdDIg=,tag:zUvbOO8tLAnxdeMcWpvsdg==,type:str]
|
||||||
#ENC[AES256_GCM,data:ZxHtUSuOy19M0EKoT5xltFiqRg==,iv:72PJL2eG68VC4wiJFo6wL0l7AaDIsge8l/D/ZlLOWWA=,tag:Q16ztObK2AnbCCS5mRgjtA==,type:comment]
|
#ENC[AES256_GCM,data:ZxHtUSuOy19M0EKoT5xltFiqRg==,iv:72PJL2eG68VC4wiJFo6wL0l7AaDIsge8l/D/ZlLOWWA=,tag:Q16ztObK2AnbCCS5mRgjtA==,type:comment]
|
||||||
tailscale_authkey: ENC[AES256_GCM,data:SU0k3asrJd+WZ86VbC4w8TDJp+MqsbyagrzCfDcgTzO5yvBjpWAKbJ7A+VxgQvdu4+S2jMYbdrONPp3YbQ==,iv:VMYmGVk5GpUQApKKQYhdOw/cYCXrXxEZJJwHfQL4MjQ=,tag:7ruaoCDxuFQ7tE/JLJ37Xw==,type:str]
|
tailscale_authkey: ENC[AES256_GCM,data:SU0k3asrJd+WZ86VbC4w8TDJp+MqsbyagrzCfDcgTzO5yvBjpWAKbJ7A+VxgQvdu4+S2jMYbdrONPp3YbQ==,iv:VMYmGVk5GpUQApKKQYhdOw/cYCXrXxEZJJwHfQL4MjQ=,tag:7ruaoCDxuFQ7tE/JLJ37Xw==,type:str]
|
||||||
#ENC[AES256_GCM,data:bEbCic+ZDAA5ieNedCbiVbJrse17,iv:UwRYlis6NPB/RUcv+YnPxrGdbIcF4hrNiZt19YvWZNQ=,tag:m6PVlzPNnahX7X7KzMUj7A==,type:comment]
|
#ENC[AES256_GCM,data:bEbCic+ZDAA5ieNedCbiVbJrse17,iv:UwRYlis6NPB/RUcv+YnPxrGdbIcF4hrNiZt19YvWZNQ=,tag:m6PVlzPNnahX7X7KzMUj7A==,type:comment]
|
||||||
@@ -47,7 +47,7 @@ sops:
|
|||||||
U0tmdFBuZnJES3piOTZNV0VKQmQ0eVUKCWRQ/flLzmpC64WyLoipklZBmrkpYiUg
|
U0tmdFBuZnJES3piOTZNV0VKQmQ0eVUKCWRQ/flLzmpC64WyLoipklZBmrkpYiUg
|
||||||
PRu+itNolpPTHm96pe+P93g2iP0wgekG0cX21wkiU2xaLF3dY2FEIA==
|
PRu+itNolpPTHm96pe+P93g2iP0wgekG0cX21wkiU2xaLF3dY2FEIA==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2025-10-17T02:56:39Z"
|
lastmodified: "2025-10-17T08:24:51Z"
|
||||||
mac: ENC[AES256_GCM,data:vs3SAec+USFLUkmsV3OBjVT5V5XwG/sqD2pMK5fDaUm0vTwk5nQsqNZz+uEG6DakG+xXJdyMfXTp2pBVPuuRkZhplIXtt1Pb2ExSqprmyN5O0jFGpNCMZq4pq6BqvM0fjdz6T3BXRhmJ3Z7e35/hn/8CJGYanNX5Ybb+0Ugx5Gg=,iv:PLw22dGgd3auwrSNvuD9Ur4+j9dNR1Of6w7dtQZLoYQ=,tag:u8OHCs6Xlrt+2sGK1NWQZA==,type:str]
|
mac: ENC[AES256_GCM,data:kIlrr+U7+O1Ocdi8CffmQNOQYh46crnaaQHBOkeOwG4AuAErNb1UjhZiOUELYD6bTG4GnIw0QGAS6xu+C22aA/jKsg/Z0q/LjX3FPDLLmLyEXhjIDVB+DOsxUsUWupZqGOq+HoBWuVYt11kc2ylPqqC5JlxNwQpIXGa1YgsKaNQ=,iv:L813P4Zvse38E2+K1wv0kTrPYgaKQc0rAleGGfhJRyA=,tag:k0v2ApQincLnu1Pd3WOkGw==,type:str]
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.11.0
|
version: 3.11.0
|
||||||
|
|||||||
@@ -4,187 +4,183 @@
|
|||||||
lib,
|
lib,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}: let
|
}:
|
||||||
cfg = config.blake.nvf;
|
{
|
||||||
in {
|
imports = [
|
||||||
options.blake.nvf = {
|
inputs.nvf.homeManagerModules.default
|
||||||
enable = lib.mkEnableOption;
|
];
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
programs.nvf = {
|
||||||
imports = [inputs.nvf.homeManagerModules.default];
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
vim = {
|
||||||
|
globals = {
|
||||||
|
mapleader = " ";
|
||||||
|
maplocalleader = " ";
|
||||||
|
};
|
||||||
|
|
||||||
programs.nvf = {
|
vimAlias = true;
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
vim = {
|
|
||||||
globals = {
|
|
||||||
mapleader = " ";
|
|
||||||
maplocalleader = " ";
|
|
||||||
};
|
|
||||||
|
|
||||||
vimAlias = true;
|
lsp.enable = true;
|
||||||
|
statusline.lualine.enable = true;
|
||||||
|
telescope.enable = true;
|
||||||
|
autocomplete.nvim-cmp.enable = true;
|
||||||
|
autopairs.nvim-autopairs.enable = true;
|
||||||
|
|
||||||
lsp.enable = true;
|
keymaps = [
|
||||||
statusline.lualine.enable = true;
|
# visual line movement (insert mode)
|
||||||
telescope.enable = true;
|
{
|
||||||
autocomplete.nvim-cmp.enable = true;
|
key = "<Up>";
|
||||||
autopairs.nvim-autopairs.enable = true;
|
mode = [ "i" ];
|
||||||
|
action = "<C-o>gk";
|
||||||
|
desc = "Visual Line Up (Insert)";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<Down>";
|
||||||
|
mode = [ "i" ];
|
||||||
|
action = "<C-o>gj";
|
||||||
|
desc = "Visual Line Down (Insert)";
|
||||||
|
}
|
||||||
|
|
||||||
keymaps = [
|
# visual line movement (normal/visual)
|
||||||
# visual line movement (insert mode)
|
{
|
||||||
{
|
key = "<Up>";
|
||||||
key = "<Up>";
|
mode = [
|
||||||
mode = ["i"];
|
"n"
|
||||||
action = "<C-o>gk";
|
"v"
|
||||||
desc = "Visual Line Up (Insert)";
|
];
|
||||||
}
|
action = "g<Up>";
|
||||||
{
|
desc = "Visual Line Up";
|
||||||
key = "<Down>";
|
}
|
||||||
mode = ["i"];
|
{
|
||||||
action = "<C-o>gj";
|
key = "<Down>";
|
||||||
desc = "Visual Line Down (Insert)";
|
mode = [
|
||||||
}
|
"n"
|
||||||
|
"v"
|
||||||
|
];
|
||||||
|
action = "g<Down>";
|
||||||
|
desc = "Visual Line Down";
|
||||||
|
}
|
||||||
|
|
||||||
# visual line movement (normal/visual)
|
# lsp
|
||||||
{
|
#{ key = "gd"; mode = [ "n" ]; action = "<cmd>lua vim.lsp.buf.definition()<CR>"; desc = "Go to definition"; }
|
||||||
key = "<Up>";
|
#{ key = "K"; mode = [ "n" ]; action = "<cmd>lua vim.lsp.buf.hover()<CR>"; desc = "Hover info"; }
|
||||||
mode = [
|
#{ key = "<leader>f"; mode = [ "n" ]; action = "<cmd>lua vim.lsp.buf.format({ async = true })<CR>"; desc = "Format buffer"; }
|
||||||
"n"
|
|
||||||
"v"
|
|
||||||
];
|
|
||||||
action = "g<Up>";
|
|
||||||
desc = "Visual Line Up";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<Down>";
|
|
||||||
mode = [
|
|
||||||
"n"
|
|
||||||
"v"
|
|
||||||
];
|
|
||||||
action = "g<Down>";
|
|
||||||
desc = "Visual Line Down";
|
|
||||||
}
|
|
||||||
|
|
||||||
# lsp
|
{
|
||||||
#{ key = "gd"; mode = [ "n" ]; action = "<cmd>lua vim.lsp.buf.definition()<CR>"; desc = "Go to definition"; }
|
key = "gd";
|
||||||
#{ key = "K"; mode = [ "n" ]; action = "<cmd>lua vim.lsp.buf.hover()<CR>"; desc = "Hover info"; }
|
mode = [ "n" ];
|
||||||
#{ key = "<leader>f"; mode = [ "n" ]; action = "<cmd>lua vim.lsp.buf.format({ async = true })<CR>"; desc = "Format buffer"; }
|
silent = true;
|
||||||
|
action = "<cmd>lua vim.lsp.buf.definition()<CR>";
|
||||||
|
desc = "Go to definition";
|
||||||
|
}
|
||||||
|
# Hover info
|
||||||
|
{
|
||||||
|
key = "K";
|
||||||
|
mode = [ "n" ];
|
||||||
|
silent = true;
|
||||||
|
action = "<cmd>lua vim.lsp.buf.hover()<CR>";
|
||||||
|
desc = "Hover info";
|
||||||
|
}
|
||||||
|
# Format buffer (Alejandra for Nix)
|
||||||
|
{
|
||||||
|
key = "<leader>F";
|
||||||
|
mode = [ "n" ];
|
||||||
|
silent = true;
|
||||||
|
action = "<cmd>lua vim.lsp.buf.format({ async = true })<CR>";
|
||||||
|
desc = "Format buffer";
|
||||||
|
}
|
||||||
|
# Code actions / quickfix
|
||||||
|
{
|
||||||
|
key = "<leader>a";
|
||||||
|
mode = [ "n" ];
|
||||||
|
silent = true;
|
||||||
|
action = "<cmd>lua vim.lsp.buf.code_action()<CR>";
|
||||||
|
desc = "Code action";
|
||||||
|
}
|
||||||
|
# Rename symbol
|
||||||
|
{
|
||||||
|
key = "<leader>r";
|
||||||
|
mode = [ "n" ];
|
||||||
|
silent = true;
|
||||||
|
action = "<cmd>lua vim.lsp.buf.rename()<CR>";
|
||||||
|
desc = "Rename symbol";
|
||||||
|
}
|
||||||
|
# Diagnostics
|
||||||
|
{
|
||||||
|
key = "<leader>e";
|
||||||
|
mode = [ "n" ];
|
||||||
|
silent = true;
|
||||||
|
action = "<cmd>lua vim.diagnostic.open_float()<CR>";
|
||||||
|
desc = "Show diagnostic";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "[d";
|
||||||
|
mode = [ "n" ];
|
||||||
|
silent = true;
|
||||||
|
action = "<cmd>lua vim.diagnostic.goto_prev()<CR>";
|
||||||
|
desc = "Previous diagnostic";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "]d";
|
||||||
|
mode = [ "n" ];
|
||||||
|
silent = true;
|
||||||
|
action = "<cmd>lua vim.diagnostic.goto_next()<CR>";
|
||||||
|
desc = "Next diagnostic";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
{
|
options = {
|
||||||
key = "gd";
|
clipboard = "unnamedplus";
|
||||||
mode = ["n"];
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua vim.lsp.buf.definition()<CR>";
|
|
||||||
desc = "Go to definition";
|
|
||||||
}
|
|
||||||
# Hover info
|
|
||||||
{
|
|
||||||
key = "K";
|
|
||||||
mode = ["n"];
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua vim.lsp.buf.hover()<CR>";
|
|
||||||
desc = "Hover info";
|
|
||||||
}
|
|
||||||
# Format buffer (Alejandra for Nix)
|
|
||||||
{
|
|
||||||
key = "<leader>F";
|
|
||||||
mode = ["n"];
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua vim.lsp.buf.format({ async = true })<CR>";
|
|
||||||
desc = "Format buffer";
|
|
||||||
}
|
|
||||||
# Code actions / quickfix
|
|
||||||
{
|
|
||||||
key = "<leader>a";
|
|
||||||
mode = ["n"];
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua vim.lsp.buf.code_action()<CR>";
|
|
||||||
desc = "Code action";
|
|
||||||
}
|
|
||||||
# Rename symbol
|
|
||||||
{
|
|
||||||
key = "<leader>r";
|
|
||||||
mode = ["n"];
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua vim.lsp.buf.rename()<CR>";
|
|
||||||
desc = "Rename symbol";
|
|
||||||
}
|
|
||||||
# Diagnostics
|
|
||||||
{
|
|
||||||
key = "<leader>e";
|
|
||||||
mode = ["n"];
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua vim.diagnostic.open_float()<CR>";
|
|
||||||
desc = "Show diagnostic";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "[d";
|
|
||||||
mode = ["n"];
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua vim.diagnostic.goto_prev()<CR>";
|
|
||||||
desc = "Previous diagnostic";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "]d";
|
|
||||||
mode = ["n"];
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua vim.diagnostic.goto_next()<CR>";
|
|
||||||
desc = "Next diagnostic";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
options = {
|
# line numbers
|
||||||
clipboard = "unnamedplus";
|
number = true;
|
||||||
|
numberwidth = 2;
|
||||||
|
relativenumber = true;
|
||||||
|
|
||||||
# line numbers
|
# tabs and indentation
|
||||||
number = true;
|
tabstop = 2;
|
||||||
numberwidth = 2;
|
shiftwidth = 2;
|
||||||
relativenumber = true;
|
softtabstop = -1;
|
||||||
|
expandtab = true;
|
||||||
|
smarttab = true;
|
||||||
|
autoindent = true;
|
||||||
|
|
||||||
# tabs and indentation
|
# search
|
||||||
tabstop = 2;
|
ignorecase = true;
|
||||||
shiftwidth = 2;
|
smartcase = true;
|
||||||
softtabstop = -1;
|
|
||||||
expandtab = true;
|
|
||||||
smarttab = true;
|
|
||||||
autoindent = true;
|
|
||||||
|
|
||||||
# search
|
# files and backups
|
||||||
ignorecase = true;
|
backup = false;
|
||||||
smartcase = true;
|
writebackup = false;
|
||||||
|
undofile = true;
|
||||||
|
swapfile = true;
|
||||||
|
|
||||||
# files and backups
|
# wrapping
|
||||||
backup = false;
|
wrap = true;
|
||||||
writebackup = false;
|
linebreak = true;
|
||||||
undofile = true;
|
breakindent = true;
|
||||||
swapfile = true;
|
|
||||||
|
|
||||||
# wrapping
|
termguicolors = true;
|
||||||
wrap = true;
|
autoread = true;
|
||||||
linebreak = true;
|
};
|
||||||
breakindent = true;
|
|
||||||
|
|
||||||
termguicolors = true;
|
languages = {
|
||||||
autoread = true;
|
enableTreesitter = true;
|
||||||
};
|
|
||||||
|
|
||||||
languages = {
|
nix = {
|
||||||
enableTreesitter = true;
|
enable = true;
|
||||||
|
format = {
|
||||||
nix = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
format = {
|
type = "alejandra";
|
||||||
enable = true;
|
#type = "nixfmt";
|
||||||
type = "alejandra";
|
|
||||||
#type = "nixfmt";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
markdown.enable = true;
|
|
||||||
rust.enable = true;
|
|
||||||
lua.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
markdown.enable = true;
|
||||||
|
rust.enable = true;
|
||||||
|
lua.enable = true;
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
}: {
|
}: {
|
||||||
home.packages = with pkgs; [xdg-ninja];
|
home.packages = with pkgs; [xdg-ninja];
|
||||||
|
|
||||||
xdg = {
|
xdg = if pkgs.system == "x86_64-linux" then {} else {
|
||||||
enable = true;
|
enable = true;
|
||||||
configHome = "${config.home.homeDirectory}/.config";
|
configHome = "${config.home.homeDirectory}/.config";
|
||||||
cacheHome = "${config.home.homeDirectory}/.cache";
|
cacheHome = "${config.home.homeDirectory}/.cache";
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# misc env variables to get things out of ~ (<3 xdg-ninja)
|
# misc env variables to get things out of ~ (<3 xdg-ninja)
|
||||||
home.sessionVariables = {
|
home.sessionVariables = if pkgs.system == "x86_64-darwin" then {} else {
|
||||||
GOPATH="$XDG_DATA_HOME/go";
|
GOPATH="$XDG_DATA_HOME/go";
|
||||||
_JAVA_OPTIONS=''-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java'';
|
_JAVA_OPTIONS=''-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java'';
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -7,11 +7,17 @@
|
|||||||
}: let
|
}: let
|
||||||
|
|
||||||
# general config
|
# general config
|
||||||
linux_home = {
|
home_linux = {
|
||||||
username = "blake";
|
username = "blake";
|
||||||
homeDirectory = "/home/blake";
|
homeDirectory = "/home/blake";
|
||||||
};
|
};
|
||||||
linux_imports = [
|
home_darwin = {
|
||||||
|
username = "bhelderman";
|
||||||
|
homeDirectory = "/Users/bhelderman";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
inputs.sops-nix.homeManagerModules.sops
|
||||||
./dots/neovim
|
./dots/neovim
|
||||||
./dots/lf
|
./dots/lf
|
||||||
@@ -21,25 +27,9 @@
|
|||||||
./dots/git
|
./dots/git
|
||||||
./dots/xdg
|
./dots/xdg
|
||||||
];
|
];
|
||||||
darwin_home = {
|
|
||||||
username = "blake";
|
|
||||||
homeDirectory = "/home/blake";
|
|
||||||
};
|
|
||||||
darwin_imports = [
|
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
|
||||||
./dots/neovim
|
|
||||||
./dots/lf
|
|
||||||
./dots/zsh
|
|
||||||
./dots/ssh
|
|
||||||
./dots/gpg
|
|
||||||
./dots/git
|
|
||||||
];
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = if pkgs.system == "x86_64-darwin" then darwin_imports else linux_imports;
|
|
||||||
|
|
||||||
# general config
|
# general config
|
||||||
home = (if pkgs.system == "x86_64-darwin" then darwin_home else linux_home) // {
|
home = (if pkgs.system == "x86_64-darwin" then home_darwin else home_linux) // {
|
||||||
# cross party general packages here : )
|
# cross party general packages here : )
|
||||||
stateVersion = "25.05";
|
stateVersion = "25.05";
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
|
|||||||
Reference in New Issue
Block a user