fixed some stuff

This commit is contained in:
opalvault
2022-01-02 18:40:56 -08:00
parent 8ffd13b735
commit 7a8b14835e
20 changed files with 1468 additions and 423 deletions

View File

@@ -27,7 +27,7 @@ set $right l
set $term alacritty
# Application Launcher
set $menu dmenu_path | dmenu | xargs swaymsg exec --
set $menu wofi --hide-scroll --show drun | xargs swaymsg exec
#+end_src
*** Opacity
#+begin_src shell :tangle ~/dotfiles/guix/home/files/sway/config :mkdirp yes
@@ -41,9 +41,15 @@ for_window [app_id=".*"] opacity $opacity
default_border none
# Gaps
gaps top 2
gaps inner 3
# gaps outer 3
gaps top 0
gaps inner 10
gaps outer 10
#+end_src
*** Notifications
#+begin_src shell :tangle ~/dotfiles/guix/home/files/sway/config :mkdirp yes
# Dismiss notifications
bindsym Control+space exec makoctl dismiss
bindsym --locked $mod+d exec sh -c "notify-send 'Do Not Disturb' 'Turning on Do Not Disturb Mode'; sleep 2; makoctl set-mode do-not-disturb"
#+end_src
*** Mouse Behavior
#+begin_src shell :tangle ~/dotfiles/guix/home/files/sway/config :mkdirp yes
@@ -60,24 +66,33 @@ exec_always wlsunset -l 47.6, -122.3 -t 3500 -T 6500
#+end_src
*** Wallpaper & Monitor(s)
#+begin_src shell :tangle ~/dotfiles/guix/home/files/sway/config :mkdirp yes
# Wallpaper
output * bg /home/opal/dotfiles/guix/home/files/wallpapers/guix-wallpaper.jpg stretch
# Monitors
# You can get the names of your outputs by running: swaymsg -t get_outputs
output eDP-1 resolution 1920x1080 position 0,0
# output eDP-1 pos 0 0 res 1920x1200
# output DP-5 pos 3440 0 res 3440x1440
output eDP-1 pos 0 0 res 1920x1200
output DP-5 pos 1920 0 res 3440x1440
# Wallpaper
output DP-5 bg /home/opal/dotfiles/guix/home/files/wallpapers/fog-wallpaper.jpg fill
output eDP-1 bg /home/opal/dotfiles/guix/home/files/wallpapers/fog-wallpaper.jpg fill
#+end_src
*** Idle Behavior
*** Idle/Exit Behavior
#+begin_src shell :tangle ~/dotfiles/guix/home/files/sway/config :mkdirp yes
### Idle configuration
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
exec swayidle -w \
timeout 300 'swaylock -f -c 000000' \
timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
before-sleep 'swaylock -f -c 000000'
timeout 600 'swaylock -f' \
timeout 1800 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
before-sleep 'swaylock -f'
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t custom -m 'Do you wish to fully reload your Sway session?' -b 'Yes' 'swaymsg exit'
# Turn the system off
bindsym $mod+Shift+p exec swaynag -t custom -m 'What action would you like to perform?' -b 'Shutdown' 'poweroff' -b 'Restart' 'poweroff --reboot'
#+end_src
*** Input
@@ -129,6 +144,22 @@ bindsym $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+x exec swaymsg -r exit
#+end_src
*** Media/Brightness
#+begin_src shell :tangle ~/dotfiles/guix/home/files/sway/config :mkdirp yes
## Volume
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
# Media playerctl
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
bindsym XF86AudioPlay exec playerctl play-pause
# Backlight
bindsym XF86MonBrightnessUp exec light -A 10 && notify-send "󰃞 Light" "Brightness: $(light)%" --hint="int:value:$(light)"
bindsym XF86MonBrightnessDown exec light -U 10 && notify-send "󰃞 Light" "Brightness: $(light)%" --hint="int:value:$(light)"
#+end_src
*** Navigation & Focus
#+begin_src shell :tangle ~/dotfiles/guix/home/files/sway/config :mkdirp yes
@@ -157,11 +188,12 @@ bindsym $mod+Shift+Right move right
#+end_src
*** Workspaces
#+begin_src shell :tangle ~/dotfiles/guix/home/files/sway/config :mkdirp yes
set $ws1 ۱
set $ws2 ۲
set $ws3 ۳
set $ws4 ۴
set $ws5 ۵
# Assign workspaces to variables
set $ws1 number 1
set $ws2 number 2
set $ws3 number 3
set $ws4 number 4
set $ws5 number 5
# Switch to workspace
bindsym $mod+1 workspace $ws1
@@ -240,6 +272,13 @@ mode "resize" {
}
bindsym $mod+r mode "resize"
#+end_src
** GTK Theme
#+begin_src shell :tangle ~/dotfiles/guix/home/files/sway/config :mkdirp yes
exec_always import-gsettings \
gtk-theme:gtk-theme-name \
icon-theme:gtk-icon-theme-name \
cursor-theme:gtk-cursor-theme-name
#+end_src
** Swaybar
#+begin_src shell :tangle ~/dotfiles/guix/home/files/sway/config :mkdirp yes
@@ -248,21 +287,316 @@ bindsym $mod+r mode "resize"
#
# Read `man 5 sway-bar` for more information about this section.
bar {
position top
gaps 5
swaybar_command waybar
# position top
# gaps 5
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
status_command while date +'%Y-%m-%d %l:%M:%S %p'; do sleep 1; done
# # When the status_command prints a new line to stdout, swaybar updates.
# # The default just shows the current date and time.
# status_command while date +'%Y-%m-%d %l:%M:%S %p'; do sleep 1; done
colors {
statusline #ffffff
background #323232
inactive_workspace #32323200 #32323200 #5c5c5c
}
# colors {
# statusline #ffffff
# background #323232
# inactive_workspace #32323200 #32323200 #5c5c5c
# }
}
#+end_src
** Swaylock
#+begin_src shell :tangle ~/dotfiles/guix/home/files/swaylock/config :mkdirp yes
# Image
image=/home/opal/guix/home/files/wallpapers/fog-wallpaper.jpg
scaling=fill
# Indicator
ignore-empty-password
indicator-caps-lock
# Behavior
show-failed-attempts
#+end_src
* Waybar
** waybar/config
#+begin_src shell :tangle ~/dotfiles/guix/home/files/waybar/config :mkdirp yes
{
"layer": "top", // Waybar at top layer
"position": "top", // Waybar at the bottom of your screen
"height": 24, // Waybar height
// "width": 1366, // Waybar width
// Choose the order of the modules
"modules-left": ["sway/workspaces", "sway/mode", "custom/spotify"],
"modules-center": ["sway/window"],
"modules-right": ["pulseaudio", "network", "cpu", "memory", "battery", "tray", "clock"],
// "sway/workspaces": {
// "disable-scroll": true,
// "all-outputs": false,
"format": "{icon}",
"format-icons": {
// "1:web": "",
// "2:code": "",
// "3:term": "",
// "4:work": "",
// "5:music": "",
// "6:docs": "",
"urgent": "",
"focused": "",
"default": ""
}
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
"clock": {
"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
"format": "{usage}% "
},
"memory": {
"format": "{}% "
},
"battery": {
"bat": "BAT0",
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{capacity}% {icon}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"network": {
// "interface": "wlp2s0", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%) ",
"format-ethernet": "{ifname}: {ipaddr}/{cidr} ",
"format-disconnected": "Disconnected ⚠"
"on-click": "alacritty -e nmtui"
},
"pulseaudio": {
//"scroll-step": 1,
"format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon}",
"format-muted": "",
"format-icons": {
"headphones": "",
"handsfree": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", ""]
},
"on-click": "pavucontrol"
},
"custom/spotify": {
"format": " {}",
"max-length": 40,
"interval": 30, // Remove this if your script is endless and write in loop
"exec": "$HOME/.config/waybar/mediaplayer.sh 2> /dev/null", // Script in resources folder
"exec-if": "pgrep spotify"
}
}
#+end_src
** waybar/style.css
#+begin_src shell :tangle ~/dotfiles/guix/home/files/waybar/style.css :mkdirp yes
\* {
border: none;
border-radius: 0;
font-family: "Fira Sans, normal";
font-size: 13px;
min-height: 0;
}
window#waybar {
background: transparent;
color: white;
}
#window {
font-weight: bold;
font-family: "Fira Sans, normal";
}
/*
#workspaces {
padding: 0 5px;
}
*/
#workspaces button {
padding: 0 5px;
background: transparent;
color: white;
border-top: 2px solid transparent;
}
#workspaces button.focused {
color: white;
border-top: 2px solid white;
}
#mode {
background: #64727D;
border-bottom: 3px solid white;
}
#clock, #battery, #cpu, #memory, #network, #pulseaudio, #custom-spotify, #tray, #mode {
padding: 0 3px;
margin: 0 2px;
}
#clock {
font-weight: bold;
}
#battery {
}
#battery icon {
color: red;
}
#battery.charging {
}
@keyframes blink {
to {
background-color: #ffffff;
color: black;
}
}
#battery.warning:not(.charging) {
color: white;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#cpu {
}
#memory {
}
#network {
}
#network.disconnected {
background: #f53c3c;
}
#pulseaudio {
}
#pulseaudio.muted {
}
#custom-spotify {
color: rgb(102, 220, 105);
}
#tray {
}
#+end_src
* Wofi
** wofi/config
#+begin_src shell :tangle ~/dotfiles/guix/home/files/wofi/config :mkdirp yes
style=/home/opal/guix/home/files/wofi/style.css
xoffset=710
yoffset=275
show=drun
width=500
height=500
always_parse_args=true
show_all=true
print_command=true
layer=overlay
insensitive=true
prompt=
#+end_src
** wofi/style.css
#+begin_src shell :tangle ~/dotfiles/guix/home/files/wofi/style.css :mkdirp yes
window {
margin: 0px;
border: 2px solid #414868;
border-radius: 5px;
background-color: #24283b;
font-family: monospace;
font-size: 12px;
}
#input {
margin: 5px;
border: 1px solid #24283b;
color: #c0caf5;
background-color: #24283b;
}
#input image {
color: #c0caf5;
}
#inner-box {
margin: 5px;
border: none;
background-color: #24283b;
}
#outer-box {
margin: 5px;
border: none;
background-color: #24283b;
}
#scroll {
margin: 0px;
border: none;
}
#text {
margin: 5px;
border: none;
color: #c0caf5;
}
#entry:selected {
background-color: #414868;
font-weight: normal;
}
#text:selected {
background-color: #414868;
font-weight: normal;
}
#+end_src
* Swaynag
#+begin_src shell :tangle ~/dotfiles/guix/home/files/swaynag/config :mkdirp yes
[custom]
font=mononoki Nerd Font 10
dismiss-button=Dismiss
background=0f0f0f
border=262626
border-bottom=262626
button-background=262626
text=f0f0f0
border-bottom-size=2
message-padding=5
details-border-size=2
button-border-size=0
button-gap=5
button-dismiss-gap=5
button-margin-right=5
button-padding=5
#+end_src
* Zsh
Aside from using e-shell for quick command line usage, I mainly use vterm with Zsh. It's a bit of a complicated setup but allows for the maximum number of files possible to live in .config instead of littering my home directory.
@@ -277,18 +611,14 @@ ZSH_THEME="mrtazz"
DISABLE_AUTO_UPDATE="true"
ENABLE_CORRECTION="true"
plugins=(git)
# This has to stay below plugins.
source $ZSH/oh-my-zsh.sh
# --- user paths --- #
# scripts
export PATH=/home/ry/scripts:$PATH
# cron scripts
export PATH=/home/ry/scripts/cron-scripts:$PATH
# doom
export PATH=~/.config/emacs/bin:$PATH
# GNU Guix path
export PATH=/home/ry/.guix-profile/bin:$PATH
# Scripts
export PATH=/home/opal/bin:$PATH
# --- locale --- #
export LANG=en_US.UTF-8
@@ -307,27 +637,14 @@ alias remove="guix remove"
alias search="guix search"
alias pull="guix pull"
alias upgrade="guix package -u"
alias hreconfig="guix home reconfigure ~/dotfiles/guix/home/files/guix-home.scm"
alias hreconfig="guix home reconfigure ~/dotfiles/guix/home/guix-home.scm"
# qol
alias vi="nvim"
alias vim="nvim"
alias unmount="umount"
# git
alias ga="git add"
alias gc="git commit -m"
alias gs="git status"
alias gd="git diff"
alias gm="git merge"
alias gp="git push"
alias gco="git checkout"
# config
alias zshrcsource="source ~/dotfiles/guix/home/files/zsh/zshrc"
#+end_src
**
** zprofile
#+begin_src shell :tangle ~/dotfiles/guix/home/files/zsh/zprofile :mkdirp yes
# Each new shell auto-imports all environment variables.
@@ -362,7 +679,7 @@ fi
#+RESULTS:
* Alacritty
#+begin_src sh :tangle ~/dotfiles/guix/home/files/alacritty.yml :mkdirp yes
#+begin_src sh :tangle ~/dotfiles/guix/home/files/alacritty/alacritty.yml :mkdirp yes
# Env
env:
TERM: xterm-256color
@@ -840,3 +1157,22 @@ XDG_MUSIC_DIR="$HOME/music"
XDG_PICTURES_DIR="$HOME/pictures"
XDG_VIDEOS_DIR="$HOME/videos"
#+end_src
* GTK/Theme Settings
#+begin_src shell :tangle ~/dotfiles/guix/home/files/gtk-3.0/settings.ini :mkdirp yes
[Settings]
gtk-cursor-theme-name=
gtk-theme-name=Arc-Dark
gtk-font-name=Fira Sans Regular
gtk-icon-theme-name=Papirus
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
#+end_src

682
guix.org
View File

@@ -23,7 +23,419 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))))
#+end_src
* System
* Home
#+begin_src emacs-lisp :tangle ~/dotfiles/guix/home/guix-home.scm :mkdirp yes
(use-modules
(gnu)
(gnu home)
(gnu home services)
(gnu home services shells)
(gnu home services shepherd)
(gnu packages)
(gnu packages linux)
(gnu packages admin)
(gnu packages shells)
(gnu packages pulseaudio)
(gnu packages web-browsers)
(gnu packages guile)
(gnu packages wget)
(gnu packages curl)
(gnu packages pdf)
(gnu packages ebook)
(gnu packages gnome)
(gnu packages gnome-xyz)
(gnu packages compression)
(gnu packages cmake)
(gnu packages autotools)
(gnu packages gstreamer)
(gnu packages video)
(gnu packages mpd)
(gnu packages terminals)
(gnu packages xdisorg)
(gnu packages gnupg)
(gnu packages password-utils)
(gnu packages emacs)
(gnu packages emacs-xyz)
(gnu packages gnuzilla)
(gnu packages ruby)
(gnu packages python)
(gnu packages lisp)
(gnu packages python-xyz)
(gnu packages fonts)
(gnu packages wm)
(gnu packages music)
(gnu packages base)
(gnu services)
(guix gexp))
(home-environment
(packages
(append
;; Tools/Libraries
(list
light
zsh
wget
curl
cmake
zip
unzip
libtool
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gst-libav
wl-clipboard
waybar
playerctl
gnu-make)
;; Applications
(list
alacritty
nyxt
zathura-pdf-mupdf
nautilus
wlr-randr
calibre
mpv
youtube-dl
icedove
keepassxc
nautilus
pavucontrol
wofi
mako)
;; Emacs
(list
emacs-vterm
emacs-geiser
emacs-geiser-guile
emacs-doom-modeline
emacs-all-the-icons
emacs-all-the-icons-dired
emacs-general
emacs-which-key
emacs-alert
emacs-helpful
emacs-pinentry
emacs-doom-themes
emacs-evil
emacs-evil-collection
emacs-vertico
emacs-orderless
emacs-consult
emacs-company
emacs-marginalia
emacs-perspective
emacs-dired-rsync
emacs-dired-hacks
emacs-org-bullets
emacs-org-make-toc
emacs-visual-fill-column
emacs-flycheck
emacs-rainbow-mode
emacs-rainbow-delimiters
emacs-magit
emacs-projectile
emacs-lsp-mode
emacs-lsp-ui
emacs-treemacs
emacs-lsp-treemacs
emacs-parinfer-mode
emacs-yasnippet
emacs-pdf-tools)
;; Languages
(list
ruby
python
guile-3.0
sbcl
python-lsp-server
ruby-solargraph)
;; Aesthetics/Fonts
(list
gnome-tweaks
papirus-icon-theme
arc-theme
font-fira-mono
font-fira-code
font-fira-sans
font-abattis-cantarell
font-google-noto
font-awesome
pfetch)))
(services
(append
;; Shell
(list
(service home-zsh-service-type
(home-zsh-configuration
;; Place all configs to $XDG_CONFIG_HOME/zsh. Makes
;; ~/.zshenv set ZDOTDIR to $XDG_CONFIG_HOME/zsh
;; and shell process starts with ~/.config/zsh/.zshenv
(xdg-flavor? #t)
;; .zshenv
(zshenv
(list
(local-file "files/zsh/zshenv")))
;; .zprofile
(zprofile
(list
(local-file "files/zsh/zprofile")))
;; .zshrc
(zshrc
(list
(local-file "files/zsh/zshrc"))))))
;; Files
(list
(simple-service 'sway-config
home-files-service-type
(list
`("config/sway/config"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/sway/config")))))
(simple-service 'waybar-config
home-files-service-type
(list
`("config/waybar/config"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/waybar/config")))))
(simple-service 'waybar-style-css
home-files-service-type
(list
`("config/waybar/style.css"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/waybar/style.css")))))
(simple-service 'swaylock-config
home-files-service-type
(list
`("config/swaylock/config"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/swaylock/config")))))
(simple-service 'wofi-config
home-files-service-type
(list
`("config/wofi/config"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/wofi/config")))))
(simple-service 'wofi-style-config
home-files-service-type
(list
`("config/wofi/style.css"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/wofi/style.css")))))
(simple-service 'swaynag-config
home-files-service-type
(list
`("config/swaynag/config"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/swaynag/config")))))
(simple-service 'user-dirs-config
home-files-service-type
(list
`("config/user-dirs.dirs"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/user-dirs.dirs")))))
(simple-service 'emacs-config
home-files-service-type
(list
`("config/emacs/init.el"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/emacs/init.el")))))
(simple-service 'nyxt-config
home-files-service-type
(list
`("config/nyxt/init.lisp"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/nyxt/init.lisp")))))
(simple-service 'dunst-config
home-files-service-type
(list
`("config/dunst/dunstrc"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/dunst/dunstrc")))))
(simple-service 'mbsync-config
home-files-service-type
(list
`("config/mbsync/mbsyncrc"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/mbsync/mbsyncrc")))))
(simple-service 'alacritty-config
home-files-service-type
(list
`("config/alacritty/alacritty.yml"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/alacritty/alacritty.yml")))))
(simple-service 'gtk-config
home-files-service-type
(list
`("config/gtk-3.0/settings.ini"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/gtk-3.0/settings.ini"))))))
;; Daemons
(list
(service home-shepherd-service-type
(home-shepherd-configuration
(services
(list
(shepherd-service
(provision '(emacs))
(start #~(make-system-constructor "emacs --daemon"))
(stop #~(make-system-constructor "emacsclient -e '(kill-emacs)'")))
(shepherd-service
(provision '(gnome-keyring-daemon))
(start #~(make-system-contructor "gnome-keyring-daemon --daemonize "))
(stop #~(make-system-contructor "pkill gnome-keyring-daemon")))))))))))
#+end_src
* System
** Home
#+begin_src scheme :tangle ~/dotfiles/guix/system/apollyon-laptop.scm :mkdirp yes
(use-modules (gnu)
(gnu services desktop)
(gnu packages wm)
(gnu packages shells)
(gnu packages version-control)
(gnu packages emacs)
(gnu packages gnuzilla)
(gnu packages vim)
(gnu packages certs)
(gnu packages file-systems)
(gnu packages suckless)
(gnu packages admin)
(gnu packages linux)
(gnu packages audio)
(gnu packages pulseaudio)
(gnu packages gnome)
(gnu system setuid)
(nongnu packages linux))
(use-service-modules
cups
desktop
networking
ssh
;; sddm
xorg)
(operating-system
(kernel linux)
(firmware (list linux-firmware))
(locale "en_US.utf8")
(timezone "America/Los_Angeles")
(keyboard-layout (keyboard-layout "us"))
(host-name "borges")
(setuid-programs
(let ((from (lambda (package file)
(setuid-program (program (file-append package file))))))
(cons* (from light "/bin/light")
(from network-manager "/bin/nmtui")
(from sway "/bin/sway")
(from swaylock "/bin/swaylock")
%setuid-programs)))
(users (cons* (user-account
(name "opal")
(comment "opal")
(group "users")
(home-directory "/home/opal")
(shell (file-append zsh "/bin/zsh"))
(supplementary-groups
'("wheel"
"netdev"
"audio"
"video")))
%base-user-accounts))
(packages (append (list git
network-manager
icecat
vim
nss-certs
exfat-utils
emacs
sway
swaybg
swaylock
swayidle
dmenu
bluez
bluez-alsa
pulseaudio)
%base-packages))
(services
(cons*
(service
(modify-services %desktop-services
(gdm-service-type config
=> (gdm-configuration
(inherit config)
(wayland? #t)
(debug? #t)))))))
(bootloader
(bootloader-configuration
(bootloader grub-efi-bootloader)
(targets (list "/boot/efi"))
(keyboard-layout keyboard-layout)))
(mapped-devices
(list (mapped-device
(source
(uuid "0eb58e93-c463-4d40-a819-4c9d594ed230"))
(target "cryptroot")
(type luks-device-mapping))))
(file-systems
(cons* (file-system
(mount-point "/")
(device "/dev/mapper/cryptroot")
(type "btrfs")
(dependencies mapped-devices))
(file-system
(mount-point "/boot/efi")
(device (uuid "2AFC-9172" 'fat32))
(type "vfat"))
%base-file-systems)))
#+end_src
#+begin_src scheme
;; (append (modify-services %desktop-services
;; (delete gdm-service-type))
;; (list (service sddm-service-type
;; (sddm-configuration
;; (display-server "wayland"))))))
;; (services
;; (append (modify-services %desktop-services
;; (gdm-service-type config
;; = (gdm-configuration
;; (inherit config)
;; (wayland? #t)
;; (debug? #t))))))
;; (services (cons* ...
;; (modify-services %desktop-services
;; (gdm-service-type config
;; =;;putabrackethere (gdm-configuration
;; (inherit config)
;; (wayland? #t)
;; (debug? #t))))))
#+end_src
** Home Desktop
#+begin_src scheme :tangle ~/dotfiles/guix/system/home-desktop.scm :mkdirp yes
(use-modules (gnu)
@@ -92,12 +504,14 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
pulseaudio)
%base-packages))
(services
(append (modify-services %desktop-services
(delete gdm-service-type))
(list (service sddm-service-type
(sddm-configuration
(display-server "wayland"))))))
;; (services (cons* ...
;; (modify-services %desktop-services
;; (gdm-service-type config
;; =;;putabrackethere (gdm-configuration
;; (inherit config)
;; (wayland? #t)
;; (debug? #t))))))
(bootloader
(bootloader-configuration
(bootloader grub-efi-bootloader)
@@ -120,7 +534,9 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
(device (uuid "1C3B-10F5" 'fat32))
(type "vfat"))
%base-file-systems)))
#+end_src
#+begin_src shell
;; (setuid-programs
;; (let ((from (lambda (package file)
;; (setuid-program (program (file-append package file))))))
@@ -141,7 +557,6 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
#+end_src
** Work Laptop
#+begin_src scheme :tangle ~/dotfiles/guix/system/work-laptop.scm :mkdirp yes
(use-modules (gnu)
@@ -209,10 +624,16 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
(services
(append (modify-services %desktop-services
(delete gdm-service-type))
(list (service sddm-service-type
(sddm-configuration
(display-server "wayland"))))))
(gdm-service-type config
=> (gdm-configuration
(inherit config)
(wayland? #t)
(debug? #t))))))
;; (append (modify-services %desktop-services
;; (delete gdm-service-type))
;; (list (service sddm-service-type
;; (sddm-configuration
;; (display-server "wayland"))))))
(bootloader
(bootloader-configuration
@@ -235,17 +656,8 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
(mount-point "/boot/efi")
(device (uuid "15B3-5DE5" 'fat32))
(type "vfat"))
%base-file-systems)))
%base-file-systems))))
;; (setuid-programs
;; (let ((from (lambda (package file)
;; (setuid-program (program (file-append package file))))))
;; (cons* (from light "/bin/light")
;; (from mtr "/sbin/mtr")
;; (from network-manager "/bin/nmtui")
;; (from nfs-utils "/sbin/mount.nfs")
;; (from swaylock "/bin/swaylock")
;; %setuid-programs)))
;; (services (cons* ...
;; (modify-services %desktop-services
@@ -256,229 +668,3 @@ I use GNU Guix as my operating system. I'm able to declare the state of the oper
;; (debug? #t))))))
#+end_src
* Home
#+begin_src emacs-lisp :tangle ~/dotfiles/guix/home/guix-home.scm :mkdirp yes
(use-modules
(gnu)
(gnu home)
(gnu home services)
(gnu home services shells)
(gnu home services shepherd)
(gnu packages)
(gnu packages shells)
(gnu packages pulseaudio)
(gnu packages web-browsers)
(gnu packages guile)
(gnu packages wget)
(gnu packages curl)
(gnu packages pdf)
(gnu packages ebook)
(gnu packages gnome)
(gnu packages gnome-xyz)
(gnu packages compression)
(gnu packages cmake)
(gnu packages autotools)
(gnu packages gstreamer)
(gnu packages video)
(gnu packages mpd)
(gnu packages terminals)
(gnu packages xdisorg)
(gnu packages gnupg)
(gnu packages password-utils)
(gnu packages emacs)
(gnu packages emacs-xyz)
(gnu packages gnuzilla)
(gnu packages ruby)
(gnu packages python)
(gnu packages lisp)
(gnu packages python-xyz)
(gnu packages fonts)
(gnu packages wm)
(gnu services)
(guix gexp))
(home-environment
(packages
(append
;; Tools/Libraries
(list
zsh
wget
curl
cmake
zip
unzip
libtool
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gst-libav
wl-clipboard
pavucontrol)
;; Applications
(list
alacritty
nyxt
zathura-pdf-mupdf
nautilus
wlr-randr
calibre
mpv
youtube-dl
icedove
keepassxc
nautilus)
;; Emacs
(list
emacs-vterm
emacs-geiser
emacs-geiser-guile
emacs-doom-modeline
emacs-all-the-icons
emacs-all-the-icons-dired
emacs-general
emacs-which-key
emacs-alert
emacs-helpful
emacs-pinentry
emacs-doom-themes
emacs-evil
emacs-evil-collection
emacs-vertico
emacs-orderless
emacs-consult
emacs-company
emacs-marginalia
emacs-perspective
emacs-dired-rsync
emacs-dired-hacks
emacs-org-bullets
emacs-org-make-toc
emacs-visual-fill-column
emacs-flycheck
emacs-rainbow-mode
emacs-rainbow-delimiters
emacs-magit
emacs-projectile
emacs-lsp-mode
emacs-lsp-ui
emacs-treemacs
emacs-lsp-treemacs
emacs-parinfer-mode
emacs-yasnippet
emacs-pdf-tools)
;; Languages
(list
ruby
python
guile-3.0
sbcl
python-lsp-server
ruby-solargraph)
;; Aesthetics/Fonts
(list
gnome-tweaks
papirus-icon-theme
arc-theme
font-fira-mono
font-fira-code
font-fira-sans
font-abattis-cantarell
font-google-noto
font-awesome)))
(services
(append
;; Shell
(list
(service home-zsh-service-type
(home-zsh-configuration
;; Place all configs to $XDG_CONFIG_HOME/zsh. Makes
;; ~/.zshenv set ZDOTDIR to $XDG_CONFIG_HOME/zsh
;; and shell process starts with ~/.config/zsh/.zshenv
(xdg-flavor? #t)
;; .zshenv
(zshenv
(list
(local-file "files/zsh/zshenv")))
;; .zprofile
(zprofile
(list
(local-file "files/zsh/zprofile")))
;; .zshrc
(zshrc
(list
(local-file "files/zsh/zshrc"))))))
;; Files
(list
(simple-service 'sway-config
home-files-service-type
(list
`("config/sway/config"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/sway/config")))))
(simple-service 'user-dirs-config
home-files-service-type
(list
`("config/user-dirs.dirs"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/user-dirs.dirs")))))
(simple-service 'emacs-config
home-files-service-type
(list
`("config/emacs/init.el"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/emacs/init.el")))))
(simple-service 'nyxt-config
home-files-service-type
(list
`("config/nyxt/init.lisp"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/nyxt/init.lisp")))))
(simple-service 'dunst-config
home-files-service-type
(list
`("config/dunst/dunstrc"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/dunst/dunstrc")))))
(simple-service 'mbsync-config
home-files-service-type
(list
`("config/mbsync/mbsyncrc"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/mbsync/mbsyncrc")))))
(simple-service 'alacritty-config
home-files-service-type
(list
`("config/alacritty/alacritty.yml"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/alacritty/alacritty.yml"))))))
;; Daemons
(list
(service home-shepherd-service-type
(home-shepherd-configuration
(services
(list
(shepherd-service
(provision '(emacs))
(start #~(make-system-constructor "emacs --daemon"))
(stop #~(make-system-constructor "emacsclient -e '(kill-emacs)'")))
(shepherd-service
(provision '(gnome-keyring-daemon))
(start #~(make-system-contructor "gnome-keyring-daemon --daemonize "))
(stop #~(make-system-contructor "pkill gnome-keyring-daemon")))))))))))
#+end_src

View File

@@ -1,19 +0,0 @@
# Env
env:
TERM: xterm-256color
# Font configuration
font:
normal:
family: inconsolata
style: Regular
bold:
family: inconsolata
style: Bold
italic:
family: inconsolata
style: Italic
bold_italic:
family: inconsolata
style: Bold Italic
size: 16

View File

@@ -0,0 +1,15 @@
[Settings]
gtk-cursor-theme-name=Simp1e
gtk-theme-name=Arc-Dark
gtk-font-name=Fira Sans Regular
gtk-icon-theme-name=Papirus
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull

View File

@@ -11,7 +11,7 @@ set $right l
set $term alacritty
# Application Launcher
set $menu dmenu_path | dmenu | xargs swaymsg exec --
set $menu wofi --hide-scroll --show drun | xargs swaymsg exec
set $opacity 0.92
for_window [class=".*"] opacity $opacity
@@ -21,9 +21,13 @@ for_window [app_id=".*"] opacity $opacity
default_border none
# Gaps
gaps top 2
gaps inner 3
# gaps outer 3
gaps top 0
gaps inner 10
gaps outer 10
# Dismiss notifications
bindsym Control+space exec makoctl dismiss
bindsym --locked $mod+d exec sh -c "notify-send 'Do Not Disturb' 'Turning on Do Not Disturb Mode'; sleep 2; makoctl set-mode do-not-disturb"
# Hide mouse cursor after inactivity
seat * hide_cursor 4000
@@ -34,21 +38,30 @@ exec_always dunst
# Wlsunset (Night Light)
exec_always wlsunset -l 47.6, -122.3 -t 3500 -T 6500
# Wallpaper
output * bg /home/opal/dotfiles/guix/home/files/wallpapers/guix-wallpaper.jpg stretch
# Monitors
# You can get the names of your outputs by running: swaymsg -t get_outputs
output eDP-1 resolution 1920x1080 position 0,0
# output eDP-1 pos 0 0 res 1920x1200
# output DP-5 pos 3440 0 res 3440x1440
output eDP-1 pos 0 0 res 1920x1200
output DP-5 pos 1920 0 res 3440x1440
# Wallpaper
output DP-5 bg /home/opal/dotfiles/guix/home/files/wallpapers/fog-wallpaper.jpg fill
output eDP-1 bg /home/opal/dotfiles/guix/home/files/wallpapers/fog-wallpaper.jpg fill
### Idle configuration
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
exec swayidle -w \
timeout 300 'swaylock -f -c 000000' \
timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
before-sleep 'swaylock -f -c 000000'
timeout 600 'swaylock -f' \
timeout 1800 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
before-sleep 'swaylock -f'
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t custom -m 'Do you wish to fully reload your Sway session?' -b 'Yes' 'swaymsg exit'
# Turn the system off
bindsym $mod+Shift+p exec swaynag -t custom -m 'What action would you like to perform?' -b 'Shutdown' 'poweroff' -b 'Restart' 'poweroff --reboot'
### Input configuration
#
@@ -94,6 +107,20 @@ bindsym $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+x exec swaymsg -r exit
## Volume
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
# Media playerctl
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
bindsym XF86AudioPlay exec playerctl play-pause
# Backlight
bindsym XF86MonBrightnessUp exec light -A 10 && notify-send "󰃞 Light" "Brightness: $(light)%" --hint="int:value:$(light)"
bindsym XF86MonBrightnessDown exec light -U 10 && notify-send "󰃞 Light" "Brightness: $(light)%" --hint="int:value:$(light)"
# Moving around:
# Move your focus around
bindsym $mod+$left focus left
@@ -117,11 +144,12 @@ bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
set $ws1 ۱
set $ws2 ۲
set $ws3 ۳
set $ws4 ۴
set $ws5 ۵
# Assign workspaces to variables
set $ws1 number 1
set $ws2 number 2
set $ws3 number 3
set $ws4 number 4
set $ws5 number 5
# Switch to workspace
bindsym $mod+1 workspace $ws1
@@ -198,21 +226,27 @@ mode "resize" {
}
bindsym $mod+r mode "resize"
exec_always import-gsettings \
gtk-theme:gtk-theme-name \
icon-theme:gtk-icon-theme-name \
cursor-theme:gtk-cursor-theme-name
#
# Status Bar:
#
# Read `man 5 sway-bar` for more information about this section.
bar {
position top
gaps 5
swaybar_command waybar
# position top
# gaps 5
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
status_command while date +'%Y-%m-%d %l:%M:%S %p'; do sleep 1; done
# # When the status_command prints a new line to stdout, swaybar updates.
# # The default just shows the current date and time.
# status_command while date +'%Y-%m-%d %l:%M:%S %p'; do sleep 1; done
colors {
statusline #ffffff
background #323232
inactive_workspace #32323200 #32323200 #5c5c5c
}
# colors {
# statusline #ffffff
# background #323232
# inactive_workspace #32323200 #32323200 #5c5c5c
# }
}

View File

@@ -0,0 +1,10 @@
# Image
image=/home/opal/guix/home/files/wallpapers/fog-wallpaper.jpg
scaling=fill
# Indicator
ignore-empty-password
indicator-caps-lock
# Behavior
show-failed-attempts

View File

@@ -0,0 +1,16 @@
[custom]
font=mononoki Nerd Font 10
dismiss-button=Dismiss
background=0f0f0f
border=262626
border-bottom=262626
button-background=262626
text=f0f0f0
border-bottom-size=2
message-padding=5
details-border-size=2
button-border-size=0
button-gap=5
button-dismiss-gap=5
button-margin-right=5
button-padding=5

View File

@@ -1,15 +0,0 @@
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"

Binary file not shown.

After

Width:  |  Height:  |  Size: 768 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

View File

@@ -0,0 +1,84 @@
{
"layer": "top", // Waybar at top layer
"position": "top", // Waybar at the bottom of your screen
"height": 24, // Waybar height
// "width": 1366, // Waybar width
// Choose the order of the modules
"modules-left": ["sway/workspaces", "sway/mode", "custom/spotify"],
"modules-center": ["sway/window"],
"modules-right": ["pulseaudio", "network", "cpu", "memory", "battery", "tray", "clock"],
// "sway/workspaces": {
// "disable-scroll": true,
// "all-outputs": false,
"format": "{icon}",
"format-icons": {
// "1:web": "",
// "2:code": "",
// "3:term": "",
// "4:work": "",
// "5:music": "",
// "6:docs": "",
"urgent": "",
"focused": "",
"default": ""
}
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
"clock": {
"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
"format": "{usage}% "
},
"memory": {
"format": "{}% "
},
"battery": {
"bat": "BAT0",
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{capacity}% {icon}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"network": {
// "interface": "wlp2s0", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%) ",
"format-ethernet": "{ifname}: {ipaddr}/{cidr} ",
"format-disconnected": "Disconnected ⚠"
"on-click": "alacritty -e nmtui"
},
"pulseaudio": {
//"scroll-step": 1,
"format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon}",
"format-muted": "",
"format-icons": {
"headphones": "",
"handsfree": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", ""]
},
"on-click": "pavucontrol"
},
"custom/spotify": {
"format": " {}",
"max-length": 40,
"interval": 30, // Remove this if your script is endless and write in loop
"exec": "$HOME/.config/waybar/mediaplayer.sh 2> /dev/null", // Script in resources folder
"exec-if": "pgrep spotify"
}
}

View File

@@ -0,0 +1,100 @@
\* {
border: none;
border-radius: 0;
font-family: "Fira Sans, normal";
font-size: 13px;
min-height: 0;
}
window#waybar {
background: transparent;
color: white;
}
#window {
font-weight: bold;
font-family: "Fira Sans, normal";
}
/*
#workspaces {
padding: 0 5px;
}
*/
#workspaces button {
padding: 0 5px;
background: transparent;
color: white;
border-top: 2px solid transparent;
}
#workspaces button.focused {
color: white;
border-top: 2px solid white;
}
#mode {
background: #64727D;
border-bottom: 3px solid white;
}
#clock, #battery, #cpu, #memory, #network, #pulseaudio, #custom-spotify, #tray, #mode {
padding: 0 3px;
margin: 0 2px;
}
#clock {
font-weight: bold;
}
#battery {
}
#battery icon {
color: red;
}
#battery.charging {
}
@keyframes blink {
to {
background-color: #ffffff;
color: black;
}
}
#battery.warning:not(.charging) {
color: white;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#cpu {
}
#memory {
}
#network {
}
#network.disconnected {
background: #f53c3c;
}
#pulseaudio {
}
#pulseaudio.muted {
}
#custom-spotify {
color: rgb(102, 220, 105);
}
#tray {
}

View File

@@ -0,0 +1,12 @@
style=/home/opal/guix/home/files/wofi/style.css
xoffset=710
yoffset=275
show=drun
width=500
height=500
always_parse_args=true
show_all=true
print_command=true
layer=overlay
insensitive=true
prompt=

View File

@@ -0,0 +1,52 @@
window {
margin: 0px;
border: 2px solid #414868;
border-radius: 5px;
background-color: #24283b;
font-family: monospace;
font-size: 12px;
}
#input {
margin: 5px;
border: 1px solid #24283b;
color: #c0caf5;
background-color: #24283b;
}
#input image {
color: #c0caf5;
}
#inner-box {
margin: 5px;
border: none;
background-color: #24283b;
}
#outer-box {
margin: 5px;
border: none;
background-color: #24283b;
}
#scroll {
margin: 0px;
border: none;
}
#text {
margin: 5px;
border: none;
color: #c0caf5;
}
#entry:selected {
background-color: #414868;
font-weight: normal;
}
#text:selected {
background-color: #414868;
font-weight: normal;
}

View File

@@ -7,18 +7,14 @@ ZSH_THEME="mrtazz"
DISABLE_AUTO_UPDATE="true"
ENABLE_CORRECTION="true"
plugins=(git)
# This has to stay below plugins.
source $ZSH/oh-my-zsh.sh
# --- user paths --- #
# scripts
export PATH=/home/ry/scripts:$PATH
# cron scripts
export PATH=/home/ry/scripts/cron-scripts:$PATH
# doom
export PATH=~/.config/emacs/bin:$PATH
# GNU Guix path
export PATH=/home/ry/.guix-profile/bin:$PATH
# Scripts
export PATH=/home/opal/bin:$PATH
# --- locale --- #
export LANG=en_US.UTF-8
@@ -37,21 +33,10 @@ alias remove="guix remove"
alias search="guix search"
alias pull="guix pull"
alias upgrade="guix package -u"
alias hreconfig="guix home reconfigure ~/dotfiles/guix/home/files/guix-home.scm"
alias hreconfig="guix home reconfigure ~/dotfiles/guix/home/guix-home.scm"
# qol
alias vi="nvim"
alias vim="nvim"
alias unmount="umount"
# git
alias ga="git add"
alias gc="git commit -m"
alias gs="git status"
alias gd="git diff"
alias gm="git merge"
alias gp="git push"
alias gco="git checkout"
# config
alias zshrcsource="source ~/dotfiles/guix/home/files/zsh/zshrc"

View File

@@ -5,6 +5,8 @@
(gnu home services shells)
(gnu home services shepherd)
(gnu packages)
(gnu packages linux)
(gnu packages admin)
(gnu packages shells)
(gnu packages pulseaudio)
(gnu packages web-browsers)
@@ -34,6 +36,8 @@
(gnu packages python-xyz)
(gnu packages fonts)
(gnu packages wm)
(gnu packages music)
(gnu packages base)
(gnu services)
(guix gexp))
@@ -42,6 +46,7 @@
(append
;; Tools/Libraries
(list
light
zsh
wget
curl
@@ -55,7 +60,9 @@
gst-plugins-ugly
gst-libav
wl-clipboard
pavucontrol)
waybar
playerctl
gnu-make)
;; Applications
(list
alacritty
@@ -68,7 +75,10 @@
youtube-dl
icedove
keepassxc
nautilus)
nautilus
pavucontrol
wofi
mako)
;; Emacs
(list
emacs-vterm
@@ -126,7 +136,8 @@
font-fira-sans
font-abattis-cantarell
font-google-noto
font-awesome)))
font-awesome
pfetch)))
(services
(append
;; Shell
@@ -152,7 +163,6 @@
;; Files
(list
(simple-service 'sway-config
home-files-service-type
(list
@@ -160,6 +170,48 @@
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/sway/config")))))
(simple-service 'waybar-config
home-files-service-type
(list
`("config/waybar/config"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/waybar/config")))))
(simple-service 'waybar-style-css
home-files-service-type
(list
`("config/waybar/style.css"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/waybar/style.css")))))
(simple-service 'swaylock-config
home-files-service-type
(list
`("config/swaylock/config"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/swaylock/config")))))
(simple-service 'wofi-config
home-files-service-type
(list
`("config/wofi/config"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/wofi/config")))))
(simple-service 'wofi-style-config
home-files-service-type
(list
`("config/wofi/style.css"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/wofi/style.css")))))
(simple-service 'swaynag-config
home-files-service-type
(list
`("config/swaynag/config"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/swaynag/config")))))
(simple-service 'user-dirs-config
home-files-service-type
(list
@@ -174,7 +226,6 @@
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/emacs/init.el")))))
(simple-service 'nyxt-config
home-files-service-type
(list
@@ -205,8 +256,14 @@
`("config/alacritty/alacritty.yml"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/alacritty/alacritty.yml"))))))
"/dotfiles/guix/home/files/alacritty/alacritty.yml")))))
(simple-service 'gtk-config
home-files-service-type
(list
`("config/gtk-3.0/settings.ini"
,(local-file
(string-append (getenv "HOME")
"/dotfiles/guix/home/files/gtk-3.0/settings.ini"))))))
;; Daemons
(list
(service home-shepherd-service-type

View File

@@ -0,0 +1,102 @@
(use-modules (gnu)
(gnu services desktop)
(gnu packages wm)
(gnu packages shells)
(gnu packages version-control)
(gnu packages emacs)
(gnu packages gnuzilla)
(gnu packages vim)
(gnu packages certs)
(gnu packages file-systems)
(gnu packages suckless)
(gnu packages admin)
(gnu packages linux)
(gnu packages audio)
(gnu packages pulseaudio)
(gnu packages gnome)
(gnu system setuid)
(nongnu packages linux))
(use-service-modules
cups
desktop
networking
ssh
;; sddm
xorg)
(operating-system
(kernel linux)
(firmware (list linux-firmware))
(locale "en_US.utf8")
(timezone "America/Los_Angeles")
(keyboard-layout (keyboard-layout "us"))
(host-name "borges")
(setuid-programs
(let ((from (lambda (package file)
(setuid-program (program (file-append package file))))))
(cons* (from light "/bin/light")
(from network-manager "/bin/nmtui")
(from sway "/bin/sway")
(from swaylock "/bin/swaylock")
%setuid-programs)))
(users (cons* (user-account
(name "opal")
(comment "opal")
(group "users")
(home-directory "/home/opal")
(shell (file-append zsh "/bin/zsh"))
(supplementary-groups
'("wheel"
"netdev"
"audio"
"video")))
%base-user-accounts))
(packages (append (list git
network-manager
icecat
vim
nss-certs
exfat-utils
emacs
sway
swaybg
swaylock
swayidle
dmenu
bluez
bluez-alsa
pulseaudio)
%base-packages))
(services
(cons*
(service
(modify-services %desktop-services
(gdm-service-type config
=> (gdm-configuration
(inherit config)
(wayland? #t)
(debug? #t)))))))
(bootloader
(bootloader-configuration
(bootloader grub-efi-bootloader)
(targets (list "/boot/efi"))
(keyboard-layout keyboard-layout)))
(mapped-devices
(list (mapped-device
(source
(uuid "0eb58e93-c463-4d40-a819-4c9d594ed230"))
(target "cryptroot")
(type luks-device-mapping))))
(file-systems
(cons* (file-system
(mount-point "/")
(device "/dev/mapper/cryptroot")
(type "btrfs")
(dependencies mapped-devices))
(file-system
(mount-point "/boot/efi")
(device (uuid "2AFC-9172" 'fat32))
(type "vfat"))
%base-file-systems)))

View File

@@ -0,0 +1,109 @@
(use-modules (gnu)
(gnu services desktop)
(gnu packages wm)
(gnu packages shells)
(gnu packages version-control)
(gnu packages emacs)
(gnu packages gnuzilla)
(gnu packages vim)
(gnu packages certs)
(gnu packages file-systems)
(gnu packages suckless)
(gnu packages admin)
(gnu packages linux)
(gnu packages audio)
(gnu packages pulseaudio)
(gnu packages gnome)
(gnu system setuid)
(nongnu packages linux))
(use-service-modules
cups
desktop
networking
ssh
;; sddm
xorg)
(operating-system
(kernel linux)
(firmware (list linux-firmware))
(locale "en_US.utf8")
(timezone "America/Los_Angeles")
(keyboard-layout (keyboard-layout "us"))
(host-name "borges")
(setuid-programs
(let ((from (lambda (package file)
(setuid-program (program (file-append package file))))))
(cons* (from light "/bin/light")
(from network-manager "/bin/nmtui")
(from sway "/bin/sway")
(from swaylock "/bin/swaylock")
%setuid-programs)))
(users (cons* (user-account
(name "opal")
(comment "opal")
(group "users")
(home-directory "/home/opal")
(shell (file-append zsh "/bin/zsh"))
(supplementary-groups
'("wheel"
"netdev"
"audio"
"video")))
%base-user-accounts))
(packages (append (list git
gnome
network-manager
icecat
vim
nss-certs
exfat-utils
emacs
sway
swaybg
swaylock
swayidle
dmenu
bluez
bluez-alsa
pulseaudio)
%base-packages))
;; (services
;; (append (modify-services %desktop-services
;; (delete gdm-service-type))
;; (list (service sddm-service-type
;; (sddm-configuration
;; (display-server "wayland"))))))
(services
(append (modify-services %desktop-services
(gdm-service-type config
=> (gdm-configuration
(inherit config)
(wayland? #t)
(debug? #t))))))
(bootloader
(bootloader-configuration
(bootloader grub-efi-bootloader)
(targets (list "/boot/efi"))
(keyboard-layout keyboard-layout)))
(mapped-devices
(list (mapped-device
(source
(uuid "0eb58e93-c463-4d40-a819-4c9d594ed230"))
(target "cryptroot")
(type luks-device-mapping))))
(file-systems
(cons* (file-system
(mount-point "/")
(device "/dev/mapper/cryptroot")
(type "btrfs")
(dependencies mapped-devices))
(file-system
(mount-point "/boot/efi")
(device (uuid "2AFC-9172" 'fat32))
(type "vfat"))
%base-file-systems)))

View File

@@ -64,12 +64,14 @@
pulseaudio)
%base-packages))
(services
(append (modify-services %desktop-services
(delete gdm-service-type))
(list (service sddm-service-type
(sddm-configuration
(display-server "wayland"))))))
;; (services (cons* ...
;; (modify-services %desktop-services
;; (gdm-service-type config
;; =;;putabrackethere (gdm-configuration
;; (inherit config)
;; (wayland? #t)
;; (debug? #t))))))
(bootloader
(bootloader-configuration
(bootloader grub-efi-bootloader)
@@ -92,21 +94,3 @@
(device (uuid "1C3B-10F5" 'fat32))
(type "vfat"))
%base-file-systems)))
;; (setuid-programs
;; (let ((from (lambda (package file)
;; (setuid-program (program (file-append package file))))))
;; (cons* (from light "/bin/light")
;; (from mtr "/sbin/mtr")
;; (from network-manager "/bin/nmtui")
;; (from nfs-utils "/sbin/mount.nfs")
;; (from swaylock "/bin/swaylock")
;; %setuid-programs)))
;; (services (cons* ...
;; (modify-services %desktop-services
;; (gdm-service-type config
;; =;;putabrackethere (gdm-configuration
;; (inherit config)
;; (wayland? #t)
;; (debug? #t))))))

View File

@@ -63,10 +63,16 @@
(services
(append (modify-services %desktop-services
(delete gdm-service-type))
(list (service sddm-service-type
(sddm-configuration
(display-server "wayland"))))))
(gdm-service-type config
=> (gdm-configuration
(inherit config)
(wayland? #t)
(debug? #t))))))
;; (append (modify-services %desktop-services
;; (delete gdm-service-type))
;; (list (service sddm-service-type
;; (sddm-configuration
;; (display-server "wayland"))))))
(bootloader
(bootloader-configuration
@@ -89,17 +95,8 @@
(mount-point "/boot/efi")
(device (uuid "15B3-5DE5" 'fat32))
(type "vfat"))
%base-file-systems)))
%base-file-systems))))
;; (setuid-programs
;; (let ((from (lambda (package file)
;; (setuid-program (program (file-append package file))))))
;; (cons* (from light "/bin/light")
;; (from mtr "/sbin/mtr")
;; (from network-manager "/bin/nmtui")
;; (from nfs-utils "/sbin/mount.nfs")
;; (from swaylock "/bin/swaylock")
;; %setuid-programs)))
;; (services (cons* ...
;; (modify-services %desktop-services