nix machine / user configurations

feat(dusk@devel.mobi): add nsid-tracker, make netbird client actually run userspace

ptr.pet 0025e56e e641f1e4

verified
Changed files
+38 -8
users
dusk@devel.mobi
modules
netbird
nushell
+5 -1
users/dusk@devel.mobi/default.nix
···
inputs.agenix.homeManagerModules.default
../../modules/persist/null.nix
(tlib.prefixStrings "${inputs.self}/users/modules/" modulesToEnable)
+
./nsid-tracker.nix
];
+
+
systemd.user.settings.Manager.DefaultEnvironment = {
+
PATH = "${pkgs.coreutils-full}/bin:$PATH";
+
};
age.identityPaths = ["${config.home.homeDirectory}/.ssh/id_ed25519"];
home = {
···
shellAliases = {
ctl = "systemctl --user";
jtl = "journalctl --user";
-
jtlu = "journalctl --user --unit";
};
};
+27
users/dusk@devel.mobi/nsid-tracker.nix
···
+
{
+
pkgs,
+
inputs,
+
...
+
}:
+
let
+
server = inputs.nsid-tracker.packages.${pkgs.system}.server;
+
port = 6432;
+
in
+
{
+
systemd.user.services.nsid-tracker = {
+
Unit = {
+
Description = "nsid-tracker";
+
After = [ "network.target" ];
+
};
+
+
Service = {
+
ExecStartPre="${pkgs.coreutils-full}/bin/mkdir -p %D/nsid-tracker";
+
ExecStart = "${pkgs.dash}/bin/dash -c 'cd %D/nsid-tracker && ${server}/bin/server'";
+
Restart = "on-failure";
+
RestartSec = 5;
+
Environment = ["PORT=${toString port};"];
+
};
+
+
Install.WantedBy = [ "multi-user.target" ];
+
};
+
}
+2 -3
users/modules/netbird/default.nix
···
Restart = "on-failure";
RestartSec = "5s";
Environment = l.mapAttrsToList (k: v: "${k}=${toString v}") {
-
PATH = "${pkgs.coreutils}/bin:$PATH";
-
NB_WG_KERNEL_DISABLE = "true";
+
NB_WG_KERNEL_DISABLED = "true";
NB_USE_NETSTACK_MODE = "true";
+
NB_FORCE_USERSPACE_ROUTER = "true";
NB_ENABLE_NETSTACK_LOCAL_FORWARDING = "true";
NB_NETSTACK_SKIP_PROXY = "false";
NB_SOCKS5_LISTENER_PORT = 1080;
-
NB_DISABLE_DNS = "false";
NB_SETUP_KEY_FILE = l.replaceString "\${XDG_RUNTIME_DIR}" "%t" cfg.setupKeyFile;
NB_MANAGEMENT_URL = cfg.managementUrl;
NB_CONFIG = "${config.xdg.configHome}/netbird/config.json";
+4 -4
users/modules/nushell/default.nix
···
algorithm: "fuzzy" # prefix or fuzzy
external: {
# set to false to prevent nushell looking into $env.PATH to find more suggestions
-
enable: true
+
enable: true
# set to lower can improve completion performance at the cost of omitting some options
-
max_results: 100
+
max_results: 100
completer: $multiple_completers
}
}
-
}
-
$env.PATH = ($env.PATH |
+
}
+
$env.PATH = ($env.PATH |
split row (char esep) |
append /usr/bin/env
)