diff --git a/hosts/main/default.nix b/hosts/main/default.nix index 62aeacb..d35b5bc 100644 --- a/hosts/main/default.nix +++ b/hosts/main/default.nix @@ -1,9 +1,4 @@ -{ - inputs, - pkgs, - self, - ... -}: +{ inputs, pkgs, ... }: { imports = [ @@ -12,8 +7,8 @@ ../../nix-os/nvidia.nix ../../nix-os/docker.nix ../../nix-os/razer.nix - ../../nix-os/desktopManagers/cosmic.nix - ../../nix-os/displayManagers/cosmic-greeter.nix + ../../nix-os/desktopManagers/gnome.nix + ../../nix-os/displayManagers/gdm.nix ../../nix-os/shell.nix ../../nix-os/virtualization.nix ../../nix-os/polkit/disable-shutdown.nix @@ -41,10 +36,6 @@ hplip ]; - nixpkgs.overlays = [ - self.overlays.cosmicPackages - ]; - # nixos-vscode-server module needs this programs.nix-ld.enable = true; services.vscode-server = { diff --git a/hosts/tablet.nix b/hosts/tablet.nix index faf4c2a..a9f656a 100644 --- a/hosts/tablet.nix +++ b/hosts/tablet.nix @@ -1,7 +1,4 @@ -{ - self, - ... -}: +{ config, lib, pkgs, ... }: { imports = [ @@ -14,8 +11,8 @@ ../nix-os/gnupg.nix ../nix-os/polkit/network.nix - ../nix-os/desktopManagers/cosmic.nix - ../../nix-os/displayManagers/cosmic-greeter.nix + ../nix-os/desktopManagers/gnome.nix + ../nix-os/displayManagers/gdm.nix ../nix-os/udev.nix ]; @@ -28,10 +25,6 @@ networking.firewall.enable = true; hardware.sensor.iio.enable = true; - nixpkgs.overlays = [ - self.overlays.cosmicPackages - ]; - networking.firewall.allowedTCPPortRanges = [ # KDE Connect rec { from = 1714; to = from + 50; } diff --git a/hosts/vm-base.nix b/hosts/vm-base.nix index 3aac310..1e57e16 100644 --- a/hosts/vm-base.nix +++ b/hosts/vm-base.nix @@ -18,8 +18,5 @@ virtualisation = { memorySize = 4096; }; - virtualisation.forwardPorts = [ - { from = "host"; host.port = 2222; guest.port = 22; } - ]; }; } diff --git a/lock.nix b/lock.nix index b9b5f45..228a570 100644 --- a/lock.nix +++ b/lock.nix @@ -8,7 +8,7 @@ sha256 = "07wa6y7q4ql0x1jj08dignak2lra003inf2cxl4xxvyqdsspshp3"; }; cosmic-modules = { - revision = "074bbcc4e3fa9ce4bee100de64506c3662c62299"; - sha256 = "0rb0d20i05rjkhk3g5xld46l0ir055mbbbnlic4p3jvbqv9xqiqd"; + revision = "7d3dd56cca20e409261ff8c69867d38376f7ecae"; + sha256 = "06i1gqwgrpcarmkszcnblx02804n86424sklw4mva0p47j9n7gww"; }; } diff --git a/nix-os/desktopManagers/cosmic.nix b/nix-os/desktopManagers/cosmic.nix index c863b27..902c435 100644 --- a/nix-os/desktopManagers/cosmic.nix +++ b/nix-os/desktopManagers/cosmic.nix @@ -11,9 +11,5 @@ cosmic-term cosmic-files ]; - environment.systemPackages = with pkgs; [ - pavucontrol - ]; - services.gnome.gnome-keyring.enable = true; }; } diff --git a/nix-os/polkit/disable-shutdown.nix b/nix-os/polkit/disable-shutdown.nix index 660c32a..24571dd 100644 --- a/nix-os/polkit/disable-shutdown.nix +++ b/nix-os/polkit/disable-shutdown.nix @@ -15,6 +15,8 @@ action.id == "org.freedesktop.login1.inhibit-block-idle" || action.id == "org.freedesktop.login1.inhibit-block-shutdown" || action.id == "org.freedesktop.login1.inhibit-block-sleep" || + action.id == "org.freedesktop.login1.inhibit-delay-shutdown" || + action.id == "org.freedesktop.login1.inhibit-delay-sleep" || action.id == "org.freedesktop.login1.inhibit-handle-hibernate-key" || action.id == "org.freedesktop.login1.inhibit-handle-lid-switch" || action.id == "org.freedesktop.login1.inhibit-handle-power-key" || diff --git a/outputs.nix b/outputs.nix index 3355399..d5fdeb7 100644 --- a/outputs.nix +++ b/outputs.nix @@ -13,7 +13,6 @@ self = { modifiedNixpkgs = import ./pkgs/top-level/impure.nix; modifiedNixpkgsPure = import ./pkgs/top-level/default.nix; overlays = { - cosmicPackages = import ./pkgs/overlays/cosmic-packages.nix { inherit inputs; }; selfExpr = import ./pkgs/overlays/selfExpr.nix { nixpkgsPath = inputs.nixpkgs; }; unstable = import ./pkgs/overlays/unstable.nix; versionInfoFixup = import ./pkgs/overlays/version-info-fixup.nix { inherit inputs; }; diff --git a/pkgs/overlays/cosmic-packages.nix b/pkgs/overlays/cosmic-packages.nix index 9b9f6f5..8f2cff8 100644 --- a/pkgs/overlays/cosmic-packages.nix +++ b/pkgs/overlays/cosmic-packages.nix @@ -1,35 +1,46 @@ -{ - inputs ? import ../../inputs.nix {}, - rustPlatform ? null, -}: +{ inputs ? import ../../inputs.nix {}}: self: super: let nixos-cosmic = inputs.cosmic-modules; + cosmicPkgsMainDir = builtins.readDir "${nixos-cosmic}/pkgs"; + cosmicPkgsDirs = builtins.filter (v: cosmicPkgsMainDir."${v}" == "directory") (builtins.attrNames cosmicPkgsMainDir); - # Pinned unstable nixpkgs from cosmic-modules - cosmicModulesLock = builtins.fromJSON (builtins.readFile "${nixos-cosmic}/flake.lock"); - pinnedNixpkgsRev = cosmicModulesLock.nodes.nixpkgs.locked.rev; - pinnedNixpkgsNarHash = cosmicModulesLock.nodes.nixpkgs.locked.narHash; - + # Pinned unstable nixpkgs futureNixpkgsSrc = builtins.fetchTarball { name = "nixpkgs"; - url = "https://github.com/NixOS/nixpkgs/archive/${pinnedNixpkgsRev}.tar.gz"; - sha256 = pinnedNixpkgsNarHash; + url = "https://github.com/NixOS/nixpkgs/archive/c3aa7b8938b17aebd2deecf7be0636000d62a2b9.tar.gz"; + sha256 = "1ds3yjcy52l8d3rkxr3b7h9c0c3nly079bgakjaasnfjj3xprrwr"; }; - # Initialize pinned nixpkgs + # Take rustPackages from staging nixpkgs futureNixpkgs = import futureNixpkgsSrc { localSystem = self.stdenv.buildPlatform; config = self.config; } // (if self.stdenv.buildPlatform == self.stdenv.hostPlatform then {} else { crossSystem = self.stdenv.hostPlatform; }); + futureRustPackages = futureNixpkgs.rustPackages; + + # Create nixpkgs with future rust + nixpkgsWithFutureRust = self.extend (futureSelf: futureSuper: { + rustPackages = futureRustPackages; + }); + + # Create cosmicPkgs that contains cosmic packages built from nixpkgs with future rust + cosmicOverlay = cosmicSelf: cosmicSuper: builtins.listToAttrs ( + builtins.map (v: {name = v; value = nixpkgsWithFutureRust.callPackage "${nixos-cosmic}/pkgs/${v}/package.nix" {};}) cosmicPkgsDirs + ); + cosmicNixpkgs = import inputs.nixpkgs { + localSystem = self.stdenv.buildPlatform; + config = self.config; + overlays = [ cosmicOverlay ]; + } // (if self.stdenv.buildPlatform == self.stdenv.hostPlatform then {} else { + crossSystem = self.stdenv.hostPlatform; + }); in -import "${nixos-cosmic}/pkgs" { - final = self; - prev = super; - rustPlatform = if rustPlatform != null then rustPlatform else futureNixpkgs.rustPlatform; -} +builtins.listToAttrs ( + builtins.map (v: {name = v; value = cosmicNixpkgs.${v};}) cosmicPkgsDirs +)