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/deploy.sh b/deploy.sh
index 07fc532..4d9df96 100755
--- a/deploy.sh
+++ b/deploy.sh
@@ -61,14 +61,14 @@ copy_and_prepare() {
# 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
- curl -o sign-key-r.pub http://129.21.92.78:8000/signing-key.pub
+ curl -o sign-key-r.pub http://129.21.94.53:8000/signing-key.pub
guix archive --authorize < sign-key.pub
guix archive --authorize < sign-key-r.pub
}
install_system() {
echo "Beginning install!"
- guix time-machine -C ./channels.scm -- system -L ./modules --substitute-urls='http://129.21.92.78:8080/ https://substitutes.nonguix.org https://bordeaux.guix.gnu.org https://ci.guix.gnu.org' init $install_hostname.scm /mnt
+ guix time-machine -C ./channels.scm -- system -L ./modules --substitute-urls='http://129.21.94.53:8080/ https://substitutes.nonguix.org https://bordeaux.guix.gnu.org https://ci.guix.gnu.org' init $install_hostname.scm /mnt
}
install_user_env() {
@@ -86,6 +86,60 @@ install_user_env() {
}
+if [[ $* == *-p ]]
+then
+ echo "Installing non-guix signing keys for substitutes..."
+ curl -o sign-key.pub https://substitutes.nonguix.org/signing-key.pub
+ curl -o sign-key-r.pub http://129.21.94.53:8000/signing-key.pub
+ guix archive --authorize < sign-key.pub
+ guix archive --authorize < sign-key-r.pub
+ guix time-machine -C ./channels.scm -- pull
+ exit 0
+elif [[ $* == *-i ]]
+then
+ gather_env
+ # 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_system
+ install_user_env
+ exit 0
+fi
+
gather_env
copy_and_prepare
install_system
diff --git a/home-config/aerc/aerc.conf b/home-config/aerc/aerc.conf
index ac4cbcb..5ccd325 100644
--- a/home-config/aerc/aerc.conf
+++ b/home-config/aerc/aerc.conf
@@ -64,6 +64,8 @@ log-level=trace
# Default: date<20,name<17,flags>4,subject<*
#index-columns=date<20,name<17,flags>4,subject<*
+spinner = '/,-,\,|'
+
#
# Each name in index-columns must have a corresponding column-$name setting.
# All column-$name settings accept golang text/template syntax. See
diff --git a/home-config/alacritty/alacritty.yml b/home-config/alacritty/alacritty.yml
index becd2f6..4fbd991 100644
--- a/home-config/alacritty/alacritty.yml
+++ b/home-config/alacritty/alacritty.yml
@@ -1,3 +1,5 @@
+window:
+ opacity: 0.70
font:
size: 15
normal:
diff --git a/home-config/home-configuration.scm b/home-config/home-configuration.scm
index f9fb2fd..d590e4d 100644
--- a/home-config/home-configuration.scm
+++ b/home-config/home-configuration.scm
@@ -36,12 +36,14 @@
"libnotify"
"fzf"
"waypipe"
+ "gnunet"
"qrencode"
"binutils"
"gcc-toolchain"
"borg"
"restic"
"rsync"
+ "cloc"
"pv"
"python-msgpack"
"libreoffice"
@@ -49,6 +51,7 @@
"gnupg"
"lsof"
"pavucontrol"
+ "netcat"
"bind:utils"
"font-cns11643"
"syncthing"
@@ -91,6 +94,7 @@
"tcpdump"
"pamixer"
"git"
+ "password-store"
"node"
"git-lfs"))
(list my-neovim wl-mirror firefox-wayland-new)))
@@ -110,6 +114,7 @@
(service home-xdg-configuration-files-service-type
`(("nvim/init.vim" ,(local-file "nvim/config/init.vim"))
("nvim/after/ftplugin/markdown/custom.vim" ,(local-file "nvim/config/after/ftplugin/markdown/custom.vim"))
+ ("nvim/after/ftplugin/mail/custom.vim" ,(local-file "nvim/config/after/ftplugin/mail/custom.vim"))
("sway" ,(local-file "sway" #:recursive? #t))
("hypr" ,(local-file "hypr" #:recursive? #t))
("waybar" ,(local-file "waybar" #:recursive? #t))
diff --git a/home-config/hypr/hyprland.conf b/home-config/hypr/hyprland.conf
index 66afdbb..dc07b33 100644
--- a/home-config/hypr/hyprland.conf
+++ b/home-config/hypr/hyprland.conf
@@ -119,6 +119,7 @@ bind = $mainMod, Return, exec, alacritty
bind = $mainMod SHIFT, Q, killactive
bind = $mainMod SHIFT, E, exit
bind = $mainMod SHIFT, Space, togglefloating
+bind = $mainMod SHIFT, Return, pin, active
bind = $mainMod, D, exec, fuzzel --width=35 --font='Hack:weight=bold:size=12' --background-color='282a36fa' --selection-color='3d4460fa' --line-height=20 --border-radius=20
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
@@ -214,6 +215,9 @@ windowrulev2 = nofullscreenrequest, class:^(firefox)$, title:^(Firefox — Shari
windowrulev2 = float,class:^(ala-wttr)$
windowrulev2 = size 740 712, class:^(ala-wttr)$
+# Change color of pinned windows
+windowrulev2 = bordercolor rgba(bf0000ee) rgba(ab00adee) 45deg,pinned:1
+
exec-once = ~/.config/hypr/autostart.sh
misc {
diff --git a/home-config/nix-home-manager/home.nix b/home-config/nix-home-manager/home.nix
index f5833e4..292f8ba 100644
--- a/home-config/nix-home-manager/home.nix
+++ b/home-config/nix-home-manager/home.nix
@@ -28,8 +28,10 @@
# # "Hello, world!" when run.
# pkgs.hello
yt-dlp
- xdg-desktop-portal-hyprland
- pass
+ #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/after/ftplugin/mail/custom.vim b/home-config/nvim/config/after/ftplugin/mail/custom.vim
new file mode 100644
index 0000000..41ad2e4
--- /dev/null
+++ b/home-config/nvim/config/after/ftplugin/mail/custom.vim
@@ -0,0 +1,2 @@
+setlocal tw=0
+setlocal lbr
diff --git a/home-config/waybar/config b/home-config/waybar/config
index 651d2ab..3dff06a 100644
--- a/home-config/waybar/config
+++ b/home-config/waybar/config
@@ -9,8 +9,9 @@
"hyprland/submap": {
"format": " {}"
},
- "wlr/workspaces": {
- "format": "{name}",
+ "hyprland/workspaces": {
+ "format": "{id}",
+ "all-outputs": false,
"disable-scroll": true
},
"hyprland/window": {
diff --git a/modules/ryan-config/base-system.scm b/modules/ryan-config/base-system.scm
index bf16141..c6e5d0e 100644
--- a/modules/ryan-config/base-system.scm
+++ b/modules/ryan-config/base-system.scm
@@ -186,7 +186,7 @@
(guix-configuration
(inherit config)
(substitute-urls
- (append (list "https://substitutes.nonguix.org")
+ (append (list "https://substitutes.nonguix.org" "http://129.21.94.53:8080")
%default-substitute-urls))
(authorized-keys
(cons* (plain-file "non-guix.pub"
@@ -195,7 +195,12 @@
(curve Ed25519)
(q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)
)
- )" ) %default-authorized-guix-keys))))
+ )" )
+ (plain-file "ryan-key.pub"
+ "(public-key
+ (ecc
+ (curve Ed25519)
+ (q #24ED64A7C001DAC05D47F586623EAC4C1F4BD2D267686D5781A9098808160ADC#)))" ) %default-authorized-guix-keys))))
(udev-service-type config =>
(udev-configuration
(inherit config)
diff --git a/modules/ryan-packages/web-server.scm b/modules/ryan-packages/web-server.scm
new file mode 100644
index 0000000..eb1c539
--- /dev/null
+++ b/modules/ryan-packages/web-server.scm
@@ -0,0 +1,63 @@
+(define-module (ryan-packages web-server)
+ #:use-module (guix download)
+ #:use-module (guix packages)
+ #:use-module (guix gexp)
+ #:use-module (gnu packages)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system go)
+ #:use-module (guix git-download)
+ #:use-module (gnu packages golang)
+ #:use-module (guix utils))
+
+(define-public go-github-com-caddy-certmagic
+ (package
+ (name "certmagic")
+ (version "0.19.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/caddyserver/certmagic")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0jgbkj0azkbs828vsd3gycpab8pycgf55vrxkvnfmwfjpdiq1551"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:tests? #f
+ #:go go-1.20
+ #:import-path "github.com/caddyserver/certmagic"))
+ (home-page "https://github.com/caddyserver/certmagic")
+ (synopsis "Certbot ACME")
+ (description "Automagic certificate management in Caddy")
+ (license license:expat)))
+
+(define-public caddy
+ (package
+ (name "Caddy")
+ (version "2.7.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/caddyserver/caddy")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0jgbkj0azkbs828vsd3gycpab8pycgf55vrxkvnfmwfjpdiq1551"))))
+ (build-system go-build-system)
+ (native-inputs (list go-github-com-google-uuid
+ go-go-uber-org-zap
+ go-github-com-caddy-certmagic
+ go-github-com-prometheus-client-golang
+ go-golang-org-x-term
+ go-golang-org-x-sys))
+ (arguments
+ (list #:tests? #f
+ #:go go-1.20
+ ;#:unpack-path "github.com/caddyserver/caddy"
+ #:import-path "github.com/caddyserver/caddy"))
+ (home-page "https://github.com/caddyserver/caddy")
+ (synopsis "Web server")
+ (description "This package serves the web")
+ (license license:expat)))
+
+caddy