diff options
Diffstat (limited to 'guix/jd')
| -rw-r--r-- | guix/jd/desktops/base.scm | 249 | ||||
| -rwxr-xr-x | guix/jd/desktops/berserker.scm | 17 | ||||
| -rw-r--r-- | guix/jd/desktops/mimir.scm | 14 | ||||
| -rw-r--r-- | guix/jd/home/services/desktop.scm | 198 | ||||
| -rw-r--r-- | guix/jd/home/services/emacs.scm | 113 | ||||
| -rw-r--r-- | guix/jd/home/services/polkit.scm | 31 | ||||
| -rw-r--r-- | guix/jd/packages/emacs.scm | 57 | ||||
| -rw-r--r-- | guix/jd/packages/fonts.scm | 25 | ||||
| -rw-r--r-- | guix/jd/packages/linux.scm | 51 | ||||
| -rw-r--r-- | guix/jd/services/polkit.scm | 21 | ||||
| -rw-r--r-- | guix/jd/utils.scm | 75 |
11 files changed, 0 insertions, 851 deletions
diff --git a/guix/jd/desktops/base.scm b/guix/jd/desktops/base.scm deleted file mode 100644 index 748e11d..0000000 --- a/guix/jd/desktops/base.scm +++ /dev/null | |||
| @@ -1,249 +0,0 @@ | |||
| 1 | (define-module (jd desktops base) | ||
| 2 | #:use-module (jd home services polkit) | ||
| 3 | #:use-module (jd home services desktop) | ||
| 4 | #:use-module (jd home services emacs) | ||
| 5 | #:use-module (jd services polkit) | ||
| 6 | |||
| 7 | #:use-module (gnu) | ||
| 8 | #:use-module (gnu home) | ||
| 9 | #:use-module (gnu home services) | ||
| 10 | #:use-module (gnu home services desktop) | ||
| 11 | #:use-module (gnu home services gnupg) | ||
| 12 | #:use-module (gnu home services xdg) | ||
| 13 | #:use-module (gnu home services sound) | ||
| 14 | #:use-module (gnu home services ssh) | ||
| 15 | #:use-module (gnu services) | ||
| 16 | #:use-module (guix packages) | ||
| 17 | |||
| 18 | #:use-module (nongnu packages linux) | ||
| 19 | #:use-module (nongnu system linux-initrd)) | ||
| 20 | |||
| 21 | (use-package-modules wm gnome networking virtualization | ||
| 22 | lisp lisp-xyz cups fonts gnupg android) | ||
| 23 | |||
| 24 | (use-service-modules cups desktop networking ssh xorg | ||
| 25 | docker virtualization pm sound dbus | ||
| 26 | nix sddm guix) | ||
| 27 | |||
| 28 | (define-public %jd-base-home-services | ||
| 29 | (list | ||
| 30 | ;; (service home-redshift-service-type | ||
| 31 | ;; (home-redshift-configuration | ||
| 32 | ;; (location-provider 'manual) | ||
| 33 | ;; (latitude 51.919438) | ||
| 34 | ;; (longitude 19.145136))) | ||
| 35 | ;; Poland | ||
| 36 | |||
| 37 | (service home-dbus-service-type) | ||
| 38 | (service home-emacs-service-type) | ||
| 39 | (service home-desktop-service-type) | ||
| 40 | |||
| 41 | (service home-openssh-service-type | ||
| 42 | (home-openssh-configuration | ||
| 43 | (hosts | ||
| 44 | (list (openssh-host (name "gammu") | ||
| 45 | (host-name "172.16.1.102") | ||
| 46 | (user "serwis") | ||
| 47 | (host-key-algorithms '("+ssh-rsa"))) | ||
| 48 | (openssh-host (name "net47") | ||
| 49 | (host-name "net47.abaks.pl") | ||
| 50 | (user "serwis") | ||
| 51 | (port 22001)))))) | ||
| 52 | |||
| 53 | ;; Dont know why, but when i put home-gpg-agent-service-type as an | ||
| 54 | ;; extension in home-desktop-service-type service it doesn't work. | ||
| 55 | (service home-gpg-agent-service-type | ||
| 56 | (home-gpg-agent-configuration | ||
| 57 | (pinentry-program | ||
| 58 | (file-append pinentry-gnome3 "/bin/pinentry-gnome3")) | ||
| 59 | (ssh-support? #t) | ||
| 60 | (default-cache-ttl 28800) | ||
| 61 | (max-cache-ttl 28800) | ||
| 62 | (default-cache-ttl-ssh 28800) | ||
| 63 | (max-cache-ttl-ssh 28800))) | ||
| 64 | ;; (service home-polkit-gnome-service-type) | ||
| 65 | )) | ||
| 66 | |||
| 67 | |||
| 68 | (define-public %jakub-user | ||
| 69 | (user-account | ||
| 70 | (name "jakub") | ||
| 71 | (comment "Jakub Dlugosz") | ||
| 72 | (group "users") | ||
| 73 | (home-directory "/home/jakub") | ||
| 74 | (supplementary-groups '("wheel" ;; sudo | ||
| 75 | "netdev" ;; network devices | ||
| 76 | "kvm" | ||
| 77 | "libvirt" | ||
| 78 | "tty" | ||
| 79 | "input" | ||
| 80 | "docker" | ||
| 81 | "audio" ;; control audio devices | ||
| 82 | "video" ;; access to webcam | ||
| 83 | "dialout" ;; access to /dev/ttyUSBX devices | ||
| 84 | "adbusers" | ||
| 85 | )))) | ||
| 86 | |||
| 87 | (define-public %jd-base-user-accounts | ||
| 88 | (cons* | ||
| 89 | %jakub-user | ||
| 90 | %base-user-accounts)) | ||
| 91 | |||
| 92 | (define-public %stumpwm-packages | ||
| 93 | (list sbcl | ||
| 94 | sbcl-dbus | ||
| 95 | stumpwm+slynk | ||
| 96 | |||
| 97 | sbcl-stumpwm-screenshot | ||
| 98 | sbcl-stumpwm-pamixer | ||
| 99 | sbcl-stumpwm-pass | ||
| 100 | |||
| 101 | sbcl-stumpwm-cpu | ||
| 102 | sbcl-stumpwm-mem | ||
| 103 | sbcl-stumpwm-net | ||
| 104 | sbcl-stumpwm-battery-portable | ||
| 105 | sbcl-stumpwm-stumptray | ||
| 106 | |||
| 107 | sbcl-stumpwm-ttf-fonts | ||
| 108 | |||
| 109 | sbcl-drakma | ||
| 110 | sbcl-yason | ||
| 111 | |||
| 112 | (list stumpwm "lib"))) | ||
| 113 | |||
| 114 | (define-public %root-packages | ||
| 115 | (specifications->packages '("emacs" | ||
| 116 | "emacs-exwm" | ||
| 117 | "stow" | ||
| 118 | "bluez" | ||
| 119 | "bluez-alsa" | ||
| 120 | "exfat-utils" | ||
| 121 | "git" | ||
| 122 | "xf86-input-libinput" | ||
| 123 | "intel-vaapi-driver" | ||
| 124 | "libva-utils" ;; vainfo | ||
| 125 | ;; "nss-certs" -- it is in %base-packages from fdfd7667c66cf9ce746330f39bcd366e124460e1 | ||
| 126 | "nix"))) | ||
| 127 | |||
| 128 | (define-public %jd-base-packages | ||
| 129 | (append %root-packages | ||
| 130 | ;; %stumpwm-packages | ||
| 131 | %base-packages)) | ||
| 132 | |||
| 133 | (define-public %jd-base-services | ||
| 134 | (cons* | ||
| 135 | (service guix-home-service-type | ||
| 136 | `(("jakub" ,(home-environment | ||
| 137 | (services %jd-base-home-services))))) | ||
| 138 | |||
| 139 | (service openssh-service-type) | ||
| 140 | |||
| 141 | (service console-font-service-type | ||
| 142 | (map (lambda (tty) | ||
| 143 | (cons tty (file-append | ||
| 144 | font-terminus | ||
| 145 | "/share/consolefonts/ter-122n.psf.gz"))) | ||
| 146 | '("tty1" "tty2" "tty3" "tty4" "tty5" "tty6"))) | ||
| 147 | |||
| 148 | (service screen-locker-service-type | ||
| 149 | (screen-locker-configuration | ||
| 150 | (name "swaylock") | ||
| 151 | (program (file-append swaylock "/bin/swaylock")) | ||
| 152 | (using-pam? #t) | ||
| 153 | (using-setuid? #f))) | ||
| 154 | |||
| 155 | (service network-manager-service-type | ||
| 156 | (network-manager-configuration | ||
| 157 | (vpn-plugins (list network-manager-openvpn)))) | ||
| 158 | |||
| 159 | (simple-service 'dbus-packages dbus-root-service-type (list blueman | ||
| 160 | virt-manager)) | ||
| 161 | (service bluetooth-service-type | ||
| 162 | (bluetooth-configuration | ||
| 163 | (auto-enable? #t))) | ||
| 164 | |||
| 165 | (service containerd-service-type) | ||
| 166 | (service docker-service-type) | ||
| 167 | (service libvirt-service-type | ||
| 168 | (libvirt-configuration | ||
| 169 | (unix-sock-group "libvirt"))) | ||
| 170 | (service virtlog-service-type) | ||
| 171 | |||
| 172 | (service cups-service-type | ||
| 173 | (cups-configuration | ||
| 174 | (web-interface? #t) | ||
| 175 | (extensions | ||
| 176 | (list cups-filters)))) | ||
| 177 | |||
| 178 | (service thermald-service-type) | ||
| 179 | (service tlp-service-type | ||
| 180 | (tlp-configuration | ||
| 181 | (cpu-boost-on-ac? #t) | ||
| 182 | (wifi-pwr-on-bat? #t))) | ||
| 183 | |||
| 184 | (service nix-service-type) | ||
| 185 | |||
| 186 | polkit-network-manager-service | ||
| 187 | |||
| 188 | (udev-rules-service 'android android-udev-rules | ||
| 189 | #:groups '("adbusers")) | ||
| 190 | |||
| 191 | (udev-rules-service 'microbit (udev-rule | ||
| 192 | "69-microbit.rules" | ||
| 193 | (string-append "ACTION!=\"add|change\", GOTO=\"microbit_rules_end\"" | ||
| 194 | "SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0d28\", ATTR{idProduct}==\"0204\", TAG+=\"uaccess\"" | ||
| 195 | "LABEL=\"microbit_rules_end\""))) | ||
| 196 | |||
| 197 | ;; %desktop-services | ||
| 198 | (modify-services %desktop-services | ||
| 199 | (guix-service-type config => (guix-configuration | ||
| 200 | (inherit config) | ||
| 201 | (substitute-urls | ||
| 202 | (append (list "https://substitutes.nonguix.org") | ||
| 203 | %default-substitute-urls)) | ||
| 204 | (authorized-keys | ||
| 205 | (append (list (plain-file "non-guix.pub" | ||
| 206 | "(public-key (ecc (curve Ed25519) (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)))")) | ||
| 207 | %default-authorized-guix-keys)))) | ||
| 208 | (delete network-manager-service-type) | ||
| 209 | ;; (delete mingetty-service-type) | ||
| 210 | (delete console-font-service-type) | ||
| 211 | |||
| 212 | (delete pulseaudio-service-type) | ||
| 213 | (delete alsa-service-type) | ||
| 214 | (delete (if (string-prefix? "x86_64" | ||
| 215 | (or (%current-target-system) | ||
| 216 | (%current-system))) | ||
| 217 | gdm-service-type | ||
| 218 | sddm-service-type))))) | ||
| 219 | |||
| 220 | ;; Odin is a base for my operating systems | ||
| 221 | (define-public odin-free | ||
| 222 | (operating-system | ||
| 223 | (locale "en_US.utf8") | ||
| 224 | (timezone "Europe/Warsaw") | ||
| 225 | (keyboard-layout (keyboard-layout "pl")) | ||
| 226 | (host-name "odin") | ||
| 227 | |||
| 228 | (users %jd-base-user-accounts) | ||
| 229 | (packages %jd-base-packages) | ||
| 230 | (services %jd-base-services) | ||
| 231 | |||
| 232 | (bootloader (bootloader-configuration | ||
| 233 | (bootloader grub-bootloader) | ||
| 234 | (targets (list "/boot/efi")) | ||
| 235 | (keyboard-layout keyboard-layout))) | ||
| 236 | |||
| 237 | (file-systems (cons* (file-system | ||
| 238 | (mount-point "/tmp") | ||
| 239 | (device "none") | ||
| 240 | (type "tmpfs") | ||
| 241 | (check? #f)) | ||
| 242 | %base-file-systems)))) | ||
| 243 | |||
| 244 | (define-public odin-non-free | ||
| 245 | (operating-system | ||
| 246 | (inherit odin-free) | ||
| 247 | (kernel linux) | ||
| 248 | (initrd microcode-initrd) | ||
| 249 | (firmware (list linux-firmware)))) | ||
diff --git a/guix/jd/desktops/berserker.scm b/guix/jd/desktops/berserker.scm deleted file mode 100755 index 3d6b0df..0000000 --- a/guix/jd/desktops/berserker.scm +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | (define-module (jd desktops berserker) | ||
| 2 | #:use-module (jd desktops base) | ||
| 3 | #:use-module (jd packages linux) | ||
| 4 | #:use-module (jd utils) | ||
| 5 | #:use-module (gnu) | ||
| 6 | #:use-module (gnu home)) | ||
| 7 | |||
| 8 | (define-public home | ||
| 9 | (home-environment | ||
| 10 | (services %jd-base-home-services))) | ||
| 11 | |||
| 12 | (define-public system | ||
| 13 | (operating-system | ||
| 14 | (inherit odin-non-free) | ||
| 15 | (kernel-loadable-modules (list xmm7360-pci)) | ||
| 16 | (host-name "berserker"))) | ||
| 17 | |||
diff --git a/guix/jd/desktops/mimir.scm b/guix/jd/desktops/mimir.scm deleted file mode 100644 index e5db0b7..0000000 --- a/guix/jd/desktops/mimir.scm +++ /dev/null | |||
| @@ -1,14 +0,0 @@ | |||
| 1 | (define-module (jd desktops mimir) | ||
| 2 | #:use-module (jd desktops base) | ||
| 3 | #:use-module (gnu) | ||
| 4 | #:use-module (gnu home)) | ||
| 5 | |||
| 6 | (define-public home | ||
| 7 | (home-environment | ||
| 8 | (services %jd-base-home-services))) | ||
| 9 | |||
| 10 | (define-public system | ||
| 11 | (operating-system | ||
| 12 | (inherit odin-non-free) | ||
| 13 | (host-name "mimir"))) | ||
| 14 | |||
diff --git a/guix/jd/home/services/desktop.scm b/guix/jd/home/services/desktop.scm deleted file mode 100644 index 393c2d0..0000000 --- a/guix/jd/home/services/desktop.scm +++ /dev/null | |||
| @@ -1,198 +0,0 @@ | |||
| 1 | (define-module (jd home services desktop) | ||
| 2 | #:use-module (gnu packages) | ||
| 3 | #:use-module (gnu packages freedesktop) | ||
| 4 | #:use-module (gnu packages networking) | ||
| 5 | #:use-module (gnu packages syncthing) | ||
| 6 | #:use-module (gnu packages gnome) | ||
| 7 | #:use-module (gnu packages gnupg) | ||
| 8 | #:use-module (gnu services) | ||
| 9 | #:use-module (gnu services configuration) | ||
| 10 | #:use-module (gnu home services) | ||
| 11 | #:use-module (gnu home services shepherd) | ||
| 12 | #:use-module (gnu home services desktop) | ||
| 13 | #:use-module (gnu home services sound) | ||
| 14 | #:use-module (gnu home services xdg) | ||
| 15 | #:use-module (gnu home services gnupg) | ||
| 16 | #:use-module (gnu home services dotfiles) | ||
| 17 | #:use-module (guix gexp) | ||
| 18 | |||
| 19 | #:use-module (jd packages fonts)) | ||
| 20 | |||
| 21 | (define (desktop-profile-service config) | ||
| 22 | (append | ||
| 23 | (list font-terminus-ttf) | ||
| 24 | (specifications->packages '("sway" | ||
| 25 | ;; "swayfx" | ||
| 26 | "swaylock" | ||
| 27 | "swayidle" | ||
| 28 | "swaynotificationcenter" | ||
| 29 | "waybar" | ||
| 30 | "fuzzel" | ||
| 31 | "foot" | ||
| 32 | "mako" | ||
| 33 | "wl-clipboard" | ||
| 34 | "wlsunset" | ||
| 35 | "grimshot" | ||
| 36 | "swappy" | ||
| 37 | |||
| 38 | "htop" | ||
| 39 | "distrobox" | ||
| 40 | |||
| 41 | "udiskie" | ||
| 42 | ;; rest | ||
| 43 | "qutebrowser" | ||
| 44 | "ungoogled-chromium" | ||
| 45 | "firefox" | ||
| 46 | "tor-client" | ||
| 47 | "signal-desktop" | ||
| 48 | |||
| 49 | "pulsemixer" | ||
| 50 | "pavucontrol" | ||
| 51 | "alsa-utils" | ||
| 52 | |||
| 53 | "virt-manager" | ||
| 54 | |||
| 55 | "flatpak" | ||
| 56 | "redshift" | ||
| 57 | "fontmanager" | ||
| 58 | |||
| 59 | "polybar" | ||
| 60 | |||
| 61 | "blueman" | ||
| 62 | |||
| 63 | "nomacs" | ||
| 64 | |||
| 65 | "xdg-utils" | ||
| 66 | "xdg-dbus-proxy" | ||
| 67 | "xdg-desktop-portal-gtk" | ||
| 68 | "xdg-desktop-portal-wlr" | ||
| 69 | "glib:bin" | ||
| 70 | "gtk+:bin" | ||
| 71 | "gnome-keyring" | ||
| 72 | "shared-mime-info" | ||
| 73 | "libnotify" | ||
| 74 | "dconf" | ||
| 75 | "hicolor-icon-theme" | ||
| 76 | |||
| 77 | "dunst" | ||
| 78 | |||
| 79 | ; "gimp" | ||
| 80 | ; "inkscape" | ||
| 81 | |||
| 82 | "mpv" | ||
| 83 | "youtube-dl" | ||
| 84 | |||
| 85 | "pamixer" | ||
| 86 | "playerctl" | ||
| 87 | "scrot" | ||
| 88 | "brightnessctl" | ||
| 89 | "upower" | ||
| 90 | "tlp" | ||
| 91 | "feh" | ||
| 92 | "alacritty" | ||
| 93 | |||
| 94 | "curl" | ||
| 95 | "wget" | ||
| 96 | "zip" | ||
| 97 | "unzip" | ||
| 98 | "qrencode" | ||
| 99 | "trash-cli" | ||
| 100 | "pandoc" | ||
| 101 | "password-store" | ||
| 102 | "oath-toolkit" | ||
| 103 | ;; "pinentry" | ||
| 104 | |||
| 105 | "syncthing" | ||
| 106 | "syncthing-gtk" | ||
| 107 | |||
| 108 | "xmodmap" | ||
| 109 | "xrandr" | ||
| 110 | "arandr" | ||
| 111 | "xss-lock" | ||
| 112 | "libinput" | ||
| 113 | "xinput" | ||
| 114 | "xprop" | ||
| 115 | "rlwrap" | ||
| 116 | |||
| 117 | "nheko" | ||
| 118 | "quassel" | ||
| 119 | "inkscape" | ||
| 120 | "gimp" | ||
| 121 | "libreoffice" | ||
| 122 | "steam")))) | ||
| 123 | |||
| 124 | (define (desktop-environment-variables-service config) | ||
| 125 | `(("GTK_THEME" . "Adwaita:dark") | ||
| 126 | ("VISUAL" . "emacsclient") | ||
| 127 | ("EDITOR" . "emacsclient") | ||
| 128 | ("PATH" . "$HOME/.bin:$HOME/.local/bin:$HOME/.npm-global/bin:$PATH") | ||
| 129 | ("XDG_DATA_DIRS" . "$XDG_DATA_DIRS:$HOME/.local/share/flatpak/exports/share") | ||
| 130 | ("SBCL_HOME" . "/run/current-system/profile/lib/sbcl/") | ||
| 131 | |||
| 132 | ;; Set Wayland-specific environment variables (taken from RDE) | ||
| 133 | ("XDG_CURRENT_DESKTOP" . "sway") | ||
| 134 | ("XDG_SESSION_TYPE" . "wayland") | ||
| 135 | ("RTC_USE_PIPEWIRE" . "true") | ||
| 136 | ("SDL_VIDEODRIVER" . "wayland") | ||
| 137 | ("MOZ_ENABLE_WAYLAND" . "1") | ||
| 138 | ("CLUTTER_BACKEND" . "wayland") | ||
| 139 | ("ELM_ENGINE" . "wayland_egl") | ||
| 140 | ("ECORE_EVAS_ENGINE" . "wayland-egl") | ||
| 141 | ("QT_QPA_PLATFORM" . "wayland-egl"))) ;; QT_QPA_PLATFORM=xcb | ||
| 142 | |||
| 143 | (define (desktop-xdg-mime-applications-service config) | ||
| 144 | (home-xdg-mime-applications-configuration | ||
| 145 | (default '((inode/directory . emacsclient.desktop) | ||
| 146 | (application/pdf . emacsclient.desktop) | ||
| 147 | (x-scheme-handler/http= . firefox.desktop) | ||
| 148 | (x-scheme-handler/https= . firefox.desktop))) | ||
| 149 | ;; (desktop-entries | ||
| 150 | ;; (list (xdg-desktop-entry | ||
| 151 | ;; (file "emacs-desktop") | ||
| 152 | ;; (name "Emacs") | ||
| 153 | ;; (type 'application) | ||
| 154 | ;; (config | ||
| 155 | ;; '((exec . "emacsclient -a emacs %u")))))) | ||
| 156 | )) | ||
| 157 | |||
| 158 | (define (desktop-gpg-agent-service config) | ||
| 159 | (home-gpg-agent-configuration | ||
| 160 | (pinentry-program | ||
| 161 | (file-append pinentry-gnome3 "/bin/pinentry-gnome3")) | ||
| 162 | (ssh-support? #t) | ||
| 163 | (default-cache-ttl 28800) | ||
| 164 | (max-cache-ttl 28800) | ||
| 165 | (default-cache-ttl-ssh 28800) | ||
| 166 | (max-cache-ttl-ssh 28800))) | ||
| 167 | |||
| 168 | (define (desktop-gpg-agent-service config) | ||
| 169 | (home-gpg-agent-configuration | ||
| 170 | (pinentry-program | ||
| 171 | (file-append pinentry-gnome3 "/bin/pinentry-gnome3")) | ||
| 172 | (ssh-support? #t) | ||
| 173 | (default-cache-ttl 28800) | ||
| 174 | (max-cache-ttl 28800) | ||
| 175 | (default-cache-ttl-ssh 28800) | ||
| 176 | (max-cache-ttl-ssh 28800))) | ||
| 177 | |||
| 178 | (define (desktop-dotfiles-service config) | ||
| 179 | (home-dotfiles-configuration | ||
| 180 | (directories '("./files")))) | ||
| 181 | |||
| 182 | (define-public home-desktop-service-type | ||
| 183 | (service-type (name 'home-desktop) | ||
| 184 | (extensions (list (service-extension home-profile-service-type | ||
| 185 | desktop-profile-service) | ||
| 186 | (service-extension home-environment-variables-service-type | ||
| 187 | desktop-environment-variables-service) | ||
| 188 | (service-extension home-pipewire-service-type | ||
| 189 | (lambda (_) (home-pipewire-configuration))) | ||
| 190 | (service-extension home-xdg-mime-applications-service-type | ||
| 191 | desktop-xdg-mime-applications-service) | ||
| 192 | (service-extension home-gpg-agent-service-type | ||
| 193 | desktop-gpg-agent-service) | ||
| 194 | (service-extension home-dotfiles-service-type | ||
| 195 | desktop-dotfiles-service))) | ||
| 196 | (default-value #f) | ||
| 197 | (description "Runs desktop services."))) | ||
| 198 | |||
diff --git a/guix/jd/home/services/emacs.scm b/guix/jd/home/services/emacs.scm deleted file mode 100644 index 15f0e68..0000000 --- a/guix/jd/home/services/emacs.scm +++ /dev/null | |||
| @@ -1,113 +0,0 @@ | |||
| 1 | (define-module (jd home services emacs) | ||
| 2 | #:use-module (jd packages emacs) | ||
| 3 | |||
| 4 | #:use-module (gnu packages) | ||
| 5 | #:use-module (gnu packages emacs) | ||
| 6 | |||
| 7 | #:use-module (gnu services) | ||
| 8 | #:use-module (gnu services configuration) | ||
| 9 | #:use-module (gnu home services) | ||
| 10 | #:use-module (gnu home services shepherd) | ||
| 11 | #:use-module (gnu home services desktop) | ||
| 12 | |||
| 13 | #:use-module (guix gexp) | ||
| 14 | #:use-module (guix packages) | ||
| 15 | #:use-module (guix profiles)) | ||
| 16 | |||
| 17 | (define-configuration home-emacs-service-configuration | ||
| 18 | (emacs-package | ||
| 19 | (package emacs-next-pgtk) | ||
| 20 | "Emacs packages")) | ||
| 21 | |||
| 22 | (define (emacs-profile-service config) | ||
| 23 | (append (list emacs-org-roam-ui | ||
| 24 | emacs-lsp-mode! | ||
| 25 | (home-emacs-service-configuration-emacs-package | ||
| 26 | config)) | ||
| 27 | (specifications->packages '("emacs-sway" | ||
| 28 | "emacs-shackle" | ||
| 29 | "emacs-ytdl" | ||
| 30 | "emacs-desktop-environment" | ||
| 31 | "emacs-exwm" | ||
| 32 | "emacs-perspective" | ||
| 33 | "emacs-mu4e-alert" | ||
| 34 | "mu" | ||
| 35 | "isync" | ||
| 36 | "emacs-htmlize" | ||
| 37 | "emacs-bluetooth" | ||
| 38 | "emacs-nov-el" | ||
| 39 | "emacs-password-store" | ||
| 40 | "emacs-mastodon" | ||
| 41 | "emacs-elfeed" | ||
| 42 | "emacs-pdf-tools" | ||
| 43 | "emacs-emms" | ||
| 44 | "emacs-all-the-icons-dired" | ||
| 45 | "emacs-vterm" | ||
| 46 | "emacs-restclient" | ||
| 47 | "emacs-magit" | ||
| 48 | "emacs-neotree" | ||
| 49 | "emacs-projectile" | ||
| 50 | "emacs-company-box" | ||
| 51 | "emacs-company" | ||
| 52 | "emacs-docker" | ||
| 53 | "emacs-yaml-mode" | ||
| 54 | "emacs-web-mode" | ||
| 55 | "emacs-flycheck" | ||
| 56 | "emacs-tide" | ||
| 57 | "emacs-cider" | ||
| 58 | "emacs-typescript-mode" | ||
| 59 | "emacs-pyvenv" | ||
| 60 | "emacs-geiser-guile" | ||
| 61 | "emacs-racket-mode" | ||
| 62 | "emacs-geiser-racket" | ||
| 63 | "emacs-geiser" | ||
| 64 | "emacs-sly" | ||
| 65 | "emacs-rainbow-delimiters" | ||
| 66 | "emacs-paredit" | ||
| 67 | ;; "emacs-lsp-ivy" | ||
| 68 | ;; "emacs-lsp-mode" | ||
| 69 | "emacs-org-caldav" | ||
| 70 | "emacs-org-pomodoro" | ||
| 71 | "emacs-org-roam" | ||
| 72 | "emacs-org-roam-bibtex" | ||
| 73 | "emacs-org-superstar" | ||
| 74 | "emacs-org" | ||
| 75 | "emacs-ox-pandoc" | ||
| 76 | "emacs-beacon" | ||
| 77 | "emacs-all-the-icons" | ||
| 78 | "emacs-which-key" | ||
| 79 | "emacs-counsel" | ||
| 80 | "emacs-ivy" | ||
| 81 | "emacs-hl-todo" | ||
| 82 | "emacs-diminish" | ||
| 83 | "emacs-solarized-theme" | ||
| 84 | "font-terminus" | ||
| 85 | "emacs-undo-tree" | ||
| 86 | "emacs-hydra" | ||
| 87 | "emacs-multiple-cursors" | ||
| 88 | "emacs-general" | ||
| 89 | "emacs-guix" | ||
| 90 | "emacs-doom-modeline" | ||
| 91 | "emacs-use-package")))) | ||
| 92 | |||
| 93 | (define (emacs-shepherd-services config) | ||
| 94 | (list (shepherd-service | ||
| 95 | (documentation "Emacs daemon.") | ||
| 96 | (provision '(emacs)) | ||
| 97 | (start #~(make-forkexec-constructor | ||
| 98 | (list #$(file-append (home-emacs-service-configuration-emacs-package | ||
| 99 | config) | ||
| 100 | "/bin/emacs") | ||
| 101 | "--fg-daemon"))) | ||
| 102 | (stop #~(make-kill-destructor))))) | ||
| 103 | |||
| 104 | (define-public home-emacs-service-type | ||
| 105 | (service-type (name 'home-emacs) | ||
| 106 | (extensions (list (service-extension home-profile-service-type | ||
| 107 | emacs-profile-service) | ||
| 108 | (service-extension home-shepherd-service-type | ||
| 109 | emacs-shepherd-services) | ||
| 110 | )) | ||
| 111 | (default-value (home-emacs-service-configuration)) | ||
| 112 | (description "Runs emacs daemon service."))) | ||
| 113 | |||
diff --git a/guix/jd/home/services/polkit.scm b/guix/jd/home/services/polkit.scm deleted file mode 100644 index 327ee08..0000000 --- a/guix/jd/home/services/polkit.scm +++ /dev/null | |||
| @@ -1,31 +0,0 @@ | |||
| 1 | (define-module (jd home services polkit) | ||
| 2 | #:use-module (gnu packages) | ||
| 3 | #:use-module (gnu packages polkit) | ||
| 4 | #:use-module (gnu services) | ||
| 5 | #:use-module (gnu services configuration) | ||
| 6 | #:use-module (gnu home services) | ||
| 7 | #:use-module (gnu home services shepherd) | ||
| 8 | #:use-module (guix gexp)) | ||
| 9 | |||
| 10 | |||
| 11 | (define (polkit-gnome-profile-service config) | ||
| 12 | (specifications->packages '("polkit-gnome"))) | ||
| 13 | |||
| 14 | (define (polkit-gnome-shepherd-service config) | ||
| 15 | (list (shepherd-service | ||
| 16 | (documentation "Polkit gnome service.") | ||
| 17 | (provision '(polkit-gnome)) | ||
| 18 | (start #~(make-forkexec-constructor | ||
| 19 | (list #$(file-append polkit-gnome | ||
| 20 | "/libexec/polkit-gnome-authentication-agent-1")))) | ||
| 21 | (stop #~(make-kill-destructor))))) | ||
| 22 | |||
| 23 | (define-public home-polkit-gnome-service-type | ||
| 24 | (service-type (name 'home-polkit-gnome) | ||
| 25 | (extensions (list (service-extension home-profile-service-type | ||
| 26 | polkit-gnome-profile-service) | ||
| 27 | (service-extension home-shepherd-service-type | ||
| 28 | polkit-gnome-shepherd-service))) | ||
| 29 | (default-value #f) | ||
| 30 | (description "Runs the PolicyKit-gnome service."))) | ||
| 31 | |||
diff --git a/guix/jd/packages/emacs.scm b/guix/jd/packages/emacs.scm deleted file mode 100644 index 0b9b19d..0000000 --- a/guix/jd/packages/emacs.scm +++ /dev/null | |||
| @@ -1,57 +0,0 @@ | |||
| 1 | (define-module (jd packages emacs) | ||
| 2 | #:use-module (gnu packages emacs-xyz) | ||
| 3 | #:use-module (gnu packages) | ||
| 4 | #:use-module (guix packages) | ||
| 5 | #:use-module (guix git-download) | ||
| 6 | #:use-module (guix build-system emacs) | ||
| 7 | #:use-module ((guix licenses) #:prefix license:) | ||
| 8 | #:export (emacs-org-roam-ui | ||
| 9 | emacs-lsp-mode!)) | ||
| 10 | |||
| 11 | |||
| 12 | (define emacs-org-roam-ui | ||
| 13 | (let ((commit "9474a254390b1e42488a1801fed5826b32a8030b") | ||
| 14 | (revision "0")) | ||
| 15 | (package | ||
| 16 | (name "emacs-org-roam-ui") | ||
| 17 | (version (git-version "0" revision commit)) | ||
| 18 | (source (origin | ||
| 19 | (method git-fetch) | ||
| 20 | (uri (git-reference | ||
| 21 | (url "https://github.com/org-roam/org-roam-ui") | ||
| 22 | (commit commit))) | ||
| 23 | (file-name (git-file-name name version)) | ||
| 24 | (sha256 | ||
| 25 | (base32 | ||
| 26 | "0v54vxh95izch74wz2dl2dkdqicbvshra55l6qvd4xl5qmfhpjdc")))) | ||
| 27 | (build-system emacs-build-system) | ||
| 28 | (arguments | ||
| 29 | `(#:include (cons "^out" %default-include))) | ||
| 30 | (propagated-inputs | ||
| 31 | (list emacs-org-roam emacs-websocket emacs-simple-httpd emacs-f)) | ||
| 32 | (home-page "https://github.com/org-roam/org-roam-ui") | ||
| 33 | (synopsis "A graphical frontend for your org-roam Zettelkasten") | ||
| 34 | (description " Org-Roam-UI is a frontend for exploring and interacting | ||
| 35 | with your @code{org-roam} notes. It is meant a successor of | ||
| 36 | @code{org-roam-server} that extends functionality of org-roam with a Web app | ||
| 37 | that runs side-by-side with Emacs.") | ||
| 38 | (license license:gpl3+)))) | ||
| 39 | |||
| 40 | |||
| 41 | |||
| 42 | (define emacs-lsp-mode! | ||
| 43 | (let ((commit "808c4d0ab9f19bb92c56716cf59df89432b63f5d") | ||
| 44 | (revision "1")) | ||
| 45 | (package | ||
| 46 | (inherit emacs-lsp-mode) | ||
| 47 | (name "emacs-lsp-mode") | ||
| 48 | (version (git-version "8.0.1" revision commit)) | ||
| 49 | (source | ||
| 50 | (origin | ||
| 51 | (method git-fetch) | ||
| 52 | (uri (git-reference | ||
| 53 | (url "https://github.com/emacs-lsp/lsp-mode") | ||
| 54 | (commit commit))) | ||
| 55 | (file-name (git-file-name name version)) | ||
| 56 | (sha256 | ||
| 57 | (base32 "0ridjhzndwjj8947vabq05njgnns74hi69x77axgcbv1c4nasz2y"))))))) | ||
diff --git a/guix/jd/packages/fonts.scm b/guix/jd/packages/fonts.scm deleted file mode 100644 index fa70722..0000000 --- a/guix/jd/packages/fonts.scm +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | (define-module (jd packages fonts) | ||
| 2 | #:use-module (gnu packages) | ||
| 3 | #:use-module (guix packages) | ||
| 4 | #:use-module (guix download) | ||
| 5 | #:use-module (guix build-system font) | ||
| 6 | #:use-module ((guix licenses) #:prefix license:)) | ||
| 7 | |||
| 8 | (define-public font-terminus-ttf | ||
| 9 | (package | ||
| 10 | (name "font-terminus-ttf") | ||
| 11 | (version "4.49.3") | ||
| 12 | (source (origin | ||
| 13 | (method url-fetch) | ||
| 14 | (uri (string-append "https://files.ax86.net/terminus-ttf/files/" | ||
| 15 | version "/terminus-ttf-" version ".zip")) | ||
| 16 | (sha256 | ||
| 17 | (base32 | ||
| 18 | "0xvm4mcf0gx7df35swqwxb7a5h3z0gf6dkg6zy84b6nrk0fr5b8f")))) | ||
| 19 | (build-system font-build-system) | ||
| 20 | (home-page "https://files.ax86.net/terminus-ttf/") | ||
| 21 | (synopsis "Terminus TTF Font") | ||
| 22 | (description | ||
| 23 | "Terminus TTF is a TrueType version of Terminus Font, a fixed-width bitmap font optimized for long work with computers.") | ||
| 24 | (license license:gpl2+))) | ||
| 25 | |||
diff --git a/guix/jd/packages/linux.scm b/guix/jd/packages/linux.scm deleted file mode 100644 index 94549c3..0000000 --- a/guix/jd/packages/linux.scm +++ /dev/null | |||
| @@ -1,51 +0,0 @@ | |||
| 1 | (define-module (jd packages linux) | ||
| 2 | #:use-module (guix packages) | ||
| 3 | #:use-module (guix download) | ||
| 4 | #:use-module (guix build-system linux-module) | ||
| 5 | #:use-module (guix git-download) | ||
| 6 | #:use-module (guix gexp) | ||
| 7 | #:use-module (gnu packages linux) | ||
| 8 | #:use-module (gnu packages pciutils) | ||
| 9 | #:use-module (gnu packages pkg-config) | ||
| 10 | #:use-module (gnu packages autotools) | ||
| 11 | #:use-module ((guix licenses) #:prefix license:)) | ||
| 12 | |||
| 13 | (define-public xmm7360-pci | ||
| 14 | (package | ||
| 15 | (name "xmm7360-pci") | ||
| 16 | (version "0.1.0") | ||
| 17 | (source | ||
| 18 | (origin | ||
| 19 | (method git-fetch) | ||
| 20 | (uri (git-reference | ||
| 21 | (url "https://github.com/xmm7360/xmm7360-pci.git") | ||
| 22 | (commit "a8ff2c6ceee84cbe74df8a78cfaa5a016d362ed4"))) | ||
| 23 | (file-name (git-file-name name version)) | ||
| 24 | (sha256 | ||
| 25 | (base32 | ||
| 26 | "1aals95hk76rgd21rknqc9qfjva6g6gwicw6wz19m20bn08bs2f3")))) | ||
| 27 | (build-system linux-module-build-system) | ||
| 28 | (arguments | ||
| 29 | (list | ||
| 30 | #:tests? #f | ||
| 31 | #:phases | ||
| 32 | #~(modify-phases %standard-phases | ||
| 33 | (add-after 'unpack 'patch-makefile | ||
| 34 | (lambda _ | ||
| 35 | (substitute* (find-files | ||
| 36 | "." "^Makefile(\\.include)?$") | ||
| 37 | (("^ccflags-y := .*$") | ||
| 38 | "ccflags-y := -Wno-multichar -Wno-incompatible-pointer-types"))))))) | ||
| 39 | (native-inputs | ||
| 40 | `(("pkg-config" ,pkg-config) | ||
| 41 | ("autoconf" ,autoconf) | ||
| 42 | ("automake" ,automake))) | ||
| 43 | (inputs | ||
| 44 | `(("kernel" ,linux-libre) | ||
| 45 | ("pciutils" ,pciutils))) | ||
| 46 | (synopsis "Kernel module for Intel XMM7360 LTE modem") | ||
| 47 | (description | ||
| 48 | "This package provides a kernel module for the Intel XMM7360 LTE modem, allowing it to function in Linux.") | ||
| 49 | (home-page "https://github.com/xmm7360/xmm7360-pci") | ||
| 50 | (license license:gpl3+))) | ||
| 51 | |||
diff --git a/guix/jd/services/polkit.scm b/guix/jd/services/polkit.scm deleted file mode 100644 index 948500c..0000000 --- a/guix/jd/services/polkit.scm +++ /dev/null | |||
| @@ -1,21 +0,0 @@ | |||
| 1 | (define-module (jd services polkit) | ||
| 2 | #:use-module (gnu services) | ||
| 3 | #:use-module (gnu services dbus) | ||
| 4 | #:use-module (gnu home services) | ||
| 5 | #:use-module (guix gexp)) | ||
| 6 | |||
| 7 | (define polkit-network-manager | ||
| 8 | (file-union | ||
| 9 | "polkit-wheel" | ||
| 10 | `(("share/polkit-1/rules.d/50-org.freedesktop.NetworkManager.rules" | ||
| 11 | ,(plain-file | ||
| 12 | "50-org.freedesktop.NetworkManager.rules" | ||
| 13 | "polkit.addRule(function(action, subject) { | ||
| 14 | if (action.id.indexOf(\"org.freedesktop.NetworkManager.\") == 0 && | ||
| 15 | subject.isInGroup(\"netdev\")) { | ||
| 16 | return polkit.Result.YES; | ||
| 17 | } | ||
| 18 | });"))))) | ||
| 19 | |||
| 20 | (define-public polkit-network-manager-service | ||
| 21 | (simple-service 'polkit-network-manager polkit-service-type (list polkit-network-manager))) | ||
diff --git a/guix/jd/utils.scm b/guix/jd/utils.scm deleted file mode 100644 index 72be6fc..0000000 --- a/guix/jd/utils.scm +++ /dev/null | |||
| @@ -1,75 +0,0 @@ | |||
| 1 | (define-module (jd utils) | ||
| 2 | #:use-module (gnu system) | ||
| 3 | #:use-module (ice-9 match) | ||
| 4 | #:export (jd-search-patches | ||
| 5 | current-operating-system | ||
| 6 | current-home)) | ||
| 7 | |||
| 8 | (define primitive-host-operating-system | ||
| 9 | "/etc/config.scm") | ||
| 10 | |||
| 11 | (define-macro (define-combine-operating-systems name fields) | ||
| 12 | `(define (,name os-to-inherit-from os) | ||
| 13 | (operating-system | ||
| 14 | (inherit os-to-inherit-from) | ||
| 15 | ,@(map (lambda (field) | ||
| 16 | `(,field | ||
| 17 | (,(string->symbol | ||
| 18 | (string-append | ||
| 19 | "operating-system-" | ||
| 20 | (symbol->string field))) | ||
| 21 | os))) | ||
| 22 | fields)))) | ||
| 23 | |||
| 24 | (define-combine-operating-systems combine-install-dest-informations | ||
| 25 | (bootloader mapped-devices file-systems)) | ||
| 26 | |||
| 27 | (define (make-reconfigureable-os os) | ||
| 28 | (combine-install-dest-informations | ||
| 29 | os | ||
| 30 | (load primitive-host-operating-system))) | ||
| 31 | |||
| 32 | (define (current-operating-system) | ||
| 33 | (make-reconfigureable-os | ||
| 34 | (module-ref | ||
| 35 | (resolve-module | ||
| 36 | `(jd desktops ,(string->symbol (gethostname)))) | ||
| 37 | 'system))) | ||
| 38 | |||
| 39 | (define (current-home) | ||
| 40 | (module-ref | ||
| 41 | (resolve-module | ||
| 42 | `(jd desktops ,(string->symbol (gethostname)))) | ||
| 43 | 'home)) | ||
| 44 | |||
| 45 | ;; This code is copied and modified from (gnu packages) module. | ||
| 46 | |||
| 47 | (define (make-custom-load-path dir-path) | ||
| 48 | (make-parameter | ||
| 49 | (map (lambda (directory) | ||
| 50 | (let ((custom-dir (string-append directory dir-path))) | ||
| 51 | (if (and (file-exists? custom-dir) | ||
| 52 | (file-is-directory? custom-dir)) | ||
| 53 | custom-dir | ||
| 54 | directory))) | ||
| 55 | %load-path))) | ||
| 56 | |||
| 57 | (define (make-custom-searcher load-path) | ||
| 58 | (lambda (file-name) | ||
| 59 | (or (search-path (load-path) file-name) | ||
| 60 | (raise (string-append file-name | ||
| 61 | ": not found"))))) | ||
| 62 | |||
| 63 | (define %jd-patch-path (make-custom-load-path "/jd/packages/patches")) | ||
| 64 | (define %jd-dot-files-path (make-custom-load-path "/jd/home/services/dotfiles")) | ||
| 65 | |||
| 66 | (define (jd-search-patch file-name) | ||
| 67 | "Search the patch FILE-NAME. Raise an error if not found." | ||
| 68 | (or (search-path (%jd-patch-path) file-name) | ||
| 69 | (raise (string-append file-name | ||
| 70 | ": patch not found")))) | ||
| 71 | |||
| 72 | (define-syntax-rule (jd-search-patches file-name ...) | ||
| 73 | "Return the list of absolute file names corresponding to each | ||
| 74 | FILE-NAME found in %JD-PATCH-PATH." | ||
| 75 | (list (jd-search-patch file-name) ...)) | ||
