a decent working guix config
This commit is contained in:
		
							parent
							
								
									ae77d05e2f
								
							
						
					
					
						commit
						0ebbec7644
					
				
					 22 changed files with 2302 additions and 279 deletions
				
			
		| 
						 | 
					@ -357,7 +357,7 @@ colors:
 | 
				
			||||||
#   - (Linux/BSD) user login shell
 | 
					#   - (Linux/BSD) user login shell
 | 
				
			||||||
#   - (Windows) powershell
 | 
					#   - (Windows) powershell
 | 
				
			||||||
shell:
 | 
					shell:
 | 
				
			||||||
  program: fish
 | 
					  program: bash
 | 
				
			||||||
#  args:
 | 
					#  args:
 | 
				
			||||||
#    - --login
 | 
					#    - --login
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										141
									
								
								.config/bashrc
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										141
									
								
								.config/bashrc
									
										
									
									
									
										Normal 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
									
								
							
							
						
						
									
										1306
									
								
								.config/blesh/init.sh
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -1,204 +1,214 @@
 | 
				
			||||||
monitor=eDP-1,2256x1504@60,0x0,1.5
 | 
					    monitor=eDP-1,2256x1504@60,0x0,1.5
 | 
				
			||||||
workspace=eDP-1,1
 | 
					    workspace=eDP-1,1
 | 
				
			||||||
monitor=DVI-D-1,preferred,0x0,1
 | 
					    monitor=HDMI-A-1,preferred,0x0,1
 | 
				
			||||||
monitor=HDMI-A-1,preferred,0x0,1
 | 
					    monitor=DP-1,preferred,2680x0,1.5
 | 
				
			||||||
monitor=DP-3,preferred,1080x0,1.5
 | 
					    monitor=DP-2,preferred,1600x0,1
 | 
				
			||||||
workspace=DVI-D-1,2
 | 
					    workspace=DP-2,2
 | 
				
			||||||
workspace=DP-3,1
 | 
					    workspace=DP-1,1
 | 
				
			||||||
workspace=HDMI-A-1,2
 | 
					    workspace=HDMI-A-1,3
 | 
				
			||||||
monitor=DVI-D-1,transform,1
 | 
					    monitor=DP-2,transform,1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
input {
 | 
					    input {
 | 
				
			||||||
    # kb_layout=
 | 
					        # kb_layout=
 | 
				
			||||||
    # kb_variant=
 | 
					        # kb_variant=
 | 
				
			||||||
    # kb_model=
 | 
					        # kb_model=
 | 
				
			||||||
    # kb_options=
 | 
					        # kb_options=
 | 
				
			||||||
    # kb_rules=
 | 
					        # kb_rules=
 | 
				
			||||||
    repeat_rate=140
 | 
					        repeat_rate=140
 | 
				
			||||||
    repeat_delay=180
 | 
					        repeat_delay=180
 | 
				
			||||||
    natural_scroll=0
 | 
					        natural_scroll=0
 | 
				
			||||||
    sensitivity=0.85
 | 
					        sensitivity=0.75
 | 
				
			||||||
    accel_profile=adaptive
 | 
					        accel_profile=adaptive
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    follow_mouse=2
 | 
					        follow_mouse=2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    touchpad {
 | 
					        touchpad {
 | 
				
			||||||
             natural_scroll=1
 | 
					                 natural_scroll=1
 | 
				
			||||||
             clickfinger_behavior=1
 | 
					                 clickfinger_behavior=1
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
general {
 | 
					    general {
 | 
				
			||||||
    max_fps=60 # deprecated, unused
 | 
					        max_fps=60 # deprecated, unused
 | 
				
			||||||
    # main_mod=SUPER
 | 
					        # main_mod=SUPER
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    gaps_in=15
 | 
					        gaps_in=15
 | 
				
			||||||
    gaps_out=20
 | 
					        gaps_out=20
 | 
				
			||||||
    border_size=0
 | 
					        border_size=0
 | 
				
			||||||
    col.active_border=0x66ee1111
 | 
					        col.active_border=0x66ee1111
 | 
				
			||||||
    col.inactive_border=0x66333333
 | 
					        col.inactive_border=0x66333333
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #damage_tracking=full # leave it on full unless you hate your GPU and want to make it suffer
 | 
					        #damage_tracking=full # leave it on full unless you hate your GPU and want to make it suffer
 | 
				
			||||||
    layout=master
 | 
					        layout=master
 | 
				
			||||||
}
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
gestures {
 | 
					    gestures {
 | 
				
			||||||
    workspace_swipe=true
 | 
					        workspace_swipe=true
 | 
				
			||||||
    workspace_swipe_fingers=3
 | 
					        workspace_swipe_fingers=3
 | 
				
			||||||
}
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
decoration {
 | 
					    decoration {
 | 
				
			||||||
    rounding=18
 | 
					        rounding=18
 | 
				
			||||||
    multisample_edges=true
 | 
					        multisample_edges=true
 | 
				
			||||||
    active_opacity=0.97
 | 
					        active_opacity=0.97
 | 
				
			||||||
    inactive_opacity=0.75
 | 
					        inactive_opacity=0.75
 | 
				
			||||||
    fullscreen_opacity=1.0
 | 
					        fullscreen_opacity=1.0
 | 
				
			||||||
    blur=true
 | 
					        blur=true
 | 
				
			||||||
    blur_new_optimizations=true
 | 
					        blur_new_optimizations=true
 | 
				
			||||||
    blur_size=10 # minimum 1
 | 
					        blur_size=10 # minimum 1
 | 
				
			||||||
    blur_passes=3 # minimum 1, more passes = more resource intensive.
 | 
					        blur_passes=3 # minimum 1, more passes = more resource intensive.
 | 
				
			||||||
    blur_ignore_opacity=false
 | 
					        blur_ignore_opacity=false
 | 
				
			||||||
    # Your blur "amount" is blur_size * blur_passes, but high blur_size (over around 5-ish) will produce artifacts.
 | 
					        # 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.
 | 
					        # 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.
 | 
					        # 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
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
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 {
 | 
					    bezier=snapslide,0.07,0.66,0.04,1.02
 | 
				
			||||||
    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
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
dwindle {
 | 
					    animations {
 | 
				
			||||||
    pseudotile=0 # enable pseudotiling on dwindle
 | 
					        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 {
 | 
					    dwindle {
 | 
				
			||||||
    special_scale_factor=0.7
 | 
					        pseudotile=0 # enable pseudotiling on dwindle
 | 
				
			||||||
    new_is_master=false
 | 
					    }
 | 
				
			||||||
    new_on_top=false
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# misc:disable_autoreload = true
 | 
					    master {
 | 
				
			||||||
 | 
					        special_scale_factor=0.8
 | 
				
			||||||
 | 
					        mfact=0.65
 | 
				
			||||||
 | 
					        new_is_master=false
 | 
				
			||||||
 | 
					        new_on_top=false
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# example window rules
 | 
					    # misc:disable_autoreload = true
 | 
				
			||||||
# for windows named/classed as abc and xyz
 | 
					    misc {
 | 
				
			||||||
windowrule=opaque,firefox
 | 
					        focus_on_activate = true
 | 
				
			||||||
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
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# example binds
 | 
					    # example window rules
 | 
				
			||||||
bind = SUPER,RETURN,exec,alacritty
 | 
					    # for windows named/classed as abc and xyz
 | 
				
			||||||
bind = SUPER,C,killactive,
 | 
					    windowrule=opaque,firefox
 | 
				
			||||||
bind = SUPERSHIFT,Q,exit,
 | 
					    windowrule=float,dolphin
 | 
				
			||||||
bind = SUPERSHIFT,D,exec,dolphin
 | 
					    windowrule=size 60% 60%,dolphin
 | 
				
			||||||
bind = SUPERSHIFT,F,togglefloating,
 | 
					    windowrule=float,mpv
 | 
				
			||||||
bindr = SUPER,Super_L,exec,/home/chris/bin/launcher.sh
 | 
					    windowrule=size 90% 76%,mpv
 | 
				
			||||||
# bindr = ALT,Alt_L,exec,/home/chris/bin/window.sh
 | 
					    windowrule=center,mpv
 | 
				
			||||||
bind = SUPER,w,exec,/home/chris/bin/window.sh
 | 
					    windowrule=opaque,mpv
 | 
				
			||||||
bind = SUPER,E,exec,/home/chris/bin/emacslof
 | 
					    # windowrule=pin,mpv
 | 
				
			||||||
bind = SUPER,d,exec,emacsclient -c -e '(dired-jump)'
 | 
					    windowrule=float,pulsemixer
 | 
				
			||||||
bind = SUPER,B,exec,/home/chris/bin/fflof
 | 
					    windowrule=workspace 2,firefox
 | 
				
			||||||
bind = SUPER,A,exec,alacritty --class pulsemixer -e pulsemixer
 | 
					    windowrule=workspace 1,emacs
 | 
				
			||||||
bind = SUPERCTRL,i,exec,alacritty --class btop -e btop
 | 
					    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
 | 
					    # example binds
 | 
				
			||||||
bind = SUPER,M,fullscreen,1
 | 
					    bind = SUPER,RETURN,exec,alacritty
 | 
				
			||||||
bind = SUPER,F,fullscreen,0
 | 
					    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,P,exec,/home/chris/bin/rbw.sh
 | 
				
			||||||
bind = SUPER,l,movefocus,r
 | 
					    bind = SUPER,M,fullscreen,1
 | 
				
			||||||
bind = SUPER,k,cyclenext,prev
 | 
					    bind = SUPER,F,fullscreen,0
 | 
				
			||||||
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,1,workspace,1
 | 
					    bind = SUPER,h,movefocus,l
 | 
				
			||||||
bind = SUPER,2,workspace,2
 | 
					    bind = SUPER,l,movefocus,r
 | 
				
			||||||
bind = SUPER,3,workspace,3
 | 
					    bind = SUPER,k,layoutmsg,cycleprev
 | 
				
			||||||
bind = SUPER,4,workspace,4
 | 
					    bind = SUPER,j,layoutmsg,cyclenext
 | 
				
			||||||
bind = SUPER,5,workspace,5
 | 
					    bind = SUPERSHIFT,h,movewindow,l
 | 
				
			||||||
bind = SUPER,6,workspace,6
 | 
					    bind = SUPERSHIFT,l,movewindow,r
 | 
				
			||||||
bind = SUPER,7,workspace,7
 | 
					    bind = SUPERSHIFT,k,layoutmsg,swapprev
 | 
				
			||||||
bind = SUPER,8,workspace,8
 | 
					    bind = SUPERSHIFT,j,layoutmsg,swapnext
 | 
				
			||||||
bind = SUPER,9,workspace,9
 | 
					    bind = SUPERCTRL,l,splitratio,+0.05
 | 
				
			||||||
bind = SUPER,0,workspace,10
 | 
					    bind = SUPERCTRL,h,splitratio,-0.05
 | 
				
			||||||
 | 
					    bind = SUPERCTRL,c,centerwindow
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bind = SUPERALT,l,workspace,m+1
 | 
					    bind = SUPER,1,workspace,1
 | 
				
			||||||
bind = SUPERALT,h,workspace,m-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 = SUPERALT,l,workspace,m+1
 | 
				
			||||||
bind = SUPERSHIFT,2,movetoworkspace,2
 | 
					    bind = SUPERALT,h,workspace,m-1
 | 
				
			||||||
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 = SUPER,o,movewindow,mon: next
 | 
					    bind = SUPERSHIFT,1,movetoworkspace,1
 | 
				
			||||||
bind = SUPER,y,togglespecialworkspace
 | 
					    bind = SUPERSHIFT,2,movetoworkspace,2
 | 
				
			||||||
bind = SUPER,i,movewindow,left
 | 
					    bind = SUPERSHIFT,3,movetoworkspace,3
 | 
				
			||||||
bind = SUPERSHIFT,p,pin
 | 
					    bind = SUPERSHIFT,4,movetoworkspace,4
 | 
				
			||||||
bind = SUPER,n,movetoworkspace,special
 | 
					    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
 | 
					    bind = SUPER,o,movewindow,mon:l
 | 
				
			||||||
binde = , XF86AudioRaiseVolume, exec, /home/chris/bin/volup
 | 
					    bind = SUPER,y,togglespecialworkspace
 | 
				
			||||||
binde = , XF86AudioLowerVolume, exec, /home/chris/bin/voldown
 | 
					    bind = SUPER,i,movewindow,left
 | 
				
			||||||
binde = ,F1, exec, pamixer -t
 | 
					    bind = SUPERSHIFT,p,pin
 | 
				
			||||||
binde = ,F3, exec, /home/chris/bin/volup
 | 
					    bind = SUPER,n,movetoworkspace,special
 | 
				
			||||||
binde = ,F2, exec, /home/chris/bin/voldown
 | 
					 | 
				
			||||||
binde = , XF86MonBrightnessUp, exec, brightnessctl s +10%
 | 
					 | 
				
			||||||
binde = , XF86MonBrightnessDown, exec, brightnessctl s 10%-
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
bind=SUPERCTRL,b,exec,eww.sh
 | 
					    binde = , XF86AudioMute, exec, pamixer -t
 | 
				
			||||||
bind=SUPERALT,n,exec,eww update rightside=true
 | 
					    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
 | 
					    bind=SUPERCTRL,b,exec,/home/chris/bin/wb-toggle
 | 
				
			||||||
bindm=SUPER,mouse:273,resizewindow
 | 
					    bind=SUPERALT,n,exec,eww update rightside=true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Blur waybar
 | 
					    bindm=SUPER,mouse:272,movewindow
 | 
				
			||||||
# blurls=gtk-layer-shell
 | 
					    bindm=SUPER,mouse:273,resizewindow
 | 
				
			||||||
# blurls=notifications
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
exec-once = /home/chris/bin/startup.sh
 | 
					    # Blur waybar
 | 
				
			||||||
exec-once = hyprpaper
 | 
					    # blurls=gtk-layer-shell
 | 
				
			||||||
exec-once = dunst
 | 
					    # blurls=notifications
 | 
				
			||||||
exec-once = hyprctl dispatch --batch "splitratio 1; splitration -0.35"
 | 
					
 | 
				
			||||||
exec-once = dbus-update-activation-environment --systemd --all
 | 
					    exec-once = /home/chris/bin/startup.sh
 | 
				
			||||||
exec-once = jellyfin-mpv-shim
 | 
					    exec-once = swww init
 | 
				
			||||||
exec-once = hyprctl setcursor phinger-cursors-light
 | 
					    exec-once = swww img /home/chris/Pictures/wallpapers/nixorange.webp -t grow --transition-bezier .14,0,.14,.99
 | 
				
			||||||
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' 
 | 
					    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' 
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										4
									
								
								.config/qt5ct/snazzy.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.config/qt5ct/snazzy.conf
									
										
									
									
									
										Normal 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
									
								
							
							
						
						
									
										9
									
								
								.config/starship.toml
									
										
									
									
									
										Normal 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
									
								
							
							
						
						
									
										13
									
								
								.config/starship/init.sh
									
										
									
									
									
										Normal 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
 | 
				
			||||||
| 
						 | 
					@ -50,8 +50,8 @@
 | 
				
			||||||
                      padding: 0.4rem;
 | 
					                      padding: 0.4rem;
 | 
				
			||||||
                 }
 | 
					                 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#completions table {    font-size: 1.0rem;
 | 
					#completions table {    font-size: 1.0rem !important;
 | 
				
			||||||
                        font-weight: 500;
 | 
					                        font-weight: 800 !important;
 | 
				
			||||||
                        border-spacing: 0;
 | 
					                        border-spacing: 0;
 | 
				
			||||||
                        table-layout: fixed;
 | 
					                        table-layout: fixed;
 | 
				
			||||||
                        padding: 1rem;
 | 
					                        padding: 1rem;
 | 
				
			||||||
| 
						 | 
					@ -69,7 +69,7 @@
 | 
				
			||||||
                  color: var(--tridactyl-fg);
 | 
					                  color: var(--tridactyl-fg);
 | 
				
			||||||
                  background: var(--tridactyl-bg);
 | 
					                  background: var(--tridactyl-bg);
 | 
				
			||||||
                  display: inline-block;
 | 
					                  display: inline-block;
 | 
				
			||||||
                  font-size: unset;
 | 
					                  font-size: 1.0rem !important;
 | 
				
			||||||
                  font-weight: 600 !important;
 | 
					                  font-weight: 600 !important;
 | 
				
			||||||
                  overflow: hidden;
 | 
					                  overflow: hidden;
 | 
				
			||||||
                  width: 100%;
 | 
					                  width: 100%;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,12 +1,12 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    // "layer": "top", // Waybar at top layer
 | 
					    "layer": "top", // Waybar at top layer
 | 
				
			||||||
    "position": "bottom", // Waybar position (top|bottom|left|right)
 | 
					    "position": "bottom", // Waybar position (top|bottom|left|right)
 | 
				
			||||||
    "height": 30, // Waybar height (to be removed for auto height)
 | 
					    "height": 35, // Waybar height (to be removed for auto height)
 | 
				
			||||||
    // "width": 1280, // Waybar width
 | 
					    "width": 1400, // Waybar width
 | 
				
			||||||
    // Choose the order of the modules "custom/wintitle", 
 | 
					    // Choose the order of the modules "custom/wintitle", 
 | 
				
			||||||
    "modules-left": ["workspaces", "hyprland/window"],
 | 
					    "modules-left": ["wlr/workspaces", "workspaces", "hyprland/window"],
 | 
				
			||||||
    "modules-center": ["clock"],
 | 
					    "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-top": -5,
 | 
				
			||||||
    "margin-bottom": 8,
 | 
					    "margin-bottom": 8,
 | 
				
			||||||
    "margin-left": 6,
 | 
					    "margin-left": 6,
 | 
				
			||||||
| 
						 | 
					@ -31,11 +31,16 @@
 | 
				
			||||||
        "num-tags": 8
 | 
					        "num-tags": 8
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "hyprland/window": {
 | 
					    "hyprland/window": {
 | 
				
			||||||
        "format": "  {}"
 | 
					        "format": "  <span style='italic'>{}</span>"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "workspaces": {
 | 
					    "workspaces": {
 | 
				
			||||||
        "format": " {name} "
 | 
					        "format": " {name} "
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "wlr/workspaces": {
 | 
				
			||||||
 | 
					     "format": "{icon}",
 | 
				
			||||||
 | 
					     "on-scroll-up": "hyprctl dispatch workspace e+1",
 | 
				
			||||||
 | 
					     "on-scroll-down": "hyprctl dispatch workspace e-1"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "sway/mode": {
 | 
					    "sway/mode": {
 | 
				
			||||||
        "format": "<span style=\"italic\">  {}</span>"
 | 
					        "format": "<span style=\"italic\">  {}</span>"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
| 
						 | 
					@ -54,25 +59,25 @@
 | 
				
			||||||
        // "timezone": "America/New_York",
 | 
					        // "timezone": "America/New_York",
 | 
				
			||||||
        "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
 | 
					        "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
 | 
				
			||||||
        "format-alt": "{:%Y-%m-%d}",
 | 
					        "format-alt": "{:%Y-%m-%d}",
 | 
				
			||||||
        "format": "{:%a %b%e, %I:%M %p}"
 | 
					        "format": "{:%a %b %e, %I:%M %p}"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "cpu": {
 | 
					    "cpu": {
 | 
				
			||||||
        "format": " {usage}%",
 | 
					        "format": "  {usage}%",
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "memory": {
 | 
					    "memory": {
 | 
				
			||||||
        "format": " {}%"
 | 
					        "format": "  {}%"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "temperature": {
 | 
					    "temperature": {
 | 
				
			||||||
        // "thermal-zone": 2,
 | 
					        // "thermal-zone": 2,
 | 
				
			||||||
        // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
 | 
					        // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
 | 
				
			||||||
        "critical-threshold": 80,
 | 
					        "critical-threshold": 80,
 | 
				
			||||||
        // "format-critical": "{temperatureC}°C {icon}",
 | 
					        // "format-critical": "{temperatureC}°C {icon}",
 | 
				
			||||||
        "format": "{temperatureC}°C {icon}",
 | 
					        "format": "{icon} {temperatureC}°C",
 | 
				
			||||||
        "format-icons": ["", "", ""]
 | 
					        "format-icons": ["", "", ""]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "backlight": {
 | 
					    "backlight": {
 | 
				
			||||||
        // "device": "acpi_video1",
 | 
					        // "device": "acpi_video1",
 | 
				
			||||||
        "format": "{icon} {percent}%",
 | 
					        "format": "{icon}  {percent}%",
 | 
				
			||||||
        "format-icons": ["", ""]
 | 
					        "format-icons": ["", ""]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "battery": {
 | 
					    "battery": {
 | 
				
			||||||
| 
						 | 
					@ -82,13 +87,13 @@
 | 
				
			||||||
            "critical": 15
 | 
					            "critical": 15
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "format": "{icon} {capacity}%",
 | 
					        "format": "{icon} {capacity}%",
 | 
				
			||||||
        "format-charging": " {capacity}%",
 | 
					        "format-charging": "{icon} {capacity}%",
 | 
				
			||||||
        "format-plugged": " {capacity}%",
 | 
					        "format-plugged": " {capacity}%",
 | 
				
			||||||
        "format-alt": "{time} {icon}",
 | 
					        "format-alt": "{time} {icon}",
 | 
				
			||||||
        "format-good": "", // An empty format will hide the module
 | 
					        "format-good": "{icon} {capacity}%", // An empty format will hide the module
 | 
				
			||||||
        "format-full": "",
 | 
					        "format-full": " {capacity}%",
 | 
				
			||||||
        "format-icons": [" ", " ", " ", " ", " "],
 | 
					        "format-icons": ["", "", "", "", ""],
 | 
				
			||||||
        "format-charging-icons": [" ", " ", " ", " ", " "]
 | 
					        "format-charging-icons": ["", "", "", "", ""]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "battery#bat2": {
 | 
					    "battery#bat2": {
 | 
				
			||||||
        "bat": "BAT2",
 | 
					        "bat": "BAT2",
 | 
				
			||||||
| 
						 | 
					@ -108,11 +113,11 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "network": {
 | 
					    "network": {
 | 
				
			||||||
        // "interface": "wlp2*", // (Optional) To force the use of this interface
 | 
					        // "interface": "wlp2*", // (Optional) To force the use of this interface
 | 
				
			||||||
        "format-wifi": " {essid} ({signalStrength}%)",
 | 
					        "format-wifi": "  ({signalStrength}%)",
 | 
				
			||||||
        "format-ethernet": " {ipaddr}",
 | 
					        "format-ethernet": " {ipaddr}",
 | 
				
			||||||
        "format-linked": "{ifname} (No IP) ",
 | 
					        "format-linked": "{ifname} (No IP) ",
 | 
				
			||||||
        "format-disconnected": "Disconnected ⚠",
 | 
					        "format-disconnected": "Disconnected ⚠",
 | 
				
			||||||
        "format-alt": "{ifname}: {ipaddr}/{cidr}"
 | 
					        "format-alt": "{ifname}: {essid} {ipaddr}/{cidr}",
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "pulseaudio": {
 | 
					    "pulseaudio": {
 | 
				
			||||||
        // "scroll-step": 1, // %, can be a float
 | 
					        // "scroll-step": 1, // %, can be a float
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -36,19 +36,21 @@ window {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
window#waybar > box {
 | 
					window#waybar > box {
 | 
				
			||||||
    padding-top: 3px;
 | 
					    padding-top: 5px;
 | 
				
			||||||
    padding-bottom: 3px;
 | 
					    padding-bottom: 3px;
 | 
				
			||||||
 | 
					    padding-left: 3px;
 | 
				
			||||||
 | 
					    padding-right: 10px;
 | 
				
			||||||
    color:      @base05;
 | 
					    color:      @base05;
 | 
				
			||||||
    box-shadow: 2px 2px 5px 5px #101010;
 | 
					    box-shadow: 5px 5px 3px 3px #101010;
 | 
				
			||||||
    margin: 12px 14px 14px 14px;
 | 
					    margin: 12px 14px 14px 14px;
 | 
				
			||||||
    background: @base00;
 | 
					    background: @backtransparent;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#workspaces {
 | 
					#workspaces {
 | 
				
			||||||
    border-radius: 20px;
 | 
					    border-radius: 20px;
 | 
				
			||||||
    margin-left: 10px;
 | 
					    margin-left: 10px;
 | 
				
			||||||
    padding-right: 10px;
 | 
					    padding-right: 10px;
 | 
				
			||||||
    background: @backtransparent;
 | 
					    background: transparent;
 | 
				
			||||||
    transition: none;
 | 
					    transition: none;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -56,7 +58,7 @@ window#waybar > box {
 | 
				
			||||||
    border-radius: 20px;
 | 
					    border-radius: 20px;
 | 
				
			||||||
    margin-left: 6px;
 | 
					    margin-left: 6px;
 | 
				
			||||||
    padding-right: 10px;
 | 
					    padding-right: 10px;
 | 
				
			||||||
    background: @backtransparent;
 | 
					    background: transparent;
 | 
				
			||||||
    transition: none;
 | 
					    transition: none;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -112,7 +114,7 @@ window#waybar > box {
 | 
				
			||||||
    border-radius: 20px;
 | 
					    border-radius: 20px;
 | 
				
			||||||
    transition: none;
 | 
					    transition: none;
 | 
				
			||||||
    color: @base0B;
 | 
					    color: @base0B;
 | 
				
			||||||
    background: @backtransparent;
 | 
					    background: transparent;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#backlight {
 | 
					#backlight {
 | 
				
			||||||
| 
						 | 
					@ -123,7 +125,7 @@ window#waybar > box {
 | 
				
			||||||
    border-radius: 20px;
 | 
					    border-radius: 20px;
 | 
				
			||||||
    transition: none;
 | 
					    transition: none;
 | 
				
			||||||
    color: @base08;
 | 
					    color: @base08;
 | 
				
			||||||
    background: @backtransparent;
 | 
					    background: transparent;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#battery.warning {
 | 
					#battery.warning {
 | 
				
			||||||
| 
						 | 
					@ -144,7 +146,7 @@ window#waybar > box {
 | 
				
			||||||
    border-radius: 20px;
 | 
					    border-radius: 20px;
 | 
				
			||||||
    transition: none;
 | 
					    transition: none;
 | 
				
			||||||
    color: @base09;
 | 
					    color: @base09;
 | 
				
			||||||
    background: @backtransparent;
 | 
					    background: transparent;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#network {
 | 
					#network {
 | 
				
			||||||
| 
						 | 
					@ -153,7 +155,7 @@ window#waybar > box {
 | 
				
			||||||
    border-radius: 20px;
 | 
					    border-radius: 20px;
 | 
				
			||||||
    transition: none;
 | 
					    transition: none;
 | 
				
			||||||
    color: @base0B;
 | 
					    color: @base0B;
 | 
				
			||||||
    background: @backtransparent;
 | 
					    background: transparent;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#cpu {
 | 
					#cpu {
 | 
				
			||||||
| 
						 | 
					@ -162,7 +164,7 @@ window#waybar > box {
 | 
				
			||||||
    border-radius: 20px;
 | 
					    border-radius: 20px;
 | 
				
			||||||
    transition: none;
 | 
					    transition: none;
 | 
				
			||||||
    color: @base09;
 | 
					    color: @base09;
 | 
				
			||||||
    background: @backtransparent;
 | 
					    background: transparent;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#battery {
 | 
					#battery {
 | 
				
			||||||
| 
						 | 
					@ -171,7 +173,7 @@ window#waybar > box {
 | 
				
			||||||
    border-radius: 20px;
 | 
					    border-radius: 20px;
 | 
				
			||||||
    transition: none;
 | 
					    transition: none;
 | 
				
			||||||
    color: @base0D;
 | 
					    color: @base0D;
 | 
				
			||||||
    background: @backtransparent;
 | 
					    background: transparent;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#battery.bat2 {
 | 
					#battery.bat2 {
 | 
				
			||||||
| 
						 | 
					@ -184,7 +186,7 @@ window#waybar > box {
 | 
				
			||||||
    border-radius: 20px;
 | 
					    border-radius: 20px;
 | 
				
			||||||
    transition: none;
 | 
					    transition: none;
 | 
				
			||||||
    color: @base0C;
 | 
					    color: @base0C;
 | 
				
			||||||
    background: @backtransparent;
 | 
					    background: transparent;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#temperature {
 | 
					#temperature {
 | 
				
			||||||
| 
						 | 
					@ -193,7 +195,7 @@ window#waybar > box {
 | 
				
			||||||
    border-radius: 20px;
 | 
					    border-radius: 20px;
 | 
				
			||||||
    transition: none;
 | 
					    transition: none;
 | 
				
			||||||
    color: @base0E;
 | 
					    color: @base0E;
 | 
				
			||||||
    background: @backtransparent;
 | 
					    background: transparent;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#tray {
 | 
					#tray {
 | 
				
			||||||
| 
						 | 
					@ -202,6 +204,6 @@ window#waybar > box {
 | 
				
			||||||
    border-radius: 20px;
 | 
					    border-radius: 20px;
 | 
				
			||||||
    transition: none;
 | 
					    transition: none;
 | 
				
			||||||
    color: @base0E;
 | 
					    color: @base0E;
 | 
				
			||||||
    background: @backtransparent;
 | 
					    background: transparent;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,8 +2,9 @@
 | 
				
			||||||
        (name 'guix)
 | 
					        (name 'guix)
 | 
				
			||||||
        (url "https://git.savannah.gnu.org/git/guix.git")
 | 
					        (url "https://git.savannah.gnu.org/git/guix.git")
 | 
				
			||||||
        (branch "master")
 | 
					        (branch "master")
 | 
				
			||||||
        (commit
 | 
					        ;; (commit
 | 
				
			||||||
          "654fcf9971bb01389d577be07c6ec0f68940c743")
 | 
					        ;;   "654fcf9971bb01389d577be07c6ec0f68940c743")
 | 
				
			||||||
 | 
					        (commit "d884fc9e2efecfba09af4694f5a13ad7fc6f704f")
 | 
				
			||||||
        (introduction
 | 
					        (introduction
 | 
				
			||||||
          (make-channel-introduction
 | 
					          (make-channel-introduction
 | 
				
			||||||
            "9edb3f66fd807b096b48283debdcddccfea34bad"
 | 
					            "9edb3f66fd807b096b48283debdcddccfea34bad"
 | 
				
			||||||
| 
						 | 
					@ -13,8 +14,9 @@
 | 
				
			||||||
        (name 'nonguix)
 | 
					        (name 'nonguix)
 | 
				
			||||||
        (url "https://gitlab.com/nonguix/nonguix")
 | 
					        (url "https://gitlab.com/nonguix/nonguix")
 | 
				
			||||||
        (branch "master")
 | 
					        (branch "master")
 | 
				
			||||||
        (commit
 | 
					        ;; (commit
 | 
				
			||||||
          "c323f4c866cdf7c9fb958ed968b80e0911ecd899")
 | 
					        ;;   "c323f4c866cdf7c9fb958ed968b80e0911ecd899")
 | 
				
			||||||
 | 
					        (commit "bf13c6b5f32980582e8c19b509c6825e86b953dd")
 | 
				
			||||||
        (introduction
 | 
					        (introduction
 | 
				
			||||||
          (make-channel-introduction
 | 
					          (make-channel-introduction
 | 
				
			||||||
            "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
 | 
					            "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
 | 
				
			||||||
| 
						 | 
					@ -22,10 +24,27 @@
 | 
				
			||||||
             "2A39 3FFF 68F4 EF7A 3D29  12AF 6F51 20A0 22FB B2D5"))))
 | 
					             "2A39 3FFF 68F4 EF7A 3D29  12AF 6F51 20A0 22FB B2D5"))))
 | 
				
			||||||
      (channel
 | 
					      (channel
 | 
				
			||||||
       (name 'rosenthal)
 | 
					       (name 'rosenthal)
 | 
				
			||||||
       (url "https://github.com/rakino/rosenthal")
 | 
					       (url "https://codeberg.org/hako/rosenthal.git")
 | 
				
			||||||
       (branch "trunk")
 | 
					       (branch "trunk")
 | 
				
			||||||
       (introduction
 | 
					       (introduction
 | 
				
			||||||
        (make-channel-introduction
 | 
					        (make-channel-introduction
 | 
				
			||||||
         "7677db76330121a901604dfbad19077893865f35"
 | 
					         "7677db76330121a901604dfbad19077893865f35"
 | 
				
			||||||
         (openpgp-fingerprint
 | 
					         (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"))))
 | 
				
			||||||
 | 
					      )
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										99
									
								
								guix/home-services/pipewire.scm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								guix/home-services/pipewire.scm
									
										
									
									
									
										Normal 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.")))
 | 
				
			||||||
							
								
								
									
										32
									
								
								guix/home-services/udiskie.scm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								guix/home-services/udiskie.scm
									
										
									
									
									
										Normal 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
									
								
							
							
						
						
									
										15
									
								
								guix/home.nix
									
										
									
									
									
										Normal 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
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										208
									
								
								guix/home.scm
									
										
									
									
									
								
							
							
						
						
									
										208
									
								
								guix/home.scm
									
										
									
									
									
								
							| 
						 | 
					@ -4,34 +4,136 @@
 | 
				
			||||||
;; need to capture the channels being used, as returned by "guix describe".
 | 
					;; need to capture the channels being used, as returned by "guix describe".
 | 
				
			||||||
;; See the "Replicating Guix" section in the manual.
 | 
					;; See the "Replicating Guix" section in the manual.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(use-modules (gnu home)
 | 
					(define-module (home)
 | 
				
			||||||
             (gnu home services)
 | 
					  #:use-module (home-services pipewire)
 | 
				
			||||||
             (gnu packages)
 | 
					  #:use-module (gnu home)
 | 
				
			||||||
	     (gnu packages vim)
 | 
					  #:use-module (gnu home services)
 | 
				
			||||||
	     (gnu packages rust-apps)
 | 
					  #:use-module (gnu home services desktop)
 | 
				
			||||||
	     (gnu packages video)
 | 
					  #:use-module (gnu home services shells)
 | 
				
			||||||
             (gnu services)
 | 
					  #:use-module (gnu home services xdg)
 | 
				
			||||||
             (guix gexp)
 | 
					  #:use-module (gnu home services gnupg)
 | 
				
			||||||
             (gnu home services shells))
 | 
					  #: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
 | 
					(home-environment
 | 
				
			||||||
  ;; Below is the list of packages that will show up in your
 | 
					  ;; Below is the list of packages that will show up in your
 | 
				
			||||||
  ;; Home profile, under ~/.guix-home/profile.
 | 
					  ;; Home profile, under ~/.guix-home/profile.
 | 
				
			||||||
  (packages (specifications->packages (list "vim"
 | 
					  (packages (specifications->packages (list "vim"
 | 
				
			||||||
                                            "exa"
 | 
					                                            "exa"
 | 
				
			||||||
 | 
					                                            "unzip"
 | 
				
			||||||
 | 
					                                            "rsync"
 | 
				
			||||||
 | 
					                                            "openssh"
 | 
				
			||||||
 | 
					                                            "gcc-toolchain"
 | 
				
			||||||
 | 
					                                            "make"
 | 
				
			||||||
 | 
					                                            "curl"
 | 
				
			||||||
					    "mpv"
 | 
										    "mpv"
 | 
				
			||||||
					    "mpv-mpris"
 | 
										    "mpv-mpris"
 | 
				
			||||||
					    "yt-dlp"
 | 
										    "yt-dlp"
 | 
				
			||||||
 | 
					                                            "tmux"
 | 
				
			||||||
 | 
					                                            "direnv"
 | 
				
			||||||
 | 
					                                            "dutree"
 | 
				
			||||||
 | 
					                                            "btop"
 | 
				
			||||||
 | 
					                                            "htop"
 | 
				
			||||||
                                            "ripgrep"
 | 
					                                            "ripgrep"
 | 
				
			||||||
                                            "alacritty"
 | 
					                                            "alacritty"
 | 
				
			||||||
 | 
					                                            "libnotify"
 | 
				
			||||||
                                            "nextcloud-client"
 | 
					                                            "nextcloud-client"
 | 
				
			||||||
                                            "rofi-wayland"
 | 
					                                            "rofi-wayland"
 | 
				
			||||||
 | 
					                                            "waybar"
 | 
				
			||||||
 | 
					                                            "qt5ct"
 | 
				
			||||||
                                            "fd"
 | 
					                                            "fd"
 | 
				
			||||||
 | 
					                                            "bc"
 | 
				
			||||||
 | 
					                                            "sysstat"
 | 
				
			||||||
                                            "ffmpeg"
 | 
					                                            "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-next-pgtk"
 | 
				
			||||||
 | 
					                                            "emacs-dired-rsync"
 | 
				
			||||||
                                            "emacs-all-the-icons"
 | 
					                                            "emacs-all-the-icons"
 | 
				
			||||||
                                            "emacs-org-roam"
 | 
					                                            "emacs-org-roam"
 | 
				
			||||||
 | 
					                                            "emacs-paredit"
 | 
				
			||||||
 | 
					                                            "emacs-evil-paredit"
 | 
				
			||||||
                                            "emacs-doom-modeline"
 | 
					                                            "emacs-doom-modeline"
 | 
				
			||||||
                                            "emacs-doom-themes"
 | 
					                                            "emacs-doom-themes"
 | 
				
			||||||
                                            "emacs-org"
 | 
					                                            "emacs-org"
 | 
				
			||||||
| 
						 | 
					@ -52,6 +154,7 @@
 | 
				
			||||||
                                            "emacs-evil-surround"
 | 
					                                            "emacs-evil-surround"
 | 
				
			||||||
                                            "emacs-websocket"
 | 
					                                            "emacs-websocket"
 | 
				
			||||||
                                            "emacs-org-modern"
 | 
					                                            "emacs-org-modern"
 | 
				
			||||||
 | 
					                                            "emacs-org-web-tools"
 | 
				
			||||||
                                            "emacs-org-re-reveal"
 | 
					                                            "emacs-org-re-reveal"
 | 
				
			||||||
                                            "emacs-emojify"
 | 
					                                            "emacs-emojify"
 | 
				
			||||||
                                            "emacs-pulsar"
 | 
					                                            "emacs-pulsar"
 | 
				
			||||||
| 
						 | 
					@ -97,13 +200,84 @@
 | 
				
			||||||
                  (home-bash-configuration
 | 
					                  (home-bash-configuration
 | 
				
			||||||
                   (guix-defaults? #t)
 | 
					                   (guix-defaults? #t)
 | 
				
			||||||
                   (aliases '(("grep" . "grep --color=auto")
 | 
					                   (aliases '(("grep" . "grep --color=auto")
 | 
				
			||||||
                              ("ll" . "ls -l")
 | 
					                              ("gh" . "guix home reconfigure ~/dotfiles/guix/home.scm")
 | 
				
			||||||
                              ("ls" . "exa -l")
 | 
					                              ("gs" . "guix system reconfigure ~/dotfiles/guix/system.scm")))
 | 
				
			||||||
                              ("la" . "exa -la")))))
 | 
					                   (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
 | 
					         (service home-fish-service-type
 | 
				
			||||||
                  (home-fish-configuration
 | 
					                  (home-fish-configuration
 | 
				
			||||||
                   (aliases '(("ls" . "exa -l")
 | 
					                   (aliases '(("ls" . "exa -l")
 | 
				
			||||||
                              ("gh" . "guix home reconfigure ~/.files/guix/home.scm")))))
 | 
					                              ("gh" . "guix home reconfigure ~/dotfiles/guix/home.scm")
 | 
				
			||||||
         (service home-xdg-configuration-files-service-type
 | 
					                              ("gs" . "guix system reconfigure ~/dotfiles/guix/system.scm")))))
 | 
				
			||||||
                  `(("hypr/hyprland.conf" ,(local-file "../.config/hypr/hyprland.conf"))
 | 
					         (simple-service 'config
 | 
				
			||||||
                    ("alacritty/alacritty.yml" ,(local-file "../.config/alacritty/alacritty.yml")))))))
 | 
					                         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
 | 
					 | 
				
			||||||
							
								
								
									
										179
									
								
								guix/system.scm
									
										
									
									
									
								
							
							
						
						
									
										179
									
								
								guix/system.scm
									
										
									
									
									
								
							| 
						 | 
					@ -10,14 +10,54 @@
 | 
				
			||||||
;; Indicate which modules to import to access the variables
 | 
					;; Indicate which modules to import to access the variables
 | 
				
			||||||
;; used in this configuration.
 | 
					;; used in this configuration.
 | 
				
			||||||
(use-modules (gnu)
 | 
					(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 packages linux)
 | 
				
			||||||
	     (nongnu system linux-initrd))
 | 
						     (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
 | 
					(operating-system
 | 
				
			||||||
 (kernel linux)
 | 
					  (kernel linux)
 | 
				
			||||||
 (initrd microcode-initrd)
 | 
					  (initrd microcode-initrd)
 | 
				
			||||||
 (firmware (list linux-firmware))
 | 
					  (firmware (list linux-firmware))
 | 
				
			||||||
  (locale "en_US.utf8")
 | 
					  (locale "en_US.utf8")
 | 
				
			||||||
  (timezone "America/Chicago")
 | 
					  (timezone "America/Chicago")
 | 
				
			||||||
  (keyboard-layout (keyboard-layout "us"))
 | 
					  (keyboard-layout (keyboard-layout "us"))
 | 
				
			||||||
| 
						 | 
					@ -25,49 +65,126 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ;; The list of user accounts ('root' is implicit).
 | 
					  ;; The list of user accounts ('root' is implicit).
 | 
				
			||||||
  (users (cons* (user-account
 | 
					  (users (cons* (user-account
 | 
				
			||||||
                  (name "chris")
 | 
					                 (name "chris")
 | 
				
			||||||
                  (comment "Chris")
 | 
					                 (comment "Chris")
 | 
				
			||||||
                  (group "users")
 | 
					                 (group "users")
 | 
				
			||||||
                  (home-directory "/home/chris")
 | 
					                 (home-directory "/home/chris")
 | 
				
			||||||
                  (supplementary-groups '("wheel" "netdev" "audio" "video")))
 | 
					                 (supplementary-groups '("wheel" "netdev" "tty" "audio" "video")))
 | 
				
			||||||
                %base-user-accounts))
 | 
					                %base-user-accounts))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (sudoers-file etc-sudoers-config)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ;; Packages installed system-wide.  Users can also install packages
 | 
					  ;; Packages installed system-wide.  Users can also install packages
 | 
				
			||||||
  ;; under their own account: use 'guix search KEYWORD' to search
 | 
					  ;; under their own account: use 'guix search KEYWORD' to search
 | 
				
			||||||
  ;; for packages and 'guix install PACKAGE' to install a package.
 | 
					  ;; for packages and 'guix install PACKAGE' to install a package.
 | 
				
			||||||
  (packages (append (list (specification->package "nss-certs")
 | 
					  (packages (append (list (specification->package "nss-certs")
 | 
				
			||||||
 | 
								  (specification->package "sway")
 | 
				
			||||||
 | 
								  (specification->package "dbus-glib")
 | 
				
			||||||
 | 
					                          (specification->package "hyprland")
 | 
				
			||||||
			  (specification->package "emacs-next-pgtk"))
 | 
								  (specification->package "emacs-next-pgtk"))
 | 
				
			||||||
                    %base-packages))
 | 
					                    %base-packages))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ;; Below is the list of system services.  To search for available
 | 
					  ;; Below is the list of system services.  To search for available
 | 
				
			||||||
  ;; services, run 'guix system search KEYWORD' in a terminal.
 | 
					  ;; services, run 'guix system search KEYWORD' in a terminal.
 | 
				
			||||||
  (services
 | 
					  (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'
 | 
					     (simple-service 'mtp udev-service-type (list libmtp))
 | 
				
			||||||
                 ;; record as a second argument to 'service' below.
 | 
					     (udev-rules-service 'pipewire-add-udev-rules pipewire)
 | 
				
			||||||
                 (service openssh-service-type)
 | 
					     (udev-rules-service 'brightnessctl-udev-rules brightnessctl)
 | 
				
			||||||
                 (service cups-service-type)
 | 
					 | 
				
			||||||
                 (set-xorg-configuration
 | 
					 | 
				
			||||||
                  (xorg-configuration (keyboard-layout keyboard-layout))))
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
           ;; This is the default list of services we
 | 
					     (service nix-service-type)
 | 
				
			||||||
           ;; are appending to.
 | 
					
 | 
				
			||||||
           
 | 
					     (service thermald-service-type)
 | 
				
			||||||
          (modify-services %desktop-services
 | 
					     (service tlp-service-type
 | 
				
			||||||
             (guix-service-type config => (guix-configuration
 | 
					              (tlp-configuration
 | 
				
			||||||
               (inherit config)
 | 
					               (cpu-boost-on-ac? #t)
 | 
				
			||||||
               (substitute-urls
 | 
					               (wifi-pwr-on-bat? #t)))
 | 
				
			||||||
                (append (list "https://substitutes.nonguix.org")
 | 
					
 | 
				
			||||||
                  %default-substitute-urls))
 | 
					     (service screen-locker-service-type
 | 
				
			||||||
               (authorized-keys
 | 
					              (screen-locker-configuration
 | 
				
			||||||
                (append (list (plain-file "nonguix.pub" "(public-key (ecc (curve Ed25519) (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)))"))
 | 
					               (name "swaylock")
 | 
				
			||||||
                  %default-authorized-guix-keys)))))))
 | 
					               (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 (bootloader-configuration
 | 
				
			||||||
                (bootloader grub-efi-bootloader)
 | 
					               (bootloader grub-efi-bootloader)
 | 
				
			||||||
                (targets (list "/boot/efi"))
 | 
					               (targets (list "/boot/efi"))
 | 
				
			||||||
                (keyboard-layout keyboard-layout)))
 | 
					               (keyboard-layout keyboard-layout)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ;; The list of file systems that get "mounted".  The unique
 | 
					  ;; The list of file systems that get "mounted".  The unique
 | 
				
			||||||
  ;; file system identifiers there ("UUIDs") can be obtained
 | 
					  ;; file system identifiers there ("UUIDs") can be obtained
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,7 @@
 | 
				
			||||||
#!/bin/sh
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					hyprctl dispatch focuswindow emacs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Check to see if an emacsclient is running
 | 
					# Check to see if an emacsclient is running
 | 
				
			||||||
if [ $(pgrep -c emacsclient) -gt 0 ]; then
 | 
					if [ $(pgrep -c emacsclient) -gt 0 ]; then
 | 
				
			||||||
    echo hi
 | 
					    echo hi
 | 
				
			||||||
| 
						 | 
					@ -22,13 +24,13 @@ if [ $(pgrep -c emacsclient) -gt 0 ]; then
 | 
				
			||||||
            exit
 | 
					            exit
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
            echo WAYLAND
 | 
					            echo WAYLAND
 | 
				
			||||||
            emacsrg=$(wlrctl window list |  rg "emacs:" | rg -v dired)
 | 
					            emacsrg=$(hyprctl clients |  rg "emacs:" | rg -v dired)
 | 
				
			||||||
            echo $emacsrg
 | 
					            echo $emacsrg
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            emacswin=$(echo $emacsrg | sed 's/.*\: //')
 | 
					            emacswin=$(echo $emacsrg | sed 's/.*\: //')
 | 
				
			||||||
            echo $emacswin
 | 
					            echo $emacswin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            exec wlrctl toplevel focus title:"$emacswin"
 | 
					            exec hyprctl dispatch focuswindow emacs
 | 
				
			||||||
            exit
 | 
					            exit
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,12 +25,12 @@ if [ $(pgrep -c firefox) -gt 0 ]; then
 | 
				
			||||||
            exit
 | 
					            exit
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
            # WAYLAND
 | 
					            # WAYLAND
 | 
				
			||||||
            ffrg=$(wlrctl window list | rg firefox)
 | 
					            ffrg=$(hyprctl clients | rg firefox)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            ffwin=$(echo $ffrg | sed 's/.*\: //')
 | 
					            ffwin=$(echo $ffrg | sed 's/.*\: //')
 | 
				
			||||||
            # echo $ffwin
 | 
					            # echo $ffwin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            exec wlrctl toplevel focus firefox
 | 
					            exec hyprctl dispatch focuswindow firefox
 | 
				
			||||||
            exit
 | 
					            exit
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										71
									
								
								scripts/rbw.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										71
									
								
								scripts/rbw.sh
									
										
									
									
									
										Executable 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}
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
#!/bin/sh
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					waybar &
 | 
				
			||||||
kwalletd5 &
 | 
					kwalletd5 &
 | 
				
			||||||
systemctl --user stop jellyfin-mpv-shim.service &
 | 
					systemctl --user stop jellyfin-mpv-shim.service &
 | 
				
			||||||
systemctl --user stop nextcloud-client.service &
 | 
					systemctl --user stop nextcloud-client.service &
 | 
				
			||||||
| 
						 | 
					@ -12,9 +13,3 @@ rbw-agent &
 | 
				
			||||||
emacs --daemon &
 | 
					emacs --daemon &
 | 
				
			||||||
nextcloud --background &
 | 
					nextcloud --background &
 | 
				
			||||||
batmon &
 | 
					batmon &
 | 
				
			||||||
 | 
					 | 
				
			||||||
killall eww
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
eww open bar0 &
 | 
					 | 
				
			||||||
eww open notifications &
 | 
					 | 
				
			||||||
eww open sidebar &
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										10
									
								
								scripts/wb-toggle
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								scripts/wb-toggle
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,10 @@
 | 
				
			||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ $(pgrep -c waybar) -gt 0 ]; then
 | 
				
			||||||
 | 
					    echo "killing"
 | 
				
			||||||
 | 
					    kill $(pgrep waybar)
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					    echo "starting"
 | 
				
			||||||
 | 
					    waybar &
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue