fleetcarrier guix

This commit is contained in:
Aleksandr Lebedev 2026-04-22 20:47:57 +02:00
parent 13da32970b
commit c9b8c7c140
5 changed files with 221 additions and 0 deletions

View file

@ -0,0 +1,9 @@
(cons* (channel
(name 'nonguix)
(url "https://gitlab.com/nonguix/nonguix")
(introduction
(make-channel-introduction
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
(openpgp-fingerprint
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
%default-channels)

View file

@ -0,0 +1,107 @@
;; This is an operating system configuration generated
;; by the graphical installer.
;;
;; Once installation is complete, you can learn and modify
;; this file to tweak the system configuration, and pass it
;; to the 'guix system reconfigure' command to effect your
;; changes.
;; Indicate which modules to import to access the variables
;; used in this configuration.
(define-module (guix-system-config)
#:use-module (gnu)
#:use-module (nongnu packages linux)
#:use-module (nongnu services vpn)
#:use-module (nongnu system linux-initrd)
#:use-module (gnu packages wm)
#:use-module (gnu packages gnome)
#:use-module (nonguix transformations)
)
(use-service-modules cups desktop networking ssh xorg)
(define %pc-os (operating-system
(kernel linux)
(initrd microcode-initrd)
(firmware (list linux-firmware))
(locale "ru_RU.utf8")
(timezone "Europe/Berlin")
(keyboard-layout (keyboard-layout "us"))
(host-name "fleetcarrier")
;; Учетные записи пользователей ('root' не указывается).
(users (cons* (user-account
(name "kylekrein")
(comment "Kylekrein")
(group "users")
(home-directory "/home/kylekrein")
(supplementary-groups '("wheel" "netdev" "audio" "video")))
%base-user-accounts))
;; Packages installed system-wide. Users can also install packages
;; under their own account: use 'guix search KEYWORD' to search
;; for packages and 'guix install PACKAGE' to install a package.
(packages (append (list (specification->package "emacs-pgtk")
(specification->package "niri")
(specification->package "git")
(specification->package "alacritty")
(specification->package
"dbus")) %base-packages))
;; Below is the list of system services. To search for available
;; services, run 'guix system search KEYWORD' in a terminal.
(services
(append (list
;; To configure OpenSSH, pass an 'openssh-configuration'
;; record as a second argument to 'service' below.
(service openssh-service-type)
(service cups-service-type)
(service zerotier-service-type)
(service gnome-keyring-service-type)
(set-xorg-configuration
(xorg-configuration (keyboard-layout keyboard-layout))))
;; This is the default list of services we
;; are appending to.
(modify-services %desktop-services
(guix-service-type config => (guix-configuration
(inherit config)
(substitute-urls
(append (list "https://substitutes.nonguix.org")
%default-substitute-urls))
(authorized-keys
(append (list (local-file "./signing-key.pub"))
%default-authorized-guix-keys))))
(console-font-service-type config =>
(map (lambda (tty)
(cons (car tty)
"LatGrkCyr-8x16"))
config)))))
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(targets (list "/boot/efi"))
(keyboard-layout keyboard-layout)))
(mapped-devices (list (mapped-device
(source (uuid
"ccc4cadf-cfcc-4b11-b8ea-8b5f13f2a1ee"))
(target "cryptroot")
(type luks-device-mapping))))
;; The list of file systems that get "mounted". The unique
;; file system identifiers there ("UUIDs") can be obtained
;; by running 'blkid' in a terminal.
(file-systems (cons* (file-system
(mount-point "/")
(device "/dev/mapper/cryptroot")
(type "btrfs")
(dependencies mapped-devices))
(file-system
(mount-point "/boot/efi")
(device (uuid "6048-0F0F"
'fat16))
(type "vfat")) %base-file-systems))))
((nonguix-transformation-nvidia)
%pc-os)

View file

@ -0,0 +1,101 @@
(define-module (guix-home-config)
#:use-module (gnu home)
#:use-module (nongnu packages linux)
#:use-module (nongnu system linux-initrd)
#:use-module (gnu home services)
#:use-module (gnu home services shells)
#:use-module (gnu services)
#:use-module (gnu system shadow)
#:use-module (gnu packages librewolf)
#:use-module (gnu packages emacs)
#:use-module (gnu packages terminals)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages wm)
#:use-module (gnu packages audio)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (gnu packages monitoring)
#:use-module (gnu packages kde-utils)
#:use-module (gnu packages version-control)
#:use-module (gnu packages golang)
#:use-module (gnu packages rust-apps)
#:use-module (gnu packages qt)
#:use-module (gnu packages glib)
#:use-module (gnu packages linux)
#:use-module (gnu packages gnome)
#:use-module (gnu packages fonts)
#:use-module (gnu packages kde-plasma)
#:use-module (gnu packages package-management)
#:use-module (gnu packages kde-systemtools)
#:use-module (gnu home services sound)
#:use-module (gnu home services desktop)
#:use-module (gnu packages sync)
#:use-module (nongnu packages game-client)
#:use-module (gnu packages gtk)
#:use-module (gnu packages admin)
#:use-module (nongnu packages nvidia)
#:use-module (gnu packages pulseaudio)
)
(define home-config
(home-environment
(services
(append
(list
;; Uncomment the shell you wish to use for your user:
(service home-bash-service-type)
(service home-pipewire-service-type)
(service home-dbus-service-type)
;(service home-fish-service-type)
;(service home-zsh-service-type)
(simple-service 'home-packages home-profile-service-type
(map replace-mesa (list
;main apps
btop
steam-nvidia
dolphin
librewolf
emacs-pgtk
alacritty
git
ark
cliphist
quickshell
nextcloud-client
solaar
stow
pavucontrol
nautilus
;additional apps and dependencies
xdg-desktop-portal-gtk
xwayland-satellite
gtk
hicolor-icon-theme
breeze
font-adwaita
xdg-desktop-portal-gnome
flatpak
adwaita-icon-theme
qtwayland
cava
cliphist
wl-clipboard
dgop
accountsservice
matugen
`(,glib "bin")
brightnessctl
qtmultimedia
)))
(service home-files-service-type
`((".guile" ,%default-dotguile)
(".Xdefaults" ,%default-xdefaults)))
(service home-xdg-configuration-files-service-type
`(("gdb/gdbinit" ,%default-gdbinit)
("nano/nanorc" ,%default-nanorc))))
%base-home-services))))
home-config

2
guix/bin/home-reconfigure.sh Executable file
View file

@ -0,0 +1,2 @@
#!/usr/bin/env bash
guix home reconfigure ~/.config/guix/home-$(hostname).scm

2
guix/bin/reconfigure.sh Executable file
View file

@ -0,0 +1,2 @@
#!/usr/bin/env bash
sudo -E guix system reconfigure ~/.config/guix/config-$(hostname).scm