a decent working guix config

This commit is contained in:
Chris Cochrun 2023-06-23 10:02:12 -05:00
parent ae77d05e2f
commit 0ebbec7644
22 changed files with 2302 additions and 279 deletions

View file

@ -357,7 +357,7 @@ colors:
# - (Linux/BSD) user login shell
# - (Windows) powershell
shell:
program: fish
program: bash
# args:
# - --login

141
.config/bashrc Normal file
View file

@ -0,0 +1,141 @@
# Enable the subsequent settings only in interactive sessions
case $- in
*i*) ;;
*) return;;
esac
# Path to your oh-my-bash installation.
export OSH='/home/chris/.config/.oh-my-bash'
# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-bash is loaded.
OSH_THEME="rr"
# Uncomment the following line to use case-sensitive completion.
# OMB_CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion. Case
# sensitive completion must be off. _ and - will be interchangeable.
# OMB_HYPHEN_SENSITIVE="false"
# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"
# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_OSH_DAYS=13
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you don't want the repository to be considered dirty
# if there are untracked files.
# SCM_GIT_DISABLE_UNTRACKED_DIRTY="true"
# Uncomment the following line if you want to completely ignore the presence
# of untracked files in the repository.
# SCM_GIT_IGNORE_UNTRACKED="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output. One of the following values can
# be used to specify the timestamp format.
# * 'mm/dd/yyyy' # mm/dd/yyyy + time
# * 'dd.mm.yyyy' # dd.mm.yyyy + time
# * 'yyyy-mm-dd' # yyyy-mm-dd + time
# * '[mm/dd/yyyy]' # [mm/dd/yyyy] + [time] with colors
# * '[dd.mm.yyyy]' # [dd.mm.yyyy] + [time] with colors
# * '[yyyy-mm-dd]' # [yyyy-mm-dd] + [time] with colors
# If not set, the default value is 'yyyy-mm-dd'.
# HIST_STAMPS='yyyy-mm-dd'
# Uncomment the following line if you do not want OMB to overwrite the existing
# aliases by the default OMB aliases defined in lib/*.sh
# OMB_DEFAULT_ALIASES="check"
# Would you like to use another custom folder than $OSH/custom?
# OSH_CUSTOM=/path/to/new-custom-folder
# To disable the uses of "sudo" by oh-my-bash, please set "false" to
# this variable. The default behavior for the empty value is "true".
OMB_USE_SUDO=true
# To enable/disable display of Python virtualenv and condaenv
# OMB_PROMPT_SHOW_PYTHON_VENV=true # enable
# OMB_PROMPT_SHOW_PYTHON_VENV=false # disable
# Which completions would you like to load? (completions can be found in ~/.oh-my-bash/completions/*)
# Custom completions may be added to ~/.oh-my-bash/custom/completions/
# Example format: completions=(ssh git bundler gem pip pip3)
# Add wisely, as too many completions slow down shell startup.
completions=(
git
composer
ssh
)
# Which aliases would you like to load? (aliases can be found in ~/.oh-my-bash/aliases/*)
# Custom aliases may be added to ~/.oh-my-bash/custom/aliases/
# Example format: aliases=(vagrant composer git-avh)
# Add wisely, as too many aliases slow down shell startup.
aliases=(
general
)
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-bash/plugins/*)
# Custom plugins may be added to ~/.oh-my-bash/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
git
bashmarks
)
# Which plugins would you like to conditionally load? (plugins can be found in ~/.oh-my-bash/plugins/*)
# Custom plugins may be added to ~/.oh-my-bash/custom/plugins/
# Example format:
# if [ "$DISPLAY" ] || [ "$SSH" ]; then
# plugins+=(tmux-autoattach)
# fi
source "$OSH"/oh-my-bash.sh
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# ssh
# export SSH_KEY_PATH="~/.ssh/rsa_id"
# Set personal aliases, overriding those provided by oh-my-bash libs,
# plugins, and themes. Aliases can be placed here, though oh-my-bash
# users are encouraged to define aliases within the OSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias bashconfig="mate ~/.bashrc"
# alias ohmybash="mate ~/.oh-my-bash"

1306
.config/blesh/init.sh Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,204 +1,214 @@
monitor=eDP-1,2256x1504@60,0x0,1.5
workspace=eDP-1,1
monitor=DVI-D-1,preferred,0x0,1
monitor=HDMI-A-1,preferred,0x0,1
monitor=DP-3,preferred,1080x0,1.5
workspace=DVI-D-1,2
workspace=DP-3,1
workspace=HDMI-A-1,2
monitor=DVI-D-1,transform,1
monitor=eDP-1,2256x1504@60,0x0,1.5
workspace=eDP-1,1
monitor=HDMI-A-1,preferred,0x0,1
monitor=DP-1,preferred,2680x0,1.5
monitor=DP-2,preferred,1600x0,1
workspace=DP-2,2
workspace=DP-1,1
workspace=HDMI-A-1,3
monitor=DP-2,transform,1
input {
# kb_layout=
# kb_variant=
# kb_model=
# kb_options=
# kb_rules=
repeat_rate=140
repeat_delay=180
natural_scroll=0
sensitivity=0.85
accel_profile=adaptive
input {
# kb_layout=
# kb_variant=
# kb_model=
# kb_options=
# kb_rules=
repeat_rate=140
repeat_delay=180
natural_scroll=0
sensitivity=0.75
accel_profile=adaptive
follow_mouse=2
follow_mouse=2
touchpad {
natural_scroll=1
clickfinger_behavior=1
touchpad {
natural_scroll=1
clickfinger_behavior=1
}
}
}
general {
max_fps=60 # deprecated, unused
# main_mod=SUPER
general {
max_fps=60 # deprecated, unused
# main_mod=SUPER
gaps_in=15
gaps_out=20
border_size=0
col.active_border=0x66ee1111
col.inactive_border=0x66333333
gaps_in=15
gaps_out=20
border_size=0
col.active_border=0x66ee1111
col.inactive_border=0x66333333
#damage_tracking=full # leave it on full unless you hate your GPU and want to make it suffer
layout=master
}
#damage_tracking=full # leave it on full unless you hate your GPU and want to make it suffer
layout=master
}
gestures {
workspace_swipe=true
workspace_swipe_fingers=3
}
gestures {
workspace_swipe=true
workspace_swipe_fingers=3
}
decoration {
rounding=18
multisample_edges=true
active_opacity=0.97
inactive_opacity=0.75
fullscreen_opacity=1.0
blur=true
blur_new_optimizations=true
blur_size=10 # minimum 1
blur_passes=3 # minimum 1, more passes = more resource intensive.
blur_ignore_opacity=false
# Your blur "amount" is blur_size * blur_passes, but high blur_size (over around 5-ish) will produce artifacts.
# if you want heavy blur, you need to up the blur_passes.
# the more passes, the more you can up the blur_size without noticing artifacts.
drop_shadow=true
shadow_range=15
shadow_offset=5 5
shadow_scale=0.99
shadow_render_power=1
col.shadow = rgba(000000cc)
dim_inactive=true
dim_strength=0.2
}
decoration {
rounding=18
multisample_edges=true
active_opacity=0.97
inactive_opacity=0.75
fullscreen_opacity=1.0
blur=true
blur_new_optimizations=true
blur_size=10 # minimum 1
blur_passes=3 # minimum 1, more passes = more resource intensive.
blur_ignore_opacity=false
# Your blur "amount" is blur_size * blur_passes, but high blur_size (over around 5-ish) will produce artifacts.
# if you want heavy blur, you need to up the blur_passes.
# the more passes, the more you can up the blur_size without noticing artifacts.
bezier=snapslide,0.07,0.66,0.04,1.02
drop_shadow=true
shadow_range=15
shadow_offset=5 5
shadow_scale=0.99
shadow_render_power=1
col.shadow = rgba(000000cc)
dim_inactive=true
dim_strength=0.2
}
animations {
enabled=1
animation=windows,1,2,snapslide
# animation=borders,1,10,default
animation=fadeIn,1,2,snapslide
animation=workspaces,1,2,snapslide
animation=specialWorkspace,1,2,snapslide,slidevert
}
bezier=snapslide,0.07,0.66,0.04,1.02
dwindle {
pseudotile=0 # enable pseudotiling on dwindle
}
animations {
enabled=1
animation=windows,1,2,snapslide
# animation=borders,1,10,default
animation=fadeIn,1,2,snapslide
animation=workspaces,1,2,snapslide
animation=specialWorkspace,1,2,snapslide,slidevert
}
master {
special_scale_factor=0.7
new_is_master=false
new_on_top=false
}
dwindle {
pseudotile=0 # enable pseudotiling on dwindle
}
# misc:disable_autoreload = true
master {
special_scale_factor=0.8
mfact=0.65
new_is_master=false
new_on_top=false
}
# example window rules
# for windows named/classed as abc and xyz
windowrule=opaque,firefox
windowrule=float,dolphin
${if builtins.readFile "/etc/hostname" == "syl\n" then "# this is a kaladin space" else "windowrule=workspace 1,mpv"}
windowrule=float,mpv
windowrule=size ${if builtins.readFile "/etc/hostname" == "syl\n" then "90% 76%" else "85% 85%"},mpv
windowrule=center,mpv
# windowrule=pin,mpv
windowrule=float,pulsemixer
windowrule=workspace ${if builtins.readFile "/etc/hostname" == "syl\n" then "2" else "1"},firefox
windowrule=workspace ${if builtins.readFile "/etc/hostname" == "syl\n" then "1" else "2"},emacs
windowrule=float,btop
windowrule=size 70% 70%,btop
windowrule=center,btop
windowrule=float,presenter
windowrule=size 80% 80%,presenter
windowrule=center,presenter
# misc:disable_autoreload = true
misc {
focus_on_activate = true
}
# example binds
bind = SUPER,RETURN,exec,alacritty
bind = SUPER,C,killactive,
bind = SUPERSHIFT,Q,exit,
bind = SUPERSHIFT,D,exec,dolphin
bind = SUPERSHIFT,F,togglefloating,
bindr = SUPER,Super_L,exec,/home/chris/bin/launcher.sh
# bindr = ALT,Alt_L,exec,/home/chris/bin/window.sh
bind = SUPER,w,exec,/home/chris/bin/window.sh
bind = SUPER,E,exec,/home/chris/bin/emacslof
bind = SUPER,d,exec,emacsclient -c -e '(dired-jump)'
bind = SUPER,B,exec,/home/chris/bin/fflof
bind = SUPER,A,exec,alacritty --class pulsemixer -e pulsemixer
bind = SUPERCTRL,i,exec,alacritty --class btop -e btop
# example window rules
# for windows named/classed as abc and xyz
windowrule=opaque,firefox
windowrule=float,dolphin
windowrule=size 60% 60%,dolphin
windowrule=float,mpv
windowrule=size 90% 76%,mpv
windowrule=center,mpv
windowrule=opaque,mpv
# windowrule=pin,mpv
windowrule=float,pulsemixer
windowrule=workspace 2,firefox
windowrule=workspace 1,emacs
windowrule=float,btop
windowrule=size 70% 70%,btop
windowrule=center,btop
windowrule=float,presenter
windowrule=size 80% 80%,presenter
windowrule=center,presenter
windowrule=workspace 1,title:presentation-window
bind = SUPER,P,exec,/home/chris/bin/rbw.sh
bind = SUPER,M,fullscreen,1
bind = SUPER,F,fullscreen,0
# example binds
bind = SUPER,RETURN,exec,alacritty
bind = SUPER,C,killactive,
bind = SUPERSHIFT,Q,exit,
bind = SUPERSHIFT,D,exec,dolphin
bind = SUPERSHIFT,F,togglefloating,
bindr = SUPER,Super_L,exec,/home/chris/bin/launcher.sh
bindr = ALT,Alt_R,exec,/home/chris/bin/window.sh
bind = SUPER,w,exec,/home/chris/bin/window.sh
bind = SUPER,E,exec,/home/chris/bin/emacslof
bind = SUPER,d,exec,emacsclient -c -e '(dired-jump)'
bind = SUPER,v,exec,emacsclient -e '(chris/dired-open-videos)'
bind = SUPER,B,exec,/home/chris/bin/fflof
bind = SUPER,A,exec,alacritty --class pulsemixer -e pulsemixer
bind = SUPERCTRL,i,exec,alacritty --class btop -e btop
bind = ,Print,exec,screenshot
bind = SUPER,h,movefocus,l
bind = SUPER,l,movefocus,r
bind = SUPER,k,cyclenext,prev
bind = SUPER,j,cyclenext
bind = SUPERSHIFT,h,movewindow,l
bind = SUPERSHIFT,l,movewindow,r
bind = SUPERSHIFT,k,movewindow,u
bind = SUPERSHIFT,j,movewindow,d
bind = SUPERCTRL,l,splitratio,+0.05
bind = SUPERCTRL,h,splitratio,-0.05
bind = SUPERCTRL,c,centerwindow
bind = SUPER,P,exec,/home/chris/bin/rbw.sh
bind = SUPER,M,fullscreen,1
bind = SUPER,F,fullscreen,0
bind = SUPER,1,workspace,1
bind = SUPER,2,workspace,2
bind = SUPER,3,workspace,3
bind = SUPER,4,workspace,4
bind = SUPER,5,workspace,5
bind = SUPER,6,workspace,6
bind = SUPER,7,workspace,7
bind = SUPER,8,workspace,8
bind = SUPER,9,workspace,9
bind = SUPER,0,workspace,10
bind = SUPER,h,movefocus,l
bind = SUPER,l,movefocus,r
bind = SUPER,k,layoutmsg,cycleprev
bind = SUPER,j,layoutmsg,cyclenext
bind = SUPERSHIFT,h,movewindow,l
bind = SUPERSHIFT,l,movewindow,r
bind = SUPERSHIFT,k,layoutmsg,swapprev
bind = SUPERSHIFT,j,layoutmsg,swapnext
bind = SUPERCTRL,l,splitratio,+0.05
bind = SUPERCTRL,h,splitratio,-0.05
bind = SUPERCTRL,c,centerwindow
bind = SUPERALT,l,workspace,m+1
bind = SUPERALT,h,workspace,m-1
bind = SUPER,1,workspace,1
bind = SUPER,2,workspace,2
bind = SUPER,3,workspace,3
bind = SUPER,4,workspace,4
bind = SUPER,5,workspace,5
bind = SUPER,6,workspace,6
bind = SUPER,7,workspace,7
bind = SUPER,8,workspace,8
bind = SUPER,9,workspace,9
bind = SUPER,0,workspace,10
bind = SUPERSHIFT,1,movetoworkspace,1
bind = SUPERSHIFT,2,movetoworkspace,2
bind = SUPERSHIFT,3,movetoworkspace,3
bind = SUPERSHIFT,4,movetoworkspace,4
bind = SUPERSHIFT,5,movetoworkspace,5
bind = SUPERSHIFT,6,movetoworkspace,6
bind = SUPERSHIFT,7,movetoworkspace,7
bind = SUPERSHIFT,8,movetoworkspace,8
bind = SUPERSHIFT,9,movetoworkspace,9
bind = SUPERSHIFT,0,movetoworkspace,10
bind = SUPERALT,l,workspace,m+1
bind = SUPERALT,h,workspace,m-1
bind = SUPER,o,movewindow,mon: next
bind = SUPER,y,togglespecialworkspace
bind = SUPER,i,movewindow,left
bind = SUPERSHIFT,p,pin
bind = SUPER,n,movetoworkspace,special
bind = SUPERSHIFT,1,movetoworkspace,1
bind = SUPERSHIFT,2,movetoworkspace,2
bind = SUPERSHIFT,3,movetoworkspace,3
bind = SUPERSHIFT,4,movetoworkspace,4
bind = SUPERSHIFT,5,movetoworkspace,5
bind = SUPERSHIFT,6,movetoworkspace,6
bind = SUPERSHIFT,7,movetoworkspace,7
bind = SUPERSHIFT,8,movetoworkspace,8
bind = SUPERSHIFT,9,movetoworkspace,9
bind = SUPERSHIFT,0,movetoworkspace,10
binde = , XF86AudioMute, exec, pamixer -t
binde = , XF86AudioRaiseVolume, exec, /home/chris/bin/volup
binde = , XF86AudioLowerVolume, exec, /home/chris/bin/voldown
binde = ,F1, exec, pamixer -t
binde = ,F3, exec, /home/chris/bin/volup
binde = ,F2, exec, /home/chris/bin/voldown
binde = , XF86MonBrightnessUp, exec, brightnessctl s +10%
binde = , XF86MonBrightnessDown, exec, brightnessctl s 10%-
bind = SUPER,o,movewindow,mon:l
bind = SUPER,y,togglespecialworkspace
bind = SUPER,i,movewindow,left
bind = SUPERSHIFT,p,pin
bind = SUPER,n,movetoworkspace,special
bind=SUPERCTRL,b,exec,eww.sh
bind=SUPERALT,n,exec,eww update rightside=true
binde = , XF86AudioMute, exec, pamixer -t
binde = , XF86AudioRaiseVolume, exec, /home/chris/bin/volup
binde = , XF86AudioLowerVolume, exec, /home/chris/bin/voldown
binde = ,F1, exec, pamixer -t
binde = ,F3, exec, /home/chris/bin/volup
binde = ,F2, exec, /home/chris/bin/voldown
binde = , XF86MonBrightnessUp, exec, brightnessctl s +10%
binde = , XF86MonBrightnessDown, exec, brightnessctl s 10%-
bindm=SUPER,mouse:272,movewindow
bindm=SUPER,mouse:273,resizewindow
bind=SUPERCTRL,b,exec,/home/chris/bin/wb-toggle
bind=SUPERALT,n,exec,eww update rightside=true
# Blur waybar
# blurls=gtk-layer-shell
# blurls=notifications
bindm=SUPER,mouse:272,movewindow
bindm=SUPER,mouse:273,resizewindow
exec-once = /home/chris/bin/startup.sh
exec-once = hyprpaper
exec-once = dunst
exec-once = hyprctl dispatch --batch "splitratio 1; splitration -0.35"
exec-once = dbus-update-activation-environment --systemd --all
exec-once = jellyfin-mpv-shim
exec-once = hyprctl setcursor phinger-cursors-light
exec-once = swayidle -w timeout 300 'swaylock -S --effect-blur 20x3 --fade-in 1 --effect-vignette 0.5:1 --grace 60' timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' before-sleep 'swaylock -S --effect-blur 20x3 --effect-vignette 0.5:1'
# Blur waybar
# blurls=gtk-layer-shell
# blurls=notifications
exec-once = /home/chris/bin/startup.sh
exec-once = swww init
exec-once = swww img /home/chris/Pictures/wallpapers/nixorange.webp -t grow --transition-bezier .14,0,.14,.99
exec-once = dunst
exec-once = hyprctl dispatch --batch "splitratio 1; splitration -0.35"
exec-once = dbus-update-activation-environment --all
exec-once = jellyfin-mpv-shim
exec-once = hyprctl setcursor phinger-cursors-light 24
exec-once = swayidle -w timeout 300 'swaylock -S --effect-blur 20x3 --fade-in 1 --effect-vignette 0.5:1 --grace 60' timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' before-sleep 'swaylock -S --effect-blur 20x3 --effect-vignette 0.5:1'

View file

@ -0,0 +1,4 @@
[ColorScheme]
active_colors=#ff9aedfe, #ff34353e, #ff34353e, #ffe2e4e5, #ff78787e, #ffa5a5a9, #e2e4e5, #ffeff0eb, #ffe2e4e5, #ff34353e, #ff282a36, #ff78787e, #ff43454f, #5af78e, #ffff9f43, #ffff5c57, #ff43454f, #ffe2e4e5, #ff34353e, #ffff6ac1, #8fff6ac1
disabled_colors=#ffb2643c, #ff34353e, #ff34353e, #ffe2e4e5, #ff78787e, #ffa5a5a9, #e2e4e5, #ffb2643c, #ffb2643c, #ff34353e, #ff282a36, #ff78787e, #ff43454f, #5af78e, #ffff9f43, #ffff5c57, #ff43454f, #ffe2e4e5, #ff34353e, #ffb2643c, #8fb2643c
inactive_colors=#ff9aedfe, #ff34353e, #ff34353e, #ffe2e4e5, #ff78787e, #ffa5a5a9, #e2e4e5, #ffeff0eb, #ffe2e4e5, #43454f, #ff282a36, #ff78787e, #ff43454f, #5af78e, #ffff9f43, #ffff5c57, #ff43454f, #ffe2e4e5, #ff34353e, #ffff6ac1, #8fff6ac1

9
.config/starship.toml Normal file
View file

@ -0,0 +1,9 @@
# Get editor completions based on the config schema
"$schema" = 'https://starship.rs/config-schema.json'
# Inserts a blank line between shell prompts
add_newline = true
# Replace the '' symbol in the prompt with '➜'
[character] # The name of the module we are configuring is 'character'
success_symbol = '[](bold green)' # The 'success_symbol' segment is being set to '➜' with the color 'bold green'

13
.config/starship/init.sh Normal file
View file

@ -0,0 +1,13 @@
__main() {
local major="${BASH_VERSINFO[0]}"
local minor="${BASH_VERSINFO[1]}"
if ((major > 4)) || { ((major == 4)) && ((minor >= 1)); }; then
source <(/home/chris/.nix-profile/bin/starship init bash --print-full-init)
else
source /dev/stdin <<<"$(/home/chris/.nix-profile/bin/starship init bash --print-full-init)"
fi
}
__main
unset -f __main

View file

@ -50,8 +50,8 @@
padding: 0.4rem;
}
#completions table { font-size: 1.0rem;
font-weight: 500;
#completions table { font-size: 1.0rem !important;
font-weight: 800 !important;
border-spacing: 0;
table-layout: fixed;
padding: 1rem;
@ -69,7 +69,7 @@
color: var(--tridactyl-fg);
background: var(--tridactyl-bg);
display: inline-block;
font-size: unset;
font-size: 1.0rem !important;
font-weight: 600 !important;
overflow: hidden;
width: 100%;

View file

@ -1,12 +1,12 @@
{
// "layer": "top", // Waybar at top layer
"layer": "top", // Waybar at top layer
"position": "bottom", // Waybar position (top|bottom|left|right)
"height": 30, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
"height": 35, // Waybar height (to be removed for auto height)
"width": 1400, // Waybar width
// Choose the order of the modules "custom/wintitle",
"modules-left": ["workspaces", "hyprland/window"],
"modules-left": ["wlr/workspaces", "workspaces", "hyprland/window"],
"modules-center": ["clock"],
"modules-right": ["pulseaudio", "backlight", "network", "memory", "cpu", "battery", "battery#bat2", "tray"],
"modules-right": ["pulseaudio", "backlight", "temperature", "memory", "cpu", "battery", "tray"],
"margin-top": -5,
"margin-bottom": 8,
"margin-left": 6,
@ -31,11 +31,16 @@
"num-tags": 8
},
"hyprland/window": {
"format": " {}"
"format": " <span style='italic'>{}</span>"
},
"workspaces": {
"format": " {name} "
},
"wlr/workspaces": {
"format": "{icon}",
"on-scroll-up": "hyprctl dispatch workspace e+1",
"on-scroll-down": "hyprctl dispatch workspace e-1"
},
"sway/mode": {
"format": "<span style=\"italic\"> {}</span>"
},
@ -54,25 +59,25 @@
// "timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d}",
"format": "{:%a %b%e, %I:%M %p}"
"format": "{:%a %b %e, %I:%M %p}"
},
"cpu": {
"format": " {usage}%",
"format": " {usage}%",
},
"memory": {
"format": " {}%"
"format": " {}%"
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "{temperatureC}°C {icon}",
"format-icons": ["", "", ""]
"format": "{icon} {temperatureC}°C",
"format-icons": ["", "", ""]
},
"backlight": {
// "device": "acpi_video1",
"format": "{icon} {percent}%",
"format": "{icon} {percent}%",
"format-icons": ["", ""]
},
"battery": {
@ -82,13 +87,13 @@
"critical": 15
},
"format": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-charging": "{icon} {capacity}%",
"format-plugged": " {capacity}%",
"format-alt": "{time} {icon}",
"format-good": "", // An empty format will hide the module
"format-full": "",
"format-icons": [" ", " ", " ", " ", " "],
"format-charging-icons": [" ", " ", " ", " ", " "]
"format-good": "{icon} {capacity}%", // An empty format will hide the module
"format-full": "󰁹 {capacity}%",
"format-icons": ["󰁺", "󰁼", "󰁾", "󰂀", "󰂂"],
"format-charging-icons": ["󰢜", "󰂇", "󰢝", "󰢞", "󰂋"]
},
"battery#bat2": {
"bat": "BAT2",
@ -108,11 +113,11 @@
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": " {essid} ({signalStrength}%)",
"format-wifi": " ({signalStrength}%)",
"format-ethernet": " {ipaddr}",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "Disconnected ⚠",
"format-alt": "{ifname}: {ipaddr}/{cidr}"
"format-alt": "{ifname}: {essid} {ipaddr}/{cidr}",
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float

View file

@ -36,19 +36,21 @@ window {
}
window#waybar > box {
padding-top: 3px;
padding-top: 5px;
padding-bottom: 3px;
padding-left: 3px;
padding-right: 10px;
color: @base05;
box-shadow: 2px 2px 5px 5px #101010;
box-shadow: 5px 5px 3px 3px #101010;
margin: 12px 14px 14px 14px;
background: @base00;
background: @backtransparent;
}
#workspaces {
border-radius: 20px;
margin-left: 10px;
padding-right: 10px;
background: @backtransparent;
background: transparent;
transition: none;
}
@ -56,7 +58,7 @@ window#waybar > box {
border-radius: 20px;
margin-left: 6px;
padding-right: 10px;
background: @backtransparent;
background: transparent;
transition: none;
}
@ -112,7 +114,7 @@ window#waybar > box {
border-radius: 20px;
transition: none;
color: @base0B;
background: @backtransparent;
background: transparent;
}
#backlight {
@ -123,7 +125,7 @@ window#waybar > box {
border-radius: 20px;
transition: none;
color: @base08;
background: @backtransparent;
background: transparent;
}
#battery.warning {
@ -144,7 +146,7 @@ window#waybar > box {
border-radius: 20px;
transition: none;
color: @base09;
background: @backtransparent;
background: transparent;
}
#network {
@ -153,7 +155,7 @@ window#waybar > box {
border-radius: 20px;
transition: none;
color: @base0B;
background: @backtransparent;
background: transparent;
}
#cpu {
@ -162,7 +164,7 @@ window#waybar > box {
border-radius: 20px;
transition: none;
color: @base09;
background: @backtransparent;
background: transparent;
}
#battery {
@ -171,7 +173,7 @@ window#waybar > box {
border-radius: 20px;
transition: none;
color: @base0D;
background: @backtransparent;
background: transparent;
}
#battery.bat2 {
@ -184,7 +186,7 @@ window#waybar > box {
border-radius: 20px;
transition: none;
color: @base0C;
background: @backtransparent;
background: transparent;
}
#temperature {
@ -193,7 +195,7 @@ window#waybar > box {
border-radius: 20px;
transition: none;
color: @base0E;
background: @backtransparent;
background: transparent;
}
#tray {
@ -202,6 +204,6 @@ window#waybar > box {
border-radius: 20px;
transition: none;
color: @base0E;
background: @backtransparent;
background: transparent;
}

View file

@ -2,8 +2,9 @@
(name 'guix)
(url "https://git.savannah.gnu.org/git/guix.git")
(branch "master")
(commit
"654fcf9971bb01389d577be07c6ec0f68940c743")
;; (commit
;; "654fcf9971bb01389d577be07c6ec0f68940c743")
(commit "d884fc9e2efecfba09af4694f5a13ad7fc6f704f")
(introduction
(make-channel-introduction
"9edb3f66fd807b096b48283debdcddccfea34bad"
@ -13,8 +14,9 @@
(name 'nonguix)
(url "https://gitlab.com/nonguix/nonguix")
(branch "master")
(commit
"c323f4c866cdf7c9fb958ed968b80e0911ecd899")
;; (commit
;; "c323f4c866cdf7c9fb958ed968b80e0911ecd899")
(commit "bf13c6b5f32980582e8c19b509c6825e86b953dd")
(introduction
(make-channel-introduction
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
@ -22,10 +24,27 @@
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
(channel
(name 'rosenthal)
(url "https://github.com/rakino/rosenthal")
(url "https://codeberg.org/hako/rosenthal.git")
(branch "trunk")
(introduction
(make-channel-introduction
"7677db76330121a901604dfbad19077893865f35"
(openpgp-fingerprint
"13E7 6CD6 E649 C28C 3385 4DF5 5E5A A665 6149 17F7")))))
"13E7 6CD6 E649 C28C 3385 4DF5 5E5A A665 6149 17F7"))))
(channel
(name 'rde)
(url "https://git.sr.ht/~abcdw/rde")
(introduction
(make-channel-introduction
"257cebd587b66e4d865b3537a9a88cccd7107c95"
(openpgp-fingerprint
"2841 9AC6 5038 7440 C7E9 2FFA 2208 D209 58C1 DEB0"))))
;; (channel
;; (name 'emacs)
;; (url "https://github.com/babariviere/guix-emacs")
;; (introduction
;; (make-channel-introduction
;; "72ca4ef5b572fea10a4589c37264fa35d4564783"
;; (openpgp-fingerprint
;; "261C A284 3452 FB01 F6DF 6CF4 F9B7 864F 2AB4 6F18"))))
)

View file

@ -0,0 +1,99 @@
(define-module (home-services pipewire)
#:use-module (gnu packages)
#:use-module (gnu packages linux)
#:use-module (gnu services)
#:use-module (gnu services configuration)
#:use-module (gnu home services)
#:use-module (gnu home services shepherd)
#:use-module (guix gexp))
(define (home-pipewire-profile-service config)
(map specification->package
(list "pipewire"
"wireplumber")))
(define (home-pipewire-shepherd-service config)
(list
;; Start Pipewire daemon
(shepherd-service
(requirement '(dbus))
(provision '(pipewire))
(stop #~(make-kill-destructor))
(start #~(make-forkexec-constructor
(list #$(file-append pipewire "/bin/pipewire"))
#:log-file (string-append
(or (getenv "XDG_LOG_HOME")
(format #f "~a/.local/var/log"
(getenv "HOME")))
"/pipewire.log")
#:environment-variables
(append (list "DISABLE_RTKIT=1")
(default-environment-variables)))))
;; Start Pipewire PulseAudio module
(shepherd-service
(requirement '(pipewire))
(provision '(pipewire-pulse))
(stop #~(make-kill-destructor))
(start #~(make-forkexec-constructor
(list #$(file-append pipewire "/bin/pipewire-pulse"))
#:log-file (string-append
(or (getenv "XDG_LOG_HOME")
(format #f "~a/.local/var/log"
(getenv "HOME")))
"/pipewire-pulse.log")
#:environment-variables
(append (list "DISABLE_RTKIT=1")
(default-environment-variables)))))
;; Start Wireplumber session manager
(shepherd-service
(requirement '(pipewire))
(provision '(wireplumber))
(stop #~(make-kill-destructor))
(start #~(make-forkexec-constructor
(list #$(file-append wireplumber "/bin/wireplumber"))
#:log-file (string-append
(or (getenv "XDG_LOG_HOME")
(format #f "~a/.local/var/log"
(getenv "HOME")))
"/wireplumber.log")
#:environment-variables
(append (list "DISABLE_RTKIT=1")
(default-environment-variables)))))))
(define (home-pipewire-xdg-configuration-service config)
`(("alsa/asoundrc"
,(mixed-text-file
"asoundrc"
#~(string-append
"<"
#$(file-append
pipewire "/share/alsa/alsa.conf.d/50-pipewire.conf")
">\n<"
#$(file-append
pipewire "/share/alsa/alsa.conf.d/99-pipewire-default.conf")
">\n"
"
pcm_type.pipewire {
lib " #$(file-append pipewire "/lib/alsa-lib/libasound_module_pcm_pipewire.so")
"
}
ctl_type.pipewire {
lib " #$(file-append pipewire "/lib/alsa-lib/libasound_module_ctl_pipewire.so")
"
}
")))))
(define-public home-pipewire-service-type
(service-type (name 'home-pipewire)
(extensions
(list (service-extension
home-profile-service-type
home-pipewire-profile-service)
(service-extension
home-shepherd-service-type
home-pipewire-shepherd-service)
(service-extension
home-xdg-configuration-files-service-type
home-pipewire-xdg-configuration-service)))
(default-value #f)
(description "Configures and runs the Pipewire audio system.")))

View file

@ -0,0 +1,32 @@
(define-module (home-services udiskie)
#:use-module (gnu services)
#:use-module (gnu home services)
#:use-module (gnu home services shepherd)
#:use-module (gnu packages freedesktop)
#:use-module (gnu services configuration)
#:use-module (guix gexp)
#:export (home-udiskie-service-type))
(define (home-udiskie-profile-service config)
(list udiskie))
(define (home-udiskie-shepherd-service config)
(list
(shepherd-service
(provision '(udiskie))
(documentation "Run and control udiskie.")
(start #~(make-forkexec-constructor '("udiskie" "-t")))
(stop #~(make-kill-destructor)))))
(define home-udiskie-service-type
(service-type (name 'home-udiskie)
(description "A service for launching Udiskie.")
(extensions
(list (service-extension
home-profile-service-type
home-udiskie-profile-service)
(service-extension
home-shepherd-service-type
home-udiskie-shepherd-service)))
(default-value #f)))

15
guix/home.nix Normal file
View file

@ -0,0 +1,15 @@
{ config, pkgs, ... }:
{
home.username = "chris";
home.homeDirectory = "/home/chris";
home.stateVersion = "23.05";
programs.home-manager.enable = true;
home.packages = with pkgs; [
eww-wayland
swww
starship
# The guix version of dolphin isn't built for wayland and can't find the icon theme
dolphin
];
}

View file

@ -4,34 +4,136 @@
;; 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 home services)
(gnu packages)
(gnu packages vim)
(gnu packages rust-apps)
(gnu packages video)
(gnu services)
(guix gexp)
(gnu home services shells))
(define-module (home)
#:use-module (home-services pipewire)
#:use-module (gnu home)
#:use-module (gnu home services)
#:use-module (gnu home services desktop)
#:use-module (gnu home services shells)
#:use-module (gnu home services xdg)
#:use-module (gnu home services gnupg)
#:use-module (gnu packages)
#:use-module (gnu packages vim)
#:use-module (gnu packages rust-apps)
#:use-module (gnu packages video)
#:use-module (gnu packages gnupg)
#:use-module (gnu services)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system emacs)
#:use-module ((guix licenses) #:prefix license:))
;; (define home-scripts
;; (package
;; (name "home-scripts")
;; (version "0.1")
;; (source (local-file "../scripts" #:recursive #t))
;; (build-system copy-build-system)
;; (arguments
;; `(#:install-plan
;; '(())))))
(define emacs-dired-rsync
(let ((commit "c4f484bff94ed2ddfe0fa45f1e695a1637e1a35a")
(revision "0"))
(package
(name "emacs-dired-rsync")
(version (git-version "0.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stsquad/dired-rsync.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0000000000000000000000000000000000000000000000000000"))))
(build-system emacs-build-system)
(arguments (list #:emacs emacs-next-pgtk))
(license license:gpl3+)
(home-page "https://github.com/stsquad/dired-rsync.git")
(synopsis "dired-rsync asynchronous rsync from dired")
(description "\
This package adds the command dired-rsync which allows the user to copy
marked files in a dired buffer via rsync."))))
(home-environment
;; Below is the list of packages that will show up in your
;; Home profile, under ~/.guix-home/profile.
(packages (specifications->packages (list "vim"
"exa"
"unzip"
"rsync"
"openssh"
"gcc-toolchain"
"make"
"curl"
"mpv"
"mpv-mpris"
"yt-dlp"
"tmux"
"direnv"
"dutree"
"btop"
"htop"
"ripgrep"
"alacritty"
"libnotify"
"nextcloud-client"
"rofi-wayland"
"waybar"
"qt5ct"
"fd"
"bc"
"sysstat"
"ffmpeg"
"dolphin"
"pandoc"
"grim"
"slurp"
"imv"
"openjdk"
;; "dolphin"
"kwallet"
"kwallet-pam"
"breeze"
"breeze-icons"
"kdeconnect"
"pinentry"
"pinentry-qt"
"pinentry-gnome3"
"pinentry-rofi"
"pulsemixer"
"python-pulsectl"
"dunst"
"rbw"
"aspell"
"aspell-dict-en"
"alsa-utils"
"lightly"
"swaylock-effects"
"swayidle"
"wtype"
"brightnessctl"
"flatpak"
"flatpak-xdg-utils"
"xdg-utils"
"xdg-desktop-portal"
"xdg-desktop-portal-kde"
"papirus-icon-theme"
"font-google-noto"
"font-google-noto-emoji"
"enchant"
"blesh"
"ncurses"
"emacs-next-pgtk"
"emacs-dired-rsync"
"emacs-all-the-icons"
"emacs-org-roam"
"emacs-paredit"
"emacs-evil-paredit"
"emacs-doom-modeline"
"emacs-doom-themes"
"emacs-org"
@ -52,6 +154,7 @@
"emacs-evil-surround"
"emacs-websocket"
"emacs-org-modern"
"emacs-org-web-tools"
"emacs-org-re-reveal"
"emacs-emojify"
"emacs-pulsar"
@ -97,13 +200,84 @@
(home-bash-configuration
(guix-defaults? #t)
(aliases '(("grep" . "grep --color=auto")
("ll" . "ls -l")
("ls" . "exa -l")
("la" . "exa -la")))))
("gh" . "guix home reconfigure ~/dotfiles/guix/home.scm")
("gs" . "guix system reconfigure ~/dotfiles/guix/system.scm")))
(environment-variables
'(("QT_QPA_PLATFORM" . "wayland")
("QT_QPA_PLATFORMTHEME" . "qt5ct")))
(bashrc (list (plain-file "blesh" "source .guix-home/profile/share/blesh/ble.sh")
(plain-file "home-manager" "source .nix-profile/etc/profile.d/hm-session-vars.sh")
;;These need to be here so they are at the bottom and therefore after guix-defaults
(plain-file "exal" "alias ls=\"exa -l\"")
(plain-file "exala" "alias la=\"exa -la\"")
(plain-file "less-color" "export LESS=\"--RAW-CONTROL-CHARS\"")
(plain-file "man-colors" "[[ -f ~/.LESS_TERMCAP ]] && . ~/.LESS_TERMCAP")
(plain-file "starship" "source .config/starship/init.sh")))))
(simple-service 'extra-env-vars
home-environment-variables-service-type
`(("PATH" . "$PATH:/home/chris/bin:/home/chris/.nix-profile/bin")
("QT_QPA_PLATFORM" . "wayland")
("QT_QPA_PLATFORMTHEME" . "qt5ct")
("LITERAL_VALUE" . ,(literal-string "${abc}"))))
(service home-fish-service-type
(home-fish-configuration
(aliases '(("ls" . "exa -l")
("gh" . "guix home reconfigure ~/.files/guix/home.scm")))))
(service home-xdg-configuration-files-service-type
`(("hypr/hyprland.conf" ,(local-file "../.config/hypr/hyprland.conf"))
("alacritty/alacritty.yml" ,(local-file "../.config/alacritty/alacritty.yml")))))))
("gh" . "guix home reconfigure ~/dotfiles/guix/home.scm")
("gs" . "guix system reconfigure ~/dotfiles/guix/system.scm")))))
(simple-service 'config
home-xdg-configuration-files-service-type
`(("hypr" ,(local-file "../.config/hypr" #:recursive? #t))
("tridactyl" ,(local-file "../.config/tridactyl" #:recursive? #t))
("eww" ,(local-file "../.config/eww" #:recursive? #t))
("waybar" ,(local-file "../.config/waybar" #:recursive? #t))
("rofi" ,(local-file "../.config/rofi" #:recursive? #t))
("dunst" ,(local-file "../.config/dunst" #:recursive? #t))
("btop" ,(local-file "../.config/bpytop" #:recursive? #t))
("mpv" ,(local-file "../.config/mpv" #:recursive? #t))
("blesh" ,(local-file "../.config/blesh" #:recursive? #t))
("starship" ,(local-file "../.config/starship" #:recursive? #t))
("starship.toml" ,(local-file "../.config/starship.toml"))
("guix/channels.scm" ,(local-file "channels.scm"))
("home-manager/home.nix" ,(local-file "home.nix"))
("qt5ct/colors/snazzy.conf" ,(local-file "../.config/qt5ct/snazzy.conf"))
("alacritty/alacritty.yml" ,(local-file "../.config/alacritty/alacritty.yml"))))
(simple-service 'scripts
home-files-service-type
`(("bin" ,(local-file "../scripts" #:recursive? #t))
(".mozilla/firefox/chris.default/chrome" ,(local-file "../.config/firefox/chrome" #:recursive? #t))))
(service home-gpg-agent-service-type
(home-gpg-agent-configuration
(pinentry-program
(file-append pinentry-rofi "/bin/pinentry-rofi"))
(ssh-support? #t)
(default-cache-ttl 28800)
(max-cache-ttl 28800)
(default-cache-ttl-ssh 28800)
(max-cache-ttl-ssh 28800)))
(service home-xdg-user-directories-service-type
(home-xdg-user-directories-configuration
(videos "$HOME/vids")
(pictures "$HOME/pics")
(download "$HOME/dls")
(documents "$HOME/docs")
(music "$HOME/music")
(templates "$HOME")
(desktop "$HOME")
(publicshare "$HOME")))
(service home-xdg-mime-applications-service-type
(home-xdg-mime-applications-configuration
(default '(("video/mp4" . "mpv.desktop")
("video/webm" . "mpv.desktop")
("video/x-matroska" . "mpv.destop")
("audio/opus" . "mpv-slow.desktop")))
(desktop-entries
(list (xdg-desktop-entry
(file "mpv-slow")
(name "MPV for Audio and Streams")
(type 'application)
(config
'((exec . "mpv --profile=slow %U"))))))))
(service home-pipewire-service-type)
(service home-dbus-service-type))))

@ -1 +0,0 @@
Subproject commit dd7519aa20948e42469eccc3c7c99c1633420a07

View file

@ -10,14 +10,54 @@
;; Indicate which modules to import to access the variables
;; used in this configuration.
(use-modules (gnu)
(gnu services)
(gnu services shepherd)
(gnu services dbus)
(gnu system)
(gnu system setuid)
(gnu system nss)
(rosenthal packages wm)
(nongnu packages linux)
(nongnu system linux-initrd))
(use-service-modules cups desktop networking ssh xorg)
(use-service-modules cups desktop networking ssh xorg avahi
admin base nix dbus pm audio virtualization sysctl)
(use-package-modules nfs certs shells ssh linux bash emacs gnome networking wm fonts glib libusb
cups freedesktop file-systems version-control package-management)
(define etc-sudoers-config
(plain-file "etc-sudoers-config"
"Defaults timestamp_timeout=480
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
YOUR-USER-NAME ALL=(ALL) NOPASSWD:/run/current-system/profile/bin/chvt,/run/current-system/profile/bin/loginctl"))
(define my-desktop-services
(modify-services %base-services
(guix-service-type config => (guix-configuration
(inherit config)
(substitute-urls
(append (list "https://substitutes.nonguix.org")
%default-substitute-urls))
(authorized-keys
(append (list (plain-file "nonguix.pub" "(public-key (ecc (curve Ed25519) (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)))"))
%default-authorized-guix-keys))))
;; greetd-service-type provides "greetd" PAM service
(delete login-service-type)
(delete console-font-service-type)
;; and can be used in place of mingetty-service-type
(delete mingetty-service-type)
(delete mingetty-service-type)
(delete mingetty-service-type)
(delete mingetty-service-type)
(delete mingetty-service-type)
(delete mingetty-service-type)))
(operating-system
(kernel linux)
(initrd microcode-initrd)
(firmware (list linux-firmware))
(kernel linux)
(initrd microcode-initrd)
(firmware (list linux-firmware))
(locale "en_US.utf8")
(timezone "America/Chicago")
(keyboard-layout (keyboard-layout "us"))
@ -25,49 +65,126 @@
;; The list of user accounts ('root' is implicit).
(users (cons* (user-account
(name "chris")
(comment "Chris")
(group "users")
(home-directory "/home/chris")
(supplementary-groups '("wheel" "netdev" "audio" "video")))
(name "chris")
(comment "Chris")
(group "users")
(home-directory "/home/chris")
(supplementary-groups '("wheel" "netdev" "tty" "audio" "video")))
%base-user-accounts))
(sudoers-file etc-sudoers-config)
;; 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 "nss-certs")
(specification->package "sway")
(specification->package "dbus-glib")
(specification->package "hyprland")
(specification->package "emacs-next-pgtk"))
%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)
(append
(list ;; To configure OpenSSH, pass an 'openssh-configuration'
;; record as a second argument to 'service' below.
(service openssh-service-type)
fontconfig-file-system-service
(service sane-service-type)
(service cups-service-type
(cups-configuration
(web-interface? #t)
(extensions
(list cups-filters))))
;; To configure OpenSSH, pass an 'openssh-configuration'
;; record as a second argument to 'service' below.
(service openssh-service-type)
(service cups-service-type)
(set-xorg-configuration
(xorg-configuration (keyboard-layout keyboard-layout))))
(simple-service 'mtp udev-service-type (list libmtp))
(udev-rules-service 'pipewire-add-udev-rules pipewire)
(udev-rules-service 'brightnessctl-udev-rules brightnessctl)
;; This is the default list of services we
;; are appending to.
(modify-services %desktop-services
(guix-service-type config => (guix-configuration
(inherit config)
(substitute-urls
(append (list "https://substitutes.nonguix.org")
%default-substitute-urls))
(authorized-keys
(append (list (plain-file "nonguix.pub" "(public-key (ecc (curve Ed25519) (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)))"))
%default-authorized-guix-keys)))))))
(service nix-service-type)
(service thermald-service-type)
(service tlp-service-type
(tlp-configuration
(cpu-boost-on-ac? #t)
(wifi-pwr-on-bat? #t)))
(service screen-locker-service-type
(screen-locker-configuration
(name "swaylock")
(program (file-append 'swaylock-effects "/home/chris/.guix-home/profile/bin/swaylock"))
(allow-empty-password? #f)
(using-pam? #t)
(using-setuid? #f)))
(set-xorg-configuration
(xorg-configuration (keyboard-layout keyboard-layout)))
(service console-font-service-type
(map (lambda (tty)
;; Use a larger font for HIDPI screens
(cons tty (file-append
font-terminus
"/share/consolefonts/ter-132n")))
'("tty1" "tty2" "tty3" "tty4" "tty5" "tty6")))
(service greetd-service-type
(greetd-configuration
(greeter-supplementary-groups
(list "input" "video"))
(terminals
(list
(greetd-terminal-configuration
(terminal-vt "1")
(terminal-switch #t)
(default-session-command
(greetd-agreety-session
(command
(file-append dbus "/bin/dbus-run-session"))
(command-args (list "Hyprland")))))
(greetd-terminal-configuration (terminal-vt "2"))
(greetd-terminal-configuration (terminal-vt "3"))
(greetd-terminal-configuration (terminal-vt "4"))
(greetd-terminal-configuration (terminal-vt "5"))
(greetd-terminal-configuration (terminal-vt "6"))))))
;; NetworkManager and its applet.
(service network-manager-service-type)
(service wpa-supplicant-service-type) ;needed by NetworkManager
(simple-service 'network-manager-applet
profile-service-type
(list network-manager-applet))
(service modem-manager-service-type)
(service usb-modeswitch-service-type)
(service bluetooth-service-type
(bluetooth-configuration
(auto-enable? #t)))
;; The D-Bus clique.
polkit-wheel-service
(service avahi-service-type)
(service udisks-service-type)
(service upower-service-type)
;; (service accountsservice-service-type)
(service cups-pk-helper-service-type)
(service colord-service-type)
(service geoclue-service-type)
(service polkit-service-type)
(service elogind-service-type)
(service dbus-root-service-type)
(service ntp-service-type)
(service x11-socket-directory-service-type))
my-desktop-services))
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(targets (list "/boot/efi"))
(keyboard-layout keyboard-layout)))
(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

View file

@ -1,5 +1,7 @@
#!/bin/sh
hyprctl dispatch focuswindow emacs
# Check to see if an emacsclient is running
if [ $(pgrep -c emacsclient) -gt 0 ]; then
echo hi
@ -22,13 +24,13 @@ if [ $(pgrep -c emacsclient) -gt 0 ]; then
exit
else
echo WAYLAND
emacsrg=$(wlrctl window list | rg "emacs:" | rg -v dired)
emacsrg=$(hyprctl clients | rg "emacs:" | rg -v dired)
echo $emacsrg
emacswin=$(echo $emacsrg | sed 's/.*\: //')
echo $emacswin
exec wlrctl toplevel focus title:"$emacswin"
exec hyprctl dispatch focuswindow emacs
exit
fi
fi

View file

@ -25,12 +25,12 @@ if [ $(pgrep -c firefox) -gt 0 ]; then
exit
else
# WAYLAND
ffrg=$(wlrctl window list | rg firefox)
ffrg=$(hyprctl clients | rg firefox)
ffwin=$(echo $ffrg | sed 's/.*\: //')
# echo $ffwin
exec wlrctl toplevel focus firefox
exec hyprctl dispatch focuswindow firefox
exit
fi
fi

71
scripts/rbw.sh Executable file
View file

@ -0,0 +1,71 @@
#!/usr/bin/env bash
# Very basic interface for rbw using rofi
if [ $(hostname) = "syl" ]; then
style="laptop-rbw-wayland"
#echo "this is hidpi"
else
style="desktop-rbw"
#echo "this is not hidpi"
fi
# Get all password files and create an array
root=~/.password-store
CACHE=~/.local/tmp/pass_rofi
seat=seat0
rbw sync
rbw list
list_passwords() {
rbw list
}
passwords=$(rbw list)
prompt='search for passwords...'
SECRET=$(list_passwords | rofi -sync -i -p="${prompt}" -dmenu -theme ~/.config/rofi/launchers-git/$style.rasi)
# Ask whether pass, user or both are required
options=("Password" \
"User" \
"User and password" \
"QR-Code" \
"OTP")
option=$(printf '%s\n' "${options[@]%}" | rofi -sync -i -dmenu -width 400 -lines 4 -prompt="..." -theme ~/.config/rofi/launchers-git/$style.rasi)
echo $option
case ${option} in
Password )
echo "${SECRET}"
wtype $(rbw get "${SECRET}")
;;
User )
wtype $(rbw get --full "${SECRET}" | rg Username: | awk '{$1 = ""; print $0}')
;;
"User and password" )
wtype $(rbw get --full "${SECRET}" | rg Username: | awk '{$1 = ""; print $0}')
wtype -P tab
wtype $(rbw get "${SECRET}")
;;
"QR-Code" )
if [[ $SECRET =~ wifi$ ]]; then
# Produce a valid wifi QR-code
WIFISSID=$(pass get_user ${SECRET})
WIFIPASS=$(pass get_pass ${SECRET})
WIFIQR="WIFI:T:WPA;S:${WIFISSID};P:${WIFIPASS};;"
qrencode -s 8 -o - $WIFIQR | feh --title "pass: QR-WIFI" -
else
# Only password
pass show -q1 ${SECRET}
fi
;;
"OTP" )
wtype $(rbw code "${SECRET}")
;;
esac
# wl-copy -o -s ${seat} ${PASSWD_PASS}

View file

@ -1,5 +1,6 @@
#!/bin/sh
waybar &
kwalletd5 &
systemctl --user stop jellyfin-mpv-shim.service &
systemctl --user stop nextcloud-client.service &
@ -12,9 +13,3 @@ rbw-agent &
emacs --daemon &
nextcloud --background &
batmon &
killall eww
eww open bar0 &
eww open notifications &
eww open sidebar &

10
scripts/wb-toggle Executable file
View file

@ -0,0 +1,10 @@
#!/bin/sh
if [ $(pgrep -c waybar) -gt 0 ]; then
echo "killing"
kill $(pgrep waybar)
else
echo "starting"
waybar &
fi