summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-05-07 13:59:20 +0000
committerAlyssa Ross <hi@alyssa.is>2020-05-07 14:35:30 +0000
commit80cd108ab66b06e9c2636cfc2a7863b8996ff1b0 (patch)
treece3dae51cf1714d7873d80945ded9e7cd53ab106
parent204bdf5a364068b4be057ada37179fb9f954712c (diff)
downloadnixpkgs-80cd108ab66b06e9c2636cfc2a7863b8996ff1b0.tar
nixpkgs-80cd108ab66b06e9c2636cfc2a7863b8996ff1b0.tar.gz
nixpkgs-80cd108ab66b06e9c2636cfc2a7863b8996ff1b0.tar.bz2
nixpkgs-80cd108ab66b06e9c2636cfc2a7863b8996ff1b0.tar.lz
nixpkgs-80cd108ab66b06e9c2636cfc2a7863b8996ff1b0.tar.xz
nixpkgs-80cd108ab66b06e9c2636cfc2a7863b8996ff1b0.tar.zst
nixpkgs-80cd108ab66b06e9c2636cfc2a7863b8996ff1b0.zip
spectrumPackages.rootfs: Sway to Wayfire
wf-shell needs HOME to be set, which seems reasonable enough.

widgets_right is emptied because by default it contains a battery
meter and network status indicator, both of which deserve dbus.
-rw-r--r--pkgs/os-specific/linux/spectrum/rootfs/default.nix21
-rw-r--r--pkgs/os-specific/linux/spectrum/rootfs/etc/wayfire/wf-shell-defaults.ini2
-rw-r--r--pkgs/os-specific/linux/spectrum/rootfs/generic.nix6
-rw-r--r--pkgs/os-specific/linux/spectrum/rootfs/stage1.nix1
4 files changed, 20 insertions, 10 deletions
diff --git a/pkgs/os-specific/linux/spectrum/rootfs/default.nix b/pkgs/os-specific/linux/spectrum/rootfs/default.nix
index efc15140cdf..cd1cccc1a87 100644
--- a/pkgs/os-specific/linux/spectrum/rootfs/default.nix
+++ b/pkgs/os-specific/linux/spectrum/rootfs/default.nix
@@ -1,7 +1,7 @@
 { runCommandNoCC, writeScript, writeText, makeFontsConf, writeReferencesToFile
 , lib, dash, busybox, execline, s6, s6-portable-utils, s6-linux-utils
 , s6-linux-init, mesa, squashfs-tools-ng
-, source-code-pro, zsh, emacs26-nox, gcc, sway-unwrapped, sommelier, westonLite
+, source-code-pro, zsh, emacs26-nox, gcc, wayfire, sommelier, westonLite
 }:
 
 let
@@ -12,7 +12,7 @@ let
   };
 
   path = [
-    zsh emacs26-nox gcc sway-unwrapped sommelier westonLite busybox s6 execline
+    zsh emacs26-nox gcc wayfire sommelier westonLite busybox s6 execline
   ];
 
   login = writeScript "login" ''
@@ -21,11 +21,18 @@ let
     ${busybox}/bin/login -p -f root $@
   '';
 
-  swayConfig = writeText "sway-config" ''
-    xwayland disable
-    input * xkb_layout dvorak
+  # This can't be /etc/wayfire/defaults.ini because autostart entries
+  # from that file aren't applied.
+  wayfireConfig = writeText "wayfire-config" ''
+    [core]
+    xwayland = false
 
-    exec weston-terminal --shell ${zsh}/bin/zsh
+    [input]
+    xkb_layout = us
+    xkb_variant = dvorak
+
+    [autostart]
+    terminal = weston-terminal --shell $(command -v zsh)
   '';
 in
 
@@ -44,7 +51,7 @@ makeRootfs {
     export PATH ${lib.makeBinPath path}
 
     ${sommelier}/bin/sommelier
-    sway -Vc ${swayConfig}
+    wayfire -c ${wayfireConfig}
   '';
 
   fonts = [ source-code-pro ];
diff --git a/pkgs/os-specific/linux/spectrum/rootfs/etc/wayfire/wf-shell-defaults.ini b/pkgs/os-specific/linux/spectrum/rootfs/etc/wayfire/wf-shell-defaults.ini
new file mode 100644
index 00000000000..7ba621225aa
--- /dev/null
+++ b/pkgs/os-specific/linux/spectrum/rootfs/etc/wayfire/wf-shell-defaults.ini
@@ -0,0 +1,2 @@
+[panel]
+widgets_right =
diff --git a/pkgs/os-specific/linux/spectrum/rootfs/generic.nix b/pkgs/os-specific/linux/spectrum/rootfs/generic.nix
index 782eecea0b5..778b18dafa0 100644
--- a/pkgs/os-specific/linux/spectrum/rootfs/generic.nix
+++ b/pkgs/os-specific/linux/spectrum/rootfs/generic.nix
@@ -31,11 +31,11 @@ let
     mkdir $out
     cd $out
 
-    mkdir bin sbin dev etc proc run tmp
+    mkdir bin sbin dev proc run tmp
     ln -s ${dash}/bin/dash bin/sh
     ln -s ${makeStage1 { inherit run; }} sbin/init
-    cp ${./etc/passwd} etc/passwd
-    cp ${./etc/group} etc/group
+    cp -r ${./etc} etc
+    chmod u+w etc
 
     mkdir etc/fonts
     ln -s ${fontsConf} etc/fonts/fonts.conf
diff --git a/pkgs/os-specific/linux/spectrum/rootfs/stage1.nix b/pkgs/os-specific/linux/spectrum/rootfs/stage1.nix
index 3efda40991c..75cfed56e7f 100644
--- a/pkgs/os-specific/linux/spectrum/rootfs/stage1.nix
+++ b/pkgs/os-specific/linux/spectrum/rootfs/stage1.nix
@@ -29,6 +29,7 @@ writeScript "init-stage1" ''
     if { s6-mount -t proc none /proc }
     if { s6-ln -s ${mesa.drivers} /run/opengl-driver }
 
+    export HOME /
     export XDG_RUNTIME_DIR /run/user/0
     foreground {
       ifelse { test -n $spectrumcmd }