| ;; -*- mode: scheme; -*-
|
| (use-modules (nongnu packages linux)
|
| (nongnu system linux-initrd)
|
| (gnu)
|
| (gnu system nss)
|
| (srfi srfi-1)
|
| (guix utils)
|
| (gnu packages wm)
|
| (gnu packages rust-apps)
|
| (gnu services sysctl)
|
| (gnu packages android)
|
| (gnu system shadow)
|
| (gnu system accounts)
|
| (gnu services docker)
|
| (gnu services avahi)
|
| (gnu services mcron)
|
| (gnu services samba)
|
| (gnu services cups)
|
| (gnu services monitoring)
|
| (gnu services ssh)
|
| (gnu services virtualization)
|
| ;; (gnu packages base)
|
| ;; (gnu services sddm)
|
| (gnu packages tmux)
|
| (gnu packages linux)
|
| (gnu packages freedesktop)
|
| (gnu packages gnome)
|
| (gnu services upnp))
|
|
|
| (use-service-modules containers
|
| upnp
|
| desktop
|
| networking
|
| linux
|
| xorg
|
| ;; sddm
|
| nix)
|
| (use-package-modules bootloaders
|
| samba
|
| uucp
|
| package-management
|
| display-managers
|
| freedesktop)
|
|
|
| (define %my-services
|
| (modify-services %desktop-services
|
| (guix-service-type config =>
|
| (guix-configuration (inherit config)
|
| (discover? #t)
|
| (substitute-urls (append (list
|
| "https://substitutes.nonguix.org"
|
| "https://guix.tobias.gr"
|
| "https://bordeaux-us-east-mirror.cbaines.net/")
|
| %default-substitute-urls))
|
| (authorized-keys (append (list (local-file
|
| "./signing-key.pub")
|
| (local-file
|
| "./tobias-gr.pub"))
|
| %default-authorized-guix-keys))))
|
| ;; (delete gdm-service-type)
|
| (sysctl-service-type config =>
|
| (sysctl-configuration (settings (append
|
| %default-sysctl-settings
|
| '(("vm.swappiness" . "200")
|
| ("vm.watermark_boost_factor" . "0")
|
| ("vm.watermark_scale_factor" . "125")
|
| ("vm.page-cluster" . "0")
|
| ("net.core.rmem_max" . "7500000")
|
| ("net.core.wmem_max" . "7500000"))))))
|
| (network-manager-service-type config =>
|
| (network-manager-configuration (inherit
|
| config)
|
| (dns
|
| "dnsmasq")
|
| (vpn-plugins (list
|
| network-manager-openvpn
|
| network-manager-openconnect))))
|
|
|
| (gdm-service-type config =>
|
| (gdm-configuration (inherit config)
|
| (auto-suspend? #f)
|
| (wayland? #t)))))
|
| ;;))
|
|
|
| (define v4l2loopback-config
|
|
|
| (plain-file "v4l2loopback.conf"
|
| "options video_nr=69 card_label=video-loopback exclusive_caps=1"))
|
|
|
| (operating-system
|
| (host-name "anomaly")
|
| (timezone "America/Jamaica")
|
| (locale "en_US.utf8")
|
| (keyboard-layout (keyboard-layout "us" "altgr-intl"))
|
|
|
| (kernel linux)
|
| (initrd microcode-initrd)
|
| (firmware (list linux-firmware))
|
| (kernel-arguments (append (list
|
| "lsm=landlock,capabilities,yama,loadpin,safesetid,integrity,apparmor,selinux,smack,tomoyo")
|
| %default-kernel-arguments))
|
|
|
| (bootloader (bootloader-configuration
|
| (bootloader grub-efi-bootloader)
|
| (targets '("/boot/efi"))
|
| (menu-entries (list (menu-entry (label "Windows")
|
| (chain-loader
|
| "/EFI/Microsoft/Boot/bootmgr.efi"))))))
|
|
|
| (users (cons (user-account
|
| (name "dummy")
|
| (comment "am so")
|
| (group "users")
|
| (supplementary-groups '("kvm" "cgroup"
|
| "ipfs"
|
| "libvirt"
|
| "wheel"
|
| "netdev"
|
| "audio"
|
| "adbusers"
|
| "video"
|
| "wsdd"
|
| "yggdrasil"))) %base-user-accounts))
|
|
|
| (file-systems (append (list (file-system
|
| (device (uuid
|
| "3c5f050e-ebcd-40ce-ae6a-f0703ea52de8"
|
| 'btrfs))
|
| (mount-point "/")
|
| (type "btrfs")
|
| (options
|
| "autodefrag,enospc_debug,subvol=@guix,compress=zstd:5,user_subvol_rm_allowed"))
|
| (file-system
|
| (device (uuid "3C40-048A"
|
| 'fat))
|
| (mount-point "/boot/efi")
|
| (type "vfat"))) %base-file-systems))
|
|
|
| ;; Globally-installed packages.
|
|
|
| (packages (cons* iptables-nft
|
| conntrack-tools
|
| tmux
|
| uucp
|
| nix
|
| sway
|
| ;; sddm
|
| ;; wayland
|
| wayland-protocols
|
| %base-packages))
|
|
|
| ;; Add services to the baseline: a DHCP client and an SSH
|
| ;; server. You may wish to add an NTP service here.
|
|
|
| (services
|
| (cons* (service zram-device-service-type
|
| (zram-device-configuration (size "3G")
|
| (compression-algorithm 'zstd)
|
| (priority 100)))
|
|
|
| ;; multimedia
|
| (service colord-service-type)
|
| (service readymedia-service-type
|
| (readymedia-configuration (media-directories (list (readymedia-media-directory
|
| (path
|
| "/media/audio")
|
| (types '
|
| (A)))
|
| (readymedia-media-directory
|
| (path
|
| "/media/videos")
|
| (types '
|
| (V)))
|
| (readymedia-media-directory
|
| (path
|
| "/media/pictures")
|
| (types '
|
| (P)))
|
| (readymedia-media-directory
|
| (path
|
| "/media/misc"))))
|
| (extra-config '(("notify_interval" . "60")))))
|
| (service bluetooth-service-type
|
| (bluetooth-configuration (name "@W@")
|
| (multi-profile 'multiple)
|
| (fast-connectable? #t)
|
| (just-works-repairing 'always)
|
| (experimental #t)
|
| (stream-mode 'streaming)
|
| (enable-adv-mon-interleave-scan?
|
| #f)
|
| (auto-enable? #t)))
|
|
|
| ;; connectivity
|
| (udev-rules-service 'android android-udev-rules
|
| #:groups '("adbusers"))
|
| (service mate-desktop-service-type)
|
| (service ipfs-service-type)
|
| (service nix-service-type)
|
| (service yggdrasil-service-type
|
| (yggdrasil-configuration (autoconf? #f)))
|
| (service wsdd-service-type)
|
| ;; virtualization
|
| (service singularity-service-type)
|
| ;; (service sddm-service-type
|
| ;; (sddm-configuration (display-server "wayland")))
|
| (service kernel-module-loader-service-type
|
| '("v4l2loopback"))
|
| (simple-service 'v4l2loopback-config etc-service-type
|
| (list `("modprobe.d/v4l2loopback.conf" ,v4l2loopback-config)))
|
| (service gnome-keyring-service-type)
|
| ;; (gnome-keyring-configuration
|
| ;; (pam-services (list
|
| ;; '("password" . "passwd")))))
|
| (service libvirt-service-type)
|
| (service virtlog-service-type)
|
| ;;
|
| (service cups-service-type
|
| (cups-configuration (web-interface? #t)))
|
| (service openssh-service-type
|
| (openssh-configuration (password-authentication? #f)
|
| (x11-forwarding? #t)
|
| (challenge-response-authentication?
|
| #t) ;(openssh openssh-sans-x)
|
| (port-number 2222)))
|
| ;; no facebook
|
| (service block-facebook-hosts-service-type)
|
| (service nftables-service-type)
|
| ;; (service lxqt-desktop-service-type)
|
| ;; (service gnome-desktop-service-type)
|
| (service gvfs-service-type)
|
| (service subids-service-type)
|
| (service rootless-podman-service-type
|
| (rootless-podman-configuration (subgids (list (subid-range (name
|
| "dummy"))))
|
| (subuids (list (subid-range (name
|
| "dummy"))))))
|
| ;; statistics
|
| (service vnstat-service-type)
|
| %my-services))
|
|
|
| (kernel-loadable-modules (list v4l2loopback-linux-module))
|
|
|
| (name-service-switch %mdns-host-lookup-nss))
|