From 45bb0d11161b1c5077a1415eed6dbd0fd25ccb6a Mon Sep 17 00:00:00 2001 From: jdlugosz963 Date: Fri, 20 Sep 2024 14:16:56 +0200 Subject: Change dotfiles structure, and add guix-channels declaration. --- files/.config/alacritty/alacritty.toml | 46 ++++ files/.config/alacritty/alacritty.toml.old | 23 ++ files/.config/alacritty/alacritty.yaml | 27 +++ .../source-registry.conf.d/50-user-lisp.conf | 1 + files/.config/dunst/dunstrc | 177 ++++++++++++++++ files/.config/guix/.gitignore | 1 + files/.config/guix/channels.scm | 19 ++ files/.config/guix/shell-authorized-directories | 10 + files/.config/picom/picom.conf | 117 +++++++++++ files/.config/polybar/config.ini | 122 +++++++++++ files/.config/qtile/autorc | 31 +++ files/.config/qtile/config.py | 232 +++++++++++++++++++++ files/.config/qtile/mdt_shell | 1 + files/.config/qtile/photos/desktop.png | Bin 0 -> 1555228 bytes files/.config/qtile/python.png | Bin 0 -> 52166 bytes files/.config/qtile/readme.org | 5 + files/.config/sway/config | 195 +++++++++++++++++ files/.config/waybar/config | 159 ++++++++++++++ files/.config/waybar/style.css | 205 ++++++++++++++++++ 19 files changed, 1371 insertions(+) create mode 100644 files/.config/alacritty/alacritty.toml create mode 100644 files/.config/alacritty/alacritty.toml.old create mode 100644 files/.config/alacritty/alacritty.yaml create mode 100644 files/.config/common-lisp/source-registry.conf.d/50-user-lisp.conf create mode 100644 files/.config/dunst/dunstrc create mode 100644 files/.config/guix/.gitignore create mode 100755 files/.config/guix/channels.scm create mode 100644 files/.config/guix/shell-authorized-directories create mode 100644 files/.config/picom/picom.conf create mode 100644 files/.config/polybar/config.ini create mode 100755 files/.config/qtile/autorc create mode 100644 files/.config/qtile/config.py create mode 100755 files/.config/qtile/mdt_shell create mode 100644 files/.config/qtile/photos/desktop.png create mode 100644 files/.config/qtile/python.png create mode 100644 files/.config/qtile/readme.org create mode 100644 files/.config/sway/config create mode 100644 files/.config/waybar/config create mode 100644 files/.config/waybar/style.css (limited to 'files/.config') diff --git a/files/.config/alacritty/alacritty.toml b/files/.config/alacritty/alacritty.toml new file mode 100644 index 0000000..39fd4e9 --- /dev/null +++ b/files/.config/alacritty/alacritty.toml @@ -0,0 +1,46 @@ +[cursor] +style = "Block" +unfocused_hollow = true + +[font] +size = 14 + +[font.italic] +family = "Terminus" +style = "Light Italic" + +[font.normal] +family = "Terminus" +style = "Light" + +[font.offset] +x = 0 +y = 0 + +[window] +dynamic_padding = true +# opacity = 0.90 + +[colors.bright] +black = "0x002b36" +blue = "0x839496" +cyan = "0x93a1a1" +green = "0x586e75" +magenta = "0x6c71c4" +red = "0xcb4b16" +white = "0xfdf6e3" +yellow = "0x657b83" + +[colors.normal] +black = "0x073642" +blue = "0x268bd2" +cyan = "0x2aa198" +green = "0x859900" +magenta = "0xd33682" +red = "0xdc322f" +white = "0xeee8d5" +yellow = "0xb58900" + +[colors.primary] +background = "0x002b36" +foreground = "0x839496" diff --git a/files/.config/alacritty/alacritty.toml.old b/files/.config/alacritty/alacritty.toml.old new file mode 100644 index 0000000..031d81c --- /dev/null +++ b/files/.config/alacritty/alacritty.toml.old @@ -0,0 +1,23 @@ +[cursor] +style = "Block" +unfocused_hollow = true + +[font] +size = 14 + +[font.italic] +family = "Terminus" +style = "Light Italic" + +[font.normal] +family = "Terminus" +style = "Light" + +[font.offset] +x = 0 +y = 0 + +[window] +dynamic_padding = true +opacity = 0.90 + diff --git a/files/.config/alacritty/alacritty.yaml b/files/.config/alacritty/alacritty.yaml new file mode 100644 index 0000000..a4f2823 --- /dev/null +++ b/files/.config/alacritty/alacritty.yaml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0x002b36' + foreground: '0x839496' + + # Normal colors + normal: + black: '0x073642' + red: '0xdc322f' + green: '0x859900' + yellow: '0xb58900' + blue: '0x268bd2' + magenta: '0xd33682' + cyan: '0x2aa198' + white: '0xeee8d5' + + # Bright colors + bright: + black: '0x002b36' + red: '0xcb4b16' + green: '0x586e75' + yellow: '0x657b83' + blue: '0x839496' + magenta: '0x6c71c4' + cyan: '0x93a1a1' + white: '0xfdf6e3' diff --git a/files/.config/common-lisp/source-registry.conf.d/50-user-lisp.conf b/files/.config/common-lisp/source-registry.conf.d/50-user-lisp.conf new file mode 100644 index 0000000..5ffc4fe --- /dev/null +++ b/files/.config/common-lisp/source-registry.conf.d/50-user-lisp.conf @@ -0,0 +1 @@ +(:tree "/home/jakub/Projects/lisp/") \ No newline at end of file diff --git a/files/.config/dunst/dunstrc b/files/.config/dunst/dunstrc new file mode 100644 index 0000000..b3b93b6 --- /dev/null +++ b/files/.config/dunst/dunstrc @@ -0,0 +1,177 @@ +[global] +frame_width = 2 +frame_color = "#39bae6" +font = sourcecodepro + +# Allow a small subset of html markup: +# bold +# italic +# strikethrough +# underline +# +# For a complete reference see +# . +# If markup is not allowed, those tags will be stripped out of the +# message. +markup = yes + +# The format of the message. Possible variables are: +# %a appname +# %s summary +# %b body +# %i iconname (including its path) +# %I iconname (without its path) +# %p progress value if set ([ 0%] to [100%]) or nothing +# Markup is allowed +format = "%s %p\n%b" + +# Sort messages by urgency. +sort = yes + +# Show how many messages are currently hidden (because of geometry). +indicate_hidden = yes + +# Alignment of message text. +# Possible values are "left", "center" and "right". +alignment = left + +# The frequency with wich text that is longer than the notification +# window allows bounces back and forth. +# This option conflicts with "word_wrap". +# Set to 0 to disable. +bounce_freq = 5 + + +# Show age of message if message is older than show_age_threshold +# seconds. +# Set to -1 to disable. +show_age_threshold = 60 + +# Split notifications into multiple lines if they don't fit into +# geometry. +word_wrap = no + +# Ignore newlines '\n' in notifications. +ignore_newline = no + + +# The geometry of the window: +# [{width}]x{height}[+/-{x}+/-{y}] +# The geometry of the message window. +# The height is measured in number of notifications everything else +# in pixels. If the width is omitted but the height is given +# ("-geometry x2"), the message window expands over the whole screen +# (dmenu-like). If width is 0, the window expands to the longest +# message displayed. A positive x is measured from the left, a +# negative from the right side of the screen. Y is measured from +# the top and down respectevly. +# The width can be negative. In this case the actual width is the +# screen width minus the width defined in within the geometry option. +geometry = "500x10-10+50" + +# Shrink window if it's smaller than the width. Will be ignored if +# width is 0. +shrink = yes + +# The transparency of the window. Range: [0; 100]. +# This option will only work if a compositing windowmanager is +# present (e.g. xcompmgr, compiz, etc.). +transparency = 15 + +# Don't remove messages, if the user is idle (no mouse or keyboard input) +# for longer than idle_threshold seconds. +# Set to 0 to disable. +# default 120 +idle_threshold = 120 + +# Which monitor should the notifications be displayed on. +monitor = 0 + +# Display notification on focused monitor. Possible modes are: +# mouse: follow mouse pointer +# keyboard: follow window with keyboard focus +# none: don't follow anything +# +# "keyboard" needs a windowmanager that exports the +# _NET_ACTIVE_WINDOW property. +# This should be the case for almost all modern windowmanagers. +# +# If this option is set to mouse or keyboard, the monitor option +# will be ignored. +follow = mouse + +# Should a notification popped up from history be sticky or timeout +# as if it would normally do. +sticky_history = yes + +# Maximum amount of notifications kept in history +history_length = 20 + +# Display indicators for URLs (U) and actions (A). +show_indicators = yes + +# The height of a single line. If the height is smaller than the +# font height, it will get raised to the font height. +# This adds empty space above and under the text. +line_height = 0 + +# Draw a line of "separator_height" pixel height between two +# notifications. +# Set to 0 to disable. +separator_height = 1 + +# Padding between text and separator. +# padding = 8 +padding = 8 + +# Horizontal padding. +horizontal_padding = 10 + +# Define a color for the separator. +# possible values are: +# * auto: dunst tries to find a color fitting to the background; +# * foreground: use the same color as the foreground; +# * frame: use the same color as the frame; +# * anything else will be interpreted as a X color. +separator_color = #263238 + +# Print a notification on startup. +# This is mainly for error detection, since dbus (re-)starts dunst +# automatically after a crash. +startup_notification = false + +# dmenu path. +dmenu = /usr/bin/dmenu -p dunst: + +# Browser for opening urls in context menu. +browser = palemoon + +# Align icons left/right/off +icon_position = left + +# Limit icons size. +max_icon_size=128 + +[urgency_low] +# IMPORTANT: colors have to be defined in quotation marks. +# Otherwise the "#" and following would be interpreted as a comment. +background "#0d1017" +foreground = "#888888" +timeout = 10 +# Icon for notifications with low urgency, uncomment to enable +#icon = /path/to/icon + +[urgency_normal] +background = "#1e2128" +foreground = "#ffffff" +timeout = 10 +# Icon for notifications with normal urgency, uncomment to enable +#icon = /path/to/icon + +[urgency_critical] +background = "#900000" +foreground = "#ffffff" +frame_color = "#ff0000" +timeout = 0 +# Icon for notifications with critical urgency, uncomment to enable +#icon = /path/to/icon diff --git a/files/.config/guix/.gitignore b/files/.config/guix/.gitignore new file mode 100644 index 0000000..1f4ddec --- /dev/null +++ b/files/.config/guix/.gitignore @@ -0,0 +1 @@ +current \ No newline at end of file diff --git a/files/.config/guix/channels.scm b/files/.config/guix/channels.scm new file mode 100755 index 0000000..13bee44 --- /dev/null +++ b/files/.config/guix/channels.scm @@ -0,0 +1,19 @@ +(cons* (channel + (name 'rustup) + (url "https://github.com/declantsien/guix-rustup") + (introduction + (make-channel-introduction + "325d3e2859d482c16da21eb07f2c6ff9c6c72a80" + (openpgp-fingerprint + "F695 F39E C625 E081 33B5 759F 0FC6 8703 75EF E2F5")))) + + (channel + (name 'nonguix) + (url "https://gitlab.com/nonguix/nonguix") + ;; Enable signature verification: + (introduction + (make-channel-introduction + "897c1a470da759236cc11798f4e0a5f7d4d59fbc" + (openpgp-fingerprint + "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) + %default-channels) diff --git a/files/.config/guix/shell-authorized-directories b/files/.config/guix/shell-authorized-directories new file mode 100644 index 0000000..f6e0c84 --- /dev/null +++ b/files/.config/guix/shell-authorized-directories @@ -0,0 +1,10 @@ +/home/jakub/Projects/laco +/home/jakub/Projects/yasa +/home/jakub/Projects/trial +/home/jakub/Projects/matura-infa +/home/jakub/Projects/abaks-infra +/home/jakub/Projects/lispz +/home/jakub/Projects/zig-learning +/home/jakub/Projects/let-over-lambda +/home/jakub/Projects/rust +/home/jakub/temphome/embedded-rust diff --git a/files/.config/picom/picom.conf b/files/.config/picom/picom.conf new file mode 100644 index 0000000..0f3fe1d --- /dev/null +++ b/files/.config/picom/picom.conf @@ -0,0 +1,117 @@ +# ____ _____ +# | _ \_ _| Derek Taylor (DistroTube) +# | | | || | http://www.youtube.com/c/DistroTube +# | |_| || | http://www.gitlab.com/dwt1/ +# |____/ |_| +# +# My config. Not much to see here; just some pretty standard stuff. + +# Enabled client-side shadows on windows. Note desktop windows +# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, +# unless explicitly requested using the wintypes option. +# +shadow = true; + +# The blur radius for shadows, in pixels. (defaults to 12) +shadow-radius = 8; + +# The opacity of shadows. (0.0 - 1.0, defaults to 0.75) +shadow-opacity = .6 + +# The left offset for shadows, in pixels. (defaults to -15) +shadow-offset-x = -3; + +# The top offset for shadows, in pixels. (defaults to -15) +shadow-offset-y = -3; + +# Specify a list of conditions of windows that should have no shadow. +# +# examples: +# shadow-exclude = "n:e:Notification"; +# +# shadow-exclude = [] +shadow-exclude = [ + "name = 'Notification'", + "class_g = 'Conky'", + "class_g ?= 'Notify-osd'", + "class_g = 'Cairo-clock'", + "class_g = 'slop'", + "class_g = 'Polybar'", + "_GTK_FRAME_EXTENTS@:c" +]; + + +# Fade windows in/out when opening/closing and when opacity changes, +# unless no-fading-openclose is used. +# fading = false +fading = true; + +# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) +# fade-in-step = 0.028 +fade-in-step = 0.3; + +# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) +# fade-out-step = 0.03 +fade-out-step = 0.3; + +# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) +# fade-delta = 10 + +# Specify a list of conditions of windows that should not be faded. +# don't need this, we disable fading for all normal windows with wintypes: {} +fade-exclude = [ + "class_g = 'slop'" # maim +] + +# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) +inactive-opacity = 0.9 +# inactive-opacity = 1.0; + +# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) +# frame-opacity = 1.0 +frame-opacity = 0.7; + +# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0) +# menu-opacity = 1.0 +# menu-opacity is depreciated use dropdown-menu and popup-menu instead. + +#If using these 2 below change their values in line 510 & 511 aswell +popup_menu = { opacity = 0.8; } +dropdown_menu = { opacity = 0.8; } + + +# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows. +# inactive-opacity-override = true +inactive-opacity-override = false; + +# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) +active-opacity = 1.0; + +# Dim inactive windows. (0.0 - 1.0, defaults to 0.0) +# inactive-dim = 0.0 + +# Specify a list of conditions of windows that should always be considered focused. +# focus-exclude = [] +focus-exclude = [ + "class_g = 'Cairo-clock'", + "class_g = 'Bar'", # lemonbar + "class_g = 'slop'" # maim +]; + +opacity-rule = [ + "100:class_g = 'XTerm'", + "100:class_g = 'URxvt'", + "100:class_g = 'firefox'", + "100:class_g = 'Thunderbird'" +]; + +wintypes: +{ + normal = { fade = false; shadow = true; } + tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; }; + dock = { shadow = false; } + dnd = { shadow = true; } + popup_menu = { opacity = 0.8; } + dropdown_menu = { opacity = 0.8; } +}; + diff --git a/files/.config/polybar/config.ini b/files/.config/polybar/config.ini new file mode 100644 index 0000000..d43ee51 --- /dev/null +++ b/files/.config/polybar/config.ini @@ -0,0 +1,122 @@ +[settings] +screenchange-reload = true + +[colors] +background = ${xrdb:emacs.background} +foreground = ${xrdb:emacs.foreground} +primary = #7fd962 +disabled = #707880 + +[bar/example] +width = 100% +height = 18pt + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 1.5pt + +padding-left = 0 +padding-right = 1 + +module-margin = 1 + +separator = | +separator-foreground = ${colors.disabled} + +font-0 = "Terminus:size=15" +font-1 = "FontAwesome" + +modules-left = xworkspaces +modules-right = memory cpu battery date + +cursor-click = pointer +cursor-scroll = ns-resize + +enable-ipc = true + +tray-position = right + +[module/xworkspaces] +type = internal/xworkspaces + +icon-0 = 1;0 +icon-1 = 2;1 +icon-2 = 3;2 +icon-3 = 4;3 +icon-4 = 5;4 +icon-5 = 6;5 +icon-6 = 7;6 +icon-7 = 8;7 +icon-8 = 9;8 +icon-9 = 10;9 + +label-active = %icon% +label-active-background = ${colors.background-alt} +label-active-underline= ${colors.primary} +label-active-padding = 1 + +label-occupied = %icon% +label-occupied-padding = 1 + +label-urgent = %icon% +label-urgent-background = ${colors.alert} +label-urgent-padding = 1 + +label-empty = %icon% +label-empty-foreground = ${colors.disabled} +label-empty-padding = 1 + +[module/battery] +type = internal/battery +battery = BAT0 +adapter = ADP1 + +format-charging = +format-discharging = +format-low = +format-full = + +label-charging = %percentage%% +label-discharging = %percentage%% +label-low = LOW %percentage%% +label-full = FULL %percentage%% + +ramp-capacity-0 =  +ramp-capacity-1 =  +ramp-capacity-2 =  +ramp-capacity-3 =  +ramp-capacity-4 =  +ramp-capacity-foreground = ${colors.primary} + +animation-charging-0 =  +animation-charging-1 =  +animation-charging-2 =  +animation-charging-3 =  +animation-charging-4 =  +animation-charging-foreground = ${colors.primary} +animation-charging-framerate = 750 + +[module/memory] +type = internal/memory +interval = 2 +format-prefix = "RAM " +format-prefix-foreground = ${colors.primary} +label = %percentage_used:2%% + +[module/cpu] +type = internal/cpu +interval = 2 +format-prefix = "CPU " +format-prefix-foreground = ${colors.primary} +label = %percentage:2%% + +[module/date] +type = internal/date +interval = 1 + +date = %H:%M +date-alt = %Y-%m-%d %H:%M:%S + +label = %date% +label-foreground = ${colors.primary} diff --git a/files/.config/qtile/autorc b/files/.config/qtile/autorc new file mode 100755 index 0000000..c54f683 --- /dev/null +++ b/files/.config/qtile/autorc @@ -0,0 +1,31 @@ +#!/bin/bash + +function monitor_settings() { + sleep .5 + monitor_status=$(xrandr | grep "HDMI-1-4 connected" | wc -l) + + if [ $monitor_status == 1 ]; + then + # xrandr --auto + # xrandr --output eDP-1 --off + xrandr --output eDP-1-1 --auto --output HDMI-0 --auto --left-of eDP-1-1 + fi +} + +function caps_to_esc(){ xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'; } + +function start() { + killall $1 + sleep .5 + $($1 $2) & +} + +# monitor_settings +caps_to_esc + +start nitrogen "--restore" +start picom "" +start spotifyd "" +start rclone "mount remote:/sync /home/jakub/Sync" +start emacs "--daemon" +xinput set-prop 11 344 1 diff --git a/files/.config/qtile/config.py b/files/.config/qtile/config.py new file mode 100644 index 0000000..9106731 --- /dev/null +++ b/files/.config/qtile/config.py @@ -0,0 +1,232 @@ +import os +import subprocess + +from typing import List + +from libqtile import bar, layout, widget +from libqtile.config import Click, Drag, Group, Key, Match, Screen, KeyChord +from libqtile import extension +from libqtile.lazy import lazy +from libqtile.utils import guess_terminal +from libqtile import hook + +MOD = "mod4" + +TERMINAL = guess_terminal() + +DMENU_FLAGS = '-l 16 -p run -c -i' + +BAR = '#282a36' +LIGHT_BAR = '#393b37' +YELLOW = '#f1fa8c' +RED = '#ff5555' +LIGHT_RED = '#ff9999' +GREEN = '#50fa7b' +CYAN = '#8be9fd' +LIGHT_CYAN = '#abfbff' + +@hook.subscribe.startup_once +def autostart(): + home = os.path.expanduser('~/.config/qtile/autorc') + subprocess.run([home]) + +keys = [ + Key([MOD], "h", lazy.layout.left(), desc="Move focus to left"), + Key([MOD], "l", lazy.layout.right(), desc="Move focus to right"), + Key([MOD], "j", lazy.layout.down(), desc="Move focus down"), + Key([MOD], "k", lazy.layout.up(), desc="Move focus up"), + Key([MOD], "s", lazy.next_screen() ), + Key([MOD], "space", lazy.window.toggle_floating(), + desc="Move window focus to other window"), + + Key([MOD, "shift"], "h", lazy.layout.shuffle_left(), + desc="Move window to the left"), + Key([MOD, "shift"], "l", lazy.layout.shuffle_right(), + desc="Move window to the right"), + Key([MOD, "shift"], "j", lazy.layout.shuffle_down(), + desc="Move window down"), + Key([MOD, "shift"], "k", lazy.layout.shuffle_up(), desc="Move window up"), + + Key([MOD, "control"], "h", lazy.layout.grow_left(), + desc="Grow window to the left"), + Key([MOD, "control"], "l", lazy.layout.grow_right(), + desc="Grow window to the right"), + Key([MOD, "control"], "j", lazy.layout.grow_down(), + desc="Grow window down"), + Key([MOD, "control"], "k", lazy.layout.grow_up(), desc="Grow window up"), + Key([MOD], "n", lazy.layout.normalize(), desc="Reset all window sizes"), + + Key([MOD, "shift"], "Return", lazy.layout.toggle_split(), + desc="Toggle between split and unsplit sides of stack"), + Key([MOD], "Return", lazy.spawn(TERMINAL), desc="Launch terminal"), + + Key([MOD], "Tab", lazy.next_layout(), desc="Toggle between layouts"), + Key([MOD], "c", lazy.window.kill(), desc="Kill focused window"), + + Key([MOD, "control"], "r", lazy.restart(), desc="Restart Qtile"), + Key([MOD, "control"], "q", lazy.shutdown(), desc="Shutdown Qtile"), + + Key([MOD], "F12", os.system("xbacklight -inc 10"), desc="Inc backlight"), + Key([MOD], "F11", os.system("xbacklight -dec 10"), desc="Dec backlight"), + + Key([MOD], "r", lazy.spawncmd(), + desc="Spawn a command using a prompt widget"), + + KeyChord([MOD], "p", [ + Key([], "p", lazy.spawn(f"dmenu_run {DMENU_FLAGS}"), desc="Spawn dmenu run"), + Key([], "n", lazy.spawn(f"networkmanager_dmenu {DMENU_FLAGS}"), desc="Spawn dmenu for network manager"), + ]), + + Key([MOD, "mod1"], "q", lazy.spawn("qutebrowser"), desc="Spawn qutebrowser"), + Key([MOD, "mod1"], "b", lazy.spawn("brave"), desc="Spawn brave"), + Key([MOD, "mod1"], "f", lazy.spawn("firefox"), desc="Spawn firefox"), + + KeyChord([MOD], "e", [ + Key([], "e", lazy.spawn("emacsclient -c -a 'emacs'"), desc="Spawn Emacsclient"), + Key([], "d", lazy.spawn("emacsclient -c -a 'emacs' --eval '(dired nil)'"), desc='Emacsclient Dired'), + Key([], "m", lazy.spawn("emacsclient -c -a 'emacs' --eval '(emms-browser)'"), desc='Emacsclient Dired'), + ]), + + Key([MOD, "mod1"], "s", lazy.spawn("alacritty -e spt"), desc="Spawn spt (spotify clent)"), + Key([MOD, "mod1"], "l", lazy.spawn("slock"), desc="lock desktop"), + Key([MOD, "mod1"], "r", lazy.spawn("alacritty -e ranger"), desc="Spawn ranger (file manager)"), + Key([MOD, "mod1"], "p", lazy.spawn("alacritty -e pulsemixer"), desc="Spawn pulsemixer"), +] + +groups_names = [ + "dev", + "www", + "music", + "virt", + "sys", + "other" +] + +groups = [Group(i) for i in groups_names] +for i, group in enumerate(groups): + keys.extend([ + Key([MOD], str(i+1), lazy.group[group.name].toscreen(), + desc="Switch to group {}".format(group.name)), + + Key([MOD, "shift"], str(i+1), lazy.window.togroup(group.name, switch_group=True), + desc="Switch to & move focused window to group {}".format(group.name)), + ]) + +mouse = [ + Drag([MOD], "Button1", lazy.window.set_position_floating(), + start=lazy.window.get_position()), + Drag([MOD], "Button3", lazy.window.set_size_floating(), + start=lazy.window.get_size()), + Click([MOD], "Button2", lazy.window.bring_to_front()) +] + +layout_cfg = { + 'border_width': 2, + 'border_normal': "#bb8888", + 'border_focus': "884444", + 'margin': 8 +} + +layouts = [ + # layout.Columns(**layout_cfg), + # layout.Max(), + layout.Stack(num_stacks=1, **layout_cfg), + # layout.Bsp(), + # layout.Matrix(), + layout.MonadTall(**layout_cfg), + # layout.MonadWide(), + # layout.RatioTile(), + # layout.Tile(), + # layout.TreeTab(), + # layout.VerticalTile(), + # layout.Zoomy(), +] + +widget_defaults = dict( + font='sans', + fontsize=12, + padding=6, +) + +transparent_sep = { + 'foreground': BAR, + 'margin': 2 +} + +soft_sep = { + 'foreground': '44475a', + 'padding': 2, + 'margin': 4 +} + +screens = [ + Screen( + top=bar.Bar( + [ + widget.Sep(**transparent_sep), + widget.Image(filename="~/.config/qtile/python.png", margin=4), + widget.Sep(**transparent_sep), + widget.CurrentLayout(), + widget.Sep(**transparent_sep), + widget.GroupBox( + margin_y = 3, + margin_x = 0, + padding_y = 5, + padding_x = 3, + borderwidth = 3, + rounded = False, + highlight_color = LIGHT_BAR, + highlight_method = "line", + this_current_screen_border = CYAN, + this_screen_border = CYAN, + other_current_screen_border = LIGHT_BAR, + other_screen_border = LIGHT_BAR, + ), + widget.Prompt(), + widget.Sep(**transparent_sep), + widget.WindowName(), + widget.Net(format="🌐 ↓{down} ↑{up}", foreground=YELLOW), + widget.Sep(**soft_sep), + widget.CPU(format='💻 {load_percent}%', fontsize=12, foreground=RED), + widget.Sep(**soft_sep), + widget.Battery(format='🔋 {char} {percent:2.0%} {hour:d}:{min:02d} {watt:.2f} W', foreground=GREEN), + widget.Sep(**soft_sep), + widget.Clock(format='📅 %B %-d, %H:%M', foreground=CYAN), + widget.Sep(**soft_sep), + widget.CurrentScreen(), + widget.Sep(**soft_sep), + widget.Systray() + ], + 24, + margin=8, + background=BAR, + border_color=CYAN, + border_width=1 + ), + ), +] + +floating_layout = layout.Floating(float_rules=[ + # Run the utility of `xprop` to see the wm class and name of an X client. + *layout.Floating.default_float_rules, + Match(wm_class='confirmreset'), # gitk + Match(wm_class='makebranch'), # gitk + Match(wm_class='maketag'), # gitk + Match(wm_class='ssh-askpass'), # ssh-askpass + Match(title='branchdialog'), # gitk + Match(title='pinentry'), # GPG key password entry +]) + +dgroups_key_binder = None +dgroups_app_rules = [] + +follow_mouse_focus = True +bring_front_click = False +cursor_warp = False +auto_fullscreen = True +focus_on_window_activation = "smart" +reconfigure_screens = True + +auto_minimize = True + +wmname = "LG3D" diff --git a/files/.config/qtile/mdt_shell b/files/.config/qtile/mdt_shell new file mode 100755 index 0000000..90fa6f3 --- /dev/null +++ b/files/.config/qtile/mdt_shell @@ -0,0 +1 @@ +TERM=xterm-256color /home/jakub/.local/bin/mdt shell diff --git a/files/.config/qtile/photos/desktop.png b/files/.config/qtile/photos/desktop.png new file mode 100644 index 0000000..8fca190 Binary files /dev/null and b/files/.config/qtile/photos/desktop.png differ diff --git a/files/.config/qtile/python.png b/files/.config/qtile/python.png new file mode 100644 index 0000000..9a4b1ed Binary files /dev/null and b/files/.config/qtile/python.png differ diff --git a/files/.config/qtile/readme.org b/files/.config/qtile/readme.org new file mode 100644 index 0000000..235dd47 --- /dev/null +++ b/files/.config/qtile/readme.org @@ -0,0 +1,5 @@ +#+title: Config + +* Qtile conifg +- My personal qtile config ;) + [[./photos/desktop.png]] diff --git a/files/.config/sway/config b/files/.config/sway/config new file mode 100644 index 0000000..cf587fc --- /dev/null +++ b/files/.config/sway/config @@ -0,0 +1,195 @@ +set $mod Mod4 + +set $left h +set $down j +set $up k +set $right l + +set $term alacritty +set $emacs emacsclient -c +set $menu fuzzel -r0 -b 282828f2 -C 458588f2 -B 3 -s 458588f2 -S 282828FF --font "Terminus:size=12" -p "run: " + +set $laptop-display eDP-1 +set $generic-display HDMI-A-1 +set $primary-home-display 'Iiyama North America PLE2407HDSD 0x01010101' +set $secondary-home-display 'Dell Inc. DELL E190S M8VPV186CELI' + +set $primary-display-layout 'Samsung Electric Company C34H89x HTJM200007' $primary-home-display $generic-display $laptop-display +set $secondary-display-layout $secondary-home-display $laptop-display + +# output * bg SPOILER_33.png fill +output * bg #002b36 solid_color + +output $laptop-display resolution 1920x1080 position 1920,0 +output $generic-display resolution 1920x1080 position 0,0 +output $primary-home-display resolution 1920x1080 position 0,0 +output $secondary-home-display resolution 1280x1024 position 1920,0 +set $opacity 0.9 + +client.focused #002b36 #586e75 #eee8d5 #268bd2 +client.focused_inactive #002b36 #073642 #93a1a1 #268bd2 +client.unfocused #002b36 #073642 #93a1a1 #268bd2 +client.urgent #002b36 #dc322f #fdf6e3 #002b36 + +input type:keyboard { + xkb_layout pl,us +} + +input type:touchpad { + tap enabled + middle_emulation enabled +} + +bindsym $mod+Shift+s output $laptop-display toggle + +set $swaylock 'swaylock -f -c 000000 --font "Terminus"' +exec swayidle -w \ + timeout 280 $swaylock \ + timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ + before-sleep $swaylock + +# inhibit_idle fullscreen + +bindsym $mod+Escape exec $swaylock + +bindsym XF86MonBrightnessUp exec brightnessctl set 5%+ +bindsym XF86MonBrightnessDown exec brightnessctl set 5%- + +bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle +bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% +bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% + +bindsym XF86AudioNext exec playerctl next +bindsym XF86AudioPrev exec playerctl previous +bindsym XF86AudioPlay exec playerctl play-pause +bindsym XF86AudioPause exec playerctl pause + +bindsym print exec grimshot --notify copy area +bindsym $mod+print exec grimshot --notify copy output +bindsym $mod+Ctrl+print grimshot save area - | swappy -f - + +bindsym $mod+Return exec $term + +bindsym $mod+Shift+q kill + +floating_modifier $mod normal + +bindsym $mod+Shift+c reload +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' + +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right + +bindsym $mod+Shift+$left move left +bindsym $mod+Shift+$down move down +bindsym $mod+Shift+$up move up +bindsym $mod+Shift+$right move right + +workspace 1 output $primary-display-layout +workspace 2 output $primary-display-layout +workspace 3 output $secondary-display-layout +workspace 4 output $secondary-display-layout +workspace 9 output $primary-display-layout +workspace 10 output $secondary-display-layout + +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+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 + +assign [app_id="(firefox-default|Firefox|qutebrowser|Chromium-browser)"] 2 +assign [instance="(chromium-browser)"] 2 +assign [instance="(spotify)"] 3 +assign [app_id=".blueman-manager-real"] 3 +assign [app_id="pavucontrol"] 3 +assign [app_id="(org.telegram.desktop)"] 4 +assign [app_id="vesktop"] 4 +assign [app_id="com.ktechpit.whatsie"] 4 +assign [instance="(discord)"] 4 + +# for_window [app_id="vesktop"] opacity $opacity + +bindsym $mod+b splith +bindsym $mod+v splitv + +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +bindsym $mod+f fullscreen +bindsym $mod+Shift+space floating toggle +bindsym $mod+space focus mode_toggle +bindsym $mod+a focus parent + +bindsym $mod+Shift+minus move scratchpad +bindsym $mod+minus scratchpad show + +mode "resize" { + bindsym $left resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $right resize grow width 10px + + bindsym Return mode "default" + bindsym Control+g mode "default" + bindsym Escape mode "default" +} +bindsym $mod+r mode "resize" + +set $default swaymsg mode default +mode "menu" { + bindsym --no-repeat e exec '$default; $emacs;' + bindsym --no-repeat w exec "$default; whois-at-hsp -n" + + bindsym Return mode "default" + bindsym Control+g mode "default" + bindsym Escape mode "default" + +} +bindsym $mod+o mode "menu" + + +workspace_layout tabbed + +# default_border normal 3 +# gaps outer 0 +# gaps inner 6 +# corner_radius 4 +# blur_xray disable +# blur enable +# layer_effects "waybar" blur enable + +font Terminus (TTF) 12 +bindsym $mod+p exec $menu + + +# Taken from dawivil dotfiles. +exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway + +# exec udiskie -t +exec mako --font "Terminus (TTF)" --outer-margin=5 --margin=3 --border-size=3 --default-timeout=7000 --background="#282828e0" + +exec nm-applet --indicator +exec blueman-applet +exec waybar +exec udiskie -t +exec wlsunset -l 51.919438 -L 19.145136 diff --git a/files/.config/waybar/config b/files/.config/waybar/config new file mode 100644 index 0000000..5ebee30 --- /dev/null +++ b/files/.config/waybar/config @@ -0,0 +1,159 @@ +{ + "layer": "top", + "position": "top", + + "modules-left": [ + "sway/workspaces", + "sway/mode" + ], + + "modules-right": [ +// "custom/whois", + "pulseaudio", + "network", + "memory", + "cpu", + "temperature", + "battery", + "sway/language", + "clock#date", + "clock#time", + "idle_inhibitor", + "tray" + ], + + // Modules + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + + "battery": { + "interval": 10, + "states": { + "warning": 30, + "critical": 15 + }, + "format-time": "{H}:{M:02}", + "format": "{icon} {capacity}% ({time})", + "format-charging": " {capacity}% ({time})", + "format-charging-full": " {capacity}%", + "format-full": "{icon} {capacity}%", + "format-alt": "{icon} {power}W", + "format-icons": [ + "", + "", + "", + "", + "" + ], + "tooltip": false + }, + + "clock#time": { + "interval": 10, + "format": "{:%H:%M}", + "tooltip": false + }, + + "clock#date": { + "interval": 20, + "format": " {:%e %b %Y}", + "tooltip": false + //"tooltip-format": "{:%e %B %Y}" + }, + + "cpu": { + "interval": 5, + "tooltip": false, + "format": " {usage}%", + "format-alt": " {load}", + "states": { + "warning": 70, + "critical": 90 + } + }, + + "sway/language": { + "format": " {}", + "min-length": 5, + "on-click": "swaymsg 'input * xkb_switch_layout next'", + "tooltip": false + }, + + "memory": { + "interval": 5, + "format": " {used:0.1f}G/{total:0.1f}G", + "states": { + "warning": 70, + "critical": 90 + }, + "tooltip": false + }, + + "network": { + "interval": 5, + "format-wifi": " {essid} ({signalStrength}%)", + "format-ethernet": " {ifname}", + "format-disconnected": "No connection", + "format-alt": " {ipaddr}/{cidr}", + "tooltip": false + }, + + "sway/mode": { + "format": "{}", + "tooltip": false + }, + + "sway/window": { + "format": "{}", + "max-length": 30, + "tooltip": false + }, + + "sway/workspaces": { + "disable-scroll-wraparound": true, + "smooth-scrolling-threshold": 4, + "enable-bar-scroll": true, + "format": "{name}" + }, + + "pulseaudio": { + "format": "{icon} {volume}%", + "format-bluetooth": "{icon} {volume}%", + "format-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", ""] + }, + "scroll-step": 1, + "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle", + "tooltip": false + }, + + "temperature": { + "critical-threshold": 90, + "interval": 5, + "format": "{icon} {temperatureC}°", + "format-icons": [ + "", + "", + "", + "", + "" + ], + "tooltip": false + }, + + "tray": { + "icon-size": 18, + } +} diff --git a/files/.config/waybar/style.css b/files/.config/waybar/style.css new file mode 100644 index 0000000..53d732b --- /dev/null +++ b/files/.config/waybar/style.css @@ -0,0 +1,205 @@ +/* Keyframes */ + +@keyframes blink-critical { + to { + /*color: @white;*/ + background-color: @critical; + } +} + + +/* Styles */ + +/* Colors (gruvbox) */ +@define-color black #073642; +@define-color red #dc322f; +@define-color green #859900; +@define-color yellow #b58900; +@define-color blue #268bd2; +@define-color purple #d33682; +@define-color aqua #00afaf; +@define-color gray #1c1c1c; +@define-color brgray #928374; +@define-color brred #cb4b16; +@define-color brgreen #586e75; +@define-color bryellow #657b83; +@define-color brblue #839496; +@define-color brpurple #6c71c4; +@define-color braqua #93a1a1; +@define-color white #eee8d5; +@define-color bg1 #073642; +@define-color bg2 #002b36; + + +@define-color warning @bryellow; +@define-color critical @red; +@define-color mode @bg2; +@define-color unfocused @bg2; +@define-color focused @blue; +@define-color inactive @purple; +@define-color sound @green; +@define-color network @yellow; +@define-color memory @aqua; +@define-color cpu @blue; +@define-color temp @brpurple; +@define-color layout @green; +@define-color battery @yellow; +@define-color date @aqua; +@define-color time @bg2; +@define-color tray @bg2; + +/* Reset all styles */ +* { + border: none; + border-radius: 0; + min-height: 0; + margin: 0; + padding: 0; + box-shadow: none; + text-shadow: none; + icon-shadow: none; +} + +/* The whole bar */ +#waybar { + background: @bg2; + color: @white; + font-family: "Terminus (TTF)", FontAwesome; + font-size: 12pt; +} + +/* Each module */ +#battery, +#clock, +#cpu, +#language, +#memory, +#mode, +#network, +#pulseaudio, +#temperature, +#tray, +#backlight, +#idle_inhibitor, +#disk, +#user, +#mpris { + padding-left: 8pt; + padding-right: 8pt; +} + +/* Each critical module */ +#memory.critical, +#cpu.critical, +#temperature.critical, +#battery.critical.discharging { + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; + animation-name: blink-critical; + animation-duration: 1s; +} + +/* Each warning */ +#network.disconnected, +#memory.warning, +#cpu.warning, +#temperature.warning, +#battery.warning.discharging { + color: @warning; +} + +/* And now modules themselves in their respective order */ + +/* Current sway mode (resize etc) */ +#mode { + color: @white; + background: @mode; +} + +/* Workspaces stuff */ +#workspaces button { + /*font-weight: bold;*/ + padding-left: 2pt; + padding-right: 2pt; + color: @white; + background: @unfocused; +} + +/* Inactive (on unfocused output) */ +#workspaces button.visible { + color: @white; + background: @inactive; +} + +/* Active (on focused output) */ +#workspaces button.focused { + color: @black; + background: @focused; +} + +/* Contains an urgent window */ +#workspaces button.urgent { + color: @black; + background: @warning; +} + +/* Style when cursor is on the button */ +#workspaces button:hover { + background: @black; + color: @white; +} + +#window { + margin-right: 35pt; + margin-left: 35pt; +} + +#pulseaudio { + background: @sound; + color: @black; +} + +#network { + background: @network; + color: @white; +} + +#memory { + background: @memory; + color: @black; +} + +#cpu { + background: @cpu; + color: @white; +} + +#temperature { + background: @temp; + color: @black; +} + +#language { + background: @layout; + color: @black; +} + +#battery { + background: @battery; + color: @white; +} + +#tray { + background: @tray; +} + +#clock.date { + background: @date; + color: @black; +} + +#clock.time { + background: @time; + color: @white; +} -- cgit v1.2.3