diff --git a/flake.lock b/flake.lock index ee749fa..ddf7975 100644 --- a/flake.lock +++ b/flake.lock @@ -1291,6 +1291,22 @@ "type": "github" } }, + "nixpkgs-master": { + "locked": { + "lastModified": 1771439456, + "narHash": "sha256-HtQgNJrjYvZdpqpPJddF+TxGCazNyxvA8umbDcjrxT8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f84d6f6cd5f17d594439710f40349ba7d0706f4b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "master", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-staging": { "locked": { "lastModified": 1771384451, @@ -1542,6 +1558,7 @@ "nixcats": "nixcats", "nixcord": "nixcord", "nixpkgs": "nixpkgs_9", + "nixpkgs-master": "nixpkgs-master", "nixpkgs-staging": "nixpkgs-staging", "nixpkgs-unstable": "nixpkgs-unstable", "sddm-silent": "sddm-silent", diff --git a/flake.nix b/flake.nix index c356c4e..2cbefbf 100644 --- a/flake.nix +++ b/flake.nix @@ -7,6 +7,7 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-staging.url = "github:NixOS/nixpkgs/staging-next"; + nixpkgs-master.url = "github:NixOS/nixpkgs/master"; home-manager = { url = "github:nix-community/home-manager/master"; diff --git a/homes/modules/programs/neovim/nixcats.nix b/homes/modules/programs/neovim/nixcats.nix index e81a8a0..e9061cf 100644 --- a/homes/modules/programs/neovim/nixcats.nix +++ b/homes/modules/programs/neovim/nixcats.nix @@ -1,6 +1,7 @@ { inputs, spkgs, + mpkgs, ... }: let inherit @@ -64,7 +65,7 @@ in { ]; rust = with pkgs; [ cargo - rust-analyzer + mpkgs.rust-analyzer ]; zig = with pkgs; [ spkgs.zls # FIX: using spkgs version as zls is broken rn ;-; diff --git a/homes/modules/programs/nixcord.nix b/homes/modules/programs/nixcord.nix index 7e22a19..dd55e91 100644 --- a/homes/modules/programs/nixcord.nix +++ b/homes/modules/programs/nixcord.nix @@ -104,7 +104,7 @@ }; silentTyping = { enable = true; - enabledGlobally = false; + enabledGlobally = true; }; startupTimings.enable = true; typingIndicator.enable = true; diff --git a/homes/modules/wm/hyprland/hyprland.nix b/homes/modules/wm/hyprland/hyprland.nix index aff785f..49570e5 100644 --- a/homes/modules/wm/hyprland/hyprland.nix +++ b/homes/modules/wm/hyprland/hyprland.nix @@ -25,7 +25,7 @@ # applications "$terminal" = "kitty"; "$explorer" = "kitty -e yazi"; - "$browser" = "zen"; + "$browser" = "zen-twilight"; # menu "$menu" = "rofi"; diff --git a/hosts/arcturus/default.nix b/hosts/arcturus/default.nix index aa0e179..0779ae1 100644 --- a/hosts/arcturus/default.nix +++ b/hosts/arcturus/default.nix @@ -34,24 +34,25 @@ }; }; + systemd.services.systemd-networkd.environment = { + SYSTEMD_LOG_LEVEL = "debug"; + }; + systemd.network = { enable = true; - netdevs = { - "10-bond0" = { - netdevConfig = { - Kind = "bond"; - Name = "bond0"; - }; - bondConfig = { - Mode = "802.3ad"; - TransmitHashPolicy = "layer3+4"; - LACPTransmitRate = "fast"; - MIIMonitorSec = "100ms"; - }; + netdevs."10-bond0" = { + netdevConfig = { + Name = "bond0"; + Kind = "bond"; + }; + bondConfig = { + Mode = "802.3ad"; + TransmitHashPolicy = "layer3+4"; + LACPTransmitRate = "fast"; + MIIMonitorSec = "100ms"; }; }; - networks = { "30-eno1" = { matchConfig.Name = "eno1"; @@ -63,12 +64,36 @@ }; "40-bond0" = { matchConfig.Name = "bond0"; - linkConfig = { - RequiredForOnline = "carrier"; + networkConfig = { + Bridge = "br0"; + LinkLocalAddressing = "no"; }; - networkConfig.LinkLocalAddressing = "no"; - networkConfig.DHCP = "yes"; - vlan = [ "vlan1" ]; + linkConfig.RequiredForOnline = "carrier"; + }; + }; + + netdevs."20-br0" = { + netdevConfig = { + Name = "br0"; + Kind = "bridge"; + }; + }; + networks = { + "50-vms" = { + matchConfig.Name = ["bond0" "vm-*"]; + networkConfig = { + Bridge = "br0"; + }; + }; + "50-vms-bridge" = { + matchConfig.Name = "br0"; + networkConfig = { + Address = ["10.16.1.163/24"]; + Gateway = "10.16.1.1"; + DNS = ["10.16.1.1"]; + LinkLocalAddressing = "no"; + }; + linkConfig.RequiredForOnline = "routable"; }; }; }; diff --git a/hosts/nixarawrui/default.nix b/hosts/nixarawrui/default.nix index 58c1c92..b07dbb5 100644 --- a/hosts/nixarawrui/default.nix +++ b/hosts/nixarawrui/default.nix @@ -19,8 +19,9 @@ efi.canTouchEfiVariables = true; }; - # kernelPackages = upkgs.cachyosKernels.linuxPackages-cachyos-latest-lto-x86_64-v4; - kernelPackages = upkgs.linuxPackages_latest; + kernelPackages = upkgs.cachyosKernels.linuxPackages-cachyos-latest-lto-x86_64-v4; + # TODO: idk make this a toggle or smth idfk + # kernelPackages = upkgs.linuxPackages_latest; kernelModules = ["v4l2loopback"]; extraModulePackages = with kernelPackages; [v4l2loopback]; diff --git a/nixpkgs.nix b/nixpkgs.nix index 332b14e..1470160 100644 --- a/nixpkgs.nix +++ b/nixpkgs.nix @@ -35,5 +35,14 @@ ]; config.allowUnfree = true; }; + + # nixpkgs-master + mpkgs = { + source = inputs.nixpkgs-master; + overlays = [ + (import ./overlays.nix args) + ]; + config.allowUnfree = true; + }; }; } diff --git a/snow.nix b/snow.nix index 60b53b8..0be6e6b 100644 --- a/snow.nix +++ b/snow.nix @@ -47,9 +47,19 @@ cerulean.mkNexus ./. (self: { networking.hostName = "home-assistant"; + boot.kernelParams = ["console=ttyS0" "console=ttyS1" "8250.nr_uarts=2"]; + systemd.services."serial-getty@ttyS1".enable = true; + microvm = { hypervisor = "qemu"; + # needed to get interface working + qemu.extraArgs = [ + "-monitor" "unix:/var/lib/microvms/home-assistant/monitor.sock,server,nowait" + "-chardev" "socket,id=serial1,path=/var/lib/microvms/home-assistant/serial.sock,server=on,wait=off" + "-serial" "chardev:serial1" + ]; + # memory cannot be 2GB so i doubled it and used 4GB: # https://github.com/microvm-nix/microvm.nix/issues/171 # TODO: can be fixed by turning off acpi in qemu @@ -73,15 +83,15 @@ cerulean.mkNexus ./. (self: { ]; }; - networking = { - interfaces.eth0 = { - useDHCP = false; - ipv4.addresses = [ - { - address = "10.16.1.127"; - prefixLength = 24; - } - ]; + systemd.network.enable = true; + systemd.network.networks."20-lan" = { + matchConfig.Type = "ether"; + networkConfig = { + Address = ["10.16.1.127/24"]; + Gateway = "10.16.1.1"; + DNS = ["10.16.1.1"]; + IPv6AcceptRA = true; + DHCP = "yes"; }; }; }; diff --git a/vms/home-assistant/default.nix b/vms/home-assistant/default.nix index 4f27018..ef3ad3b 100644 --- a/vms/home-assistant/default.nix +++ b/vms/home-assistant/default.nix @@ -2,11 +2,19 @@ { services.home-assistant = { enable = true; - configDir = "/var/lib/hass"; + configDir = "/var/lib/microvms/home-assistant"; # disables config generation, i don't wanna configure home assistant # through nix at the moment config = null; }; + users.users.nixos = { + isNormalUser = true; + uid = 1000; + extraGroups = ["wheel"]; + + hashedPassword = "$2b$05$94fPE/15g7ix7glKOaN0AeVMpitMivtQtcFL.aZIouQngOJ6nGMSC"; + }; + system.stateVersion = "25.11"; }