diff options
| -rw-r--r-- | .bash_profile | 15 | ||||
| -rwxr-xr-x | .config/guix/channels.scm | 10 | ||||
| -rw-r--r-- | .config/guix/manifests/desktop.scm | 54 | ||||
| -rw-r--r-- | .config/guix/manifests/emacs.scm | 50 | ||||
| -rw-r--r-- | guix/jd/desktops/base.scm | 136 | ||||
| -rw-r--r-- | guix/jd/desktops/mimir.scm | 9 | ||||
| -rw-r--r-- | guix/jd/desktops/viking.scm | 29 | 
7 files changed, 212 insertions, 91 deletions
diff --git a/.bash_profile b/.bash_profile index 8182e2b..608f031 100644 --- a/.bash_profile +++ b/.bash_profile  | |||
| @@ -1 +1,14 @@ | |||
| 1 | export PATH="$HOME/bin:$PATH" | 1 | # Honor per-interactive-shell startup file | 
| 2 | if [ -f ~/.bashrc ]; then . ~/.bashrc; fi | ||
| 3 | |||
| 4 | export PATH="$HOME/bin:$PATH | ||
| 5 | export GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles | ||
| 6 | |||
| 7 | for i in $GUIX_EXTRA_PROFILES/*; do | ||
| 8 | profile=$i/$(basename "$i") | ||
| 9 | if [ -f "$profile"/etc/profile ]; then | ||
| 10 | GUIX_PROFILE="$profile" | ||
| 11 | . "$GUIX_PROFILE"/etc/profile | ||
| 12 | fi | ||
| 13 | unset profile | ||
| 14 | done | ||
diff --git a/.config/guix/channels.scm b/.config/guix/channels.scm new file mode 100755 index 0000000..0554922 --- /dev/null +++ b/.config/guix/channels.scm  | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | (cons* (channel | ||
| 2 | (name 'nonguix) | ||
| 3 | (url "https://gitlab.com/nonguix/nonguix") | ||
| 4 | ;; Enable signature verification: | ||
| 5 | (introduction | ||
| 6 | (make-channel-introduction | ||
| 7 | "897c1a470da759236cc11798f4e0a5f7d4d59fbc" | ||
| 8 | (openpgp-fingerprint | ||
| 9 | "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) | ||
| 10 | %default-channels) | ||
diff --git a/.config/guix/manifests/desktop.scm b/.config/guix/manifests/desktop.scm new file mode 100644 index 0000000..65f456e --- /dev/null +++ b/.config/guix/manifests/desktop.scm  | |||
| @@ -0,0 +1,54 @@ | |||
| 1 | (specifications->manifest | ||
| 2 | '("qutebrowser" | ||
| 3 | |||
| 4 | "pulsemixer" | ||
| 5 | "pavucontrol-qt" | ||
| 6 | |||
| 7 | "virt-manager" | ||
| 8 | |||
| 9 | "flatpak" | ||
| 10 | "redshift" | ||
| 11 | "fontmanager" | ||
| 12 | |||
| 13 | "polybar" | ||
| 14 | |||
| 15 | "blueman" | ||
| 16 | |||
| 17 | "xdg-utils" | ||
| 18 | "xdg-dbus-proxy" | ||
| 19 | "gtk+:bin" | ||
| 20 | "shared-mime-info" | ||
| 21 | |||
| 22 | "gimp" | ||
| 23 | "inkscape" | ||
| 24 | |||
| 25 | "mpv" | ||
| 26 | "youtube-dl" | ||
| 27 | |||
| 28 | "pamixer" | ||
| 29 | "playerctl" | ||
| 30 | "scrot" | ||
| 31 | "brightnessctl" | ||
| 32 | "slock" | ||
| 33 | "upower" | ||
| 34 | "tlp" | ||
| 35 | |||
| 36 | "curl" | ||
| 37 | "wget" | ||
| 38 | "zip" | ||
| 39 | "unzip" | ||
| 40 | "trash-cli" | ||
| 41 | "password-store" | ||
| 42 | "pinentry" | ||
| 43 | |||
| 44 | "syncthing" | ||
| 45 | "syncthing-gtk" | ||
| 46 | |||
| 47 | "xmodmap" | ||
| 48 | "xrandr" | ||
| 49 | "arandr" | ||
| 50 | "xss-lock" | ||
| 51 | "libinput" | ||
| 52 | "xinput" | ||
| 53 | |||
| 54 | )) | ||
diff --git a/.config/guix/manifests/emacs.scm b/.config/guix/manifests/emacs.scm new file mode 100644 index 0000000..0668120 --- /dev/null +++ b/.config/guix/manifests/emacs.scm  | |||
| @@ -0,0 +1,50 @@ | |||
| 1 | ;; This file is auto-generated by Emacs function: jd/manifest-generate-to-file | ||
| 2 | (specifications->manifest | ||
| 3 | '("emacs-guix" | ||
| 4 | "emacs-desktop-environment" | ||
| 5 | "emacs-exwm" | ||
| 6 | "emacs-mu4e-alert" | ||
| 7 | "mu" | ||
| 8 | "emacs-htmlize" | ||
| 9 | "emacs-mastodon" | ||
| 10 | "emacs-elfeed" | ||
| 11 | "emacs-pdf-tools" | ||
| 12 | "emacs-all-the-icons-dired" | ||
| 13 | "emacs-vterm" | ||
| 14 | "emacs-magit" | ||
| 15 | "emacs-neotree" | ||
| 16 | "emacs-projectile" | ||
| 17 | "emacs-company-box" | ||
| 18 | "emacs-company" | ||
| 19 | "emacs-docker" | ||
| 20 | "emacs-yaml-mode" | ||
| 21 | "emacs-web-mode" | ||
| 22 | "emacs-flycheck" | ||
| 23 | "emacs-tide" | ||
| 24 | "emacs-typescript-mode" | ||
| 25 | "emacs-pyvenv" | ||
| 26 | "emacs-geiser-guile" | ||
| 27 | "emacs-geiser" | ||
| 28 | "emacs-rainbow-delimiters" | ||
| 29 | "emacs-paredit" | ||
| 30 | "emacs-lsp-ivy" | ||
| 31 | "emacs-lsp-mode" | ||
| 32 | "emacs-org-roam" | ||
| 33 | "emacs-org-superstar" | ||
| 34 | "emacs-visual-fill-column" | ||
| 35 | "emacs-org" | ||
| 36 | "emacs-beacon" | ||
| 37 | "emacs-doom-modeline" | ||
| 38 | "emacs-all-the-icons" | ||
| 39 | "emacs-which-key" | ||
| 40 | "emacs-counsel" | ||
| 41 | "emacs-ivy" | ||
| 42 | "emacs-hl-todo" | ||
| 43 | "emacs-diminish" | ||
| 44 | "emacs-doom-themes" | ||
| 45 | "emacs-undo-tree" | ||
| 46 | "emacs-hydra" | ||
| 47 | "emacs-general" | ||
| 48 | "emacs" | ||
| 49 | "emacs-use-package" | ||
| 50 | )) | ||
diff --git a/guix/jd/desktops/base.scm b/guix/jd/desktops/base.scm index 7618257..b9fc286 100644 --- a/guix/jd/desktops/base.scm +++ b/guix/jd/desktops/base.scm  | |||
| @@ -8,75 +8,86 @@ | |||
| 8 | (use-service-modules cups desktop networking ssh xorg | 8 | (use-service-modules cups desktop networking ssh xorg | 
| 9 | docker virtualization pm sound) | 9 | docker virtualization pm sound) | 
| 10 | 10 | ||
| 11 | ;; Odin is a base operating system | 11 | (define-public %jd-base-user-accounts | 
| 12 | (define-public odin | 12 | (cons* (user-account | 
| 13 | (operating-system | 13 | (name "jakub") | 
| 14 | (kernel linux) | 14 | (comment "Jakub Dlugosz") | 
| 15 | (initrd microcode-initrd) | 15 | (group "users") | 
| 16 | (firmware (list linux-firmware)) | 16 | (home-directory "/home/jakub") | 
| 17 | (supplementary-groups '("wheel" | ||
| 18 | "netdev" | ||
| 19 | "audio" | ||
| 20 | "docker" | ||
| 21 | "kvm" | ||
| 22 | "libvirt" | ||
| 23 | "video"))) | ||
| 24 | %base-user-accounts)) | ||
| 17 | 25 | ||
| 18 | (locale "en_US.utf8") | 26 | (define-public %jd-base-packages | 
| 19 | (timezone "Europe/Warsaw") | 27 | (append | 
| 20 | (keyboard-layout (keyboard-layout "pl")) | 28 | (specifications->packages '("emacs" | 
| 21 | (host-name "odin") | 29 | "emacs-exwm" | 
| 22 | 30 | "stow" | |
| 23 | (users (cons* (user-account | 31 | "bluez" | 
| 24 | (name "jakub") | 32 | "bluez-alsa" | 
| 25 | (comment "Jakub Dlugosz") | 33 | "exfat-utils" | 
| 26 | (group "users") | 34 | "git" | 
| 27 | (home-directory "/home/jakub") | 35 | "xf86-input-libinput" | 
| 28 | (supplementary-groups '("wheel" "netdev" "audio" "video"))) | 36 | "intel-vaapi-driver" | 
| 29 | %base-user-accounts)) | 37 | "libva-utils" | 
| 38 | "nss-certs")) | ||
| 39 | %base-packages)) | ||
| 30 | 40 | ||
| 31 | (packages (append (specifications->packages '("emacs" | 41 | (define-public %jd-base-services | 
| 32 | "emacs-exwm" | 42 | (append (list | 
| 33 | 43 | (service openssh-service-type) | |
| 34 | "brightnessctl" | ||
| 35 | 44 | ||
| 36 | "bluez" | 45 | (service network-manager-service-type | 
| 37 | "bluez-alsa" | 46 | (network-manager-configuration | 
| 47 | (vpn-plugins (list | ||
| 48 | network-manager-pptp)))) | ||
| 49 | |||
| 50 | (service bluetooth-service-type | ||
| 51 | (bluetooth-configuration | ||
| 52 | (auto-enable? #t))) | ||
| 38 | 53 | ||
| 39 | "xf86-input-libinput" | 54 | (service docker-service-type) | 
| 40 | 55 | (service libvirt-service-type | |
| 41 | "nss-certs")) | 56 | (libvirt-configuration | 
| 57 | (unix-sock-group "libvirt") | ||
| 58 | (tls-port "16555"))) | ||
| 42 | 59 | ||
| 43 | %base-packages)) | 60 | (service sane-service-type) | 
| 44 | 61 | (service cups-service-type | |
| 45 | (services | 62 | (cups-configuration | 
| 46 | (append (list | 63 | (web-interface? #t))) | 
| 47 | (service xfce-desktop-service-type) | ||
| 48 | (service openssh-service-type) | ||
| 49 | (set-xorg-configuration | ||
| 50 | (xorg-configuration (keyboard-layout keyboard-layout))) | ||
| 51 | 64 | ||
| 52 | (service network-manager-service-type | 65 | (service thermald-service-type) | 
| 53 | (network-manager-configuration | 66 | (service tlp-service-type | 
| 54 | (vpn-plugins (list | 67 | (tlp-configuration | 
| 55 | network-manager-pptp)))) | 68 | (cpu-boost-on-ac? #t) | 
| 56 | 69 | (wifi-pwr-on-bat? #t))) | |
| 57 | (service bluetooth-service-type | ||
| 58 | (bluetooth-configuration | ||
| 59 | (auto-enable? #t))) | ||
| 60 | 70 | ||
| 61 | (service docker-service-type) | 71 | (service slim-service-type (slim-configuration | 
| 62 | (service libvirt-service-type | 72 | (display ":0") | 
| 63 | (libvirt-configuration | 73 | (vt "vt7")))) | 
| 64 | (unix-sock-group "libvirt") | ||
| 65 | (tls-port "16555"))) | ||
| 66 | 74 | ||
| 67 | (service sane-service-type) | 75 | (modify-services %desktop-services | 
| 68 | (service cups-service-type | 76 | (delete network-manager-service-type) | 
| 69 | (cups-configuration | 77 | (delete gdm-service-type)))) | 
| 70 | (web-interface? #t))) | ||
| 71 | 78 | ||
| 72 | (service thermald-service-type) | 79 | ;; Odin is a base operating system | 
| 73 | (service tlp-service-type | 80 | (define-public odin-free | 
| 74 | (tlp-configuration | 81 | (operating-system | 
| 75 | (cpu-boost-on-ac? #t) | 82 | (locale "en_US.utf8") | 
| 76 | (wifi-pwr-on-bat? #t)))) | 83 | (timezone "Europe/Warsaw") | 
| 84 | (keyboard-layout (keyboard-layout "pl")) | ||
| 85 | (host-name "odin") | ||
| 86 | |||
| 87 | (users %jd-base-user-accounts) | ||
| 88 | (packages %jd-base-packages) | ||
| 89 | (services %jd-base-services) | ||
| 77 | 90 | ||
| 78 | (modify-services %desktop-services | ||
| 79 | (delete network-manager-service-type)))) | ||
| 80 | (bootloader (bootloader-configuration | 91 | (bootloader (bootloader-configuration | 
| 81 | (bootloader grub-bootloader) | 92 | (bootloader grub-bootloader) | 
| 82 | (targets (list "/boot/efi")) | 93 | (targets (list "/boot/efi")) | 
| @@ -88,3 +99,10 @@ | |||
| 88 | (type "tmpfs") | 99 | (type "tmpfs") | 
| 89 | (check? #f)) | 100 | (check? #f)) | 
| 90 | %base-file-systems)))) | 101 | %base-file-systems)))) | 
| 102 | |||
| 103 | (define-public odin-non-free | ||
| 104 | (operating-system | ||
| 105 | (inherit odin-free) | ||
| 106 | (kernel linux) | ||
| 107 | (initrd microcode-initrd) | ||
| 108 | (firmware (list linux-firmware)))) | ||
diff --git a/guix/jd/desktops/mimir.scm b/guix/jd/desktops/mimir.scm index a635831..185df08 100644 --- a/guix/jd/desktops/mimir.scm +++ b/guix/jd/desktops/mimir.scm  | |||
| @@ -1,11 +1,16 @@ | |||
| 1 | (define-module (jd desktops mimir) | 1 | (define-module (jd desktops mimir) | 
| 2 | #:use-module (jd desktops base) | 2 | #:use-module (jd desktops base) | 
| 3 | #:use-module (gnu)) | 3 | #:use-module (gnu) | 
| 4 | #:use-module (gnu services desktop)) | ||
| 4 | 5 | ||
| 5 | 6 | ||
| 6 | (operating-system | 7 | (operating-system | 
| 7 | (inherit odin) | 8 | (inherit odin-non-free) | 
| 8 | (host-name "mimir") | 9 | (host-name "mimir") | 
| 10 | |||
| 11 | (services (cons | ||
| 12 | (service xfce-desktop-service-type) | ||
| 13 | %jd-base-services)) | ||
| 9 | 14 | ||
| 10 | (bootloader (bootloader-configuration | 15 | (bootloader (bootloader-configuration | 
| 11 | (bootloader grub-efi-bootloader) | 16 | (bootloader grub-efi-bootloader) | 
diff --git a/guix/jd/desktops/viking.scm b/guix/jd/desktops/viking.scm deleted file mode 100644 index 80ddb88..0000000 --- a/guix/jd/desktops/viking.scm +++ /dev/null  | |||
| @@ -1,29 +0,0 @@ | |||
| 1 | (define-module (jd desktops mimir) | ||
| 2 | #:use-module (jd desktops base) | ||
| 3 | #:use-module (gnu)) | ||
| 4 | |||
| 5 | (operating-system | ||
| 6 | (inherit odin) | ||
| 7 | (host-name "mimir") | ||
| 8 | |||
| 9 | (bootloader (bootloader-configuration | ||
| 10 | (bootloader grub-efi-bootloader) | ||
| 11 | (targets (list "/boot/efi")))) | ||
| 12 | |||
| 13 | |||
| 14 | (swap-devices (list (swap-space | ||
| 15 | (target (uuid | ||
| 16 | "658793cb-d374-426e-bcd5-00d032b003a0"))))) | ||
| 17 | |||
| 18 | (file-systems (cons* (file-system | ||
| 19 | (mount-point "/boot/efi") | ||
| 20 | (device (uuid "64D8-134F" | ||
| 21 | 'fat32)) | ||
| 22 | (type "vfat")) | ||
| 23 | (file-system | ||
| 24 | (mount-point "/") | ||
| 25 | (device (uuid | ||
| 26 | "1f9304b0-5623-4248-ab66-534b5ac85876" | ||
| 27 | 'ext4)) | ||
| 28 | (type "ext4")) %base-file-systems))) | ||
| 29 | |||
