summaryrefslogtreecommitdiffstats
path: root/.config
diff options
context:
space:
mode:
Diffstat (limited to '.config')
-rw-r--r--.config/guix/manifests/desktop.scm73
-rw-r--r--.config/guix/manifests/emacs.scm126
-rw-r--r--.config/sway/config193
-rw-r--r--.config/waybar/config159
-rw-r--r--.config/waybar/style.css205
5 files changed, 557 insertions, 199 deletions
diff --git a/.config/guix/manifests/desktop.scm b/.config/guix/manifests/desktop.scm
deleted file mode 100644
index f238951..0000000
--- a/.config/guix/manifests/desktop.scm
+++ /dev/null
@@ -1,73 +0,0 @@
1(specifications->manifest
2 '("qutebrowser"
3 "ungoogled-chromium"
4 "firefox"
5 "tor-client"
6
7 "pulsemixer"
8 "pavucontrol"
9 "alsa-utils"
10
11 "virt-manager"
12
13 "flatpak"
14 "redshift"
15 "fontmanager"
16
17 "polybar"
18
19 "blueman"
20
21 "xdg-utils"
22 "xdg-dbus-proxy"
23 "xdg-desktop-portal-gtk"
24 "glib:bin"
25 "gtk+:bin"
26 "gnome-keyring"
27 "shared-mime-info"
28 "libnotify"
29 "dconf"
30 "hicolor-icon-theme"
31
32 "dunst"
33
34 "gimp"
35 "inkscape"
36
37 "mpv"
38 "youtube-dl"
39
40 "pamixer"
41 "playerctl"
42 "scrot"
43 "brightnessctl"
44 "upower"
45 "tlp"
46 "feh"
47 "alacritty"
48
49 "curl"
50 "wget"
51 "zip"
52 "unzip"
53 "qrencode"
54 "trash-cli"
55 "pandoc"
56 "password-store"
57 "pinentry"
58
59 "syncthing"
60 "syncthing-gtk"
61
62 "xmodmap"
63 "xrandr"
64 "arandr"
65 "xss-lock"
66 "libinput"
67 "xinput"
68 "xprop"
69 "rlwrap"
70
71 "nheko"
72 "quassel"
73 ))
diff --git a/.config/guix/manifests/emacs.scm b/.config/guix/manifests/emacs.scm
deleted file mode 100644
index db809eb..0000000
--- a/.config/guix/manifests/emacs.scm
+++ /dev/null
@@ -1,126 +0,0 @@
1;; This file is auto-generated by Emacs function: jd/manifest-generate-to-file
2(use-modules (gnu packages emacs-xyz)
3 (gnu packages)
4 (guix packages)
5 (guix git-download)
6 (guix build-system emacs)
7 ((guix licenses) #:prefix license:))
8
9
10(define-public emacs-org-roam-ui
11 (let ((commit "9474a254390b1e42488a1801fed5826b32a8030b")
12 (revision "0"))
13 (package
14 (name "emacs-org-roam-ui")
15 (version (git-version "0" revision commit))
16 (source (origin
17 (method git-fetch)
18 (uri (git-reference
19 (url "https://github.com/org-roam/org-roam-ui")
20 (commit commit)))
21 (file-name (git-file-name name version))
22 (sha256
23 (base32
24 "0v54vxh95izch74wz2dl2dkdqicbvshra55l6qvd4xl5qmfhpjdc"))))
25 (build-system emacs-build-system)
26 (arguments
27 `(#:include (cons "^out" %default-include)))
28 (propagated-inputs
29 (list emacs-org-roam emacs-websocket emacs-simple-httpd emacs-f))
30 (home-page "https://github.com/org-roam/org-roam-ui")
31 (synopsis "A graphical frontend for your org-roam Zettelkasten")
32 (description " Org-Roam-UI is a frontend for exploring and interacting
33with your @code{org-roam} notes. It is meant a successor of
34@code{org-roam-server} that extends functionality of org-roam with a Web app
35that runs side-by-side with Emacs.")
36 (license license:gpl3+))))
37
38
39
40(define emacs-lsp-mode--new
41 (let ((commit "808c4d0ab9f19bb92c56716cf59df89432b63f5d")
42 (revision "1"))
43 (package
44 (inherit emacs-lsp-mode)
45 (name "emacs-lsp-mode")
46 (version (git-version "8.0.1" revision commit))
47 (source
48 (origin
49 (method git-fetch)
50 (uri (git-reference
51 (url "https://github.com/emacs-lsp/lsp-mode")
52 (commit commit)))
53 (file-name (git-file-name name version))
54 (sha256
55 (base32 "0ridjhzndwjj8947vabq05njgnns74hi69x77axgcbv1c4nasz2y")))))))
56
57
58(define emacs-packages
59 (specifications->manifest
60 '("emacs-ytdl"
61 "emacs-desktop-environment"
62 "emacs-exwm"
63 "emacs-perspective"
64 "emacs-mu4e-alert"
65 "mu"
66 "isync"
67 "emacs-htmlize"
68 "emacs-bluetooth"
69 "emacs-nov-el"
70 "emacs-password-store"
71 "emacs-mastodon"
72 "emacs-elfeed"
73 "emacs-pdf-tools"
74 "emacs-emms"
75 "emacs-all-the-icons-dired"
76 "emacs-vterm"
77 "emacs-restclient"
78 "emacs-magit"
79 "emacs-neotree"
80 "emacs-projectile"
81 "emacs-company-box"
82 "emacs-company"
83 "emacs-docker"
84 "emacs-yaml-mode"
85 "emacs-web-mode"
86 "emacs-flycheck"
87 "emacs-tide"
88 "emacs-cider"
89 "emacs-typescript-mode"
90 "emacs-pyvenv"
91 "emacs-geiser-guile"
92 "emacs-racket-mode"
93 "emacs-geiser-racket"
94 "emacs-geiser"
95 "emacs-sly"
96 "emacs-rainbow-delimiters"
97 "emacs-paredit"
98 ;; "emacs-lsp-ivy"
99 ;; "emacs-lsp-mode"
100 "emacs-org-roam"
101 "emacs-org-roam-bibtex"
102 "emacs-org-superstar"
103 "emacs-org"
104 "emacs-ox-pandoc"
105 "emacs-beacon"
106 "emacs-all-the-icons"
107 "emacs-which-key"
108 "emacs-counsel"
109 "emacs-ivy"
110 "emacs-hl-todo"
111 "emacs-diminish"
112 "emacs-solarized-theme"
113 "font-terminus"
114 "emacs-undo-tree"
115 "emacs-hydra"
116 "emacs-general"
117 "emacs-guix"
118 "emacs"
119 "emacs-use-package"
120 )))
121
122
123(concatenate-manifests
124 (list emacs-packages
125 (packages->manifest (list emacs-lsp-mode--new
126 emacs-org-roam-ui))))
diff --git a/.config/sway/config b/.config/sway/config
new file mode 100644
index 0000000..2807f08
--- /dev/null
+++ b/.config/sway/config
@@ -0,0 +1,193 @@
1set $mod Mod4
2
3set $left h
4set $down j
5set $up k
6set $right l
7
8set $term alacritty
9set $emacs emacsclient -c
10set $menu fuzzel -r0 -b 282828f2 -C 458588f2 -B 3 -s 458588f2 -S 282828FF --font "Terminus:size=12" -p "run: "
11
12set $laptop-display eDP-1
13set $generic-display HDMI-A-1
14set $primary-home-display 'Iiyama North America PLE2407HDSD 0x01010101'
15set $secondary-home-display 'Dell Inc. DELL E190S M8VPV186CELI'
16
17set $primary-display-layout $primary-home-display $generic-display $laptop-display
18set $secondary-display-layout $secondary-home-display $laptop-display
19
20output * bg SPOILER_33.png fill
21
22output $laptop-display resolution 1920x1080 position 1920,0
23output $generic-display resolution 1920x1080 position 0,0
24output $primary-home-display resolution 1920x1080 position 0,0
25output $secondary-home-display resolution 1280x1024 position 1920,0
26set $opacity 0.9
27
28client.focused #002b36 #586e75 #eee8d5 #268bd2
29client.focused_inactive #002b36 #073642 #93a1a1 #268bd2
30client.unfocused #002b36 #073642 #93a1a1 #268bd2
31client.urgent #002b36 #dc322f #fdf6e3 #002b36
32
33input type:keyboard {
34 xkb_layout pl,us
35}
36
37input type:touchpad {
38 tap enabled
39 middle_emulation enabled
40}
41
42bindsym $mod+Shift+s output $laptop-display toggle
43
44set $swaylock 'swaylock -f -c 000000 --font "Terminus"'
45exec swayidle -w \
46 timeout 280 $swaylock \
47 timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
48 before-sleep $swaylock
49
50# inhibit_idle fullscreen
51
52bindsym $mod+Escape exec $swaylock
53
54bindsym XF86MonBrightnessUp exec brightnessctl set 5%+
55bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
56
57bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
58bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
59bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
60
61bindsym XF86AudioNext exec playerctl next
62bindsym XF86AudioPrev exec playerctl previous
63bindsym XF86AudioPlay exec playerctl play-pause
64bindsym XF86AudioPause exec playerctl pause
65
66bindsym print exec grimshot --notify copy area
67bindsym $mod+print exec grimshot --notify copy output
68
69bindsym $mod+Return exec $term
70
71bindsym $mod+Shift+q kill
72
73floating_modifier $mod normal
74
75bindsym $mod+Shift+c reload
76bindsym $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'
77
78bindsym $mod+$left focus left
79bindsym $mod+$down focus down
80bindsym $mod+$up focus up
81bindsym $mod+$right focus right
82
83bindsym $mod+Shift+$left move left
84bindsym $mod+Shift+$down move down
85bindsym $mod+Shift+$up move up
86bindsym $mod+Shift+$right move right
87
88workspace 1 output $primary-display-layout
89workspace 2 output $primary-display-layout
90workspace 3 output $secondary-display-layout
91workspace 4 output $secondary-display-layout
92workspace 9 output $primary-display-layout
93workspace 10 output $secondary-display-layout
94
95bindsym $mod+1 workspace number 1
96bindsym $mod+2 workspace number 2
97bindsym $mod+3 workspace number 3
98bindsym $mod+4 workspace number 4
99bindsym $mod+5 workspace number 5
100bindsym $mod+6 workspace number 6
101bindsym $mod+7 workspace number 7
102bindsym $mod+8 workspace number 8
103bindsym $mod+9 workspace number 9
104bindsym $mod+0 workspace number 10
105
106bindsym $mod+Shift+1 move container to workspace number 1
107bindsym $mod+Shift+2 move container to workspace number 2
108bindsym $mod+Shift+3 move container to workspace number 3
109bindsym $mod+Shift+4 move container to workspace number 4
110bindsym $mod+Shift+5 move container to workspace number 5
111bindsym $mod+Shift+6 move container to workspace number 6
112bindsym $mod+Shift+7 move container to workspace number 7
113bindsym $mod+Shift+8 move container to workspace number 8
114bindsym $mod+Shift+9 move container to workspace number 9
115bindsym $mod+Shift+0 move container to workspace number 10
116
117assign [app_id="(firefox-default|qutebrowser|Chromium-browser)"] 2
118assign [instance="(chromium-browser)"] 2
119assign [instance="(spotify)"] 3
120assign [app_id=".blueman-manager-real"] 3
121assign [app_id="pavucontrol"] 3
122assign [app_id="(org.telegram.desktop)"] 4
123assign [app_id="vesktop"] 4
124assign [app_id="com.ktechpit.whatsie"] 4
125assign [instance="(discord)"] 4
126
127for_window [app_id="vesktop"] opacity $opacity
128
129
130bindsym $mod+b splith
131bindsym $mod+v splitv
132
133bindsym $mod+s layout stacking
134bindsym $mod+w layout tabbed
135bindsym $mod+e layout toggle split
136
137bindsym $mod+f fullscreen
138bindsym $mod+Shift+space floating toggle
139bindsym $mod+space focus mode_toggle
140bindsym $mod+a focus parent
141
142bindsym $mod+Shift+minus move scratchpad
143bindsym $mod+minus scratchpad show
144
145mode "resize" {
146 bindsym $left resize shrink width 10px
147 bindsym $down resize grow height 10px
148 bindsym $up resize shrink height 10px
149 bindsym $right resize grow width 10px
150
151 bindsym Return mode "default"
152 bindsym Control+g mode "default"
153 bindsym Escape mode "default"
154}
155bindsym $mod+r mode "resize"
156
157set $default swaymsg mode default
158mode "menu" {
159 bindsym --no-repeat e exec '$default; $emacs;'
160 bindsym --no-repeat w exec "$default; whois-at-hsp -n"
161
162 bindsym Return mode "default"
163 bindsym Control+g mode "default"
164 bindsym Escape mode "default"
165
166}
167bindsym $mod+o mode "menu"
168
169
170workspace_layout tabbed
171
172default_border normal 3
173gaps outer 0
174gaps inner 6
175font Terminus (TTF) 12
176corner_radius 4
177blur_xray disable
178blur enable
179layer_effects "waybar" blur enable
180bindsym $mod+p exec $menu
181
182
183# Taken from dawivil dotfiles.
184exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
185
186# exec udiskie -t
187exec mako --font "Terminus (TTF)" --outer-margin=5 --margin=3 --border-size=3 --default-timeout=7000 --background="#282828e0"
188
189exec nm-applet --indicator
190exec blueman-applet
191exec waybar
192exec udiskie -t
193exec wlsunset -l 51.919438 -L 19.145136
diff --git a/.config/waybar/config b/.config/waybar/config
new file mode 100644
index 0000000..5ebee30
--- /dev/null
+++ b/.config/waybar/config
@@ -0,0 +1,159 @@
1{
2 "layer": "top",
3 "position": "top",
4
5 "modules-left": [
6 "sway/workspaces",
7 "sway/mode"
8 ],
9
10 "modules-right": [
11// "custom/whois",
12 "pulseaudio",
13 "network",
14 "memory",
15 "cpu",
16 "temperature",
17 "battery",
18 "sway/language",
19 "clock#date",
20 "clock#time",
21 "idle_inhibitor",
22 "tray"
23 ],
24
25 // Modules
26 "idle_inhibitor": {
27 "format": "{icon}",
28 "format-icons": {
29 "activated": "",
30 "deactivated": ""
31 }
32 },
33
34 "battery": {
35 "interval": 10,
36 "states": {
37 "warning": 30,
38 "critical": 15
39 },
40 "format-time": "{H}:{M:02}",
41 "format": "{icon} {capacity}% ({time})",
42 "format-charging": " {capacity}% ({time})",
43 "format-charging-full": " {capacity}%",
44 "format-full": "{icon} {capacity}%",
45 "format-alt": "{icon} {power}W",
46 "format-icons": [
47 "",
48 "",
49 "",
50 "",
51 ""
52 ],
53 "tooltip": false
54 },
55
56 "clock#time": {
57 "interval": 10,
58 "format": "{:%H:%M}",
59 "tooltip": false
60 },
61
62 "clock#date": {
63 "interval": 20,
64 "format": " {:%e %b %Y}",
65 "tooltip": false
66 //"tooltip-format": "{:%e %B %Y}"
67 },
68
69 "cpu": {
70 "interval": 5,
71 "tooltip": false,
72 "format": " {usage}%",
73 "format-alt": " {load}",
74 "states": {
75 "warning": 70,
76 "critical": 90
77 }
78 },
79
80 "sway/language": {
81 "format": " {}",
82 "min-length": 5,
83 "on-click": "swaymsg 'input * xkb_switch_layout next'",
84 "tooltip": false
85 },
86
87 "memory": {
88 "interval": 5,
89 "format": " {used:0.1f}G/{total:0.1f}G",
90 "states": {
91 "warning": 70,
92 "critical": 90
93 },
94 "tooltip": false
95 },
96
97 "network": {
98 "interval": 5,
99 "format-wifi": " {essid} ({signalStrength}%)",
100 "format-ethernet": " {ifname}",
101 "format-disconnected": "No connection",
102 "format-alt": " {ipaddr}/{cidr}",
103 "tooltip": false
104 },
105
106 "sway/mode": {
107 "format": "{}",
108 "tooltip": false
109 },
110
111 "sway/window": {
112 "format": "{}",
113 "max-length": 30,
114 "tooltip": false
115 },
116
117 "sway/workspaces": {
118 "disable-scroll-wraparound": true,
119 "smooth-scrolling-threshold": 4,
120 "enable-bar-scroll": true,
121 "format": "{name}"
122 },
123
124 "pulseaudio": {
125 "format": "{icon} {volume}%",
126 "format-bluetooth": "{icon} {volume}%",
127 "format-muted": "",
128 "format-icons": {
129 "headphone": "",
130 "hands-free": "",
131 "headset": "",
132 "phone": "",
133 "portable": "",
134 "car": "",
135 "default": ["", ""]
136 },
137 "scroll-step": 1,
138 "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
139 "tooltip": false
140 },
141
142 "temperature": {
143 "critical-threshold": 90,
144 "interval": 5,
145 "format": "{icon} {temperatureC}°",
146 "format-icons": [
147 "",
148 "",
149 "",
150 "",
151 ""
152 ],
153 "tooltip": false
154 },
155
156 "tray": {
157 "icon-size": 18,
158 }
159}
diff --git a/.config/waybar/style.css b/.config/waybar/style.css
new file mode 100644
index 0000000..53d732b
--- /dev/null
+++ b/.config/waybar/style.css
@@ -0,0 +1,205 @@
1/* Keyframes */
2
3@keyframes blink-critical {
4 to {
5 /*color: @white;*/
6 background-color: @critical;
7 }
8}
9
10
11/* Styles */
12
13/* Colors (gruvbox) */
14@define-color black #073642;
15@define-color red #dc322f;
16@define-color green #859900;
17@define-color yellow #b58900;
18@define-color blue #268bd2;
19@define-color purple #d33682;
20@define-color aqua #00afaf;
21@define-color gray #1c1c1c;
22@define-color brgray #928374;
23@define-color brred #cb4b16;
24@define-color brgreen #586e75;
25@define-color bryellow #657b83;
26@define-color brblue #839496;
27@define-color brpurple #6c71c4;
28@define-color braqua #93a1a1;
29@define-color white #eee8d5;
30@define-color bg1 #073642;
31@define-color bg2 #002b36;
32
33
34@define-color warning @bryellow;
35@define-color critical @red;
36@define-color mode @bg2;
37@define-color unfocused @bg2;
38@define-color focused @blue;
39@define-color inactive @purple;
40@define-color sound @green;
41@define-color network @yellow;
42@define-color memory @aqua;
43@define-color cpu @blue;
44@define-color temp @brpurple;
45@define-color layout @green;
46@define-color battery @yellow;
47@define-color date @aqua;
48@define-color time @bg2;
49@define-color tray @bg2;
50
51/* Reset all styles */
52* {
53 border: none;
54 border-radius: 0;
55 min-height: 0;
56 margin: 0;
57 padding: 0;
58 box-shadow: none;
59 text-shadow: none;
60 icon-shadow: none;
61}
62
63/* The whole bar */
64#waybar {
65 background: @bg2;
66 color: @white;
67 font-family: "Terminus (TTF)", FontAwesome;
68 font-size: 12pt;
69}
70
71/* Each module */
72#battery,
73#clock,
74#cpu,
75#language,
76#memory,
77#mode,
78#network,
79#pulseaudio,
80#temperature,
81#tray,
82#backlight,
83#idle_inhibitor,
84#disk,
85#user,
86#mpris {
87 padding-left: 8pt;
88 padding-right: 8pt;
89}
90
91/* Each critical module */
92#memory.critical,
93#cpu.critical,
94#temperature.critical,
95#battery.critical.discharging {
96 animation-timing-function: linear;
97 animation-iteration-count: infinite;
98 animation-direction: alternate;
99 animation-name: blink-critical;
100 animation-duration: 1s;
101}
102
103/* Each warning */
104#network.disconnected,
105#memory.warning,
106#cpu.warning,
107#temperature.warning,
108#battery.warning.discharging {
109 color: @warning;
110}
111
112/* And now modules themselves in their respective order */
113
114/* Current sway mode (resize etc) */
115#mode {
116 color: @white;
117 background: @mode;
118}
119
120/* Workspaces stuff */
121#workspaces button {
122 /*font-weight: bold;*/
123 padding-left: 2pt;
124 padding-right: 2pt;
125 color: @white;
126 background: @unfocused;
127}
128
129/* Inactive (on unfocused output) */
130#workspaces button.visible {
131 color: @white;
132 background: @inactive;
133}
134
135/* Active (on focused output) */
136#workspaces button.focused {
137 color: @black;
138 background: @focused;
139}
140
141/* Contains an urgent window */
142#workspaces button.urgent {
143 color: @black;
144 background: @warning;
145}
146
147/* Style when cursor is on the button */
148#workspaces button:hover {
149 background: @black;
150 color: @white;
151}
152
153#window {
154 margin-right: 35pt;
155 margin-left: 35pt;
156}
157
158#pulseaudio {
159 background: @sound;
160 color: @black;
161}
162
163#network {
164 background: @network;
165 color: @white;
166}
167
168#memory {
169 background: @memory;
170 color: @black;
171}
172
173#cpu {
174 background: @cpu;
175 color: @white;
176}
177
178#temperature {
179 background: @temp;
180 color: @black;
181}
182
183#language {
184 background: @layout;
185 color: @black;
186}
187
188#battery {
189 background: @battery;
190 color: @white;
191}
192
193#tray {
194 background: @tray;
195}
196
197#clock.date {
198 background: @date;
199 color: @black;
200}
201
202#clock.time {
203 background: @time;
204 color: @white;
205}