forked from foxora/nix
Compare commits
10 commits
1d39d156b8
...
a477f18fa6
| Author | SHA1 | Date | |
|---|---|---|---|
| a477f18fa6 | |||
| 15bd9a684b | |||
| 273023ac5a | |||
| 861b05b042 | |||
| 21cb58686e | |||
| dd6e0ac2f4 | |||
| 8a81199387 | |||
| e514e77fe2 | |||
| 91a986f4fc | |||
| 86ffef568e |
10 changed files with 136 additions and 34 deletions
17
flake.lock
generated
17
flake.lock
generated
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
|
|
|||
|
|
@ -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 ;-;
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
# applications
|
||||
"$terminal" = "kitty";
|
||||
"$explorer" = "kitty -e yazi";
|
||||
"$browser" = "zen";
|
||||
"$browser" = "zen-twilight";
|
||||
|
||||
# menu
|
||||
"$menu" = "rofi";
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
|
||||
|
|
|
|||
|
|
@ -35,5 +35,14 @@
|
|||
];
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
|
||||
# nixpkgs-master
|
||||
mpkgs = {
|
||||
source = inputs.nixpkgs-master;
|
||||
overlays = [
|
||||
(import ./overlays.nix args)
|
||||
];
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
28
snow.nix
28
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue