diff --git a/home/config b/home/config deleted file mode 100644 index b379fba..0000000 --- a/home/config +++ /dev/null @@ -1,229 +0,0 @@ -# Read `man 5 sway` for a complete reference. - -### Variables -# -# Logo key. Use Mod1 for Alt. -set $mod Mod4 -# Home row direction keys, like vim -set $left h -set $down j -set $up k -set $right l -# Your preferred terminal emulator -set $term foot -# Your preferred application launcher -# Note: pass the final command to swaymsg so that the resulting window can be opened -# on the original workspace that the command was run on. -set $menu dmenu_path | wmenu | xargs swaymsg exec -- - -### Output configuration -# -# Default wallpaper (more resolutions are available in /run/current-system/sw/share/backgrounds/sway/) -output * bg ~/lib/pictures/camera/Camera/PXL_20240302_142813383.jpg fill - -### Idle configuration -# -# Example configuration: -# -exec swayidle -w \ - timeout 300 'swaylock -f -c 000000' \ - timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ - before-sleep 'swaylock -f -c 000000' -# -# This will lock your screen after 300 seconds of inactivity, then turn off -# your displays after another 300 seconds, and turn your screens back on when -# resumed. It will also lock your screen before your computer goes to sleep. - -input * { - xkb_layout eu - xkb_model pc105+inet - xkb_options caps:escape - drag_lock enabled - drag enabled - dwt enabled - tap enabled - tap_button_map lrm - natural_scroll enabled -} - -### Key bindings -# -# Basics: -# -# Start a terminal -bindsym $mod+Return exec $term - -# Kill focused window -bindsym $mod+Shift+q kill - -# Start your launcher -bindsym $mod+d exec $menu - -# Drag floating windows by holding down $mod and left mouse button. -# Resize them with right mouse button + $mod. -# Despite the name, also works for non-floating windows. -# Change normal to inverse to use left mouse button for resizing and right -# mouse button for dragging. -floating_modifier $mod normal - -# Lock the screen -bindsym XF86Sleep exec 'swaylock -f -c 000000' - -# Reload the configuration file -bindsym $mod+Shift+c reload - -# Exit sway (logs you out of your Wayland session) -bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' - -# Brightness -bindsym --locked XF86MonBrightnessDown exec light -U 10 -bindsym --locked XF86MonBrightnessUp exec light -A 10 - -# Volume -bindsym --locked XF86AudioRaiseVolume exec 'pactl set-sink-volume @DEFAULT_SINK@ +1%' -bindsym --locked XF86AudioLowerVolume exec 'pactl set-sink-volume @DEFAULT_SINK@ -1%' -bindsym --locked XF86AudioMute exec 'pactl set-sink-mute @DEFAULT_SINK@ toggle' - -# -# Moving around: -# -# Move your focus around -bindsym $mod+$left focus left -bindsym $mod+$down focus down -bindsym $mod+$up focus up -bindsym $mod+$right focus right -# Or use $mod+[up|down|left|right] -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right - -# Move the focused window with the same, but add Shift -bindsym $mod+Shift+$left move left -bindsym $mod+Shift+$down move down -bindsym $mod+Shift+$up move up -bindsym $mod+Shift+$right move right -# Ditto, with arrow keys -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right - -# -# Workspaces: -# -# Switch to 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 -# Move focused container to workspace -bindsym $mod+Shift+1 move container to workspace number 1 -bindsym $mod+Shift+2 move container to workspace number 2 -bindsym $mod+Shift+3 move container to workspace number 3 -bindsym $mod+Shift+4 move container to workspace number 4 -bindsym $mod+Shift+5 move container to workspace number 5 -bindsym $mod+Shift+6 move container to workspace number 6 -bindsym $mod+Shift+7 move container to workspace number 7 -bindsym $mod+Shift+8 move container to workspace number 8 -bindsym $mod+Shift+9 move container to workspace number 9 -bindsym $mod+Shift+0 move container to workspace number 10 -# Note: workspaces can have any name you want, not just numbers. -# We just use 1-10 as the default. - -# -# Layout stuff: -# -# You can "split" the current object of your focus with -# $mod+b or $mod+v, for horizontal and vertical splits -# respectively. -bindsym $mod+b splith -bindsym $mod+v splitv - -# Switch the current container between different layout styles -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split - -# Make the current focus fullscreen -bindsym $mod+f fullscreen - -# Toggle the current focus between tiling and floating mode -bindsym $mod+Shift+space floating toggle - -# Swap focus between the tiling area and the floating area -bindsym $mod+space focus mode_toggle - -# Move focus to the parent container -bindsym $mod+a focus parent - -# -# Font -# -font "pango:Jetbrains Mono 8" - -# -# Scratchpad: -# -# Sway has a "scratchpad", which is a bag of holding for windows. -# You can send windows there and get them back later. - -# Move the currently focused window to the scratchpad -bindsym $mod+Shift+minus move scratchpad - -# Show the next scratchpad window or hide the focused scratchpad window. -# If there are multiple scratchpad windows, this command cycles through them. -bindsym $mod+minus scratchpad show - -# -# Resizing containers: -# -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym $left resize shrink width 10px - bindsym $down resize grow height 10px - bindsym $up resize shrink height 10px - bindsym $right resize grow width 10px - - # Ditto, with arrow keys - bindsym Left resize shrink width 10px - bindsym Down resize grow height 10px - bindsym Up resize shrink height 10px - bindsym Right resize grow width 10px - - # Return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+r mode "resize" - -# -# Status Bar: -# -# Read `man 5 sway-bar` for more information about this section. -bar { - position top - - # When the status_command prints a new line to stdout, swaybar updates. - # The default just shows the current date and time. - status_command while date +'%Y-%m-%d %X'; do sleep 1; done - - colors { - statusline #ffffff - background #323232 - inactive_workspace #32323200 #32323200 #5c5c5c - } -} - -include /etc/sway/config.d/* - -exec sleep 5; systemctl --user start kanshi.service diff --git a/home/default.nix b/home/default.nix index 56298f0..35bd006 100644 --- a/home/default.nix +++ b/home/default.nix @@ -127,43 +127,6 @@ in Install.WantedBy = [ "multi-user.target" ]; }; - programs.foot = { - enable = true; - server.enable = false; - settings = { - main = { - shell = "tmux"; - font = "Jetbrains Mono:size=8"; - dpi-aware = false; - }; - mouse.hide-when-typing = true; - csd.preferred = "none"; - cursor.color = "fdf6e3 586e75"; - colors = { - background = "fdf6e3"; - foreground = "657b83"; - regular0 = "eee8d5"; - regular1 = "dc322f"; - regular2 = "859900"; - regular3 = "b58900"; - regular4 = "268bd2"; - regular5 = "d33682"; - regular6 = "2aa198"; - regular7 = "073642"; - bright0 = "cb4b16"; - bright1 = "fdf6e3"; - bright2 = "93a1a1"; - bright3 = "839496"; - bright4 = "657b83"; - bright5 = "6c71c4"; - bright6 = "586e75"; - bright7 = "002b36"; - }; - }; - }; - - home.file.".config/sway/config".source = ./config; - # Let Home Manager install and manage itself. programs.home-manager.enable = true; diff --git a/home/modules/xdg.nix b/home/modules/xdg.nix index bb96a7d..b093eca 100644 --- a/home/modules/xdg.nix +++ b/home/modules/xdg.nix @@ -29,7 +29,6 @@ in config = mkIf cfg.enable { xdg = { enable = true; - configHome = "${config.home.homeDirectory}/.config"; mimeApps = { enable = false; associations.added = apps; diff --git a/nixos/gorgon/configuration.nix b/nixos/gorgon/configuration.nix index 776165a..beadbc6 100644 --- a/nixos/gorgon/configuration.nix +++ b/nixos/gorgon/configuration.nix @@ -125,13 +125,9 @@ in }; environment.systemPackages = with pkgs; [ + chromium ghostscript smartmontools - - grim # screenshot functionality - slurp # screenshot functionality - mako # notification system developed by swaywm maintainer - pulseaudio ]; networking.firewall = { @@ -212,36 +208,9 @@ in services.gnome.gnome-keyring.enable = lib.mkForce false; programs.gnupg.agent.enable = true; - #services.xserver.enable = true; - #services.xserver.desktopManager.gnome.enable = true; - #services.xserver.displayManager.gdm.enable = true; - services.greetd = { - enable = true; - settings = { - default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd sway"; - user = "greeter"; - }; - }; - }; - systemd.user.services.kanshi = { - description = "kanshi daemon"; - environment = { - WAYLAND_DISPLAY = "wayland-1"; - DISPLAY = ":0"; - }; - serviceConfig = { - Type = "simple"; - ExecStart = ''${pkgs.kanshi}/bin/kanshi''; - }; - }; - # enable Sway window manager - programs.sway = { - enable = true; - wrapperFeatures.gtk = true; - }; - programs.light.enable = true; - xdg.portal.wlr.enable = true; + services.xserver.enable = true; + services.xserver.desktopManager.gnome.enable = true; + services.xserver.displayManager.gdm.enable = true; hardware.opengl = { enable = true; diff --git a/nixos/modules/sway.nix b/nixos/modules/sway.nix new file mode 100644 index 0000000..190d13e --- /dev/null +++ b/nixos/modules/sway.nix @@ -0,0 +1,40 @@ +{ config, pkgs, lib, ... }: +let + cfg = config.dadada.sway; +in +{ + options = { + dadada.sway.enable = lib.mkEnableOption "Enable sway"; + }; + + config = lib.mkIf cfg.enable { + programs.sway = { + enable = true; + wrapperFeatures.gtk = true; + wrapperFeatures.base = true; + extraPackages = with pkgs; [ + qt5.qtwayland + swayidle + xwayland + mako + kanshi + kitty + i3status + bemenu + xss-lock + swaylock + brightnessctl + playerctl + ]; + extraSessionCommands = '' + export SDL_VIDEODRIVER=wayland + # needs qt5.qtwayland in systemPackages + export QT_QPA_PLATFORM=wayland + export QT_WAYLAND_DISABLE_WINDOWDECORATION="1" + # Fix for some Java AWT applications (e.g. Android Studio), + # use this if they aren't displayed properly: + export _JAVA_AWT_WM_NONREPARENTING=1 + ''; + }; + }; +}