feat: init
35a0051a
1 file(s) · +85 −0
| 1 | + | (use-modules (gnu) (gnu system nss) (guix gexp) (rosenthal services networking)) |
|
| 2 | + | (use-service-modules desktop xorg networking ssh docker dbus shepherd) |
|
| 3 | + | (use-package-modules bootloaders wm window-management text-editors fonts |
|
| 4 | + | terminals version-control ncurses gnuzilla xdisorg admin |
|
| 5 | + | xorg compton lxde ssh golang docker containers rsync) |
|
| 6 | + | ||
| 7 | + | (operating-system |
|
| 8 | + | (host-name "benson") |
|
| 9 | + | (timezone "America/New_York") |
|
| 10 | + | (locale "en_US.utf8") |
|
| 11 | + | ||
| 12 | + | (bootloader (bootloader-configuration |
|
| 13 | + | (bootloader grub-efi-bootloader) |
|
| 14 | + | (targets '("/boot/efi")))) |
|
| 15 | + | ||
| 16 | + | (file-systems (append |
|
| 17 | + | (list (file-system |
|
| 18 | + | (device "/dev/nvme0n1p3") |
|
| 19 | + | (mount-point "/") |
|
| 20 | + | (type "ext4")) |
|
| 21 | + | (file-system |
|
| 22 | + | (device "/dev/nvme0n1p1") |
|
| 23 | + | (mount-point "/boot/efi") |
|
| 24 | + | (type "vfat"))) |
|
| 25 | + | %base-file-systems)) |
|
| 26 | + | ||
| 27 | + | (users (cons (user-account |
|
| 28 | + | (name "stevedylandev") |
|
| 29 | + | (group "users") |
|
| 30 | + | ;; "docker" lets you run docker without sudo |
|
| 31 | + | (supplementary-groups '("wheel" "netdev" "audio" "video" "docker"))) |
|
| 32 | + | %base-user-accounts)) |
|
| 33 | + | ||
| 34 | + | (packages (append (list |
|
| 35 | + | ;; window managers |
|
| 36 | + | qtile rofi |
|
| 37 | + | ;; xorg stuff |
|
| 38 | + | xorg-server xinit xwallpaper xset xrandr |
|
| 39 | + | ;; text editor |
|
| 40 | + | vis |
|
| 41 | + | ;; fonts |
|
| 42 | + | font-jetbrains-mono |
|
| 43 | + | ;; browser |
|
| 44 | + | icecat |
|
| 45 | + | ;; terminal emulator |
|
| 46 | + | alacritty |
|
| 47 | + | ;; utils |
|
| 48 | + | git btop ncurses openssh rsync |
|
| 49 | + | ;; dev |
|
| 50 | + | go |
|
| 51 | + | docker-cli |
|
| 52 | + | (specification->package "cloudflared")) ; from Rosenthal channel |
|
| 53 | + | %base-packages)) |
|
| 54 | + | ||
| 55 | + | (services (append (list (service xorg-server-service-type) |
|
| 56 | + | (service slim-service-type) |
|
| 57 | + | (service dhcpcd-service-type) |
|
| 58 | + | ;; Docker and what its daemon depends on |
|
| 59 | + | (service dbus-root-service-type) |
|
| 60 | + | (service elogind-service-type) |
|
| 61 | + | (service containerd-service-type) |
|
| 62 | + | (service docker-service-type) |
|
| 63 | + | (service tailscale-service-type) |
|
| 64 | + | (simple-service 'cloudflared shepherd-root-service-type |
|
| 65 | + | (list (shepherd-service |
|
| 66 | + | (provision '(cloudflared)) |
|
| 67 | + | (requirement '(networking)) |
|
| 68 | + | (documentation "Run the Cloudflare tunnel.") |
|
| 69 | + | (start #~(make-forkexec-constructor |
|
| 70 | + | (list #$(file-append (specification->package "cloudflared") |
|
| 71 | + | "/bin/cloudflared") |
|
| 72 | + | "tunnel" "--no-autoupdate" "run" |
|
| 73 | + | "--token-file" "/etc/cloudflared/token") |
|
| 74 | + | #:log-file "/var/log/cloudflared.log")) |
|
| 75 | + | (stop #~(make-kill-destructor))))) |
|
| 76 | + | (service openssh-service-type |
|
| 77 | + | (openssh-configuration |
|
| 78 | + | (openssh openssh) |
|
| 79 | + | (port-number 22) |
|
| 80 | + | (permit-root-login #f) |
|
| 81 | + | (password-authentication? #f) |
|
| 82 | + | (authorized-keys |
|
| 83 | + | `(("stevedylandev" |
|
| 84 | + | ,(local-file "/home/stevedylandev/.ssh/authorized_keys"))))))) |
|
| 85 | + | %base-services))) |