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..e5f1fa5 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; @@ -160,6 +160,7 @@ "1436965652861685891" "1436968495190642722" "1465424321919975454" + "1468324280445046824" ]; } { @@ -184,6 +185,8 @@ "1461885176534794427" "1462155159470866443" "1468735915076878407" + "1461929299727749145" + "1470963392121536657" ]; } { @@ -223,12 +226,10 @@ "1449513783893692589" "1463737720961634461" "1463000874392748249" - "1461929299727749145" "1436984534712451105" "1436983282582683813" "1437283420312047659" "1437089201651847315" - "1468324280445046824" "1467307140443148288" ]; } 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..17ad40c 100644 --- a/vms/home-assistant/default.nix +++ b/vms/home-assistant/default.nix @@ -3,9 +3,46 @@ services.home-assistant = { enable = true; configDir = "/var/lib/hass"; + # disables config generation, i don't wanna configure home assistant # through nix at the moment config = null; + + extraComponents = [ + "esphome" + "met" + "radio_browser" + ]; + + extraPackages = python3Packages: with python3Packages; [ + getmac + ]; + }; + + systemd.tmpfiles.rules = [ + # configures the config directory to be mounted + # correclty with the right permissions + "z /var/lib/hass 0755 hass hass -" + "z /var/lib/hass/lost+found 0755 hass hass -" + ]; + + networking = { + nftables.enable = true; + + firewall = { + enable = true; + allowedTCPPorts = [ + 8123 + ]; + }; + }; + + users.users.nixos = { + isNormalUser = true; + uid = 1000; + extraGroups = ["wheel"]; + + hashedPassword = "$2b$05$94fPE/15g7ix7glKOaN0AeVMpitMivtQtcFL.aZIouQngOJ6nGMSC"; }; system.stateVersion = "25.11";