From a0a05c01eab5c1e50121ef9431dc894e0bf0d675 Mon Sep 17 00:00:00 2001 From: Aleksandr Lebedev Date: Sat, 25 Apr 2026 14:50:32 +0200 Subject: [PATCH] guix --- guix/.config/guix/config-anaconda.scm | 90 +++++++++++++++++++++ guix/.config/guix/home-anaconda.scm | 111 ++++++++++++++++++++++++++ 2 files changed, 201 insertions(+) create mode 100644 guix/.config/guix/config-anaconda.scm create mode 100644 guix/.config/guix/home-anaconda.scm diff --git a/guix/.config/guix/config-anaconda.scm b/guix/.config/guix/config-anaconda.scm new file mode 100644 index 0000000..e08f0e8 --- /dev/null +++ b/guix/.config/guix/config-anaconda.scm @@ -0,0 +1,90 @@ +;; 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 (config-anaconda) + #:use-module (gnu) + #:use-module (gnu packages wm) + #:use-module (gnu packages gnome) +) +(use-service-modules cups desktop networking ssh xorg pm) + +(operating-system + (locale "ru_RU.utf8") + (timezone "Europe/Berlin") + (keyboard-layout (keyboard-layout "eu,ru" + #:options '("grp:alt_shift_toggle"))) + (host-name "anaconda") + + ;; Учетные записи пользователей ('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 power-profiles-daemon-service-type) + (service powertop-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 + (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 + "e54aaf39-5cc4-42c0-9ca8-f7071087643c")) + (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 "A753-E712" + 'fat32)) + (type "vfat")) %base-file-systems))) + diff --git a/guix/.config/guix/home-anaconda.scm b/guix/.config/guix/home-anaconda.scm new file mode 100644 index 0000000..f4acc15 --- /dev/null +++ b/guix/.config/guix/home-anaconda.scm @@ -0,0 +1,111 @@ +(define-module (guix-home-config) + #:use-module (gnu home) + #: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 password-utils) + #:use-module (gnu packages image) + #: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 kde-internet) + #: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 emacs-xyz) + #: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 (gnu packages gtk) + #:use-module (gnu packages admin) + #: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 + (home-bash-configuration + (environment-variables + `(("PATH" . "$PATH:$HOME/bin"))))) + (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 + (list +;main apps +btop +dolphin +librewolf +emacs-pgtk +alacritty +git +ark +cliphist +quickshell +nextcloud-client +stow +pavucontrol +nautilus +neochat +ripgrep +;additional apps and dependencies +xdg-desktop-portal-gtk +xwayland-satellite +gtk +hicolor-icon-theme +breeze +font-adwaita +xdg-desktop-portal-gnome +adwaita-icon-theme +qtwayland +cava +cliphist +wl-clipboard +dgop +accountsservice +matugen +`(,glib "bin") +brightnessctl +qtmultimedia +fastfetch +grim +slurp +swappy +secretsd +;; Emacs +emacs-guix +emacs-vterm +)) + + (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