summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjdlugosz963 <jdlugosz963@gmail.com>2023-07-03 14:12:58 +0200
committerjdlugosz963 <jdlugosz963@gmail.com>2023-07-03 14:37:09 +0200
commit49e0dc10749a34f66a0935c1ded8f6fa6c4b346c (patch)
tree8f04a20602177a9c24d980442e850c43aeca5f8c
parent47a2b2c8caff2a59ab6d67ffae837811fc24ccf5 (diff)
downloaddotfiles-49e0dc10749a34f66a0935c1ded8f6fa6c4b346c.tar.gz
dotfiles-49e0dc10749a34f66a0935c1ded8f6fa6c4b346c.zip
Add guix manifests and channels.
-rw-r--r--.bash_profile15
-rwxr-xr-x.config/guix/channels.scm10
-rw-r--r--.config/guix/manifests/desktop.scm54
-rw-r--r--.config/guix/manifests/emacs.scm50
-rw-r--r--guix/jd/desktops/base.scm136
-rw-r--r--guix/jd/desktops/mimir.scm9
-rw-r--r--guix/jd/desktops/viking.scm29
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 @@
1export PATH="$HOME/bin:$PATH" 1# Honor per-interactive-shell startup file
2if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
3
4export PATH="$HOME/bin:$PATH
5export GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles
6
7for 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
14done
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