summaryrefslogtreecommitdiff
path: root/desktop.scm
blob: 48b96da06e0e7e023b4d9c5c43f0ffeaf1c36753 (plain)
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
;; This is an operating system configuration generated
;; by the graphical installer.
(use-modules (gnu)
             (srfi srfi-1)
             ((gnu packages linux) #:prefix gnu-linux:)
             (gnu packages admin)
             (gnu packages certs)
             (gnu packages ssh)
             (gnu packages vim)
             (gnu packages wm)
             (gnu packages wget)
             (gnu packages xdisorg)
             (gnu packages xorg)
             (gnu packages video)
             (tuxedo-keyboard)
             (nongnu packages linux)
             (nongnu system linux-initrd))

(use-service-modules desktop networking ssh xorg)

(operating-system
  (kernel linux)
  (kernel-loadable-modules `(,tuxedo-keyboard))
  (initrd microcode-initrd)
  (firmware (list linux-firmware))
  (locale "en_US.utf8")
  (timezone "Europe/Madrid")
  (keyboard-layout
    (keyboard-layout "es"))
  (bootloader
    (bootloader-configuration
      (bootloader grub-efi-bootloader)
      (target "/boot/efi")
      (keyboard-layout keyboard-layout)

      ; Doesn't work (YET)
      #;(menu-entries
        (cons (menu-entry
                (label "Ubuntu - Tuxedo OS")
                (device "primary")
                (linux "/vmlinuz")
                (initrd "/initrd"))
              '()))))

  (swap-devices (list "/dev/sda3"))
  (file-systems
    (cons* (file-system
             (mount-point "/boot/efi")
             (device (uuid "6BB8-3AFE" 'fat32))
             (type "vfat"))
           (file-system
             (mount-point "/")
             (device
               (uuid "eee511d3-b473-4bc0-ba63-bf3971341576"
                     'ext4))
             (type "ext4"))
           (file-system
             (mount-point "/home")
             (device
               (uuid "abed4b79-5f03-409f-84ee-7cb0b3af72af"
                     'ext4))
             (type "ext4"))
           %base-file-systems))
  (host-name "tuxedo")
  (hosts-file
    (plain-file "hosts"
                (string-append (local-host-aliases host-name)
                               "51.255.193.230 vps\n")))

  (users (cons* (user-account
                  (name "Ekaitz")
                  (comment "Ekaitz")
                  (group "users")
                  (home-directory "/home/Ekaitz")
                  (supplementary-groups
                    '("wheel" "netdev" "audio" "video" "lp" "dialout" "kvm")))
                %base-user-accounts))
  (packages
    (cons*
      htop
      gnu-linux:light
      i3-wm
      neovim
      nss-certs
      tree
      wget
      tcpdump
      openssh
      intel-vaapi-driver
      xf86-input-wacom
      %base-packages))

  (services (cons* (udev-rules-service 'light gnu-linux:light)
                   (service gnome-desktop-service-type)
                   (bluetooth-service #:auto-enable? #t)
                   (set-xorg-configuration
                     (xorg-configuration
                       (keyboard-layout keyboard-layout)
                       (modules (append %default-xorg-modules
                                        (list xf86-input-wacom)))
                       (extra-config
                         '("\n"
                           "\n"
                           "Section \"InputClass\"\n"
                           "  Identifier \"libinput touchpad catchall\"\n"
                           "  Driver \"libinput\"\n"
                           "  MatchIsTouchpad \"on\"\n"
                           "  MatchDevicePath \"/dev/input/event*\"\n"
                           "  Option \"Tapping\" \"on\"\n"
                           "  Option \"TappingDrag\" \"on\"\n"
                           "  Option \"DisableWhileTyping\" \"on\"\n"
                           "EndSection\n"
                           "\n"
                           "\n"
                           "Section \"Device\""
                           "  Identifier \"modesetting\""
                           "  Driver \"modesetting\""
                           "  Option \"TearFree\" \"true\""
                           "EndSection"
                           "\n"
                           ))))
                   ; Removes ModemManager because it interferes with USB
                   ; development. If using a 3/4G modem or something we have
                   ; to activate it.
                   (remove (lambda (x) (eqv? (service-type-name
                                               (service-kind x))
                                             'modem-manager))
                           %desktop-services))))