summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.config/guix/manifests/desktop.scm8
-rw-r--r--.config/guix/manifests/emacs.scm184
-rw-r--r--.gitignore2
-rw-r--r--guix/jd/desktops/base.scm144
4 files changed, 216 insertions, 122 deletions
diff --git a/.config/guix/manifests/desktop.scm b/.config/guix/manifests/desktop.scm
index 33f4eaf..8b8ca1f 100644
--- a/.config/guix/manifests/desktop.scm
+++ b/.config/guix/manifests/desktop.scm
@@ -1,5 +1,7 @@
1(specifications->manifest 1(specifications->manifest
2 '("qutebrowser" 2 '("qutebrowser"
3 "ungoogled-chromium"
4 "firefox"
3 "tor-client" 5 "tor-client"
4 6
5 "pulsemixer" 7 "pulsemixer"
@@ -18,6 +20,7 @@
18 20
19 "xdg-utils" 21 "xdg-utils"
20 "xdg-dbus-proxy" 22 "xdg-dbus-proxy"
23 "xdg-desktop-portal-gtk"
21 "glib:bin" 24 "glib:bin"
22 "gtk+:bin" 25 "gtk+:bin"
23 "gnome-keyring" 26 "gnome-keyring"
@@ -49,6 +52,7 @@
49 "unzip" 52 "unzip"
50 "qrencode" 53 "qrencode"
51 "trash-cli" 54 "trash-cli"
55 "pandoc"
52 "password-store" 56 "password-store"
53 "pinentry" 57 "pinentry"
54 58
@@ -61,5 +65,7 @@
61 "xss-lock" 65 "xss-lock"
62 "libinput" 66 "libinput"
63 "xinput" 67 "xinput"
64 68
69 "nheko"
70 "quassel"
65 )) 71 ))
diff --git a/.config/guix/manifests/emacs.scm b/.config/guix/manifests/emacs.scm
index fb6468b..db809eb 100644
--- a/.config/guix/manifests/emacs.scm
+++ b/.config/guix/manifests/emacs.scm
@@ -1,60 +1,126 @@
1;; This file is auto-generated by Emacs function: jd/manifest-generate-to-file 1;; This file is auto-generated by Emacs function: jd/manifest-generate-to-file
2(specifications->manifest 2(use-modules (gnu packages emacs-xyz)
3'("emacs-ytdl" 3 (gnu packages)
4 "emacs-desktop-environment" 4 (guix packages)
5 "emacs-exwm" 5 (guix git-download)
6 "emacs-perspective" 6 (guix build-system emacs)
7 "emacs-mu4e-alert" 7 ((guix licenses) #:prefix license:))
8 "mu" 8
9 "isync" 9
10 "emacs-htmlize" 10(define-public emacs-org-roam-ui
11 "emacs-bluetooth" 11 (let ((commit "9474a254390b1e42488a1801fed5826b32a8030b")
12 "emacs-password-store" 12 (revision "0"))
13 "emacs-mastodon" 13 (package
14 "emacs-elfeed" 14 (name "emacs-org-roam-ui")
15 "emacs-pdf-tools" 15 (version (git-version "0" revision commit))
16 "emacs-emms" 16 (source (origin
17 "emacs-all-the-icons-dired" 17 (method git-fetch)
18 "emacs-vterm" 18 (uri (git-reference
19 "emacs-restclient" 19 (url "https://github.com/org-roam/org-roam-ui")
20 "emacs-magit" 20 (commit commit)))
21 "emacs-neotree" 21 (file-name (git-file-name name version))
22 "emacs-projectile" 22 (sha256
23 "emacs-company-box" 23 (base32
24 "emacs-company" 24 "0v54vxh95izch74wz2dl2dkdqicbvshra55l6qvd4xl5qmfhpjdc"))))
25 "emacs-docker" 25 (build-system emacs-build-system)
26 "emacs-yaml-mode" 26 (arguments
27 "emacs-web-mode" 27 `(#:include (cons "^out" %default-include)))
28 "emacs-flycheck" 28 (propagated-inputs
29 "emacs-tide" 29 (list emacs-org-roam emacs-websocket emacs-simple-httpd emacs-f))
30 "emacs-cider" 30 (home-page "https://github.com/org-roam/org-roam-ui")
31 "emacs-typescript-mode" 31 (synopsis "A graphical frontend for your org-roam Zettelkasten")
32 "emacs-pyvenv" 32 (description " Org-Roam-UI is a frontend for exploring and interacting
33 "emacs-geiser-guile" 33with your @code{org-roam} notes. It is meant a successor of
34 "emacs-racket-mode" 34@code{org-roam-server} that extends functionality of org-roam with a Web app
35 "emacs-geiser-racket" 35that runs side-by-side with Emacs.")
36 "emacs-geiser" 36 (license license:gpl3+))))
37 "emacs-sly" 37
38 "emacs-rainbow-delimiters" 38
39 "emacs-paredit" 39
40 "emacs-lsp-ivy" 40(define emacs-lsp-mode--new
41 "emacs-lsp-mode" 41 (let ((commit "808c4d0ab9f19bb92c56716cf59df89432b63f5d")
42 "emacs-org-roam" 42 (revision "1"))
43 "emacs-org-superstar" 43 (package
44 "emacs-org" 44 (inherit emacs-lsp-mode)
45 "emacs-beacon" 45 (name "emacs-lsp-mode")
46 "emacs-all-the-icons" 46 (version (git-version "8.0.1" revision commit))
47 "emacs-which-key" 47 (source
48 "emacs-counsel" 48 (origin
49 "emacs-ivy" 49 (method git-fetch)
50 "emacs-hl-todo" 50 (uri (git-reference
51 "emacs-diminish" 51 (url "https://github.com/emacs-lsp/lsp-mode")
52 "emacs-solarized-theme" 52 (commit commit)))
53 "font-terminus" 53 (file-name (git-file-name name version))
54 "emacs-undo-tree" 54 (sha256
55 "emacs-hydra" 55 (base32 "0ridjhzndwjj8947vabq05njgnns74hi69x77axgcbv1c4nasz2y")))))))
56 "emacs-general" 56
57 "emacs-guix" 57
58 "emacs" 58(define emacs-packages
59 "emacs-use-package" 59 (specifications->manifest
60)) 60 '("emacs-ytdl"
61 "emacs-desktop-environment"
62 "emacs-exwm"
63 "emacs-perspective"
64 "emacs-mu4e-alert"
65 "mu"
66 "isync"
67 "emacs-htmlize"
68 "emacs-bluetooth"
69 "emacs-nov-el"
70 "emacs-password-store"
71 "emacs-mastodon"
72 "emacs-elfeed"
73 "emacs-pdf-tools"
74 "emacs-emms"
75 "emacs-all-the-icons-dired"
76 "emacs-vterm"
77 "emacs-restclient"
78 "emacs-magit"
79 "emacs-neotree"
80 "emacs-projectile"
81 "emacs-company-box"
82 "emacs-company"
83 "emacs-docker"
84 "emacs-yaml-mode"
85 "emacs-web-mode"
86 "emacs-flycheck"
87 "emacs-tide"
88 "emacs-cider"
89 "emacs-typescript-mode"
90 "emacs-pyvenv"
91 "emacs-geiser-guile"
92 "emacs-racket-mode"
93 "emacs-geiser-racket"
94 "emacs-geiser"
95 "emacs-sly"
96 "emacs-rainbow-delimiters"
97 "emacs-paredit"
98 ;; "emacs-lsp-ivy"
99 ;; "emacs-lsp-mode"
100 "emacs-org-roam"
101 "emacs-org-roam-bibtex"
102 "emacs-org-superstar"
103 "emacs-org"
104 "emacs-ox-pandoc"
105 "emacs-beacon"
106 "emacs-all-the-icons"
107 "emacs-which-key"
108 "emacs-counsel"
109 "emacs-ivy"
110 "emacs-hl-todo"
111 "emacs-diminish"
112 "emacs-solarized-theme"
113 "font-terminus"
114 "emacs-undo-tree"
115 "emacs-hydra"
116 "emacs-general"
117 "emacs-guix"
118 "emacs"
119 "emacs-use-package"
120 )))
121
122
123(concatenate-manifests
124 (list emacs-packages
125 (packages->manifest (list emacs-lsp-mode--new
126 emacs-org-roam-ui))))
diff --git a/.gitignore b/.gitignore
index 6e3b0c4..f3fe7e5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,5 @@ elpa/
3auto-save-list/ 3auto-save-list/
4eln-cache/ 4eln-cache/
5url/ 5url/
6**/#*
7**/*~
diff --git a/guix/jd/desktops/base.scm b/guix/jd/desktops/base.scm
index fb85c56..db95939 100644
--- a/guix/jd/desktops/base.scm
+++ b/guix/jd/desktops/base.scm
@@ -15,14 +15,15 @@
15 #:use-module (nongnu system linux-initrd)) 15 #:use-module (nongnu system linux-initrd))
16 16
17(use-package-modules wm gnome gnupg networking virtualization 17(use-package-modules wm gnome gnupg networking virtualization
18 lisp lisp-xyz) 18 lisp lisp-xyz cups)
19(use-service-modules cups desktop networking ssh xorg
20 docker virtualization pm sound dbus)
21 19
20(use-service-modules cups desktop networking ssh xorg
21 docker virtualization pm sound dbus
22 nix)
22 23
23(define-public %jd-base-home-services 24(define-public %jd-base-home-services
24 (list 25 (list
25 (service home-xdg-mime-applications-service-type 26 (service home-xdg-mime-applications-service-type
26 (home-xdg-mime-applications-configuration 27 (home-xdg-mime-applications-configuration
27 (default '((inode/directory . emacs-desktop.desktop) 28 (default '((inode/directory . emacs-desktop.desktop)
28 (application/pdf . emacs-desktop.desktop))) 29 (application/pdf . emacs-desktop.desktop)))
@@ -40,48 +41,53 @@
40 (latitude 51.919438) 41 (latitude 51.919438)
41 (longitude 19.145136))) ;; Poland 42 (longitude 19.145136))) ;; Poland
42 43
43 (simple-service 'some-useful-env-vars-service 44 (simple-service 'some-useful-env-vars-service
44 home-environment-variables-service-type 45 home-environment-variables-service-type
45 `(("GTK_THEME" . "Adwaita:dark") 46 `(("GTK_THEME" . "Adwaita:dark")
46 ("VISUAL" . "emacsclient") 47 ("VISUAL" . "emacsclient")
47 ("EDITOR" . "emacsclient") 48 ("EDITOR" . "emacsclient")
48 ("PATH" . "$HOME/.bin:$HOME/.npm-global/bin:$PATH") 49 ("PATH" . "$HOME/.bin:$HOME/.npm-global/bin:$PATH")
49 ("XDG_DATA_DIRS" . "$XDG_DATA_DIRS:$HOME/.local/share/flatpak/exports/share") 50 ("XDG_DATA_DIRS" . "$XDG_DATA_DIRS:$HOME/.local/share/flatpak/exports/share")
50 ("SBCL_HOME" . "/run/current-system/profile/lib/sbcl/"))) 51 ("SBCL_HOME" . "/run/current-system/profile/lib/sbcl/")))
51 52
52 (service home-gpg-agent-service-type 53 (service home-gpg-agent-service-type
53 (home-gpg-agent-configuration 54 (home-gpg-agent-configuration
54 (pinentry-program 55 (pinentry-program
55 (file-append pinentry "/bin/pinentry")) 56 (file-append pinentry "/bin/pinentry"))
56 (ssh-support? #t) 57 (ssh-support? #t)
57 (default-cache-ttl 28800) 58 (default-cache-ttl 28800)
58 (max-cache-ttl 28800) 59 (max-cache-ttl 28800)
59 (default-cache-ttl-ssh 28800) 60 (default-cache-ttl-ssh 28800)
60 (max-cache-ttl-ssh 28800))) 61 (max-cache-ttl-ssh 28800)))
61 62
62 (service home-dbus-service-type) 63 (service home-dbus-service-type)
63 64
64 (service home-desktop-service-type) 65 (service home-desktop-service-type)
65 (service home-polkit-gnome-service-type))) 66 (service home-polkit-gnome-service-type)))
67
68
69(define-public %jakub-user
70 (user-account
71 (name "jakub")
72 (comment "Jakub Dlugosz")
73 (group "users")
74 (home-directory "/home/jakub")
75 (supplementary-groups '("wheel" ;; sudo
76 "netdev" ;; network devices
77 "kvm"
78 "libvirt"
79 "tty"
80 "input"
81 "docker"
82 "audio" ;; control audio devices
83 "video" ;; access to webcam
84 "dialout" ;; access to /dev/ttyUSBX devices
85 "adbusers"
86 ))))
66 87
67(define-public %jd-base-user-accounts 88(define-public %jd-base-user-accounts
68 (cons* 89 (cons*
69 (user-account 90 %jakub-user
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 )))
85 %base-user-accounts)) 91 %base-user-accounts))
86 92
87(define-public %stumpwm-packages 93(define-public %stumpwm-packages
@@ -104,22 +110,24 @@
104 110
105 (list stumpwm "lib"))) 111 (list stumpwm "lib")))
106 112
107(define-public %jd-base-packages 113(define-public %root-packages
108 (append 114 (specifications->packages '("emacs"
109 (specifications->packages '("emacs" 115 "emacs-exwm"
110 "emacs-exwm" 116 "stow"
111 "stow" 117 "bluez"
112 "bluez" 118 "bluez-alsa"
113 "bluez-alsa" 119 "exfat-utils"
114 "exfat-utils" 120 "git"
115 "git" 121 "xf86-input-libinput"
116 "xf86-input-libinput" 122 "intel-vaapi-driver"
117 "intel-vaapi-driver" 123 "libva-utils" ;; vainfo
118 "libva-utils" ;; vainfo 124 "nss-certs"
119 "nss-certs")) 125 "nix")))
120 %stumpwm-packages
121 %base-packages))
122 126
127(define-public %jd-base-packages
128 (append %root-packages
129 %stumpwm-packages
130 %base-packages))
123 131
124(define-public %jd-base-services 132(define-public %jd-base-services
125 (cons* 133 (cons*
@@ -131,9 +139,7 @@
131 139
132 (service network-manager-service-type 140 (service network-manager-service-type
133 (network-manager-configuration 141 (network-manager-configuration
134 (vpn-plugins (list 142 (vpn-plugins (list network-manager-openvpn))))
135 network-manager-pptp
136 network-manager-openvpn))))
137 143
138 (simple-service 'dbus-packages dbus-root-service-type (list blueman 144 (simple-service 'dbus-packages dbus-root-service-type (list blueman
139 virt-manager)) 145 virt-manager))
@@ -149,17 +155,31 @@
149 155
150 (service cups-service-type 156 (service cups-service-type
151 (cups-configuration 157 (cups-configuration
152 (web-interface? #t))) 158 (web-interface? #t)
159 (extensions
160 (list cups-filters))))
153 161
154 (service thermald-service-type) 162 (service thermald-service-type)
155 (service tlp-service-type 163 (service tlp-service-type
156 (tlp-configuration 164 (tlp-configuration
157 (cpu-boost-on-ac? #t) 165 (cpu-boost-on-ac? #t)
158 (wifi-pwr-on-bat? #t))) 166 (wifi-pwr-on-bat? #t)))
167
168 (service nix-service-type)
159 169
160 polkit-network-manager-service 170 polkit-network-manager-service
161 171
172 ;; %desktop-services
162 (modify-services %desktop-services 173 (modify-services %desktop-services
174 (guix-service-type config => (guix-configuration
175 (inherit config)
176 (substitute-urls
177 (append (list "https://substitutes.nonguix.org")
178 %default-substitute-urls))
179 (authorized-keys
180 (append (list (plain-file "non-guix.pub"
181 "(public-key (ecc (curve Ed25519) (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)))"))
182 %default-authorized-guix-keys))))
163 (delete network-manager-service-type)))) 183 (delete network-manager-service-type))))
164 184
165;; Odin is a base for my operating systems 185;; Odin is a base for my operating systems