mirror of
https://github.com/ellmau/nixos.git
synced 2025-12-19 09:29:36 +01:00
First phase to swayfy the setup
This commit is contained in:
parent
2ae6ff01e1
commit
c7ff0f5092
@ -20,6 +20,8 @@
|
|||||||
# enable X11 with lightdm and i3
|
# enable X11 with lightdm and i3
|
||||||
graphical = {
|
graphical = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
sway.enable = true;
|
||||||
|
i3.enable = false;
|
||||||
# set dpi if used in mobile applications
|
# set dpi if used in mobile applications
|
||||||
# dpi = 180;
|
# dpi = 180;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -7,7 +7,7 @@ with lib; {
|
|||||||
cfg = config.elss.programs.communication;
|
cfg = config.elss.programs.communication;
|
||||||
in
|
in
|
||||||
mkIf cfg.enable {
|
mkIf cfg.enable {
|
||||||
elss.graphical.enable = true;
|
# elss.graphical.enable = true;
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
element-desktop
|
element-desktop
|
||||||
jitsi-meet-electron
|
jitsi-meet-electron
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
with lib; {
|
with lib; {
|
||||||
options.elss.graphical = {
|
options.elss.graphical = {
|
||||||
enable = mkEnableOption "configure i3-based graphical layer";
|
enable = mkEnableOption "configure graphical layer";
|
||||||
greeterCursorsize = mkOption {
|
greeterCursorsize = mkOption {
|
||||||
type = types.int;
|
type = types.int;
|
||||||
default = 16;
|
default = 16;
|
||||||
@ -16,6 +16,7 @@ with lib; {
|
|||||||
DPI setting for the xserver
|
DPI setting for the xserver
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
i3.enable = mkEnableOption "enable i3";
|
||||||
};
|
};
|
||||||
config =
|
config =
|
||||||
let
|
let
|
||||||
@ -24,11 +25,11 @@ with lib; {
|
|||||||
#xserverDPI = if config.variables.hostName == "stel-xps" then 180 else null;
|
#xserverDPI = if config.variables.hostName == "stel-xps" then 180 else null;
|
||||||
in
|
in
|
||||||
mkIf cfg.enable {
|
mkIf cfg.enable {
|
||||||
elss.users.x11.enable = true;
|
elss.users.x11.enable = if cfg.i3.enable then true else false;
|
||||||
elss.networking.useNetworkManager = true;
|
elss.networking.useNetworkManager = true;
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
xserver = {
|
xserver = mkIf cfg.i3.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
dpi = cfg.dpi;
|
dpi = cfg.dpi;
|
||||||
displayManager.lightdm = {
|
displayManager.lightdm = {
|
||||||
@ -59,7 +60,7 @@ with lib; {
|
|||||||
sound.enable = true;
|
sound.enable = true;
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
pulseaudio.enable = true;
|
#pulseaudio.enable = true;
|
||||||
bluetooth.enable = true;
|
bluetooth.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
51
modules/sway.nix
Normal file
51
modules/sway.nix
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
with lib; {
|
||||||
|
options.elss.graphical.sway.enable = mkEnableOption "Use sway";
|
||||||
|
config =
|
||||||
|
let
|
||||||
|
cfg = config.elss.graphical.sway;
|
||||||
|
in
|
||||||
|
mkIf cfg.enable {
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# xdg-desktop-portal works by exposing a series of D-Bus interfaces
|
||||||
|
# known as portals under a well-known name
|
||||||
|
# (org.freedesktop.portal.Desktop) and object path
|
||||||
|
# (/org/freedesktop/portal/desktop).
|
||||||
|
# The portal interfaces include APIs for file access, opening URIs,
|
||||||
|
# printing and others.
|
||||||
|
services.dbus.enable = true;
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
wlr.enable = true;
|
||||||
|
# gtk portal needed to make gtk apps happy
|
||||||
|
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||||
|
gtkUsePortal = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# enable sway window manager
|
||||||
|
programs.sway = {
|
||||||
|
enable = true;
|
||||||
|
wrapperFeatures.gtk = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# greetd login manager
|
||||||
|
services.greetd = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.greetd.tuigreet;
|
||||||
|
settings = {
|
||||||
|
default_session = {
|
||||||
|
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd sway";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
rofi
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -1,14 +1,16 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./autorandr.nix
|
# ./autorandr.nix
|
||||||
./dunst.nix
|
./dunst.nix
|
||||||
./git.nix
|
./git.nix
|
||||||
./gpg.nix
|
./gpg.nix
|
||||||
./i3.nix
|
# ./i3.nix
|
||||||
./nextcloud.nix
|
./nextcloud.nix
|
||||||
./polybar.nix
|
# ./polybar.nix
|
||||||
./zsh.nix
|
./zsh.nix
|
||||||
|
|
||||||
|
./sway.nix
|
||||||
];
|
];
|
||||||
services = {
|
services = {
|
||||||
gnome-keyring = {
|
gnome-keyring = {
|
||||||
|
|||||||
56
users/ellmau/sway.nix
Normal file
56
users/ellmau/sway.nix
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
wayland.windowManager.sway = {
|
||||||
|
enable = true;
|
||||||
|
config = {
|
||||||
|
down = "k";
|
||||||
|
up = "l";
|
||||||
|
left = "j";
|
||||||
|
right = "semicolon";
|
||||||
|
|
||||||
|
modifier = "Mod4";
|
||||||
|
|
||||||
|
keybindings =
|
||||||
|
let
|
||||||
|
modifier = config.wayland.windowManager.sway.config.modifier;
|
||||||
|
in
|
||||||
|
lib.mkOptionDefault {
|
||||||
|
"${modifier}+Shift+q" = "kill";
|
||||||
|
"${modifier}+d" = "exec ${pkgs.rofi}/bin/rofi -show drun";
|
||||||
|
"${modifier}+Tab" = "exec ${pkgs.rofi}/bin/rofi -show window";
|
||||||
|
"${modifier}+BackSpace" = "mode $mode_system";
|
||||||
|
};
|
||||||
|
keycodebindings =
|
||||||
|
let
|
||||||
|
modifier = config.wayland.windowManager.sway.config.modifier;
|
||||||
|
in
|
||||||
|
{ };
|
||||||
|
|
||||||
|
startup = [
|
||||||
|
{
|
||||||
|
command = "--no-startup-id nm-applet";
|
||||||
|
always = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
];
|
||||||
|
terminal = "alacritty";
|
||||||
|
window = {
|
||||||
|
titlebar = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
mode "$mode_system" {
|
||||||
|
bindsym l exec --no-startup-id $i3lockwall, mode "default"
|
||||||
|
bindsym Ctrl+e exec --no-startup-id swaymsg exit, mode "default"
|
||||||
|
#bindsym s exec --no-startup-id $i3lockwall && systemctl suspend, mode "default"
|
||||||
|
#bindsym h exec --no-startup-id $i3lockwall && systemctl hibernate, mode "default"
|
||||||
|
bindsym Ctrl+r exec --no-startup-id systemctl reboot, mode "default"
|
||||||
|
bindsym Ctrl+s exec --no-startup-id systemctl poweroff -i, mode "default"
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user