diff --git a/nixos/modules/services/x11/window-managers/xmonad.nix b/nixos/modules/services/x11/window-managers/xmonad.nix index b9013ca1ff9..2bb4827be9d 100644 --- a/nixos/modules/services/x11/window-managers/xmonad.nix +++ b/nixos/modules/services/x11/window-managers/xmonad.nix @@ -5,25 +5,37 @@ let inherit (lib) mkOption mkIf optionals literalExample; cfg = config.services.xserver.windowManager.xmonad; + ghcWithPackages = cfg.haskellPackages.ghcWithPackages; + packages = self: cfg.extraPackages self ++ + optionals cfg.enableContribAndExtras + [ self.xmonad-contrib self.xmonad-extras ]; + xmonad-vanilla = pkgs.xmonad-with-packages.override { - ghcWithPackages = cfg.haskellPackages.ghcWithPackages; - packages = self: cfg.extraPackages self ++ - optionals cfg.enableContribAndExtras - [ self.xmonad-contrib self.xmonad-extras ]; + inherit ghcWithPackages packages; }; - xmonad-config = pkgs.writers.writeHaskellBin "xmonad" { - ghc = cfg.haskellPackages.ghc; - libraries = [ cfg.haskellPackages.xmonad ] ++ - cfg.extraPackages cfg.haskellPackages ++ - optionals cfg.enableContribAndExtras - (with cfg.haskellPackages; [ xmonad-contrib xmonad-extras ]); - inherit (cfg) ghcArgs; - } cfg.config; + xmonad-config = + let + xmonadAndPackages = self: [ self.xmonad ] ++ packages self; + xmonadEnv = ghcWithPackages xmonadAndPackages; + configured = pkgs.writers.writeHaskellBin "xmonad" { + ghc = cfg.haskellPackages.ghc; + libraries = xmonadAndPackages cfg.haskellPackages; + inherit (cfg) ghcArgs; + } cfg.config; + in + pkgs.runCommandLocal "xmonad" { + nativeBuildInputs = [ pkgs.makeWrapper ]; + } '' + install -D ${xmonadEnv}/share/man/man1/xmonad.1.gz $out/share/man/man1/xmonad.1.gz + makeWrapper ${configured}/bin/xmonad $out/bin/xmonad \ + --set NIX_GHC "${xmonadEnv}/bin/ghc" \ + --set XMONAD_XMESSAGE "${pkgs.xorg.xmessage}/bin/xmessage" + ''; xmonad = if (cfg.config != null) then xmonad-config else xmonad-vanilla; in { - meta.maintainers = with maintainers; [ lassulus xaverdh ]; + meta.maintainers = with maintainers; [ lassulus xaverdh ivanbrennan ]; options = { services.xserver.windowManager.xmonad = { @@ -72,13 +84,13 @@ in { This setup is then analogous to other (non-NixOS) linux distributions. If you do set this option, you likely want to use "launch" as your - entry point for xmonad (as in the example), to avoid xmonads + entry point for xmonad (as in the example), to avoid xmonad's recompilation logic on startup. Doing so will render the default "mod+q" restart key binding dysfunctional though, because that attempts to call your binary with the "--restart" command line option, unless you implement that yourself. You way mant to bind "mod+q" to (restart "xmonad" True) instead, which will just restart - xmonad from PATH. This allows e.g. switching to the new xmonad binary, + xmonad from PATH. This allows e.g. switching to the new xmonad binary after rebuilding your system with nixos-rebuild. If you actually want to run xmonad with a config specified here, but @@ -91,6 +103,7 @@ in { example = '' import XMonad import XMonad.Util.EZConfig (additionalKeys) + import Control.Monad (when) import Text.Printf (printf) import System.Posix.Process (executeFile) import System.Info (arch,os) @@ -99,16 +112,21 @@ in { compiledConfig = printf "xmonad-%s-%s" arch os - compileRestart = whenX (recompile True) . catchIO $ do - dir <- getXMonadDataDir - args <- getArgs - executeFile (dir compiledConfig) False args Nothing + compileRestart resume = + whenX (recompile True) $ + when resume writeStateToFile + *> catchIO + ( do + dir <- getXMonadDataDir + args <- getArgs + executeFile (dir compiledConfig) False args Nothing + ) main = launch defaultConfig { modMask = mod4Mask -- Use Super instead of Alt , terminal = "urxvt" } `additionalKeys` - [ ( (mod4Mask,xK_r), compileRestart ) + [ ( (mod4Mask,xK_r), compileRestart True) , ( (mod4Mask,xK_q), restart "xmonad" True ) ] ''; }; diff --git a/pkgs/applications/misc/dasel/default.nix b/pkgs/applications/misc/dasel/default.nix index 073983fa355..8853ff266a6 100644 --- a/pkgs/applications/misc/dasel/default.nix +++ b/pkgs/applications/misc/dasel/default.nix @@ -20,6 +20,17 @@ buildGoModule rec { -ldflags=-s -w -X github.com/tomwright/dasel/internal.Version=${version} ''; + doInstallCheck = true; + installCheckPhase = '' + if [[ "$("$out/bin/${pname}" --version)" == "${pname} version ${version}" ]]; then + echo "" | $out/bin/dasel put object -p yaml -t string -t int "my.favourites" colour=red number=3 | grep -q red + echo '${pname} smoke check passed' + else + echo '${pname} smoke check failed' + return 1 + fi + ''; + meta = with stdenv.lib; { description = "Query and update data structures from the command line"; longDescription = '' diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix index 47a79c7309d..d4e43ed3a92 100644 --- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix +++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix @@ -108,6 +108,10 @@ in stdenv.mkDerivation { # Fix the desktop link substituteInPlace $out/share/applications/skypeforlinux.desktop \ --replace /usr/bin/ $out/bin/ + substituteInPlace $out/share/applications/skypeforlinux-share.desktop \ + --replace /usr/bin/ $out/bin/ + substituteInPlace $out/share/kservices5/ServiceMenus/skypeforlinux.desktop \ + --replace /usr/bin/ $out/bin/ ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/terminal-emulators/xterm/default.nix b/pkgs/applications/terminal-emulators/xterm/default.nix index 1ec704f5d43..d06a66edf1a 100644 --- a/pkgs/applications/terminal-emulators/xterm/default.nix +++ b/pkgs/applications/terminal-emulators/xterm/default.nix @@ -4,14 +4,14 @@ stdenv.mkDerivation rec { pname = "xterm"; - version = "362"; + version = "363"; src = fetchurl { urls = [ "ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz" "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz" ]; - sha256 = "HU/+Im+o8CGFm7wwB3iP9jpGoxJC2b2ae9fr4k6BrKI="; + sha256 = "2Bo2OeJlUrZ2W9zyi+Hs24rKv5B5VXCOgwrWOX6hC0g="; }; buildInputs = [ diff --git a/pkgs/applications/version-management/redmine/default.nix b/pkgs/applications/version-management/redmine/default.nix index defbf9c2aec..4279fdd5f99 100644 --- a/pkgs/applications/version-management/redmine/default.nix +++ b/pkgs/applications/version-management/redmine/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, bundlerEnv, ruby }: +{ stdenv, fetchurl, bundlerEnv, ruby, makeWrapper }: let version = "4.1.1"; @@ -19,6 +19,7 @@ in sha256 = "1nndy5hz8zvfglxf1f3bsb1pkrfwinfxzkdan1vjs3rkckkszyh5"; }; + nativeBuildInputs = [ makeWrapper ]; buildInputs = [ rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler ]; # taken from https://www.redmine.org/issues/33784 @@ -31,12 +32,14 @@ in ''; installPhase = '' - mkdir -p $out/share + mkdir -p $out/bin $out/share cp -r . $out/share/redmine for i in config files log plugins public/plugin_assets public/themes tmp; do rm -rf $out/share/redmine/$i ln -fs /run/redmine/$i $out/share/redmine/$i done + + makeWrapper ${rubyEnv.wrappedRuby}/bin/ruby $out/bin/rdm-mailhandler.rb --add-flags $out/share/redmine/extra/mail_handler/rdm-mailhandler.rb ''; meta = with stdenv.lib; { diff --git a/pkgs/data/icons/luna-icons/default.nix b/pkgs/data/icons/luna-icons/default.nix index 2a75c6c2030..b0de2ac3b13 100644 --- a/pkgs/data/icons/luna-icons/default.nix +++ b/pkgs/data/icons/luna-icons/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "luna-icons"; - version = "0.9"; + version = "0.9.1"; src = fetchFromGitHub { owner = "darkomarko42"; repo = pname; rev = version; - sha256 = "1pwbmw20kzlxnwln92nxq7f5s1xwbpv6j7il7jxymlw0y31rl281"; + sha256 = "0mz5cayjgsc109nv7kdkn3gn1n79bl3hb773lrzrr0k2zblxg353"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/libraspberrypi/default.nix b/pkgs/development/libraries/libraspberrypi/default.nix index 57a8a0e191a..664b8d1a7e0 100644 --- a/pkgs/development/libraries/libraspberrypi/default.nix +++ b/pkgs/development/libraries/libraspberrypi/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkg-config ]; cmakeFlags = [ (if (stdenv.hostPlatform.isAarch64) then "-DARM64=ON" else "-DARM64=OFF") - "-DVMCS_INSTALL_PREFIX=$out" + "-DVMCS_INSTALL_PREFIX=${placeholder "out"}" ]; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/build-managers/sbt-extras/default.nix b/pkgs/development/tools/build-managers/sbt-extras/default.nix index cf85d894a37..24c2bdd2af3 100644 --- a/pkgs/development/tools/build-managers/sbt-extras/default.nix +++ b/pkgs/development/tools/build-managers/sbt-extras/default.nix @@ -4,14 +4,14 @@ stdenv.mkDerivation rec { pname = "sbt-extras"; - rev = "32cf43b58f91bd3b7063baa9f2d75d4af45d9c4b"; - version = "2020-12-17"; + rev = "4db8d5c27413f69297adfffac57485d88d73c60e"; + version = "2020-12-26"; src = fetchFromGitHub { owner = "paulp"; repo = "sbt-extras"; inherit rev; - sha256 = "046xr3x73p63xnfakq981gvl299l5fahxgnn0bacvp7pa8g99dv2"; + sha256 = "B8abzdohkw3aPhbENJ2vxZFLWhIpf0HF/uv+WJbVRYg="; }; dontBuild = true; diff --git a/pkgs/games/mindustry/default.nix b/pkgs/games/mindustry/default.nix index c547fb052aa..423bf4bf9fe 100644 --- a/pkgs/games/mindustry/default.nix +++ b/pkgs/games/mindustry/default.nix @@ -22,14 +22,14 @@ let # Note: when raising the version, ensure that all SNAPSHOT versions in # build.gradle are replaced by a fixed version # (the current one at the time of release) (see postPatch). - version = "121.4"; + version = "122"; buildVersion = makeBuildVersion version; src = fetchFromGitHub { owner = "Anuken"; repo = "Mindustry"; rev = "v${version}"; - sha256 = "14w0fkn8q5bj84py7vx33wdk9d37ncrq6rdj5ryz4mvlxbix2n4n"; + sha256 = "19dxqscnny0c5w3pyg88hflrkhsqgd7zx19240kh4h69y3wwaz0m"; }; desktopItem = makeDesktopItem { @@ -50,6 +50,13 @@ let sed -i 's/com.github.anuken:packr:-SNAPSHOT/com.github.anuken:packr:034efe51781d2d8faa90370492133241bfb0283c/' build.gradle ''; + preBuild = '' + # Arc is run at build time for sprite packing, and it needs to see + # the runtime libraries + ${stdenv.lib.optionalString stdenv.isLinux "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${alsaLib}/lib"} + export GRADLE_USER_HOME=$(mktemp -d) + ''; + # The default one still uses jdk8 (#89731) gradle_6 = (gradleGen.override (old: { java = jdk14; })).gradle_6_7; @@ -62,7 +69,7 @@ let # one hash for 'deps'. Deps can be garbage collected after the build, # so this is not really an issue. buildPhase = '' - export GRADLE_USER_HOME=$(mktemp -d) + ${preBuild} gradle --no-daemon desktop:dist -Pbuildversion=${buildVersion} gradle --no-daemon server:dist -Pbuildversion=${buildVersion} ''; @@ -74,7 +81,7 @@ let ''; outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "18n671aa013cnsnp9aaw61llqz4s4vn7zgja8cazd0cg632x8jca"; + outputHash = "1kymfrd2vd23y1rmx19q47wc212r6qx03x6g58pxbqyylxmcw5zq"; }; # Separate commands for building and installing the server and the client @@ -109,7 +116,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gradle_6 makeWrapper ]; buildPhase = with stdenv.lib; '' - export GRADLE_USER_HOME=$(mktemp -d) + ${preBuild} # point to offline repo sed -ie "s#mavenLocal()#mavenLocal(); maven { url '${deps}' }#g" build.gradle ${optionalString enableClient buildClient} @@ -125,11 +132,15 @@ stdenv.mkDerivation rec { homepage = "https://mindustrygame.github.io/"; downloadPage = "https://github.com/Anuken/Mindustry/releases"; description = "A sandbox tower defense game"; - license = licenses.gpl3; + license = licenses.gpl3Plus; maintainers = with maintainers; [ fgaz ]; platforms = platforms.all; # Hash mismatch on darwin: # https://github.com/NixOS/nixpkgs/pull/105590#issuecomment-737120293 - broken = stdenv.isDarwin; + # Problems with native libraries in aarch64: + # https://github.com/NixOS/nixpkgs/pull/107646 + # https://logs.nix.ci/?key=nixos/nixpkgs.107646&attempt_id=3032c060-72e9-4a76-8186-4739544397dd + broken = stdenv.isDarwin || + stdenv.isAarch64; }; } diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix index 411a88d9293..783e7cf2d96 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.10.2"; + version = "5.10.3"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "18l1ywp99inm90434fm74w8rjfl4yl974kfcpizg2sp2p8xf311v"; + sha256 = "09cml495fnf52lhlkjxjznw34q5s8arvq7shkb6wjq6fwlrk65gr"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-lqx.nix b/pkgs/os-specific/linux/kernel/linux-lqx.nix new file mode 100644 index 00000000000..f2704378979 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-lqx.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchFromGitHub, buildLinux, linux_zen, ... } @ args: + +let + version = "5.9.16"; +in + +buildLinux (args // { + modDirVersion = "${version}-lqx1"; + inherit version; + isZen = true; + + src = fetchFromGitHub { + owner = "zen-kernel"; + repo = "zen-kernel"; + rev = "v${version}-lqx1"; + sha256 = "0ljvqf91nxpql98z75bicg5y3nzkm41rq5b0rm1kcnsk0ji829ps"; + }; + + extraMeta = { + branch = "5.9/master"; + maintainers = with stdenv.lib.maintainers; [ atemu ]; + description = linux_zen.meta.description + " (Same as linux_zen but less aggressive release schedule)"; + }; + +} // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index 5bf74ffd377..ac84e70bae4 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -3,15 +3,15 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.10-rc6"; - extraMeta.branch = "5.10"; + version = "5.11-rc1"; + extraMeta.branch = "5.11"; # modDirVersion needs to be x.y.z, will always add .0 modDirVersion = if (modDirVersionArg == null) then builtins.replaceStrings ["-"] [".0-"] version else modDirVersionArg; src = fetchurl { url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; - sha256 = "14ykzs98r918sqv7lddlps4r7hza1zgw0x67mmj77cmqiv6d8ffi"; + sha256 = "sha256-nPJpz058khWE83QV9ITylTXjimBBw7SQwg7WBjWA7H0="; }; # Should the testing kernels ever be built on Hydra? diff --git a/pkgs/os-specific/linux/kernel/linux-zen.nix b/pkgs/os-specific/linux/kernel/linux-zen.nix index fd06b2f8217..dc28f37338b 100644 --- a/pkgs/os-specific/linux/kernel/linux-zen.nix +++ b/pkgs/os-specific/linux/kernel/linux-zen.nix @@ -19,6 +19,7 @@ buildLinux (args // { extraMeta = { branch = "5.10/master"; maintainers = with stdenv.lib.maintainers; [ atemu andresilva ]; + description = "Built using the best configuration and kernel sources for desktop, multimedia, and gaming workloads."; }; } // (args.argsOverride or {})) diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix index 3072b44e4a3..b354fd994c9 100644 --- a/pkgs/servers/unifi/default.nix +++ b/pkgs/servers/unifi/default.nix @@ -38,23 +38,21 @@ let }; }; -in { - - # https://community.ui.com/releases / https://www.ui.com/download/unifi - # Outdated FAQ: https://help.ubnt.com/hc/en-us/articles/115000441548-UniFi-Current-Controller-Versions +in rec { + # see https://community.ui.com/releases / https://www.ui.com/download/unifi unifiLTS = generic { version = "5.6.42"; sha256 = "0wxkv774pw43c15jk0sg534l5za4j067nr85r5fw58iar3w2l84x"; }; - unifiStable = generic { + unifi5 = generic { version = "5.14.23"; sha256 = "1aar05yjm3z5a30x505w4kakbyz35i7mk7xyg0wm4ml6h94d84pv"; }; - unifiBeta = generic { - version = "6.0.36"; - sha256 = "1sjf4jd8jkf6194ahwqjxd2ip0r70bdk15gci1qrdw88agab143j"; + unifi6 = generic { + version = "6.0.43"; + sha256 = "1d9pw4f20pr4jb1xb43p7ycafv13ld1h40r05qg82029ml1s7jky"; }; } diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix index 38236c117e8..9dcb1a97053 100644 --- a/pkgs/shells/zsh/oh-my-zsh/default.nix +++ b/pkgs/shells/zsh/oh-my-zsh/default.nix @@ -5,15 +5,15 @@ , nix, nixfmt, jq, coreutils, gnused, curl, cacert }: stdenv.mkDerivation rec { - version = "2020-12-16"; + version = "2020-12-27"; pname = "oh-my-zsh"; - rev = "b28665aebb4c1b07a57890eb59551bc51d0acf37"; + rev = "90ffda7ed28dd8273b80bd262c6a28be65e4da71"; src = fetchFromGitHub { inherit rev; owner = "ohmyzsh"; repo = "ohmyzsh"; - sha256 = "00m8d992jhbkd8mhm6zhirk9ga3dfzhh8idn2yp40yk7wdbzrd74"; + sha256 = "lYf+NmSgY0WFBMWxVBrh/f2cSJ0WqnaTktQNA0nYZNE="; }; installPhase = '' diff --git a/pkgs/tools/admin/chamber/default.nix b/pkgs/tools/admin/chamber/default.nix index 7a80ed37188..c2126181f36 100644 --- a/pkgs/tools/admin/chamber/default.nix +++ b/pkgs/tools/admin/chamber/default.nix @@ -1,15 +1,23 @@ -{ buildGoModule, lib, fetchFromGitHub }: +{ buildGoModule, lib, fetchFromGitHub, fetchpatch }: + buildGoModule rec { pname = "chamber"; - version = "2.8.2"; + version = "2.9.0"; src = fetchFromGitHub { owner = "segmentio"; repo = pname; rev = "v${version}"; - sha256 = "sha256-7L9RaE4LvHRR6MUimze5QpbnfasWJdY4arfS/Usy2q0="; + sha256 = "eOMY9P/fCYvnl6KGNb6wohykLA0Sj9Ti0L18gx5dqUk="; }; + patches = [ + (fetchpatch { + url = "https://github.com/segmentio/chamber/commit/3aeb416cdf4c232552b653262e37047fc13b1f02.patch"; + sha256 = "cyxNF9ZP4oG+1sfX9yWZCyntpAvwYUh5BzTirZQGejc="; + }) + ]; + vendorSha256 = null; # set the version. see: chamber's Makefile diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index ee622e90967..6e5da1bf34e 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -666,6 +666,7 @@ mapAliases ({ ucsFonts = ucs-fonts; # added 2016-07-15 ultrastardx-beta = ultrastardx; # added 2017-08-12 unicorn-emu = unicorn; # added 2020-10-29 + unifiStable = unifi6; # added 2020-12-28 usb_modeswitch = usb-modeswitch; # added 2016-05-10 usbguard-nox = usbguard; # added 2019-09-04 utillinux = util-linux; # added 2020-11-24 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dfa584bdbc1..315a5fa9ddb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17951,9 +17951,9 @@ in inherit (callPackages ../servers/unifi { }) unifiLTS - unifiStable - unifiBeta; - unifi = unifiStable; + unifi5 + unifi6; + unifi = unifi6; urserver = callPackage ../servers/urserver { }; @@ -18591,6 +18591,14 @@ in ]; }; + linux_lqx = callPackage ../os-specific/linux/kernel/linux-lqx.nix { + kernelPatches = [ + kernelPatches.bridge_stp_helper + kernelPatches.request_key_helper + kernelPatches.export_kernel_fpu_functions."5.3" + ]; + }; + /* Linux kernel modules are inherently tied to a specific kernel. So rather than provide specific instances of those packages for a specific kernel, we have a function that builds those packages @@ -18905,6 +18913,7 @@ in # zen-kernel linuxPackages_zen = recurseIntoAttrs (linuxPackagesFor pkgs.linux_zen); + linuxPackages_lqx = recurseIntoAttrs (linuxPackagesFor pkgs.linux_lqx); # A function to build a manually-configured kernel linuxManualConfig = makeOverridable (callPackage ../os-specific/linux/kernel/manual-config.nix {});