Qutebrowser fix, attic setup, beacon usb live setup
This commit is contained in:
@@ -0,0 +1,145 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
suiteModules,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
"${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix"
|
||||
suiteModules.nixos.attic
|
||||
];
|
||||
|
||||
nixpkgs.hostPlatform = "x86_64-linux";
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nixpkgs.config.cudaSupport = true;
|
||||
|
||||
nix.settings = {
|
||||
experimental-features = "nix-command flakes";
|
||||
auto-optimise-store = true;
|
||||
substituters = [
|
||||
"https://cache.nixos.org"
|
||||
"https://cuda-maintainers.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
|
||||
];
|
||||
};
|
||||
|
||||
networking.hostName = "beacon";
|
||||
time.timeZone = "Asia/Jerusalem";
|
||||
|
||||
# NetworkManager is enabled by installation-cd-minimal; configure WiFi + static IP
|
||||
# via a keyfile so it activates automatically on boot.
|
||||
networking.useDHCP = false;
|
||||
environment.etc."NetworkManager/system-connections/Zakobar.nmconnection" = {
|
||||
mode = "0600";
|
||||
text = ''
|
||||
[connection]
|
||||
id=Zakobar
|
||||
type=wifi
|
||||
autoconnect=true
|
||||
|
||||
[wifi]
|
||||
mode=infrastructure
|
||||
ssid=Zakobar
|
||||
|
||||
[wifi-security]
|
||||
auth-alg=open
|
||||
key-mgmt=wpa-psk
|
||||
psk=0502711157
|
||||
|
||||
[ipv4]
|
||||
method=manual
|
||||
address1=192.168.1.200/24,192.168.1.1
|
||||
dns=8.8.8.8;1.1.1.1;
|
||||
ignore-auto-dns=true
|
||||
|
||||
[ipv6]
|
||||
method=disabled
|
||||
'';
|
||||
};
|
||||
|
||||
# Storage drive (ext4, label "storage") provides persistent nix store and data dir.
|
||||
# Prerequisites — run once on the storage drive before first boot:
|
||||
# mkfs.ext4 -L storage /dev/sdX
|
||||
# mount /dev/sdX /mnt/storage
|
||||
# mkdir -p /mnt/storage/nix-rw/store /mnt/storage/nix-rw/work /mnt/storage/data
|
||||
# umount /mnt/storage
|
||||
# The drive is required to boot; boot halts if it is not plugged in.
|
||||
fileSystems."/mnt/storage" = {
|
||||
device = "/dev/disk/by-label/storage";
|
||||
fsType = "ext4";
|
||||
neededForBoot = true;
|
||||
options = ["noatime"];
|
||||
};
|
||||
|
||||
# Redirect the live CD's tmpfs rw-store to the storage drive so nix store
|
||||
# writes survive across boots and don't consume RAM.
|
||||
fileSystems."/nix/.rw-store" = lib.mkForce {
|
||||
device = "/mnt/storage/nix-rw";
|
||||
fsType = "none";
|
||||
options = ["bind"];
|
||||
depends = ["/mnt/storage"];
|
||||
neededForBoot = true;
|
||||
};
|
||||
|
||||
fileSystems."/data" = {
|
||||
device = "/mnt/storage/data";
|
||||
fsType = "none";
|
||||
options = ["bind"];
|
||||
depends = ["/mnt/storage"];
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{
|
||||
device = "/mnt/storage/swapfile";
|
||||
size = 16384;
|
||||
}
|
||||
];
|
||||
|
||||
# Ensure ext4 is available in initrd for the storage drive
|
||||
boot.initrd.kernelModules = ["ext4"];
|
||||
|
||||
# NVIDIA RTX 4050 — Ada Lovelace supports open kernel modules
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
hardware.nvidia = {
|
||||
open = true;
|
||||
modesetting.enable = true;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
};
|
||||
hardware.graphics.enable = true;
|
||||
|
||||
services.getty.autologinUser = lib.mkForce "aner";
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PermitRootLogin = "no";
|
||||
PasswordAuthentication = false;
|
||||
};
|
||||
};
|
||||
|
||||
users.users.aner = {
|
||||
isNormalUser = true;
|
||||
extraGroups = ["wheel" "video"];
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDfzDDO5juINctECmWlsYtGghEiX/RnTJ1cazLvOWSrPfsTyEd+B1+Ig8kFefNryjkpApfRXqj5KtLPNlpLfdVBrOIfhIveEp2MGqhgOGZFNVxQyXnZgii8Zdh4cqZ2O3pZpMsaAQBaJ9nH6dK0dJjicWT5f6TqwrVcInywRc5SuyizoSxoFmg7ch2rnlVi0j5XMVqdh8XLzHXZ7yWCzXy7+hWl/d7pwpyuzoK8dBw2EU9TauhgRDruom5Q9vWJTLStALC9pAIb0v9UFj9y+1zwx7pXsXp5F1g73EYrE4QR+QQ6z2LebuK280W0t+VA/fSCEB13DnkmofgqZQxX5MSCmrxZ5lTFp1FjW6yJo7As9FheF/GECowYkMRIx4IiQsjjHjZqlLRpLas11yAp6tGoZnw59hFo6Lu0Kva39jGVVmioYHtAeE5rD5w+v5kseJR4jlQ8aKB5yOjYUQOIz2AHQyoidgaeR2jPWqZUeRQbACI+/p3CHO45r3hrjATtGloBg0xF95Qws7Be3mjHVhbBLOoob8MdZ8nYAGnhlWrZphlkvXsHC6OUkuDJW00tmMjWXRlFwhFJ+nqUQCgLVjxVHQJ5rq9GeXBUuNXAeCm5BKBsdq+9qqVlt7D9iGyfr0lcZ7peKz/96KwPCWpG2En1Ur0/cVcbWnXEfG/xWO10tQ== openpgp:0xFA67FAB0"
|
||||
];
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
git
|
||||
rsync
|
||||
tmux
|
||||
vim
|
||||
cudaPackages.cudatoolkit
|
||||
python3
|
||||
];
|
||||
|
||||
azos.attic.enable = true;
|
||||
|
||||
system.stateVersion = "25.11";
|
||||
}
|
||||
Reference in New Issue
Block a user