From b43ba0f8278b646d096ad5c663d11e057906d5ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cyryl=20P=C5=82otnicki?= Date: Sat, 24 Aug 2019 09:55:51 +0100 Subject: [PATCH] extract i3 config --- nixos/i3.nix | 61 ++++++++++++++++++ nixos/user-xsession.nix | 137 ++++++++++++---------------------------- 2 files changed, 102 insertions(+), 96 deletions(-) create mode 100644 nixos/i3.nix diff --git a/nixos/i3.nix b/nixos/i3.nix new file mode 100644 index 00000000..00fd7570 --- /dev/null +++ b/nixos/i3.nix @@ -0,0 +1,61 @@ +{ config, pkgs, ... }: +let + mod = "Mod4"; +in + { + + xsession.windowManager.i3 = { + enable = true; + package = pkgs.i3-gaps; + config = { + startup = [ + { command = "exec setxkbmap -layout pl"; always = true; notification = false; } + { command = "exec autorandr -c"; always = true; notification = false; } + { command = "exec i3-sensible-terminal"; always = false; notification = false; } + { command = "exec $HOME/dev/dotfiles/lock.sh"; always = false; notification = false; } + ]; + window = { + hideEdgeBorders = "horizontal"; + titlebar = false; + border = 0; + }; + + workspaceLayout = "tabbed"; + bars = []; + gaps = { + inner = 8; + outer = 0; + smartGaps = true; + smartBorders = "on"; + }; + + modifier = mod; + keybindings = { + "${mod}+Shift+e" = "exec i3-msg exit"; + "${mod}+Shift+c" = "reload"; + "${mod}+Shift+r" = "restart"; + "${mod}+Shift+l" = "exec physlock -d"; + "${mod}+Return" = "exec i3-sensible-terminal"; + + "XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%"; + "XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%"; + "XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle"; + "XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle"; + + "XF86MonBrightnessUp" = "exec light -s sysfs/backlight/intel_backlight -A 5"; + "XF86MonBrightnessDown" = "exec light -s sysfs/backlight/intel_backlight -U 5"; + + "${mod}+r" = "exec ${pkgs.rofi}/bin/rofi -show combi -combi-modi window#run#ssh -modi combi"; + "${mod}+c" = "exec ${pkgs.clipmenu}/bin/clipmenu"; + "${mod}+q" = "kill"; + "${mod}+f" = "fullscreen toggle"; + + "${mod}+h" = "focus left"; + "${mod}+j" = "focus down"; + "${mod}+k" = "focus up"; + "${mod}+l" = "focus right"; + }; + }; + }; + + } diff --git a/nixos/user-xsession.nix b/nixos/user-xsession.nix index 81c5a67d..b5b5a143 100644 --- a/nixos/user-xsession.nix +++ b/nixos/user-xsession.nix @@ -1,106 +1,51 @@ { config, pkgs, ... }: -let - mod = "Mod4"; -in - { - services = { - compton = { - enable = true; - vSync = "opengl-oml"; +{ + services = { + compton = { + enable = true; + vSync = "opengl-oml"; + }; + kdeconnect = { + enable = true; + indicator = true; + }; + network-manager-applet.enable = true; + pasystray.enable = true; + }; + + xsession = { + enable = true; + }; + + programs.autorandr = { + enable = true; + + hooks = { + postswitch = { + "restart-polybar" = "systemctl --user restart polybar"; + "restart-kde-connect-indicator" = "systemctl --user restart kdeconnect-indicator"; }; - kdeconnect = { - enable = true; - indicator = true; - }; - network-manager-applet.enable = true; - pasystray.enable = true; }; - xsession = { - enable = true; - windowManager.i3 = { - enable = true; - package = pkgs.i3-gaps; + profiles = { + "foureighty-alone" = { + fingerprint = { + eDP1 = "00ffffffffffff0006af362300000000001b0104a51f117802f4f5a4544d9c270f505400000001010101010101010101010101010101e65f00a0a0a040503020350035ae100000180000000f0000000000000000000000000020000000fe0041554f0a202020202020202020000000fe004231343051414e30322e33200a00b2"; + }; config = { - startup = [ - { command = "exec setxkbmap -layout pl"; always = true; notification = false; } - { command = "exec autorandr -c"; always = true; notification = false; } - { command = "exec i3-sensible-terminal"; always = false; notification = false; } - { command = "exec $HOME/dev/dotfiles/lock.sh"; always = false; notification = false; } - ]; - window = { - hideEdgeBorders = "horizontal"; - titlebar = false; - border = 0; - }; - - workspaceLayout = "tabbed"; - bars = []; - gaps = { - inner = 8; - outer = 0; - smartGaps = true; - smartBorders = "on"; - }; - - modifier = mod; - keybindings = { - "${mod}+Shift+e" = "exec i3-msg exit"; - "${mod}+Shift+c" = "reload"; - "${mod}+Shift+r" = "restart"; - "${mod}+Shift+l" = "exec physlock -d"; - "${mod}+Return" = "exec i3-sensible-terminal"; - - "XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%"; - "XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%"; - "XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle"; - "XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle"; - - "XF86MonBrightnessUp" = "exec light -s sysfs/backlight/intel_backlight -A 5"; - "XF86MonBrightnessDown" = "exec light -s sysfs/backlight/intel_backlight -U 5"; - - "${mod}+r" = "exec ${pkgs.rofi}/bin/rofi -show combi -combi-modi window#run#ssh -modi combi"; - "${mod}+c" = "exec ${pkgs.clipmenu}/bin/clipmenu"; - "${mod}+q" = "kill"; - "${mod}+f" = "fullscreen toggle"; - - "${mod}+h" = "focus left"; - "${mod}+j" = "focus down"; - "${mod}+k" = "focus up"; - "${mod}+l" = "focus right"; + eDP1 = { + enable = true; + primary = true; + mode = "2560x1440"; + dpi = 144; }; }; }; }; + }; - programs.autorandr = { - enable = true; - - hooks = { - postswitch = { - "restart-polybar" = "systemctl --user restart polybar"; - "restart-kde-connect-indicator" = "systemctl --user restart kdeconnect-indicator"; - }; - }; - - profiles = { - "foureighty-alone" = { - fingerprint = { - eDP1 = "00ffffffffffff0006af362300000000001b0104a51f117802f4f5a4544d9c270f505400000001010101010101010101010101010101e65f00a0a0a040503020350035ae100000180000000f0000000000000000000000000020000000fe0041554f0a202020202020202020000000fe004231343051414e30322e33200a00b2"; - }; - config = { - eDP1 = { - enable = true; - primary = true; - mode = "2560x1440"; - dpi = 144; - }; - }; - }; - }; - }; - - imports = [ - ./polybar.nix - ]; - } + imports = [ + ./polybar.nix + ./i3.nix + ]; +}