Compare commits
32 Commits
c6dedd3fd6
...
master
Author | SHA1 | Date |
---|---|---|
Massaki Archambault | 9e2fd9cf24 | |
Massaki Archambault | b60e864116 | |
Massaki Archambault | 239ddc36e0 | |
Massaki Archambault | 7054fd2356 | |
Massaki Archambault | 8120ca9476 | |
Massaki Archambault | 70f71f3129 | |
Massaki Archambault | 2e6cde80e3 | |
Massaki Archambault | d5075b3fe0 | |
Massaki Archambault | f11b3162db | |
Massaki Archambault | f5bd05a5d1 | |
Massaki Archambault | a511d6e55a | |
Massaki Archambault | 8cfe07e2ea | |
Massaki Archambault | 2940f72eff | |
Massaki Archambault | 85a9762841 | |
Massaki Archambault | 53298f2a8c | |
Massaki Archambault | 6e8385b8a9 | |
Massaki Archambault | 7b4da2e4cf | |
Massaki Archambault | 51efe15fdc | |
Massaki Archambault | d04efc4ea9 | |
Massaki Archambault | 3063576c65 | |
Massaki Archambault | f071cef6a0 | |
Massaki Archambault | c10b9dfbf8 | |
Massaki Archambault | 2763057d77 | |
Massaki Archambault | 19b47a2ff7 | |
Massaki Archambault | 0620b3e48f | |
Massaki Archambault | bcea58e7cb | |
Massaki Archambault | 7c2c6487b5 | |
Massaki Archambault | 76a138ab04 | |
Massaki Archambault | 6fe71f8c1c | |
Massaki Archambault | 98405b940b | |
Massaki Archambault | 0e01fbc019 | |
Massaki Archambault | 7bd8a1fef6 |
|
@ -0,0 +1 @@
|
|||
home
|
|
@ -1,15 +0,0 @@
|
|||
[submodule "files/.config/zsh/oh-my-zsh"]
|
||||
path = files/.config/zsh/oh-my-zsh
|
||||
url = https://github.com/robbyrussell/oh-my-zsh.git
|
||||
[submodule "files/.config/zsh/custom/plugins/zsh-syntax-highlighting"]
|
||||
path = files/.config/zsh/custom/plugins/zsh-syntax-highlighting
|
||||
url = https://github.com/zsh-users/zsh-syntax-highlighting.git
|
||||
[submodule "files/.vim/bundle/repos/github.com/Shougo/dein.vim"]
|
||||
path = files/.vim/bundle/repos/github.com/Shougo/dein.vim
|
||||
url = https://github.com/Shougo/dein.vim.git
|
||||
[submodule "files/.config/zsh/custom/plugins/fast-syntax-highlighting"]
|
||||
path = files/.config/zsh/custom/plugins/fast-syntax-highlighting
|
||||
url = https://github.com/zdharma/fast-syntax-highlighting.git
|
||||
[submodule "files/.tmux/plugins/tpm"]
|
||||
path = files/.tmux/plugins/tpm
|
||||
url = https://github.com/tmux-plugins/tpm
|
17
README.md
17
README.md
|
@ -2,17 +2,8 @@
|
|||
![xkcd 1806](https://imgs.xkcd.com/comics/borrow_your_laptop.png)
|
||||
|
||||
## Install
|
||||
Clone the repository with the submodules and run the install script to symlink the files your `$HOME` directory:
|
||||
This repository uses [chezmoi](https://www.chezmoi.io/) to manage the dotfiles. To install the dotfiles, first install `chezmoi` with your package manage and then run:
|
||||
``` sh
|
||||
chezmoi init https://code.badjware.dev/badjware/dotfiles.git
|
||||
chezmoi apply
|
||||
```
|
||||
git clone --recurse-submodules https://github.com/badjware/dotfiles.git ~/.dotfiles
|
||||
cd ~/.dotfiles
|
||||
./install.sh
|
||||
```
|
||||
|
||||
The install script supports some options. For exemple:
|
||||
|
||||
* Don't ask for confirmation: `./install.sh --yes`
|
||||
* Copy instead of creating symlinks: `./install.sh --copy`
|
||||
|
||||
For a full list of options, run `./install.sh --help`.
|
||||
|
||||
|
|
|
@ -1,390 +0,0 @@
|
|||
# An example configuration file for MPD.
|
||||
# Read the user manual for documentation: http://www.musicpd.org/doc/user/
|
||||
|
||||
|
||||
# Files and directories #######################################################
|
||||
#
|
||||
# This setting controls the top directory which MPD will search to discover the
|
||||
# available audio files and add them to the daemon's online database. This
|
||||
# setting defaults to the XDG directory, otherwise the music directory will be
|
||||
# be disabled and audio files will only be accepted over ipc socket (using
|
||||
# file:// protocol) or streaming files over an accepted protocol.
|
||||
#
|
||||
#music_directory "~/music"
|
||||
#
|
||||
# This setting sets the MPD internal playlist directory. The purpose of this
|
||||
# directory is storage for playlists created by MPD. The server will use
|
||||
# playlist files not created by the server but only if they are in the MPD
|
||||
# format. This setting defaults to playlist saving being disabled.
|
||||
#
|
||||
#playlist_directory "~/.mpd/playlists"
|
||||
#
|
||||
# This setting sets the location of the MPD database. This file is used to
|
||||
# load the database at server start up and store the database while the
|
||||
# server is not up. This setting defaults to disabled which will allow
|
||||
# MPD to accept files over ipc socket (using file:// protocol) or streaming
|
||||
# files over an accepted protocol.
|
||||
#
|
||||
db_file "~/.config/mpd/database"
|
||||
#
|
||||
# These settings are the locations for the daemon log files for the daemon.
|
||||
# These logs are great for troubleshooting, depending on your log_level
|
||||
# settings.
|
||||
#
|
||||
# The special value "syslog" makes MPD use the local syslog daemon. This
|
||||
# setting defaults to logging to syslog.
|
||||
#
|
||||
log_file "syslog"
|
||||
#
|
||||
# This setting sets the location of the file which stores the process ID
|
||||
# for use of mpd --kill and some init scripts. This setting is disabled by
|
||||
# default and the pid file will not be stored.
|
||||
#
|
||||
#pid_file "~/.mpd/pid"
|
||||
#
|
||||
# This setting sets the location of the file which contains information about
|
||||
# most variables to get MPD back into the same general shape it was in before
|
||||
# it was brought down. This setting is disabled by default and the server
|
||||
# state will be reset on server start up.
|
||||
#
|
||||
#state_file "~/.mpd/state"
|
||||
#
|
||||
# The location of the sticker database. This is a database which
|
||||
# manages dynamic information attached to songs.
|
||||
#
|
||||
#sticker_file "~/.mpd/sticker.sql"
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
|
||||
# General music daemon options ################################################
|
||||
#
|
||||
# This setting specifies the user that MPD will run as. MPD should never run as
|
||||
# root and you may use this setting to make MPD change its user ID after
|
||||
# initialization. This setting is disabled by default and MPD is run as the
|
||||
# current user.
|
||||
#
|
||||
#user "nobody"
|
||||
#
|
||||
# This setting specifies the group that MPD will run as. If not specified
|
||||
# primary group of user specified with "user" setting will be used (if set).
|
||||
# This is useful if MPD needs to be a member of group such as "audio" to
|
||||
# have permission to use sound card.
|
||||
#
|
||||
#group "nogroup"
|
||||
#
|
||||
# This setting sets the address for the daemon to listen on. Careful attention
|
||||
# should be paid if this is assigned to anything other then the default, any.
|
||||
# This setting can deny access to control of the daemon. Not effective if
|
||||
# systemd socket activiation is in use.
|
||||
#
|
||||
# For network
|
||||
#bind_to_address "any"
|
||||
#
|
||||
# And for Unix Socket
|
||||
#bind_to_address "~/.mpd/socket"
|
||||
#
|
||||
# This setting is the TCP port that is desired for the daemon to get assigned
|
||||
# to.
|
||||
#
|
||||
#port "6600"
|
||||
#
|
||||
# This setting controls the type of information which is logged. Available
|
||||
# setting arguments are "default", "secure" or "verbose". The "verbose" setting
|
||||
# argument is recommended for troubleshooting, though can quickly stretch
|
||||
# available resources on limited hardware storage.
|
||||
#
|
||||
#log_level "default"
|
||||
#
|
||||
# Setting "restore_paused" to "yes" puts MPD into pause mode instead
|
||||
# of starting playback after startup.
|
||||
#
|
||||
#restore_paused "no"
|
||||
#
|
||||
# This setting enables MPD to create playlists in a format usable by other
|
||||
# music players.
|
||||
#
|
||||
#save_absolute_paths_in_playlists "no"
|
||||
#
|
||||
# This setting defines a list of tag types that will be extracted during the
|
||||
# audio file discovery process. The complete list of possible values can be
|
||||
# found in the user manual.
|
||||
#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
|
||||
#
|
||||
# This example just enables the "comment" tag without disabling all
|
||||
# the other supported tags:
|
||||
#metadata_to_use "+comment"
|
||||
#
|
||||
# This setting enables automatic update of MPD's database when files in
|
||||
# music_directory are changed.
|
||||
#
|
||||
#auto_update "yes"
|
||||
#
|
||||
# Limit the depth of the directories being watched, 0 means only watch
|
||||
# the music directory itself. There is no limit by default.
|
||||
#
|
||||
#auto_update_depth "3"
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
|
||||
# Symbolic link behavior ######################################################
|
||||
#
|
||||
# If this setting is set to "yes", MPD will discover audio files by following
|
||||
# symbolic links outside of the configured music_directory.
|
||||
#
|
||||
#follow_outside_symlinks "yes"
|
||||
#
|
||||
# If this setting is set to "yes", MPD will discover audio files by following
|
||||
# symbolic links inside of the configured music_directory.
|
||||
#
|
||||
#follow_inside_symlinks "yes"
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
|
||||
# Zeroconf / Avahi Service Discovery ##########################################
|
||||
#
|
||||
# If this setting is set to "yes", service information will be published with
|
||||
# Zeroconf / Avahi.
|
||||
#
|
||||
#zeroconf_enabled "yes"
|
||||
#
|
||||
# The argument to this setting will be the Zeroconf / Avahi unique name for
|
||||
# this MPD server on the network. %h will be replaced with the hostname.
|
||||
#
|
||||
#zeroconf_name "Music Player @ %h"
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
|
||||
# Permissions #################################################################
|
||||
#
|
||||
# If this setting is set, MPD will require password authorization. The password
|
||||
# setting can be specified multiple times for different password profiles.
|
||||
#
|
||||
#password "password@read,add,control,admin"
|
||||
#
|
||||
# This setting specifies the permissions a user has who has not yet logged in.
|
||||
#
|
||||
#default_permissions "read,add,control,admin"
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
|
||||
# Database #######################################################################
|
||||
#
|
||||
|
||||
#database {
|
||||
# plugin "proxy"
|
||||
# host "other.mpd.host"
|
||||
# port "6600"
|
||||
#}
|
||||
|
||||
# Input #######################################################################
|
||||
#
|
||||
|
||||
input {
|
||||
plugin "curl"
|
||||
# proxy "proxy.isp.com:8080"
|
||||
# proxy_user "user"
|
||||
# proxy_password "password"
|
||||
}
|
||||
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
# Audio Output ################################################################
|
||||
#
|
||||
# MPD supports various audio output types, as well as playing through multiple
|
||||
# audio outputs at the same time, through multiple audio_output settings
|
||||
# blocks. Setting this block is optional, though the server will only attempt
|
||||
# autodetection for one sound card.
|
||||
#
|
||||
# An example of an ALSA output:
|
||||
#
|
||||
#audio_output {
|
||||
# type "alsa"
|
||||
# name "My ALSA Device"
|
||||
## device "hw:0,0" # optional
|
||||
## mixer_type "hardware" # optional
|
||||
## mixer_device "default" # optional
|
||||
## mixer_control "PCM" # optional
|
||||
## mixer_index "0" # optional
|
||||
#}
|
||||
#
|
||||
# An example of an OSS output:
|
||||
#
|
||||
#audio_output {
|
||||
# type "oss"
|
||||
# name "My OSS Device"
|
||||
## device "/dev/dsp" # optional
|
||||
## mixer_type "hardware" # optional
|
||||
## mixer_device "/dev/mixer" # optional
|
||||
## mixer_control "PCM" # optional
|
||||
#}
|
||||
#
|
||||
# An example of a shout output (for streaming to Icecast):
|
||||
#
|
||||
#audio_output {
|
||||
# type "shout"
|
||||
# encoder "vorbis" # optional
|
||||
# name "My Shout Stream"
|
||||
# host "localhost"
|
||||
# port "8000"
|
||||
# mount "/mpd.ogg"
|
||||
# password "hackme"
|
||||
# quality "5.0"
|
||||
# bitrate "128"
|
||||
# format "44100:16:1"
|
||||
## protocol "icecast2" # optional
|
||||
## user "source" # optional
|
||||
## description "My Stream Description" # optional
|
||||
## url "http://example.com" # optional
|
||||
## genre "jazz" # optional
|
||||
## public "no" # optional
|
||||
## timeout "2" # optional
|
||||
## mixer_type "software" # optional
|
||||
#}
|
||||
#
|
||||
# An example of a recorder output:
|
||||
#
|
||||
#audio_output {
|
||||
# type "recorder"
|
||||
# name "My recorder"
|
||||
# encoder "vorbis" # optional, vorbis or lame
|
||||
# path "/var/lib/mpd/recorder/mpd.ogg"
|
||||
## quality "5.0" # do not define if bitrate is defined
|
||||
# bitrate "128" # do not define if quality is defined
|
||||
# format "44100:16:1"
|
||||
#}
|
||||
#
|
||||
# An example of a httpd output (built-in HTTP streaming server):
|
||||
#
|
||||
#audio_output {
|
||||
# type "httpd"
|
||||
# name "My HTTP Stream"
|
||||
# encoder "vorbis" # optional, vorbis or lame
|
||||
# port "8000"
|
||||
# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
|
||||
## quality "5.0" # do not define if bitrate is defined
|
||||
# bitrate "128" # do not define if quality is defined
|
||||
# format "44100:16:1"
|
||||
# max_clients "0" # optional 0=no limit
|
||||
#}
|
||||
#
|
||||
# An example of a pulseaudio output (streaming to a remote pulseaudio server)
|
||||
#
|
||||
audio_output {
|
||||
type "pulse"
|
||||
name "pulse audio"
|
||||
## server "remote_server" # optional
|
||||
## sink "remote_server_sink" # optional
|
||||
}
|
||||
#
|
||||
# An example of a winmm output (Windows multimedia API).
|
||||
#
|
||||
#audio_output {
|
||||
# type "winmm"
|
||||
# name "My WinMM output"
|
||||
## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
|
||||
# or
|
||||
## device "0" # optional
|
||||
## mixer_type "hardware" # optional
|
||||
#}
|
||||
#
|
||||
# An example of an openal output.
|
||||
#
|
||||
#audio_output {
|
||||
# type "openal"
|
||||
# name "My OpenAL output"
|
||||
## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
|
||||
#}
|
||||
#
|
||||
# An example of an sndio output.
|
||||
#
|
||||
#audio_output {
|
||||
# type "sndio"
|
||||
# name "sndio output"
|
||||
# mixer_type "hardware"
|
||||
#}
|
||||
#
|
||||
# An example of an OS X output:
|
||||
#
|
||||
#audio_output {
|
||||
# type "osx"
|
||||
# name "My OS X Device"
|
||||
## device "Built-in Output" # optional
|
||||
## channel_map "-1,-1,0,1" # optional
|
||||
#}
|
||||
#
|
||||
## Example "pipe" output:
|
||||
#
|
||||
#audio_output {
|
||||
# type "pipe"
|
||||
# name "my pipe"
|
||||
# command "aplay -f cd 2>/dev/null"
|
||||
## Or if you're want to use AudioCompress
|
||||
# command "AudioCompress -m | aplay -f cd 2>/dev/null"
|
||||
## Or to send raw PCM stream through PCM:
|
||||
# command "nc example.org 8765"
|
||||
# format "44100:16:2"
|
||||
#}
|
||||
#
|
||||
## An example of a null output (for no audio output):
|
||||
#
|
||||
#audio_output {
|
||||
# type "null"
|
||||
# name "My Null Output"
|
||||
# mixer_type "none" # optional
|
||||
#}
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
|
||||
# Normalization automatic volume adjustments ##################################
|
||||
#
|
||||
# This setting specifies the type of ReplayGain to use. This setting can have
|
||||
# the argument "off", "album", "track" or "auto". "auto" is a special mode that
|
||||
# chooses between "track" and "album" depending on the current state of
|
||||
# random playback. If random playback is enabled then "track" mode is used.
|
||||
# See <http://www.replaygain.org> for more details about ReplayGain.
|
||||
# This setting is off by default.
|
||||
#
|
||||
#replaygain "album"
|
||||
#
|
||||
# This setting sets the pre-amp used for files that have ReplayGain tags. By
|
||||
# default this setting is disabled.
|
||||
#
|
||||
#replaygain_preamp "0"
|
||||
#
|
||||
# This setting sets the pre-amp used for files that do NOT have ReplayGain tags.
|
||||
# By default this setting is disabled.
|
||||
#
|
||||
#replaygain_missing_preamp "0"
|
||||
#
|
||||
# This setting enables or disables ReplayGain limiting.
|
||||
# MPD calculates actual amplification based on the ReplayGain tags
|
||||
# and replaygain_preamp / replaygain_missing_preamp setting.
|
||||
# If replaygain_limit is enabled MPD will never amplify audio signal
|
||||
# above its original level. If replaygain_limit is disabled such amplification
|
||||
# might occur. By default this setting is enabled.
|
||||
#
|
||||
#replaygain_limit "yes"
|
||||
#
|
||||
# This setting enables on-the-fly normalization volume adjustment. This will
|
||||
# result in the volume of all playing audio to be adjusted so the output has
|
||||
# equal "loudness". This setting is disabled by default.
|
||||
#
|
||||
#volume_normalization "no"
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
# Character Encoding ##########################################################
|
||||
#
|
||||
# If file or directory names do not display correctly for your locale then you
|
||||
# may need to modify this setting.
|
||||
#
|
||||
#filesystem_charset "UTF-8"
|
||||
#
|
||||
###############################################################################
|
|
@ -1,56 +0,0 @@
|
|||
; Global settings for redshift
|
||||
[redshift]
|
||||
; Set the day and night screen temperatures (Neutral is 6500K)
|
||||
temp-day=5000
|
||||
temp-night=3000
|
||||
|
||||
; Enable/Disable a smooth transition between day and night
|
||||
; 0 will cause a direct change from day to night screen temperature.
|
||||
; 1 will gradually increase or decrease the screen temperature.
|
||||
transition=1
|
||||
|
||||
; Set the screen brightness. Default is 1.0.
|
||||
;brightness=0.9
|
||||
; It is also possible to use different settings for day and night
|
||||
; since version 1.8.
|
||||
;brightness-day=1.0
|
||||
;brightness-night=0.9
|
||||
; Set the screen gamma (for all colors, or each color channel
|
||||
; individually)
|
||||
;gamma=0.8
|
||||
;gamma=0.8:0.7:0.8
|
||||
; This can also be set individually for day and night since
|
||||
; version 1.10.
|
||||
;gamma-day=0.8:0.7:0.8
|
||||
;gamma-night=0.6
|
||||
|
||||
; Set the location-provider: 'geoclue2' or 'manual'
|
||||
; type 'redshift -l list' to see possible values.
|
||||
; The location provider settings are in a different section.
|
||||
location-provider=manual
|
||||
|
||||
; Set the adjustment-method: 'randr', 'vidmode'
|
||||
; type 'redshift -m list' to see all possible values.
|
||||
; 'randr' is the preferred method, 'vidmode' is an older API.
|
||||
; but works in some cases when 'randr' does not.
|
||||
; The adjustment method settings are in a different section.
|
||||
adjustment-method=randr
|
||||
|
||||
; Configuration of the location-provider:
|
||||
; type 'redshift -l PROVIDER:help' to see the settings.
|
||||
; ex: 'redshift -l manual:help'
|
||||
; Keep in mind that longitudes west of Greenwich (e.g. the Americas)
|
||||
; are negative numbers.
|
||||
[manual]
|
||||
lat=45.51
|
||||
lon=-73.59
|
||||
|
||||
; Configuration of the adjustment-method
|
||||
; type 'redshift -m METHOD:help' to see the settings.
|
||||
; ex: 'redshift -m randr:help'
|
||||
; In this example, randr is configured to adjust screen 1.
|
||||
; Note that the numbering starts from 0, so this is actually the
|
||||
; second screen. If this option is not specified, Redshift will try
|
||||
; to adjust _all_ screens.
|
||||
[randr]
|
||||
;screen=1
|
|
@ -1,77 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
client_id='d9c43c00ff914624a02151e43ab5a16c'
|
||||
client_secret=''
|
||||
|
||||
output="$XDG_RUNTIME_DIR/spotify_status"
|
||||
|
||||
token=""
|
||||
get_token() {
|
||||
echo -n 'Bearer '
|
||||
if [[ -z "$token" ]]; then
|
||||
authorization="$(base64 -w 0 <(echo -n "$client_id:$client_secret"))"
|
||||
token="$(curl -s -H "Authorization: Basic $authorization" -d 'grant_type=client_credentials' https://accounts.spotify.com/api/token | jq --join-output --raw-output .access_token)"
|
||||
fi
|
||||
echo -n "$token"
|
||||
}
|
||||
|
||||
track_data=""
|
||||
get_track_data() {
|
||||
if [[ -z "$track_data" ]]; then
|
||||
track_data="$(curl -s -H "Authorization: $(get_token)" "https://api.spotify.com/v1/tracks/$TRACK_ID")"
|
||||
fi
|
||||
echo -n "$track_data"
|
||||
}
|
||||
|
||||
get_artists() {
|
||||
echo "$(get_track_data)" | jq --join-output --raw-output '[.artists[].name] | join(", ")'
|
||||
}
|
||||
|
||||
get_track() {
|
||||
echo "$(get_track_data)" | jq --join-output --raw-output '.name'
|
||||
}
|
||||
|
||||
play() {
|
||||
echo " $(get_track)" >$output
|
||||
echo "$(get_artists) - $(get_track)" >>$output
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo " $(get_track)" >$output
|
||||
echo "$(get_artists) - $(get_track)" >>$output
|
||||
}
|
||||
|
||||
pause() {
|
||||
echo " $(get_track)" >$output
|
||||
echo "$(get_artists) - $(get_track)" >>$output
|
||||
}
|
||||
|
||||
case "$PLAYER_EVENT" in
|
||||
"start")
|
||||
play
|
||||
;;
|
||||
"stop")
|
||||
pause
|
||||
;;
|
||||
"load")
|
||||
;;
|
||||
"play")
|
||||
play
|
||||
;;
|
||||
"pause")
|
||||
pause
|
||||
;;
|
||||
"preload")
|
||||
;;
|
||||
"endoftrack")
|
||||
stop
|
||||
;;
|
||||
"volumeset")
|
||||
;;
|
||||
"change")
|
||||
play
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
[global]
|
||||
username = werhudpj20xndltxqfb95b8dw
|
||||
#password_cmd = pass web/spotify.com | head -n 1
|
||||
use_keyring = true
|
||||
|
||||
backend = pulseaudio
|
||||
#onevent=~/.config/spotifyd/onevent.sh
|
|
@ -1 +0,0 @@
|
|||
/usr/lib/systemd/user/modprobed-db.service
|
|
@ -1 +0,0 @@
|
|||
/usr/lib/systemd/user/mpd.service
|
|
@ -1 +0,0 @@
|
|||
/usr/lib/systemd/user/pipewire-media-session.service
|
|
@ -1,12 +0,0 @@
|
|||
[Unit]
|
||||
Description=Redshift display colour temperature adjustment
|
||||
Documentation=http://jonls.dk/redshift/
|
||||
Requires=sway-session.target
|
||||
After=sway-session.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/redshift -m wayland
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=sway-session.target
|
|
@ -1 +0,0 @@
|
|||
/home/marchambault/.config/systemd/user/mako.service
|
|
@ -1 +0,0 @@
|
|||
/home/marchambault/.config/systemd/user/redshift.service
|
|
@ -1 +0,0 @@
|
|||
/home/marchambault/.config/systemd/user/swayidle.service
|
|
@ -1 +0,0 @@
|
|||
/home/marchambault/.config/systemd/user/wob.service
|
|
@ -1,84 +0,0 @@
|
|||
[options]
|
||||
#allow_bold = true
|
||||
#audible_bell = false
|
||||
#clickable_url = true
|
||||
#dynamic_title = true
|
||||
font = Monospace 11
|
||||
font = Hack 11
|
||||
font = Hack Nerd Font 11
|
||||
#fullscreen = true
|
||||
#geometry = 640x480
|
||||
#icon_name = terminal
|
||||
#mouse_autohide = false
|
||||
#scroll_on_output = false
|
||||
#scroll_on_keystroke = true
|
||||
# Length of the scrollback buffer, 0 disabled the scrollback buffer
|
||||
# and setting it to a negative value means "infinite scrollback"
|
||||
scrollback_lines = 10000
|
||||
#search_wrap = true
|
||||
#urgent_on_bell = true
|
||||
hyperlinks = true
|
||||
|
||||
# $BROWSER is used by default if set, with xdg-open as a fallback
|
||||
#browser = xdg-open
|
||||
|
||||
# "system", "on" or "off"
|
||||
#cursor_blink = system
|
||||
|
||||
# "block", "underline" or "ibeam"
|
||||
#cursor_shape = block
|
||||
|
||||
# Hide links that are no longer valid in url select overlay mode
|
||||
#filter_unmatched_urls = true
|
||||
|
||||
# Emit escape sequences for extra modified keys
|
||||
#modify_other_keys = false
|
||||
|
||||
# set size hints for the window
|
||||
#size_hints = false
|
||||
|
||||
# "off", "left" or "right"
|
||||
#scrollbar = off
|
||||
|
||||
[colors]
|
||||
background = rgba(17, 19, 20, 0.85)
|
||||
cursor = #BBBBBB
|
||||
foreground = #EBDBB2
|
||||
|
||||
# black
|
||||
color0 = #2C2F33
|
||||
color8 = #4B5056
|
||||
# red
|
||||
color1 = #B04C50
|
||||
color9 = #B04C50
|
||||
# green
|
||||
color2 = #919652
|
||||
color10 = #94985B
|
||||
# yellow
|
||||
color3 = #E2995C
|
||||
color11 = #E2995C
|
||||
# blue
|
||||
color4 = #66899D
|
||||
color12 = #66899D
|
||||
# magenta
|
||||
color5 = #8D6494
|
||||
color13 = #8D6494
|
||||
# cyan
|
||||
color6 = #527C77
|
||||
color14 = #527C77
|
||||
# white
|
||||
color7 = #A6ABA6
|
||||
color15 = #DDE3DC
|
||||
|
||||
[hints]
|
||||
#font = Monospace 12
|
||||
#foreground = #dcdccc
|
||||
#background = #3f3f3f
|
||||
#active_foreground = #e68080
|
||||
#active_background = #3f3f3f
|
||||
#padding = 2
|
||||
#border = #3f3f3f
|
||||
#border_width = 0.5
|
||||
#roundness = 2.0
|
||||
|
||||
# vim: ft=dosini cms=#%s
|
|
@ -1 +0,0 @@
|
|||
Subproject commit a49045342ac15ee04a0926b16752e9b908b0bd9e
|
|
@ -1 +0,0 @@
|
|||
Subproject commit e900ad8bad53501689afcb050456400d7a8466e5
|
|
@ -1 +0,0 @@
|
|||
Subproject commit e8aba1bf5912f89f408eaebd1bc74c25ba32a62c
|
|
@ -1,8 +0,0 @@
|
|||
#!/bin/bash
|
||||
shopt -s nullglob
|
||||
for d in /sys/kernel/iommu_groups/*/devices/*; do
|
||||
n=${d#*/iommu_groups/*}; n=${n%%/*}
|
||||
printf 'IOMMU Group %s ' "$n"
|
||||
lspci -nns "${d##*/}"
|
||||
done;
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
*
|
||||
!.gitignore
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 476f6ca69922c9e67c408ae92dff0eb0ccb8ee51
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 6040e7efeb824058f044b2175cc635817e66fd36
|
|
@ -0,0 +1,96 @@
|
|||
packages:
|
||||
arch:
|
||||
base:
|
||||
- etc-update
|
||||
- pikaur
|
||||
|
||||
# archive
|
||||
- 7-zip-full
|
||||
- atool
|
||||
- unrar
|
||||
- unzip
|
||||
- zip
|
||||
|
||||
# tools
|
||||
- bind # for `dig`, `nslookup`
|
||||
- curl
|
||||
- dos2unix
|
||||
- fzf
|
||||
- github-cli
|
||||
- glances
|
||||
- keychain
|
||||
- less
|
||||
- lm_sensors
|
||||
- lsd
|
||||
- neofetch
|
||||
- neovim
|
||||
- pass
|
||||
- sudo
|
||||
- thefuck
|
||||
- tree
|
||||
- vim
|
||||
- zsh
|
||||
|
||||
# devops
|
||||
- ansible
|
||||
- aws-cli-v2
|
||||
- docker
|
||||
- helm
|
||||
- k9s
|
||||
- kubecolor
|
||||
- kubectl
|
||||
- kustomize
|
||||
- terraform
|
||||
|
||||
# language / runtimes
|
||||
- go
|
||||
- python-pip
|
||||
- python-virtualenv
|
||||
|
||||
|
||||
# scripting utils
|
||||
- dialog
|
||||
- jq
|
||||
- pv
|
||||
- python-pyfiglet
|
||||
|
||||
base_desktop:
|
||||
- alacritty
|
||||
- dex
|
||||
- feh
|
||||
- gammastep
|
||||
- grim
|
||||
- libappindicator-gtk3
|
||||
- mako
|
||||
- qt5-wayland
|
||||
- qt6-wayland
|
||||
- sway
|
||||
- swayidle
|
||||
- swaylock
|
||||
- wob
|
||||
- xdg-desktop-portal-wlr
|
||||
- ydotool
|
||||
|
||||
# pipewire
|
||||
- pipewire-jack
|
||||
- pipewire-pulse
|
||||
- wireplumber
|
||||
|
||||
# fonts
|
||||
- nerd-fonts-git
|
||||
- otf-font-awesome-5
|
||||
- ttf-droid
|
||||
- ttf-google-fonts-git
|
||||
- ttf-hack
|
||||
- ttf-liberation
|
||||
- ttf-material-design-icons-git
|
||||
- ttf-ms-win10-auto
|
||||
|
||||
# theming
|
||||
- matcha-gtk-theme
|
||||
- mint-y-icons
|
||||
|
||||
# xorg
|
||||
- xorg-xauth
|
||||
- xorg-xhost
|
||||
- xorg-xwayland
|
|
@ -0,0 +1,9 @@
|
|||
units:
|
||||
system:
|
||||
- docker.socket
|
||||
- sshd.service
|
||||
user:
|
||||
- swayidle.service
|
||||
- wob.service
|
||||
- mako.service
|
||||
- gammastep
|
|
@ -0,0 +1,17 @@
|
|||
[colors]
|
||||
#background = "#111314"
|
||||
#black = "#2C2F33"
|
||||
#blue = "#66899D"
|
||||
#cyan = "#527C77"
|
||||
#foreground = "#EBDBB2"
|
||||
#green = "#919652"
|
||||
#magenta = "#8D6494"
|
||||
#red = "#B04C50"
|
||||
#white = "#A6ABA6"
|
||||
#yellow = "#E2995C"
|
||||
|
||||
[font.normal]
|
||||
family = "Hack Nerd Font"
|
||||
|
||||
[window]
|
||||
opacity = 0.85
|
|
@ -0,0 +1,2 @@
|
|||
[git]
|
||||
autoCommit = true
|
|
@ -0,0 +1,12 @@
|
|||
--use-gl=egl
|
||||
|
||||
--ignore-gpu-blocklist
|
||||
--enable-gpu-rasterization
|
||||
--enable-zero-copy
|
||||
|
||||
--enable-features=UseOzonePlatform
|
||||
--ozone-platform=wayland
|
||||
|
||||
--enable-features=VaapiVideoEncoder
|
||||
--enable-features=VaapiVideoDecoder
|
||||
--disable-features=UseChromeOSDirectVideoDecoder
|
|
@ -0,0 +1,4 @@
|
|||
--enable-features=VaapiVideoDecoder
|
||||
--enable-features=UseOzonePlatform
|
||||
--ozone-platform=wayland
|
||||
--enable-features=WebRTCPipeWireCapturer
|
|
@ -77,4 +77,10 @@
|
|||
<family>IPAGothic</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Lucida Console</family>
|
||||
<prefer>
|
||||
<family>monospace</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
|
@ -0,0 +1,3 @@
|
|||
[custom]
|
||||
start=gamemode-start
|
||||
end=gamemode-stop
|
|
@ -0,0 +1,68 @@
|
|||
; Global settings
|
||||
[general]
|
||||
; Set the day and night screen temperatures
|
||||
temp-day=5000
|
||||
temp-night=3000
|
||||
|
||||
; Disable the smooth fade between temperatures when Redshift starts and stops.
|
||||
; 0 will cause an immediate change between screen temperatures.
|
||||
; 1 will gradually apply the new screen temperature over a couple of seconds.
|
||||
fade=1
|
||||
|
||||
; Solar elevation thresholds.
|
||||
; By default, Redshift will use the current elevation of the sun to determine
|
||||
; whether it is daytime, night or in transition (dawn/dusk). When the sun is
|
||||
; above the degrees specified with elevation-high it is considered daytime and
|
||||
; below elevation-low it is considered night.
|
||||
;elevation-high=3
|
||||
;elevation-low=-6
|
||||
|
||||
; Custom dawn/dusk intervals.
|
||||
; Instead of using the solar elevation, the time intervals of dawn and dusk
|
||||
; can be specified manually. The times must be specified as HH:MM in 24-hour
|
||||
; format.
|
||||
;dawn-time=6:00-7:45
|
||||
;dusk-time=18:35-20:15
|
||||
|
||||
; Set the screen brightness. Default is 1.0.
|
||||
;brightness=0.9
|
||||
; It is also possible to use different settings for day and night
|
||||
; since version 1.8.
|
||||
;brightness-day=0.7
|
||||
;brightness-night=0.4
|
||||
; Set the screen gamma (for all colors, or each color channel
|
||||
; individually)
|
||||
;gamma=0.8
|
||||
;gamma=0.8:0.7:0.8
|
||||
; This can also be set individually for day and night since
|
||||
; version 1.10.
|
||||
gamma-day=1.0
|
||||
gamma-night=0.8
|
||||
|
||||
; Set the location-provider: 'geoclue2', 'manual'.
|
||||
; The location provider settings are in a different section.
|
||||
location-provider=manual
|
||||
|
||||
; Set the adjustment-method: 'randr', 'vidmode', 'drm', 'wayland'.
|
||||
; 'randr' is the preferred X11 method, 'vidmode' is an older API
|
||||
; that works in some cases when 'randr' does not.
|
||||
; The adjustment method settings are in a different section.
|
||||
adjustment-method=wayland
|
||||
|
||||
; Configuration of the location-provider:
|
||||
; type 'gammastep -l PROVIDER:help' to see the settings.
|
||||
; ex: 'gammastep -l manual:help'
|
||||
; Keep in mind that longitudes west of Greenwich (e.g. the Americas)
|
||||
; are negative numbers.
|
||||
[manual]
|
||||
lat=45.51
|
||||
lon=-73.59
|
||||
|
||||
; Configuration of the adjustment-method
|
||||
; type 'gammastep -m METHOD:help' to see the settings.
|
||||
; ex: 'gammastep -m randr:help'
|
||||
; In this example, randr is configured to adjust only screen 0.
|
||||
; Note that the numbering starts from 0, so this is actually the first screen.
|
||||
; If this option is not specified, Redshift will try to adjust _all_ screens.
|
||||
[randr]
|
||||
;screen=0
|
|
@ -3,7 +3,7 @@ gtk-icon-theme-name=Mint-Y-Orange
|
|||
gtk-theme-name=Matcha-aliz
|
||||
gtk-application-prefer-dark-theme=0
|
||||
gtk-font-name=Cantarell 11
|
||||
gtk-cursor-theme-name=Breeze_Snow
|
||||
gtk-cursor-theme-name=Breeze_Light
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_TEXT
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_MENU
|
|
@ -0,0 +1,258 @@
|
|||
# Daemon config file for PipeWire version "0.3.58" #
|
||||
#
|
||||
# Copy and edit this file in /etc/pipewire for system-wide changes
|
||||
# or in ~/.config/pipewire for local changes.
|
||||
#
|
||||
# It is also possible to place a file with an updated section in
|
||||
# /etc/pipewire/pipewire.conf.d/ for system-wide changes or in
|
||||
# ~/.config/pipewire/pipewire.conf.d/ for local changes.
|
||||
#
|
||||
|
||||
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
|
||||
|
||||
core.daemon = true # listening for socket connections
|
||||
core.name = pipewire-0 # core name and socket name
|
||||
|
||||
## Properties for the DSP configuration.
|
||||
#default.clock.rate = 48000
|
||||
default.clock.allowed-rates = [ 44100 48000 ]
|
||||
#default.clock.quantum = 1024
|
||||
default.clock.min-quantum = 16
|
||||
#default.clock.max-quantum = 2048
|
||||
#default.clock.quantum-limit = 8192
|
||||
#default.video.width = 640
|
||||
#default.video.height = 480
|
||||
#default.video.rate.num = 25
|
||||
#default.video.rate.denom = 1
|
||||
#
|
||||
#settings.check-quantum = false
|
||||
#settings.check-rate = false
|
||||
#
|
||||
# These overrides are only applied when running in a vm.
|
||||
vm.overrides = {
|
||||
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
|
||||
#videotestsrc = videotestsrc/libspa-videotestsrc
|
||||
#audiotestsrc = audiotestsrc/libspa-audiotestsrc
|
||||
}
|
||||
|
||||
context.modules = [
|
||||
#{ name = <module-name>
|
||||
# [ args = { <key> = <value> ... } ]
|
||||
# [ flags = [ [ ifexists ] [ nofail ] ]
|
||||
#}
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
# Uses realtime scheduling to boost the audio thread priorities. This uses
|
||||
# RTKit if the user doesn't have permission to use regular realtime
|
||||
# scheduling.
|
||||
{ name = libpipewire-module-rt
|
||||
args = {
|
||||
nice.level = -11
|
||||
#rt.prio = 88
|
||||
#rt.time.soft = -1
|
||||
#rt.time.hard = -1
|
||||
}
|
||||
flags = [ ifexists nofail ]
|
||||
}
|
||||
|
||||
# The native communication protocol.
|
||||
{ name = libpipewire-module-protocol-native }
|
||||
|
||||
# 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 = {
|
||||
# access.allowed to list an array of paths of allowed
|
||||
# apps.
|
||||
#access.allowed = [
|
||||
# /usr/bin/pipewire-media-session
|
||||
#]
|
||||
|
||||
# An array of rejected paths.
|
||||
#access.rejected = [ ]
|
||||
|
||||
# An array of paths with restricted access.
|
||||
#access.restricted = [ ]
|
||||
|
||||
# Anything not in the above lists gets assigned the
|
||||
# access.force permission.
|
||||
#access.force = flatpak
|
||||
}
|
||||
}
|
||||
|
||||
# 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 = ""
|
||||
# #sample.name = "bell-window-system"
|
||||
# #x11.display = null
|
||||
# #x11.xauthority = null
|
||||
# }
|
||||
#}
|
||||
]
|
||||
|
||||
context.objects = [
|
||||
#{ factory = <factory-name>
|
||||
# [ args = { <key> = <value> ... } ]
|
||||
# [ flags = [ [ nofail ] ]
|
||||
#}
|
||||
#
|
||||
# Creates an object from a PipeWire factory with the given parameters.
|
||||
# If nofail is given, errors are ignored (and no object is created).
|
||||
#
|
||||
#{ factory = spa-node-factory args = { factory.name = videotestsrc node.name = 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 } }
|
||||
#{ 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-driver"
|
||||
# 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
|
||||
priority.driver = 20000
|
||||
}
|
||||
}
|
||||
{ factory = spa-node-factory
|
||||
args = {
|
||||
factory.name = support.node.driver
|
||||
node.name = Freewheel-Driver
|
||||
priority.driver = 19000
|
||||
node.group = pipewire.freewheel
|
||||
node.freewheel = true
|
||||
}
|
||||
}
|
||||
# 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"
|
||||
# }
|
||||
#}
|
||||
|
||||
# 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"
|
||||
# }
|
||||
#}
|
||||
]
|
||||
|
||||
context.exec = [
|
||||
#{ path = <program-name> [ args = "<arguments>" ] }
|
||||
#
|
||||
# Execute the given program with arguments.
|
||||
#
|
||||
# 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 = "" }
|
||||
#
|
||||
# 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" }
|
||||
]
|
0
files/.config/rofi/passmenu.sh → home/dot_config/rofi/executable_passmenu.sh
Executable file → Normal file
0
files/.config/rofi/passmenu.sh → home/dot_config/rofi/executable_passmenu.sh
Executable file → Normal file
|
@ -0,0 +1,3 @@
|
|||
adapter_name = /dev/dri/by-path/pci-0000:03:00.0-render
|
||||
output_name = 1
|
||||
global_prep_cmd = [{"do":"sunshine-prepare","undo":"sunshine-restore"}]
|
|
@ -1,5 +1,5 @@
|
|||
### Vars
|
||||
set $terminal termite
|
||||
set $terminal alacritty
|
||||
|
||||
### Color configuration
|
||||
set $color1 #383838
|
||||
|
@ -26,7 +26,7 @@ set $ws6 6
|
|||
set $ws7 7
|
||||
set $ws8 8
|
||||
set $ws9 9
|
||||
set $ws10 10
|
||||
set $ws10 "TV"
|
||||
|
||||
# default workspace
|
||||
workspace $ws2
|
||||
|
@ -91,41 +91,36 @@ output "*" {
|
|||
background ~/.local/share/wallpaper fill
|
||||
}
|
||||
|
||||
# defaults, laptop mode
|
||||
workspace $ws1 output eDP-1
|
||||
workspace $ws2 output eDP-1
|
||||
workspace $ws3 output VGA-1
|
||||
workspace $ws4 output VGA-1
|
||||
workspace $ws5 output VGA-1
|
||||
workspace $ws6 output VGA-1
|
||||
workspace $ws7 output VGA-1
|
||||
workspace $ws8 output VGA-1
|
||||
workspace $ws9 output VGA-1
|
||||
workspace $ws10 output VGA-1
|
||||
|
||||
set $output1 "Goldstar Company Ltd LG QHD 0x00001F95"
|
||||
workspace $ws3 output $output1
|
||||
workspace $ws4 output $output1
|
||||
workspace $ws5 output $output1
|
||||
workspace $ws6 output $output1
|
||||
workspace $ws7 output $output1
|
||||
workspace $ws8 output $output1
|
||||
workspace $ws9 output $output1
|
||||
workspace $ws10 output $output1
|
||||
set $output1 "LG Electronics LG QHD 0x00051E95"
|
||||
workspace $ws3 output $output1 VGA-1
|
||||
workspace $ws4 output $output1 VGA-1
|
||||
workspace $ws5 output $output1 VGA-1
|
||||
workspace $ws6 output $output1 VGA-1
|
||||
workspace $ws7 output $output1 VGA-1
|
||||
workspace $ws8 output $output1 VGA-1
|
||||
workspace $ws9 output $output1 VGA-1
|
||||
workspace sunshine output $output1 VGA-1
|
||||
output $output1 {
|
||||
# we need to explicitly select the mode, otherwise
|
||||
# sway will select 4k 30Hz
|
||||
mode 2560x1440@60Hz
|
||||
position 0 270
|
||||
# we need to explicitly select the mode
|
||||
mode 2560x1440@144Hz
|
||||
adaptive_sync on
|
||||
position 1080 220
|
||||
}
|
||||
|
||||
set $output2 "Ancor Communications Inc ASUS VH238 BALMIB547836"
|
||||
workspace $ws1 output $output2
|
||||
workspace $ws2 output $output2
|
||||
workspace $ws1 output $output2 eDP-1
|
||||
workspace $ws2 output $output2 eDP-1
|
||||
output $output2 {
|
||||
position 0 0
|
||||
transform 90
|
||||
position 2560 0
|
||||
transform 270
|
||||
}
|
||||
|
||||
set $output3 "Sony SONY TV *30 0x01010101"
|
||||
workspace $ws10 output $output3
|
||||
output $output3 {
|
||||
mode 3840x2160@120Hz
|
||||
adaptive_sync on
|
||||
disable
|
||||
}
|
||||
|
||||
### Input configuration
|
||||
|
@ -157,7 +152,7 @@ input "*" {
|
|||
|
||||
# Mouse
|
||||
accel_profile flat
|
||||
pointer_accel 0
|
||||
pointer_accel -0.4
|
||||
}
|
||||
|
||||
### Key bindings
|
||||
|
@ -165,7 +160,7 @@ input "*" {
|
|||
bindsym $mod+Return exec $terminal
|
||||
|
||||
# thunar
|
||||
bindsym $mod+Mod1+Return exec thunar
|
||||
bindsym $mod+Mod1+Return exec dolphin
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
@ -257,22 +252,25 @@ bindsym $mod+Shift+8 move container to workspace $ws8
|
|||
bindsym $mod+Shift+9 move container to workspace $ws9
|
||||
bindsym $mod+Shift+0 move container to workspace $ws10
|
||||
|
||||
# toggle TV
|
||||
bindsym $mod+Alt+0 output $output3 toggle
|
||||
|
||||
# Assignation
|
||||
assign [class="^[Ss]lack$"] $ws1
|
||||
assign [class="^[Dd]iscord$"] $ws1
|
||||
#assign [class="^looking-glass-client$"] $ws3
|
||||
|
||||
# screen
|
||||
workspace $ws1 output HDMI-2
|
||||
workspace $ws2 output HDMI-2
|
||||
workspace $ws3 output HDMI-1
|
||||
workspace $ws4 output HDMI-1
|
||||
workspace $ws5 output HDMI-1
|
||||
workspace $ws6 output HDMI-1
|
||||
workspace $ws7 output HDMI-1
|
||||
workspace $ws8 output HDMI-1
|
||||
workspace $ws9 output HDMI-1
|
||||
workspace $ws10 output HDMI-1
|
||||
# workspace $ws1 output HDMI-A-2
|
||||
# workspace $ws2 output HDMI-A-2
|
||||
# workspace $ws3 output HDMI-A-1
|
||||
# workspace $ws4 output HDMI-A-1
|
||||
# workspace $ws5 output HDMI-A-1
|
||||
# workspace $ws6 output HDMI-A-1
|
||||
# workspace $ws7 output HDMI-A-1
|
||||
# workspace $ws8 output HDMI-A-1
|
||||
# workspace $ws9 output HDMI-A-1
|
||||
# workspace $ws10 output HDMI-A-1
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+r reload
|
||||
|
@ -333,6 +331,9 @@ exec /bin/dex -a
|
|||
# run a terminal
|
||||
exec $terminal
|
||||
|
||||
# setup outputs
|
||||
exec_always ~/.local/bin/setup-outputs
|
||||
|
||||
bar {
|
||||
swaybar_command waybar
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description=Set color temperature of display according to time of day.
|
||||
Documentation=https://gitlab.com/chinstrap/gammastep
|
||||
Requires=sway-session.target
|
||||
After=sway-session.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/gammastep
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=sway-session.target
|
|
@ -0,0 +1,15 @@
|
|||
[Unit]
|
||||
Description=Sunshine is a self-hosted game stream host for Moonlight.
|
||||
StartLimitIntervalSec=500
|
||||
StartLimitBurst=5
|
||||
PartOf=graphical-session.target
|
||||
Wants=sway-session.target
|
||||
After=sway-session.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/sunshine
|
||||
Restart=on-failure
|
||||
RestartSec=5s
|
||||
|
||||
[Install]
|
||||
WantedBy=sway-session.target
|
|
@ -6,8 +6,8 @@ PartOf=graphical-session.target
|
|||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/swayidle -w \
|
||||
timeout 600 'echo RELOADAGENT | gpg-connect-agent; swaylock -f' \
|
||||
timeout 60 'swaymsg "output * dpms off"' \
|
||||
timeout 1200 'echo RELOADAGENT | gpg-connect-agent; swaylock -f' \
|
||||
timeout 600 'swaymsg "output * dpms off"' \
|
||||
resume 'swaymsg "output * dpms on"' \
|
||||
before-sleep 'echo RELOADAGENT | gpg-connect-agent; swaylock -f'
|
||||
|
|
@ -9,6 +9,11 @@ window#waybar {
|
|||
color: rgba(235, 219, 178, 1);
|
||||
}
|
||||
|
||||
label, button {
|
||||
background: inherit;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 5px;
|
||||
background: transparent;
|
||||
|
@ -32,7 +37,7 @@ window#waybar {
|
|||
}
|
||||
|
||||
#idle_inhibitor, #tray, #custom-vpn {
|
||||
padding-right: 0;
|
||||
padding-right: 6px;
|
||||
min-width: 23px;
|
||||
color: white;
|
||||
}
|
|
@ -13,3 +13,7 @@ gpg-connect-agent updatestartuptty /bye >/dev/null
|
|||
|
||||
# keychain (for ssh agent)
|
||||
eval $(keychain --eval --quiet --noask --nogui)
|
||||
|
||||
export GOPATH="$HOME/go"
|
||||
export PATH="$PATH:$GOPATH"
|
||||
|
|
@ -8,6 +8,7 @@ alias http-server="python -m http.server"
|
|||
alias rename="perl-rename"
|
||||
alias userctl="systemctl --user"
|
||||
alias lock="swaylock"
|
||||
alias etckeeper="sudo etckeeper"
|
||||
|
||||
# ls
|
||||
alias ls='lsd --group-dirs=first'
|
||||
|
@ -16,13 +17,6 @@ alias la='ls -a'
|
|||
alias lla='ls -la'
|
||||
alias lt='ls --tree'
|
||||
|
||||
# powershell seems to have trouble with xterm-256color
|
||||
alias pwsh="TERM=xterm pwsh"
|
||||
alias powershell="TERM=xterm pwsh"
|
||||
|
||||
# remote often does not have the correct terminfo for termite
|
||||
alias ssh="TERM=xterm-256color ssh"
|
||||
|
||||
# network stuff must always be run with sudo anyway
|
||||
alias wifi-menu="sudo wifi-menu -o"
|
||||
alias netctl="sudo netctl"
|
||||
|
@ -31,4 +25,14 @@ alias netctl="sudo netctl"
|
|||
alias minicom="docker run --device=/dev/ttyUSB0 -it registry.massaki.ca/minicom"
|
||||
alias browsh="docker run --rm -it browsh/browsh"
|
||||
|
||||
# kube
|
||||
alias netshoot="kubectl run tmp-shell --rm -i --tty --image nicolaka/netshoot -- /bin/bash"
|
||||
alias kubectl="kubecolor"
|
||||
alias k="kubecolor"
|
||||
alias kctx="kubectl config use-context"
|
||||
alias kns="kubectl config set-context --current --namespace"
|
||||
|
||||
compdef kubecolor=kubectl
|
||||
|
||||
# utils
|
||||
alias convert-doc="libreoffice --headless --invisible --norestore --convert-to "
|
|
@ -20,10 +20,77 @@ ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg_bold[cyan]%}?"
|
|||
ZSH_THEME_GIT_PROMPT_AHEAD="%{$fg_bold[white]%}↑"
|
||||
ZSH_THEME_GIT_PROMPT_BEHIND="%{$fg_bold[white]%}↓"
|
||||
|
||||
git_prompt_status () {
|
||||
local INDEX STATUS
|
||||
INDEX=$(command git status --porcelain -b 2> /dev/null)
|
||||
STATUS=""
|
||||
if $(echo "$INDEX" | command grep -E '^\?\? ' &> /dev/null)
|
||||
then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^A ' &> /dev/null)
|
||||
then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
||||
elif $(echo "$INDEX" | grep '^M ' &> /dev/null)
|
||||
then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
||||
elif $(echo "$INDEX" | grep '^MM ' &> /dev/null)
|
||||
then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^ M ' &> /dev/null)
|
||||
then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||
elif $(echo "$INDEX" | grep '^AM ' &> /dev/null)
|
||||
then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||
elif $(echo "$INDEX" | grep '^MM ' &> /dev/null)
|
||||
then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||
elif $(echo "$INDEX" | grep '^ T ' &> /dev/null)
|
||||
then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^R ' &> /dev/null)
|
||||
then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_RENAMED$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^ D ' &> /dev/null)
|
||||
then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS"
|
||||
elif $(echo "$INDEX" | grep '^D ' &> /dev/null)
|
||||
then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS"
|
||||
elif $(echo "$INDEX" | grep '^AD ' &> /dev/null)
|
||||
then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS"
|
||||
fi
|
||||
if $(command git rev-parse --verify refs/stash >/dev/null 2>&1)
|
||||
then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_STASHED$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^UU ' &> /dev/null)
|
||||
then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^## [^ ]\+ .*ahead' &> /dev/null)
|
||||
then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_AHEAD$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^## [^ ]\+ .*behind' &> /dev/null)
|
||||
then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_BEHIND$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^## [^ ]\+ .*diverged' &> /dev/null)
|
||||
then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_DIVERGED$STATUS"
|
||||
fi
|
||||
echo $STATUS
|
||||
}
|
||||
|
||||
# Evaluate if root user
|
||||
__is_root() {
|
||||
if uname -s | egrep '^(CYGWIN)|(MINGW)|(MSYS)' 2>&1 >/dev/null; then
|
||||
if uname -s | grep -E '^(CYGWIN)|(MINGW)|(MSYS)' 2>&1 >/dev/null; then
|
||||
id -G | grep 544 2>&1 >/dev/null
|
||||
else
|
||||
[ $UID -eq 0 ]
|
||||
|
@ -39,63 +106,6 @@ function __get_runtime_dir() {
|
|||
fi
|
||||
}
|
||||
|
||||
prompt_cmd() {
|
||||
# exit code
|
||||
local exit_code=$?
|
||||
local exit_code_hex=$(printf '(%02x)' $exit_code)
|
||||
|
||||
if [[ exit_code -eq 0 ]]; then
|
||||
exit_code_hex="%{$FG[008]%}$exit_code_hex"
|
||||
else
|
||||
exit_code_hex="%{$fg[red]%}$exit_code_hex"
|
||||
fi
|
||||
|
||||
# name@hostname
|
||||
local user_color="$ZSH_THEME_HOSTNAME_COLOR"
|
||||
if __is_root; then
|
||||
local user_color="red"
|
||||
fi
|
||||
local name_hostname="%{$FG[$user_color]%}$USER%{$FG[$ZSH_THEME_HOSTNAME_COLOR]%}@%m"
|
||||
|
||||
# working directory
|
||||
local wd_base="${PWD/$HOME/~}"
|
||||
local wd_post=$(echo "$wd_base" | grep -Eo '(^~|/[^/]+){1,4}$')
|
||||
local wd_pre=$(echo "${wd_base/$wd_post/}" | grep -Eo '^~|/[^/]{2}' | tr -d '\n' )
|
||||
local wd="$wd_pre$wd_post"
|
||||
[[ "$wd" == "" ]] && wd="/"
|
||||
wd="%{$fg[yellow]%}$wd"
|
||||
|
||||
# prompt
|
||||
if __is_root; then
|
||||
# #
|
||||
local prompt="%{$fg[red]%}#"
|
||||
else
|
||||
# $
|
||||
local prompt="%{$FG[008]%}$"
|
||||
fi
|
||||
|
||||
printf "%s %s %s\n%s %s" "$exit_code_hex" "$name_hostname" "$wd" "$prompt" "%{$reset_color%}"
|
||||
}
|
||||
|
||||
rprompt_cmd() {
|
||||
# git
|
||||
if git rev-parse --git-dir >/dev/null 2>&1; then
|
||||
local prompt_info="$(git_prompt_info)"
|
||||
if [[ -z "$prompt_info" ]]; then
|
||||
local git_rev="$(git_prompt_short_sha)"
|
||||
else
|
||||
local git_rev="$prompt_info"
|
||||
fi
|
||||
|
||||
local prompt_status="$(git_prompt_status)"
|
||||
if [[ -n "$prompt_status" ]]; then
|
||||
local git_status="$(printf "%s[%s%s]" "%{$FG[008]%}" "$prompt_status" "%{$reset_color%}%{$FG[008]%}")"
|
||||
fi
|
||||
fi
|
||||
|
||||
printf "%s %s%s" "$git_rev" "$git_status" "%{$reset_color%}"
|
||||
}
|
||||
|
||||
# Based on http://www.anishathalye.com/2015/02/07/an-asynchronous-shell-prompt/
|
||||
ASYNC_PROC=0
|
||||
function precmd() {
|
||||
|
@ -131,4 +141,66 @@ function TRAPUSR1() {
|
|||
zle && zle reset-prompt
|
||||
}
|
||||
|
||||
prompt_cmd() {
|
||||
# exit code
|
||||
local exit_code=$?
|
||||
local exit_code_hex="$(printf '(%02x)' $exit_code)"
|
||||
|
||||
if [[ exit_code -eq 0 ]]; then
|
||||
exit_code_hex="%{$FG[008]%}$exit_code_hex"
|
||||
else
|
||||
exit_code_hex="%{$fg[red]%}$exit_code_hex"
|
||||
fi
|
||||
|
||||
# kubernetes context
|
||||
if which kubectl &>/dev/null; then
|
||||
local kubectl_context="%{$FG[008]%}[$(kubectl config current-context)|$(kubectl config view --minify -o jsonpath='{..namespace}')] "
|
||||
fi
|
||||
|
||||
# name@hostname
|
||||
local user_color="$ZSH_THEME_HOSTNAME_COLOR"
|
||||
if __is_root; then
|
||||
local user_color="red"
|
||||
fi
|
||||
local name_hostname="%{$FG[$user_color]%}$USER%{$FG[$ZSH_THEME_HOSTNAME_COLOR]%}@%m"
|
||||
|
||||
# working directory
|
||||
local work_dir_base="${PWD/$HOME/~}"
|
||||
local work_dir_post=$(echo "$work_dir_base" | grep -Eo '(^~|/[^/]+){1,4}$')
|
||||
local work_dir_pre=$(echo "${work_dir_base/$work_dir_post/}" | grep -Eo '^~|/[^/]{2}' | tr -d '\n' )
|
||||
local work_dir="$work_dir_pre$work_dir_post"
|
||||
[[ "$work_dir" == "" ]] && work_dir="/"
|
||||
work_dir="%{$fg[yellow]%}$work_dir"
|
||||
|
||||
# prompt
|
||||
if __is_root; then
|
||||
# #
|
||||
local prompt="%{$fg[red]%}#"
|
||||
else
|
||||
# $
|
||||
local prompt="%{$FG[008]%}$"
|
||||
fi
|
||||
|
||||
printf "%s %s %s %s\n%s %s" "$exit_code_hex" "$name_hostname" "$work_dir" "$kubectl_context" "$prompt" "%{$reset_color%}"
|
||||
}
|
||||
|
||||
rprompt_cmd() {
|
||||
# git
|
||||
if git rev-parse --git-dir >/dev/null 2>&1; then
|
||||
local prompt_info="$(git_prompt_info)"
|
||||
if [[ -z "$prompt_info" ]]; then
|
||||
local git_rev="$(git_prompt_short_sha)"
|
||||
else
|
||||
local git_rev="$prompt_info"
|
||||
fi
|
||||
|
||||
local prompt_status="$(git_prompt_status)"
|
||||
if [[ -n "$prompt_status" ]]; then
|
||||
local git_status="$(printf "%s[%s%s]" "%{$FG[008]%}" "$prompt_status" "%{$reset_color%}%{$FG[008]%}")"
|
||||
fi
|
||||
fi
|
||||
|
||||
printf "%s %s%s" "$git_rev" "$git_status" "%{$reset_color%}"
|
||||
}
|
||||
|
||||
# vim: syn=zsh
|
|
@ -0,0 +1,197 @@
|
|||
# Configuration file for dircolors, a utility to help you set the
|
||||
# LS_COLORS environment variable used by GNU ls with the --color option.
|
||||
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
|
||||
# Copying and distribution of this file, with or without modification,
|
||||
# are permitted provided the copyright notice and this notice are preserved.
|
||||
# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
|
||||
# slackware version of dircolors) are recognized but ignored.
|
||||
# Below are TERM entries, which can be a glob patterns, to match
|
||||
# against the TERM environment variable to determine if it is colorizable.
|
||||
TERM Eterm
|
||||
TERM ansi
|
||||
TERM *color*
|
||||
TERM con[0-9]*x[0-9]*
|
||||
TERM cons25
|
||||
TERM console
|
||||
TERM cygwin
|
||||
TERM *direct*
|
||||
TERM dtterm
|
||||
TERM gnome
|
||||
TERM hurd
|
||||
TERM jfbterm
|
||||
TERM konsole
|
||||
TERM kterm
|
||||
TERM linux
|
||||
TERM linux-c
|
||||
TERM mlterm
|
||||
TERM putty
|
||||
TERM rxvt*
|
||||
TERM screen*
|
||||
TERM st
|
||||
TERM terminator
|
||||
TERM tmux*
|
||||
TERM vt100
|
||||
TERM xterm*
|
||||
TERM alacritty
|
||||
# Below are the color init strings for the basic file types.
|
||||
# One can use codes for 256 or more colors supported by modern terminals.
|
||||
# The default color codes use the capabilities of an 8 color terminal
|
||||
# with some additional attributes as per the following codes:
|
||||
# Attribute codes:
|
||||
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
|
||||
# Text color codes:
|
||||
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
|
||||
# Background color codes:
|
||||
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
|
||||
#NORMAL 00 # no color code at all
|
||||
#FILE 00 # regular file: use no color at all
|
||||
RESET 0 # reset to "normal" color
|
||||
DIR 01;34 # directory
|
||||
LINK 01;36 # symbolic link. (If you set this to 'target' instead of a
|
||||
# numerical value, the color is as for the file pointed to.)
|
||||
MULTIHARDLINK 00 # regular file with more than one link
|
||||
FIFO 40;33 # pipe
|
||||
SOCK 01;35 # socket
|
||||
DOOR 01;35 # door
|
||||
BLK 40;33;01 # block device driver
|
||||
CHR 40;33;01 # character device driver
|
||||
ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file ...
|
||||
MISSING 00 # ... and the files they point to
|
||||
SETUID 37;41 # file that is setuid (u+s)
|
||||
SETGID 30;43 # file that is setgid (g+s)
|
||||
CAPABILITY 30;41 # file with capability
|
||||
STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
|
||||
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
|
||||
STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
|
||||
# This is for files with execute permission:
|
||||
EXEC 01;32
|
||||
# List any file extensions like '.gz' or '.tar' that you would like ls
|
||||
# to colorize below. Put the extension, a space, and the color init string.
|
||||
# (and any comments you want to add after a '#')
|
||||
# If you use DOS-style suffixes, you may want to uncomment the following:
|
||||
#.cmd 01;32 # executables (bright green)
|
||||
#.exe 01;32
|
||||
#.com 01;32
|
||||
#.btm 01;32
|
||||
#.bat 01;32
|
||||
# Or if you want to colorize scripts even if they do not have the
|
||||
# executable bit actually set.
|
||||
#.sh 01;32
|
||||
#.csh 01;32
|
||||
# archives or compressed (bright red)
|
||||
.tar 01;31
|
||||
.tgz 01;31
|
||||
.arc 01;31
|
||||
.arj 01;31
|
||||
.taz 01;31
|
||||
.lha 01;31
|
||||
.lz4 01;31
|
||||
.lzh 01;31
|
||||
.lzma 01;31
|
||||
.tlz 01;31
|
||||
.txz 01;31
|
||||
.tzo 01;31
|
||||
.t7z 01;31
|
||||
.zip 01;31
|
||||
.z 01;31
|
||||
.dz 01;31
|
||||
.gz 01;31
|
||||
.lrz 01;31
|
||||
.lz 01;31
|
||||
.lzo 01;31
|
||||
.xz 01;31
|
||||
.zst 01;31
|
||||
.tzst 01;31
|
||||
.bz2 01;31
|
||||
.bz 01;31
|
||||
.tbz 01;31
|
||||
.tbz2 01;31
|
||||
.tz 01;31
|
||||
.deb 01;31
|
||||
.rpm 01;31
|
||||
.jar 01;31
|
||||
.war 01;31
|
||||
.ear 01;31
|
||||
.sar 01;31
|
||||
.rar 01;31
|
||||
.alz 01;31
|
||||
.ace 01;31
|
||||
.zoo 01;31
|
||||
.cpio 01;31
|
||||
.7z 01;31
|
||||
.rz 01;31
|
||||
.cab 01;31
|
||||
.wim 01;31
|
||||
.swm 01;31
|
||||
.dwm 01;31
|
||||
.esd 01;31
|
||||
# image formats
|
||||
.jpg 01;35
|
||||
.jpeg 01;35
|
||||
.mjpg 01;35
|
||||
.mjpeg 01;35
|
||||
.gif 01;35
|
||||
.bmp 01;35
|
||||
.pbm 01;35
|
||||
.pgm 01;35
|
||||
.ppm 01;35
|
||||
.tga 01;35
|
||||
.xbm 01;35
|
||||
.xpm 01;35
|
||||
.tif 01;35
|
||||
.tiff 01;35
|
||||
.png 01;35
|
||||
.svg 01;35
|
||||
.svgz 01;35
|
||||
.mng 01;35
|
||||
.pcx 01;35
|
||||
.mov 01;35
|
||||
.mpg 01;35
|
||||
.mpeg 01;35
|
||||
.m2v 01;35
|
||||
.mkv 01;35
|
||||
.webm 01;35
|
||||
.webp 01;35
|
||||
.ogm 01;35
|
||||
.mp4 01;35
|
||||
.m4v 01;35
|
||||
.mp4v 01;35
|
||||
.vob 01;35
|
||||
.qt 01;35
|
||||
.nuv 01;35
|
||||
.wmv 01;35
|
||||
.asf 01;35
|
||||
.rm 01;35
|
||||
.rmvb 01;35
|
||||
.flc 01;35
|
||||
.avi 01;35
|
||||
.fli 01;35
|
||||
.flv 01;35
|
||||
.gl 01;35
|
||||
.dl 01;35
|
||||
.xcf 01;35
|
||||
.xwd 01;35
|
||||
.yuv 01;35
|
||||
.cgm 01;35
|
||||
.emf 01;35
|
||||
# https://wiki.xiph.org/MIME_Types_and_File_Extensions
|
||||
.ogv 01;35
|
||||
.ogx 01;35
|
||||
# audio formats
|
||||
.aac 00;36
|
||||
.au 00;36
|
||||
.flac 00;36
|
||||
.m4a 00;36
|
||||
.mid 00;36
|
||||
.midi 00;36
|
||||
.mka 00;36
|
||||
.mp3 00;36
|
||||
.mpc 00;36
|
||||
.ogg 00;36
|
||||
.ra 00;36
|
||||
.wav 00;36
|
||||
# https://wiki.xiph.org/MIME_Types_and_File_Extensions
|
||||
.oga 00;36
|
||||
.opus 00;36
|
||||
.spx 00;36
|
||||
.xspf 00;36
|
|
@ -0,0 +1,7 @@
|
|||
<driconf>
|
||||
<device>
|
||||
<application name="Default">
|
||||
<option name="vblank_mode" value="0" />
|
||||
</application>
|
||||
</device>
|
||||
</driconf>
|
|
@ -5,7 +5,7 @@ include "/home/marchambault/.gtkrc-2.0.mine"
|
|||
gtk-theme-name="Matcha-aliz"
|
||||
gtk-icon-theme-name="Mint-Y-Orange"
|
||||
gtk-font-name="Cantarell 11"
|
||||
gtk-cursor-theme-name="Breeze_Snow"
|
||||
gtk-cursor-theme-name="Breeze_Light"
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_TEXT
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_MENU
|
|
@ -2,4 +2,4 @@
|
|||
[Icon Theme]
|
||||
Name=Default
|
||||
Comment=Default Cursor Theme
|
||||
Inherits=Breeze_Snow
|
||||
Inherits=Breeze_Light
|
3
files/.config/sway/autostart.sh → home/dot_local/bin/executable_autostart-sway
Executable file → Normal file
3
files/.config/sway/autostart.sh → home/dot_local/bin/executable_autostart-sway
Executable file → Normal file
|
@ -1,4 +1,4 @@
|
|||
#/bin/bash
|
||||
#!/bin/bash
|
||||
|
||||
# Autostart sway if we are on tty1
|
||||
if [ -z "$WAYLAND_DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
|
||||
|
@ -10,4 +10,3 @@ if [ -z "$WAYLAND_DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
|
|||
|
||||
exec ~/.local/bin/sway 2>"$log_stderr" >"$log_stdout"
|
||||
fi
|
||||
|
0
files/.local/bin/brightness-control → home/dot_local/bin/executable_brightness-control
Executable file → Normal file
0
files/.local/bin/brightness-control → home/dot_local/bin/executable_brightness-control
Executable file → Normal file
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
xrandr --output "$(xrandr | grep '+0+' | grep -Eo '^DP-[0-9]')" --primary
|
||||
|
||||
systemctl --user stop gammastep
|
||||
sudo systemctl stop docker.service docker.socket
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
systemctl --user start gammastep
|
||||
sudo systemctl start docker
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/bash
|
||||
shopt -s nullglob
|
||||
for g in $(find /sys/kernel/iommu_groups/* -maxdepth 0 -type d | sort -V); do
|
||||
echo "IOMMU Group ${g##*/}:"
|
||||
for d in $g/devices/*; do
|
||||
echo -e "\t$(lspci -nns ${d##*/})"
|
||||
done;
|
||||
done;
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
# find displays with duplicate output
|
||||
# for each displays with duplicate output found, disable the HDMI output
|
||||
# assuming the other output is DisplayPort (prefered)
|
||||
while read -r display_with_dup_output; do
|
||||
while read -r hdmi_output; do
|
||||
# disable the hdmi output
|
||||
swaymsg "output $hdmi_output disable"
|
||||
done < <(swaymsg -t get_outputs | jq --raw-output '.[] | [.name, .make + " " + .model] | @tsv' | grep -E "$display_with_dup_output$" | awk '{print $1}' | grep HDMI) # find the hdmi output
|
||||
done < <(swaymsg -t get_outputs | jq --raw-output '.[] | [.make + " " + .model] | @tsv' | sort | uniq -d) # list all displays with duplicate outputs
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
pkill --signal SIGUSR1 swaylock
|
||||
xrandr --output DP-4 --primary
|
||||
swaymsg output HDMI-A-2 disable
|
||||
swaymsg workspace sunshine
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
swaymsg output HDMI-A-2 enable
|
||||
swaymsg workspace back_and_forth
|
||||
|
|
@ -11,23 +11,30 @@ import-gsettings() {
|
|||
eval sed -E $expressions "${XDG_CONFIG_HOME:-$HOME/.config}"/gtk-3.0/settings.ini >/dev/null
|
||||
}
|
||||
|
||||
# list DRM device priority
|
||||
# Set intel graphics as lowest priority
|
||||
# https://github.com/swaywm/sway/wiki#i-have-a-multi-gpu-setup-like-intelnvidia-or-intelamd-and-sway-does-not-start
|
||||
export WLR_DRM_DEVICES="$(drm_info -j | jq --raw-output 'to_entries[] | [if .value.driver.desc == "Intel Graphics" then 1 else 0 end, .key] | @tsv' | sort | awk '{printf "%s:", $2}' | sed -e 's/:$//')"
|
||||
|
||||
# temporary fix
|
||||
# # https://github.com/swaywm/sway/issues/4763
|
||||
export WLR_DRM_NO_ATOMIC=1
|
||||
|
||||
# disable hardware cursor (cause mouse to stutter on my setup)
|
||||
#export WLR_NO_HARDWARE_CURSORS=1
|
||||
export XDG_CURRENT_DESKTOP=sway
|
||||
export XDG_SESSION_TYPE=wayland
|
||||
|
||||
# Qt
|
||||
#export DESKTOP_SESSION=gnome
|
||||
export QT_STYLE_OVERRIDE=gtk
|
||||
export QT_QPA_PLATFORMTHEME=gtk2
|
||||
#export QT_STYLE_OVERRIDE=gtk
|
||||
#export QT_QPA_PLATFORMTHEME=gtk2
|
||||
export QT_AUTO_SCREEN_SCALE_FACTOR=0
|
||||
#export QT_QPA_PLATFORM=wayland-egl
|
||||
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
||||
|
||||
# GTK
|
||||
export CLUTTER_BACKEND=wayland
|
||||
export GTK_CSD=0
|
||||
if [[ -f /usr/lib/libgtk3-nocsd.so.0 ]]; then
|
||||
export LD_PRELOAD=/usr/lib/libgtk3-nocsd.so.0
|
||||
fi
|
||||
import-gsettings \
|
||||
gtk-theme:gtk-theme-name \
|
||||
icon-theme:gtk-icon-theme-name \
|
||||
|
@ -38,7 +45,7 @@ export ECORE_EVAS_ENGINE=wayland_egl
|
|||
export ELM_ENGINE=wayland_egl
|
||||
|
||||
# SDL
|
||||
export SDL_VIDEODRIVER=wayland
|
||||
#export SDL_VIDEODRIVER=wayland
|
||||
|
||||
# Java
|
||||
export _JAVA_AWT_WM_NONREPARENTING=1
|
0
files/.local/bin/sway-focused-window-geometry → home/dot_local/bin/executable_sway-focused-window-geometry
Executable file → Normal file
0
files/.local/bin/sway-focused-window-geometry → home/dot_local/bin/executable_sway-focused-window-geometry
Executable file → Normal file
0
files/.local/bin/sway-focused-window-properties → home/dot_local/bin/executable_sway-focused-window-properties
Executable file → Normal file
0
files/.local/bin/sway-focused-window-properties → home/dot_local/bin/executable_sway-focused-window-properties
Executable file → Normal file
0
files/.local/bin/until-success → home/dot_local/bin/executable_until-success
Executable file → Normal file
0
files/.local/bin/until-success → home/dot_local/bin/executable_until-success
Executable file → Normal file
0
files/.local/bin/volume-control → home/dot_local/bin/executable_volume-control
Executable file → Normal file
0
files/.local/bin/volume-control → home/dot_local/bin/executable_volume-control
Executable file → Normal file
|
@ -10,11 +10,22 @@ export PAGER=less
|
|||
export DIFFPROG=meld
|
||||
|
||||
# motd
|
||||
export MOTD_SERVICES="$MOTD_SERVICES docker.socket"
|
||||
export MOTD_SERVICES="$MOTD_SERVICES docker.service sshd.service"
|
||||
|
||||
# java
|
||||
export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Dsun.java2d.opengl=true"
|
||||
export JAVA_FONTS=/usr/share/fonts/TTF
|
||||
|
||||
source ~/.local/profile.d/*
|
||||
|
||||
local_profile=$HOME/.local/profile.d
|
||||
if [ -d $local_profile ]; then
|
||||
for i in $local_profile/*.sh; do
|
||||
if [ -r $i ]; then
|
||||
. $i
|
||||
fi
|
||||
done
|
||||
unset i
|
||||
fi
|
||||
unset local_profile
|
||||
|
||||
autostart-sway
|
|
@ -30,6 +30,8 @@ set updatetime=500
|
|||
" Case insensitive when all lowercase
|
||||
set ignorecase
|
||||
set smartcase
|
||||
" Clipboard
|
||||
set clipboard^=unnamed,unnamedplus
|
||||
|
||||
" Remap arrow keys
|
||||
noremap <Up> <NOP>
|
||||
|
@ -58,7 +60,7 @@ if dein#load_state(pluginpath)
|
|||
call dein#add('tpope/vim-sensible')
|
||||
|
||||
" Colorscheme
|
||||
call dein#add('ajh17/Spacegray.vim.git')
|
||||
call dein#add('https://git.sr.ht/~ackyshake/spacegray.vim')
|
||||
|
||||
" Interface
|
||||
call dein#add('itchyny/lightline.vim')
|
|
@ -1,5 +1,3 @@
|
|||
source ~/.config/sway/autostart.sh
|
||||
|
||||
# If you come from bash you might have to change your $PATH.
|
||||
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
||||
|
||||
|
@ -49,6 +47,9 @@ DISABLE_AUTO_UPDATE="true"
|
|||
# Would you like to use another custom folder than $ZSH/custom?
|
||||
ZSH_CUSTOM="$HOME/.config/zsh/custom/"
|
||||
|
||||
# https://github.com/ohmyzsh/ohmyzsh/issues/12328#issuecomment-2043492331
|
||||
zstyle ':omz:alpha:lib:git' async-prompt no
|
||||
|
||||
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
|
||||
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
|
||||
# Example format: plugins=(rails git textmate ruby lighthouse)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue