diff --git a/flake.lock b/flake.lock index 10ce65b..e496dd2 100644 --- a/flake.lock +++ b/flake.lock @@ -404,22 +404,6 @@ "type": "github" } }, - "nixpkgs_4": { - "locked": { - "lastModified": 1707268954, - "narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=", - "owner": "lopsided98", - "repo": "nixpkgs", - "rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1", - "type": "github" - }, - "original": { - "owner": "lopsided98", - "ref": "nix-ros", - "repo": "nixpkgs", - "type": "github" - } - }, "nixvim": { "inputs": { "devshell": "devshell", @@ -512,7 +496,9 @@ "ros": { "inputs": { "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_4" + "nixpkgs": [ + "nixpkgs" + ] }, "locked": { "lastModified": 1713569614, diff --git a/flake.nix b/flake.nix index f21a9e3..75c7248 100644 --- a/flake.nix +++ b/flake.nix @@ -22,7 +22,12 @@ inputs.home-manager.follows = "home-manager"; }; - ros.url = "github:lopsided98/nix-ros-overlay"; + + ros = { + url = "github:lopsided98/nix-ros-overlay"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + agenix.url = "github:ryantm/agenix"; # Shameless plug: looking for a way to nixify your themes and make diff --git a/nixos/configuration.nix b/nixos/configuration.nix index b5ad121..0a543ca 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -117,6 +117,7 @@ services.automatic-timezoned.enable = true; virtualisation.docker.enable = true; + virtualisation.docker.liveRestore = false; #Puts fonts in /run/current-system/sw/share/X11/fonts fonts.fontDir.enable = true; diff --git a/nixos/kde-desktop.nix b/nixos/kde-desktop.nix index bc29862..bb79e19 100644 --- a/nixos/kde-desktop.nix +++ b/nixos/kde-desktop.nix @@ -3,6 +3,7 @@ { imports = [ ./misc/dslr-webcam.nix + ./misc/wifi-multiplex.nix ]; # Enable the KDE Desktop Environment. services.xserver.enable = true; @@ -15,6 +16,15 @@ }; services.flatpak.enable = true; + + environment.etc = { + "flatpak/remotes.d/flathub.flatpakrepo".source = pkgs.fetchurl { + url = "https://dl.flathub.org/repo/flathub.flatpakrepo"; + hash = "sha256-M3HdJQ5h2eFjNjAHP+/aFTzUQm9y9K+gwzc64uj+oDo=" +; + }; + }; + services.packagekit.enable = true; services.fwupd.enable = true; diff --git a/nixos/misc/wifi-multiplex.nix b/nixos/misc/wifi-multiplex.nix new file mode 100644 index 0000000..e25d380 --- /dev/null +++ b/nixos/misc/wifi-multiplex.nix @@ -0,0 +1,14 @@ +{ pkgs, lib, ... }: + +let + wifiUdevRule = '' + ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", !KERNEL=="phy*", RUN+="${pkgs.iw}/bin/iw dev %k info | grep -q '_ap' || ${pkgs.iw}/bin/iw dev %k interface add %k_ap type station" + ''; +in +{ + environment.systemPackages = with pkgs; [ + iw + ]; + + services.udev.extraRules = wifiUdevRule; +} diff --git a/overlays/default.nix b/overlays/default.nix index a13ea3c..ae42fb7 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -12,8 +12,11 @@ # }); }; + ros = inputs.ros.overlay; + # When applied, the unstable nixpkgs set (declared in the flake inputs) will # be accessible through 'pkgs.unstable' + unstable-packages = final: _prev: { unstable = import inputs.nixpkgs-unstable { system = final.system;