aboutsummaryrefslogtreecommitdiff
path: root/home/profiles/sway.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home/profiles/sway.nix')
-rw-r--r--home/profiles/sway.nix175
1 files changed, 0 insertions, 175 deletions
diff --git a/home/profiles/sway.nix b/home/profiles/sway.nix
deleted file mode 100644
index e86ff48..0000000
--- a/home/profiles/sway.nix
+++ /dev/null
@@ -1,175 +0,0 @@
-{ config, lib, pkgs, ... }:
-let
- modifier = "Mod4"; # `Super` key
- fonts = {
- names = [ "Roboto" "sans-serif" ];
- style = "Bold";
- size = 10.0;
- };
-
-in
-{
- imports = [
- ./gtk.nix
- ./mako.nix
- ./waybar.nix
- ./wofi.nix
- ];
-
- home.packages = with pkgs; [
- wlogout
- brightnessctl
- pulseaudio
- grim
- slurp
- polkit_gnome
- xsettingsd
- swaylock
- swayidle
- wl-clipboard
- ];
-
- home.sessionVariables = {
- MOZ_ENABLE_WAYLAND = "1";
- XDG_CURRENT_DESKTOP = "sway";
- XDG_SESSION_TYPE = "wayland";
- };
-
- programs = {
- zsh.loginExtra = ''
- if [ $(ps ax | grep "[s]sh-agent" | wc -l) -eq 0 ] ; then
- eval $(ssh-agent -s) > /dev/null
- fi
- if [ "$(tty)" = "/dev/tty1" ]; then
- exec sway &> /dev/null
- fi
- '';
-
- zsh.profileExtra = ''
- if [ $(ps ax | grep "[s]sh-agent" | wc -l) -eq 0 ] ; then
- eval $(ssh-agent -s) > /dev/null
- fi
- if [ "$(tty)" = "/dev/tty1" ]; then
- exec sway &> /dev/null
- fi
- '';
- };
-
- wayland.windowManager.sway = {
- enable = true;
- # in order to import some variables (e.g. PATH) so that all the
- # units that will be started have all the required environment
- # variables
- extraSessionCommands = "systemctl --user import-environment";
- # this will start sway-session.target and run
- # dbus-update-activation-environment
- systemdIntegration = true;
- config = {
- inherit fonts modifier;
- # FIXME: this should be a variable
- terminal = "alacritty";
- menu = ''${pkgs.wofi}/bin/wofi -S drun -p "app:" -L 10'';
- bars = [ ];
- keybindings = lib.mkOptionDefault {
- # control the volume
- "XF86AudioRaiseVolume" =
- "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%";
- "XF86AudioLowerVolume" =
- "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%";
- "XF86AudioMute" =
- "exec ${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle";
- "XF86AudioMicMute" =
- "exec ${pkgs.pulseaudio}/bin/pactl set-source-mute @DEFAULT_SOURCE@ toggle";
-
- # control brightness
- "XF86MonBrightnessDown" =
- "exec ${pkgs.brightnessctl}/bin/brightnessctl set 5%-";
- "XF86MonBrightnessUp" =
- "exec ${pkgs.brightnessctl}/bin/brightnessctl set +5%";
-
- # logout
- "${modifier}+Escape" = "exec ${pkgs.wlogout}/bin/wlogout";
-
- # screenshot
- "${modifier}+s" =
- "exec ${pkgs.grim}/bin/grim $(xdg-user-dir DOCUMENTS)/screenshots/$(date +'%Y-%m-%d-%H%M%S_screenshot.png')";
- "${modifier}+Shift+s" =
- "exec ${pkgs.slurp}/bin/slurp | ${pkgs.grim}/bin/grim -g - $(xdg-user-dir DOCUMENTS)/screenshots/$(date +'%Y-%m-%d-%H%M%S_screenshot.png')";
-
- # File Manager
- "${modifier}+p" = "exec ${pkgs.pcmanfm}/bin/pcmanfm";
- };
-
- # use `swaymsg -t get_tree' to get the title/name/ID of the applications
- window = {
- commands = [
- {
- criteria.class = ".blueman-manager-wrapped";
- command = "floating enable";
- }
- {
- criteria.class = "Pavucontrol";
- command = "floating enable";
- }
- ];
- };
-
- input = {
- "*" = {
- "xkb_layout" = "us,fr";
- # map capslock to ctrl, and switch layout using shift+caps
- "xkb_options" = "ctrl:nocaps,grp:shift_caps_toggle";
- };
- };
-
- assigns = {
- "1" = [{ app_id = "emacs"; }];
- "2" = [{ app_id = "Alacritty"; }];
- "3" = [{ app_id = "firefox"; }];
- "4" = [{ app_id = "org.gnome.Fractal"; }];
- };
-
- output = {
- "*" = {
- scale = "1.5";
- bg = "#2E3440 solid_color";
- };
- # This is for aptos
- "eDP-1" = { scale = "1.3"; };
- };
- };
- };
-
- xdg.configFile."swaylock/config".source = pkgs.writeText "config" ''
- daemonize
- hide-keyboard-layout
- indicator-caps-lock
- color=2E3440
- font=Roboto
- '';
-
- services.swayidle = {
- enable = true;
- events = [
- {
- event = "before-sleep";
- command = "${pkgs.swaylock}/bin/swaylock -fF";
- }
- {
- event = "lock";
- command = "${pkgs.swaylock}/bin/swaylock -fF";
- }
- ];
- timeouts = [
- {
- timeout = 300;
- command = "${pkgs.sway}/bin/swaymsg \"output * dpms off\"";
- resumeCommand = "${pkgs.sway}/bin/swaymsg \"output * dpms on\"";
- }
- {
- timeout = 310;
- command = "${pkgs.systemd}/bin/loginctl lock-session";
- }
- ];
- };
-}