diff --git a/files/sway-greetd.conf b/files/sway-greetd.conf new file mode 100644 index 0000000..420ff32 --- /dev/null +++ b/files/sway-greetd.conf @@ -0,0 +1,28 @@ +# sway config file +# + +set $mod Mod1 +set $win Mod4 + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. +font pango:monospace 8 + +# kill focused window +bindsym $mod+Shift+q kill + +# reload the configuration file +bindsym $mod+Shift+x reload +# restart sway inplace (preserves your layout/session, can be used to upgrade sway) +bindsym $mod+Shift+o restart +# exit sway (logs you out of your X session) +bindsym $mod+Shift+p exec "swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your X session.' -B 'Yes, exit sway' 'swaymsg exit'" + +default_border pixel +hide_edge_borders smart + +input type:keyboard { + xkb_layout fr + xkb_variant bepo + xkb_options ctrl:nocaps +} diff --git a/packages.scm b/packages.scm index 2bf0bd2..b1f62b0 100644 --- a/packages.scm +++ b/packages.scm @@ -3,6 +3,7 @@ (gnu packages chromium) (gnu packages compression) (gnu packages commencement) + (gnu packages cryptsetup) (gnu packages curl) (gnu packages databases) (gnu packages fonts) @@ -11,6 +12,7 @@ (gnu packages gnuzilla) (gnu packages haskell) (gnu packages haskell-xyz) + (gnu packages image) (gnu packages libreoffice) (gnu packages mail) (gnu packages man) @@ -26,6 +28,7 @@ (gnu packages virtualization) (gnu packages wm) (gnu packages web) + (gnu packages xdisorg) (gnu packages xfce) (gnu packages xorg) (loom packages eyecandy) @@ -33,27 +36,44 @@ (define %desktop (list + adwaita-icon-theme arc-icon-theme arc-theme audacious-gtk + cryptsetup evince + flat-remix-icon-theme + font-awesome + font-lohit font-openmoji font-sarasa-gothic + grim htop + kanshi + moka-icon-theme mplayer - nitrogen + neovim + nwg-launchers + papirus-icon-theme pavucontrol pwgen recutils + ristretto + slurp + thunar tmux toon-cursors + tumbler unzip - vim-full vim-solarized + waybar + wdisplays + wl-color-picker xarchiver - xfce4-screenshooter + xfce4-terminal xrandr yaru-theme + zenity zip)) (define %dev diff --git a/rose.system.scm b/rose.system.scm index 7a4769c..a83b9b6 100644 --- a/rose.system.scm +++ b/rose.system.scm @@ -17,8 +17,7 @@ "kook" "/dev/disk/by-uuid/c896e07f-d2ed-4390-8ce0-b82080d1bdc2") pam-audio) - (desktop-environment (operating-system-keyboard-layout os)) - (nonguix %desktop-services))) + (nonguix %greetd-sway-desktop))) (kernel linux) (initrd microcode-initrd) (firmware (list linux-firmware)) diff --git a/system.scm b/system.scm index 48246b7..9cb8bed 100644 --- a/system.scm +++ b/system.scm @@ -2,16 +2,30 @@ ((gnu packages anthy) #:select (anthy)) ((gnu packages certs) #:select (nss-certs)) ((gnu packages gnome) #:select (gvfs)) + ((gnu packages fcitx5) #:select (fcitx5 + fcitx5-anthy + fcitx5-gtk + fcitx5-gtk4 + fcitx5-qt)) ((gnu packages file-systems) #:select (davfs2)) + ((gnu packages glib) #:select (dbus)) ((gnu packages ibus) #:select (ibus ibus-anthy)) - ((gnu packages wm) #:select (i3-wm)) + ((gnu packages wm) #:select (sway)) ((gnu services desktop) #:select (xfce-desktop-service-type)) ((gnu services pam-mount) #:select (pam-mount-service-type pam-mount-configuration)) - ((gnu services xorg) #:select (set-xorg-configuration xorg-configuration)) + ((gnu services xorg) #:select (gdm-service-type set-xorg-configuration xorg-configuration)) (gnu system)) (define %utils - (list anthy davfs2 gvfs i3-wm ibus ibus-anthy nss-certs)) + (list davfs2 + fcitx5 + fcitx5-anthy + fcitx5-gtk + fcitx5-gtk4 + fcitx5-qt + gvfs + sway + nss-certs)) (define (install-to root-fs) (operating-system @@ -74,6 +88,26 @@ (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout))))) +(define %greetd-sway-desktop + (cons + (service greetd-service-type + (greetd-configuration + (greeter-supplementary-groups (list "video" "input")) + (terminals + (list + (greetd-terminal-configuration + (terminal-vt "7") + (terminal-switch #t) + (default-session-command + (greetd-wlgreet-sway-session + (wlgreet-session + (greetd-wlgreet-session + (command (file-append dbus "/bin/dbus-run-session")) + (command-args (list (file-append sway "/bin/sway"))))) + (sway-configuration + (local-file "files/sway-greetd.conf"))))))))) + (modify-services %desktop-services (delete gdm-service-type)))) + (define (ssh-only authorized-keys) (service openssh-service-type (openssh-configuration