From 0598c3f08df38d29d0941135118df8e4da55b9fc Mon Sep 17 00:00:00 2001 From: Grisha Shipunov Date: Thu, 20 Mar 2025 18:20:20 +0100 Subject: [PATCH] gnome --- flake.lock | 130 ------------------------ flake.nix | 21 +--- hosts/toaster/network/default.nix | 59 +++-------- hosts/toaster/network/full-networkd.nix | 71 +++++++++++++ 4 files changed, 87 insertions(+), 194 deletions(-) create mode 100644 hosts/toaster/network/full-networkd.nix diff --git a/flake.lock b/flake.lock index 0573d5d..7889ed4 100644 --- a/flake.lock +++ b/flake.lock @@ -224,26 +224,6 @@ "type": "github" } }, - "home-manager": { - "inputs": { - "nixpkgs": [ - "nixpkgs-unstable" - ] - }, - "locked": { - "lastModified": 1742588233, - "narHash": "sha256-Fi5g8H5FXMSRqy+mU6gPG0v+C9pzjYbkkiePtz8+PpA=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "296ddc64627f4a6a4eb447852d7346b9dd16197d", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, "lanzaboote": { "inputs": { "crane": "crane", @@ -358,65 +338,6 @@ "type": "github" } }, - "niri": { - "inputs": { - "niri-stable": "niri-stable", - "niri-unstable": "niri-unstable", - "nixpkgs": [ - "nixpkgs-unstable" - ], - "nixpkgs-stable": "nixpkgs-stable_2", - "xwayland-satellite-stable": "xwayland-satellite-stable", - "xwayland-satellite-unstable": "xwayland-satellite-unstable" - }, - "locked": { - "lastModified": 1742643921, - "narHash": "sha256-tt6FIFIfOHcgKxi6fBD4RxIk3JoYF2WNpVE9jLWT7eI=", - "owner": "sodiboo", - "repo": "niri-flake", - "rev": "ecd613c125c16295b52bb52f3687c5538b7d95ff", - "type": "github" - }, - "original": { - "owner": "sodiboo", - "ref": "main", - "repo": "niri-flake", - "type": "github" - } - }, - "niri-stable": { - "flake": false, - "locked": { - "lastModified": 1740117926, - "narHash": "sha256-mTTHA0RAaQcdYe+9A3Jx77cmmyLFHmRoZdd8RpWa+m8=", - "owner": "YaLTeR", - "repo": "niri", - "rev": "b94a5db8790339cf9134873d8b490be69e02ac71", - "type": "github" - }, - "original": { - "owner": "YaLTeR", - "ref": "v25.02", - "repo": "niri", - "type": "github" - } - }, - "niri-unstable": { - "flake": false, - "locked": { - "lastModified": 1742641057, - "narHash": "sha256-+OhtlQPNOKmwK6YtAaXPu42jXe3ufi7hny78N8dqDKA=", - "owner": "YaLTeR", - "repo": "niri", - "rev": "ed20822ce947198e4106698d7afffd0a832a7b3c", - "type": "github" - }, - "original": { - "owner": "YaLTeR", - "repo": "niri", - "type": "github" - } - }, "nix-github-actions": { "inputs": { "nixpkgs": [ @@ -499,22 +420,6 @@ "type": "github" } }, - "nixpkgs-stable_2": { - "locked": { - "lastModified": 1742512142, - "narHash": "sha256-8XfURTDxOm6+33swQJu/hx6xw1Tznl8vJJN5HwVqckg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "7105ae3957700a9646cc4b766f5815b23ed0c682", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-unstable": { "locked": { "lastModified": 1742422364, @@ -593,12 +498,10 @@ "inputs": { "authentik-nix": "authentik-nix", "flake-utils": "flake-utils_2", - "home-manager": "home-manager", "lanzaboote": "lanzaboote", "lix": "lix", "lix-module": "lix-module", "microvm": "microvm", - "niri": "niri", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", @@ -770,39 +673,6 @@ "type": "git", "url": "https://git.oxapentane.com/0xa/website.git" } - }, - "xwayland-satellite-stable": { - "flake": false, - "locked": { - "lastModified": 1739246919, - "narHash": "sha256-/hBM43/Gd0/tW+egrhlWgOIISeJxEs2uAOIYVpfDKeU=", - "owner": "Supreeeme", - "repo": "xwayland-satellite", - "rev": "44590a416d4a3e8220e19e29e0b6efe64a80315d", - "type": "github" - }, - "original": { - "owner": "Supreeeme", - "ref": "v0.5.1", - "repo": "xwayland-satellite", - "type": "github" - } - }, - "xwayland-satellite-unstable": { - "flake": false, - "locked": { - "lastModified": 1742475924, - "narHash": "sha256-xe3tfHp1aisnUVrCbn1axwpeJzcrSOvQNn1bZt6k5DM=", - "owner": "Supreeeme", - "repo": "xwayland-satellite", - "rev": "1d98ee089c8bad414a346028a7a0f539ad7cfb9d", - "type": "github" - }, - "original": { - "owner": "Supreeeme", - "repo": "xwayland-satellite", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index d355e32..47d5d29 100644 --- a/flake.nix +++ b/flake.nix @@ -47,16 +47,6 @@ inputs.flake-utils.follows = "flake-utils"; }; - home-manager = { - url = "github:nix-community/home-manager"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; - }; - - niri = { - url = "github:sodiboo/niri-flake/main"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; - }; - tmux-yank = { url = "github:tmux-plugins/tmux-yank"; flake = false; @@ -66,11 +56,9 @@ outputs = inputs@{ authentik-nix, - home-manager, lanzaboote, lix-module, microvm, - niri, nixos-hardware, nixpkgs, nixpkgs-unstable, @@ -118,20 +106,13 @@ lanzaboote.nixosModules.lanzaboote nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen3 lix-module.nixosModules.default - home-manager.nixosModules.home-manager - niri.nixosModules.niri - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users."0xa" = import ./hosts/toaster/0xa-home.nix; - } ./hosts/toaster ./modules/basic-tools ./modules/binary-caches.nix ./modules/devtools.nix - ./modules/niri.nix + ./modules/gnome.nix ./modules/gnupg.nix ./modules/radio.nix ./modules/science.nix diff --git a/hosts/toaster/network/default.nix b/hosts/toaster/network/default.nix index ee0bdbe..6d96c3c 100644 --- a/hosts/toaster/network/default.nix +++ b/hosts/toaster/network/default.nix @@ -1,4 +1,4 @@ -{ lib, pkgs, ... }: +{ lib, config, ... }: { imports = [ ./mullvad.nix @@ -6,21 +6,26 @@ ./zw.nix ]; - environment.systemPackages = with pkgs; [ - iwgtk - impala - ]; + # Networkmanager shouldn't interfere with systemd managed interfaces + networking.networkmanager.unmanaged = + let + systemd_netdevs = lib.attrsets.attrValues ( + lib.attrsets.mapAttrs (_name: value: value.netdevConfig.Name) config.systemd.network.netdevs + ); + in + systemd_netdevs; - # kick out networkmanager - networking.networkmanager.enable = lib.mkForce false; - networking.useNetworkd = true; - systemd.network.enable = true; + systemd.network = { + enable = true; + wait-online.enable = false; # uplink is managed by networkmanager + }; + + users.users."0xa".extraGroups = [ "networkmanager" ]; networking = { hostName = "toaster"; firewall.enable = true; wireguard.enable = true; - wireless.iwd.enable = true; }; services.resolved = { @@ -34,38 +39,4 @@ ]; }; - # we might have no interwebs at all - systemd.network.wait-online.enable = false; - - # uplinks - systemd.network.networks = { - "10-ether-uplink" = { - matchConfig.Name = "enp1s0f0"; - networkConfig = { - DHCP = "yes"; - IPv6AcceptRA = true; - }; - }; - "10-dock-uplink" = { - matchConfig.Name = "enp5s0f4u1u1"; - networkConfig = { - DHCP = "yes"; - IPv6AcceptRA = true; - }; - dhcpV4Config = { - RouteMetric = 666; - }; - dhcpV6Config = { - RouteMetric = 666; - }; - }; - "wlan-uplink" = { - matchConfig.Name = "wlan0"; - networkConfig = { - DHCP = "yes"; - IPv6AcceptRA = true; - }; - }; - }; - } diff --git a/hosts/toaster/network/full-networkd.nix b/hosts/toaster/network/full-networkd.nix new file mode 100644 index 0000000..ee0bdbe --- /dev/null +++ b/hosts/toaster/network/full-networkd.nix @@ -0,0 +1,71 @@ +{ lib, pkgs, ... }: +{ + imports = [ + ./mullvad.nix + ./dumpdvb.nix + ./zw.nix + ]; + + environment.systemPackages = with pkgs; [ + iwgtk + impala + ]; + + # kick out networkmanager + networking.networkmanager.enable = lib.mkForce false; + networking.useNetworkd = true; + systemd.network.enable = true; + + networking = { + hostName = "toaster"; + firewall.enable = true; + wireguard.enable = true; + wireless.iwd.enable = true; + }; + + services.resolved = { + enable = true; + dnssec = "false"; + fallbackDns = [ + "9.9.9.9" + "2620:fe::fe" + "149.112.112.112" + "2620:fe::9" + ]; + }; + + # we might have no interwebs at all + systemd.network.wait-online.enable = false; + + # uplinks + systemd.network.networks = { + "10-ether-uplink" = { + matchConfig.Name = "enp1s0f0"; + networkConfig = { + DHCP = "yes"; + IPv6AcceptRA = true; + }; + }; + "10-dock-uplink" = { + matchConfig.Name = "enp5s0f4u1u1"; + networkConfig = { + DHCP = "yes"; + IPv6AcceptRA = true; + }; + dhcpV4Config = { + RouteMetric = 666; + }; + dhcpV6Config = { + RouteMetric = 666; + }; + }; + "wlan-uplink" = { + matchConfig.Name = "wlan0"; + networkConfig = { + DHCP = "yes"; + IPv6AcceptRA = true; + }; + }; + }; + +}