about summary refs log tree commit diff
path: root/guix/system.scm
blob: 724466cec1f102c414124084593373407949ffc7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
(use-modules (gnu)
             (gnu system setuid))
(use-service-modules avahi desktop dict dns networking nix sound ssh xorg)

(operating-system
  (locale "en_DK.utf8")
  (timezone "Asia/Seoul")
  (keyboard-layout (keyboard-layout "us" #:options '("ctrl:nocaps"
                                                     "compose:menu")))
  (host-name "guix")
  (users (cons* (user-account
                  (name "cnx")
                  (group "users")
                  (home-directory "/home/cnx")
                  (supplementary-groups '("audio" "netdev" "video" "wheel")))
                %base-user-accounts))
  (packages
    (append
      (specifications->packages
        '("bash-completion" "curl" "dconf" "fd" "file" "htop"
          "ibus" "ibus-table" "ibus-table-others" "ibus-libhangul" "nss-certs"
          "ranger" "ripgrep" "rsync" "udevil" "vim-full"))
      %base-packages))
  (setuid-programs
    (cons*
      (setuid-program
        (program (file-append (specification->package "udevil")
                              "/bin/udevil")))
      %setuid-programs))
  (services
    (cons* (service openssh-service-type
                    (openssh-configuration
                      (password-authentication? #f)))
           (service xorg-server-service-type)
           (set-xorg-configuration
             (xorg-configuration (keyboard-layout keyboard-layout)))
           (service dconf-service-type)
           (service screen-locker-service-type
                    (screen-locker-configuration
                      (name "slock")
                      (program (file-append (specification->package "slock")
                                            "/bin/slock"))))
           polkit-wheel-service
           (service nftables-service-type
                    (nftables-configuration
                      (ruleset (local-file "./nftables.conf"))))
           (service
             smartdns-service-type
             (smartdns-configuration
               (servers-tls
                 (map (lambda (address)
                        (smartdns-server-configuration (ip address)))
                      '("137.220.55.93" ;ns1.ca.dns.opennic.glue
                        "51.254.162.59" ;ns9.de.dns.opennic.glue
                        "217.160.70.42" ;ns13.de.dns.opennic.glue
                        "178.254.22.166" ;ns16.de.dns.opennic.glue
                        "81.169.136.222" ;ns18.de.dns.opennic.glue
                        "94.16.114.254" ;ns28.de.dns.opennic.glue
                        "194.36.144.87" ;ns29.de.dns.opennic.glue
                        "185.181.61.24" ;ns1.no.dns.opennic.glue
                        "168.235.111.72")))));ns2.ny.us.dns.opennic.glue
           (service static-networking-service-type
                    (list (static-networking
                            (addresses
                              (list (network-address
                                      (device "enp5s0")
                                      (value "192.168.0.7/24"))))
                            (routes
                              (list (network-route
                                      (destination "default")
                                      (gateway "192.168.0.1"))))
                            (name-servers '("localhost")))))
           (service avahi-service-type)
           (service udisks-service-type)
           (service elogind-service-type)
           (service ntp-service-type)
           (service x11-socket-directory-service-type)
           (service pulseaudio-service-type)
           (service alsa-service-type)
           (service dicod-service-type)
           (service nix-service-type)
           %base-services))
  (kernel-arguments (cons "modprobe.blacklist=pcspkr"
                          %default-kernel-arguments))
  (bootloader
    (bootloader-configuration
      (bootloader grub-efi-bootloader)
      (targets (list "/boot/efi"))
      (keyboard-layout keyboard-layout)))
  (swap-devices
    (list (swap-space (target (uuid "2e1d6b10-ef93-47f0-8eb0-b0ebf406e99b")))))
  (file-systems
    (cons* (file-system
             (mount-point "/")
             (device (uuid "f2cc88e7-55d3-4fce-9bc0-68a38c9671f5" 'btrfs))
             (type "btrfs"))
           (file-system
             (mount-point "/boot/efi")
             (device (uuid "09F6-ABE3" 'fat32))
             (type "vfat"))
           %base-file-systems)))