diff options
84 files changed, 1043 insertions, 631 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 1313666538b9..1b5124fcde7e 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6989,6 +6989,11 @@ githubId = 615606; name = "Glenn Searby"; }; + Gliczy = { + name = "Gliczy"; + github = "Gliczy"; + githubId = 129636582; + }; glittershark = { name = "Griffin Smith"; email = "root@gws.fyi"; @@ -9162,6 +9167,12 @@ fingerprint = "7249 70E6 A661 D84E 8B47 678A 0590 93B1 A278 BCD0"; }]; }; + jokatzke = { + email = "jokatzke@fastmail.com"; + github = "jokatzke"; + githubId = 46931073; + name = "Jonas Katzke"; + }; joko = { email = "ioannis.koutras@gmail.com"; github = "jokogr"; diff --git a/nixos/modules/services/home-automation/zigbee2mqtt.nix b/nixos/modules/services/home-automation/zigbee2mqtt.nix index 570ce41aa6d4..a653e49a09f6 100644 --- a/nixos/modules/services/home-automation/zigbee2mqtt.nix +++ b/nixos/modules/services/home-automation/zigbee2mqtt.nix @@ -71,7 +71,6 @@ in after = [ "network.target" ]; environment.ZIGBEE2MQTT_DATA = cfg.dataDir; serviceConfig = { - Type = "notify"; ExecStart = "${cfg.package}/bin/zigbee2mqtt"; User = "zigbee2mqtt"; Group = "zigbee2mqtt"; diff --git a/nixos/modules/services/networking/hostapd.nix b/nixos/modules/services/networking/hostapd.nix index 5bd8e1d4d7a0..00482e59acf3 100644 --- a/nixos/modules/services/networking/hostapd.nix +++ b/nixos/modules/services/networking/hostapd.nix @@ -1197,8 +1197,6 @@ in { environment.systemPackages = [cfg.package]; - services.udev.packages = with pkgs; [crda]; - systemd.services.hostapd = { description = "IEEE 802.11 Host Access-Point Daemon"; diff --git a/nixos/modules/services/x11/desktop-managers/phosh.nix b/nixos/modules/services/x11/desktop-managers/phosh.nix index 5392ab73aeb8..75e02130addc 100644 --- a/nixos/modules/services/x11/desktop-managers/phosh.nix +++ b/nixos/modules/services/x11/desktop-managers/phosh.nix @@ -186,6 +186,21 @@ in UtmpIdentifier = "tty7"; UtmpMode = "user"; }; + environment = { + # We are running without a display manager, so need to provide + # a value for XDG_CURRENT_DESKTOP. + # + # Among other things, this variable influences: + # - visibility of desktop entries with "OnlyShowIn=Phosh;" + # https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.5.html#key-onlyshowin + # - the chosen xdg-desktop-portal configuration. + # https://flatpak.github.io/xdg-desktop-portal/docs/portals.conf.html + XDG_CURRENT_DESKTOP = "Phosh:GNOME"; + # pam_systemd uses these to identify the session in logind. + # https://www.freedesktop.org/software/systemd/man/latest/pam_systemd.html#desktop= + XDG_SESSION_DESKTOP = "phosh"; + XDG_SESSION_TYPE = "wayland"; + }; }; environment.systemPackages = [ diff --git a/nixos/modules/system/boot/systemd/sysupdate.nix b/nixos/modules/system/boot/systemd/sysupdate.nix index cab35ddf270c..1f4088ddf825 100644 --- a/nixos/modules/system/boot/systemd/sysupdate.nix +++ b/nixos/modules/system/boot/systemd/sysupdate.nix @@ -3,7 +3,7 @@ let cfg = config.systemd.sysupdate; - format = pkgs.formats.ini { }; + format = pkgs.formats.ini { listToValue = toString; }; definitionsDirectory = utils.systemdUtils.lib.definitions "sysupdate.d" @@ -79,7 +79,7 @@ in Source = { Type = "url-file"; Path = "https://download.example.com/"; - MatchPattern = "nixos_@v.efi.xz"; + MatchPattern = [ "nixos_@v+@l-@d.efi" "nixos_@v+@l.efi" "nixos_@v.efi" ]; }; Target = { diff --git a/nixos/tests/systemd-sysupdate.nix b/nixos/tests/systemd-sysupdate.nix index 37811605dbb2..6592764c9ff4 100644 --- a/nixos/tests/systemd-sysupdate.nix +++ b/nixos/tests/systemd-sysupdate.nix @@ -23,8 +23,8 @@ in mkdir -p $out cd $out - echo "nixos" > nixos_1.efi - sha256sum nixos_1.efi > SHA256SUMS + echo "nixos" > nixos_1.txt + sha256sum nixos_1.txt > SHA256SUMS export GNUPGHOME="$(mktemp -d)" cp -R ${gpgKeyring}/* $GNUPGHOME @@ -39,15 +39,15 @@ in systemd.sysupdate = { enable = true; transfers = { - "uki" = { + "text-file" = { Source = { Type = "url-file"; Path = "http://server/"; - MatchPattern = "nixos_@v.efi"; + MatchPattern = "nixos_@v.txt"; }; Target = { - Path = "/boot/EFI/Linux"; - MatchPattern = "nixos_@v.efi"; + Path = "/"; + MatchPattern = [ "nixos_@v.txt" ]; }; }; }; @@ -61,6 +61,6 @@ in server.wait_for_unit("nginx.service") target.succeed("systemctl start systemd-sysupdate") - assert "nixos" in target.wait_until_succeeds("cat /boot/EFI/Linux/nixos_1.efi", timeout=5) + assert "nixos" in target.wait_until_succeeds("cat /nixos_1.txt", timeout=5) ''; } diff --git a/pkgs/applications/file-managers/yazi/default.nix b/pkgs/applications/file-managers/yazi/default.nix index b559f8886572..c59827f3191f 100644 --- a/pkgs/applications/file-managers/yazi/default.nix +++ b/pkgs/applications/file-managers/yazi/default.nix @@ -31,16 +31,16 @@ rustPlatform.buildRustPackage rec { pname = "yazi"; - version = "0.2.2"; + version = "0.2.3"; src = fetchFromGitHub { owner = "sxyazi"; repo = pname; rev = "v${version}"; - hash = "sha256-XF5zCFXiViFsRPqI6p1Z7093NSWrGmcoyWcGEagIoEA="; + hash = "sha256-2AiaJs6xY8hsB1DBxpPwdZtc8IZvsoCGWBOFVMf4dvk="; }; - cargoHash = "sha256-9fXHpq5lXG9Gup1dZPlXiNilbP79fJ3Jp3+ZD7mAzP4="; + cargoHash = "sha256-fRUmXv27sHYz8z0cc795JCPLHDQGgTV4wAWAtQ/pbg4="; env.YAZI_GEN_COMPLETIONS = true; diff --git a/pkgs/applications/misc/phoc/default.nix b/pkgs/applications/misc/phoc/default.nix index 9853cf5f8844..ba235aab2b05 100644 --- a/pkgs/applications/misc/phoc/default.nix +++ b/pkgs/applications/misc/phoc/default.nix @@ -1,7 +1,7 @@ { lib , stdenv +, stdenvNoCC , fetchurl -, fetchpatch , meson , ninja , pkg-config @@ -17,30 +17,19 @@ , libxkbcommon , wlroots , xorg -, gitUpdater +, directoryListingUpdater , nixosTests +, testers }: -let - phocWlroots = wlroots.overrideAttrs (old: { - patches = (old.patches or []) ++ [ - # Revert "layer-shell: error on 0 dimension without anchors" - # https://source.puri.sm/Librem5/phosh/-/issues/422 - (fetchpatch { - name = "0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch"; - url = "https://gitlab.gnome.org/World/Phosh/phoc/-/raw/acb17171267ae0934f122af294d628ad68b09f88/subprojects/packagefiles/wlroots/0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch"; - hash = "sha256-uNJaYwkZImkzNUEqyLCggbXAoIRX5h2eJaGbSHj1B+o="; - }) - ]; - }); -in stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "phoc"; - version = "0.31.0"; + version = "0.35.0"; src = fetchurl { # This tarball includes the meson wrapped subproject 'gmobile'. - url = "https://storage.puri.sm/releases/phoc/phoc-${version}.tar.xz"; - hash = "sha256-P7Bs9JMv6KNKo4d2ID0/Ba4+Nel6DMn8o4I7EDvY4vY="; + url = with finalAttrs; "https://sources.phosh.mobi/releases/${pname}/${pname}-${version}.tar.xz"; + hash = "sha256-q2wyM0R7Mi/XuckNb6ZDkStaV9yJH1BgJ4cjqQc6EI4="; }; nativeBuildInputs = [ @@ -61,23 +50,33 @@ in stdenv.mkDerivation rec { # For keybindings settings schemas gnome.mutter wayland - phocWlroots + finalAttrs.wlroots xorg.xcbutilwm ]; mesonFlags = ["-Dembed-wlroots=disabled"]; - postPatch = '' - chmod +x build-aux/post_install.py - patchShebangs build-aux/post_install.py - ''; + # Patch wlroots to remove a check which crashes Phosh. + # This patch can be found within the phoc source tree. + wlroots = wlroots.overrideAttrs (old: { + patches = (old.patches or []) ++ [ + (stdenvNoCC.mkDerivation { + name = "0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch"; + inherit (finalAttrs) src; + preferLocalBuild = true; + allowSubstitutes = false; + phases = "unpackPhase installPhase"; + installPhase = "cp subprojects/packagefiles/wlroots/$name $out"; + }) + ]; + }); passthru = { tests.phosh = nixosTests.phosh; - updateScript = gitUpdater { - url = "https://gitlab.gnome.org/World/Phosh/phoc"; - rev-prefix = "v"; |