Compare commits
No commits in common. "db1ee8957db638fdfbd3574e7575217944f7ec85" and "9002e98b5e2a082407810c9ba1c6899c757e1a5f" have entirely different histories.
db1ee8957d
...
9002e98b5e
8 changed files with 13 additions and 381 deletions
|
|
@ -2,6 +2,5 @@
|
||||||
alias mk-venv='python -m venv .venv'
|
alias mk-venv='python -m venv .venv'
|
||||||
alias do-venv='. .venv/bin/activate'
|
alias do-venv='. .venv/bin/activate'
|
||||||
alias rm-venv='rm -rf .venv'
|
alias rm-venv='rm -rf .venv'
|
||||||
|
[ $(command -v pdb) ] || alias pdb='python -m pdb'
|
||||||
command -v pdb > /dev/null || alias pdb='python -m pdb'
|
[ $(command -v pip) ] || alias pip='python -m pip'
|
||||||
command -v pip > /dev/null || alias pip='python -m pip'
|
|
||||||
|
|
|
||||||
13
.bashrc
13
.bashrc
|
|
@ -1,10 +1,14 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
for af in "$HOME/.aliases"/*; do
|
||||||
|
. "$af"
|
||||||
|
done
|
||||||
|
|
||||||
HISTSIZE=10000
|
HISTSIZE=10000
|
||||||
HISTFILESIZE=900000
|
HISTFILESIZE=900000
|
||||||
|
|
||||||
case ${TERM} in
|
case ${TERM} in
|
||||||
xterm*|rxvt*|Eterm|aterm|kterm|gnome*|alacritty*|tmux-256color|linux)
|
xterm*|rxvt*|Eterm|aterm|kterm|gnome*|alacritty*|tmux-256color)
|
||||||
PS1='\[\033]2;\h:\W \u\007\]\h:\[\033[38;5;219m\]\W\[\033[00m\] \[\033[01;35m\]\u\[\033[00m\]\$ '
|
PS1='\[\033]2;\h:\W \u\007\]\h:\[\033[38;5;219m\]\W\[\033[00m\] \[\033[01;35m\]\u\[\033[00m\]\$ '
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|
@ -24,9 +28,6 @@ command -v uname >/dev/null &&
|
||||||
Linux)
|
Linux)
|
||||||
alias ls='ls --color'
|
alias ls='ls --color'
|
||||||
[ -z "$ID" ] && [ -f /etc/os-release ] && . /etc/os-release
|
[ -z "$ID" ] && [ -f /etc/os-release ] && . /etc/os-release
|
||||||
|
|
||||||
[ -r /usr/share/bash-completion/bash_completion ] \
|
|
||||||
&& . /usr/share/bash-completion/bash_completion
|
|
||||||
;;
|
;;
|
||||||
Darwin)
|
Darwin)
|
||||||
command -v port >/dev/null && . /opt/local/etc/bashrc.mac
|
command -v port >/dev/null && . /opt/local/etc/bashrc.mac
|
||||||
|
|
@ -39,7 +40,3 @@ command -v uname >/dev/null &&
|
||||||
;;
|
;;
|
||||||
esac \
|
esac \
|
||||||
;
|
;
|
||||||
|
|
||||||
for af in "$HOME/.aliases"/*; do
|
|
||||||
. "$af"
|
|
||||||
done
|
|
||||||
|
|
|
||||||
|
|
@ -1,334 +0,0 @@
|
||||||
{
|
|
||||||
"config.name": "pipewire.conf",
|
|
||||||
#"config.path": "/usr/share/pipewire/pipewire.conf",
|
|
||||||
"context.properties": {
|
|
||||||
## Configure properties in the system.
|
|
||||||
#library.name.system = support/libspa-support
|
|
||||||
#context.data-loop.library.name.system = support/libspa-support
|
|
||||||
#support.dbus = true
|
|
||||||
#link.max-buffers = 64
|
|
||||||
link.max-buffers = 16 # version < 3 clients can't handle more
|
|
||||||
#mem.warn-mlock = false
|
|
||||||
#mem.allow-mlock = true
|
|
||||||
#mem.mlock-all = false
|
|
||||||
#clock.power-of-two-quantum = true
|
|
||||||
#log.level = 2
|
|
||||||
#cpu.zero.denormals = false
|
|
||||||
|
|
||||||
loop.rt-prio = -1 # -1 = use module-rt prio, 0 disable rt
|
|
||||||
loop.class = data.rt
|
|
||||||
#thread.affinity = [ 0 1 ] # optional array of CPUs
|
|
||||||
context.num-data-loops = -1 # -1 = num-cpus, 0 = no data loops
|
|
||||||
|
|
||||||
context.data-loops = [
|
|
||||||
{ loop.rt-prio = -1
|
|
||||||
loop.class = [ data.rt audio.rt ]
|
|
||||||
#library.name.system = support/libspa-support
|
|
||||||
thread.name = data-loop.0
|
|
||||||
#thread.affinity = [ 0 1 ] # optional array of CPUs
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
core.daemon = true # listening for socket connections
|
|
||||||
core.name = pipewire-0 # core name and socket name
|
|
||||||
|
|
||||||
## Properties for the DSP configuration.
|
|
||||||
default.clock.rate = 192000
|
|
||||||
default.clock.allowed-rates = [ 192000, 96000, 48000, 384000 44100 ]
|
|
||||||
#default.clock.quantum = 1024
|
|
||||||
#default.clock.min-quantum = 32
|
|
||||||
#default.clock.max-quantum = 2048
|
|
||||||
#default.clock.quantum-limit = 8192
|
|
||||||
#default.clock.quantum-floor = 4
|
|
||||||
#default.video.width = 640
|
|
||||||
#default.video.height = 480
|
|
||||||
#default.video.rate.num = 25
|
|
||||||
#default.video.rate.denom = 1
|
|
||||||
#
|
|
||||||
settings.check-quantum = true
|
|
||||||
settings.check-rate = true
|
|
||||||
|
|
||||||
# keys checked below to disable module loading
|
|
||||||
module.x11.bell = true
|
|
||||||
# enables autoloading of access module, when disabled an alternative
|
|
||||||
# access module needs to be loaded.
|
|
||||||
module.access = true
|
|
||||||
# enables autoloading of module-jackdbus-detect
|
|
||||||
module.jackdbus-detect = true
|
|
||||||
},
|
|
||||||
"context.properties.rules": [
|
|
||||||
{ matches = [ { cpu.vm.name = !null } ]
|
|
||||||
actions = {
|
|
||||||
update-props = {
|
|
||||||
# These overrides are only applied when running in a vm.
|
|
||||||
default.clock.min-quantum = 1024
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"context.spa-libs": {
|
|
||||||
#<factory-name regex> = <library-name>
|
|
||||||
#
|
|
||||||
# Used to find spa factory names. It maps an spa factory name
|
|
||||||
# regular expression to a library name that should contain
|
|
||||||
# that factory.
|
|
||||||
#
|
|
||||||
audio.convert.* = audioconvert/libspa-audioconvert
|
|
||||||
avb.* = avb/libspa-avb
|
|
||||||
api.alsa.* = alsa/libspa-alsa
|
|
||||||
api.v4l2.* = v4l2/libspa-v4l2
|
|
||||||
api.libcamera.* = libcamera/libspa-libcamera
|
|
||||||
api.bluez5.* = bluez5/libspa-bluez5
|
|
||||||
api.vulkan.* = vulkan/libspa-vulkan
|
|
||||||
api.jack.* = jack/libspa-jack
|
|
||||||
support.* = support/libspa-support
|
|
||||||
video.convert.* = videoconvert/libspa-videoconvert
|
|
||||||
#videotestsrc = videotestsrc/libspa-videotestsrc
|
|
||||||
#audiotestsrc = audiotestsrc/libspa-audiotestsrc
|
|
||||||
},
|
|
||||||
"context.modules": [
|
|
||||||
#{ name = <module-name>
|
|
||||||
# ( args = { <key> = <value> ... } )
|
|
||||||
# ( flags = [ ( ifexists ) ( nofail ) ] )
|
|
||||||
# ( condition = [ { <key> = <value> ... } ... ] )
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
# Loads a module with the given parameters.
|
|
||||||
# If ifexists is given, the module is ignored when it is not found.
|
|
||||||
# If nofail is given, module initialization failures are ignored.
|
|
||||||
# If condition is given, the module is loaded only when the context
|
|
||||||
# properties all match the match rules.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Uses realtime scheduling to boost the audio thread priorities. This uses
|
|
||||||
# RTKit if the user doesn't have permission to use regular realtime
|
|
||||||
# scheduling. You can also clamp utilisation values to improve scheduling
|
|
||||||
# on embedded and heterogeneous systems, e.g. Arm big.LITTLE devices.
|
|
||||||
{ name = libpipewire-module-rt
|
|
||||||
args = {
|
|
||||||
nice.level = -11
|
|
||||||
rt.prio = 88
|
|
||||||
rt.time.soft = -1
|
|
||||||
#rt.time.hard = -1
|
|
||||||
#uclamp.min = 0
|
|
||||||
#uclamp.max = 1024
|
|
||||||
}
|
|
||||||
flags = [ ifexists nofail ]
|
|
||||||
}
|
|
||||||
|
|
||||||
# The native communication protocol.
|
|
||||||
{ name = libpipewire-module-protocol-native
|
|
||||||
args = {
|
|
||||||
# List of server Unix sockets, and optionally permissions
|
|
||||||
#sockets = [ { name = "pipewire-0" }, { name = "pipewire-0-manager" } ]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# The profile module. Allows application to access profiler
|
|
||||||
# and performance data. It provides an interface that is used
|
|
||||||
# by pw-top and pw-profiler.
|
|
||||||
{ name = libpipewire-module-profiler }
|
|
||||||
|
|
||||||
# Allows applications to create metadata objects. It creates
|
|
||||||
# a factory for Metadata objects.
|
|
||||||
{ name = libpipewire-module-metadata }
|
|
||||||
|
|
||||||
# Creates a factory for making devices that run in the
|
|
||||||
# context of the PipeWire server.
|
|
||||||
{ name = libpipewire-module-spa-device-factory }
|
|
||||||
|
|
||||||
# Creates a factory for making nodes that run in the
|
|
||||||
# context of the PipeWire server.
|
|
||||||
{ name = libpipewire-module-spa-node-factory }
|
|
||||||
|
|
||||||
# Allows creating nodes that run in the context of the
|
|
||||||
# client. Is used by all clients that want to provide
|
|
||||||
# data to PipeWire.
|
|
||||||
{ name = libpipewire-module-client-node }
|
|
||||||
|
|
||||||
# Allows creating devices that run in the context of the
|
|
||||||
# client. Is used by the session manager.
|
|
||||||
{ name = libpipewire-module-client-device }
|
|
||||||
|
|
||||||
# The portal module monitors the PID of the portal process
|
|
||||||
# and tags connections with the same PID as portal
|
|
||||||
# connections.
|
|
||||||
{ name = libpipewire-module-portal
|
|
||||||
flags = [ ifexists nofail ]
|
|
||||||
}
|
|
||||||
|
|
||||||
# The access module can perform access checks and block
|
|
||||||
# new clients.
|
|
||||||
{ name = libpipewire-module-access
|
|
||||||
args = {
|
|
||||||
# Socket-specific access permissions
|
|
||||||
#access.socket = { pipewire-0 = "default", pipewire-0-manager = "unrestricted" }
|
|
||||||
|
|
||||||
# Deprecated legacy mode (not socket-based),
|
|
||||||
# for now enabled by default if access.socket is not specified
|
|
||||||
#access.legacy = true
|
|
||||||
}
|
|
||||||
condition = [ { module.access = true } ]
|
|
||||||
}
|
|
||||||
|
|
||||||
# Makes a factory for wrapping nodes in an adapter with a
|
|
||||||
# converter and resampler.
|
|
||||||
{ name = libpipewire-module-adapter }
|
|
||||||
|
|
||||||
# Makes a factory for creating links between ports.
|
|
||||||
{ name = libpipewire-module-link-factory }
|
|
||||||
|
|
||||||
# Provides factories to make session manager objects.
|
|
||||||
{ name = libpipewire-module-session-manager }
|
|
||||||
|
|
||||||
# Use libcanberra to play X11 Bell
|
|
||||||
{ name = libpipewire-module-x11-bell
|
|
||||||
args = {
|
|
||||||
#sink.name = "@DEFAULT_SINK@"
|
|
||||||
#sample.name = "bell-window-system"
|
|
||||||
#x11.display = null
|
|
||||||
#x11.xauthority = null
|
|
||||||
}
|
|
||||||
flags = [ ifexists nofail ]
|
|
||||||
condition = [ { module.x11.bell = true } ]
|
|
||||||
}
|
|
||||||
{ name = libpipewire-module-jackdbus-detect
|
|
||||||
args = {
|
|
||||||
#jack.library = libjack.so.0
|
|
||||||
#jack.server = null
|
|
||||||
#jack.client-name = PipeWire
|
|
||||||
#jack.connect = true
|
|
||||||
#tunnel.mode = duplex # source|sink|duplex
|
|
||||||
source.props = {
|
|
||||||
#audio.channels = 2
|
|
||||||
#midi.ports = 1
|
|
||||||
#audio.position = [ FL FR ]
|
|
||||||
# extra sink properties
|
|
||||||
}
|
|
||||||
sink.props = {
|
|
||||||
#audio.channels = 2
|
|
||||||
#midi.ports = 1
|
|
||||||
#audio.position = [ FL FR ]
|
|
||||||
# extra sink properties
|
|
||||||
}
|
|
||||||
}
|
|
||||||
flags = [ ifexists nofail ]
|
|
||||||
condition = [ { module.jackdbus-detect = true } ]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"context.objects": [
|
|
||||||
#{ factory = <factory-name>
|
|
||||||
# ( args = { <key> = <value> ... } )
|
|
||||||
# ( flags = [ ( nofail ) ] )
|
|
||||||
# ( condition = [ { <key> = <value> ... } ... ] )
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
# Creates an object from a PipeWire factory with the given parameters.
|
|
||||||
# If nofail is given, errors are ignored (and no object is created).
|
|
||||||
# If condition is given, the object is created only when the context properties
|
|
||||||
# all match the match rules.
|
|
||||||
#
|
|
||||||
#{ factory = spa-node-factory args = { factory.name = videotestsrc node.name = videotestsrc node.description = videotestsrc "Spa:Pod:Object:Param:Props:patternType" = 1 } }
|
|
||||||
#{ factory = spa-device-factory args = { factory.name = api.jack.device foo=bar } flags = [ nofail ] }
|
|
||||||
#{ factory = spa-device-factory args = { factory.name = api.alsa.enum.udev } }
|
|
||||||
#{ factory = spa-node-factory args = { factory.name = api.alsa.seq.bridge node.name = Internal-MIDI-Bridge } }
|
|
||||||
#{ factory = adapter args = { factory.name = audiotestsrc node.name = my-test node.description = audiotestsrc } }
|
|
||||||
#{ factory = spa-node-factory args = { factory.name = api.vulkan.compute.source node.name = my-compute-source } }
|
|
||||||
|
|
||||||
# A default dummy driver. This handles nodes marked with the "node.always-process"
|
|
||||||
# property when no other driver is currently active. JACK clients need this.
|
|
||||||
{ factory = spa-node-factory
|
|
||||||
args = {
|
|
||||||
factory.name = support.node.driver
|
|
||||||
node.name = Dummy-Driver
|
|
||||||
node.group = pipewire.dummy
|
|
||||||
node.sync-group = sync.dummy
|
|
||||||
priority.driver = 200000
|
|
||||||
#clock.id = monotonic # realtime | tai | monotonic-raw | boottime
|
|
||||||
#clock.name = "clock.system.monotonic"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
{ factory = spa-node-factory
|
|
||||||
args = {
|
|
||||||
factory.name = support.node.driver
|
|
||||||
node.name = Freewheel-Driver
|
|
||||||
priority.driver = 190000
|
|
||||||
node.group = pipewire.freewheel
|
|
||||||
node.sync-group = sync.dummy
|
|
||||||
node.freewheel = true
|
|
||||||
#freewheel.wait = 10
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# This creates a new Source node. It will have input ports
|
|
||||||
# that you can link, to provide audio for this source.
|
|
||||||
#{ factory = adapter
|
|
||||||
# args = {
|
|
||||||
# factory.name = support.null-audio-sink
|
|
||||||
# node.name = "my-mic"
|
|
||||||
# node.description = "Microphone"
|
|
||||||
# media.class = "Audio/Source/Virtual"
|
|
||||||
# audio.position = "FL,FR"
|
|
||||||
# monitor.passthrough = true
|
|
||||||
# }
|
|
||||||
#}
|
|
||||||
|
|
||||||
# This creates a single PCM source device for the given
|
|
||||||
# alsa device path hw:0. You can change source to sink
|
|
||||||
# to make a sink in the same way.
|
|
||||||
#{ factory = adapter
|
|
||||||
# args = {
|
|
||||||
# factory.name = api.alsa.pcm.source
|
|
||||||
# node.name = "alsa-source"
|
|
||||||
# node.description = "PCM Source"
|
|
||||||
# media.class = "Audio/Source"
|
|
||||||
# api.alsa.path = "hw:0"
|
|
||||||
# api.alsa.period-size = 1024
|
|
||||||
# api.alsa.headroom = 0
|
|
||||||
# api.alsa.disable-mmap = false
|
|
||||||
# api.alsa.disable-batch = false
|
|
||||||
# audio.format = "S16LE"
|
|
||||||
# audio.rate = 48000
|
|
||||||
# audio.channels = 2
|
|
||||||
# audio.position = "FL,FR"
|
|
||||||
# }
|
|
||||||
#}
|
|
||||||
|
|
||||||
# Use the metadata factory to create metadata and some default values.
|
|
||||||
#{ factory = metadata
|
|
||||||
# args = {
|
|
||||||
# metadata.name = my-metadata
|
|
||||||
# metadata.values = [
|
|
||||||
# { key = default.audio.sink value = { name = somesink } }
|
|
||||||
# { key = default.audio.source value = { name = somesource } }
|
|
||||||
# ]
|
|
||||||
# }
|
|
||||||
#}
|
|
||||||
],
|
|
||||||
"context.exec": [
|
|
||||||
#{ path = <program-name>
|
|
||||||
# ( args = "<arguments>" | [ <arg1> <arg2> ... ] )
|
|
||||||
# ( condition = [ { <key> = <value> ... } ... ] )
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
# Execute the given program with arguments.
|
|
||||||
# If condition is given, the program is executed only when the context
|
|
||||||
# properties all match the match rules.
|
|
||||||
#
|
|
||||||
# You can optionally start the session manager here,
|
|
||||||
# but it is better to start it as a systemd service.
|
|
||||||
# Run the session manager with -h for options.
|
|
||||||
#
|
|
||||||
#{ path = "/usr/bin/pipewire-media-session" args = ""
|
|
||||||
# condition = [ { exec.session-manager = null } { exec.session-manager = true } ] }
|
|
||||||
#
|
|
||||||
# You can optionally start the pulseaudio-server here as well
|
|
||||||
# but it is better to start it as a systemd service.
|
|
||||||
# It can be interesting to start another daemon here that listens
|
|
||||||
# on another address with the -a option (eg. -a tcp:4713).
|
|
||||||
#
|
|
||||||
#{ path = "/usr/bin/pipewire" args = [ "-c" "pipewire-pulse.conf" ]
|
|
||||||
# condition = [ { exec.pipewire-pulse = null } { exec.pipewire-pulse = true } ] }
|
|
||||||
],
|
|
||||||
"config.name.d": "pipewire.conf.d"
|
|
||||||
}
|
|
||||||
3
.profile
3
.profile
|
|
@ -22,6 +22,3 @@ command -v uname >/dev/null &&
|
||||||
;
|
;
|
||||||
|
|
||||||
export EDITOR=`which vim`
|
export EDITOR=`which vim`
|
||||||
|
|
||||||
# Make GPG and Git signing behave!
|
|
||||||
export GPG_TTY=$(tty)
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
perl_env() { eval $(perl -I $HOME/perl5/lib/perl5/ -Mlocal::lib) ; }
|
|
||||||
|
|
||||||
perl_env \
|
|
||||||
|| (
|
|
||||||
command -v cpanm \
|
|
||||||
&& cpanm --local-lib=$HOME/perl5 local::lib \
|
|
||||||
&& perl_env \
|
|
||||||
)
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
shopt -q login_shell && . $HOME/.bashrc
|
|
||||||
|
|
||||||
# Make compositor behave on Alpine
|
# Make compositor behave on Alpine
|
||||||
if [ -z "$XDG_RUNTIME_DIR" ]; then
|
if [ -z "$XDG_RUNTIME_DIR" ]; then
|
||||||
export XDG_RUNTIME_DIR=/tmp/runtime-$UID
|
export XDG_RUNTIME_DIR=/tmp/runtime-$UID
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#[%MACPORTS%]#
|
#[%MACPORTS%]#
|
||||||
# MacPorts Installer addition on 2023-01-11_at_01:28:57: adding an appropriate PATH variable for use with MacPorts.
|
# MacPorts Installer addition on 2023-01-11_at_01:28:57: adding an appropriate PATH variable for use with MacPorts.
|
||||||
export PATH="$HOME/Library/Python/3.12/bin:$HOME/Library/Python/3.11/bin:$HOME/.local/bin:$HOME/.local/sbin:/opt/local/bin:/opt/local/sbin:/Applications/ArmGNUToolchain/12.2.rel1/arm-none-eabi/bin:$PATH"
|
export PATH="$HOME/Library/Python/3.12/bin:$HOME/Library/Python/3.11/bin:$HOME/perl5/bin:$HOME/.local/bin:$HOME/.local/sbin:/opt/local/bin:/opt/local/sbin:/Applications/ArmGNUToolchain/12.2.rel1/arm-none-eabi/bin:$PATH"
|
||||||
# Finished adapting your PATH environment variable for use with MacPorts.
|
# Finished adapting your PATH environment variable for use with MacPorts.
|
||||||
#[%MACPORTS%]#
|
#[%MACPORTS%]#
|
||||||
|
|
||||||
|
|
@ -27,6 +27,3 @@ fi
|
||||||
|
|
||||||
# Makes Vim and friends behave!
|
# Makes Vim and friends behave!
|
||||||
export LANG=en_US.UTF-8
|
export LANG=en_US.UTF-8
|
||||||
|
|
||||||
# Make GPG and Git signing behave!
|
|
||||||
export GPG_TTY=$(tty)
|
|
||||||
|
|
|
||||||
24
GNUmakefile
24
GNUmakefile
|
|
@ -1,4 +1,4 @@
|
||||||
DEFAULT_TARGETS += $(HOME)/.bash_profile \
|
DEFAULT_TARGETS += $(HOME)/.profile \
|
||||||
$(HOME)/.vim/bundle/Vundle.vim $(HOME)/.vimrc \
|
$(HOME)/.vim/bundle/Vundle.vim $(HOME)/.vimrc \
|
||||||
$(HOME)/.inputrc \
|
$(HOME)/.inputrc \
|
||||||
$(HOME)/.config/alacritty/alacritty.toml \
|
$(HOME)/.config/alacritty/alacritty.toml \
|
||||||
|
|
@ -6,7 +6,6 @@ DEFAULT_TARGETS += $(HOME)/.bash_profile \
|
||||||
$(HOME)/.profile.d profileds
|
$(HOME)/.profile.d profileds
|
||||||
ALIASES = $(foreach a,$(wildcard .aliases/*),$(subst .aliases/,$(HOME)/.aliases/,$(a)))
|
ALIASES = $(foreach a,$(wildcard .aliases/*),$(subst .aliases/,$(HOME)/.aliases/,$(a)))
|
||||||
PROFILEDS = $(foreach p,$(wildcard .profile.d/*),$(subst .profile.d/,$(HOME)/.profile.d/,$(p)))
|
PROFILEDS = $(foreach p,$(wildcard .profile.d/*),$(subst .profile.d/,$(HOME)/.profile.d/,$(p)))
|
||||||
DOSU ?= $(shell command -v sudo || which doas)
|
|
||||||
|
|
||||||
UNAME = $(shell uname -s)
|
UNAME = $(shell uname -s)
|
||||||
ifeq ($(UNAME),Darwin)
|
ifeq ($(UNAME),Darwin)
|
||||||
|
|
@ -52,7 +51,7 @@ $(HOME)/.profile.d/%: .profile.d/% $(HOME)/.profile.d
|
||||||
|
|
||||||
profileds: $(PROFILEDS)
|
profileds: $(PROFILEDS)
|
||||||
|
|
||||||
$(HOME)/.bash_profile: $(PROFILE)
|
$(HOME)/.profile: $(PROFILE)
|
||||||
cp $< $@
|
cp $< $@
|
||||||
|
|
||||||
$(HOME)/.profile.%: .profile.%
|
$(HOME)/.profile.%: .profile.%
|
||||||
|
|
@ -61,9 +60,6 @@ $(HOME)/.profile.%: .profile.%
|
||||||
$(HOME)/.bashrc: .bashrc
|
$(HOME)/.bashrc: .bashrc
|
||||||
cp $< $@
|
cp $< $@
|
||||||
|
|
||||||
/etc/bash.bashrc: .bashrc
|
|
||||||
$(DOSU) cp $< $@
|
|
||||||
|
|
||||||
$(HOME)/.inputrc: .inputrc
|
$(HOME)/.inputrc: .inputrc
|
||||||
cp $< $@
|
cp $< $@
|
||||||
|
|
||||||
|
|
@ -71,18 +67,16 @@ $(HOME)/.bashrc.%: .bashrc.%
|
||||||
cp $< $@
|
cp $< $@
|
||||||
|
|
||||||
/opt/local/etc/bashrc: .bashrc
|
/opt/local/etc/bashrc: .bashrc
|
||||||
$(DOSU) cp $< $@
|
sudo cp $< $@
|
||||||
|
|
||||||
/opt/local/etc/bashrc.%: .bashrc.%
|
/opt/local/etc/bashrc.%: .bashrc.%
|
||||||
$(DOSU) cp $< $@
|
sudo cp $< $@
|
||||||
|
|
||||||
### TERMINAL EMULATOR ##########################################################
|
### TERMINAL EMULATOR ##########################################################
|
||||||
|
|
||||||
$(HOME)/.config/alacritty/alacritty.toml: .config/alacritty/alacritty.toml
|
$(HOME)/.config/alacritty/alacritty.toml: .config/alacritty/alacritty.toml
|
||||||
$(INSTALL) -D -m 644 $< $@
|
$(INSTALL) -D -m 644 $< $@
|
||||||
|
|
||||||
alacritty: $(HOME)/.config/alacritty/alacritty.toml
|
|
||||||
|
|
||||||
### SWAY #######################################################################
|
### SWAY #######################################################################
|
||||||
|
|
||||||
$(HOME)/.sway/config: .sway/config
|
$(HOME)/.sway/config: .sway/config
|
||||||
|
|
@ -106,14 +100,6 @@ $(HOME)/.vim/bundle:
|
||||||
$(HOME)/.vim/bundle/Vundle.vim: $(HOME)/.vim/bundle
|
$(HOME)/.vim/bundle/Vundle.vim: $(HOME)/.vim/bundle
|
||||||
git clone https://github.com/VundleVim/Vundle.vim.git $@ || cd $@; git pull; exit 0
|
git clone https://github.com/VundleVim/Vundle.vim.git $@ || cd $@; git pull; exit 0
|
||||||
|
|
||||||
### PIPEWIRE ###################################################################
|
|
||||||
|
|
||||||
$(HOME)/.config/pipewire/pipewire.conf: .config/pipewire/pipewire.conf
|
|
||||||
$(INSTALL) -D -m 644 $< $@
|
|
||||||
|
|
||||||
restart-pw:
|
|
||||||
systemctl restart --user pipewire{,-pulse}{.service,.socket}
|
|
||||||
|
|
||||||
### X.ORG CRAP #################################################################
|
### X.ORG CRAP #################################################################
|
||||||
|
|
||||||
$(HOME)/.Xmodcapslock: x-crap/.Xmodcapslock
|
$(HOME)/.Xmodcapslock: x-crap/.Xmodcapslock
|
||||||
|
|
@ -132,7 +118,7 @@ x-crap: $(HOME)/.Xmodcapslock $(HOME)/.Xdefaults $(HOME)/.Xresources $(HOME)/.xi
|
||||||
|
|
||||||
### "PHONY" TARGETS ############################################################
|
### "PHONY" TARGETS ############################################################
|
||||||
|
|
||||||
.PHONY: aliases profileds README x-crap sway i3status restart-pw pipewire alacritty
|
.PHONY: aliases profileds README x-crap sway i3status
|
||||||
|
|
||||||
### README #####################################################################
|
### README #####################################################################
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue