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 | |||