diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/guix-config/.bashrc | 46 | ||||
-rw-r--r-- | src/guix-config/bdunahu-config.scm | 64 | ||||
-rw-r--r-- | src/guix-config/home-configuration.scm | 35 | ||||
-rw-r--r-- | src/guix-config/system-config.scm | 88 |
4 files changed, 233 insertions, 0 deletions
diff --git a/src/guix-config/.bashrc b/src/guix-config/.bashrc new file mode 100644 index 0000000..bc38007 --- /dev/null +++ b/src/guix-config/.bashrc @@ -0,0 +1,46 @@ +# Export 'SHELL' to child processes. Programs such as 'screen' +# honor it and otherwise use /bin/sh. +export SHELL + +if [[ $- != *i* ]] +then + # We are being invoked from a non-interactive shell. If this + # is an SSH session (as in "ssh host command"), source + # /etc/profile so we get PATH and other essential variables. + [[ -n "$SSH_CLIENT" ]] && source /etc/profile + + # Don't do anything else. + return +fi + +# Source the system-wide file. +source /etc/bashrc + +# Adjust the prompt depending on whether we're in 'guix environment'. +if [ -n "$GUIX_ENVIRONMENT" ] +then + PS1='\u@\h \w [env]\$ ' +else + PS1='\u@\h \w\$ ' +fi +alias ls='ls -p --color=auto' +alias ll='ls -l' +alias grep='grep --color=auto' + +# Alias definitions. +# You may want to put all your additions into a separate file like +# ~/.bash_aliases, instead of adding them here directly. +# See /usr/share/doc/bash-doc/examples in the bash-doc package. + +if [ -f ~/.bash_aliases ]; then + . ~/.bash_aliases +fi + +# enable ssh-agent on startup +eval 'ssh-agent' &> /dev/null + +# scripts folder to path +export PATH=$HOME/Personal/scripts/:$PATH + +# fixes some errors with Anaconda3 and URxvt +export TERMINFO=/usr/share/terminfo diff --git a/src/guix-config/bdunahu-config.scm b/src/guix-config/bdunahu-config.scm new file mode 100644 index 0000000..fe49e3a --- /dev/null +++ b/src/guix-config/bdunahu-config.scm @@ -0,0 +1,64 @@ +;; 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) + (gnu services) + (guix gexp) + (gnu home services) + (gnu home services shells) + (gnu home services ssh)) + +(home-environment + ;; Below is the list of packages that will show up in your + ;; Home profile, under ~/.guix-home/profile. + (packages (specifications->packages (list "dmenu" + "feh" + "flameshot" + "gimp" + "icecat" + "libnotify" + ;; "mpc" + "password-store" + "pass-otp" + "rsync" + "sbcl" + "slock" + ;; "texlive" + "xset" + "yt-dlp" + "zathura" + "zathura-pdf-poppler"))) + + ;; Below is the list of Home services. To search for available + ;; services, run 'guix home search KEYWORD' in a terminal. + (services + (list (service home-bash-service-type + (home-bash-configuration + (aliases '(("c" . "clear") ("cp" . "cp -i") + ("grep" . "grep --color=auto") + ("ll" . "ls -l") + ("ls" . "ls -p --color=auto") + ("mkd" . "mkdir -pv") + ("mv" . "mv -i") + ("rm" . "rm -i") + ("vi" . "vim") + ("ytta" . "yt-dlp --paths /home/bdunahu/Media/Audio --extract-audio --format bestaudio/best") + ("yttv" . "yt-dlp --paths /home/bdunahu/Media/Videos -f b"))) + (bashrc (list (local-file + "/home/bdunahu/src/guix-config//.bashrc" + "bashrc"))))) + (service home-openssh-service-type + (home-openssh-configuration + (hosts + (list (openssh-host (name "ambrosis") + (host-name "192.168.1.68") + (user "bdunahu")) + (openssh-host (name "vali") + (host-name "192.168.1.64") + (user "bdunahu")))))) + (service home-xdg-configuration-files-service-type + `(("emacs/init.el" ,(local-file "init.el"))))))) diff --git a/src/guix-config/home-configuration.scm b/src/guix-config/home-configuration.scm new file mode 100644 index 0000000..344df88 --- /dev/null +++ b/src/guix-config/home-configuration.scm @@ -0,0 +1,35 @@ +;; 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) + (gnu services) + (guix gexp) + (gnu home services shells)) + +(home-environment + ;; Below is the list of packages that will show up in your + ;; Home profile, under ~/.guix-home/profile. + (packages (specifications->packages (list "xset"))) + + ;; Below is the list of Home services. To search for available + ;; services, run 'guix home search KEYWORD' in a terminal. + (services + (list (service home-bash-service-type + (home-bash-configuration + (aliases '(("c" . "clear") ("cp" . "cp -i") + ("grep" . "grep --color=auto") + ("ll" . "ls -l") + ("ls" . "ls -p --color=auto") + ("mkd" . "mkdir -pv") + ("mv" . "mv -i") + ("rm" . "rm -i") + ("vi" . "vim") + ("ytta" . "yt-dlp --paths /home/bdunahu/Media/Audio --extract-audio --format bestaudio/best") + ("yttv" . "yt-dlp --paths /home/bdunahu/Media/Videos -f b"))) + (bashrc (list (local-file + "/home/bdunahu/src/guix-config//.bashrc" + "bashrc"))))) diff --git a/src/guix-config/system-config.scm b/src/guix-config/system-config.scm new file mode 100644 index 0000000..2f7710c --- /dev/null +++ b/src/guix-config/system-config.scm @@ -0,0 +1,88 @@ +;; Indicate which modules to import to access the variables +;; used in this configuration. +(use-modules (gnu)) +(use-service-modules audio desktop networking ssh xorg) + +(define username "bdunahu") +(define host-name "vali") + +(define user (user-account + (name username) + (comment username) + (group "users") + (home-directory (string-append "/home/" username)) + (supplementary-groups '("wheel" "netdev" "audio" "video")))) + +(operating-system + (locale "en_US.utf8") + (timezone "America/Denver") + (keyboard-layout (keyboard-layout "us")) + (host-name host-name) + + ;; The list of user accounts ('root' is implicit). + (users (cons* user + %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 (map specification->package + '("emacs" + "emacs-exwm" + "emacs-desktop-environment" + "git" + "htop" + "imagemagick" + "mpd" + "mpv" + "nss-certs" + "picom" + "stow" + "vim" + "xmodmap")) + %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 tor-service-type) + (service mpd-service-type + (mpd-configuration + (user user) + (music-directory "~/Personal/mpd/music") + (playlist-directory "~/Personal/mpd/playlist") + (default-port 6600))) + (set-xorg-configuration + (xorg-configuration (keyboard-layout keyboard-layout)))) + + ;; This is the default list of services we + ;; are appending to. + %desktop-services)) + (bootloader (bootloader-configuration + (bootloader grub-efi-bootloader) + (targets (list "/boot/efi")) + (keyboard-layout keyboard-layout))) + + ;; 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 "/boot/efi") + (device (uuid "445A-BE61" + 'fat32)) + (type "vfat")) + (file-system + (mount-point "/home/bdunahu/Personal") + (device (uuid "020b73df-3991-4271-9d3f-dba00ad260ec")) + (type "ext4")) + (file-system + (mount-point "/") + (device (uuid + "98a6a953-1689-4a0f-a43b-f73c5a5d3e51" + 'ext4)) + (type "ext4")) %base-file-systems))) |