summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--home/config/hypr/config.d/theme.conf3
-rw-r--r--home/config/hypr/config.d/workspaces.conf20
-rwxr-xr-xhome/config/hypr/scripts.d/autostart.sh6
-rw-r--r--home/config/waybar/style.css54
-rw-r--r--home/home.scm91
-rw-r--r--home/nix-channels1
-rw-r--r--modules/freya/packages/wm.scm171
-rw-r--r--modules/freya/system.scm176
8 files changed, 323 insertions, 199 deletions
diff --git a/home/config/hypr/config.d/theme.conf b/home/config/hypr/config.d/theme.conf
index 8917bd6..f42f464 100644
--- a/home/config/hypr/config.d/theme.conf
+++ b/home/config/hypr/config.d/theme.conf
@@ -35,6 +35,7 @@ plugin {
hyprbars {
bar_height = 24
+ bar_part_of_window = true
bar_color = $base_color
col.text = $text_color
bar_text_size = 9
@@ -50,7 +51,7 @@ plugin {
decoration {
rounding = $radius
- drop_shadow = no
+ drop_shadow = yes
blur {
enabled = true
diff --git a/home/config/hypr/config.d/workspaces.conf b/home/config/hypr/config.d/workspaces.conf
index 408b05f..c25a0a8 100644
--- a/home/config/hypr/config.d/workspaces.conf
+++ b/home/config/hypr/config.d/workspaces.conf
@@ -49,16 +49,16 @@ bind = $mod SHIFT, 0, movetoworkspacesilent, 10
# Move to tab
-bind = $mod CONTROL, 1, hy3:focustab, index, 01
-bind = $mod CONTROL, 2, hy3:focustab, index, 02
-bind = $mod CONTROL, 3, hy3:focustab, index, 03
-bind = $mod CONTROL, 4, hy3:focustab, index, 04
-bind = $mod CONTROL, 5, hy3:focustab, index, 05
-bind = $mod CONTROL, 6, hy3:focustab, index, 06
-bind = $mod CONTROL, 7, hy3:focustab, index, 07
-bind = $mod CONTROL, 8, hy3:focustab, index, 08
-bind = $mod CONTROL, 9, hy3:focustab, index, 09
-bind = $mod CONTROL, 0, hy3:focustab, index, 10
+bind = LALT, 1, hy3:focustab, index, 01
+bind = LALT, 2, hy3:focustab, index, 02
+bind = LALT, 3, hy3:focustab, index, 03
+bind = LALT, 4, hy3:focustab, index, 04
+bind = LALT, 5, hy3:focustab, index, 05
+bind = LALT, 6, hy3:focustab, index, 06
+bind = LALT, 7, hy3:focustab, index, 07
+bind = LALT, 8, hy3:focustab, index, 08
+bind = LALT, 9, hy3:focustab, index, 09
+bind = LALT, 0, hy3:focustab, index, 10
bindn = , mouse:272, hy3:focustab, mouse
bindn = , mouse_down, hy3:focustab, l, require_hovered
diff --git a/home/config/hypr/scripts.d/autostart.sh b/home/config/hypr/scripts.d/autostart.sh
index 0b782b7..c101f8e 100755
--- a/home/config/hypr/scripts.d/autostart.sh
+++ b/home/config/hypr/scripts.d/autostart.sh
@@ -1,10 +1,10 @@
-#!/bin/bash
+#!/bin/sh
-waybar --config $HOME/.config/waybar/config.hypr --style $HOME/.config/waybar/style.hypr.css &
+waybar --config $HOME/.config/waybar/config.hypr &
nm-applet --indicator &
-/usr/bin/gnome-keyring-daemon --foreground &
+gnome-keyring-daemon --foreground &
wl-clip-persist --clipboard both &
gtk-launch discord &
diff --git a/home/config/waybar/style.css b/home/config/waybar/style.css
index 0d159fd..0783055 100644
--- a/home/config/waybar/style.css
+++ b/home/config/waybar/style.css
@@ -1,43 +1,32 @@
-* {
- font-family: "JetBrains Mono", "Font Awesome 6 Pro", monospace;
- font-size: 13.5px;
- transition: none;
- margin: 0;
- padding: 0;
-}
+/** Base */
window#waybar {
+ font-family: "JetBrains Mono", "Font Awesome 6 Pro", monospace;
+ font-size: 13.5px;
+ color: #c7c6c3;
background-color: transparent;
}
window#waybar > box {
margin: 10px;
margin-bottom: 0px;
- padding: 0;
- color: #c7c6c3;
-}
-
-button {
- border: none;
- border-radius: 0;
}
.modules-left,
.modules-right {
- margin: 0;
padding: 2px 0px;
background-color: #14171d;
border-radius: 4px;
}
+/** Workspaces */
+
#workspaces {
- padding: 0px 0px;
+ margin-left: 2px;
}
#workspaces button {
all: initial;
- box-shadow: inherit;
- text-shadow: inherit;
color: #c7c6c3;
background-color: transparent;
border-radius: 4px;
@@ -58,6 +47,17 @@ button {
background-color: #cc5c5c;
}
+/** Window */
+
+window#waybar:not(.empty) #window {
+ padding: 0 10px;
+ border-left: 1px solid #4d4754;
+ color: #c7c6c3;
+ margin: 0 2px;
+}
+
+/** Tray */
+
#clock,
#battery,
#cpu,
@@ -84,15 +84,12 @@ button {
border: none;
}
-#window {
- padding: 0 10px;
- border-left: 1px solid #4d4754;
- color: #c7c6c3;
+#tray > .passive {
+ -gtk-icon-effect: dim;
}
-#window,
-#workspaces {
- margin: 0 4px;
+#tray > .needs-attention {
+ -gtk-icon-effect: highlight;
}
#battery {
@@ -141,10 +138,3 @@ button {
color: #cc5c5c;
}
-#tray > .passive {
- -gtk-icon-effect: dim;
-}
-
-#tray > .needs-attention {
- -gtk-icon-effect: highlight;
-}
diff --git a/home/home.scm b/home/home.scm
index 77a927a..aa03ec0 100644
--- a/home/home.scm
+++ b/home/home.scm
@@ -28,63 +28,70 @@
(home-environment
;; Below is the list of packages that will show up in your
;; Home profile, unser ~/.guix-home/profile.
- (packages (append (specifications->packages (list "xdg-utils"
- "mako"
- "vscodium"
- "libnotify"
+ (packages (append (specifications->packages (list ; desktop programs
+ "gnome-keyring"
+ "gimp"
+ "ungoogled-chromium"
+ "librewolf"
+ "steam"
+
+ ; terminal
+ "alacritty"
+ "kitty"
+
+ ; desktop integration
"i3-autotiling"
"wofi"
+ "nm-tray"
+ "mako"
+ "grim"
+ "slurp"
+
+ ; devtools
"qrencode"
"sassc"
"binutils"
+ "make"
+ "nasm"
+ "node"
+ "pkg-config"
+ "python-pynvim"
+ "git"
+ "openssl"
+
+ ; langs
+ "gcc-toolchain"
"clang-toolchain"
+ "rust"
"racket"
+ "python"
+
+ ; social
+ "gajim"
+ "gajim-omemo"
+ "gajim-openpgp"
+ "element-desktop"
+ "weechat"
+
+ ; multimedia
"libreoffice"
- "gnupg"
"pavucontrol"
- "bind:utils"
- "syncthing"
+ "mpv"
"imv"
- "unzip"
- "p7zip"
- "curl"
- "htop"
- "curl"
"zathura"
"zathura-pdf-mupdf"
- "gimp"
- "weechat"
- "mpv"
- "git"
- "pinentry"
- "ungoogled-chromium"
- "element-desktop"
- "nm-tray"
- "pfetch"
- "acpi"
- "brightnessctl"
+
+ ; shell
+ "zsh-syntax-highlighting"
+ "tree-sitter-cli"
"neofetch"
- "python"
- "make"
- "tree"
- "rlwrap"
- "netcat"
- "ripgrep"
+ "pfetch"
"fd"
- "nasm"
+
+ ; utilities
+ "syncthing"
"wine-staging"
- "winetricks"
- "steam"
- "node"
- "ncurses"
- "jq"
- "rust"
- "gcc-toolchain"
- "openssl"
- "pkg-config"
- "tree-sitter-cli"
- "zsh-syntax-highlighting"
- "python-pynvim"))
+ "winetricks"))
(list neovim-new
easyeffects
diff --git a/home/nix-channels b/home/nix-channels
index c040488..811c0f6 100644
--- a/home/nix-channels
+++ b/home/nix-channels
@@ -1,3 +1,4 @@
https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
+https://github.com/nix-community/nixGL/archive/main.tar.gz nixgl
https://nixos.org/channels/nixpkgs-unstable nixpkgs
diff --git a/modules/freya/packages/wm.scm b/modules/freya/packages/wm.scm
index f333fcb..0d355e4 100644
--- a/modules/freya/packages/wm.scm
+++ b/modules/freya/packages/wm.scm
@@ -12,6 +12,8 @@
#:use-module (gnu packages gl)
#:use-module (gnu packages linux)
#:use-module (gnu packages pciutils)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages glib)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix gexp)
@@ -39,6 +41,46 @@
(inputs (modify-inputs (package-inputs swaylock-effects) (delete "linux-pam")))))
+(define-public waybar-new
+ (package
+ (inherit waybar)
+ (name "waybar-new")
+ (version "0.10.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Alexays/Waybar")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "04xd61ycn1nisq1s5ch14zkbsjcfcy6n29nkjn68s2ribmws0iid"))))
+ (arguments
+ (list
+ #:configure-flags #~(list "--wrap-mode=nodownload" "-Dexperimental=true")))))
+
+
+(define cairo-for-hyprland
+ (package
+ (inherit cairo)
+ (name "cairo")
+ (version "1.18.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://cairographics.org/releases/cairo-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0r0by563s75xyzz0d0j1nmjqmdrk2x9agk7r57p3v8vqp4v0ffi4"))))
+ (build-system meson-build-system)
+ (arguments
+ (list #:tests? #f
+ #:glib-or-gtk? #t
+ #:configure-flags
+ #~(list "-Dspectre=disabled")))
+ (outputs '("out"))))
+
+
(define hwdata-for-hyprland
(package
(inherit hwdata)
@@ -63,22 +105,6 @@
"0yijzgg6rdsa68bz03sw0lcfa2nclv9m3as1cja50wkcyxim7x9v"))))))
-(define wayland-protocols-new
- (package
- (inherit wayland-protocols)
- (name "wayland-protocols")
- (version "1.36")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://gitlab.freedesktop.org/wayland/wayland-protocols"
- "/-/releases/" version "/downloads/"
- "wayland-protocols-" version ".tar.xz"))
- (sha256
- (base32
- "14kyxywpfkgpjpkrybs28q1s2prnz30k1b4zap5a3ybrbvh4vzbi"))))))
-
-
(define hyprland-unbundle-wlroots-patch
(origin
(method url-fetch)
@@ -141,25 +167,6 @@
(replace "hwdata" `(,hwdata-for-hyprland "out")))))))
-(define-public hyprland-new
- (package
- (inherit hyprland)
- (version "0.40.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/hyprwm/Hyprland"
- "/releases/download/v" version
- "/source-v" version ".tar.gz"))
- (patches (list hyprland-unbundle-wlroots-patch))
- (sha256
- (base32
- "0f4hs8qzmfmg4lr491b2inanb02xn4xa0gwb8a0ks3m64iwzx589"))))
- (inputs
- (modify-inputs
- (package-inputs hyprland)
- (append tomlplusplus)))))
-
-
(define-public hyprland-plugin-hy3
(package
(name "hyprland-plugin-hy3")
@@ -183,10 +190,10 @@
pango
gcc-13
libinput
- hyprland-new
hyprland-protocols
hyprwayland-scanner
hyprlang
+ hyprland
wayland
wlroots-for-hyprland))
(license license:gpl3)
@@ -224,10 +231,10 @@
(list pango
gcc-13
libinput
- hyprland-new
hyprland-protocols
hyprwayland-scanner
hyprlang
+ hyprland
wayland
wlroots-for-hyprland))
(license license:bsd-3)
@@ -253,25 +260,99 @@
(base32 "19cg8vj4sgz5pxib9m08af1lilay9bckjhlr6h333s014l7y09sw"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f))
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-egl
+ (lambda _
+ (substitute* (list "src/core/Egl.hpp"
+ "src/renderer/DMAFrame.cpp")
+ (("#include <EGL/eglext.h>" include)
+ (string-append include "\n#include <EGL/eglmesaext.h>\n")))
+ #t)))))
(native-inputs
(list gcc-13
pkg-config
- mesa-headers
- wayland))
+ mesa-headers))
(inputs
- (list cairo
+ (list cairo-for-hyprland
pango
libxkbcommon
hyprlang
mesa
- wayland-protocols
- linux-pam))
- (propagated-inputs
- (list libdrm
+ wayland-protocols-for-hyprland
+ wlroots-for-hyprland
+ linux-pam
+ libdrm-for-hyprland
libglvnd))
(home-page "https://github.com/hyprwm/hyprlock")
(license license:bsd-3)
(synopsis "Screen locker for Hyprland")
(description "Screen locker for hyprland."))))
+
+(define-public hyprpaper
+ (package
+ (name "hyprpaper")
+ (version "0.7.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/hyprwm/hyprpaper"
+ "/archive/refs/tags/v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1d23nsj5hzyxwvhkg9a7x1b8jgyqwzad91zb1894jnxr2d844h28"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f))
+ (native-inputs
+ (list gcc-13
+ pkg-config))
+ (inputs
+ (list hyprlang
+ wayland-protocols-for-hyprland
+ wayland
+ cairo-for-hyprland
+ libjpeg-turbo
+ libwebp
+ mesa
+ pango
+ libglvnd))
+ (home-page "https://github.com/hyprwm/hyprpaper")
+ (license license:bsd-3)
+ (synopsis "Hyprpaper is a blazing fast wayland wallpaper utility with IPC controls.")
+ (description "Hyprpaper is a blazing fast wayland wallpaper utility with IPC controls.")))
+
+
+(define-public hypridle
+ (package
+ (name "hypridle")
+ (version "0.1.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/hyprwm/hypridle"
+ "/archive/refs/tags/v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ybwip7yq9q569naz5bnrvcdz99648c4pln2zi30z21y333hpas0"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f))
+ (native-inputs
+ (list gcc-13
+ pkg-config))
+ (inputs
+ (list hyprlang
+ wayland-protocols-for-hyprland
+ wayland
+ sdbus-c++))
+ (home-page "https://github.com/hyprwm/hypridle")
+ (license license:bsd-3)
+ (synopsis "Hyprland's idle daemon ")
+ (description "Hyprland's idle daemon ")))
+
+
+
+
+
+
diff --git a/modules/freya/system.scm b/modules/freya/system.scm
index 6ff5d19..1432b5a 100644
--- a/modules/freya/system.scm
+++ b/modules/freya/system.scm
@@ -51,7 +51,9 @@
(define-public base-operating-system
(operating-system
(kernel linux)
- (firmware (list linux-firmware amd-microcode sof-firmware))
+ (firmware (list linux-firmware
+ amd-microcode
+ sof-firmware))
(locale "en_US.utf8")
(timezone "America/New_York")
(keyboard-layout (keyboard-layout "us"))
@@ -64,78 +66,120 @@
(group "users")
(home-directory "/home/freya")
(shell (file-append zsh "/bin/zsh"))
- (supplementary-groups '("wheel" "audio" "lp" "docker" "plugdev" "libvirt" "kvm" "netdev" "video" "tty")))
+ (supplementary-groups '("wheel"
+ "audio"
+ "lp"
+ "docker"
+ "plugdev"
+ "libvirt"
+ "kvm"
+ "netdev"
+ "video"
+ "tty")))
%base-user-accounts))
- (packages (append (map specification->package (list "swayfx"
- "swaybg"
- "wlogout"
- "cage"
- "sof-firmware"
- "amd-microcode"
- "alsa-utils"
- "chrony"
- "swayidle"
- "dconf"
- "alacritty"
- "kitty"
- "gnome-themes-extra"
- "adwaita-icon-theme"
- "hicolor-icon-theme"
- "git"
- "gvfs"
- "gnupg"
- "light"
- "waybar"
- "avahi"
- "mako"
- "grim"
- "slurp"
- "wl-clipboard"
- "bluez"
- "blueman"
- "opendoas"
- "wireguard-tools"
- "xdg-desktop-portal"
- "xdg-desktop-portal-wlr"
- "xdg-desktop-portal-hyprland"
- "v4l2loopback-linux-module"
- "docker"
- "linux-pam"
- "pulseaudio"
- "libx11"
- "xorg-server-xwayland"
- "fprintd"
- "wireplumber"
- "qemu"
- "spice"
- "xf86-video-qxl"
- "zsh"
- "mesa"
- "mesa-utils"
- "glu"
- "vulkan-loader"
- "vulkan-validationlayers"
- "vulkan-tools"
- "vulkan-headers"
- "spirv-tools"
- "spirv-headers"
- "sdl2"
- "openal"
- "freealut"
- "wxwidgets"
- "libpcap"
- "v4l2loopback-linux-module"
- "neovim"
- "gtk+"
- "font-jetbrains-mono"))
+ (packages (append (specifications->packages (list ; desktop
+ "swayfx"
+ "swaybg"
+ "swayidle"
+ "hyprland"
+ "cage"
+ "libnotify"
+
+ ; gtk
+ "wxwidgets"
+ "gtk+"
+ "dconf"
+ "gnome-themes-extra"
+ "adwaita-icon-theme"
+ "hicolor-icon-theme"
+
+ ; wayland x11
+ "wl-clipboard"
+ "libx11"
+ "xorg-server-xwayland"
+ "xf86-video-qxl"
+
+ ; video audio
+ "mesa"
+ "mesa-utils"
+ "glu"
+ "libglvnd"
+ "vulkan-loader"
+ "vulkan-validationlayers"
+ "vulkan-tools"
+ "vulkan-headers"
+ "spirv-tools"
+ "spirv-headers"
+ "sdl2"
+ "openal"
+ "freealut"
+
+ ; xdg
+ "xdg-utils"
+ "xdg-desktop-portal"
+ "xdg-desktop-portal-wlr"
+ "xdg-desktop-portal-hyprland"
+
+ ; firmware
+ "sof-firmware"
+ "amd-microcode"
+ "v4l2loopback-linux-module"
+
+ ; needed programs
+ "qemu"
+ "pulseaudio"
+ "alsa-utils"
+ "neovim"
+
+ ; basic utils
+ "curl"
+ "htop"
+ "git"
+ "zsh"
+ "opendoas"
+ "linux-pam"
+ "bind:utils"
+ "unzip"
+ "p7zip"
+ "acpi"
+ "tree"
+ "rlwrap"
+ "netcat"
+ "ripgrep"
+ "ncurses"
+ "jq"
+ "openssl"
+
+ ; system daemons
+ "chrony"
+ "docker"
+ "avahi"
+ "gnupg"
+ "pinentry"
+ "light"
+ "brightnessctl"
+ "bluez"
+ "blueman"
+ "wireguard-tools"
+ "fprintd"
+ "wireplumber"
+ "libpcap"
+
+ ; fonts
+ "font-fira-mono"
+ "font-google-noto-sans-cjk"
+ "font-jetbrains-mono"
+ "font-dejavu"))
(list swaylock-effects-new
+ waybar-new
virt-manager-new
freya-ca-certs
- hyprland-new
hyprland-plugin-hy3
hyprland-plugin-hyprbars
- hyprlock)
+ hyprlock
+ hyprpaper
+ hypridle)
%my-base-packages))
;; Below is the list of system services. TO search for available