hosts/iso/configuration.nix (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
{ config, pkgs, lib, ... }: { imports = [ ./hardware-configuration.nix ../ssh.nix ]; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; networking.hostName = "iso"; networking.networkmanager.enable = true; time.timeZone = "Europe/Helsinki"; i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "en_US.UTF-8"; LC_IDENTIFICATION = "en_US.UTF-8"; LC_MEASUREMENT = "en_US.UTF-8"; LC_MONETARY = "en_US.UTF-8"; LC_NAME = "en_US.UTF-8"; LC_NUMERIC = "en_US.UTF-8"; LC_PAPER = "en_US.UTF-8"; LC_TELEPHONE = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8"; }; sound.enable = true; hardware.pulseaudio.enable = true; hardware.opengl = { enable = true; extraPackages = with pkgs; [ intel-media-driver vaapiIntel vaapiVdpau libvdpau-va-gl intel-compute-runtime ]; }; security = { doas.enable = true; sudo.enable = true; doas.extraConfig = '' permit nopass :wheel ''; doas.extraRules = [{ users = [ "icy" ]; }]; }; users.users.icy = { isNormalUser = true; description = "icy"; extraGroups = [ "networkmanager" "wheel" "docker" ]; packages = with pkgs; [ ]; }; users.users.git = { isNormalUser = true; description = "git"; extraGroups = [ "networkmanager" "wheel" ]; homeMode = "755"; packages = with pkgs; [ ]; }; nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ vim wget git ]; services = { openssh.enable = true; tailscale.enable = true; # nix-snapshotter.enable = true; }; services.k3s = let address = "100.109.134.88"; in { enable = true; role = "agent"; extraFlags = "--node-ip=${address} --node-external-ip=${address} --flannel-iface=tailscale0"; serverAddr = "https://sini:6443"; tokenFile = "/var/lib/rancher/k3s/token"; }; services.openiscsi = { enable = true; name = config.networking.hostName; }; environment.etc = { "rancher/k3s/registries.yaml" = { text = '' mirrors: sini:5000: endpoint: - "http://sini:5000" ''; }; }; systemd.tmpfiles.rules = [ "L+ /usr/local/bin - - - - /run/current-system/sw/bin/" ]; nix.settings.experimental-features = [ "nix-command" "flakes" ]; system.stateVersion = "24.05"; } |