diff options
| author | Ryan Schanzenbacher <ryan@rschanz.org> | 2024-02-15 13:22:50 -0500 |
|---|---|---|
| committer | Ryan Schanzenbacher <ryan@rschanz.org> | 2024-02-15 13:22:50 -0500 |
| commit | 9672616f431c8c4161238fe7ad1e2b4cf3040320 (patch) | |
| tree | 3320debcde63374b8b713a872951cf28560a97c2 | |
| parent | 3f9ae573a312285dee54590795ec3bf35afee4ce (diff) | |
Added zoxide for cd, updated bashrc, trying to get latest hyprland
portal working, and beginning to try and use flakes in home-manager for
nix packages.
| -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 | ||
