feat: init 35a0051a
Steve · 2026-10-11 12:49 1 file(s) · +85 −0
config.scm (added) +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)))