mirror of
https://github.com/SqrtMinusOne/dotfiles.git
synced 2025-12-11 19:45:25 +03:00
refactor(guix): move manifests to Desktop.org
This commit is contained in:
parent
f63a3d7c98
commit
a3f937cd44
9 changed files with 103 additions and 85 deletions
|
|
@ -1,6 +1,4 @@
|
||||||
;; [[file:../../../Guix.org::*Manifests][Manifests:2]]
|
|
||||||
(specifications->manifest
|
(specifications->manifest
|
||||||
'(
|
'(
|
||||||
"firefox"
|
"firefox"
|
||||||
"ungoogled-chromium"))
|
"ungoogled-chromium"))
|
||||||
;; Manifests:2 ends here
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
"network-manager-applet"
|
"network-manager-applet"
|
||||||
"light"
|
"light"
|
||||||
"arandr"
|
"arandr"
|
||||||
|
"xprop"
|
||||||
"xrandr"
|
"xrandr"
|
||||||
"flatpak"
|
"flatpak"
|
||||||
"zathura-djvu"
|
"zathura-djvu"
|
||||||
|
|
@ -25,7 +26,6 @@
|
||||||
"curl"
|
"curl"
|
||||||
"bind"
|
"bind"
|
||||||
"polybar"
|
"polybar"
|
||||||
"i3lock"
|
|
||||||
"i3-gaps"
|
"i3-gaps"
|
||||||
"hicolor-icon-theme"
|
"hicolor-icon-theme"
|
||||||
"papirus-icon-theme"
|
"papirus-icon-theme"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
;; [[file:../../../Guix.org::*Manifests][Manifests:5]]
|
|
||||||
(specifications->manifest
|
(specifications->manifest
|
||||||
'(
|
'(
|
||||||
"texlive"))
|
"texlive"))
|
||||||
;; Manifests:5 ends here
|
|
||||||
|
|
|
||||||
6
.config/guix/manifests/music.scm
Normal file
6
.config/guix/manifests/music.scm
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
(specifications->manifest
|
||||||
|
'(
|
||||||
|
"mpd-watcher"
|
||||||
|
"picard"
|
||||||
|
"ncmpcpp"
|
||||||
|
"mpd"))
|
||||||
|
|
@ -1,6 +1,4 @@
|
||||||
;; [[file:../../../Guix.org::*Manifests][Manifests:4]]
|
|
||||||
(specifications->manifest
|
(specifications->manifest
|
||||||
'(
|
'(
|
||||||
"gimp"
|
"gimp"
|
||||||
"libreoffice"))
|
"libreoffice"))
|
||||||
;; Manifests:4 ends here
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,3 @@
|
||||||
;; [[file:../../../Guix.org::*Manifests][Manifests:3]]
|
|
||||||
(specifications->manifest
|
(specifications->manifest
|
||||||
'(
|
'(
|
||||||
"zlib"
|
))
|
||||||
"glibc"
|
|
||||||
"patchelf"
|
|
||||||
"python"
|
|
||||||
"openvpn"))
|
|
||||||
;; Manifests:3 ends here
|
|
||||||
|
|
|
||||||
|
|
@ -18,11 +18,14 @@
|
||||||
|
|
||||||
(use-service-modules desktop networking ssh xorg)
|
(use-service-modules desktop networking ssh xorg)
|
||||||
(use-package-modules ssh)
|
(use-package-modules ssh)
|
||||||
(define %my-desktop-services
|
(define %my-base-services
|
||||||
(modify-services %desktop-services
|
(cons*
|
||||||
(network-manager-service-type config =>
|
(service openssh-service-type)
|
||||||
(network-manager-configuration (inherit config)
|
(extra-special-file "/lib64/ld-linux-x86-64.so.2" (file-append glibc "/lib/ld-linux-x86-64.so.2"))
|
||||||
(vpn-plugins (list network-manager-openvpn))))))
|
(modify-services %desktop-services
|
||||||
|
(network-manager-service-type config =>
|
||||||
|
(network-manager-configuration (inherit config)
|
||||||
|
(vpn-plugins (list network-manager-openvpn)))))))
|
||||||
|
|
||||||
|
|
||||||
(define %backlight-udev-rule
|
(define %backlight-udev-rule
|
||||||
|
|
@ -76,6 +79,7 @@
|
||||||
(list nss-certs
|
(list nss-certs
|
||||||
git
|
git
|
||||||
i3-gaps
|
i3-gaps
|
||||||
|
i3lock
|
||||||
openbox
|
openbox
|
||||||
xterm
|
xterm
|
||||||
vim)
|
vim)
|
||||||
|
|
@ -83,12 +87,10 @@
|
||||||
|
|
||||||
(host-name "azure")
|
(host-name "azure")
|
||||||
(services (cons*
|
(services (cons*
|
||||||
(service openssh-service-type)
|
|
||||||
(set-xorg-configuration
|
(set-xorg-configuration
|
||||||
(xorg-configuration
|
(xorg-configuration
|
||||||
(keyboard-layout keyboard-layout)))
|
(keyboard-layout keyboard-layout)))
|
||||||
(extra-special-file "/lib64/ld-linux-x86-64.so.2" (file-append glibc "/lib/ld-linux-x86-64.so.2"))
|
(modify-services %my-base-services
|
||||||
(modify-services %my-desktop-services
|
|
||||||
(elogind-service-type config =>
|
(elogind-service-type config =>
|
||||||
(elogind-configuration (inherit config)
|
(elogind-configuration (inherit config)
|
||||||
(handle-lid-switch-external-power 'suspend)))
|
(handle-lid-switch-external-power 'suspend)))
|
||||||
|
|
|
||||||
77
Desktop.org
77
Desktop.org
|
|
@ -180,10 +180,12 @@ IIRC the only thing =lxapparance= does is edit GTK config files.
|
||||||
:header-args+: :tangle ./.config/i3/config
|
:header-args+: :tangle ./.config/i3/config
|
||||||
:END:
|
:END:
|
||||||
|
|
||||||
| Guix dependency |
|
| Guix dependency | Disabled |
|
||||||
|-----------------|
|
|-----------------+----------|
|
||||||
| i3-gaps |
|
| i3-gaps | |
|
||||||
| i3lock |
|
| i3lock | true |
|
||||||
|
|
||||||
|
=i3lock= is disabled because the global one has to be used.
|
||||||
|
|
||||||
[[https://i3wm.org/][i3wm]] is a manual tiling window manager, which is currently my window manager of choice. I've tried several alternatives, including [[https://xmonad.org/][xmonad]] & [[https://github.com/ch11ng/exwm][EXWM]], but i3 seems to fit my workflow best.
|
[[https://i3wm.org/][i3wm]] is a manual tiling window manager, which is currently my window manager of choice. I've tried several alternatives, including [[https://xmonad.org/][xmonad]] & [[https://github.com/ch11ng/exwm][EXWM]], but i3 seems to fit my workflow best.
|
||||||
|
|
||||||
|
|
@ -2013,7 +2015,71 @@ set recolor true
|
||||||
map <C-r> set recolor false
|
map <C-r> set recolor false
|
||||||
map <C-R> set recolor true
|
map <C-R> set recolor true
|
||||||
#+end_src
|
#+end_src
|
||||||
* Flatpak
|
* Various software
|
||||||
|
This section generates manifests for various desktop software that I'm using.
|
||||||
|
|
||||||
|
** Browsers
|
||||||
|
| Category | Guix dependency |
|
||||||
|
|----------+--------------------|
|
||||||
|
| browsers | ungoogled-chromium |
|
||||||
|
| browsers | firefox |
|
||||||
|
** Office
|
||||||
|
| Category | Guix dependency |
|
||||||
|
|----------+-----------------|
|
||||||
|
| office | libreoffice |
|
||||||
|
| office | gimp |
|
||||||
|
** Music
|
||||||
|
| Category | Guix dependency |
|
||||||
|
|----------+-----------------|
|
||||||
|
| music | mpd |
|
||||||
|
| music | ncmpcpp |
|
||||||
|
| music | picard |
|
||||||
|
| music | mpd-watcher |
|
||||||
|
** LaTeX
|
||||||
|
| Category | Guix dependency |
|
||||||
|
|----------+-----------------|
|
||||||
|
| latex | texlive |
|
||||||
|
** Manifests
|
||||||
|
#+NAME: packages
|
||||||
|
#+begin_src emacs-lisp :tangle no :var category=""
|
||||||
|
(my/format-guix-dependencies category)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Browsers
|
||||||
|
#+begin_src scheme :tangle .config/guix/manifests/browsers.scm :noweb yes
|
||||||
|
(specifications->manifest
|
||||||
|
'(
|
||||||
|
<<packages("browsers")>>))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
System
|
||||||
|
#+begin_src scheme :tangle .config/guix/manifests/system.scm :noweb yes
|
||||||
|
(specifications->manifest
|
||||||
|
'(
|
||||||
|
<<packages("system")>>))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Music
|
||||||
|
#+begin_src scheme :tangle .config/guix/manifests/music.scm :noweb yes
|
||||||
|
(specifications->manifest
|
||||||
|
'(
|
||||||
|
<<packages("music")>>))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Office
|
||||||
|
#+begin_src scheme :tangle .config/guix/manifests/office.scm :noweb yes
|
||||||
|
(specifications->manifest
|
||||||
|
'(
|
||||||
|
<<packages("office")>>))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
LaTeX
|
||||||
|
#+begin_src scheme :tangle .config/guix/manifests/latex.scm :noweb yes
|
||||||
|
(specifications->manifest
|
||||||
|
'(
|
||||||
|
<<packages("latex")>>))
|
||||||
|
#+end_src
|
||||||
|
** Flatpak
|
||||||
A lot of proprietary desktop applications can be installed most easily with flatpak & flathub.
|
A lot of proprietary desktop applications can be installed most easily with flatpak & flathub.
|
||||||
|
|
||||||
| Guix dependency |
|
| Guix dependency |
|
||||||
|
|
@ -2061,6 +2127,7 @@ Other desktop programs I use are listed below.
|
||||||
| Guix dependency | Description |
|
| Guix dependency | Description |
|
||||||
|------------------------+-------------------------------------------|
|
|------------------------+-------------------------------------------|
|
||||||
| xrandr | X11 CLI to RandR |
|
| xrandr | X11 CLI to RandR |
|
||||||
|
| xprop | Tool to display properties of X windows |
|
||||||
| arandr | GUI to xrandr |
|
| arandr | GUI to xrandr |
|
||||||
| light | Control screen brightness |
|
| light | Control screen brightness |
|
||||||
| network-manager-applet | Applet to manage network connections |
|
| network-manager-applet | Applet to manage network connections |
|
||||||
|
|
|
||||||
71
Guix.org
71
Guix.org
|
|
@ -229,6 +229,7 @@ Base packages, necessary right after the installation.
|
||||||
(list nss-certs
|
(list nss-certs
|
||||||
git
|
git
|
||||||
i3-gaps
|
i3-gaps
|
||||||
|
i3lock
|
||||||
openbox
|
openbox
|
||||||
xterm
|
xterm
|
||||||
vim)
|
vim)
|
||||||
|
|
@ -236,13 +237,17 @@ Base packages, necessary right after the installation.
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Default services for each machine:
|
Default services for each machine:
|
||||||
- overrides the default =%desktop-services= to add OpenVPN support
|
- override the default =%desktop-services= to add OpenVPN support
|
||||||
|
- add a symlink to ELF interpeter to where most Linux binaries expect it
|
||||||
#+begin_src scheme :tangle no :noweb-ref system-common
|
#+begin_src scheme :tangle no :noweb-ref system-common
|
||||||
(define %my-desktop-services
|
(define %my-base-services
|
||||||
(modify-services %desktop-services
|
(cons*
|
||||||
(network-manager-service-type config =>
|
(service openssh-service-type)
|
||||||
(network-manager-configuration (inherit config)
|
(extra-special-file "/lib64/ld-linux-x86-64.so.2" (file-append glibc "/lib/ld-linux-x86-64.so.2"))
|
||||||
(vpn-plugins (list network-manager-openvpn))))))
|
(modify-services %desktop-services
|
||||||
|
(network-manager-service-type config =>
|
||||||
|
(network-manager-configuration (inherit config)
|
||||||
|
(vpn-plugins (list network-manager-openvpn)))))))
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -268,12 +273,10 @@ Default services for each machine:
|
||||||
|
|
||||||
(host-name "azure")
|
(host-name "azure")
|
||||||
(services (cons*
|
(services (cons*
|
||||||
(service openssh-service-type)
|
|
||||||
(set-xorg-configuration
|
(set-xorg-configuration
|
||||||
(xorg-configuration
|
(xorg-configuration
|
||||||
(keyboard-layout keyboard-layout)))
|
(keyboard-layout keyboard-layout)))
|
||||||
(extra-special-file "/lib64/ld-linux-x86-64.so.2" (file-append glibc "/lib/ld-linux-x86-64.so.2"))
|
(modify-services %my-base-services
|
||||||
(modify-services %my-desktop-services
|
|
||||||
(elogind-service-type config =>
|
(elogind-service-type config =>
|
||||||
(elogind-configuration (inherit config)
|
(elogind-configuration (inherit config)
|
||||||
(handle-lid-switch-external-power 'suspend)))
|
(handle-lid-switch-external-power 'suspend)))
|
||||||
|
|
@ -376,59 +379,11 @@ guix clone https://github.com/SqrtMinusOne/dotfiles.git
|
||||||
And activate the required profiles. Again, downloading & building Emacs, Starship and stuff will take a while.
|
And activate the required profiles. Again, downloading & building Emacs, Starship and stuff will take a while.
|
||||||
|
|
||||||
Don't forget to install =JetBrainsMono Nerd Font=.
|
Don't forget to install =JetBrainsMono Nerd Font=.
|
||||||
* Various software
|
* Misc software
|
||||||
** Browsers
|
|
||||||
| Category | Guix dependency |
|
|
||||||
|----------+--------------------|
|
|
||||||
| browsers | ungoogled-chromium |
|
|
||||||
| browsers | firefox |
|
|
||||||
** Office
|
|
||||||
| Category | Guix dependency |
|
|
||||||
|----------+-----------------|
|
|
||||||
| office | libreoffice |
|
|
||||||
| office | gimp |
|
|
||||||
** LaTeX
|
|
||||||
| Category | Guix dependency |
|
|
||||||
|----------+-----------------|
|
|
||||||
| latex | texlive |
|
|
||||||
** System
|
|
||||||
| Category | Guix dependency |
|
| Category | Guix dependency |
|
||||||
|----------+-------------------------|
|
|----------+-------------------------|
|
||||||
| system | openvpn |
|
| system | openvpn |
|
||||||
| system | python |
|
| system | python |
|
||||||
** Manifests
|
|
||||||
#+NAME: packages
|
|
||||||
#+begin_src emacs-lisp :tangle no :var category=""
|
|
||||||
(my/format-guix-dependencies category)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
Browsers
|
|
||||||
#+begin_src scheme :tangle .config/guix/manifests/browsers.scm :noweb yes
|
|
||||||
(specifications->manifest
|
|
||||||
'(
|
|
||||||
<<packages("browsers")>>))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
System
|
|
||||||
#+begin_src scheme :tangle .config/guix/manifests/system.scm :noweb yes
|
|
||||||
(specifications->manifest
|
|
||||||
'(
|
|
||||||
<<packages("system")>>))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
Office
|
|
||||||
#+begin_src scheme :tangle .config/guix/manifests/office.scm :noweb yes
|
|
||||||
(specifications->manifest
|
|
||||||
'(
|
|
||||||
<<packages("office")>>))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
LaTeX
|
|
||||||
#+begin_src scheme :tangle .config/guix/manifests/latex.scm :noweb yes
|
|
||||||
(specifications->manifest
|
|
||||||
'(
|
|
||||||
<<packages("latex")>>))
|
|
||||||
#+end_src
|
|
||||||
* Notes on installing software
|
* Notes on installing software
|
||||||
| Category | Guix dependency | Description |
|
| Category | Guix dependency | Description |
|
||||||
|----------+-----------------+----------------------------------------------------|
|
|----------+-----------------+----------------------------------------------------|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue