diff --git a/guix-config/channels.scm b/guix-config/channels.scm deleted file mode 100644 index a1ed13b..0000000 --- a/guix-config/channels.scm +++ /dev/null @@ -1,9 +0,0 @@ -(list (channel - (name 'guix) - (url "https://git.guix.gnu.org/guix.git") - (branch "master") - (introduction - (make-channel-introduction - "9edb3f66fd807b096b48283debdcddccfea34bad" - (openpgp-fingerprint - "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))) diff --git a/guix-config/home/workstation.scm b/guix-config/home/workstation.scm deleted file mode 100644 index 2f44ae6..0000000 --- a/guix-config/home/workstation.scm +++ /dev/null @@ -1,78 +0,0 @@ -(define-module (guix-config home workstation) - #:use-module (gnu home) - #:use-module (gnu packages emacs) - #:use-module (gnu packages gnuzilla) - #:use-module (gnu packages mail) - #:use-module (gnu packages messaging) - #:use-module (gnu packages sync) - #:use-module (gnu packages pdf) - #:use-module (gnu packages gnome) - #:use-module (gnu packages wm) - #:use-module (gnu packages terminals) - #:use-module (gnu packages xorg) - #:use-module (gnu packages linux) - #:use-module (gnu packages freedesktop) - #:use-module (gnu packages rust-apps) - #:use-module (gnu packages qt) - #:use-module (gnu packages version-control) - #:use-module (gnu packages librewolf) - #:use-module (gnu packages audio) - #:use-module (gnu packages xdisorg) - #:use-module (gnu packages admin) - #:use-module (gnu packages fonts) - #:use-module (gnu services) - #:use-module (guix gexp) - #:use-module (gnu home services shells) - #:use-module (gnu home services dotfiles) - #:use-module (gnu home services sound) - #:use-module (gnu home services desktop) - #:use-module (gnu home services niri)) - -(home-environment - ;; Below is the list of packages that will show up in your - ;; Home profile, under ~/.guix-home/profile. - (packages (list emacs-pgtk - font-iosevka - git - kitty - btop - fastfetch - librewolf - icecat - nheko - ;birdtray - nextcloud-client - nautilus - xournalpp - ripgrep - quickshell - cava - wl-clipboard - brightnessctl - qtmultimedia - accountsservice - matugen - wayland - xwayland-satellite - qtwayland)) - - ;; Below is the list of Home services. To search for available - ;; services, run 'guix home search KEYWORD' in a terminal. - (services - (append (list (service home-niri-service-type) - (service home-pipewire-service-type) - (service home-dbus-service-type) - (service home-bash-service-type - (home-bash-configuration - (environment-variables '(("PS1" . "\\[\\e[1;32m\\]\\u \\[\\e[1;34m\\]\\w \\[\\e[0m\\] ") - ("EDITOR" . "emacsclient -c"))) - (aliases '(("gs" . "git status") - ("system-reconfigure" . "sudo -E guix time-machine -C ~/dotfiles/guix-config/channels-lock.scm -- system -L ~/dotfiles reconfigure ~/dotfiles/guix-config/system/$(hostname).scm") -("home-reconfigure" . "guix time-machine -C ~/dotfiles/guix-config/channels-lock.scm -- home -L ~/dotfiles reconfigure ~/dotfiles/guix-config/home/workstation.scm") -("guix-pull" . "guix pull --channels=$HOME/dotfiles/guix-config/channels.scm; guix describe --format=channels > $HOME/dotfiles/guix-config/channels-lock.scm") -("reconfigure" . "system-reconfigure && home-reconfigure") -("guix-full-upgrade" . "guix-pull && reconfigure"))))) - (service home-dotfiles-service-type - (home-dotfiles-configuration - (directories '("../../files"))))) - %base-home-services))) diff --git a/guix-config/system/base-system.scm b/guix-config/system/base-system.scm deleted file mode 100644 index 5eca44f..0000000 --- a/guix-config/system/base-system.scm +++ /dev/null @@ -1,55 +0,0 @@ -(define-module (guix-config system base-system) - #:use-module (gnu) - #:use-module (guix) - #:export (base-system)) - -(use-service-modules cups desktop networking ssh xorg pm) - -(define %my-desktop-services - (modify-services %desktop-services - (delete gdm-service-type))) - -(define base-system - (operating-system - (locale "ru_RU.utf8") - (timezone "Europe/Berlin") - (keyboard-layout (keyboard-layout "eu,ru" - #:options '("grp:alt_shift_toggle"))) - (host-name "base-system") - - (users (cons* (user-account - (name "kylekrein") - (comment "Aleksandr Lebedev") - (group "users") - (home-directory "/home/kylekrein") - (supplementary-groups '("wheel" "netdev" "audio" "video"))) - %base-user-accounts)) - - ;; 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 gnome-keyring-service-type) - (service bluetooth-service-type) - (service power-profiles-daemon-service-type) - (set-xorg-configuration - (xorg-configuration (keyboard-layout keyboard-layout)))) - - ;; This is the default list of services we - ;; are appending to. - %my-desktop-services)) - (bootloader (bootloader-configuration - (bootloader grub-bootloader) - (targets '("/dev/vda")) - (terminal-outputs '(console)) - (keyboard-layout keyboard-layout))) - - (file-systems (cons (file-system - (mount-point "/") - (device "/dev/vda1") - (type "ext4")) - %base-file-systems)))) diff --git a/guix-config/system/iuseguixbtw.scm b/guix-config/system/iuseguixbtw.scm deleted file mode 100644 index b4884dc..0000000 --- a/guix-config/system/iuseguixbtw.scm +++ /dev/null @@ -1,29 +0,0 @@ -(define-module (guix-config system iuseguixbtw) - #:use-module (gnu) - #:use-module (guix-config system base-system)) - -(operating-system - (inherit base-system) - (host-name "iuseguixbtw") - (bootloader (bootloader-configuration - (bootloader grub-efi-bootloader) - (targets (list "/boot/efi")))) - (mapped-devices (list (mapped-device - (source (uuid - "e6686154-def0-41d3-a724-c89a36a5b3ed")) - (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 "ext4") - (dependencies mapped-devices)) - (file-system - (mount-point "/boot/efi") - (device (uuid "B677-E030" - 'fat32)) - (type "vfat")) %base-file-systems))) diff --git a/guix-config/channels-lock.scm b/guix/channels-lock.scm similarity index 86% rename from guix-config/channels-lock.scm rename to guix/channels-lock.scm index fc6f96c..2cd0779 100644 --- a/guix-config/channels-lock.scm +++ b/guix/channels-lock.scm @@ -3,7 +3,7 @@ (url "https://git.guix.gnu.org/guix.git") (branch "master") (commit - "47df71794f7ee9fc09398382feac12a5d39e6ddd") + "97e9fad7d2b9458f7735a056843c46542651075b") (introduction (make-channel-introduction "9edb3f66fd807b096b48283debdcddccfea34bad" diff --git a/guix/channels.scm b/guix/channels.scm new file mode 100644 index 0000000..ae76007 --- /dev/null +++ b/guix/channels.scm @@ -0,0 +1,4 @@ +(cons (channel + (name 'quickshell) + (url "https://git.outfoxxed.me/quickshell/quickshell")) + %default-channels) diff --git a/guix/home/kylekrein/home-configuration.scm b/guix/home/kylekrein/home-configuration.scm new file mode 100644 index 0000000..77961e1 --- /dev/null +++ b/guix/home/kylekrein/home-configuration.scm @@ -0,0 +1,76 @@ +;; This "home-environment" file can be passed to 'guix home reconfigure' +;; to reproduce the content of your profile. This is "symbolic": it only +;; specifies package names. To reproduce the exact same profile, you also +;; need to capture the channels being used, as returned by "guix describe". +;; See the "Replicating Guix" section in the manual. + +(use-modules (gnu home) + (gnu packages emacs) + (gnu packages gnuzilla) + (gnu packages mail) + (gnu packages messaging) + (gnu packages sync) + (gnu packages pdf) + (gnu packages gnome) + (gnu packages wm) + (gnu packages terminals) + (gnu packages xorg) + (gnu packages linux) + (gnu packages freedesktop) + (gnu packages rust-apps) + (gnu packages qt) + (gnu packages version-control) + (gnu packages librewolf) + (gnu packages audio) + (gnu packages xdisorg) + (gnu packages admin) + (gnu services) + (guix gexp) + (gnu home services shells) + (gnu home services dotfiles) + (gnu home services sound) + (gnu home services desktop) + (gnu home services niri)) + +(home-environment + ;; Below is the list of packages that will show up in your + ;; Home profile, under ~/.guix-home/profile. + (packages (list emacs-pgtk + git + kitty + btop + fastfetch + librewolf + icecat + nheko + ;birdtray + nextcloud-client + nautilus + xournalpp + ripgrep + quickshell + cava + wl-clipboard + brightnessctl + qtmultimedia + accountsservice + matugen + wayland + xwayland-satellite + qtwayland)) + + ;; Below is the list of Home services. To search for available + ;; services, run 'guix home search KEYWORD' in a terminal. + (services + (append (list (service home-niri-service-type) + (service home-pipewire-service-type) + (service home-dbus-service-type) + (service home-bash-service-type + (home-bash-configuration + (environment-variables '(("PS1" . "\\[\\e[1;32m\\]\\u \\[\\e[1;34m\\]\\w \\[\\e[0m\\] ") + ("EDITOR" . "emacsclient -c"))) + (aliases '(("gs" . "git status"))))) + (service home-dotfiles-service-type + (home-dotfiles-configuration + (directories '("../../../files"))))) + %base-home-services))) diff --git a/guix/home/kylekrein/home-configuration.scm~ b/guix/home/kylekrein/home-configuration.scm~ new file mode 100644 index 0000000..7bb3d75 --- /dev/null +++ b/guix/home/kylekrein/home-configuration.scm~ @@ -0,0 +1,30 @@ +;; This "home-environment" file can be passed to 'guix home reconfigure' +;; to reproduce the content of your profile. This is "symbolic": it only +;; specifies package names. To reproduce the exact same profile, you also +;; need to capture the channels being used, as returned by "guix describe". +;; See the "Replicating Guix" section in the manual. + +(use-modules (gnu home) + (gnu packages emacs) + (gnu packages version-control) + (gnu services) + (guix gexp) + (gnu home services shells) + (gnu home services niri)) + +(home-environment + ;; Below is the list of packages that will show up in your + ;; Home profile, under ~/.guix-home/profile. + (packages (list emacs-pgtk + git)) + + ;; Below is the list of Home services. To search for available + ;; services, run 'guix home search KEYWORD' in a terminal. + (services + (append (list (service home-niri-service-type) + (service home-bash-service-type + (home-bash-configuration + (bash-profile (list (local-file + "./.bash_profile" + "bash_profile")))))) + %base-home-services))) diff --git a/guix/home/kylekrein/niri-home-test.scm b/guix/home/kylekrein/niri-home-test.scm new file mode 100644 index 0000000..2cc84bb --- /dev/null +++ b/guix/home/kylekrein/niri-home-test.scm @@ -0,0 +1,63 @@ +;; This "home-environment" file can be passed to 'guix home reconfigure' +;; to reproduce the content of your profile. This is "symbolic": it only +;; specifies package names. To reproduce the exact same profile, you also +;; need to capture the channels being used, as returned by "guix describe". +;; See the "Replicating Guix" section in the manual. + +(use-modules (gnu home) + (gnu packages emacs) + (gnu packages wm) + (gnu packages terminals) + (gnu packages xorg) + (gnu packages linux) + (gnu packages freedesktop) + (gnu packages rust-apps) + (gnu packages qt) + (gnu packages version-control) + (gnu packages librewolf) + (gnu packages audio) + (gnu packages xdisorg) + (gnu packages admin) + (gnu services) + (guix gexp) + (gnu home services shells) + (gnu home services dotfiles) + (gnu home services sound) + (gnu home services desktop) + (gnu home services niri)) + +(home-environment + ;; Below is the list of packages that will show up in your + ;; Home profile, under ~/.guix-home/profile. + (packages (list emacs-pgtk + git + kitty + btop + fastfetch + librewolf + quickshell + cava + wl-clipboard + brightnessctl + qtmultimedia + accountsservice + matugen + wayland + xwayland-satellite + qtwayland)) + + ;; Below is the list of Home services. To search for available + ;; services, run 'guix home search KEYWORD' in a terminal. + (services + (append (list (service home-niri-service-type) + (service home-pipewire-service-type) + (service home-dbus-service-type) + (service home-bash-service-type + (home-bash-configuration + (environment-variables '(("PS1" . "\\[\\e[1;32m\\]\\u \\[\\e[1;34m\\]\\w \\[\\e[0m\\] ") + ("EDITOR" . "emacsclient"))) + (aliases '(("gs" . "git status"))))) + (service home-dotfiles-service-type + (home-dotfiles-configuration + (directories '("../../../files"))))) + %base-home-services))) diff --git a/guix/system/config.scm b/guix/system/config.scm new file mode 100644 index 0000000..f50155c --- /dev/null +++ b/guix/system/config.scm @@ -0,0 +1,85 @@ +;; 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. +(use-modules (gnu)) +(use-service-modules cups desktop networking ssh xorg pm) +(use-package-modules emacs-xyz wm xorg) + +(define %my-desktop-services + (modify-services %desktop-services + (gdm-service-type config => + (gdm-configuration + (inherit config) + (wayland? #t))))) + +(operating-system + (locale "ru_RU.utf8") + (timezone "Europe/Berlin") + (keyboard-layout (keyboard-layout "eu,ru" + #:options '("grp:alt_shift_toggle"))) + (host-name "iuseguixbtw") + + ;; Учетные записи пользователей ('root' не указывается). + (users (cons* (user-account + (name "kylekrein") + (comment "Aleksandr Lebedev") + (group "users") + (home-directory "/home/kylekrein") + (supplementary-groups '("wheel" "netdev" "audio" "video"))) + %base-user-accounts)) + + (packages (append (list + niri + ;emacs emacs-exwm emacs-desktop-environment + ) + %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 ;(service gnome-desktop-service-type) + + ;; To configure OpenSSH, pass an 'openssh-configuration' + ;; record as a second argument to 'service' below. + (service openssh-service-type) + (service cups-service-type) + (service gnome-keyring-service-type) + (service bluetooth-service-type) + (service power-profiles-daemon-service-type) + (set-xorg-configuration + (xorg-configuration (keyboard-layout keyboard-layout)))) + + ;; This is the default list of services we + ;; are appending to. + %my-desktop-services)) + (bootloader (bootloader-configuration + (bootloader grub-efi-bootloader) + (targets (list "/boot/efi")) + (keyboard-layout keyboard-layout))) + (mapped-devices (list (mapped-device + (source (uuid + "e6686154-def0-41d3-a724-c89a36a5b3ed")) + (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 "ext4") + (dependencies mapped-devices)) + (file-system + (mount-point "/boot/efi") + (device (uuid "B677-E030" + 'fat32)) + (type "vfat")) %base-file-systems)))