From e43f3c403ff49e87641bb6c745080760f272446f Mon Sep 17 00:00:00 2001 From: jdlugosz963 Date: Sat, 15 Oct 2022 14:03:46 +0200 Subject: Update dotfiles --- Guix.org | 276 --------------------------------------------------------------- 1 file changed, 276 deletions(-) delete mode 100644 Guix.org (limited to 'Guix.org') diff --git a/Guix.org b/Guix.org deleted file mode 100644 index e2c9ef8..0000000 --- a/Guix.org +++ /dev/null @@ -1,276 +0,0 @@ -#+TITLE: Guix Configuration file - -* Resources -[[https://guix.gnu.org/manual/en/html_node/index.html][guix]] -[[https://github.com/daviwil/dotfiles/blob/master/Systems.org][daviwil/dotfiles]] - -* Managing profiles -Source: [[https://github.com/daviwil/dotfiles/blob/master/Systems.org#profile-management][daviwil/dotfiles]] -** Activate profiles - -#+begin_src sh :tangle bin/activate-profiles :shebang #!/bin/sh - # Source: https://github.com/daviwil/dotfiles/blob/master/Systems.org#profile-management - - GREEN='\033[1;32m' - RED='\033[1;30m' - NC='\033[0m' - GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles - - profiles=$* - if [[ $# -eq 0 ]]; then - profiles="$HOME/.config/guix/manifests/*.scm"; - fi - - for profile in $profiles; do - # Remove the path and file extension, if any - profileName=$(basename $profile) - profileName="${profileName%.*}" - profilePath="$GUIX_EXTRA_PROFILES/$profileName" - manifestPath=$HOME/.config/guix/manifests/$profileName.scm - - if [ -f $manifestPath ]; then - echo - echo -e "${GREEN}Activating profile:" $manifestPath "${NC}" - echo - - mkdir -p $profilePath - guix package --manifest=$manifestPath --profile="$profilePath/$profileName" - - # Source the new profile - GUIX_PROFILE="$profilePath/$profileName" - if [ -f $GUIX_PROFILE/etc/profile ]; then - . "$GUIX_PROFILE"/etc/profile - else - echo -e "${RED}Couldn't find profile:" $GUIX_PROFILE/etc/profile "${NC}" - fi - else - echo "No profile found at path" $profilePath - fi - done - -#+end_src - -** Update profiles - -#+begin_src sh :tangle bin/update-profiles :shebang #!/bin/sh - # Source: https://github.com/daviwil/dotfiles/blob/master/Systems.org#profile-management - - GREEN='\033[1;32m' - NC='\033[0m' - GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles - - profiles=$* - if [[ $# -eq 0 ]]; then - profiles="$GUIX_EXTRA_PROFILES/*"; - fi - - for profile in $profiles; do - profileName=$(basename $profile) - profilePath=$GUIX_EXTRA_PROFILES/$profileName - - echo - echo -e "${GREEN}Updating profile:" $profilePath "${NC}" - echo - - guix package --profile="$profilePath/$profileName" --manifest="$HOME/.config/guix/manifests/$profileName.scm" - done - -#+end_src - -* Channels -#+begin_src scheme :tangle .config/guix/channels.scm - (list - (channel - (name 'guix) - (url "https://git.savannah.gnu.org/git/guix.git") - ;; (url "file:///home/daviwil/Projects/Code/guix")) - (introduction - (make-channel-introduction - "9edb3f66fd807b096b48283debdcddccfea34bad" - (openpgp-fingerprint - "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))) - (channel - (name 'nonguix) - (url "https://gitlab.com/nonguix/nonguix") - ;; Enable signature verification: - (introduction - (make-channel-introduction - "897c1a470da759236cc11798f4e0a5f7d4d59fbc" - (openpgp-fingerprint - "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))) -#+end_src - -* Systems -** Base - -#+begin_src scheme :tangle .config/guix/systems/base-system.scm - - (define-module (base-system) - #:use-module (gnu) - #:use-module (gnu services pm) - #:use-module (gnu services docker) - #:use-module (gnu services networking) - #:use-module (gnu services virtualization) ; todo make - #:use-module (gnu packages vim) - #:use-module (gnu services desktop) - #:use-module (gnu packages xorg) - #:use-module (gnu packages emacs) - #:use-module (gnu packages file-systems) - #:use-module (gnu packages linux) - #:use-module (gnu packages audio) - #:use-module (gnu packages pulseaudio) - #:use-module (gnu packages version-control) - #:use-module (gnu packages package-management)) - ; #:use-module (nongnu packages linux) - ; #:use-module (nongnu system linux-initrd)) - - (use-service-modules ssh) - (use-package-modules certs) - (use-service-modules desktop xorg) -#+end_src - -*Packages* - #+begin_src scheme :noweb-ref packages :noweb yes - - ;; Packages - (packages (append (list - git - exfat-utils - fuse-exfat - stow - vim - emacs - bluez - bluez-alsa - pulseaudio - tlp - ncurses - xf86-input-libinput - nss-certs) ;; For https connection - %base-packages)) - - #+end_src - - *Services* - #+begin_src scheme :noweb-ref services :noweb yes - - ;; Services - (services - (append - (list - - (service elogind-service-type) - (service openssh-service-type) - (service network-manager-service-type) - (service slim-service-type) - (service tlp-service-type - (tlp-configuration - (cpu-boost-on-ac? #t) - (wifi-pwr-on-bat? #t))) - (bluetooth-service #:auto-enable? #t) - (service docker-service-type) - (service wpa-supplicant-service-type)) - (service libvirt-service-type - (libvirt-configuration - (unix-sock-group "libvirt") - (tls-port "16555"))) - (set-xorg-configuration - (xorg-configuration - (keyboard-layout keyboard-layout))) - - %base-services)) - - #+end_src - - *Users Accounts* - #+begin_src scheme :noweb-ref users :noweb yes - - ;; Users - (users (cons (user-account - (name "jakub") - (comment "Jakub Dlugosz") - (group "users") - (home-directory "/home/jakub") - (supplementary-groups '( - "wheel" - "netdev" - "kvm" - "tty" - "input" - "docker" - "lp" - "audio" - "video"))) - %base-user-accounts)) - -#+end_src - -*Base operating system* -#+begin_src scheme :tangle .config/guix/systems/base-system.scm :noweb yes - - (define-public base-operating-system - (operating-system - (host-name "base") - (timezone "Europe/Warsaw") - (locale "en_US.utf8") - (keyboard-layout (keyboard-layout "pl")) - - ;; Use non-free Linux and firmware - ;; (kernel linux) - ;; (firmware (list linux-firmware)) - ;; (initrd microcode-initrd) - - (bootloader (bootloader-configuration - (bootloader grub-efi-bootloader) - (targets "/boot/efi"))) - ;; (keyboard-layout keyboard-layout))) - - ;; Guix doesn't like it when there isn't a file-systems - ;; entry, so add one that is meant to be overridden - (file-systems (cons* - (file-system - (mount-point "/tmp") - (device "none") - (type "tmpfs") - (check? #f)) - %base-file-systems)) - <> - <> - <> - ;; Allow resolution of '.local' host names with mDNS - (name-service-switch %mdns-host-lookup-nss))) - -#+end_src - -** Systems -*** Viking - -#+begin_src scheme :tangle .config/guix/systems/viking.scm - (define-module (viking) - #:use-module (base-system) - #:use-module (gnu)) - - (operating-system - (inherit base-operating-system) - (host-name "viking") - - (bootloader - (bootloader-configuration - (bootloader grub-bootloader) - (target "/dev/sda"))) - - (mapped-devices - (list (mapped-device - (source - (uuid "75a1ebd7-13c2-442f-80ff-1b5e59522e29")) - (target "cryptroot") - (type luks-device-mapping)))) - - (file-systems - (cons* (file-system - (mount-point "/") - (device "/dev/mapper/cryptroot") - (type "ext4") - (dependencies mapped-devices)) - %base-file-systems))) -#+end_src -- cgit v1.2.3