bunch of stuff
This commit is contained in:
+1000
-583
File diff suppressed because it is too large
Load Diff
@@ -23,7 +23,7 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
|
||||
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))))
|
||||
#+end_src
|
||||
|
||||
* Home
|
||||
* Guix Home
|
||||
#+begin_src emacs-lisp :tangle ~/dotfiles/guix/home/guix-home.scm :mkdirp yes
|
||||
(use-modules
|
||||
(gnu)
|
||||
@@ -42,6 +42,9 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
|
||||
(gnu packages curl)
|
||||
(gnu packages pdf)
|
||||
(gnu packages ebook)
|
||||
(gnu packages compton)
|
||||
(gnu packages dunst)
|
||||
(gnu packages image-viewers)
|
||||
(gnu packages gnome)
|
||||
(gnu packages gnome-xyz)
|
||||
(gnu packages compression)
|
||||
@@ -65,16 +68,27 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
|
||||
(gnu packages wm)
|
||||
(gnu packages music)
|
||||
(gnu packages base)
|
||||
(gnu packages xorg)
|
||||
(gnu services)
|
||||
(guix gexp))
|
||||
|
||||
(home-environment
|
||||
(packages
|
||||
(append
|
||||
(list
|
||||
;; Interfacing
|
||||
xclip
|
||||
polybar
|
||||
playerctl
|
||||
xbacklight
|
||||
xmodmap
|
||||
rofi
|
||||
dunst
|
||||
arandr
|
||||
feh
|
||||
picom)
|
||||
;; Tools/Libraries
|
||||
(list
|
||||
light
|
||||
zsh
|
||||
wget
|
||||
curl
|
||||
cmake
|
||||
@@ -86,8 +100,6 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
|
||||
gst-plugins-good
|
||||
gst-plugins-ugly
|
||||
gst-libav
|
||||
wl-clipboard
|
||||
waybar
|
||||
playerctl
|
||||
gnu-make)
|
||||
;; Applications
|
||||
@@ -95,17 +107,13 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
|
||||
alacritty
|
||||
nyxt
|
||||
zathura-pdf-mupdf
|
||||
nautilus
|
||||
wlr-randr
|
||||
calibre
|
||||
mpv
|
||||
youtube-dl
|
||||
mpd
|
||||
ncmpcpp
|
||||
icedove
|
||||
keepassxc
|
||||
nautilus
|
||||
pavucontrol
|
||||
wofi
|
||||
mako)
|
||||
pavucontrol)
|
||||
;; Emacs
|
||||
(list
|
||||
emacs-vterm
|
||||
@@ -190,55 +198,48 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
|
||||
|
||||
;; Files
|
||||
(list
|
||||
(simple-service 'sway-config
|
||||
(simple-service 'i3-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/sway/config"
|
||||
`("config/i3/config"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/sway/config")))))
|
||||
(simple-service 'waybar-config
|
||||
"/dotfiles/guix/home/files/i3/config")))))
|
||||
(simple-service 'i3status-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/waybar/config"
|
||||
`("config/i3status/config"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/waybar/config")))))
|
||||
(simple-service 'waybar-style-css
|
||||
"/dotfiles/guix/home/files/i3status/config")))))
|
||||
(simple-service 'picom-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/waybar/style.css"
|
||||
`("config/picom/picom.conf"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/waybar/style.css")))))
|
||||
(simple-service 'swaylock-config
|
||||
"/dotfiles/guix/home/files/picom/picom.conf")))))
|
||||
(simple-service 'dunst-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/swaylock/config"
|
||||
`("config/dunst/dunstrc"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/swaylock/config")))))
|
||||
(simple-service 'wofi-config
|
||||
"/dotfiles/guix/home/files/dunst/dunstrc")))))
|
||||
(simple-service 'rofi-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/wofi/config"
|
||||
`("config/rofi/config.rasi"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/wofi/config")))))
|
||||
(simple-service 'wofi-style-config
|
||||
"/dotfiles/guix/home/files/rofi/config.rasi")))))
|
||||
(simple-service 'xmodmap-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/wofi/style.css"
|
||||
`("config/xmodmap/xmodmap"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/wofi/style.css")))))
|
||||
(simple-service 'swaynag-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/swaynag/config"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/swaynag/config")))))
|
||||
"/dotfiles/guix/home/files/xmodmap/xmodmap")))))
|
||||
(simple-service 'user-dirs-config
|
||||
home-files-service-type
|
||||
(list
|
||||
@@ -260,15 +261,6 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/nyxt/init.lisp")))))
|
||||
|
||||
(simple-service 'dunst-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/dunst/dunstrc"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/dunst/dunstrc")))))
|
||||
|
||||
(simple-service 'mbsync-config
|
||||
home-files-service-type
|
||||
(list
|
||||
@@ -283,48 +275,40 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
|
||||
`("config/alacritty/alacritty.yml"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/alacritty/alacritty.yml")))))
|
||||
(simple-service 'gtk-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/gtk-3.0/settings.ini"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/gtk-3.0/settings.ini"))))))
|
||||
;; Daemons
|
||||
(list
|
||||
(service home-shepherd-service-type
|
||||
(home-shepherd-configuration
|
||||
(services
|
||||
(list
|
||||
(shepherd-service
|
||||
(provision '(emacs))
|
||||
(start #~(make-system-constructor "emacs --daemon"))
|
||||
(stop #~(make-system-constructor "emacsclient -e '(kill-emacs)'")))
|
||||
(shepherd-service
|
||||
(provision '(gnome-keyring-daemon))
|
||||
(start #~(make-system-contructor "gnome-keyring-daemon --daemonize "))
|
||||
(stop #~(make-system-contructor "pkill gnome-keyring-daemon")))))))))))
|
||||
"/dotfiles/guix/home/files/alacritty/alacritty.yml"))))))
|
||||
;; Daemons
|
||||
(list
|
||||
(service home-shepherd-service-type
|
||||
(home-shepherd-configuration
|
||||
(services
|
||||
(list
|
||||
(shepherd-service
|
||||
(provision '(emacs))
|
||||
(start #~(make-system-constructor "emacs --daemon"))
|
||||
(stop #~(make-system-constructor "emacsclient -e '(kill-emacs)'")))
|
||||
(shepherd-service
|
||||
(provision '(gnome-keyring-daemon))
|
||||
(start #~(make-system-contructor "gnome-keyring-daemon --daemonize "))
|
||||
(stop #~(make-system-contructor "pkill gnome-keyring-daemon")))))))))))
|
||||
#+end_src
|
||||
* System
|
||||
** Home
|
||||
#+begin_src scheme :tangle ~/dotfiles/guix/system/apollyon-laptop.scm :mkdirp yes
|
||||
** Apollyon
|
||||
#+begin_src scheme :tangle ~/dotfiles/guix/system/apollyon.scm :mkdirp yes
|
||||
(use-modules (gnu)
|
||||
(gnu services desktop)
|
||||
(gnu packages wm)
|
||||
(gnu packages shells)
|
||||
(gnu packages version-control)
|
||||
(gnu packages emacs)
|
||||
(gnu packages gnuzilla)
|
||||
(gnu packages vim)
|
||||
(gnu packages certs)
|
||||
(gnu packages file-systems)
|
||||
(gnu packages suckless)
|
||||
(gnu packages admin)
|
||||
(gnu packages linux)
|
||||
(gnu packages audio)
|
||||
(gnu packages pulseaudio)
|
||||
(gnu packages audio)
|
||||
(gnu packages linux)
|
||||
(gnu packages suckless)
|
||||
(gnu packages terminals)
|
||||
(gnu packages gnome)
|
||||
(gnu packages shells)
|
||||
(gnu packages emacs)
|
||||
(gnu system setuid)
|
||||
(nongnu packages linux))
|
||||
|
||||
@@ -333,62 +317,58 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
|
||||
desktop
|
||||
networking
|
||||
ssh
|
||||
;; sddm
|
||||
xorg)
|
||||
|
||||
(operating-system
|
||||
(kernel linux)
|
||||
(firmware (list linux-firmware))
|
||||
(firmware (list linux-firmware sof-firmware))
|
||||
(locale "en_US.utf8")
|
||||
(timezone "America/Los_Angeles")
|
||||
(keyboard-layout (keyboard-layout "us"))
|
||||
(host-name "borges")
|
||||
(host-name "apollyon")
|
||||
(setuid-programs
|
||||
(let ((from (lambda (package file)
|
||||
(setuid-program (program (file-append package file))))))
|
||||
(cons* (from light "/bin/light")
|
||||
(cons* (from i3status "/bin/i3status")
|
||||
(from network-manager "/bin/nmtui")
|
||||
(from sway "/bin/sway")
|
||||
(from swaylock "/bin/swaylock")
|
||||
%setuid-programs)))
|
||||
%setuid-programs)))
|
||||
(users (cons* (user-account
|
||||
(name "opal")
|
||||
(comment "opal")
|
||||
(group "users")
|
||||
(home-directory "/home/opal")
|
||||
(shell (file-append zsh "/bin/zsh"))
|
||||
(home-directory "/home/opal")
|
||||
(supplementary-groups
|
||||
'("wheel"
|
||||
"netdev"
|
||||
"audio"
|
||||
"video")))
|
||||
'("wheel" "netdev" "audio" "video")))
|
||||
%base-user-accounts))
|
||||
|
||||
(packages (append (list git
|
||||
network-manager
|
||||
icecat
|
||||
vim
|
||||
nss-certs
|
||||
exfat-utils
|
||||
emacs
|
||||
sway
|
||||
swaybg
|
||||
swaylock
|
||||
swayidle
|
||||
dmenu
|
||||
bluez
|
||||
bluez-alsa
|
||||
pulseaudio)
|
||||
%base-packages))
|
||||
(packages
|
||||
(append
|
||||
(list
|
||||
zsh
|
||||
emacs
|
||||
i3-gaps
|
||||
i3status
|
||||
git
|
||||
network-manager
|
||||
icecat
|
||||
emacs
|
||||
bluez
|
||||
bluez-alsa
|
||||
pulseaudio
|
||||
dmenu
|
||||
alacritty
|
||||
nss-certs)
|
||||
%base-packages))
|
||||
(services
|
||||
(cons*
|
||||
(service
|
||||
(modify-services %desktop-services
|
||||
(gdm-service-type config
|
||||
=> (gdm-configuration
|
||||
(inherit config)
|
||||
(wayland? #t)
|
||||
(debug? #t)))))))
|
||||
(append
|
||||
(list (service gnome-desktop-service-type)
|
||||
(service openssh-service-type)
|
||||
(service tor-service-type)
|
||||
(service cups-service-type)
|
||||
(set-xorg-configuration
|
||||
(xorg-configuration
|
||||
(keyboard-layout keyboard-layout))))
|
||||
%desktop-services))
|
||||
(bootloader
|
||||
(bootloader-configuration
|
||||
(bootloader grub-efi-bootloader)
|
||||
@@ -397,7 +377,7 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
|
||||
(mapped-devices
|
||||
(list (mapped-device
|
||||
(source
|
||||
(uuid "0eb58e93-c463-4d40-a819-4c9d594ed230"))
|
||||
(uuid "ceb0c15f-30b6-4d02-a7e9-96ddcd73c763"))
|
||||
(target "cryptroot")
|
||||
(type luks-device-mapping))))
|
||||
(file-systems
|
||||
@@ -408,7 +388,7 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
|
||||
(dependencies mapped-devices))
|
||||
(file-system
|
||||
(mount-point "/boot/efi")
|
||||
(device (uuid "2AFC-9172" 'fat32))
|
||||
(device (uuid "739C-796C" 'fat32))
|
||||
(type "vfat"))
|
||||
%base-file-systems)))
|
||||
#+end_src
|
||||
@@ -436,6 +416,119 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
|
||||
;; (wayland? #t)
|
||||
;; (debug? #t))))))
|
||||
#+end_src
|
||||
|
||||
** Work Laptop
|
||||
#+begin_src scheme :tangle ~/dotfiles/guix/system/work-laptop.scm :mkdirp yes
|
||||
(use-modules (gnu)
|
||||
(gnu services desktop)
|
||||
(gnu packages wm)
|
||||
(gnu system setuid)
|
||||
(gnu packages admin)
|
||||
(nongnu packages linux))
|
||||
|
||||
(use-service-modules
|
||||
cups
|
||||
desktop
|
||||
networking
|
||||
ssh
|
||||
sddm
|
||||
xorg)
|
||||
|
||||
(operating-system
|
||||
(kernel linux)
|
||||
(firmware (list linux-firmware))
|
||||
(locale "en_US.utf8")
|
||||
(timezone "America/Los_Angeles")
|
||||
(keyboard-layout (keyboard-layout "us"))
|
||||
(host-name "borges")
|
||||
(setuid-programs
|
||||
(cons (setuid-program
|
||||
(program (file-append swaylock "/bin/swaylock")))
|
||||
%setuid-programs))
|
||||
(users (cons* (user-account
|
||||
(name "opal")
|
||||
(comment "opal")
|
||||
(group "users")
|
||||
(home-directory "/home/opal")
|
||||
(supplementary-groups
|
||||
'("wheel"
|
||||
"netdev"
|
||||
"audio"
|
||||
"video")))
|
||||
%base-user-accounts))
|
||||
|
||||
(packages (append (list git
|
||||
wl-clipboard
|
||||
vim
|
||||
nss-certs
|
||||
stow
|
||||
exfat-utils
|
||||
emacs
|
||||
emacs-exwm
|
||||
sway
|
||||
swaybg
|
||||
swaylock
|
||||
swayidle
|
||||
polybar
|
||||
nyxt
|
||||
dmenu
|
||||
bluez
|
||||
bluez-alsa
|
||||
pulseaudio
|
||||
keepassxc
|
||||
font-fira-mono
|
||||
font-fira-sans
|
||||
font-fira-code
|
||||
gcc-toolchain))
|
||||
%base-packages)
|
||||
|
||||
(services
|
||||
(append (modify-services %desktop-services
|
||||
(gdm-service-type config
|
||||
= (gdm-configuration
|
||||
(inherit config)
|
||||
(wayland? #t)
|
||||
(debug? #t))))))
|
||||
;; (append (modify-services %desktop-services
|
||||
;; (delete gdm-service-type))
|
||||
;; (list (service sddm-service-type
|
||||
;; (sddm-configuration
|
||||
;; (display-server "wayland"))))))
|
||||
|
||||
(bootloader
|
||||
(bootloader-configuration
|
||||
(bootloader grub-efi-bootloader)
|
||||
(targets (list "/boot/efi"))
|
||||
(keyboard-layout keyboard-layout)))
|
||||
(mapped-devices
|
||||
(list (mapped-device
|
||||
(source
|
||||
(uuid "abe760e2-4ba5-4f43-81a2-1c3f16eb62a8"))
|
||||
(target "cryptroot")
|
||||
(type luks-device-mapping))))
|
||||
(file-systems
|
||||
(cons* (file-system
|
||||
(mount-point "/")
|
||||
(device "/dev/mapper/cryptroot")
|
||||
(type "btrfs")
|
||||
(dependencies mapped-devices))
|
||||
(file-system
|
||||
(mount-point "/boot/efi")
|
||||
(device (uuid "15B3-5DE5" 'fat32))
|
||||
(type "vfat"))
|
||||
%base-file-systems))
|
||||
|
||||
|
||||
;; (services (cons* ...
|
||||
;; (modify-services %desktop-services
|
||||
;; (gdm-service-type config
|
||||
;; =;;putabrackethere (gdm-configuration
|
||||
;; (inherit config)
|
||||
;; (wayland? #t)
|
||||
;; (debug? #t))))))
|
||||
#+end_src
|
||||
|
||||
* Archive
|
||||
** Home Desktop
|
||||
#+begin_src scheme :tangle ~/dotfiles/guix/system/home-desktop.scm :mkdirp yes
|
||||
(use-modules (gnu)
|
||||
@@ -557,114 +650,3 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
|
||||
|
||||
|
||||
#+end_src
|
||||
** Work Laptop
|
||||
#+begin_src scheme :tangle ~/dotfiles/guix/system/work-laptop.scm :mkdirp yes
|
||||
(use-modules (gnu)
|
||||
(gnu services desktop)
|
||||
(gnu packages wm)
|
||||
(gnu system setuid)
|
||||
(gnu packages admin)
|
||||
(nongnu packages linux))
|
||||
|
||||
(use-service-modules
|
||||
cups
|
||||
desktop
|
||||
networking
|
||||
ssh
|
||||
sddm
|
||||
xorg)
|
||||
|
||||
(operating-system
|
||||
(kernel linux)
|
||||
(firmware (list linux-firmware))
|
||||
(locale "en_US.utf8")
|
||||
(timezone "America/Los_Angeles")
|
||||
(keyboard-layout (keyboard-layout "us"))
|
||||
(host-name "borges")
|
||||
(setuid-programs
|
||||
(cons (setuid-program
|
||||
(program (file-append swaylock "/bin/swaylock")))
|
||||
%setuid-programs))
|
||||
(users (cons* (user-account
|
||||
(name "opal")
|
||||
(comment "opal")
|
||||
(group "users")
|
||||
(home-directory "/home/opal")
|
||||
(supplementary-groups
|
||||
'("wheel"
|
||||
"netdev"
|
||||
"audio"
|
||||
"video")))
|
||||
%base-user-accounts))
|
||||
|
||||
(packages (append (list git
|
||||
wl-clipboard
|
||||
vim
|
||||
nss-certs
|
||||
stow
|
||||
exfat-utils
|
||||
emacs
|
||||
emacs-exwm
|
||||
sway
|
||||
swaybg
|
||||
swaylock
|
||||
swayidle
|
||||
polybar
|
||||
nyxt
|
||||
dmenu
|
||||
bluez
|
||||
bluez-alsa
|
||||
pulseaudio
|
||||
keepassxc
|
||||
font-fira-mono
|
||||
font-fira-sans
|
||||
font-fira-code
|
||||
gcc-toolchain))
|
||||
%base-packages)
|
||||
|
||||
(services
|
||||
(append (modify-services %desktop-services
|
||||
(gdm-service-type config
|
||||
=> (gdm-configuration
|
||||
(inherit config)
|
||||
(wayland? #t)
|
||||
(debug? #t))))))
|
||||
;; (append (modify-services %desktop-services
|
||||
;; (delete gdm-service-type))
|
||||
;; (list (service sddm-service-type
|
||||
;; (sddm-configuration
|
||||
;; (display-server "wayland"))))))
|
||||
|
||||
(bootloader
|
||||
(bootloader-configuration
|
||||
(bootloader grub-efi-bootloader)
|
||||
(targets (list "/boot/efi"))
|
||||
(keyboard-layout keyboard-layout)))
|
||||
(mapped-devices
|
||||
(list (mapped-device
|
||||
(source
|
||||
(uuid "abe760e2-4ba5-4f43-81a2-1c3f16eb62a8"))
|
||||
(target "cryptroot")
|
||||
(type luks-device-mapping))))
|
||||
(file-systems
|
||||
(cons* (file-system
|
||||
(mount-point "/")
|
||||
(device "/dev/mapper/cryptroot")
|
||||
(type "btrfs")
|
||||
(dependencies mapped-devices))
|
||||
(file-system
|
||||
(mount-point "/boot/efi")
|
||||
(device (uuid "15B3-5DE5" 'fat32))
|
||||
(type "vfat"))
|
||||
%base-file-systems))))
|
||||
|
||||
|
||||
;; (services (cons* ...
|
||||
;; (modify-services %desktop-services
|
||||
;; (gdm-service-type config
|
||||
;; =;;putabrackethere (gdm-configuration
|
||||
;; (inherit config)
|
||||
;; (wayland? #t)
|
||||
;; (debug? #t))))))
|
||||
#+end_src
|
||||
|
||||
|
||||
@@ -16,4 +16,4 @@ font:
|
||||
bold_italic:
|
||||
family: inconsolata
|
||||
style: Bold Italic
|
||||
size: 16
|
||||
size: 12
|
||||
|
||||
+45
-427
@@ -1,434 +1,52 @@
|
||||
[global]
|
||||
### Display ###
|
||||
|
||||
# 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 window manager that exports the
|
||||
# _NET_ACTIVE_WINDOW property.
|
||||
# This should be the case for almost all modern window managers.
|
||||
#
|
||||
# If this option is set to mouse or keyboard, the monitor option
|
||||
# will be ignored.
|
||||
follow = none
|
||||
|
||||
### Geometry ###
|
||||
|
||||
# dynamic width from 0 to 300
|
||||
# width = (0, 300)
|
||||
# constant width of 300
|
||||
width = 300
|
||||
|
||||
# The maximum height of a single notification, excluding the frame.
|
||||
height = 300
|
||||
|
||||
# Position the notification in the top right corner
|
||||
origin = top-right
|
||||
|
||||
# Offset from the origin
|
||||
offset = 10x50
|
||||
|
||||
# Scale factor. It is auto-detected if value is 0.
|
||||
scale = 0
|
||||
|
||||
# Maximum number of notification (0 means no limit)
|
||||
notification_limit = 0
|
||||
|
||||
### Progress bar ###
|
||||
|
||||
# Turn on the progess bar. It appears when a progress hint is passed with
|
||||
# for example dunstify -h int:value:12
|
||||
progress_bar = true
|
||||
|
||||
# Set the progress bar height. This includes the frame, so make sure
|
||||
# it's at least twice as big as the frame width.
|
||||
progress_bar_height = 10
|
||||
|
||||
# Set the frame width of the progress bar
|
||||
progress_bar_frame_width = 1
|
||||
|
||||
# Set the minimum width for the progress bar
|
||||
progress_bar_min_width = 150
|
||||
|
||||
# Set the maximum width for the progress bar
|
||||
progress_bar_max_width = 300
|
||||
|
||||
|
||||
# Show how many messages are currently hidden (because of
|
||||
# notification_limit).
|
||||
indicate_hidden = yes
|
||||
|
||||
# The transparency of the window. Range: [0; 100].
|
||||
# This option will only work if a compositing window manager is
|
||||
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
|
||||
transparency = 0
|
||||
|
||||
# Draw a line of "separator_height" pixel height between two
|
||||
# notifications.
|
||||
# Set to 0 to disable.
|
||||
separator_height = 2
|
||||
|
||||
# Padding between text and separator.
|
||||
padding = 8
|
||||
|
||||
# Horizontal padding.
|
||||
horizontal_padding = 8
|
||||
|
||||
# Padding between text and icon.
|
||||
text_icon_padding = 0
|
||||
|
||||
# Defines width in pixels of frame around the notification window.
|
||||
# Set to 0 to disable.
|
||||
frame_width = 3
|
||||
|
||||
# Defines color of the frame around the notification window.
|
||||
frame_color = "#aaaaaa"
|
||||
|
||||
# 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 = frame
|
||||
|
||||
# Sort messages by urgency.
|
||||
sort = yes
|
||||
|
||||
# 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.
|
||||
# A client can set the 'transient' hint to bypass this. See the rules
|
||||
# section for how to disable this if necessary
|
||||
# idle_threshold = 120
|
||||
|
||||
### Text ###
|
||||
|
||||
font = Monospace 8
|
||||
|
||||
# The spacing between lines. If the height is smaller than the
|
||||
# font height, it will get raised to the font height.
|
||||
line_height = 0
|
||||
|
||||
# Possible values are:
|
||||
# full: Allow a small subset of html markup in notifications:
|
||||
# <b>bold</b>
|
||||
# <i>italic</i>
|
||||
# <s>strikethrough</s>
|
||||
# <u>underline</u>
|
||||
#
|
||||
# For a complete reference see
|
||||
# <https://docs.gtk.org/Pango/pango_markup.html>.
|
||||
#
|
||||
# strip: This setting is provided for compatibility with some broken
|
||||
# clients that send markup even though it's not enabled on the
|
||||
# server. Dunst will try to strip the markup but the parsing is
|
||||
# simplistic so using this option outside of matching rules for
|
||||
# specific applications *IS GREATLY DISCOURAGED*.
|
||||
#
|
||||
# no: Disable markup parsing, incoming notifications will be treated as
|
||||
# plain text. Dunst will not advertise that it has the body-markup
|
||||
# capability if this is set as a global setting.
|
||||
#
|
||||
# It's important to note that markup inside the format option will be parsed
|
||||
# regardless of what this is set to.
|
||||
markup = full
|
||||
|
||||
# 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
|
||||
# %n progress value if set without any extra characters
|
||||
# %% Literal %
|
||||
# Markup is allowed
|
||||
format = "<b>%s</b>\n%b"
|
||||
|
||||
# Alignment of message text.
|
||||
# Possible values are "left", "center" and "right".
|
||||
alignment = left
|
||||
|
||||
# Vertical alignment of message text and icon.
|
||||
# Possible values are "top", "center" and "bottom".
|
||||
vertical_alignment = center
|
||||
|
||||
# Show age of message if message is older than show_age_threshold
|
||||
# seconds.
|
||||
# Set to -1 to disable.
|
||||
show_age_threshold = 60
|
||||
|
||||
# Specify where to make an ellipsis in long lines.
|
||||
# Possible values are "start", "middle" and "end".
|
||||
ellipsize = middle
|
||||
|
||||
# Ignore newlines '\n' in notifications.
|
||||
ignore_newline = no
|
||||
|
||||
# Stack together notifications with the same content
|
||||
stack_duplicates = true
|
||||
|
||||
# Hide the count of stacked notifications with the same content
|
||||
hide_duplicate_count = false
|
||||
|
||||
# Display indicators for URLs (U) and actions (A).
|
||||
show_indicators = yes
|
||||
|
||||
### Icons ###
|
||||
|
||||
# Align icons left/right/off
|
||||
icon_position = left
|
||||
|
||||
# Scale small icons up to this size, set to 0 to disable. Helpful
|
||||
# for e.g. small files or high-dpi screens. In case of conflict,
|
||||
# max_icon_size takes precedence over this.
|
||||
min_icon_size = 0
|
||||
|
||||
# Scale larger icons down to this size, set to 0 to disable
|
||||
max_icon_size = 32
|
||||
|
||||
# Paths to default icons.
|
||||
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
||||
|
||||
### History ###
|
||||
|
||||
# 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
|
||||
|
||||
### Misc/Advanced ###
|
||||
|
||||
# dmenu path.
|
||||
dmenu = /usr/bin/dmenu -p dunst:
|
||||
|
||||
# Browser for opening urls in context menu.
|
||||
browser = /usr/bin/xdg-open
|
||||
|
||||
# Always run rule-defined scripts, even if the notification is suppressed
|
||||
always_run_script = true
|
||||
|
||||
# Define the title of the windows spawned by dunst
|
||||
title = Dunst
|
||||
|
||||
# Define the class of the windows spawned by dunst
|
||||
class = Dunst
|
||||
|
||||
# Define the corner radius of the notification window
|
||||
# in pixel size. If the radius is 0, you have no rounded
|
||||
# corners.
|
||||
# The radius will be automatically lowered if it exceeds half of the
|
||||
# notification height to avoid clipping text and/or icons.
|
||||
corner_radius = 0
|
||||
|
||||
# Ignore the dbus closeNotification message.
|
||||
# Useful to enforce the timeout set by dunst configuration. Without this
|
||||
# parameter, an application may close the notification sent before the
|
||||
# user defined timeout.
|
||||
ignore_dbusclose = false
|
||||
|
||||
### Wayland ###
|
||||
# These settings are Wayland-specific. They have no effect when using X11
|
||||
|
||||
# Uncomment this if you want to let notications appear under fullscreen
|
||||
# applications (default: overlay)
|
||||
# layer = top
|
||||
|
||||
# Set this to true to use X11 output on Wayland.
|
||||
force_xwayland = false
|
||||
|
||||
### Legacy
|
||||
|
||||
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||
# This setting is provided for compatibility with older nVidia drivers that
|
||||
# do not support RandR and using it on systems that support RandR is highly
|
||||
# discouraged.
|
||||
#
|
||||
# By enabling this setting dunst will not be able to detect when a monitor
|
||||
# is connected or disconnected which might break follow mode if the screen
|
||||
# layout changes.
|
||||
force_xinerama = false
|
||||
|
||||
### mouse
|
||||
|
||||
# Defines list of actions for each mouse event
|
||||
# Possible values are:
|
||||
# * none: Don't do anything.
|
||||
# * do_action: Invoke the action determined by the action_name rule. If there is no
|
||||
# such action, open the context menu.
|
||||
# * open_url: If the notification has exactly one url, open it. If there are multiple
|
||||
# ones, open the context menu.
|
||||
# * close_current: Close current notification.
|
||||
# * close_all: Close all notifications.
|
||||
# * context: Open context menu for the notification.
|
||||
# * context_all: Open context menu for all notifications.
|
||||
# These values can be strung together for each mouse event, and
|
||||
# will be executed in sequence.
|
||||
mouse_left_click = close_current
|
||||
mouse_middle_click = do_action, close_current
|
||||
mouse_right_click = close_all
|
||||
|
||||
# Experimental features that may or may not work correctly. Do not expect them
|
||||
# to have a consistent behaviour across releases.
|
||||
[experimental]
|
||||
# Calculate the dpi to use on a per-monitor basis.
|
||||
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||
# using the resolution and physical size. This might be useful in setups
|
||||
# where there are multiple screens with very different dpi values.
|
||||
per_monitor_dpi = false
|
||||
|
||||
monitor = 0
|
||||
follow = keyboard
|
||||
geometry = "250x50-24+24"
|
||||
indicate_hidden = yes
|
||||
shrink = no
|
||||
separator_height = 0
|
||||
padding = 16
|
||||
horizontal_padding = 24
|
||||
frame_width = 2
|
||||
sort = no
|
||||
idle_threshold = 120
|
||||
font = Noto Sans 8
|
||||
line_height = 4
|
||||
markup = full
|
||||
format = "<b>%s</b>\n%b"
|
||||
alignment = left
|
||||
show_age_threshold = 60
|
||||
word_wrap = yes
|
||||
ignore_newline = no
|
||||
stack_duplicates = false
|
||||
hide_duplicate_count = yes
|
||||
show_indicators = no
|
||||
icon_position = off
|
||||
sticky_history = yes
|
||||
history_length = 20
|
||||
browser = /usr/bin/icecat -new-tab
|
||||
always_run_script = true
|
||||
title = Dunst
|
||||
class = Dunst
|
||||
|
||||
[shortcuts]
|
||||
close = ctrl+space
|
||||
close_all = ctrl+shift+space
|
||||
history = ctrl+grave
|
||||
context = ctrl+shift+period
|
||||
|
||||
[urgency_low]
|
||||
# IMPORTANT: colors have to be defined in quotation marks.
|
||||
# Otherwise the "#" and following would be interpreted as a comment.
|
||||
background = "#222222"
|
||||
foreground = "#888888"
|
||||
timeout = 10
|
||||
# Icon for notifications with low urgency, uncomment to enable
|
||||
#default_icon = /path/to/icon
|
||||
background = "#2f343f"
|
||||
foreground = "#d8dee8"
|
||||
timeout = 2
|
||||
|
||||
[urgency_normal]
|
||||
background = "#285577"
|
||||
foreground = "#ffffff"
|
||||
timeout = 10
|
||||
# Icon for notifications with normal urgency, uncomment to enable
|
||||
#default_icon = /path/to/icon
|
||||
background = "#2f343f"
|
||||
foreground = "#d8dee8"
|
||||
timeout = 4
|
||||
|
||||
[urgency_critical]
|
||||
background = "#900000"
|
||||
foreground = "#ffffff"
|
||||
frame_color = "#ff0000"
|
||||
timeout = 0
|
||||
# Icon for notifications with critical urgency, uncomment to enable
|
||||
#default_icon = /path/to/icon
|
||||
|
||||
# Every section that isn't one of the above is interpreted as a rules to
|
||||
# override settings for certain messages.
|
||||
#
|
||||
# Messages can be matched by
|
||||
# appname (discouraged, see desktop_entry)
|
||||
# body
|
||||
# category
|
||||
# desktop_entry
|
||||
# icon
|
||||
# match_transient
|
||||
# msg_urgency
|
||||
# stack_tag
|
||||
# summary
|
||||
#
|
||||
# and you can override the
|
||||
# background
|
||||
# foreground
|
||||
# format
|
||||
# frame_color
|
||||
# fullscreen
|
||||
# new_icon
|
||||
# set_stack_tag
|
||||
# set_transient
|
||||
# set_category
|
||||
# timeout
|
||||
# urgency
|
||||
# skip_display
|
||||
# history_ignore
|
||||
# action_name
|
||||
# word_wrap
|
||||
# ellipsize
|
||||
# alignment
|
||||
#
|
||||
# Shell-like globbing will get expanded.
|
||||
#
|
||||
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
|
||||
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
||||
# the desktop-entry won't get localized.
|
||||
#
|
||||
# SCRIPTING
|
||||
# You can specify a script that gets run when the rule matches by
|
||||
# setting the "script" option.
|
||||
# The script will be called as follows:
|
||||
# script appname summary body icon urgency
|
||||
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||
#
|
||||
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||
# to find fitting options for rules.
|
||||
|
||||
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
||||
# client
|
||||
#[transient_disable]
|
||||
# match_transient = yes
|
||||
# set_transient = no
|
||||
#
|
||||
# Make the handling of transient notifications more strict by making them not
|
||||
# be placed in history.
|
||||
#[transient_history_ignore]
|
||||
# match_transient = yes
|
||||
# history_ignore = yes
|
||||
|
||||
# fullscreen values
|
||||
# show: show the notifications, regardless if there is a fullscreen window opened
|
||||
# delay: displays the new notification, if there is no fullscreen window active
|
||||
# If the notification is already drawn, it won't get undrawn.
|
||||
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
||||
# withdrawn from screen again and will get delayed like a new notification
|
||||
#[fullscreen_delay_everything]
|
||||
# fullscreen = delay
|
||||
#[fullscreen_show_critical]
|
||||
# msg_urgency = critical
|
||||
# fullscreen = show
|
||||
|
||||
#[espeak]
|
||||
# summary = "*"
|
||||
# script = dunst_espeak.sh
|
||||
|
||||
#[script-test]
|
||||
# summary = "*script*"
|
||||
# script = dunst_test.sh
|
||||
|
||||
#[ignore]
|
||||
# # This notification will not be displayed
|
||||
# summary = "foobar"
|
||||
# skip_display = true
|
||||
|
||||
#[history-ignore]
|
||||
# # This notification will not be saved in history
|
||||
# summary = "foobar"
|
||||
# history_ignore = yes
|
||||
|
||||
#[skip-display]
|
||||
# # This notification will not be displayed, but will be included in the history
|
||||
# summary = "foobar"
|
||||
# skip_display = yes
|
||||
|
||||
#[signed_on]
|
||||
# appname = Pidgin
|
||||
# summary = "*signed on*"
|
||||
# urgency = low
|
||||
#
|
||||
#[signed_off]
|
||||
# appname = Pidgin
|
||||
# summary = *signed off*
|
||||
# urgency = low
|
||||
#
|
||||
#[says]
|
||||
# appname = Pidgin
|
||||
# summary = *says*
|
||||
# urgency = critical
|
||||
#
|
||||
#[twitter]
|
||||
# appname = Pidgin
|
||||
# summary = *twitter.com*
|
||||
# urgency = normal
|
||||
#
|
||||
#[stack-volumes]
|
||||
# appname = "some_volume_notifiers"
|
||||
# set_stack_tag = "volume"
|
||||
#
|
||||
# vim: ft=cfg
|
||||
background = "#2f343f"
|
||||
foreground = "#d8dee8"
|
||||
frame_color = "#bf616a"
|
||||
timeout = 0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
[Settings]
|
||||
gtk-cursor-theme-name=Simp1e
|
||||
gtk-cursor-theme-name=
|
||||
gtk-theme-name=Arc-Dark
|
||||
gtk-font-name=Fira Sans Regular
|
||||
gtk-icon-theme-name=Papirus
|
||||
|
||||
@@ -0,0 +1,200 @@
|
||||
# Autostart
|
||||
# Background
|
||||
exec_always --no-startup-id feh --bg-scale ~/dotfiles/guix/home/files/wallpapers/fog-wallpaper.jpg
|
||||
|
||||
# Picom
|
||||
exec_always --no-startup-id picom &
|
||||
|
||||
# Turn Caps Lock into Escape because Caps Lock is useless unless you're a DB admin.
|
||||
exec_always --no-startup-id xmodmap ~/dotfiles/guix/home/files/xmodmap/xmodmap
|
||||
|
||||
# Set key repeat rate so text cursors move faster.
|
||||
exec_always --no-startup-id xset r rate 200 35
|
||||
|
||||
# Dunst
|
||||
exec_always --no-startup-id dunst
|
||||
|
||||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||
|
||||
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
||||
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
||||
exec --no-startup-id nm-applet
|
||||
|
||||
# i3 config file (v4)
|
||||
set $mod Mod4
|
||||
|
||||
# Title Bars
|
||||
for_window [class=".*"] border pixel 0
|
||||
|
||||
# Gaps
|
||||
smart_gaps on
|
||||
gaps inner 10
|
||||
gaps outer 10
|
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
font pango:Fira Code Regular 12
|
||||
|
||||
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||
#font pango:DejaVu Sans Mono 8
|
||||
|
||||
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
||||
# they are included here as an example. Modify as you see fit.
|
||||
|
||||
|
||||
# Use pactl to adjust volume in PulseAudio.
|
||||
set $refresh_i3status killall -SIGUSR1 i3status
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# Lock
|
||||
bindsym Control+Shift+e exec loginctl lock-session
|
||||
|
||||
# start a terminal
|
||||
bindsym $mod+Return exec alacritty
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# start dmenu (a program launcher)
|
||||
bindsym $mod+d exec rofi -show drun -columns 3 -theme ~/dotfiles/guix/home/files/rofi/config.rasi
|
||||
# There also is the (new) i3-dmenu-desktop which only displays applications
|
||||
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
|
||||
# installed.
|
||||
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
|
||||
|
||||
# change focus
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+l 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
|
||||
|
||||
# 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 toggle
|
||||
|
||||
# change container layout (stacked, tabbed, toggle split)
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# 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+a focus parent
|
||||
|
||||
# focus the child container
|
||||
#bindsym $mod+d focus child
|
||||
|
||||
# Define names for default workspaces for which we configure key bindings later on.
|
||||
# We use variables to avoid repeating the names in multiple places.
|
||||
set $ws1 "1"
|
||||
set $ws2 "2"
|
||||
set $ws3 "3"
|
||||
set $ws4 "4"
|
||||
set $ws5 "5"
|
||||
set $ws6 "6"
|
||||
set $ws7 "7"
|
||||
set $ws8 "8"
|
||||
set $ws9 "9"
|
||||
set $ws10 "10"
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace number $ws1
|
||||
bindsym $mod+2 workspace number $ws2
|
||||
bindsym $mod+3 workspace number $ws3
|
||||
bindsym $mod+4 workspace number $ws4
|
||||
bindsym $mod+5 workspace number $ws5
|
||||
bindsym $mod+6 workspace number $ws6
|
||||
bindsym $mod+7 workspace number $ws7
|
||||
bindsym $mod+8 workspace number $ws8
|
||||
bindsym $mod+9 workspace number $ws9
|
||||
bindsym $mod+0 workspace number $ws10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||
|
||||
# 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 exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
||||
|
||||
# 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 j resize shrink width 10 px or 10 ppt
|
||||
bindsym k resize grow height 10 px or 10 ppt
|
||||
bindsym l resize shrink height 10 px or 10 ppt
|
||||
bindsym semicolon resize grow width 10 px or 10 ppt
|
||||
|
||||
# same bindings, but for the arrow keys
|
||||
bindsym Left resize shrink width 10 px or 10 ppt
|
||||
bindsym Down resize grow height 10 px or 10 ppt
|
||||
bindsym Up resize shrink height 10 px or 10 ppt
|
||||
bindsym Right resize grow width 10 px or 10 ppt
|
||||
|
||||
# back to normal: Enter or Escape or $mod+r
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym $mod+r mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
# panel
|
||||
bar {
|
||||
colors {
|
||||
background #2f343f
|
||||
statusline #2f343f
|
||||
separator #4b5262
|
||||
|
||||
# colour of border, background, and text
|
||||
focused_workspace #2f343f #bf616a #d8dee8
|
||||
active_workspace #2f343f #2f343f #d8dee8
|
||||
inactive_workspace #2f343f #2f343f #d8dee8
|
||||
urgent_workspacei #2f343f #ebcb8b #2f343f
|
||||
}
|
||||
status_command i3status
|
||||
position top
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
general {
|
||||
output_format = "i3bar"
|
||||
colors = false
|
||||
markup = pango
|
||||
interval = 5
|
||||
color_good = '#2f343f'
|
||||
color_degraded = '#ebcb8b'
|
||||
color_bad = '#ba5e57'
|
||||
}
|
||||
|
||||
order += "load"
|
||||
order += "cpu_temperature 0"
|
||||
order += "disk /"
|
||||
order += "disk /home"
|
||||
order += "ethernet enp1s0"
|
||||
order += "wireless wlp2s0"
|
||||
order += "volume master"
|
||||
order += "battery 1"
|
||||
order += "tztime local"
|
||||
|
||||
load {
|
||||
format = "<span background='#f59335'> %5min Load </span>"
|
||||
}
|
||||
|
||||
cpu_temperature 0 {
|
||||
format = "<span background='#bf616a'> %degrees °C </span>"
|
||||
path = "/sys/class/thermal/thermal_zone0/temp"
|
||||
}
|
||||
|
||||
disk "/" {
|
||||
format = "<span background='#fec7cd'> %free Free </span>"
|
||||
}
|
||||
|
||||
disk "/home" {
|
||||
format = "<span background='#a1d569'> %free Free </span>"
|
||||
}
|
||||
|
||||
ethernet enp0s13f0u2u3 {
|
||||
format_up = "<span background='#88c0d0'> %ip </span>"
|
||||
format_down = "<span background='#88c0d0'> Disconnected </span>"
|
||||
}
|
||||
|
||||
wireless wlp0s20f3 {
|
||||
format_up = "<span background='#b48ead'> %essid </span>"
|
||||
format_down = "<span background='#b48ead'> Disconnected </span>"
|
||||
}
|
||||
|
||||
volume master {
|
||||
format = "<span background='#ebcb8b'> %volume </span>"
|
||||
format_muted = "<span background='#ebcb8b'> Muted </span>"
|
||||
device = "default"
|
||||
mixer = "Master"
|
||||
mixer_idx = 0
|
||||
}
|
||||
|
||||
battery 1 {
|
||||
last_full_capacity = true
|
||||
format = "<span background='#a3be8c'> %status %percentage </span>"
|
||||
format_down = "No Battery"
|
||||
status_chr = "Charging"
|
||||
status_bat = "Battery"
|
||||
status_unk = "Unknown"
|
||||
status_full = "Charged"
|
||||
path = "/sys/class/power_supply/BAT%d/uevent"
|
||||
low_threshold = 10
|
||||
}
|
||||
|
||||
tztime local {
|
||||
format = "<span background='#81a1c1'> %time </span>"
|
||||
format_time = " %a %-d %b %H:%M"
|
||||
}
|
||||
@@ -0,0 +1,419 @@
|
||||
#################################
|
||||
# Shadows #
|
||||
#################################
|
||||
|
||||
|
||||
# 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 = false
|
||||
shadow = true;
|
||||
|
||||
# The blur radius for shadows, in pixels. (defaults to 12)
|
||||
# shadow-radius = 12
|
||||
shadow-radius = 7;
|
||||
|
||||
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
|
||||
# shadow-opacity = .75
|
||||
|
||||
# The left offset for shadows, in pixels. (defaults to -15)
|
||||
# shadow-offset-x = -15
|
||||
shadow-offset-x = -7;
|
||||
|
||||
# The top offset for shadows, in pixels. (defaults to -15)
|
||||
# shadow-offset-y = -15
|
||||
shadow-offset-y = -7;
|
||||
|
||||
# Red color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-red = 0
|
||||
|
||||
# Green color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-green = 0
|
||||
|
||||
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-blue = 0
|
||||
|
||||
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
|
||||
# shadow-color = "#000000"
|
||||
|
||||
# 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'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
|
||||
# clip-shadow-above = []
|
||||
|
||||
# Specify a X geometry that describes the region in which shadow should not
|
||||
# be painted in, such as a dock window region. Use
|
||||
# shadow-exclude-reg = "x10+0+0"
|
||||
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
|
||||
#
|
||||
# shadow-exclude-reg = ""
|
||||
|
||||
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
|
||||
# xinerama-shadow-crop = false
|
||||
|
||||
|
||||
#################################
|
||||
# Fading #
|
||||
#################################
|
||||
|
||||
|
||||
# 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.03;
|
||||
|
||||
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
||||
# fade-out-step = 0.03
|
||||
fade-out-step = 0.03;
|
||||
|
||||
# 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.
|
||||
# fade-exclude = []
|
||||
|
||||
# Do not fade on window open/close.
|
||||
# no-fading-openclose = false
|
||||
|
||||
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
|
||||
# no-fading-destroyed-argb = false
|
||||
|
||||
|
||||
#################################
|
||||
# Transparency / Opacity #
|
||||
#################################
|
||||
|
||||
|
||||
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
|
||||
# inactive-opacity = 1
|
||||
inactive-opacity = 0.8;
|
||||
|
||||
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
|
||||
# frame-opacity = 1.0
|
||||
frame-opacity = 0.7;
|
||||
|
||||
# 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 never be considered focused.
|
||||
# focus-exclude = []
|
||||
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
||||
|
||||
# Use fixed inactive dim value, instead of adjusting according to window opacity.
|
||||
# inactive-dim-fixed = 1.0
|
||||
|
||||
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
|
||||
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
|
||||
# Note we don't make any guarantee about possible conflicts with other
|
||||
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
|
||||
# example:
|
||||
# opacity-rule = [ "80:class_g = 'URxvt'" ];
|
||||
#
|
||||
# opacity-rule = []
|
||||
|
||||
|
||||
#################################
|
||||
# Corners #
|
||||
#################################
|
||||
|
||||
# Sets the radius of rounded window corners. When > 0, the compositor will
|
||||
# round the corners of windows. Does not interact well with
|
||||
# `transparent-clipping`.
|
||||
corner-radius = 0
|
||||
|
||||
# Exclude conditions for rounded corners.
|
||||
rounded-corners-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'"
|
||||
];
|
||||
|
||||
|
||||
#################################
|
||||
# Background-Blurring #
|
||||
#################################
|
||||
|
||||
|
||||
# Parameters for background blurring, see the *BLUR* section for more information.
|
||||
# blur-method =
|
||||
# blur-size = 12
|
||||
#
|
||||
# blur-deviation = false
|
||||
#
|
||||
# blur-strength = 5
|
||||
|
||||
# Blur background of semi-transparent / ARGB windows.
|
||||
# Bad in performance, with driver-dependent behavior.
|
||||
# The name of the switch may change without prior notifications.
|
||||
#
|
||||
# blur-background = false
|
||||
|
||||
# Blur background of windows when the window frame is not opaque.
|
||||
# Implies:
|
||||
# blur-background
|
||||
# Bad in performance, with driver-dependent behavior. The name may change.
|
||||
#
|
||||
# blur-background-frame = false
|
||||
|
||||
|
||||
# Use fixed blur strength rather than adjusting according to window opacity.
|
||||
# blur-background-fixed = false
|
||||
|
||||
|
||||
# Specify the blur convolution kernel, with the following format:
|
||||
# example:
|
||||
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
|
||||
#
|
||||
# blur-kern = ""
|
||||
blur-kern = "3x3box";
|
||||
|
||||
|
||||
# Exclude conditions for background blur.
|
||||
# blur-background-exclude = []
|
||||
blur-background-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
#################################
|
||||
# General Settings #
|
||||
#################################
|
||||
|
||||
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
|
||||
# daemon = false
|
||||
|
||||
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
|
||||
# `xrender` is the default one.
|
||||
#
|
||||
# backend = "glx"
|
||||
backend = "xrender";
|
||||
|
||||
# Enable/disable VSync.
|
||||
# vsync = false
|
||||
vsync = true;
|
||||
|
||||
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
|
||||
# dbus = false
|
||||
|
||||
# Try to detect WM windows (a non-override-redirect window with no
|
||||
# child that has 'WM_STATE') and mark them as active.
|
||||
#
|
||||
# mark-wmwin-focused = false
|
||||
mark-wmwin-focused = true;
|
||||
|
||||
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
|
||||
# mark-ovredir-focused = false
|
||||
mark-ovredir-focused = true;
|
||||
|
||||
# Try to detect windows with rounded corners and don't consider them
|
||||
# shaped windows. The accuracy is not very high, unfortunately.
|
||||
#
|
||||
# detect-rounded-corners = false
|
||||
detect-rounded-corners = true;
|
||||
|
||||
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
|
||||
# not passing '_NET_WM_OPACITY' of client windows to frame windows.
|
||||
#
|
||||
# detect-client-opacity = false
|
||||
detect-client-opacity = true;
|
||||
|
||||
# Specify refresh rate of the screen. If not specified or 0, picom will
|
||||
# try detecting this with X RandR extension.
|
||||
#
|
||||
# refresh-rate = 60
|
||||
refresh-rate = 0;
|
||||
|
||||
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
|
||||
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
|
||||
# provided that the WM supports it.
|
||||
#
|
||||
# use-ewmh-active-win = false
|
||||
|
||||
# Unredirect all windows if a full-screen opaque window is detected,
|
||||
# to maximize performance for full-screen windows. Known to cause flickering
|
||||
# when redirecting/unredirecting windows.
|
||||
#
|
||||
# unredir-if-possible = false
|
||||
|
||||
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
|
||||
# unredir-if-possible-delay = 0
|
||||
|
||||
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
|
||||
# unredir-if-possible-exclude = []
|
||||
|
||||
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
|
||||
# in the same group focused at the same time.
|
||||
#
|
||||
# detect-transient = false
|
||||
detect-transient = true;
|
||||
|
||||
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
|
||||
# group focused at the same time. This usually means windows from the same application
|
||||
# will be considered focused or unfocused at the same time.
|
||||
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
|
||||
#
|
||||
# detect-client-leader = false
|
||||
|
||||
# Resize damaged region by a specific number of pixels.
|
||||
# A positive value enlarges it while a negative one shrinks it.
|
||||
# If the value is positive, those additional pixels will not be actually painted
|
||||
# to screen, only used in blur calculation, and such. (Due to technical limitations,
|
||||
# with use-damage, those pixels will still be incorrectly painted to screen.)
|
||||
# Primarily used to fix the line corruption issues of blur,
|
||||
# in which case you should use the blur radius value here
|
||||
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
|
||||
# with a 5x5 one you use `--resize-damage 2`, and so on).
|
||||
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
|
||||
#
|
||||
# resize-damage = 1
|
||||
|
||||
# Specify a list of conditions of windows that should be painted with inverted color.
|
||||
# Resource-hogging, and is not well tested.
|
||||
#
|
||||
# invert-color-include = []
|
||||
|
||||
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
|
||||
# Might cause incorrect opacity when rendering transparent content (but never
|
||||
# practically happened) and may not work with blur-background.
|
||||
# My tests show a 15% performance boost. Recommended.
|
||||
#
|
||||
# glx-no-stencil = false
|
||||
|
||||
# GLX backend: Avoid rebinding pixmap on window damage.
|
||||
# Probably could improve performance on rapid window content changes,
|
||||
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
|
||||
# Recommended if it works.
|
||||
#
|
||||
# glx-no-rebind-pixmap = false
|
||||
|
||||
# Disable the use of damage information.
|
||||
# This cause the whole screen to be redrawn everytime, instead of the part of the screen
|
||||
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
|
||||
# The opposing option is use-damage
|
||||
#
|
||||
# no-use-damage = false
|
||||
use-damage = true;
|
||||
|
||||
# Use X Sync fence to sync clients' draw calls, to make sure all draw
|
||||
# calls are finished before picom starts drawing. Needed on nvidia-drivers
|
||||
# with GLX backend for some users.
|
||||
#
|
||||
# xrender-sync-fence = false
|
||||
|
||||
# GLX backend: Use specified GLSL fragment shader for rendering window contents.
|
||||
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
|
||||
# in the source tree for examples.
|
||||
#
|
||||
# glx-fshader-win = ""
|
||||
|
||||
# Force all windows to be painted with blending. Useful if you
|
||||
# have a glx-fshader-win that could turn opaque pixels transparent.
|
||||
#
|
||||
# force-win-blend = false
|
||||
|
||||
# Do not use EWMH to detect fullscreen windows.
|
||||
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
|
||||
#
|
||||
# no-ewmh-fullscreen = false
|
||||
|
||||
# Dimming bright windows so their brightness doesn't exceed this set value.
|
||||
# Brightness of a window is estimated by averaging all pixels in the window,
|
||||
# so this could comes with a performance hit.
|
||||
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
|
||||
#
|
||||
# max-brightness = 1.0
|
||||
|
||||
# Make transparent windows clip other windows like non-transparent windows do,
|
||||
# instead of blending on top of them.
|
||||
#
|
||||
# transparent-clipping = false
|
||||
|
||||
# Set the log level. Possible values are:
|
||||
# "trace", "debug", "info", "warn", "error"
|
||||
# in increasing level of importance. Case doesn't matter.
|
||||
# If using the "TRACE" log level, it's better to log into a file
|
||||
# using *--log-file*, since it can generate a huge stream of logs.
|
||||
#
|
||||
# log-level = "debug"
|
||||
log-level = "warn";
|
||||
|
||||
# Set the log file.
|
||||
# If *--log-file* is never specified, logs will be written to stderr.
|
||||
# Otherwise, logs will to written to the given file, though some of the early
|
||||
# logs might still be written to the stderr.
|
||||
# When setting this option from the config file, it is recommended to use an absolute path.
|
||||
#
|
||||
# log-file = "/path/to/your/log/file"
|
||||
|
||||
# Show all X errors (for debugging)
|
||||
# show-all-xerrors = false
|
||||
|
||||
# Write process ID to a file.
|
||||
# write-pid-path = "/path/to/your/log/file"
|
||||
|
||||
# Window type settings
|
||||
#
|
||||
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
|
||||
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
|
||||
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
|
||||
# "tooltip", "notification", "combo", and "dnd".
|
||||
#
|
||||
# Following per window-type options are available: ::
|
||||
#
|
||||
# fade, shadow:::
|
||||
# Controls window-type-specific shadow and fade settings.
|
||||
#
|
||||
# opacity:::
|
||||
# Controls default opacity of the window type.
|
||||
#
|
||||
# focus:::
|
||||
# Controls whether the window of this type is to be always considered focused.
|
||||
# (By default, all window types except "normal" and "dialog" has this on.)
|
||||
#
|
||||
# full-shadow:::
|
||||
# Controls whether shadow is drawn under the parts of the window that you
|
||||
# normally won't be able to see. Useful when the window has parts of it
|
||||
# transparent, and you want shadows in those areas.
|
||||
#
|
||||
# clip-shadow-above:::
|
||||
# Controls wether shadows that would have been drawn above the window should
|
||||
# be clipped. Useful for dock windows that should have no shadow painted on top.
|
||||
#
|
||||
# redir-ignore:::
|
||||
# Controls whether this type of windows should cause screen to become
|
||||
# redirected again after been unredirected. If you have unredir-if-possible
|
||||
# set, and doesn't want certain window to cause unnecessary screen redirection,
|
||||
# you can set this to `true`.
|
||||
#
|
||||
wintypes:
|
||||
{
|
||||
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
|
||||
dock = { shadow = false; clip-shadow-above = true; }
|
||||
dnd = { shadow = false; }
|
||||
popup_menu = { opacity = 0.8; }
|
||||
dropdown_menu = { opacity = 0.8; }
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
configuration {
|
||||
modi: "drun";
|
||||
font: "Fira Code Regular 10";
|
||||
show-icons: true;
|
||||
icon-theme: "Reversal-dark";
|
||||
display-drun: "";
|
||||
drun-display-format: "{name}";
|
||||
sidebar-mode: false;
|
||||
}
|
||||
|
||||
@theme "/dev/null"
|
||||
|
||||
* {
|
||||
bg: #151515;
|
||||
fg: #e8e8d3;
|
||||
accent: #687363;
|
||||
button: #1c1c1c;
|
||||
|
||||
background-color: @bg;
|
||||
text-color: @fg;
|
||||
}
|
||||
|
||||
window {
|
||||
border-radius: 7px;
|
||||
width: 50%;
|
||||
padding: 32px;
|
||||
}
|
||||
|
||||
prompt {
|
||||
background-color: @button;
|
||||
enabled: true;
|
||||
padding: 0.5% 32px 0% -0.5%;
|
||||
font: "Rubik 10";
|
||||
}
|
||||
|
||||
entry {
|
||||
placeholder: "Search";
|
||||
background-color: @button;
|
||||
placeholder-color: @fg;
|
||||
expand: true;
|
||||
padding: 0.15% 0% 0% 0%;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
children: [ prompt, entry ];
|
||||
background-color: @button;
|
||||
expand: false;
|
||||
border-radius: 6px;
|
||||
margin: 0%;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
listview {
|
||||
columns: 4;
|
||||
lines: 3;
|
||||
cycle: false;
|
||||
dynamic: true;
|
||||
layout: vertical;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
children: [ inputbar, listview ];
|
||||
spacing: 2%;
|
||||
padding: 2% 1% 2% 1%;
|
||||
}
|
||||
|
||||
element {
|
||||
orientation: vertical;
|
||||
padding: 2% 0% 2% 0%;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 48px;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
element-text {
|
||||
expand: true;
|
||||
horizontal-align: 0.5;
|
||||
vertical-align: 0.5;
|
||||
margin: 0.5% 0.5% -0.5% 0.5%;
|
||||
}
|
||||
|
||||
element-text, element-icon {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @button;
|
||||
border-radius: 6px;
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
\ast {
|
||||
base00: #263238;
|
||||
base01: #2E3C43;
|
||||
base02: #314549;
|
||||
base03: #546E7A;
|
||||
base04: #B2CCD6;
|
||||
base05: #EEFFFF;
|
||||
base06: #EEFFFF;
|
||||
base07: #FFFFFF;
|
||||
base08: #F07178;
|
||||
base09: #F78C6C;
|
||||
base0A: #FFCB6B;
|
||||
base0B: #C3E88D;
|
||||
base0C: #89DDFF;
|
||||
base0D: #82AAFF;
|
||||
base0E: #C792EA;
|
||||
base0F: #FF5370;
|
||||
|
||||
/*base0D: #00BCD4;*/
|
||||
|
||||
spacing: 0;
|
||||
background-color: transparent;
|
||||
|
||||
font: "Fira Code Regular 12";
|
||||
}
|
||||
|
||||
window {
|
||||
transparency: "real";
|
||||
/*fullscreen: true;*/
|
||||
background-color: #263238CC; /*base00 + CC (80% opacity)*/
|
||||
}
|
||||
|
||||
mainbox {
|
||||
children: [inputbar, message, mode-switcher, listview];
|
||||
spacing: 30px;
|
||||
/*margin: 20%;*/
|
||||
padding: 30px 0;
|
||||
border: 1px;
|
||||
border-color: @base0D;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
padding: 0 30px;
|
||||
children: [prompt, textbox-prompt-colon, entry, case-indicator];
|
||||
}
|
||||
|
||||
prompt {
|
||||
text-color: @base0D;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: ":";
|
||||
margin: 0 1ch 0 0;
|
||||
text-color: @base0D;
|
||||
}
|
||||
|
||||
entry {
|
||||
text-color: @base07;
|
||||
}
|
||||
|
||||
case-indicator {
|
||||
text-color: @base0F;
|
||||
}
|
||||
|
||||
mode-switcher, message {
|
||||
border: 1px 0;
|
||||
border-color: @base0D;
|
||||
}
|
||||
|
||||
button, textbox {
|
||||
background-color: @base03;
|
||||
text-color: @base07;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
button selected {
|
||||
background-color: @base0D;
|
||||
}
|
||||
|
||||
listview {
|
||||
scrollbar: true;
|
||||
margin: 0 10px 0 30px;
|
||||
}
|
||||
|
||||
scrollbar {
|
||||
background-color: @base03;
|
||||
handle-color: @base0D;
|
||||
handle-width: 10px;
|
||||
border: 0 1px;
|
||||
border-color: @base0D;
|
||||
margin: 0 0 0 20px;
|
||||
}
|
||||
|
||||
element {
|
||||
padding: 5px;
|
||||
highlight: bold underline;
|
||||
}
|
||||
|
||||
element normal {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @base0D;
|
||||
}
|
||||
|
||||
element alternate {
|
||||
/*background-color: @base03;*/
|
||||
}
|
||||
|
||||
element normal normal, element selected normal, element alternate normal {
|
||||
text-color: @base07;
|
||||
}
|
||||
|
||||
element normal urgent, element selected urgent, element alternate urgent {
|
||||
text-color: @base0F;
|
||||
}
|
||||
|
||||
element normal active, element selected active, element alternate active {
|
||||
text-color: @base0B;
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
/*
|
||||
* ROFI color theme
|
||||
*
|
||||
* Based on Base16 Material Color Scheme (https://github.com/ntpeters/base16-materialtheme-scheme)
|
||||
*
|
||||
* User: Tomaszal
|
||||
* Copyright: Tomas Zaluckij
|
||||
*/
|
||||
|
||||
\* {
|
||||
base00: #263238;
|
||||
base01: #2E3C43;
|
||||
base02: #314549;
|
||||
base03: #546E7A;
|
||||
base04: #B2CCD6;
|
||||
base05: #EEFFFF;
|
||||
base06: #EEFFFF;
|
||||
base07: #FFFFFF;
|
||||
base08: #F07178;
|
||||
base09: #F78C6C;
|
||||
base0A: #FFCB6B;
|
||||
base0B: #C3E88D;
|
||||
base0C: #89DDFF;
|
||||
base0D: #82AAFF;
|
||||
base0E: #C792EA;
|
||||
base0F: #FF5370;
|
||||
|
||||
/*base0D: #00BCD4;*/
|
||||
|
||||
spacing: 0;
|
||||
background-color: transparent;
|
||||
|
||||
font: "Fira Code Regular 12";
|
||||
}
|
||||
|
||||
window {
|
||||
transparency: "real";
|
||||
/*fullscreen: true;*/
|
||||
background-color: #263238CC; /*base00 + CC (80% opacity)*/
|
||||
}
|
||||
|
||||
mainbox {
|
||||
children: [inputbar, message, mode-switcher, listview];
|
||||
spacing: 30px;
|
||||
/*margin: 20%;*/
|
||||
padding: 30px 0;
|
||||
border: 1px;
|
||||
border-color: @base0D;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
padding: 0 30px;
|
||||
children: [prompt, textbox-prompt-colon, entry, case-indicator];
|
||||
}
|
||||
|
||||
prompt {
|
||||
text-color: @base0D;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: ":";
|
||||
margin: 0 1ch 0 0;
|
||||
text-color: @base0D;
|
||||
}
|
||||
|
||||
entry {
|
||||
text-color: @base07;
|
||||
}
|
||||
|
||||
case-indicator {
|
||||
text-color: @base0F;
|
||||
}
|
||||
|
||||
mode-switcher, message {
|
||||
border: 1px 0;
|
||||
border-color: @base0D;
|
||||
}
|
||||
|
||||
button, textbox {
|
||||
background-color: @base03;
|
||||
text-color: @base07;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
button selected {
|
||||
background-color: @base0D;
|
||||
}
|
||||
|
||||
listview {
|
||||
scrollbar: true;
|
||||
margin: 0 10px 0 30px;
|
||||
}
|
||||
|
||||
scrollbar {
|
||||
background-color: @base03;
|
||||
handle-color: @base0D;
|
||||
handle-width: 10px;
|
||||
border: 0 1px;
|
||||
border-color: @base0D;
|
||||
margin: 0 0 0 20px;
|
||||
}
|
||||
|
||||
element {
|
||||
padding: 5px;
|
||||
highlight: bold underline;
|
||||
}
|
||||
|
||||
element normal {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @base0D;
|
||||
}
|
||||
|
||||
element alternate {
|
||||
/*background-color: @base03;*/
|
||||
}
|
||||
|
||||
element normal normal, element selected normal, element alternate normal {
|
||||
text-color: @base07;
|
||||
}
|
||||
|
||||
element normal urgent, element selected urgent, element alternate urgent {
|
||||
text-color: @base0F;
|
||||
}
|
||||
|
||||
element normal active, element selected active, element alternate active {
|
||||
text-color: @base0B;
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
clear Lock
|
||||
keycode 0x42 = Escape
|
||||
@@ -13,3 +13,4 @@ export XDG_STATE_HOME=~/.config/zsh
|
||||
export EDITOR=nvim
|
||||
export VISUAL=nvim
|
||||
GUIX_PROFILE="$HOME/.config/guix/current" . "$GUIX_PROFILE/etc/profile"
|
||||
xmodmap ~/.config/xmodmap/xmodmap
|
||||
|
||||
+52
-67
@@ -15,6 +15,9 @@
|
||||
(gnu packages curl)
|
||||
(gnu packages pdf)
|
||||
(gnu packages ebook)
|
||||
(gnu packages compton)
|
||||
(gnu packages dunst)
|
||||
(gnu packages image-viewers)
|
||||
(gnu packages gnome)
|
||||
(gnu packages gnome-xyz)
|
||||
(gnu packages compression)
|
||||
@@ -38,16 +41,27 @@
|
||||
(gnu packages wm)
|
||||
(gnu packages music)
|
||||
(gnu packages base)
|
||||
(gnu packages xorg)
|
||||
(gnu services)
|
||||
(guix gexp))
|
||||
|
||||
(home-environment
|
||||
(packages
|
||||
(append
|
||||
(list
|
||||
;; Interfacing
|
||||
xclip
|
||||
polybar
|
||||
playerctl
|
||||
xbacklight
|
||||
xmodmap
|
||||
rofi
|
||||
dunst
|
||||
arandr
|
||||
feh
|
||||
picom)
|
||||
;; Tools/Libraries
|
||||
(list
|
||||
light
|
||||
zsh
|
||||
wget
|
||||
curl
|
||||
cmake
|
||||
@@ -59,8 +73,6 @@
|
||||
gst-plugins-good
|
||||
gst-plugins-ugly
|
||||
gst-libav
|
||||
wl-clipboard
|
||||
waybar
|
||||
playerctl
|
||||
gnu-make)
|
||||
;; Applications
|
||||
@@ -68,17 +80,13 @@
|
||||
alacritty
|
||||
nyxt
|
||||
zathura-pdf-mupdf
|
||||
nautilus
|
||||
wlr-randr
|
||||
calibre
|
||||
mpv
|
||||
youtube-dl
|
||||
mpd
|
||||
ncmpcpp
|
||||
icedove
|
||||
keepassxc
|
||||
nautilus
|
||||
pavucontrol
|
||||
wofi
|
||||
mako)
|
||||
pavucontrol)
|
||||
;; Emacs
|
||||
(list
|
||||
emacs-vterm
|
||||
@@ -163,55 +171,48 @@
|
||||
|
||||
;; Files
|
||||
(list
|
||||
(simple-service 'sway-config
|
||||
(simple-service 'i3-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/sway/config"
|
||||
`("config/i3/config"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/sway/config")))))
|
||||
(simple-service 'waybar-config
|
||||
"/dotfiles/guix/home/files/i3/config")))))
|
||||
(simple-service 'i3status-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/waybar/config"
|
||||
`("config/i3status/config"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/waybar/config")))))
|
||||
(simple-service 'waybar-style-css
|
||||
"/dotfiles/guix/home/files/i3status/config")))))
|
||||
(simple-service 'picom-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/waybar/style.css"
|
||||
`("config/picom/picom.conf"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/waybar/style.css")))))
|
||||
(simple-service 'swaylock-config
|
||||
"/dotfiles/guix/home/files/picom/picom.conf")))))
|
||||
(simple-service 'dunst-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/swaylock/config"
|
||||
`("config/dunst/dunstrc"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/swaylock/config")))))
|
||||
(simple-service 'wofi-config
|
||||
"/dotfiles/guix/home/files/dunst/dunstrc")))))
|
||||
(simple-service 'rofi-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/wofi/config"
|
||||
`("config/rofi/config.rasi"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/wofi/config")))))
|
||||
(simple-service 'wofi-style-config
|
||||
"/dotfiles/guix/home/files/rofi/config.rasi")))))
|
||||
(simple-service 'xmodmap-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/wofi/style.css"
|
||||
`("config/xmodmap/xmodmap"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/wofi/style.css")))))
|
||||
(simple-service 'swaynag-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/swaynag/config"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/swaynag/config")))))
|
||||
"/dotfiles/guix/home/files/xmodmap/xmodmap")))))
|
||||
(simple-service 'user-dirs-config
|
||||
home-files-service-type
|
||||
(list
|
||||
@@ -233,15 +234,6 @@
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/nyxt/init.lisp")))))
|
||||
|
||||
(simple-service 'dunst-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/dunst/dunstrc"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/dunst/dunstrc")))))
|
||||
|
||||
(simple-service 'mbsync-config
|
||||
home-files-service-type
|
||||
(list
|
||||
@@ -256,25 +248,18 @@
|
||||
`("config/alacritty/alacritty.yml"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/alacritty/alacritty.yml")))))
|
||||
(simple-service 'gtk-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/gtk-3.0/settings.ini"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/gtk-3.0/settings.ini"))))))
|
||||
;; Daemons
|
||||
(list
|
||||
(service home-shepherd-service-type
|
||||
(home-shepherd-configuration
|
||||
(services
|
||||
(list
|
||||
(shepherd-service
|
||||
(provision '(emacs))
|
||||
(start #~(make-system-constructor "emacs --daemon"))
|
||||
(stop #~(make-system-constructor "emacsclient -e '(kill-emacs)'")))
|
||||
(shepherd-service
|
||||
(provision '(gnome-keyring-daemon))
|
||||
(start #~(make-system-contructor "gnome-keyring-daemon --daemonize "))
|
||||
(stop #~(make-system-contructor "pkill gnome-keyring-daemon")))))))))))
|
||||
"/dotfiles/guix/home/files/alacritty/alacritty.yml"))))))
|
||||
;; Daemons
|
||||
(list
|
||||
(service home-shepherd-service-type
|
||||
(home-shepherd-configuration
|
||||
(services
|
||||
(list
|
||||
(shepherd-service
|
||||
(provision '(emacs))
|
||||
(start #~(make-system-constructor "emacs --daemon"))
|
||||
(stop #~(make-system-constructor "emacsclient -e '(kill-emacs)'")))
|
||||
(shepherd-service
|
||||
(provision '(gnome-keyring-daemon))
|
||||
(start #~(make-system-contructor "gnome-keyring-daemon --daemonize "))
|
||||
(stop #~(make-system-contructor "pkill gnome-keyring-daemon")))))))))))
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
(use-modules (gnu)
|
||||
(gnu services desktop)
|
||||
(gnu packages wm)
|
||||
(gnu packages shells)
|
||||
(gnu packages version-control)
|
||||
(gnu packages emacs)
|
||||
(gnu packages gnuzilla)
|
||||
(gnu packages vim)
|
||||
(gnu packages certs)
|
||||
(gnu packages file-systems)
|
||||
(gnu packages suckless)
|
||||
(gnu packages admin)
|
||||
(gnu packages linux)
|
||||
(gnu packages audio)
|
||||
(gnu packages pulseaudio)
|
||||
(gnu packages audio)
|
||||
(gnu packages linux)
|
||||
(gnu packages suckless)
|
||||
(gnu packages terminals)
|
||||
(gnu packages gnome)
|
||||
(gnu packages shells)
|
||||
(gnu packages emacs)
|
||||
(gnu system setuid)
|
||||
(nongnu packages linux))
|
||||
|
||||
@@ -22,62 +21,52 @@
|
||||
desktop
|
||||
networking
|
||||
ssh
|
||||
;; sddm
|
||||
xorg)
|
||||
|
||||
(operating-system
|
||||
(kernel linux)
|
||||
(firmware (list linux-firmware))
|
||||
(firmware (list linux-firmware sof-firmware))
|
||||
(locale "en_US.utf8")
|
||||
(timezone "America/Los_Angeles")
|
||||
(keyboard-layout (keyboard-layout "us"))
|
||||
(host-name "borges")
|
||||
(setuid-programs
|
||||
(let ((from (lambda (package file)
|
||||
(setuid-program (program (file-append package file))))))
|
||||
(cons* (from light "/bin/light")
|
||||
(from network-manager "/bin/nmtui")
|
||||
(from sway "/bin/sway")
|
||||
(from swaylock "/bin/swaylock")
|
||||
%setuid-programs)))
|
||||
(host-name "apollyon")
|
||||
(users (cons* (user-account
|
||||
(name "opal")
|
||||
(comment "opal")
|
||||
(group "users")
|
||||
(home-directory "/home/opal")
|
||||
(shell (file-append zsh "/bin/zsh"))
|
||||
(home-directory "/home/opal")
|
||||
(supplementary-groups
|
||||
'("wheel"
|
||||
"netdev"
|
||||
"audio"
|
||||
"video")))
|
||||
'("wheel" "netdev" "audio" "video")))
|
||||
%base-user-accounts))
|
||||
|
||||
(packages (append (list git
|
||||
network-manager
|
||||
icecat
|
||||
vim
|
||||
nss-certs
|
||||
exfat-utils
|
||||
emacs
|
||||
sway
|
||||
swaybg
|
||||
swaylock
|
||||
swayidle
|
||||
dmenu
|
||||
bluez
|
||||
bluez-alsa
|
||||
pulseaudio)
|
||||
%base-packages))
|
||||
(packages
|
||||
(append
|
||||
(list
|
||||
zsh
|
||||
emacs
|
||||
i3-wm
|
||||
i3status
|
||||
git
|
||||
network-manager
|
||||
icecat
|
||||
emacs
|
||||
bluez
|
||||
bluez-alsa
|
||||
pulseaudio
|
||||
dmenu
|
||||
alacritty
|
||||
nss-certs)
|
||||
%base-packages))
|
||||
(services
|
||||
(cons*
|
||||
(service
|
||||
(modify-services %desktop-services
|
||||
(gdm-service-type config
|
||||
=> (gdm-configuration
|
||||
(inherit config)
|
||||
(wayland? #t)
|
||||
(debug? #t)))))))
|
||||
(append
|
||||
(list (service gnome-desktop-service-type)
|
||||
(service openssh-service-type)
|
||||
(service tor-service-type)
|
||||
(service cups-service-type)
|
||||
(set-xorg-configuration
|
||||
(xorg-configuration
|
||||
(keyboard-layout keyboard-layout))))
|
||||
%desktop-services))
|
||||
(bootloader
|
||||
(bootloader-configuration
|
||||
(bootloader grub-efi-bootloader)
|
||||
@@ -86,7 +75,7 @@
|
||||
(mapped-devices
|
||||
(list (mapped-device
|
||||
(source
|
||||
(uuid "0eb58e93-c463-4d40-a819-4c9d594ed230"))
|
||||
(uuid "ceb0c15f-30b6-4d02-a7e9-96ddcd73c763"))
|
||||
(target "cryptroot")
|
||||
(type luks-device-mapping))))
|
||||
(file-systems
|
||||
@@ -97,6 +86,6 @@
|
||||
(dependencies mapped-devices))
|
||||
(file-system
|
||||
(mount-point "/boot/efi")
|
||||
(device (uuid "2AFC-9172" 'fat32))
|
||||
(device (uuid "739C-796C" 'fat32))
|
||||
(type "vfat"))
|
||||
%base-file-systems)))
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
(use-modules (gnu)
|
||||
(gnu packages wm)
|
||||
(gnu packages version-control)
|
||||
(gnu packages emacs)
|
||||
(gnu packages gnuzilla)
|
||||
(gnu packages vim)
|
||||
(gnu packages certs)
|
||||
(gnu packages pulseaudio)
|
||||
(gnu packages audio)
|
||||
(gnu packages linux)
|
||||
(gnu packages suckless)
|
||||
(gnu packages terminals)
|
||||
(gnu packages gnome)
|
||||
(gnu packages shells)
|
||||
(gnu packages emacs)
|
||||
(gnu system setuid)
|
||||
(nongnu packages linux))
|
||||
|
||||
(use-service-modules
|
||||
cups
|
||||
desktop
|
||||
networking
|
||||
ssh
|
||||
xorg)
|
||||
|
||||
(operating-system
|
||||
(kernel linux)
|
||||
(firmware (list linux-firmware sof-firmware))
|
||||
(locale "en_US.utf8")
|
||||
(timezone "America/Los_Angeles")
|
||||
(keyboard-layout (keyboard-layout "us"))
|
||||
(host-name "apollyon")
|
||||
(setuid-programs
|
||||
(let ((from (lambda (package file)
|
||||
(setuid-program (program (file-append package file))))))
|
||||
(cons* (from i3status "/bin/i3status")
|
||||
(from network-manager "/bin/nmtui")
|
||||
%setuid-programs)))
|
||||
(users (cons* (user-account
|
||||
(name "opal")
|
||||
(comment "opal")
|
||||
(group "users")
|
||||
(shell (file-append zsh "/bin/zsh"))
|
||||
(home-directory "/home/opal")
|
||||
(supplementary-groups
|
||||
'("wheel" "netdev" "audio" "video")))
|
||||
%base-user-accounts))
|
||||
(packages
|
||||
(append
|
||||
(list
|
||||
zsh
|
||||
emacs
|
||||
i3-gaps
|
||||
i3status
|
||||
git
|
||||
network-manager
|
||||
icecat
|
||||
emacs
|
||||
bluez
|
||||
bluez-alsa
|
||||
pulseaudio
|
||||
dmenu
|
||||
alacritty
|
||||
nss-certs)
|
||||
%base-packages))
|
||||
(services
|
||||
(append
|
||||
(list (service gnome-desktop-service-type)
|
||||
(service openssh-service-type)
|
||||
(service tor-service-type)
|
||||
(service cups-service-type)
|
||||
(set-xorg-configuration
|
||||
(xorg-configuration
|
||||
(keyboard-layout keyboard-layout))))
|
||||
%desktop-services))
|
||||
(bootloader
|
||||
(bootloader-configuration
|
||||
(bootloader grub-efi-bootloader)
|
||||
(targets (list "/boot/efi"))
|
||||
(keyboard-layout keyboard-layout)))
|
||||
(mapped-devices
|
||||
(list (mapped-device
|
||||
(source
|
||||
(uuid "ceb0c15f-30b6-4d02-a7e9-96ddcd73c763"))
|
||||
(target "cryptroot")
|
||||
(type luks-device-mapping))))
|
||||
(file-systems
|
||||
(cons* (file-system
|
||||
(mount-point "/")
|
||||
(device "/dev/mapper/cryptroot")
|
||||
(type "btrfs")
|
||||
(dependencies mapped-devices))
|
||||
(file-system
|
||||
(mount-point "/boot/efi")
|
||||
(device (uuid "739C-796C" 'fat32))
|
||||
(type "vfat"))
|
||||
%base-file-systems)))
|
||||
@@ -64,7 +64,7 @@
|
||||
(services
|
||||
(append (modify-services %desktop-services
|
||||
(gdm-service-type config
|
||||
=> (gdm-configuration
|
||||
= (gdm-configuration
|
||||
(inherit config)
|
||||
(wayland? #t)
|
||||
(debug? #t))))))
|
||||
@@ -95,7 +95,7 @@
|
||||
(mount-point "/boot/efi")
|
||||
(device (uuid "15B3-5DE5" 'fat32))
|
||||
(type "vfat"))
|
||||
%base-file-systems))))
|
||||
%base-file-systems))
|
||||
|
||||
|
||||
;; (services (cons* ...
|
||||
|
||||
Reference in New Issue
Block a user