summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2023-12-26 21:48:41 +0100
committerAlex Auvolat <alex@adnab.me>2023-12-26 21:48:41 +0100
commit9097974443e6ef33879fb1b497d4d6a3e0b2612c (patch)
treebb45e19d39430171c228c260bf0c2e1e6b9636dd
parentce7d4b8cc69ebbbb72dcbe60283e512915408ff9 (diff)
downloaduser-config-9097974443e6ef33879fb1b497d4d6a3e0b2612c.tar.gz
user-config-9097974443e6ef33879fb1b497d4d6a3e0b2612c.zip
add sway config
-rw-r--r--nixos/common.nix1
-rw-r--r--nixos/wayfire.nix4
-rw-r--r--nixpkgs/kusanagi.nix1
-rw-r--r--nixpkgs/wayfire.nix4
-rw-r--r--sway/config214
-rw-r--r--waybar/config8
-rw-r--r--waybar/style.css301
7 files changed, 529 insertions, 4 deletions
diff --git a/nixos/common.nix b/nixos/common.nix
index bd29c11..f71e3c7 100644
--- a/nixos/common.nix
+++ b/nixos/common.nix
@@ -170,6 +170,7 @@
profont
symbola
font-awesome
+ inconsolata
ipafont
kochi-substitute
diff --git a/nixos/wayfire.nix b/nixos/wayfire.nix
index 004ad43..d0e9803 100644
--- a/nixos/wayfire.nix
+++ b/nixos/wayfire.nix
@@ -15,5 +15,9 @@
waybar
alacritty
swaylock
+
+ swayfx
+ swaybg
+ bemenu
];
}
diff --git a/nixpkgs/kusanagi.nix b/nixpkgs/kusanagi.nix
index 840e41b..b3a20bd 100644
--- a/nixpkgs/kusanagi.nix
+++ b/nixpkgs/kusanagi.nix
@@ -21,6 +21,7 @@ in {
mklink /Z/lx/app/openssh ~/.ssh
mklink /Z/lx/app/pass ~/.password-store
+ mklink /Z/lx/app/thunderbird ~/.thunderbird
mklink /Z/lx/app/cargo ~/.cargo
mklink /Z/lx/app/arduino/Arduino ~/Arduino
diff --git a/nixpkgs/wayfire.nix b/nixpkgs/wayfire.nix
index 191846b..3824327 100644
--- a/nixpkgs/wayfire.nix
+++ b/nixpkgs/wayfire.nix
@@ -3,6 +3,10 @@
home.file = {
".config/wayfire.ini".source = ../wayfire/wayfire.ini;
+
".config/waybar/config".source = ../waybar/config;
+ ".config/waybar/style.css".source = ../waybar/style.css;
+
+ ".config/sway/config".source = ../sway/config;
};
}
diff --git a/sway/config b/sway/config
new file mode 100644
index 0000000..29c4b02
--- /dev/null
+++ b/sway/config
@@ -0,0 +1,214 @@
+xwayland enable
+
+#output '*' bg /home/lx/stuff/wallpaper/34812.jpg FILL pos 0 0
+output 'HDMI-A-2' pos 1920 0
+
+seat '*' hide_cursor 5000
+
+#input "*" xkb_file "/home/lx/.xkb/symbols/custom-fr"
+input "*" xkb_layout 'fr-custom-lx'
+
+
+client.focused #000000 #000000 #dddddd #000000 #000000
+client.focused_inactive #000000 #000000 #AAAAAA #000000 #000000
+client.unfocused #000000 #000000 #888888 #000000 #000000
+client.urgent #000000 #900000 #ffffff #900000 #900000
+client.background #000000
+
+gaps outer 0
+gaps inner 8
+
+set $mod Mod4
+
+# font for window titles. ISO 10646 = Unicode
+#font -misc-fixed-medium-r-normal--12-120-75-75-C-70-iso10646-1
+font pango:Inconsolata 15px
+
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
+# start a terminal
+#bindsym $mod+Return exec i3-sensible-terminal
+bindsym $mod+Return exec alacritty
+#bindsym $mod+Return exec xfce4-terminal
+
+# bindsym $mod+Shift+X exec xscreensaver-command -lock
+#bindsym $mod+Shift+X exec i3lock -d -c 111111 -I 5
+#bindsym $mod+Shift+X exec /home/lx/.i3/i3lock-dpms
+bindsym $mod+Shift+X exec swaylock -c 111111
+
+# music control
+bindsym $mod+Shift+P exec mpc toggle
+bindsym $mod+Shift+N exec mpc next
+bindsym $mod+n exec makoctl dismiss -a
+
+bindsym $mod+Shift+S exec /home/lx/usr/bin/ss
+bindsym $mod+Shift+M exec /home/lx/usr/bin/ms
+
+# kill focused window
+bindsym $mod+Shift+Q kill
+
+# start dmenu (a program launcher)
+bindsym $mod+p exec bemenu-run --fn 'Inconsolata'
+
+# change focus
+bindsym $mod+h focus left
+bindsym $mod+j focus down
+bindsym $mod+k focus up
+bindsym $mod+l focus right
+
+# alternatively, you can use the cursor keys:
+bindsym $mod+Left focus left
+bindsym $mod+Down focus down
+bindsym $mod+Up focus up
+bindsym $mod+Right focus right
+
+# move focused window
+bindsym $mod+Shift+H move left
+bindsym $mod+Shift+J move down
+bindsym $mod+Shift+K move up
+bindsym $mod+Shift+L move right
+
+# alternatively, you can use the cursor 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
+
+# split in horizontal orientation
+bindsym $mod+b split h
+
+# split in vertical orientation
+bindsym $mod+v split v
+
+# enter fullscreen mode for the focused container
+bindsym $mod+f fullscreen
+
+# change container layout (stacked, tabbed, default)
+bindsym $mod+s layout stacking
+bindsym $mod+z layout tabbed
+bindsym $mod+e layout default
+
+# toggle tiling / floating
+bindsym $mod+Shift+space floating toggle
+
+# change focus between tiling / floating windows
+bindsym $mod+space focus mode_toggle
+
+# focus the parent container
+bindsym $mod+q focus parent
+
+# focus the child container
+#bindcode $mod+d focus child
+
+# switch to workspace
+bindsym $mod+braceleft workspace 1
+bindsym $mod+eacute workspace 2
+bindsym $mod+quotedbl workspace 3
+bindsym $mod+apostrophe workspace 4
+bindsym $mod+parenleft workspace 5
+bindsym $mod+minus workspace 6
+bindsym $mod+dead_grave workspace 7
+bindsym $mod+underscore workspace 8
+bindsym $mod+ccedilla workspace 9
+bindsym $mod+braceright workspace 10
+
+workspace_auto_back_and_forth yes
+
+# move focused container to workspace
+bindsym $mod+1 move container to workspace 1
+bindsym $mod+2 move container to workspace 2
+bindsym $mod+3 move container to workspace 3
+bindsym $mod+4 move container to workspace 4
+bindsym $mod+5 move container to workspace 5
+bindsym $mod+6 move container to workspace 6
+bindsym $mod+7 move container to workspace 7
+bindsym $mod+8 move container to workspace 8
+bindsym $mod+9 move container to workspace 9
+bindsym $mod+0 move container to workspace 10
+
+workspace 1 output HDMI-A-2 eDP-1
+workspace 2 output HDMI-A-2 eDP-1
+workspace 3 output HDMI-A-2 eDP-1
+workspace 4 output HDMI-A-2 eDP-1
+workspace 5 output HDMI-A-2 eDP-1
+workspace 6 output HDMI-A-2 eDP-1
+workspace 7 output HDMI-A-2 eDP-1
+workspace 8 output HDMI-A-2 eDP-1
+workspace 9 output HDMI-A-2 eDP-1
+workspace 10 output eDP-1
+
+# 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
+# exit i3 (logs you out of your X session)
+bindsym $mod+Shift+E exit
+
+default_border pixel 2
+bindsym $mod+t border normal
+bindsym $mod+y border pixel 2
+bindsym $mod+u border none
+
+bindsym XF86MonBrightnessDown exec sudo brightnessctl set 10%-
+bindsym XF86MonBrightnessUp exec sudo brightnessctl set +10%
+bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
+bindsym XF86AudioRaiseVolume exec pactl set-sink-mute @DEFAULT_SINK@ false && pactl set-sink-volume @DEFAULT_SINK@ +5%
+bindsym XF86AudioLowerVolume exec pactl set-sink-mute @DEFAULT_SINK@ false && pactl set-sink-volume @DEFAULT_SINK@ -5%
+
+
+
+# resize window (you can also use the mouse for that)
+mode "resize" {
+ # These bindings trigger as soon as you enter the resize mode
+
+ # Pressing left will shrink the window’s width.
+ # Pressing right will grow the window’s width.
+ # Pressing up will shrink the window’s height.
+ # Pressing down will grow the window’s height.
+ bindsym h resize shrink width 5 px or 5 ppt
+ bindsym j resize grow height 5 px or 5 ppt
+ bindsym k resize shrink height 5 px or 5 ppt
+ bindsym l resize grow width 5 px or 5 ppt
+
+ # same bindings, but for the arrow keys
+ bindsym Left resize shrink width 5 px or 5 ppt
+ bindsym Down resize grow height 5 px or 5 ppt
+ bindsym Up resize shrink height 5 px or 5 ppt
+ bindsym Right resize grow width 5 px or 5 ppt
+
+ # back to normal: Enter or Escape
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+
+bindsym $mod+r mode "resize"
+
+exec waybar
+
+#exec_always {
+# dbus-update-activation-environment --systemd DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY
+# gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita-dark'
+# gsettings set org.gnome.desktop.interface font-name 'Cantarell 13'
+# gsettings set org.gnome.desktop.interface icon-theme 'Arc'
+#}
+
+#exec swayidle -w timeout 300 'swaylock -f -c 111111' timeout 310 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' before-sleep 'swaylock -f -c 111111'
+
+#exec mako
+#exec_always /home/katchup/lab/wkwwin/script.sh
+#exec xscreensaver -nosplash
+#exec pulseaudio --start
+#exec mpd
+#exec ~/.i3/mpdscribble.sh
+#exec_always xinput --set-prop 'HID 04d9:1133' 'Device Accel Constant Deceleration' 2
+#exec_always xinput --set-prop 'HID 04d9:1133' 'Device Accel Adaptive Deceleration' 2
+#exec_always xinput --set-prop 'HID 04d9:1133' 'Device Accel Velocity Scaling' 5
+#exec nm-applet
+#exec nextcloud
+#exec seafile-applet
+#exec redshift-gtk -l 48.8567:2.3508
+#exec ~/.i3/notify-serv.sh
+#exec xset -b # disable bell
+
+
diff --git a/waybar/config b/waybar/config
index 0bfdf65..bf8884f 100644
--- a/waybar/config
+++ b/waybar/config
@@ -1,12 +1,12 @@
{
// "layer": "top", // Waybar at top layer
- // "position": "bottom", // Waybar position (top|bottom|left|right)
+ "position": "bottom", // Waybar position (top|bottom|left|right)
"height": 30, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
- "modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad", "custom/media"],
- "modules-center": ["sway/window"],
+ "modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad", "sway/window"],
+ "modules-center": [],
"modules-right": ["pulseaudio", "network", "cpu", "memory", "disk", "temperature", "keyboard-state", "battery#bat0", "battery#bat1", "clock", "tray"],
// Modules configuration
// "sway/workspaces": {
@@ -154,7 +154,7 @@
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}",
- "format-bluetooth-muted": " {icon} {format_source}",
+ "format-bluetooth-muted": "🔇 {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
diff --git a/waybar/style.css b/waybar/style.css
new file mode 100644
index 0000000..8e675a0
--- /dev/null
+++ b/waybar/style.css
@@ -0,0 +1,301 @@
+* {
+ /* `otf-font-awesome` is required to be installed for icons */
+ font-family: FontAwesome, "DejaVu Sans Mono", monospace;
+ font-size: 13px;
+}
+
+window#waybar {
+ background-color: rgba(43, 48, 59, 0.5);
+ border-bottom: 3px solid rgba(100, 114, 125, 0.5);
+ color: #ffffff;
+ transition-property: background-color;
+ transition-duration: .5s;
+}
+
+window#waybar.hidden {
+ opacity: 0.2;
+}
+
+/*
+window#waybar.empty {
+ background-color: transparent;
+}
+window#waybar.solo {
+ background-color: #FFFFFF;
+}
+*/
+
+window#waybar.termite {
+ background-color: #3F3F3F;
+}
+
+window#waybar.chromium {
+ background-color: #000000;
+ border: none;
+}
+
+button {
+ /* Use box-shadow instead of border so the text isn't offset */
+ box-shadow: inset 0 -3px transparent;
+ /* Avoid rounded borders under each button name */
+ border: none;
+ border-radius: 0;
+}
+
+/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
+button:hover {
+ background: inherit;
+ box-shadow: inset 0 -3px #ffffff;
+}
+
+#workspaces button {
+ padding: 0 5px;
+ background-color: transparent;
+ color: #ffffff;
+}
+
+#workspaces button:hover {
+ background: rgba(0, 0, 0, 0.2);
+}
+
+#workspaces button.focused {
+ background-color: #64727D;
+ box-shadow: inset 0 -3px #ffffff;
+}
+
+#workspaces button.urgent {
+ background-color: #eb4d4b;
+}
+
+#mode {
+ background-color: #64727D;
+ border-bottom: 3px solid #ffffff;
+}
+
+#clock,
+#battery,
+#cpu,
+#memory,
+#disk,
+#temperature,
+#backlight,
+#network,
+#pulseaudio,
+#wireplumber,
+#custom-media,
+#tray,
+#mode,
+#idle_inhibitor,
+#scratchpad,
+#mpd {
+ padding: 0 10px;
+ color: #ffffff;
+}
+
+#window,
+#workspaces {
+ margin: 0 4px;
+}
+
+/* If workspaces is the leftmost module, omit left margin */
+.modules-left > widget:first-child > #workspaces {
+ margin-left: 0;
+}
+
+/* If workspaces is the rightmost module, omit right margin */
+.modules-right > widget:last-child > #workspaces {
+ margin-right: 0;
+}
+
+#clock {
+ background-color: #64727D;
+}
+
+#battery {
+ background-color: #ffffff;
+ color: #000000;
+}
+
+#battery.charging, #battery.plugged {
+ color: #ffffff;
+ background-color: #26A65B;
+}
+
+@keyframes blink {
+ to {
+ background-color: #ffffff;
+ color: #000000;
+ }
+}
+
+#battery.critical:not(.charging) {
+ background-color: #f53c3c;
+ color: #ffffff;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+label:focus {
+ background-color: #000000;
+}
+
+#cpu {
+ background-color: #2ecc71;
+ color: #000000;
+}
+
+#memory {
+ background-color: #9b59b6;
+}
+
+#disk {
+ background-color: #964B00;
+}
+
+#backlight {
+ background-color: #90b1b1;
+}
+
+#network {
+ background-color: #2980b9;
+}
+
+#network.disconnected {
+ background-color: #f53c3c;
+}
+
+#pulseaudio {
+ background-color: #f1c40f;
+ color: #000000;
+}
+
+#pulseaudio.muted {
+ background-color: #90b1b1;
+ color: #2a5c45;
+}
+
+#wireplumber {
+ background-color: #fff0f5;
+ color: #000000;
+}
+
+#wireplumber.muted {
+ background-color: #f53c3c;
+}
+
+#custom-media {
+ background-color: #66cc99;
+ color: #2a5c45;
+ min-width: 100px;
+}
+
+#custom-media.custom-spotify {
+ background-color: #66cc99;
+}
+
+#custom-media.custom-vlc {
+ background-color: #ffa000;
+}
+
+#temperature {
+ background-color: #f0932b;
+}
+
+#temperature.critical {
+ background-color: #eb4d4b;
+}
+
+#tray {
+ background-color: #2980b9;
+}
+
+#tray > .passive {
+ -gtk-icon-effect: dim;
+}
+
+#tray > .needs-attention {
+ -gtk-icon-effect: highlight;
+ background-color: #eb4d4b;
+}
+
+#idle_inhibitor {
+ background-color: #2d3436;
+}
+
+#idle_inhibitor.activated {
+ background-color: #ecf0f1;
+ color: #2d3436;
+}
+
+#mpd {
+ background-color: #66cc99;
+ color: #2a5c45;
+}
+
+#mpd.disconnected {
+ background-color: #f53c3c;
+}
+
+#mpd.stopped {
+ background-color: #90b1b1;
+}
+
+#mpd.paused {
+ background-color: #51a37a;
+}
+
+#language {
+ background: #00b093;
+ color: #740864;
+ padding: 0 5px;
+ margin: 0 5px;
+ min-width: 16px;
+}
+
+#keyboard-state {
+ background: #97e1ad;
+ color: #000000;
+ padding: 0 0px;
+ margin: 0 5px;
+ min-width: 16px;
+}
+
+#keyboard-state > label {
+ padding: 0 5px;
+}
+
+#keyboard-state > label.locked {
+ background: rgba(0, 0, 0, 0.2);
+}
+
+#scratchpad {
+ background: rgba(0, 0, 0, 0.2);
+}
+
+#scratchpad.empty {
+ background-color: transparent;
+}
+
+#privacy {
+ padding: 0;
+}
+
+#privacy-item {
+ padding: 0 5px;
+ color: white;
+}
+
+#privacy-item.screenshare {
+ background-color: #cf5700;
+}
+
+#privacy-item.audio-in {
+ background-color: #1ca000;
+}
+
+#privacy-item.audio-out {
+ background-color: #0069d4;
+}