diff options
-rw-r--r-- | home-config/bashrc | 3 | ||||
-rw-r--r-- | home-config/nix-home-manager/home.nix | 8 | ||||
-rw-r--r-- | home-config/waybar/config | 19 | ||||
-rw-r--r-- | modules/ryan-packages/freedesktop.scm | 98 | ||||
-rw-r--r-- | modules/ryan-packages/wm.scm | 5 |
5 files changed, 124 insertions, 9 deletions
diff --git a/home-config/bashrc b/home-config/bashrc index d28af9d..0c61ee6 100644 --- a/home-config/bashrc +++ b/home-config/bashrc | |||
@@ -50,3 +50,6 @@ export XDG_DATA_DIRS=$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:/home/ryan/.l | |||
50 | #export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) | 50 | #export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) |
51 | #gpgconf --launch gpg-agent | 51 | #gpgconf --launch gpg-agent |
52 | export GPG_TTY=$(tty) | 52 | export GPG_TTY=$(tty) |
53 | |||
54 | # Setup zoxide for cd command provider | ||
55 | eval "$(zoxide init --cmd cd bash)" | ||
diff --git a/home-config/nix-home-manager/home.nix b/home-config/nix-home-manager/home.nix index 5c0ee46..aa90213 100644 --- a/home-config/nix-home-manager/home.nix +++ b/home-config/nix-home-manager/home.nix | |||
@@ -15,6 +15,12 @@ | |||
15 | # release notes. | 15 | # release notes. |
16 | home.stateVersion = "22.11"; # Please read the comment before changing. | 16 | home.stateVersion = "22.11"; # Please read the comment before changing. |
17 | 17 | ||
18 | # Enable nix flakes | ||
19 | nix = { | ||
20 | package = pkgs.nix; | ||
21 | settings.experimental-features = [ "nix-command" "flakes" ]; | ||
22 | }; | ||
23 | |||
18 | # This value will set some environment variables to allow home-manager to | 24 | # This value will set some environment variables to allow home-manager to |
19 | # function better outside of NixOS | 25 | # function better outside of NixOS |
20 | nixpkgs.config.allowUnfree = true; | 26 | nixpkgs.config.allowUnfree = true; |
@@ -30,12 +36,12 @@ | |||
30 | yt-dlp | 36 | yt-dlp |
31 | #pass | 37 | #pass |
32 | rustup | 38 | rustup |
39 | zoxide | ||
33 | nodePackages.pnpm | 40 | nodePackages.pnpm |
34 | gcc | 41 | gcc |
35 | pkg-config | 42 | pkg-config |
36 | wttrbar | 43 | wttrbar |
37 | swww | 44 | swww |
38 | hyprpicker | ||
39 | wl-clip-persist | 45 | wl-clip-persist |
40 | gifski | 46 | gifski |
41 | waypaper | 47 | waypaper |
diff --git a/home-config/waybar/config b/home-config/waybar/config index 8721a6a..99a7bef 100644 --- a/home-config/waybar/config +++ b/home-config/waybar/config | |||
@@ -5,7 +5,7 @@ | |||
5 | 5 | ||
6 | "modules-left": ["hyprland/workspaces", "hyprland/submap"], | 6 | "modules-left": ["hyprland/workspaces", "hyprland/submap"], |
7 | "modules-center": ["hyprland/window"], | 7 | "modules-center": ["hyprland/window"], |
8 | "modules-right": ["tray", "custom/spotify", "custom/weather", "custom/mail", "custom/storage", "backlight", "bluetooth", "pulseaudio", "network", "idle_inhibitor", "battery", "clock"], | 8 | "modules-right": ["tray", "custom/spotify", "privacy", "custom/weather", "custom/mail", "custom/storage", "backlight", "bluetooth", "pulseaudio", "network", "idle_inhibitor", "battery", "clock"], |
9 | "hyprland/submap": { | 9 | "hyprland/submap": { |
10 | "format": " {}" | 10 | "format": " {}" |
11 | }, | 11 | }, |
@@ -59,6 +59,23 @@ | |||
59 | "on-click": "foot -t alacritty doas nmtui", | 59 | "on-click": "foot -t alacritty doas nmtui", |
60 | "tooltip": false | 60 | "tooltip": false |
61 | }, | 61 | }, |
62 | "privacy": { | ||
63 | "icon-spacing":4, | ||
64 | "icon-size":18, | ||
65 | "transition-duration":250, | ||
66 | "modules": [ | ||
67 | { | ||
68 | "type":"screenshare", | ||
69 | "tooltip":true, | ||
70 | "tooltip-icon-size":24 | ||
71 | }, | ||
72 | { | ||
73 | "type":"audio-in", | ||
74 | "tooltip":true, | ||
75 | "tooltip-icon-size":24 | ||
76 | } | ||
77 | ] | ||
78 | }, | ||
62 | "pulseaudio": { | 79 | "pulseaudio": { |
63 | "format-alt": "{icon}", | 80 | "format-alt": "{icon}", |
64 | "format": "{volume} {icon}", | 81 | "format": "{volume} {icon}", |
diff --git a/modules/ryan-packages/freedesktop.scm b/modules/ryan-packages/freedesktop.scm index ab610ce..4f28358 100644 --- a/modules/ryan-packages/freedesktop.scm +++ b/modules/ryan-packages/freedesktop.scm | |||
@@ -4,6 +4,7 @@ | |||
4 | #:use-module (guix gexp) | 4 | #:use-module (guix gexp) |
5 | #:use-module (guix build-system meson) | 5 | #:use-module (guix build-system meson) |
6 | #:use-module (guix build-system cmake) | 6 | #:use-module (guix build-system cmake) |
7 | #:use-module (guix build-system qt) | ||
7 | #:use-module (guix build utils) | 8 | #:use-module (guix build utils) |
8 | #:use-module (guix packages) | 9 | #:use-module (guix packages) |
9 | #:use-module (guix git-download) | 10 | #:use-module (guix git-download) |
@@ -43,7 +44,7 @@ | |||
43 | (define-public xdg-desktop-portal-hyprland-ryan | 44 | (define-public xdg-desktop-portal-hyprland-ryan |
44 | (package | 45 | (package |
45 | (name "xdg-desktop-portal-hyprland") | 46 | (name "xdg-desktop-portal-hyprland") |
46 | (version "1.2.6") | 47 | (version "1.3.1") |
47 | (source (origin | 48 | (source (origin |
48 | (method git-fetch) | 49 | (method git-fetch) |
49 | (uri (git-reference | 50 | (uri (git-reference |
@@ -52,8 +53,8 @@ | |||
52 | (file-name (git-file-name name version)) | 53 | (file-name (git-file-name name version)) |
53 | (sha256 | 54 | (sha256 |
54 | (base32 | 55 | (base32 |
55 | "0gjg4wy5jlv1mvaf49w6dwpqix6yhcipwdq5zvmm7z8jrrfzj6jm")))) | 56 | "0fdbzxanmmzrvb9wfzg1pdsnlg7dl6v5k8bl44w10n48s7bbbzn0")))) |
56 | (build-system meson-build-system) | 57 | (build-system qt-build-system) |
57 | (arguments | 58 | (arguments |
58 | (list | 59 | (list |
59 | #:tests? #f | 60 | #:tests? #f |
@@ -69,13 +70,98 @@ | |||
69 | (search-input-file inputs (string-append "/bin/" cmd))) | 70 | (search-input-file inputs (string-append "/bin/" cmd))) |
70 | (("\\<(hyprctl-share-picker)\\>" _ cmd) | 71 | (("\\<(hyprctl-share-picker)\\>" _ cmd) |
71 | (string-append #$output "/bin/" cmd)))))))) | 72 | (string-append #$output "/bin/" cmd)))))))) |
72 | (native-inputs (list gcc-13 pkg-config wayland)) | 73 | (native-inputs (list gcc-13 pkg-config wayland hyprlang)) |
73 | (inputs (list bash-minimal grim hyprland hyprland-protocols mesa pipewire qtbase-5 sdbus-c++ slurp wayland-protocols)) | 74 | (inputs (list bash-minimal grim hyprland hyprland-protocols mesa pipewire qtbase-5 sdbus-c++ slurp wayland-protocols qtwayland-5)) |
75 | (home-page "") | ||
76 | (synopsis "test") | ||
77 | (description "test") | ||
78 | (license license:bsd-3))) | ||
79 | |||
80 | (define-public xdg-desktop-portal-hyprland-old | ||
81 | (package | ||
82 | (name "xdg-desktop-portal-hyprland") | ||
83 | (version "1.2.4") | ||
84 | (source (origin | ||
85 | (method git-fetch) | ||
86 | (uri (git-reference | ||
87 | (url "https://github.com/hyprwm/xdg-desktop-portal-hyprland") | ||
88 | (commit (string-append "v" version)))) | ||
89 | (file-name (git-file-name name version)) | ||
90 | (sha256 | ||
91 | (base32 | ||
92 | "1m82rrir2fg7h2cpch6wm3h1rkpnbh9pawlw1wdknw75mi6139r0")))) | ||
93 | (build-system meson-build-system) | ||
94 | (arguments | ||
95 | (list | ||
96 | #:modules | ||
97 | '((guix build utils) | ||
98 | (guix build meson-build-system) | ||
99 | ((guix build qt-build-system) #:prefix qt:)) | ||
100 | #:imported-modules | ||
101 | (append %meson-build-system-modules | ||
102 | %qt-build-system-modules) | ||
103 | #:tests? #f | ||
104 | #:configure-flags #~(list "-Dsystemd=disabled") | ||
105 | #:phases | ||
106 | ;; After building the portal, we need to build the share selector using qt | ||
107 | #~(modify-phases %standard-phases | ||
108 | (add-after 'install 'chdir | ||
109 | (lambda _ (chdir "../source/hyprland-share-picker/"))) | ||
110 | (add-after 'chdir 'check-setup | ||
111 | (assoc-ref qt:%standard-phases 'check-setup)) | ||
112 | (add-after 'check-setup 'qt-build | ||
113 | (lambda* (#:key inputs outputs #:allow-other-keys) | ||
114 | ((assoc-ref qt:%standard-phases 'build) | ||
115 | #:inputs inputs | ||
116 | #:outputs outputs | ||
117 | #:configure-flags '() | ||
118 | #:qtbase #$(this-package-native-input "qtbase-5")))) | ||
119 | (add-after 'qt-build 'qt-install | ||
120 | (lambda* (#:key inputs outputs #:allow-other-keys) | ||
121 | (let ((share-picker (string-append (assoc-ref outputs "out") | ||
122 | "/bin"))) | ||
123 | (install-file "build/hyprland-share-picker" share-picker) | ||
124 | #t))) | ||
125 | (add-after 'qt-install 'qt-wrap | ||
126 | (assoc-ref qt:%standard-phases 'qt-wrap)) | ||
127 | (add-after 'qt-wrap 'dep-wrap | ||
128 | (lambda* (#:key inputs #:allow-other-keys) | ||
129 | (let ((hyprland-share-picker (string-append #$output "/bin/hyprland-share-picker"))) | ||
130 | (wrap-program hyprland-share-picker | ||
131 | `("PATH" suffix | ||
132 | ,(map (lambda (program) | ||
133 | (dirname (search-input-file | ||
134 | inputs (string-append "/bin/" program)))) | ||
135 | '("slurp")))))))))) | ||
136 | (native-inputs (list gcc-13 cmake pkg-config qtbase-5)) | ||
137 | (inputs (list elogind hyprland hyprland-protocols slurp pipewire wayland-protocols wayland libinih mesa sdbus-c++ qtwayland-5 `(,util-linux "lib"))) | ||
74 | (home-page "") | 138 | (home-page "") |
75 | (synopsis "test") | 139 | (synopsis "test") |
76 | (description "test") | 140 | (description "test") |
77 | (license license:bsd-3))) | 141 | (license license:bsd-3))) |
78 | 142 | ||
143 | (define-public hyprlang | ||
144 | (package | ||
145 | (name "hyprlang") | ||
146 | (version "0.3.2") | ||
147 | (source (origin | ||
148 | (method git-fetch) | ||
149 | (uri (git-reference | ||
150 | (url "https://github.com/hyprwm/hyprlang") | ||
151 | (commit (string-append "v" version)))) | ||
152 | (file-name (git-file-name name version)) | ||
153 | (sha256 | ||
154 | (base32 | ||
155 | "1sxr7whzjamjg9pcvpbxniwph5p3yy2qs87n91zqwb5y9z3gfd7m")))) | ||
156 | (build-system cmake-build-system) | ||
157 | (native-inputs | ||
158 | (list gcc-13)) | ||
159 | (home-page "") | ||
160 | (synopsis "test") | ||
161 | (description "test") | ||
162 | (license license:gpl3))) | ||
163 | |||
164 | |||
79 | (define-public wl-mirror | 165 | (define-public wl-mirror |
80 | (package | 166 | (package |
81 | (name "wl-mirror") | 167 | (name "wl-mirror") |
@@ -106,4 +192,4 @@ | |||
106 | (description "mirror displays") | 192 | (description "mirror displays") |
107 | (license license:expat))) | 193 | (license license:expat))) |
108 | 194 | ||
109 | wl-mirror | 195 | xdg-desktop-portal-hyprland-ryan |
diff --git a/modules/ryan-packages/wm.scm b/modules/ryan-packages/wm.scm index 5dfbf54..8f3be42 100644 --- a/modules/ryan-packages/wm.scm +++ b/modules/ryan-packages/wm.scm | |||
@@ -1,11 +1,15 @@ | |||
1 | (define-module (ryan-packages wm) | 1 | (define-module (ryan-packages wm) |
2 | #:use-module ((guix licenses) #:prefix license:) | ||
2 | #:use-module (guix download) | 3 | #:use-module (guix download) |
3 | #:use-module (guix packages) | 4 | #:use-module (guix packages) |
4 | #:use-module (guix gexp) | 5 | #:use-module (guix gexp) |
5 | #:use-module (gnu packages) | 6 | #:use-module (gnu packages) |
7 | #:use-module (guix build-system cmake) | ||
6 | #:use-module (gnu packages python) | 8 | #:use-module (gnu packages python) |
7 | #:use-module (gnu packages audio) | 9 | #:use-module (gnu packages audio) |
8 | #:use-module (gnu packages glib) | 10 | #:use-module (gnu packages glib) |
11 | #:use-module (gnu packages freedesktop) | ||
12 | #:use-module (gnu packages pkg-config) | ||
9 | #:use-module (gnu packages gtk) | 13 | #:use-module (gnu packages gtk) |
10 | #:use-module (gnu packages llvm) | 14 | #:use-module (gnu packages llvm) |
11 | #:use-module (gnu packages gcc) | 15 | #:use-module (gnu packages gcc) |
@@ -48,4 +52,3 @@ | |||
48 | #:configure-flags #~(list "--wrap-mode=nodownload" "-Dexperimental=true"))) | 52 | #:configure-flags #~(list "--wrap-mode=nodownload" "-Dexperimental=true"))) |
49 | (inputs (modify-inputs (package-inputs waybar) (delete "gtkmm") (prepend gtkmm-ryan))))) ;(prepend python cava catch2 gtkmm))))) | 53 | (inputs (modify-inputs (package-inputs waybar) (delete "gtkmm") (prepend gtkmm-ryan))))) ;(prepend python cava catch2 gtkmm))))) |
50 | ;(native-inputs (modify-inputs (package-native-inputs waybar) (prepend gcc-13))))) | 54 | ;(native-inputs (modify-inputs (package-native-inputs waybar) (prepend gcc-13))))) |
51 | swaylock-effects-new | ||