Fix wineWow64Packages, add network tools, imports
This commit is contained in:
parent
25165a1feb
commit
d09a73fd1f
1 changed files with 18 additions and 32 deletions
|
|
@ -2,11 +2,6 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ ../hardware-configuration.nix ./emulation.nix ];
|
imports = [ ../hardware-configuration.nix ./emulation.nix ];
|
||||||
# DNS fallback (Tailscale MagicDNS sometimes blocks public resolvers)
|
|
||||||
networking.nameservers = [ "1.1.1.1" "8.8.8.8" ];
|
|
||||||
security.sudo.extraRules = [
|
|
||||||
{ groups = [ "wheel" ]; commands = [ { command = "ALL"; options = [ "NOPASSWD" ]; } ]; }
|
|
||||||
];
|
|
||||||
|
|
||||||
# === System Packages ===
|
# === System Packages ===
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
@ -34,14 +29,26 @@
|
||||||
openssh
|
openssh
|
||||||
mosh
|
mosh
|
||||||
|
|
||||||
# SMB/CIFS mount support
|
|
||||||
cifs-utils
|
|
||||||
mount-truenas-shared
|
|
||||||
# Network debugging
|
# Network debugging
|
||||||
bind
|
bind
|
||||||
traceroute
|
traceroute
|
||||||
mtr
|
mtr
|
||||||
netcat
|
netcat
|
||||||
|
|
||||||
|
# SMB/CIFS mount support
|
||||||
|
cifs-utils
|
||||||
|
mount-truenas-shared
|
||||||
|
|
||||||
|
# Windows apps via Wine
|
||||||
|
wineWow64Packages.stable
|
||||||
|
];
|
||||||
|
|
||||||
|
# DNS fallback (Tailscale MagicDNS sometimes blocks public resolvers)
|
||||||
|
networking.nameservers = [ "1.1.1.1" "8.8.8.8" ];
|
||||||
|
|
||||||
|
# Passwordless sudo for sscoble
|
||||||
|
security.sudo.extraRules = [
|
||||||
|
{ groups = [ "wheel" ]; commands = [ { command = "ALL"; options = [ "NOPASSWD" ]; } ]; }
|
||||||
];
|
];
|
||||||
|
|
||||||
# === Network Shares ===
|
# === Network Shares ===
|
||||||
|
|
@ -52,11 +59,6 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
systemd.services.mount-truenas-shared = {
|
systemd.services.mount-truenas-shared = {
|
||||||
# Network debugging
|
|
||||||
bind
|
|
||||||
traceroute
|
|
||||||
mtr
|
|
||||||
netcat
|
|
||||||
description = "Mount TrueNAS Shared SMB volume";
|
description = "Mount TrueNAS Shared SMB volume";
|
||||||
after = [ "network-online.target" "tailscaled.service" ];
|
after = [ "network-online.target" "tailscaled.service" ];
|
||||||
wants = [ "network-online.target" ];
|
wants = [ "network-online.target" ];
|
||||||
|
|
@ -65,28 +67,13 @@
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
ExecStart = "${pkgs.mount-truenas-shared}/bin/mount-truenas-shared";
|
ExecStart = "${pkgs.mount-truenas-shared}/bin/mount-truenas-shared";
|
||||||
# Network debugging
|
|
||||||
bind
|
|
||||||
traceroute
|
|
||||||
mtr
|
|
||||||
netcat
|
|
||||||
ExecStop = "${pkgs.mount-truenas-shared}/bin/mount-truenas-shared umount";
|
ExecStop = "${pkgs.mount-truenas-shared}/bin/mount-truenas-shared umount";
|
||||||
# Network debugging
|
|
||||||
bind
|
|
||||||
traceroute
|
|
||||||
mtr
|
|
||||||
netcat
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
mount-truenas-shared = prev.writeShellScriptBin "mount-truenas-shared" ''
|
mount-truenas-shared = prev.writeShellScriptBin "mount-truenas-shared" ''
|
||||||
# Network debugging
|
|
||||||
bind
|
|
||||||
traceroute
|
|
||||||
mtr
|
|
||||||
netcat
|
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
SHARE="Shared"
|
SHARE="Shared"
|
||||||
|
|
@ -219,13 +206,12 @@
|
||||||
|
|
||||||
# === Boot ===
|
# === Boot ===
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
}
|
||||||
|
|
||||||
# === SSH Server ===
|
# === SSH Server ===
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.PasswordAuthentication = false;
|
settings.PasswordAuthentication = false;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue