diff options
Diffstat (limited to '.config/guix/machines/base-system.scm')
| -rw-r--r-- | .config/guix/machines/base-system.scm | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/.config/guix/machines/base-system.scm b/.config/guix/machines/base-system.scm new file mode 100644 index 0000000..a294aca --- /dev/null +++ b/.config/guix/machines/base-system.scm | |||
| @@ -0,0 +1,105 @@ | |||
| 1 | (define-module (base-system) | ||
| 2 | #:use-module (gnu) | ||
| 3 | #:use-module (gnu system nss) | ||
| 4 | #:use-module (gnu services pm) | ||
| 5 | #:use-module (gnu services desktop) | ||
| 6 | #:use-module (gnu services docker) | ||
| 7 | #:use-module (gnu services networking) | ||
| 8 | #:use-module (gnu services virtualization) | ||
| 9 | #:use-module (gnu packages wm) | ||
| 10 | #:use-module (gnu packages vim) | ||
| 11 | #:use-module (gnu packages gtk) | ||
| 12 | #:use-module (gnu packages xorg) | ||
| 13 | #:use-module (gnu packages emacs) | ||
| 14 | #:use-module (gnu packages file-systems) | ||
| 15 | #:use-module (gnu packages linux) | ||
| 16 | #:use-module (gnu packages audio) | ||
| 17 | #:use-module (gnu packages pulseaudio) | ||
| 18 | #:use-module (gnu packages web-browsers) | ||
| 19 | #:use-module (gnu packages version-control) | ||
| 20 | #:use-module (gnu packages package-management)) | ||
| 21 | ; #:use-module (nongnu packages linux) | ||
| 22 | ; #:use-module (nongnu system linux-initrd)) | ||
| 23 | |||
| 24 | (use-service-modules ssh) | ||
| 25 | (use-package-modules certs) | ||
| 26 | (use-service-modules desktop xorg) | ||
| 27 | |||
| 28 | (define-public base-operating-system | ||
| 29 | (operating-system | ||
| 30 | (host-name "base") | ||
| 31 | (timezone "Europe/Warsaw") | ||
| 32 | (locale "en_US.utf8") | ||
| 33 | |||
| 34 | ;; Use non-free Linux and firmware | ||
| 35 | ;; (kernel linux) | ||
| 36 | ;; (firmware (list linux-firmware)) | ||
| 37 | ;; (initrd microcode-initrd) | ||
| 38 | |||
| 39 | (bootloader (bootloader-configuration | ||
| 40 | (bootloader grub-efi-bootloader) | ||
| 41 | (targets "/boot/efi"))) | ||
| 42 | ;; (keyboard-layout keyboard-layout))) | ||
| 43 | |||
| 44 | ;; Guix doesn't like it when there isn't a file-systems | ||
| 45 | ;; entry, so add one that is meant to be overridden | ||
| 46 | (file-systems (cons* | ||
| 47 | (file-system | ||
| 48 | (mount-point "/tmp") | ||
| 49 | (device "none") | ||
| 50 | (type "tmpfs") | ||
| 51 | (check? #f)) | ||
| 52 | %base-file-systems)) | ||
| 53 | |||
| 54 | ;; Users | ||
| 55 | (users (cons (user-account | ||
| 56 | (name "jakub") | ||
| 57 | (comment "Jakub Dlugosz") | ||
| 58 | (group "users") | ||
| 59 | (home-directory "/home/jakub") | ||
| 60 | (supplementary-groups '( | ||
| 61 | "wheel" | ||
| 62 | "netdev" | ||
| 63 | "kvm" | ||
| 64 | "tty" | ||
| 65 | "input" | ||
| 66 | "docker" | ||
| 67 | "lp" | ||
| 68 | "audio" | ||
| 69 | "video"))) | ||
| 70 | %base-user-accounts)) | ||
| 71 | |||
| 72 | |||
| 73 | ;; Packages | ||
| 74 | (packages (append (list | ||
| 75 | git | ||
| 76 | exfat-utils | ||
| 77 | fuse-exfat | ||
| 78 | stow | ||
| 79 | vim | ||
| 80 | emacs | ||
| 81 | bluez | ||
| 82 | bluez-alsa | ||
| 83 | pulseaudio | ||
| 84 | tlp | ||
| 85 | xf86-input-libinput | ||
| 86 | nss-certs) ;; For https connection | ||
| 87 | %base-packages)) | ||
| 88 | |||
| 89 | |||
| 90 | ;; Services | ||
| 91 | (services | ||
| 92 | (append | ||
| 93 | (list | ||
| 94 | (service elogind-service-type) | ||
| 95 | (service openssh-service-type) | ||
| 96 | (service network-manager-service-type) | ||
| 97 | (service slim-service-type) | ||
| 98 | (service tlp-service-type) | ||
| 99 | (bluetooth-service #:auto-enable? #t) | ||
| 100 | (service docker-service-type) | ||
| 101 | (service wpa-supplicant-service-type)) | ||
| 102 | %base-services)) | ||
| 103 | |||
| 104 | ;; Allow resolution of '.local' host names with mDNS | ||
| 105 | (name-service-switch %mdns-host-lookup-nss))) | ||
