Compare commits

..

No commits in common. 'cf491794a70080c4a62c6276598fdd69cba68893' and '3fceaf18488385198d5980f2a9588b9a31c8f9af' have entirely different histories.

  1. 63
      infra/libkookie/build
  2. 5
      infra/libkookie/configuration/workstation/i3/tempest.nix
  3. 3
      infra/libkookie/modules/workstation/ui/i3/core/config.nix
  4. 23
      infra/libkookie/modules/workstation/ui/i3/core/default.nix
  5. 9
      infra/libkookie/modules/workstation/ui/i3/core/keys.nix
  6. 73
      infra/libkookie/modules/workstation/ui/i3/core/setup.nix
  7. 2
      infra/libkookie/modules/workstation/ui/i3/core/tools/default.nix
  8. 11
      infra/libkookie/modules/workstation/ui/i3/core/tools/i3-move.nix
  9. 20
      infra/libkookie/modules/workstation/ui/i3/core/tools/i3-switch.nix
  10. 6
      infra/libkookie/modules/workstation/ui/i3/default.nix
  11. 12
      infra/libkookie/modules/workstation/ui/i3/hm.nix
  12. 17
      infra/libkookie/nixpkgs/unstable/nixos/modules/services/web-apps/nextcloud.nix
  13. 5
      infra/libkookie/overlays/rust/.github/workflows/ci.yaml
  14. 2
      infra/libkookie/overlays/rust/README.md
  15. 16
      infra/libkookie/overlays/rust/examples/cross-aarch64/shell.nix
  16. 3
      infra/libkookie/overlays/rust/manifest.nix
  17. 1
      infra/libkookie/overlays/rust/manifests/beta/2021/2021-09-05.nix
  18. 1
      infra/libkookie/overlays/rust/manifests/beta/2021/2021-09-08.nix
  19. 1
      infra/libkookie/overlays/rust/manifests/beta/2021/2021-09-12.nix
  20. 1
      infra/libkookie/overlays/rust/manifests/beta/2021/2021-09-18.nix
  21. 1
      infra/libkookie/overlays/rust/manifests/beta/2021/2021-10-06.nix
  22. 1
      infra/libkookie/overlays/rust/manifests/beta/2021/2021-10-15.nix
  23. 1
      infra/libkookie/overlays/rust/manifests/beta/2021/2021-10-17.nix
  24. 1
      infra/libkookie/overlays/rust/manifests/beta/2021/2021-10-19.nix
  25. 1
      infra/libkookie/overlays/rust/manifests/beta/2021/2021-10-22.nix
  26. 1
      infra/libkookie/overlays/rust/manifests/beta/2021/2021-11-02.nix
  27. 12
      infra/libkookie/overlays/rust/manifests/beta/default.nix
  28. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-04.nix
  29. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-05.nix
  30. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-06.nix
  31. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-07.nix
  32. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-08.nix
  33. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-09.nix
  34. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-10.nix
  35. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-11.nix
  36. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-12.nix
  37. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-13.nix
  38. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-14.nix
  39. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-15.nix
  40. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-16.nix
  41. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-17.nix
  42. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-18.nix
  43. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-19.nix
  44. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-20.nix
  45. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-22.nix
  46. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-23.nix
  47. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-24.nix
  48. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-25.nix
  49. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-26.nix
  50. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-27.nix
  51. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-28.nix
  52. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-29.nix
  53. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-09-30.nix
  54. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-01.nix
  55. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-02.nix
  56. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-03.nix
  57. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-04.nix
  58. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-05.nix
  59. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-06.nix
  60. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-07.nix
  61. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-08.nix
  62. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-09.nix
  63. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-10.nix
  64. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-11.nix
  65. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-12.nix
  66. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-13.nix
  67. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-14.nix
  68. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-15.nix
  69. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-16.nix
  70. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-17.nix
  71. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-18.nix
  72. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-19.nix
  73. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-20.nix
  74. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-21.nix
  75. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-22.nix
  76. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-23.nix
  77. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-24.nix
  78. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-25.nix
  79. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-26.nix
  80. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-27.nix
  81. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-28.nix
  82. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-29.nix
  83. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-30.nix
  84. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-10-31.nix
  85. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-11-01.nix
  86. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-11-02.nix
  87. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-11-03.nix
  88. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-11-04.nix
  89. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-11-05.nix
  90. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-11-06.nix
  91. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-11-07.nix
  92. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-11-08.nix
  93. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-11-09.nix
  94. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-11-10.nix
  95. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-11-11.nix
  96. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-11-12.nix
  97. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-11-13.nix
  98. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-11-14.nix
  99. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-11-15.nix
  100. 1
      infra/libkookie/overlays/rust/manifests/nightly/2021/2021-11-16.nix
  101. Some files were not shown because too many files have changed in this diff Show More

@ -15,15 +15,15 @@ echo Active tree: "$ROOT"
## Build the libkookie tree
function build {
NIXPKGS_ALLOW_UNFREE=1 \
nix build -f '<nixpkgs/nixos>' system \
-I nixos-config="$ROOT" \
-I "nixpkgs=$DIR/nixpkgs/unstable" \
-I "nixpkgs-overlays=$DIR/overlays" \
-I "home-manager=$DIR/home-manager" \
-I "modules=$DIR/modules" \
-I "shells=$DIR/shells" \
-I "configuration=$DIR/configuration" \
--out-link "$OUT" "$@"
nix build -f '<nixpkgs/nixos>' system \
-I nixos-config="$ROOT" \
-I "nixpkgs=$DIR/nixpkgs/unstable" \
-I "nixpkgs-overlays=$DIR/overlays" \
-I "home-manager=$DIR/home-manager" \
-I "modules=$DIR/modules" \
-I "shells=$DIR/shells" \
-I "configuration=$DIR/configuration" \
--out-link "$OUT" "$@"
}
## Build and output build path for debugging
@ -40,26 +40,19 @@ function switch {
"$OUT"/bin/switch-to-configuration switch
}
## Build and switch to the new configuration (requires root)
function switch_reboot {
build "$@"
nix-env -p /nix/var/nix/profiles/system --set "$OUT"
"$OUT"/bin/switch-to-configuration boot
}
function vmimage {
RUN="$1"; shift
NIXPKGS_ALLOW_UNFREE=1 \
nix build -f '<nixpkgs/nixos>' vm \
-I nixos-config="$ROOT" \
-I "nixpkgs=$DIR" \
-I "nixpkgs-overlays=$DIR/overlays" \
-I "home-manager=$DIR/home-manager" \
-I "modules=$DIR/modules" \
-I "shells=$DIR/shells" \
-I "configuration=$DIR/configuration" \
--argstr system x86_64-linux "$@"
nix build -f '<nixpkgs/nixos>' vm \
-I nixos-config="$ROOT" \
-I "nixpkgs=$DIR" \
-I "nixpkgs-overlays=$DIR/overlays" \
-I "home-manager=$DIR/home-manager" \
-I "modules=$DIR/modules" \
-I "shells=$DIR/shells" \
-I "configuration=$DIR/configuration" \
--argstr system x86_64-linux "$@"
if [ "$RUN" -eq "1" ]; then
echo "Running VM image..."
@ -69,25 +62,9 @@ function vmimage {
exit 0
}
function iso {
echo "Running iso command"
NIXPKGS_ALLOW_UNFREE=1 \
nix build -f '<nixpkgs/nixos>' system.build.isoImage \
-I nixos-config="$DIR/roots/iso.nix"
-I "nixpkgs=$DIR/nixpkgs/unstable" \
-I "nixpkgs-overlays=$DIR/overlays" \
-I "home-manager=$DIR/home-manager" \
-I "modules=$DIR/modules" \
-I "shells=$DIR/shells" \
-I "configuration=$DIR/configuration" \
--out-link "$OUT" "$@"
}
case "$1" in
-sb* | --switch-rb) shift; switch_reboot "$@" ;;
-s* | --switch*) shift; switch "$@" ;;
-d* | --debug*) shift; debug "$@" ;;
-i* | --iso*) shift; iso "$@" ;;
-s* | --switch*) shift; switch "$@" ;;
-d* | --debug*) shift; debug "$@" ;;
-vr*) shift; vmimage "1" "$@" ;;
-v*) shift; vmimage "0" "$@" ;;
*) build "$@" ;;

@ -9,7 +9,7 @@
picom = true;
# TODO: include these files via git LFS
wallpaper = /home/Pictures/Wallpapers/transistor1.jpg;
wallpaper = /home/Pictures/Wallpapers/small-memory.webp;
# TODO: hook into the "fonts" module?
fonts = [ "Iosevka Kookie:13" ];
@ -17,9 +17,6 @@
networkmanager = false;
term = pkgs.kitty;
window-spacing = true;
bar-location = "top";
i3Status.segments = ["ipv6" "disk /" "ethernet _first_" "load" "tztime local"];
};

@ -8,8 +8,7 @@
let
cfg = config.libkookie.ui.i3;
bottom = cfg.bar-location == "bottom";
xtraPkgs = pkgs // (import ./tools (args // { inherit bottom; }));
xtraPkgs = pkgs // (import ./tools args);
in
rec {
# This is not configurable by design

@ -1,10 +1,6 @@
{ lib, config, pkgs, ... }:
let cfg = config.libkookie.ui.i3;
in
{
environment.systemPackages = [ pkgs.gnome3.file-roller ];
# Set the basic xfce/xserver configuration
services.xserver = {
enable = true;
@ -13,23 +9,10 @@ in
enable = true;
noDesktop = true;
enableXfwm = false;
thunarPlugins = with pkgs.xfce; [
thunar-archive-plugin
thunar-volman
thunar-media-tags-plugin
];
};
};
displayManager = {
gdm.enable = true;
defaultSession = "xfce+i3";
};
windowManager.i3 = {
enable = true;
package = with pkgs; if cfg.window-spacing then i3-gaps else i3;
};
displayManager.defaultSession = "xfce+i3";
windowManager.i3.enable = true;
useGlamor = true;
@ -51,7 +34,7 @@ in
SDL2 SDL2_gfx SDL2_mixer SDL2_ttf
];
extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
# driSupport32Bit = true; ## broken by Manjaro kernel
driSupport32Bit = true;
setLdLibraryPath = true;
};
}

@ -12,17 +12,14 @@
"${modifier}+Shift+q" = "kill";
# Float current window
"${modifier}+Shift+space" = "floating toggle";
"${modifier}+space" = "focus toggle";
"${modifier}+Shift+Space" = "floating toggle";
"${modifier}+Space" = "focus toggle";
# Full-screen current window
"${modifier}+f" = "fullscreen";
# Start software on <this> or <other> workspace
"${modifier}+e" = if cfg.bar-location == "top" then
"exec ${pkgs.dmenu}/bin/dmenu_run -b"
else
"exec ${pkgs.dmenu}/bin/dmenu_run";
"${modifier}+e" = "exec ${pkgs.dmenu}/bin/dmenu_run";
# Switch to workspace (optionally take current window)
"${modifier}+o" = "exec ${pkgs.libkookie-i3-switch}";

@ -29,7 +29,7 @@ in
in
{
enable = true;
package = if cfg.window-spacing then pkgs.i3-gaps else pkgs.i3;
package = pkgs.i3;
inherit config;
# TODO: move this into the config module?
@ -38,46 +38,39 @@ in
let
fehCommand = "${feh}/bin/feh --bg-fill ${cfg.wallpaper}";
in
''
# Setup compositor
exec_always --no-startup-id "${coreutils}/bin/pkill picom; ${picom}/bin/picom --config ~/.config/i3/picom.conf"
# Make CAPSLOCK into ESC because it's 2018
#
# Okay actually this is slightly more complicated than that. I'm binding
# CAPSLOCK to HYPER, so that I can use it as a modifier in emacs, but then
# using xcape(1) to also make short CAPSLOCK presses into ESCAPE.
exec_always --no-startup-id "${xorg.xmodmap}/bin/setxkbmap -layout us -variant altgr-intl -option caps:hyper"
exec ${xcape}/bin/xcape -e "#66=Escape" -t 150
# Always set a wallpaper
exec_always --no-startup-id ${fehCommand}
bar {
status_command ${i3status}/bin/i3status -c ~/.config/i3/i3status.conf
position top
bindsym button4 nop
bindsym button5 nop
colors {
background #0F0F0F
statusline #D5D5D5
}
''
# Setup compositor
exec_always --no-startup-id "${coreutils}/bin/pkill picom; ${picom}/bin/picom --config ~/.config/i3/picom.conf"
# Make CAPSLOCK into ESC because it's 2018
#
# Okay actually this is slightly more complicated than that. I'm binding
# CAPSLOCK to HYPER, so that I can use it as a modifier in emacs, but then
# using xcape(1) to also make short CAPSLOCK presses into ESCAPE.
exec_always --no-startup-id "${xorg.xmodmap}/bin/setxkbmap -layout us -variant altgr-intl -option caps:hyper"
exec ${xcape}/bin/xcape -e "#66=Escape" -t 150
# Always set a wallpaper
exec_always --no-startup-id ${fehCommand}
bar {
status_command ${i3status}/bin/i3status -c ~/.config/i3/i3status.conf
position bottom
bindsym button4 nop
bindsym button5 nop
colors {
background #0F0F0F
statusline #D5D5D5
}
focus_follows_mouse no
# Layout and design settings that should _really_ be in the module
# default_border none
client.focused #4c7899 #285577 #ffffff #F73E5F #666666
'' + (if cfg.window-spacing then
''
# These settings are for i3-gaps
for_window [class=".*"] border pixel 3
gaps inner 20
''
else
"");
}
focus_follows_mouse no
# Layout and design settings that should _really_ be in the module
default_border pixel 3
client.focused #4c7899 #285577 #ffffff #F73E5F #666666
'';
};
xdg.configFile."i3/picom.conf" = (import ./picom.nix args);

@ -1,4 +1,4 @@
{ bottom, pkgs, ... } @ args:
{ pkgs, ... } @ args:
{
libkookie-i3-move = (import ./i3-move.nix args);

@ -5,16 +5,11 @@
* (dmenu) could be made configurable, so not to rely on nazi code.
*/
{ bottom, pkgs, ... }: with pkgs;
let dmenu-cmd = if bottom then
"${dmenu}/bin/dmenu -b -i \"$@\""
else
"${dmenu}/bin/dmenu -i \"$@\"";
in
writeShellScript "libkookie-i3-move" ''
{ pkgs, ... }: with pkgs; writeShellScript "libkookie-i3-move" ''
WS=$(${i3}/bin/i3-msg -t get_workspaces | \
${jq}/bin/jq -r -M '.[] | .name' | sort -u | \
${dmenu-cmd})
${dmenu}/bin/dmenu -b -i "$@")
${i3}/bin/i3-msg -t command move workspace $WS
${i3}/bin/i3-msg workspace $WS

@ -5,17 +5,11 @@
* could be made configurable, so not to rely on nazi code.
*/
{ bottom, pkgs, ... }: with pkgs;
let dmenu-cmd = if bottom then
"${dmenu}/bin/dmenu -b -i \"$@\""
else
"${dmenu}/bin/dmenu -i \"$@\"";
in
{ pkgs, ... }: with pkgs; writeShellScript "libkookie-i3-switch" ''
writeShellScript "libkookie-i3-switch" ''
WS=$(${i3}/bin/i3-msg -t get_workspaces | \
${jq}/bin/jq -r -M '.[] | .name' | sort -u | \
${dmenu-cmd})
${i3}/bin/i3-msg workspace $WS
''
WS=$(${i3}/bin/i3-msg -t get_workspaces | \
${jq}/bin/jq -r -M '.[] | .name' | sort -u | \
${dmenu}/bin/dmenu -b -i "$@")
${i3}/bin/i3-msg workspace $WS
''

@ -24,12 +24,6 @@ with lib;
This setting is passed through to the X11 configuration.
'';
};
window-spacing = mkOption {
type = types.bool;
default = false;
description = "Enable window spacing via i3gaps";
};
};
config = mkIf cfg.enable (import ./core args);

@ -42,18 +42,6 @@ in
type = types.package;
description = "Terminal emulator to bind to <M-RET>";
};
bar-location = mkOption {
type = types.enum [ "top" "bottom" ];
default = "bottom";
description = "Choose the orientation of the status bar";
};
window-spacing = mkOption {
type = types.bool;
default = false;
description = "Enable window spacing via i3gaps";
};
i3Status = mkOption {
type = with types; submodule {

@ -87,8 +87,10 @@ in {
default = "/var/lib/nextcloud";
description = "Storage path of nextcloud.";
};
datadir = mkOption {
<<<<<<< HEAD
dataHome = mkOption {
type = types.str;
description = "Storage path of nextcloud.";
defaultText = "config.services.nextcloud.home";
description = ''
Data storage path of nextcloud. Will be <xref linkend="opt-services.nextcloud.home" /> by default.
@ -140,6 +142,7 @@ in {
Set to false to disable the installation of apps from the global appstore. App management is always enabled regardless of this setting.
'';
};
>>>>>>> 34ad3ffe08adfca17fcb4e4a47bb5f3b113687be
logLevel = mkOption {
type = types.ints.between 0 4;
default = 2;
@ -647,8 +650,8 @@ in {
[ 'path' => '${cfg.home}/apps', 'url' => '/apps', 'writable' => false ],
[ 'path' => '${cfg.home}/store-apps', 'url' => '/store-apps', 'writable' => true ],
],
${optionalString (showAppStoreSetting) "'appstoreenabled' => ${renderedAppStoreSetting},"}
'datadirectory' => '${datadir}/data',
'datadirectory' => '${cfg.dataHome}',
>>>>>>> 34ad3ffe08adfca17fcb4e4a47bb5f3b113687be
'skeletondirectory' => '${cfg.skeletonDirectory}',
${optionalString cfg.caching.apcu "'memcache.local' => '\\OC\\Memcache\\APCu',"}
'log_type' => 'syslog',
@ -691,8 +694,10 @@ in {
${if c.dbuser != null then "--database-user" else null} = ''"${c.dbuser}"'';
"--database-pass" = "\$${dbpass.arg}";
"--admin-user" = ''"${c.adminuser}"'';
"--admin-pass" = "\$${adminpass.arg}";
"--data-dir" = ''"${datadir}/data"'';
<<<<<<< HEAD
"--admin-pass" = adminpass;
||||||| 8a2ec31e224
>>>>>>> 34ad3ffe08adfca17fcb4e4a47bb5f3b113687be
});
in ''
${mkExport dbpass}
@ -742,7 +747,7 @@ in {
# create nextcloud directories.
# if the directories exist already with wrong permissions, we fix that
for dir in ${datadir}/config ${datadir}/data ${cfg.home}/store-apps ${cfg.home}/nix-apps; do
for dir in ${cfg.home}/config ${cfg.dataHome} ${cfg.home}/store-apps; do
if [ ! -e $dir ]; then
install -o nextcloud -g nextcloud -d $dir
elif [ $(stat -c "%G" $dir) != "nextcloud" ]; then

@ -88,11 +88,10 @@ jobs:
name: Check build Rust
if: ${{ github.event.workflow_run.conclusion != 'failure' }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
channel: [stable, beta]
build_pkg: [minimal, default]
build_pkg: [rust, default]
runs-on: ${{ matrix.os }}
env:
build_expr: (import <nixpkgs> { overlays = [ (import ./.) ]; }).rust-bin.${{ matrix.channel }}.latest.${{ matrix.build_pkg }}
@ -136,7 +135,7 @@ jobs:
nix-shell -p "$build_expr" --pure --command "rustc test.rs -o test"
[[ "$(./test)" == "hello, world" ]]
- name: Check `clippy` works
if: matrix.build_pkg == 'default' && steps.cache-drv-status.outputs.cache-hit != 'true'
if: steps.cache-drv-status.outputs.cache-hit != 'true'
run: |
echo 'fn main() { loop { break; } }' >./test.rs
nix-shell -p "$build_expr" --pure --command 'clippy-driver test.rs -W clippy::never-loop' 2>&1 | tee msg

@ -134,7 +134,7 @@ Running `nix develop` will create a shell with the default nightly Rust toolchai
rust-bin.beta.latest.minimal
```
It provides the same components as which installed by `rustup install`'s `default` or `minimal` profiles.
It provices the same components as which installed by `rustup install`'s `default` or `minimal` profiles.
Almost always, `default` is what you want for development.

@ -1,22 +1,18 @@
(import <nixpkgs> {
with import <nixpkgs> {
crossSystem = "aarch64-linux";
overlays = [ (import ../..) ];
}).callPackage (
{ mkShell, rust-bin, pkg-config, openssl, pkgsBuildBuild }:
};
mkShell {
nativeBuildInputs = [
# Manual `buildPackages` is required here. See: https://github.com/NixOS/nixpkgs/issues/49526
# build = host = x86_64, target = aarch64
rust-bin.stable.latest.minimal
pkg-config
# build = host = target = x86_64
# qemu itself is multi-platform and `target` doesn't matter for it.
# Use build system's to avoid rebuild.
buildPackages.rust-bin.stable.latest.minimal
buildPackages.pkg-config
# build = host = target = x86_64, just to avoid re-build.
pkgsBuildBuild.qemu
];
buildInputs = [
# build = x86_64, host = target = aarch64
openssl
];
}) {}
}

@ -84,7 +84,8 @@ let
profiles = if p == null
then {}
else elemAt profilesList p;
# `rust-mingw` is in each profile but doesn't support platforms other than Windows.
else mapAttrs (name: remove "rust-mingw") (elemAt profilesList p);
targetComponentsList = [
"rust-std"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -173,15 +173,5 @@
"2021-08-22" = import ./2021/2021-08-22.nix;
"2021-08-28" = import ./2021/2021-08-28.nix;
"2021-08-29" = import ./2021/2021-08-29.nix;
"2021-09-05" = import ./2021/2021-09-05.nix;
"2021-09-08" = import ./2021/2021-09-08.nix;
"2021-09-12" = import ./2021/2021-09-12.nix;
"2021-09-18" = import ./2021/2021-09-18.nix;
"2021-10-06" = import ./2021/2021-10-06.nix;
"2021-10-15" = import ./2021/2021-10-15.nix;
"2021-10-17" = import ./2021/2021-10-17.nix;
"2021-10-19" = import ./2021/2021-10-19.nix;
"2021-10-22" = import ./2021/2021-10-22.nix;
"2021-11-02" = import ./2021/2021-11-02.nix;
latest = "2021-11-02";
latest = "2021-08-29";
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save