Compare commits

...

88 Commits

Author SHA1 Message Date
Katharina Fey cf491794a7
libkookie: i3: enable switching between i3 and i3-gaps 3 years ago
Katharina Fey 0622395338
infra: nextcloud: fix merge conflict artefacts 3 years ago
Katharina Fey 5c1c1fdf9a
libkookie: fix floating window toggle in i3 3 years ago
Katharina Fey 20993c24b1
libkookie: formatting change of build script 3 years ago
Katharina Fey 69f1d7da38
Merge commit 'ccc467eff80b2fbb8000cf425e999ef14fbe200c' 3 years ago
GitHub Action ccc467eff8 manifest: update 3 years ago
GitHub Action 85733f85cd manifest: update 3 years ago
GitHub Action 8a2e5fa870 manifest: update 3 years ago
GitHub Action ac1c572e40 manifest: update 3 years ago
GitHub Action 527585fa50 manifest: update 3 years ago
GitHub Action 1bd6efbe7a manifest: update 3 years ago
GitHub Action 2b97caa27a manifest: update 3 years ago
GitHub Action e87b7ea329 manifest: update 3 years ago
GitHub Action cf7d3ffc32 manifest: update 3 years ago
GitHub Action e9cc24d028 manifest: update 3 years ago
GitHub Action 35dd4b5611 manifest: update 3 years ago
GitHub Action 1eb86a50e2 manifest: update 3 years ago
GitHub Action 0385d848c7 manifest: update 3 years ago
GitHub Action 520dd01691 manifest: update 3 years ago
GitHub Action 5153c49ce8 manifest: update 3 years ago
GitHub Action a7d961b654 manifest: update 3 years ago
GitHub Action 4f1c1054d5 manifest: update 3 years ago
GitHub Action 632a079c10 manifest: update 3 years ago
GitHub Action 7d496e6703 manifest: update 3 years ago
GitHub Action da39f01d3b manifest: update 3 years ago
GitHub Action f6c518539e manifest: update 3 years ago
GitHub Action 4f2eee47b5 manifest: update 3 years ago
GitHub Action 1347817f5d manifest: update 3 years ago
GitHub Action dbedcf48f0 manifest: update 3 years ago
oxalica f0a37690fa
Fix `targetExtensions` and improve error messages 3 years ago
GitHub Action fb8b1172e4 manifest: update 3 years ago
GitHub Action f977b1f50d manifest: update 3 years ago
GitHub Action 21ec729445 manifest: update 3 years ago
GitHub Action e0b4846b8d manifest: update 3 years ago
GitHub Action c02c2d8635 manifest: update 3 years ago
GitHub Action 4129ba9dac manifest: update 3 years ago
GitHub Action ebad3f79de manifest: update 3 years ago
GitHub Action b3db12fafb manifest: update 3 years ago
GitHub Action c09f12c35c manifest: update 3 years ago
GitHub Action f21c654466 manifest: update 3 years ago
GitHub Action 03477e4ff2 manifest: update 3 years ago
GitHub Action 250daa42a4 manifest: update 3 years ago
GitHub Action 325ce5f355 manifest: update 3 years ago
GitHub Action 59d77150c9 manifest: update 3 years ago
GitHub Action 08de2ff90c manifest: update 3 years ago
GitHub Action 23cce8b8a5 manifest: update 3 years ago
GitHub Action 6a6cf40b58 manifest: update 3 years ago
GitHub Action c41edf094c manifest: update 3 years ago
GitHub Action 7da3fe8b19 manifest: update 3 years ago
GitHub Action 3131abe790 manifest: update 3 years ago
GitHub Action 5b0f1b1304 manifest: update 3 years ago
GitHub Action 9c2fc6a62c manifest: update 3 years ago
GitHub Action db1fc4c52e manifest: update 3 years ago
GitHub Action ff315d42ec manifest: update 3 years ago
GitHub Action f42b3a63f3 manifest: update 3 years ago
GitHub Action 1dd25e851d manifest: update 3 years ago
GitHub Action 113b177e6e manifest: update 3 years ago
GitHub Action f802d2fa14 manifest: update 3 years ago
GitHub Action 7d2fdd741d manifest: update 3 years ago
GitHub Action 054fd85fb2 manifest: update 3 years ago
GitHub Action 19ee9ed815 manifest: update 3 years ago
GitHub Action e7ff18a6ee manifest: update 3 years ago
GitHub Action ccb4bb174c manifest: update 3 years ago
GitHub Action c55b40dbd5 manifest: update 3 years ago
GitHub Action de00d759f5 manifest: update 3 years ago
oxalica d875f63082
Fix propagated dependencies 3 years ago
oxalica 49895bee19
Remove pre-aggregated `rust` package from CI 3 years ago
GitHub Action 420c01748a manifest: update 3 years ago
GitHub Action f72d85edf3 manifest: update 3 years ago
GitHub Action 67c7c695d7 manifest: update 3 years ago
GitHub Action 9a72c6ef65 manifest: update 3 years ago
GitHub Action 4e79ebf674 manifest: update 3 years ago
GitHub Action 1dfe4ca9cf manifest: update 3 years ago
Bruno Bigras 1bf171da0f
Fix typo in README.md (#50) 3 years ago
GitHub Action c6f14ce758 manifest: update 3 years ago
GitHub Action 9fd1c36484 manifest: update 3 years ago
GitHub Action c08e0e0803 manifest: update 3 years ago
oxalica 50d8019b4d
Don't fail-fast for GitHub CI 3 years ago
oxalica c7ed82b231
Fix dependency offset for propagated gcc 3 years ago
GitHub Action b0d0959bbb manifest: update 3 years ago
oxalica 1c7a60bf6c
Support major.minor for `fromRustupToolchain` 3 years ago
GitHub Action 3a29d5e726 manifest: update 3 years ago
GitHub Action 1b723f746e manifest: update 3 years ago
GitHub Action 0736de320f manifest: update 3 years ago
GitHub Action 0bada3664d manifest: update 3 years ago
GitHub Action 701fe49e85 manifest: update 3 years ago
GitHub Action b4c01ab310 manifest: update 3 years ago
GitHub Action 1fc1a35ed2 manifest: update 3 years ago
  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,19 +40,26 @@ 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..."
@ -62,9 +69,25 @@ 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
-s* | --switch*) shift; switch "$@" ;;
-d* | --debug*) shift; debug "$@" ;;
-sb* | --switch-rb) shift; switch_reboot "$@" ;;
-s* | --switch*) shift; switch "$@" ;;
-d* | --debug*) shift; debug "$@" ;;
-i* | --iso*) shift; iso "$@" ;;
-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/small-memory.webp;
wallpaper = /home/Pictures/Wallpapers/transistor1.jpg;
# TODO: hook into the "fonts" module?
fonts = [ "Iosevka Kookie:13" ];
@ -17,6 +17,9 @@
networkmanager = false;
term = pkgs.kitty;
window-spacing = true;
bar-location = "top";
i3Status.segments = ["ipv6" "disk /" "ethernet _first_" "load" "tztime local"];
};

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

@ -1,6 +1,10 @@
{ 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;
@ -9,10 +13,23 @@
enable = true;
noDesktop = true;
enableXfwm = false;
thunarPlugins = with pkgs.xfce; [
thunar-archive-plugin
thunar-volman
thunar-media-tags-plugin
];
};
};
displayManager.defaultSession = "xfce+i3";
windowManager.i3.enable = true;
displayManager = {
gdm.enable = true;
defaultSession = "xfce+i3";
};
windowManager.i3 = {
enable = true;
package = with pkgs; if cfg.window-spacing then i3-gaps else i3;
};
useGlamor = true;
@ -34,7 +51,7 @@
SDL2 SDL2_gfx SDL2_mixer SDL2_ttf
];
extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
driSupport32Bit = true;
# driSupport32Bit = true; ## broken by Manjaro kernel
setLdLibraryPath = true;
};
}

@ -12,14 +12,17 @@
"${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" = "exec ${pkgs.dmenu}/bin/dmenu_run";
"${modifier}+e" = if cfg.bar-location == "top" then
"exec ${pkgs.dmenu}/bin/dmenu_run -b"
else
"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 = pkgs.i3;
package = if cfg.window-spacing then pkgs.i3-gaps else pkgs.i3;
inherit config;
# TODO: move this into the config module?
@ -38,39 +38,46 @@ 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 bottom
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 top
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 pixel 3
client.focused #4c7899 #285577 #ffffff #F73E5F #666666
'';
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
"");
};
xdg.configFile."i3/picom.conf" = (import ./picom.nix args);

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

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

@ -5,11 +5,17 @@
* could be made configurable, so not to rely on nazi code.
*/
{ pkgs, ... }: with pkgs; writeShellScript "libkookie-i3-switch" ''
{ bottom, pkgs, ... }: with pkgs;
let dmenu-cmd = if bottom then
"${dmenu}/bin/dmenu -b -i \"$@\""
else
"${dmenu}/bin/dmenu -i \"$@\"";
in
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
''
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
''

@ -24,6 +24,12 @@ 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,6 +42,18 @@ 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,10 +87,8 @@ in {
default = "/var/lib/nextcloud";
description = "Storage path of nextcloud.";
};
<<<<<<< HEAD
dataHome = mkOption {
datadir = 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.
@ -142,7 +140,6 @@ 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;
@ -650,8 +647,8 @@ in {
[ 'path' => '${cfg.home}/apps', 'url' => '/apps', 'writable' => false ],
[ 'path' => '${cfg.home}/store-apps', 'url' => '/store-apps', 'writable' => true ],
],
'datadirectory' => '${cfg.dataHome}',
>>>>>>> 34ad3ffe08adfca17fcb4e4a47bb5f3b113687be
${optionalString (showAppStoreSetting) "'appstoreenabled' => ${renderedAppStoreSetting},"}
'datadirectory' => '${datadir}/data',
'skeletondirectory' => '${cfg.skeletonDirectory}',
${optionalString cfg.caching.apcu "'memcache.local' => '\\OC\\Memcache\\APCu',"}
'log_type' => 'syslog',
@ -694,10 +691,8 @@ in {
${if c.dbuser != null then "--database-user" else null} = ''"${c.dbuser}"'';
"--database-pass" = "\$${dbpass.arg}";
"--admin-user" = ''"${c.adminuser}"'';
<<<<<<< HEAD
"--admin-pass" = adminpass;
||||||| 8a2ec31e224
>>>>>>> 34ad3ffe08adfca17fcb4e4a47bb5f3b113687be
"--admin-pass" = "\$${adminpass.arg}";
"--data-dir" = ''"${datadir}/data"'';
});
in ''
${mkExport dbpass}
@ -747,7 +742,7 @@ in {
# create nextcloud directories.
# if the directories exist already with wrong permissions, we fix that
for dir in ${cfg.home}/config ${cfg.dataHome} ${cfg.home}/store-apps; do
for dir in ${datadir}/config ${datadir}/data ${cfg.home}/store-apps ${cfg.home}/nix-apps; do
if [ ! -e $dir ]; then
install -o nextcloud -g nextcloud -d $dir
elif [ $(stat -c "%G" $dir) != "nextcloud" ]; then

@ -88,10 +88,11 @@ 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: [rust, default]
build_pkg: [minimal, default]
runs-on: ${{ matrix.os }}
env:
build_expr: (import <nixpkgs> { overlays = [ (import ./.) ]; }).rust-bin.${{ matrix.channel }}.latest.${{ matrix.build_pkg }}
@ -135,7 +136,7 @@ jobs:
nix-shell -p "$build_expr" --pure --command "rustc test.rs -o test"
[[ "$(./test)" == "hello, world" ]]
- name: Check `clippy` works
if: steps.cache-drv-status.outputs.cache-hit != 'true'
if: matrix.build_pkg == 'default' && 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 provices the same components as which installed by `rustup install`'s `default` or `minimal` profiles.
It provides the same components as which installed by `rustup install`'s `default` or `minimal` profiles.
Almost always, `default` is what you want for development.

@ -1,18 +1,22 @@
with import <nixpkgs> {
(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
buildPackages.rust-bin.stable.latest.minimal
buildPackages.pkg-config
# build = host = target = x86_64, just to avoid re-build.
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.
pkgsBuildBuild.qemu
];
buildInputs = [
# build = x86_64, host = target = aarch64
openssl
];
}
}) {}

@ -84,8 +84,7 @@ let
profiles = if p == null
then {}
# `rust-mingw` is in each profile but doesn't support platforms other than Windows.
else mapAttrs (name: remove "rust-mingw") (elemAt profilesList p);
else 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,5 +173,15 @@
"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;
latest = "2021-08-29";
"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";
}

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