Compare

600c4b820040a8d26e2e3a13ff341810a0ba1293broken-new-portal · 33 commits

merge base 600c4b820040…

Changed files

FileChanges
RyanThinkpad.scm +4 −0 raw
c.scm +6 −0 raw
channels.scm +3 −3 raw
deploy.sh +93 −0 raw
home-config/aerc/binds.conf +1 −0 raw
home-config/alacritty/alacritty.yml +5 −3 raw
home-config/bash_profile +5 −0 raw
home-config/bashrc +3 −0 raw
home-config/deploy-flag +0 −0 raw
home-config/fonts/AnonymicePro/AnonymiceProNerdFont-Bold.ttf binary raw
home-config/fonts/AnonymicePro/AnonymiceProNerdFont-BoldItalic.ttf binary raw
home-config/fonts/AnonymicePro/AnonymiceProNerdFont-Italic.ttf binary raw
home-config/fonts/AnonymicePro/AnonymiceProNerdFont-Regular.ttf binary raw
home-config/fonts/AnonymicePro/AnonymiceProNerdFontMono-Bold.ttf binary raw
home-config/fonts/AnonymicePro/AnonymiceProNerdFontMono-BoldItalic.ttf binary raw
home-config/fonts/AnonymicePro/AnonymiceProNerdFontMono-Italic.ttf binary raw
home-config/fonts/AnonymicePro/AnonymiceProNerdFontMono-Regular.ttf binary raw
home-config/fonts/AnonymicePro/AnonymiceProNerdFontPropo-Bold.ttf binary raw
home-config/fonts/AnonymicePro/AnonymiceProNerdFontPropo-BoldItalic.ttf binary raw
home-config/fonts/AnonymicePro/AnonymiceProNerdFontPropo-Italic.ttf binary raw
home-config/fonts/AnonymicePro/AnonymiceProNerdFontPropo-Regular.ttf binary raw
home-config/fonts/AnonymicePro/OFL.txt +94 −0 raw
home-config/fonts/AnonymicePro/readme.md +8 −0 raw
home-config/fonts/MonofurNerdFont/LICENSE.txt +20 −0 raw
home-config/fonts/MonofurNerdFont/MonofurNerdFont-Bold.ttf binary raw
home-config/fonts/MonofurNerdFont/MonofurNerdFont-Italic.ttf binary raw
home-config/fonts/MonofurNerdFont/MonofurNerdFont-Regular.ttf binary raw
home-config/fonts/MonofurNerdFont/MonofurNerdFontMono-Bold.ttf binary raw
home-config/fonts/MonofurNerdFont/MonofurNerdFontMono-Italic.ttf binary raw
home-config/fonts/MonofurNerdFont/MonofurNerdFontMono-Regular.ttf binary raw
home-config/fonts/MonofurNerdFont/MonofurNerdFontPropo-Bold.ttf binary raw
home-config/fonts/MonofurNerdFont/MonofurNerdFontPropo-Italic.ttf binary raw
home-config/fonts/MonofurNerdFont/MonofurNerdFontPropo-Regular.ttf binary raw
home-config/fonts/MonofurNerdFont/readme.md +8 −0 raw
home-config/home-configuration.scm +10 −2 raw
home-config/nix-home-manager/home.nix +3 −0 raw
home-config/nvim/config/init.vim +21 −1 raw
home-config/waybar/config +10 −9 raw
home-config/waybar/modules/check-for-music.sh +7 −0 raw
home-config/waybar/modules/spotify.sh +4 −4 raw
home-config/waybar/style.css +1 −1 raw
modules/ryan-config/base-system.scm +10 −4 raw
modules/ryan-config/deploy-templates/HostTemplate +19 −0 raw
modules/ryan-config/deploy-templates/HostTemplateEncrypted +24 −0 raw
modules/ryan-config/user_first_run.sh +20 −0 raw
modules/ryan-packages/audio.scm +81 −0 raw
modules/ryan-packages/freedesktop.scm +112 −1 raw
modules/ryan-packages/mozilla.scm +62 −0 raw
modules/ryan-packages/virtualization.scm +45 −0 raw

Commits

HashSubjectAuthorDate
c12f7856 added initial, but broken, code Ryan Schanzenbacher
7dfd35ba FINALLY added netcat to my profile Ryan Schanzenbacher
fe9be57c gnunet and rust Ryan Schanzenbacher
52fc10ce transparency Ryan Schanzenbacher
5d9d6bcd added iommu Ryan Schanzenbacher
6089f971 fixed waybar? Ryan Schanzenbacher
04dbaab8 updated ryan77627
e2cc3f5f test 1 for auto deploy Ryan Schanzenbacher
a3a44f90 some deploy.sh changes Ryan Schanzenbacher
297ef48f added firefox native Ryan Schanzenbacher
9f69bb20 fixed shebang Ryan Schanzenbacher
24aab6a9 updated deploy script Ryan Schanzenbacher
33a7e152 preparing deploy script Ryan Schanzenbacher
b53809f9 nvim settings update Ryan Schanzenbacher
1ab06937 more fonts Ryan Schanzenbacher
606e3b8e waybar stuffs Ryan Schanzenbacher
9c784f79 added fonts and wl-mirror Ryan Schanzenbacher
33ab4884 fast connect Ryan Schanzenbacher
84776eae added experimental for headphone battery :3 Ryan Schanzenbacher
f9f087f0 added music info to waybar Ryan Schanzenbacher
e8351e69 SSH fix Ryan Schanzenbacher
409c1576 added quit keybind for terminal Ryan Schanzenbacher
4fce6bee added waypipe Ryan Schanzenbacher
cab45387 added rsync and pipeview Ryan Schanzenbacher
c8b287a7 libvirt works libvirt works libvirt works Ryan Schanzenbacher
43ea80ea libvirt pain Ryan Schanzenbacher
438237db added dconf for virt-manager settings to persist Ryan Schanzenbacher
76c68a9a added more aliases, this time for pulling Ryan Schanzenbacher
8eccf674 added python lsp by default Ryan Schanzenbacher
7c01f4cd added automatic language server stuff in neovim Ryan Schanzenbacher
eafe6ee0 Added mason to vim Ryan Schanzenbacher
2ad028eb added new deploy alias Ryan Schanzenbacher
1e3c6cd9 Changed setting for org_mode Ryan Schanzenbacher
diff --git a/RyanThinkpad.scm b/RyanThinkpad.scm
index bfacd6b..1066bac 100644
--- a/RyanThinkpad.scm
+++ b/RyanThinkpad.scm
@@ -3,6 +3,10 @@
(operating-system
(inherit base-operating-system)
+ (kernel-arguments (append (list "intel_iommu=on")
+ %default-kernel-arguments))
+ (initrd-modules (cons* "vfio_pci" "vfio" "vfio_iommu_type1"
+ %base-initrd-modules))
(host-name "RyanThinkpad")
(mapped-devices (list (mapped-device
(source (uuid
diff --git a/c.scm b/c.scm
new file mode 100644
index 0000000..afbc055
--- /dev/null
+++ b/c.scm
@@ -0,0 +1,6 @@
+(use-modules (guix ci))
+
+(list (channel-with-substitutes-available
+ %default-guix-channel
+ "https://ci.guix.gnu.org")
+ )
diff --git a/channels.scm b/channels.scm
index fbdff0a..405dd1c 100644
--- a/channels.scm
+++ b/channels.scm
@@ -3,7 +3,7 @@
(url "https://git.savannah.gnu.org/git/guix.git")
(branch "master")
(commit
- "d43b53c476b4e9322b31274b788e851d37e72302")
+ "40e78353a4699b8edb6600d82df648914c9110b9")
(introduction
(make-channel-introduction
"9edb3f66fd807b096b48283debdcddccfea34bad"
@@ -14,7 +14,7 @@
(url "https://gitlab.com/nonguix/nonguix")
(branch "master")
(commit
- "1a3082c574077aaf6771ff927e725fc390a2d531")
+ "bb184bd0a8f91beec3a00718759e96c7828853de")
(introduction
(make-channel-introduction
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
@@ -25,7 +25,7 @@
(url "https://codeberg.org/hako/rosenthal.git")
(branch "trunk")
(commit
- "129ca6fe164bf8b5a37357bab8c5229b611f1df2")
+ "58ad8f96b670fd58c474d188be7ae8fa0840b791")
(introduction
(make-channel-introduction
"7677db76330121a901604dfbad19077893865f35"
diff --git a/deploy.sh b/deploy.sh
new file mode 100755
index 0000000..f27d6c9
--- /dev/null
+++ b/deploy.sh
@@ -0,0 +1,93 @@
+#!/run/current-system/profile/bin/bash
+
+gather_env() {
+ # Gather needed information
+ echo -n "Type 'e' for encrypted or 'd' for decrypted install: "
+ read install_type
+
+ echo -n "Type system hostname: "
+ read install_hostname
+
+ echo -n "Type device file for ROOT data: "
+ read root_dev
+
+ echo -n "Type device file for BOOT data: "
+ read boot_dev
+
+ echo -n "Type device file for SWAP: "
+ read swap_dev
+
+}
+
+copy_and_prepare() {
+ # Associate devs with uuids
+ root_uuid=`blkid $root_dev | awk -F\" '{print $2}'`
+ boot_uuid=`blkid $boot_dev | awk -F\" '{print $2}'`
+ swap_uuid=`blkid $swap_dev | awk -F\" '{print $2}'`
+ # Let's a go!
+ echo "Information gathered. Deploying Guix on $root_dev ($root_uuid) with boot on $boot_dev ($boot_uuid) and swap on $swap_dev ($swap_uuid)"
+ echo -n "Proceed? (y/n): "
+ read install_choice
+
+ if [ "$install_choice" != "y" ]
+ then
+ echo "Bailing!"
+ exit 1
+ fi
+
+ # We are installing!
+ # Copy template to root of repo
+ if [ "$install_type" == "e" ]
+ then
+ cp ./modules/ryan-config/deploy-templates/HostTemplateEncrypted ./$install_hostname.scm
+ elif [ "$install_type" == "d" ]
+ then
+ cp ./modules/ryan-config/deploy-templates/HostTemplate ./$install_hostname.scm
+ else
+ echo "Invalid install type (not d or e), bailing!"
+ exit 1
+ fi
+
+ # Correct the information
+ sed -i "s/ChangeMe_ROOT/$root_uuid/" ./$install_hostname.scm
+ sed -i "s/ChangeMe_BOOTEFI/$boot_uuid/" ./$install_hostname.scm
+ sed -i "s/ChangeMe_SWAP/$swap_uuid/" ./$install_hostname.scm
+ sed -i "s/ChangeMe_HOST/$install_hostname/" ./$install_hostname.scm
+
+ # Install!
+ echo "Mounting /gnu/store to destination disk..."
+ herd start cow-store /mnt
+
+ # Install the non-guix signing keys
+ echo "Installing non-guix signing keys for substitutes..."
+ curl -o sign-key.pub https://substitutes.nonguix.org/signing-key.pub
+ guix archive --authorize < sign-key.pub
+}
+
+install_system() {
+ echo "Beginning install!"
+ guix time-machine -C ./channels.scm -- system -L ./modules --substitute-urls='https://substitutes.nonguix.org https://bordeaux.guix.gnu.org https://ci.guix.gnu.org' init $install_hostname.scm /mnt
+}
+
+install_user_env() {
+ # System should be installed now, we can chroot in and configure the user profile now
+ # NOTE: This assumes the user "ryan" for things, so change the USER var if you change your username
+
+ # Copy some files over to prepare for reboot
+ USER=ryan
+ guix shell git -- git clone https://git.stationery.faith/ryan77627/guix-dotfiles /mnt/home/$USER/.config/guix
+
+ cp ~/guix-dotfiles/$install_hostname.scm /mnt/home/$USER/.config/guix/$install_hostname.scm
+ cp ~/guix-dotfiles/modules/ryan-config/user_first_run.sh /mnt/home/$USER/.bashrc
+
+ chown 1000:1000 -R /mnt/home/ryan
+
+}
+
+gather_env
+copy_and_prepare
+install_system
+install_user_env
+
+# Reboot the machine at this point!
+reboot
diff --git a/home-config/aerc/binds.conf b/home-config/aerc/binds.conf
index 49447e6..f06ee85 100644
--- a/home-config/aerc/binds.conf
+++ b/home-config/aerc/binds.conf
@@ -138,6 +138,7 @@ C = :multipart text/html<Enter>
[terminal]
$noinherit = true
$ex = <C-x>
+<C-q> = :close<Enter>
<C-p> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>
diff --git a/home-config/alacritty/alacritty.yml b/home-config/alacritty/alacritty.yml
index 0d3550b..4fbd991 100644
--- a/home-config/alacritty/alacritty.yml
+++ b/home-config/alacritty/alacritty.yml
@@ -1,13 +1,15 @@
+window:
+ opacity: 0.70
font:
size: 15
normal:
- family: "Monofur for Powerline"
+ family: "Monofur Nerd Font Mono"
style: Regular
bold:
- family: "Monofur for Powerline"
+ family: "Monofur Nerd Font Mono"
style: Bold
italic:
- family: "Monofur for Powerline"
+ family: "Monofur Nerd Font Mono"
style: Italic
diff --git a/home-config/bash_profile b/home-config/bash_profile
index d58e435..1aa335f 100644
--- a/home-config/bash_profile
+++ b/home-config/bash_profile
@@ -9,3 +9,8 @@ export PATH=$PATH:~/.nix-profile/bin
# Honor per-interactive-shell startup file
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
+
+if [ -z "$SSH_CLIENT" ] && [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
+ exec Hyprland
+fi
+
diff --git a/home-config/bashrc b/home-config/bashrc
index 12c9cf9..03d6b54 100644
--- a/home-config/bashrc
+++ b/home-config/bashrc
@@ -40,6 +40,9 @@ export EDITOR=nvim
alias cat='bat --paging=never'
alias ds='sudo -E guix system -L ~/.config/guix/modules reconfigure ~/.config/guix/$(hostname).scm'
alias dh='guix home -L ~/.config/guix/modules reconfigure ~/.config/guix/home-config/home-configuration.scm && home-manager switch'
+alias gc='git -C ~/.config/guix add . && git -C ~/.config/guix commit && git -C ~/.config/guix push all'
+alias cg='git -C ~/.config/guix pull'
+alias cgh='git -C ~/.config/guix pull stationeryh main'
export XDG_DATA_DIRS=$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:/home/ryan/.local/share/flatpak/exports/share
# GPG SETUP FOR SSH
diff --git a/home-config/deploy-flag b/home-config/deploy-flag
new file mode 100644
index 0000000..e69de29
diff --git a/home-config/fonts/AnonymicePro/AnonymiceProNerdFont-Bold.ttf b/home-config/fonts/AnonymicePro/AnonymiceProNerdFont-Bold.ttf
new file mode 100644
index 0000000..0482a5d
Binary files /dev/null and b/home-config/fonts/AnonymicePro/AnonymiceProNerdFont-Bold.ttf differ
diff --git a/home-config/fonts/AnonymicePro/AnonymiceProNerdFont-BoldItalic.ttf b/home-config/fonts/AnonymicePro/AnonymiceProNerdFont-BoldItalic.ttf
new file mode 100644
index 0000000..0ea8dfe
Binary files /dev/null and b/home-config/fonts/AnonymicePro/AnonymiceProNerdFont-BoldItalic.ttf differ
diff --git a/home-config/fonts/AnonymicePro/AnonymiceProNerdFont-Italic.ttf b/home-config/fonts/AnonymicePro/AnonymiceProNerdFont-Italic.ttf
new file mode 100644
index 0000000..c373d01
Binary files /dev/null and b/home-config/fonts/AnonymicePro/AnonymiceProNerdFont-Italic.ttf differ
diff --git a/home-config/fonts/AnonymicePro/AnonymiceProNerdFont-Regular.ttf b/home-config/fonts/AnonymicePro/AnonymiceProNerdFont-Regular.ttf
new file mode 100644
index 0000000..5fcf955
Binary files /dev/null and b/home-config/fonts/AnonymicePro/AnonymiceProNerdFont-Regular.ttf differ
diff --git a/home-config/fonts/AnonymicePro/AnonymiceProNerdFontMono-Bold.ttf b/home-config/fonts/AnonymicePro/AnonymiceProNerdFontMono-Bold.ttf
new file mode 100644
index 0000000..ccdfff1
Binary files /dev/null and b/home-config/fonts/AnonymicePro/AnonymiceProNerdFontMono-Bold.ttf differ
diff --git a/home-config/fonts/AnonymicePro/AnonymiceProNerdFontMono-BoldItalic.ttf b/home-config/fonts/AnonymicePro/AnonymiceProNerdFontMono-BoldItalic.ttf
new file mode 100644
index 0000000..2091671
Binary files /dev/null and b/home-config/fonts/AnonymicePro/AnonymiceProNerdFontMono-BoldItalic.ttf differ
diff --git a/home-config/fonts/AnonymicePro/AnonymiceProNerdFontMono-Italic.ttf b/home-config/fonts/AnonymicePro/AnonymiceProNerdFontMono-Italic.ttf
new file mode 100644
index 0000000..67103b6
Binary files /dev/null and b/home-config/fonts/AnonymicePro/AnonymiceProNerdFontMono-Italic.ttf differ
diff --git a/home-config/fonts/AnonymicePro/AnonymiceProNerdFontMono-Regular.ttf b/home-config/fonts/AnonymicePro/AnonymiceProNerdFontMono-Regular.ttf
new file mode 100644
index 0000000..8610b5b
Binary files /dev/null and b/home-config/fonts/AnonymicePro/AnonymiceProNerdFontMono-Regular.ttf differ
diff --git a/home-config/fonts/AnonymicePro/AnonymiceProNerdFontPropo-Bold.ttf b/home-config/fonts/AnonymicePro/AnonymiceProNerdFontPropo-Bold.ttf
new file mode 100644
index 0000000..303c6cf
Binary files /dev/null and b/home-config/fonts/AnonymicePro/AnonymiceProNerdFontPropo-Bold.ttf differ
diff --git a/home-config/fonts/AnonymicePro/AnonymiceProNerdFontPropo-BoldItalic.ttf b/home-config/fonts/AnonymicePro/AnonymiceProNerdFontPropo-BoldItalic.ttf
new file mode 100644
index 0000000..71f2427
Binary files /dev/null and b/home-config/fonts/AnonymicePro/AnonymiceProNerdFontPropo-BoldItalic.ttf differ
diff --git a/home-config/fonts/AnonymicePro/AnonymiceProNerdFontPropo-Italic.ttf b/home-config/fonts/AnonymicePro/AnonymiceProNerdFontPropo-Italic.ttf
new file mode 100644
index 0000000..5e1885e
Binary files /dev/null and b/home-config/fonts/AnonymicePro/AnonymiceProNerdFontPropo-Italic.ttf differ
diff --git a/home-config/fonts/AnonymicePro/AnonymiceProNerdFontPropo-Regular.ttf b/home-config/fonts/AnonymicePro/AnonymiceProNerdFontPropo-Regular.ttf
new file mode 100644
index 0000000..2ef511d
Binary files /dev/null and b/home-config/fonts/AnonymicePro/AnonymiceProNerdFontPropo-Regular.ttf differ
diff --git a/home-config/fonts/AnonymicePro/OFL.txt b/home-config/fonts/AnonymicePro/OFL.txt
new file mode 100644
index 0000000..68d1d00
--- /dev/null
+++ b/home-config/fonts/AnonymicePro/OFL.txt
@@ -0,0 +1,94 @@
+Copyright (c) 2009, Mark Simonson (http://www.ms-studio.com, mark@marksimonson.com),
+with Reserved Font Name Anonymous Pro.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/home-config/fonts/AnonymicePro/readme.md b/home-config/fonts/AnonymicePro/readme.md
new file mode 100644
index 0000000..9f2e700
--- /dev/null
+++ b/home-config/fonts/AnonymicePro/readme.md
@@ -0,0 +1,8 @@
+
+# Nerd Fonts
+
+This is an archived font from a Nerd Fonts release.
+
+For more information see:
+* https://github.com/ryanoasis/nerd-fonts/
+* https://github.com/ryanoasis/nerd-fonts/releases/latest/
diff --git a/home-config/fonts/MonofurNerdFont/LICENSE.txt b/home-config/fonts/MonofurNerdFont/LICENSE.txt
new file mode 100644
index 0000000..b20cf9b
--- /dev/null
+++ b/home-config/fonts/MonofurNerdFont/LICENSE.txt
@@ -0,0 +1,20 @@
+------------------------------------------------------------------------
+The monofur typeface by tobias b koehler (unci@tigerden.com)
+------------------------------------------------------------------------
+
+This is a monospaced geometric rounded sans serif font based on the
+eurofurence typeface family.
+
+The character set includes Roman, Greek and Cyrillic characters as well
+as box drawing characters. File format is TrueType for PC (under
+Windows, Linux etc).
+
+These fonts are freeware and can be distributed as long as they are
+together with this text file. I would appreciate it though if you could
+contact me at unci@tigerden.com if you put them on a server. Free
+samples from commercial users are always very welcome. :)
+
+For more information, please see the uncifonts WWW page at:
+http://mercurio.iet.unipi.it/users/tobias/uncifonts.html
+
+Have fun! tobias b koehler, 2000-04-02
\ No newline at end of file
diff --git a/home-config/fonts/MonofurNerdFont/MonofurNerdFont-Bold.ttf b/home-config/fonts/MonofurNerdFont/MonofurNerdFont-Bold.ttf
new file mode 100644
index 0000000..a7f5a8f
Binary files /dev/null and b/home-config/fonts/MonofurNerdFont/MonofurNerdFont-Bold.ttf differ
diff --git a/home-config/fonts/MonofurNerdFont/MonofurNerdFont-Italic.ttf b/home-config/fonts/MonofurNerdFont/MonofurNerdFont-Italic.ttf
new file mode 100644
index 0000000..4ae48d3
Binary files /dev/null and b/home-config/fonts/MonofurNerdFont/MonofurNerdFont-Italic.ttf differ
diff --git a/home-config/fonts/MonofurNerdFont/MonofurNerdFont-Regular.ttf b/home-config/fonts/MonofurNerdFont/MonofurNerdFont-Regular.ttf
new file mode 100644
index 0000000..bfce77f
Binary files /dev/null and b/home-config/fonts/MonofurNerdFont/MonofurNerdFont-Regular.ttf differ
diff --git a/home-config/fonts/MonofurNerdFont/MonofurNerdFontMono-Bold.ttf b/home-config/fonts/MonofurNerdFont/MonofurNerdFontMono-Bold.ttf
new file mode 100644
index 0000000..459891e
Binary files /dev/null and b/home-config/fonts/MonofurNerdFont/MonofurNerdFontMono-Bold.ttf differ
diff --git a/home-config/fonts/MonofurNerdFont/MonofurNerdFontMono-Italic.ttf b/home-config/fonts/MonofurNerdFont/MonofurNerdFontMono-Italic.ttf
new file mode 100644
index 0000000..75e7ed9
Binary files /dev/null and b/home-config/fonts/MonofurNerdFont/MonofurNerdFontMono-Italic.ttf differ
diff --git a/home-config/fonts/MonofurNerdFont/MonofurNerdFontMono-Regular.ttf b/home-config/fonts/MonofurNerdFont/MonofurNerdFontMono-Regular.ttf
new file mode 100644
index 0000000..f69999c
Binary files /dev/null and b/home-config/fonts/MonofurNerdFont/MonofurNerdFontMono-Regular.ttf differ
diff --git a/home-config/fonts/MonofurNerdFont/MonofurNerdFontPropo-Bold.ttf b/home-config/fonts/MonofurNerdFont/MonofurNerdFontPropo-Bold.ttf
new file mode 100644
index 0000000..7b3a405
Binary files /dev/null and b/home-config/fonts/MonofurNerdFont/MonofurNerdFontPropo-Bold.ttf differ
diff --git a/home-config/fonts/MonofurNerdFont/MonofurNerdFontPropo-Italic.ttf b/home-config/fonts/MonofurNerdFont/MonofurNerdFontPropo-Italic.ttf
new file mode 100644
index 0000000..a639973
Binary files /dev/null and b/home-config/fonts/MonofurNerdFont/MonofurNerdFontPropo-Italic.ttf differ
diff --git a/home-config/fonts/MonofurNerdFont/MonofurNerdFontPropo-Regular.ttf b/home-config/fonts/MonofurNerdFont/MonofurNerdFontPropo-Regular.ttf
new file mode 100644
index 0000000..f02fd35
Binary files /dev/null and b/home-config/fonts/MonofurNerdFont/MonofurNerdFontPropo-Regular.ttf differ
diff --git a/home-config/fonts/MonofurNerdFont/readme.md b/home-config/fonts/MonofurNerdFont/readme.md
new file mode 100644
index 0000000..9f2e700
--- /dev/null
+++ b/home-config/fonts/MonofurNerdFont/readme.md
@@ -0,0 +1,8 @@
+
+# Nerd Fonts
+
+This is an archived font from a Nerd Fonts release.
+
+For more information see:
+* https://github.com/ryanoasis/nerd-fonts/
+* https://github.com/ryanoasis/nerd-fonts/releases/latest/
diff --git a/home-config/home-configuration.scm b/home-config/home-configuration.scm
index 9e7c6cb..b84d5e0 100644
--- a/home-config/home-configuration.scm
+++ b/home-config/home-configuration.scm
@@ -16,7 +16,9 @@
(gnu home services desktop)
(gnu home services gnupg)
(gnu home services)
- (ryan-services pipewire))
+ (ryan-services pipewire)
+ (ryan-packages freedesktop)
+ (ryan-packages mozilla))
(define my-neovim
(package
@@ -33,17 +35,22 @@
"abook"
"libnotify"
"fzf"
+ "waypipe"
+ "gnunet"
"qrencode"
"binutils"
"gcc-toolchain"
"borg"
"restic"
+ "rsync"
+ "pv"
"python-msgpack"
"libreoffice"
"flatpak"
"gnupg"
"lsof"
"pavucontrol"
+ "netcat"
"bind:utils"
"font-cns11643"
"syncthing"
@@ -86,8 +93,9 @@
"tcpdump"
"pamixer"
"git"
+ "node"
"git-lfs"))
- (list my-neovim)))
+ (list my-neovim wl-mirror firefox-wayland-new)))
;; Below is the list of Home services. To search for available
;; services, run 'guix home search KEYWORD' in a terminal.
diff --git a/home-config/nix-home-manager/home.nix b/home-config/nix-home-manager/home.nix
index f5833e4..8a37125 100644
--- a/home-config/nix-home-manager/home.nix
+++ b/home-config/nix-home-manager/home.nix
@@ -30,6 +30,9 @@
yt-dlp
xdg-desktop-portal-hyprland
pass
+ rustup
+ gcc
+ pkg-config
# # It is sometimes useful to fine-tune packages, for example, by applying
# # overrides. You can do that directly here, just don't forget the
diff --git a/home-config/nvim/config/init.vim b/home-config/nvim/config/init.vim
index 1d3903f..fc06b50 100644
--- a/home-config/nvim/config/init.vim
+++ b/home-config/nvim/config/init.vim
@@ -5,6 +5,8 @@ set sw=4
set sts=4
set et
set mouse=
+set cursorline
+set cc=79
call plug#begin(stdpath('data') . '/plugged')
"Plug 'prabirshrestha/vim-lsp'
@@ -23,6 +25,9 @@ Plug 'nvim-lualine/lualine.nvim'
Plug 'nvim-tree/nvim-web-devicons'
Plug 'ms-jpq/coq_nvim', {'branch':'coq'}
Plug 'ms-jpq/coq.artifacts', {'branch':'artifacts'}
+Plug 'williamboman/mason.nvim'
+Plug 'williamboman/mason-lspconfig.nvim'
+Plug 'neovim/nvim-lspconfig'
Plug 'nvim-orgmode/orgmode'
call plug#end()
@@ -37,17 +42,32 @@ lua << END
require('lualine').setup()
require('coq')
require('orgmode').setup_ts_grammar()
+require("mason").setup()
+require("mason-lspconfig").setup {
+ ensure_installed = { "pyright" },
+}
+
+require("mason-lspconfig").setup_handlers {
+ function (server_name)
+ require("lspconfig")[server_name].setup {}
+ end,
+}
+
require('nvim-treesitter.configs').setup {
highlight = {
enable = true,
additional_vim_regex_highlighting = {'org'},
},
- ensure_installed = {'org', 'vim'},
+ ensure_installed = {'org', 'vim', 'python'},
}
require('orgmode').setup({
org_agenda_files = {'~/Sync/org/**/*'},
org_default_notes_file = '~/Sync/org/refile.org',
+ org_blank_before_new_entry = {
+ heading = false,
+ plain_list_item = false,
+ },
})
vim.opt.conceallevel = 2
diff --git a/home-config/waybar/config b/home-config/waybar/config
index 677c60c..3dff06a 100644
--- a/home-config/waybar/config
+++ b/home-config/waybar/config
@@ -3,14 +3,15 @@
"position": "top",
"height": 30,
- "modules-left": ["wlr/workspaces", "hyprland/submap"],
+ "modules-left": ["hyprland/workspaces", "hyprland/submap"],
"modules-center": ["hyprland/window"],
"modules-right": ["tray", "custom/spotify", "custom/weather", "custom/mail", "custom/storage", "backlight", "bluetooth", "pulseaudio", "network", "idle_inhibitor", "battery", "clock"],
"hyprland/submap": {
"format": " {}"
},
- "wlr/workspaces": {
- "format": "{name}",
+ "hyprland/workspaces": {
+ "format": "{id}",
+ "all-outputs": false,
"disable-scroll": true
},
"hyprland/window": {
@@ -36,10 +37,10 @@
"bat":"BAT1"
},
"bluetooth": {
- "format": "",
- "format-disabled": "",
- "format-connected": "",
- "format-connected-battery": " {device_battery_percentage}%",
+ "format": "󰂯",
+ "format-disabled": "󰂲",
+ "format-connected": "󰂯",
+ "format-connected-battery": "󰂱 {device_battery_percentage}%",
"on-click": "blueman-manager",
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
@@ -75,9 +76,9 @@
"interval": 2,
"return-type": "json",
"exec": "~/.config/waybar/modules/spotify.sh",
- "exec-if": "pgrep spotifyd",
+ "exec-if": "~/.config/waybar/modules/check-for-music.sh",
"escape": true,
- "on-click": "~/.config/waybar/modules/spotify-play-pause.sh play-pause"
+ "on-click": "playerctl play-pause"
},
"custom/storage": {
"format-alt": "{} ",
diff --git a/home-config/waybar/modules/check-for-music.sh b/home-config/waybar/modules/check-for-music.sh
new file mode 100755
index 0000000..3b735a2
--- /dev/null
+++ b/home-config/waybar/modules/check-for-music.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+if [[ $(playerctl metadata --format '{{lc(status)}}' | grep playing) -eq 0 ]]; then
+ exit 0
+else
+ exit 1
+fi
diff --git a/home-config/waybar/modules/spotify.sh b/home-config/waybar/modules/spotify.sh
index a75136c..fc732a1 100755
--- a/home-config/waybar/modules/spotify.sh
+++ b/home-config/waybar/modules/spotify.sh
@@ -1,12 +1,12 @@
#!/bin/sh
-class=$(playerctl metadata --player=spotifyd --format '{{lc(status)}}')
-icon=""
+class=$(playerctl metadata --format '{{lc(status)}}')
+icon="󰎆"
if [[ $class == "playing" ]]; then
- info=$(playerctl metadata --player=spotifyd --format '{{artist}} - {{title}}')
+ info=$(playerctl metadata --format '{{artist}} - {{title}}')
if [[ ${#info} > 40 ]]; then
- info=$(echo $info | cut -c1-40)"..."
+ info=$(playerctl metadata --format '{{title}}' | cut -c1-40)"..."
fi
text=$info" "$icon
elif [[ $class == "paused" ]]; then
diff --git a/home-config/waybar/style.css b/home-config/waybar/style.css
index 0e98fc6..548056f 100644
--- a/home-config/waybar/style.css
+++ b/home-config/waybar/style.css
@@ -1,7 +1,7 @@
* {
border: none;
border-radius: 0;
- font-family: Sans;
+ font-family: AnonymicePro Nerd Font;
font-size: 15px;
box-shadow: none;
text-shadow: none;
diff --git a/modules/ryan-config/base-system.scm b/modules/ryan-config/base-system.scm
index bc8bcbe..bf16141 100644
--- a/modules/ryan-config/base-system.scm
+++ b/modules/ryan-config/base-system.scm
@@ -12,6 +12,7 @@
#:use-module (srfi srfi-1)
#:use-module (ryan-packages freedesktop)
#:use-module (ryan-packages wm)
+ #:use-module (ryan-packages virtualization)
#:use-module (rosenthal packages wm)
#:use-module (gnu packages security-token)
#:use-module (gnu services security-token)
@@ -139,12 +140,13 @@
"v4l2loopback-linux-module"
"pipewire"
"docker"
- "libvirt"
- "virt-manager"
+ ;"libvirt" ;New version inherited from service
+ ;"virt-manager"
+ "dconf"
"wireplumber"
"wireshark"
"zsh"))
- (list my-ca-certs swaylock-effects-new waybar-new xdg-desktop-portal-hyprland)
+ (list my-ca-certs swaylock-effects-new waybar-new xdg-desktop-portal-hyprland virt-manager-ovmf)
%my-base-packages ))
;; Below is the list of system services. To search for available
@@ -168,9 +170,13 @@
(service nix-service-type)
(service libvirt-service-type
(libvirt-configuration
+ (libvirt libvirt-ovmf)
(unix-sock-group "libvirt")))
(service virtlog-service-type)
- (service bluetooth-service-type)
+ (service bluetooth-service-type
+ (bluetooth-configuration
+ (experimental #t)
+ (fast-connectable? #t)))
(udev-rules-service 'fido2 libfido2 #:groups '("plugdev")))
;; This is the default list of services we
diff --git a/modules/ryan-config/deploy-templates/HostTemplate b/modules/ryan-config/deploy-templates/HostTemplate
new file mode 100644
index 0000000..9718c51
--- /dev/null
+++ b/modules/ryan-config/deploy-templates/HostTemplate
@@ -0,0 +1,19 @@
+(use-modules (ryan-config base-system)
+ (gnu))
+
+(operating-system
+ (inherit base-operating-system)
+ (host-name "ChangeMe_HOST")
+ (file-systems (cons* (file-system
+ (mount-point "/")
+ (device (uuid "ChangeMe_ROOT"
+ 'ext4))
+ (type "ext4"))
+ (file-system
+ (mount-point "/boot/efi")
+ (device (uuid "ChangeMe_BOOTEFI"
+ 'fat32))
+ (type "vfat")) %base-file-systems))
+ (swap-devices
+ (list
+ (swap-space (target (uuid "ChangeMe_SWAP"))))))
diff --git a/modules/ryan-config/deploy-templates/HostTemplateEncrypted b/modules/ryan-config/deploy-templates/HostTemplateEncrypted
new file mode 100644
index 0000000..5d74aaa
--- /dev/null
+++ b/modules/ryan-config/deploy-templates/HostTemplateEncrypted
@@ -0,0 +1,24 @@
+(use-modules (ryan-config base-system)
+ (gnu))
+
+(operating-system
+ (inherit base-operating-system)
+ (host-name "ChangeMe_HOST")
+ (mapped-devices (list (mapped-device
+ (source (uuid
+ "ChangeMe_ROOT"))
+ (target "sysroot")
+ (type luks-device-mapping))))
+ (file-systems (cons* (file-system
+ (mount-point "/")
+ (device "/dev/mapper/sysroot")
+ (type "ext4")
+ (dependencies mapped-devices))
+ (file-system
+ (mount-point "/boot/efi")
+ (device (uuid "ChangeMe_BOOTEFI"
+ 'fat32))
+ (type "vfat")) %base-file-systems))
+ (swap-devices
+ (list
+ (swap-space (target (uuid "ChangeMe_SWAP"))))))
diff --git a/modules/ryan-config/user_first_run.sh b/modules/ryan-config/user_first_run.sh
new file mode 100644
index 0000000..6dd77fd
--- /dev/null
+++ b/modules/ryan-config/user_first_run.sh
@@ -0,0 +1,20 @@
+#!/run/current-system/profile/bin/bash
+
+# This should run on user first logon, so let's a go!
+# First, we should run a guix pull
+
+guix pull
+
+hash guix
+
+guix home -L ~/.config/guix/modules reconfigure ~/.config/guix/home-config/home-configuration.scm
+
+sudo herd restart nix-daemon
+
+nix-channel --update
+
+nix-shell '<home-manager>' -A install
+
+source ~/.bashrc
+
+home-manager switch
diff --git a/modules/ryan-packages/audio.scm b/modules/ryan-packages/audio.scm
new file mode 100644
index 0000000..575a64a
--- /dev/null
+++ b/modules/ryan-packages/audio.scm
@@ -0,0 +1,81 @@
+(define-module (ryan-packages audio)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix gexp)
+ #:use-module (guix build-system meson)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix utils)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages audio)
+ #:use-module (gnu packages pulseaudio)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages xiph)
+ #:use-module (gnu packages tbb)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages pretty-print)
+ #:use-module (gnu packages algebra)
+ #:use-module (gnu packages cpp)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages cmake)
+ #:use-module (gnu packages maths)
+ #:use-module (gnu packages pkg-config))
+
+(define-public easyeffects
+ (package
+ (name "easyeffects")
+ (version "7.0.1")
+ (arguments
+ (list
+ #:modules
+ '((guix build utils)
+ (guix build meson-build-system))
+ #:imported-modules
+ (append %meson-build-system-modules)
+ #:tests? #f))
+ (native-inputs (list gettext-minimal
+ itstool
+ desktop-file-utils
+ `(,glib "bin")
+ `(,gtk+ "bin")
+ pkg-config
+ cmake
+ appstream-glib))
+ (inputs (list zita-convolver
+ rnnoise
+ tbb
+ fftwf
+ lilv
+ fmt
+ rubberband
+ speexdsp
+ nlohmann-json
+ pipewire
+ libadwaita
+ libsigc++
+ libbs2b
+ libsndfile
+ libsamplerate
+ libebur128
+ libportal
+ gsl
+ speex
+ `(,util-linux "lib")))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/wwmm/easyeffects/archive/refs/tags/v" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "05j52fy51zjai7n0j23chydfgkfq9n82h2ih806z3b47zhk2h2j2"))))
+ (build-system meson-build-system)
+ (synopsis "Limiter, compressor, convolver, equalizer and auto volume and many other plugins for PipeWire applications")
+ (description "This package provides @code{easyeffects}, which is an audio application for use atop of @code{pipewire}
+ that allows effects that modify sound sources and sinks. This cannot be updated to the latest version (7.0.8) because
+ the packaged version of @code{gtk} is too old.")
+ (home-page "https://github.com/wwmm/easyeffects")
+ (license license:gpl3+)))
+
+easyeffects
diff --git a/modules/ryan-packages/freedesktop.scm b/modules/ryan-packages/freedesktop.scm
index 6e13d53..69519cb 100644
--- a/modules/ryan-packages/freedesktop.scm
+++ b/modules/ryan-packages/freedesktop.scm
@@ -4,6 +4,9 @@
#:use-module (guix gexp)
#:use-module (guix build-system meson)
#:use-module (guix build-system qt)
+ #:use-module (guix build-system cmake)
+ #:use-module (guix build utils)
+ #:use-module (guix build glib-or-gtk-build-system)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix utils)
@@ -15,6 +18,10 @@
#:use-module (gnu packages cmake)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages xorg)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages man)
#:use-module (rosenthal packages wm)
#:use-module (gnu packages wm))
@@ -34,7 +41,7 @@
(native-inputs (modify-inputs (package-native-inputs xdg-desktop-portal-wlr)
(append wlroots)))))
-(define-public xdg-desktop-portal-hyprland
+(define xdg-desktop-portal-hyprland-old-original
(package
(name "xdg-desktop-portal-hyprland")
(version "0.5.0")
@@ -97,4 +104,108 @@
(description "test")
(license license:bsd-3)))
+(define-public wl-mirror
+ (package
+ (name "wl-mirror")
+ (version "0.13.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Ferdi265/wl-mirror")
+ (commit (string-append "v" version))
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0vkd73x5r2585s3w1ckvslc2mq9qbzrm5xkwg8gpy9ydaxhn8hmp"))))
+ (inputs (list wayland egl-wayland mesa))
+ (native-inputs (list pkg-config scdoc wayland-protocols))
+ (build-system cmake-build-system)
+ (arguments (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'touch
+ (lambda _
+ (invoke "touch" "proto/wayland-protocols/.git")
+ (invoke "touch" "proto/wlr-protocols/.git"))))))
+ (home-page "bleh")
+ (synopsis "mirror displays")
+ (description "mirror displays")
+ (license license:expat)))
+
+(define-public xdg-desktop-portal-hyprland
+ (package
+ (name "xdg-desktop-portal-hyprland")
+ (version "1.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hyprwm/xdg-desktop-portal-hyprland")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "05gcdg3fw7plc9fri6rpq9la1xjij93jqkqmq57mrqjgwg3jlmrb"))))
+ (build-system meson-build-system)
+ (arguments
+ (list #:imported-modules
+ (append %meson-build-system-modules
+ %qt-build-system-modules)
+ #:modules
+ '((guix build utils)
+ (guix build meson-build-system)
+ ((guix build qt-build-system) #:prefix qt:))
+ #:tests? #f ;No tests
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* (find-files "." "\\.cp?*$")
+ (("/bin/sh") "sh")
+ (("\\<(sh|grim|slurp)\\>" _ cmd)
+ (search-input-file inputs (string-append "/bin/" cmd)))
+ (("\"(hyprland-share-picker)\"" _ cmd)
+ (string-append "\"" #$output "/bin/" cmd "\"")))))
+ ;; After building the portal, we need to build the share selector
+ ;; using qt
+ (add-after 'install 'chdir
+ (lambda _
+ (chdir "../source/hyprland-share-picker/")))
+ (add-after 'chdir 'qt-build
+ (lambda* (#:key (make-flags '()) (parallel-build? #t)
+ #:allow-other-keys)
+ ((assoc-ref qt:%standard-phases 'build)
+ #:make-flags make-flags
+ #:parallel-build? parallel-build?)))
+ (add-after 'qt-build 'install-hyprland-share-picker
+ (lambda _
+ (install-file "build/hyprland-share-picker"
+ (string-append #$output "/bin"))))
+ (add-after 'install-hyprland-share-picker 'qt-wrap
+ (assoc-ref qt:%standard-phases 'qt-wrap)))))
+ (native-inputs (list cmake-minimal pkg-config))
+ (inputs
+ (list bash-minimal
+ basu
+ grim
+ hyprland-protocols
+ libinih
+ mesa
+ pipewire
+ sdbus-c++
+ qtbase-5
+ slurp
+ `(,util-linux "lib")
+ wayland
+ wayland-protocols))
+ (home-page "https://github.com/hyprwm/xdg-desktop-portal-hyprland")
+ (synopsis "XDG Desktop Portal backend for Hyprland")
+ (description
+ "This package provides @code{xdg-desktop-portal-hyprland}, which extends
+@code{xdg-desktop-portal-wlr} for Hyprland with support for
+@code{xdg-desktop-portal} screenshot and casting interfaces, while adding a few
+extra portals specific to Hyprland, mostly for window sharing.")
+ (license license:expat)))
+
xdg-desktop-portal-hyprland
diff --git a/modules/ryan-packages/mozilla.scm b/modules/ryan-packages/mozilla.scm
new file mode 100644
index 0000000..8959b07
--- /dev/null
+++ b/modules/ryan-packages/mozilla.scm
@@ -0,0 +1,62 @@
+(define-module (ryan-packages mozilla)
+ #:use-module (gnu)
+ #:use-module (guix download)
+ #:use-module (guix packages)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages linux)
+ #:use-module (nonguix build-system binary)
+ #:use-module (guix build-system trivial)
+ #:use-module (nongnu packages mozilla))
+
+(define firefox*
+ (package/inherit
+ firefox
+ (inputs
+ (modify-inputs
+ (package-inputs firefox)
+ (delete "pipewire")
+ (append pipewire)))))
+
+(define-public firefox-wayland-new
+ (package
+ (inherit firefox*)
+ (name "firefox-wayland-new")
+ (native-inputs '())
+ (inputs
+ `(("bash" ,bash-minimal)
+ ("pipewire" ,pipewire)
+ ("firefox" ,firefox*)))
+ (build-system trivial-build-system)
+ (arguments
+ '(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((bash (assoc-ref %build-inputs "bash"))
+ (firefox (assoc-ref %build-inputs "firefox"))
+ (pipewire (assoc-ref %build-inputs "pipewire"))
+ (out (assoc-ref %outputs "out"))
+ (exe (string-append out "/bin/firefox")))
+ (mkdir-p (dirname exe))
+
+ (call-with-output-file exe
+ (lambda (port)
+ ;; NOTE: added "export LD_LIBRARY_PATH=pipewire"
+ ;; maybe this can be done better with `wrap-programm'
+ (format port "#!~a \n
+export LD_LIBRARY_PATH=~a \n
+export MOZ_ENABLE_WAYLAND=1 \n
+exec ~a $@\n"
+ (string-append bash "/bin/bash")
+ (string-append pipewire "/lib")
+ (string-append firefox "/bin/firefox"))))
+ (chmod exe #o555)
+
+ ;; Provide the manual and .desktop file.
+ (copy-recursively (string-append firefox "/share")
+ (string-append out "/share"))
+ (substitute* (string-append
+ out "/share/applications/firefox.desktop")
+ ((firefox) out))
+ #t))))))
diff --git a/modules/ryan-packages/virtualization.scm b/modules/ryan-packages/virtualization.scm
new file mode 100644
index 0000000..d59ad2e
--- /dev/null
+++ b/modules/ryan-packages/virtualization.scm
@@ -0,0 +1,45 @@
+;;; Stolen from https://g.tylerm.dev/tylerm/dotfiles/raw/branch/main/modules/home-packages/virtualization.scm
+
+(define-module (ryan-packages virtualization)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages package-management)
+ #:use-module (gnu packages build-tools)
+ #:use-module (gnu packages virtualization)
+ #:use-module (gnu packages firmware)
+ #:use-module (guix gexp))
+
+(define-public libvirt-ovmf
+ (package
+ (inherit libvirt)
+ (name "libvirt-ovmf")
+ (inputs
+ (modify-inputs (package-inputs libvirt)
+ (append qemu)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments libvirt)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-after 'install 'install-firmware
+ (lambda _
+ (let ((fmw (string-append #$output "/share/qemu")))
+ (mkdir-p fmw)
+ (copy-recursively #$(file-append qemu "/share/qemu") fmw))))))))))
+
+(define-public virt-manager-ovmf
+ (package
+ (inherit virt-manager)
+ (name "virt-manager-ovmf")
+ (inputs
+ (modify-inputs (package-inputs virt-manager)
+ (append qemu)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments virt-manager)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-after 'install 'install-firmware
+ (lambda _
+ (let ((fmw (string-append #$output "/share/qemu")))
+ (mkdir-p fmw)
+ (copy-recursively #$(file-append qemu "/share/firmware") fmw))))))))))