diff --git a/metis.nix b/metis.nix index 47f8153..a9cb821 100644 --- a/metis.nix +++ b/metis.nix @@ -6,7 +6,10 @@ let MAILDIR = "\$HOME/.var/mail"; MBLAZE = "\$HOME/.config/mblaze"; NOTMUCH_CONFIG = "\$HOME/.config/notmuch/config"; + GDK_BACKEND= "wayland"; + MOZ_ENABLE_WAYLAND= "1"; }; + unstable = import {}; in { imports = [ @@ -21,9 +24,11 @@ in systemd.user.sessionVariables = userEnv; home.packages = with pkgs; [ + nfs-utils + lsof + samba firefox-bin chromium - android-studio bc brightnessctl file @@ -61,18 +66,27 @@ in anki bluez-tools texlive-tubs - ]; + openssl + ] ++ (with unstable; [ + python38Packages.managesieve + android-studio + ]); + + #wayland.windowManager.sway = { + # enable = true; + # extraConfig = (builtins.readFile sway/config); + #}; services.syncthing = { enable = true; tray = false; }; - services.screen-locker = { - enable = true; - inactiveInterval = 5; - lockCmd = "\${pkgs.swaylock}/bin/swaylock"; - }; + #services.screen-locker = { + # enable = true; + # inactiveInterval = 5; + # lockCmd = "\${pkgs.swaylock}/bin/swaylock"; + #}; xdg = { enable = true; diff --git a/sway/config b/sway/config new file mode 100644 index 0000000..e655c8a --- /dev/null +++ b/sway/config @@ -0,0 +1,275 @@ +set $wallpaper ~/.config/nixpkgs/sway/wallpaper +set $foreground #a3a3a3ff +set $background #1f2022e5 +set $dark_black #1f2022ff +set $light_black #282828ff +set $dark_red #444155ff +set $light_red #585858ff +set $dark_green #b8b8b8ff +set $light_green #a3a3a3ff +set $dark_yellow #e8e8e8ff +set $light_yellow #f8f8f8ff +set $dark_blue #f2241fff +set $light_blue #ffa500ff +set $dark_magenta #b1951dff +set $light_magenta #67b11dff +set $dark_cyan #2d9574ff +set $light_cyan #4f97d7ff +set $dark_white #a31db1ff +set $light_white #b03060ff + +#xwayland disable + +# global modifier key +set $mod Mod4 + +# reload the configuration file +bindsym $mod+Shift+c reload + +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart + +# the font to be used for i3bar and window decorations +font pango:Source Code Pro 8 + +bindsym $mod+Return exec termite +bindsym $mod+Space exec bemenu-run + +# switch keyboard to neo +#bindsym $mod+F1 exec neo-key +#bindsym $mod+F2 exec eu-key + +# kill focused window +bindsym $mod+Shift+q kill + +# toggle moving floating windows with the mouse +floating_modifier $mod + +# toggle tiling / floating +bindsym $mod+Shift+f floating toggle + +# resize window (you can also use the mouse for that) +mode "resize" { + # resize windows with hjkl + bindsym h resize shrink width 10 px or 10 ppt + bindsym j resize grow height 10 px or 10 ppt + bindsym k resize shrink height 10 px or 10 ppt + bindsym l resize grow width 10 px or 10 ppt + + # back to normal mode + bindsym Return mode "default" + bindsym Escape mode "default" +} + +# switch to resize mode +bindsym $mod+r mode "resize" + +# set border width of new window +default_border pixel 1 + +# keep focus within current container? +focus_wrapping no + +# enter fullscreen mode for the focused container +bindsym $mod+o fullscreen + +# default orientation of new windows +default_orientation horizontal + +# split in horizontal orientation +bindsym $mod+b split h + +# split in vertical orientation +bindsym $mod+shift+b split v + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+x layout toggle all + +# name workspaces +set $1 1 +set $2 2 +set $3 3 +set $4 4 +set $5 5 +set $6 6 +set $7 7 +set $8 8 +set $9 9 +set $10 10 + +# default mode +#workspace_layout tabbed + +# automatically jump back to previous workspace +workspace_auto_back_and_forth yes + +# change focus +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right + +# focus latest urgent window +bindsym $mod+Shift+1 [urgent=latest] focus + +# focus the parent container +bindsym $mod+Up focus parent + +# focus the child container +bindsym $mod+Down focus child + +# focus tiling/floating +bindsym $mod+f focus mode_toggle + +# focus workspace +bindsym $mod+1 workspace number $1 +bindsym $mod+2 workspace number $2 +bindsym $mod+3 workspace number $3 +bindsym $mod+4 workspace number $4 +bindsym $mod+5 workspace number $5 +bindsym $mod+6 workspace number $6 +bindsym $mod+7 workspace number $7 +bindsym $mod+8 workspace number $8 +bindsym $mod+9 workspace number $9 +bindsym $mod+0 workspace number $10 +bindsym $mod+n workspace next_on_output +bindsym $mod+p workspace prev_on_output + +# focus different outputs (displays) +bindsym $mod+shift+h focus output left +bindsym $mod+shift+j focus output down +bindsym $mod+shift+k focus output up +bindsym $mod+shift+l focus output right + +# show the first scratchpad window +bindsym $mod+minus scratchpad show + +set $mode_move "move" +bindsym $mod+m mode "$mode_move" + +mode "$mode_move" { + + # move focused container + bindsym h move left + bindsym j move down + bindsym k move up + bindsym l move right + bindsym 1 move container to workspace number $1 ;mode "default" + bindsym 2 move container to workspace number $2 ;mode "default" + bindsym 3 move container to workspace number $3 ;mode "default" + bindsym 4 move container to workspace number $4 ;mode "default" + bindsym 5 move container to workspace number $5 ;mode "default" + bindsym 6 move container to workspace number $6 ;mode "default" + bindsym 7 move container to workspace number $7 ;mode "default" + bindsym 8 move container to workspace number $8 ;mode "default" + bindsym 9 move container to workspace number $9 ;mode "default" + bindsym 0 move container to workspace number $10 ;mode "default" + bindsym n move container to workspace next_on_output;mode "default" + bindsym p move container to workspace prev_on_output;mode "default" + + # move focused workspace to output + bindsym shift+h move workspace to output left ; mode "default" + bindsym shift+j move workspace to output down ; mode "default" + bindsym shift+k move workspace to output up ; mode "default" + bindsym shift+l move workspace to output right ; mode "default" + bindsym shift+n move container to output next ; mode "default" + bindsym shift+p move container to output prev ; mode "default" + + # make the currently focused window a scratchpad + bindsym minus move scratchpad; mode "default" + + # Move container to the current position of the cursor + bindsym m move position mouse; mode "default" + + bindsym Escape mode "default" +} + +# lock the screen +bindsym $mod+equal exec loginctl lock-session + +# control volume +bindsym --locked XF86AudioRaiseVolume exec amixer set 'Master' 5%+ && pkill -RTMIN+10 i3blocks +bindsym --locked XF86AudioLowerVolume exec amixer set 'Master' 5%- && pkill -RTMIN+10 i3blocks +bindsym --locked XF86AudioMute exec amixer set Master toggle && pkill -RTMIN+10 i3blocks +bindsym --locked XF86AudioMicMute exec amixer set 'Capture' toggle && pkill -RTMIN+10 i3blocks + +# control media player +bindsym --locked XF86AudioPlay exec playerctl play-pause && pkill -RTMIN+11 i3blocks +bindsym --locked XF86LaunchA exec playerctl play-pause && pkill -RTMIN+11 i3blocks +bindsym --locked XF86AudioNext exec playerctl next && pkill -RTMIN+11 i3blocks +bindsym --locked XF86Explorer exec playerctl next && pkill -RTMIN+11 i3blocks +bindsym --locked XF86AudioPrev exec playerctl previous && pkill -RTMIN+11 i3blocks +bindsym --locked XF86Search exec playerctl previous && pkill -RTMIN+11 i3blocks + +# control screen brightness +bindsym --locked XF86MonBrightnessUp exec brightnessctl set -d intel_backlight +5% +bindsym --locked XF86MonBrightnessDown exec brightnessctl set -d intel_backlight 5%- + +# Basic bar configuration using the Base16 variables. +bar { + id bar + status_command i3blocks + mode dock + modifier $mod + position top + strip_workspace_numbers yes + workspace_buttons yes + #output LVDS-1 + + colors { + background $background + separator $light_green + statusline $foreground + + # State Border BG Text + focused_workspace $light_black $dark_cyan $background + active_workspace $light_black $dark_green $background + inactive_workspace $dark_black $background $foreground + urgent_workspace $light_black $dark_red $background + binding_mode $light_black $dark_magenta $background + } +} + +#hide_edge_borders both +bindsym XF86Launch1 exec aplay ~/lib/sounds/wortwitzklingel-mono.wav + +# Basic color configuration using the Base16 variables for windows and borders. +# Property Name Border BG Text Indicator Child Border +client.focused $light_black $dark_cyan $background $dark_cyan $dark_cyan +client.focused_inactive $light_black $dark_green $background $dark_green $dark_green +client.unfocused $light_black $background $foreground $dark_white $dark_white +client.urgent $light_black $dark_red $background $dark_red $dark_red +client.placeholder $light_black $dark_magenta $background $dark_magenta $dark_magenta + +input * { + xkb_layout eu + xkb_model pc105+inet + xkb_options caps:escape + natural_scroll enabled +} + +input 2:7:SynPS/2_Synaptics_TouchPad { + # disables the input device + events disabled +} + +output LVDS-1 { + background $wallpaper fill +} + +output VGA-1 { + background $wallpaper fill +} + +seat * { + hide_cursor 5000 +} + +#default_floating_border none +for_window [class="jetbrains-studio"] floating enable +focus_follows_mouse no + +exec xset s off +exec xss-lock -- lock-session +#exec swayidle timeout 60 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' before-sleep 'swaylock -f -i ~/.config/nixpkhs/sway/wallpaper' +#exec redshift diff --git a/sway/wallpaper b/sway/wallpaper new file mode 100644 index 0000000..0b540d8 Binary files /dev/null and b/sway/wallpaper differ