Add SSH configuration, move more things to xdg dirs

This commit is contained in:
Bun 2025-05-16 02:45:17 -04:00
parent 48ce4411be
commit 517b0a5981
14 changed files with 67 additions and 35 deletions

View file

@ -5,7 +5,6 @@
./programs
./services
./settings
./user
./variables
./wms
];

View file

@ -12,6 +12,8 @@
];
};
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "data/.config/obs-studio" ];
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories =
with lib; with config.home; with config.xdg;
[ "data/${removePrefix "${homeDirectory}/" configHome}/obs-studio" ];
};
}

View file

@ -14,6 +14,7 @@
./nh
./nix-index
./ranger
./ssh
./tmux
./yt-dlp
./zoxide

View file

@ -1,9 +1,11 @@
{ config, ... }:
{ config, lib, ... }:
{
programs.direnv = {
enable = true;
nix-direnv.enable = true;
};
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "data/.local/share/direnv" ];
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories =
with lib; with config.home; with config.xdg;
[ "data/${removePrefix "${homeDirectory}/" dataHome}/direnv" ];
}

View file

@ -1,5 +1,7 @@
{ config, ... }:
{ config, lib, ... }:
{
programs.lazygit.enable = true;
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "state/.local/state/lazygit" ];
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories =
with lib; with config.home; with config.xdg;
[ "state/${removePrefix "${homeDirectory}/" stateHome}/lazygit" ];
}

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, lib, pkgs, ... }:
{
programs.neovim = {
enable = true;
@ -103,7 +103,7 @@
set mouse=a
set undofile
set undodir=$HOME/.local/share/nvim/undo
set undodir=${config.xdg.dataHome}/nvim/undo
set undolevels=100
set undoreload=10000
@ -115,6 +115,8 @@
home = {
sessionVariables.MANPAGER = "nvim +Man!";
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "state/.local/share/nvim/undo" ];
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories =
with lib; with config.home; with config.xdg;
[ "state/${removePrefix "${homeDirectory}/" dataHome}/nvim/undo" ];
};
}

View file

@ -1,4 +1,4 @@
{ config, pkgsStable, ... }:
{ config, lib, pkgsStable, ... }:
{
programs.ranger = {
enable = true;
@ -94,28 +94,28 @@
# Ranger's bookmarks and necessary tools
home = {
file = {
".local/share/ranger/bookmarks".text = ''
file = with lib; with config.home; with config.xdg; with config.xdg.userDirs; with config.xdg.userDirs.extraConfig; {
"${removePrefix "${homeDirectory}/" dataHome}/ranger/bookmarks".text = ''
# Local files
h:${config.home.homeDirectory}
k:${config.home.homeDirectory}/Keepers
d:${config.home.homeDirectory}/Downloads
j:${config.home.homeDirectory}/Documents
p:${config.home.homeDirectory}/Photos
v:${config.home.homeDirectory}/Videos
n:${config.home.homeDirectory}/Projects/nixos-config
c:${config.home.homeDirectory}/.config
l:${config.home.homeDirectory}/.local
q:/persist
h:${homeDirectory}
k:${XDG_KEEPERS_DIR}
d:${download}
j:${documents}
p:${pictures}
v:${videos}
n:${XDG_PROJECTS_DIR}/nixos-config
c:${configHome}
l:${dataHome}
q:${XDG_PERSIST_DIR}
w:/mnt
# Remote files
N:${config.home.homeDirectory}/Network
H:${config.home.homeDirectory}/Network/Midas/
K:${config.home.homeDirectory}/Network/Midas/Files
M:${config.home.homeDirectory}/Network/Midas/Music
V:${config.home.homeDirectory}/Network/Midas/Videos
P:${config.home.homeDirectory}/Network/Midas/Photos
N:${XDG_NETWORK_DIR}/
H:${XDG_NETWORK_DIR}/Midas/
K:${XDG_NETWORK_DIR}/Midas/Files
M:${XDG_NETWORK_DIR}/Midas/Music
V:${XDG_NETWORK_DIR}/Midas/Videos
P:${XDG_NETWORK_DIR}/Midas/Photos
'';
};
packages = with pkgsStable; [

View file

@ -1,7 +1,24 @@
{ ... }:
{ config, lib, ... }:
{
programs.ssh = {
enable = true;
addKeysToAgent = "yes";
compression = true;
matchBlocks = with lib.hm.dag; {
nixfox = {
host = "*.nixfox.ca";
user = config.home.username;
};
midas = entryAfter [ "nixfox" ] {
hostname = "sv.nixfox.ca";
};
kitty = entryAfter [ "nixfox" ] {
hostname = "sv.nixfox.ca";
port = 2222;
};
prophet = entryAfter [ "nixfox" ] {
hostname = "mx.nixfox.ca";
};
};
};
}

View file

@ -1,9 +1,11 @@
{ config, ... }:
{ config, lib, ... }:
{
programs.zoxide.enable = true;
home = {
shellAliases.cd = "z";
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "state/.local/share/zoxide" ];
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories =
with lib; with config.home; with config.xdg;
[ "state/${removePrefix "${homeDirectory}/" dataHome}/zoxide" ];
};
}

View file

@ -5,7 +5,7 @@
mpd = {
enable = true;
network.startWhenNeeded = true;
musicDirectory = "${config.home.homeDirectory}/Network/Midas/Music/NixBops";
musicDirectory = "${config.xdg.userDirs.extraConfig.XDG_NETWORK_DIR}/Midas/Music/NixBops";
playlistDirectory = "${config.services.mpd.musicDirectory}/Playlists";
extraConfig = ''
audio_output {
@ -18,6 +18,8 @@
mpd-discord-rpc.enable = true;
};
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "state/.local/share/mpd" ];
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories =
with lib; with config.home; with config.xdg;
[ "state/${removePrefix "${homeDirectory}/" dataHome}/mpd" ];
};
}

View file

@ -8,7 +8,8 @@
uris = [ "qemu:///system" ];
};
};
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = with lib; with config.home; with config.xdg;
[ "games/${removePrefix "${homeDirectory}/" stateHome}/dconf" ];
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories =
with lib; with config.home; with config.xdg;
[ "state/${removePrefix "${homeDirectory}/" configHome}/dconf" ];
};
}

View file

@ -11,6 +11,7 @@
./nix
./nixgl
./qt
./user
./xdg
];
}

View file

@ -13,6 +13,7 @@
extraConfig = {
XDG_GAMES_DIR = "${homeDirectory}/Games";
XDG_KEEPERS_DIR = "${homeDirectory}/Keepers";
XDG_NETWORK_DIR = "${homeDirectory}/Network";
XDG_PERSIST_DIR = if !config.targets.genericLinux.enable then "/persist${homeDirectory}" else "${homeDirectory}/.stow";
XDG_PROJECTS_DIR = "${homeDirectory}/Projects";
XDG_SCREENSHOTS_DIR = "${config.xdg.userDirs.pictures}/Screenshots";