initial commit of new dotfiles repo

chromebook
Alex 2022-03-09 21:42:22 -06:00
commit fe577f85ee
152 changed files with 11665 additions and 0 deletions

View File

@ -0,0 +1,6 @@
Section "Device"
Identifier "AMD"
Driver "amdgpu"
Option "TearFree" "true"
#BusID "PCI:02:0:0"
EndSection

View File

@ -0,0 +1,5 @@
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "TearFree" "true"
EndSection

View File

@ -0,0 +1,7 @@
Section "InputClass"
Identifier "My Mouse"
MatchIsPointer "yes"
Option "AccelerationProfile" "-1"
Option "AccelerationScheme" "none"
Option "AccelSpeed" "-1"
EndSection

View File

@ -0,0 +1,415 @@
# An example configuration file for MPD.
# Read the user manual for documentation: http://www.musicpd.org/doc/user/
# or /usr/share/doc/mpd/html/user.html
# 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 "/home/alex/Music" #"/var/lib/mpd/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 "/var/lib/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 "/var/lib/mpd/tag_cache"
#
# 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, or to journal if mpd was started as
# a systemd service.
#
log_file "/var/log/mpd/mpd.log"
#
# 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 "/run/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 "/var/lib/mpd/state"
#
# The location of the sticker database. This is a database which
# manages dynamic information attached to songs.
#
sticker_file "/var/lib/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 "mpd"
#
# 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. Choose any if you want
# to have mpd listen on every address. Not effective if systemd socket
# activation is in use.
#
# For network
bind_to_address "localhost"
#
# And for Unix Socket
#bind_to_address "/run/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"
}
# QOBUZ input plugin
input {
enabled "no"
plugin "qobuz"
# app_id "ID"
# app_secret "SECRET"
# username "USERNAME"
# password "PASSWORD"
# format_id "N"
}
# TIDAL input plugin
input {
enabled "no"
plugin "tidal"
# token "TOKEN"
# username "USERNAME"
# password "PASSWORD"
# audioquality "Q"
}
# Decoder #####################################################################
#
decoder {
plugin "hybrid_dsd"
enabled "no"
# gapless "no"
}
#
###############################################################################
# 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)
# Please see README.Debian if you want mpd to play through the pulseaudio
# daemon started as part of your graphical desktop session!
#
#audio_output {
# type "pulse"
# name "My Pulse Output"
# 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
#}
#
## 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"
#
###############################################################################
audio_output {
type "fifo"
name "Visualizer feed"
path "/tmp/mpd.fifo"
format "44100:16:2"
}

View File

@ -0,0 +1,155 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
#
{ config, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
# ./sway-configuration.nix
];
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "rias"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
# Per-interface useDHCP will be mandatory in the future, so this generated config
# replicates the default behaviour.
networking.useDHCP = false;
networking.interfaces.enp5s0.useDHCP = true;
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Select internationalisation properties.
i18n = {
consoleFont = "Lat2-Terminus16";
consoleKeyMap = "us";
defaultLocale = "en_US.UTF-8";
};
# Set your time zone.
time.timeZone = "America/Chicago";
# List packages installed in system profile. To search, run:
# $ nix search wget
nixpkgs.config.allowUnfree = true;
hardware.opengl.driSupport32Bit = true;
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
hardware.pulseaudio.support32Bit = true;
fileSystems."/home/alex/HDDA" =
{ device = "/dev/disk/by-uuid/b7d683d4-9337-433b-8d33-1035ef7dbcdf";
fsType = "ext4";
};
fileSystems."/media/Seagate_HDD/" =
{ device = "/dev/disk/by-uuid/3ec3e778-2b12-469d-92be-95226c0cf759";
fsType = "ext4";
};
services.flatpak.enable = true;
environment.systemPackages = with pkgs; [
#System programs
wget file unzip unrar zsh
#KDE
# redshift-plasma-applet redshift
#GNOME
gnome3.gnome-tweaks
#Graphics
vulkan-loader
#CLI programs
vim htop radeontop
#GUI programs
firefox palemoon transmission-gtk mcomix
#Theming
gnome3.adwaita-icon-theme gnome3.defaultIconTheme
#Gaming
wineFull lutris steam
#Development
git go lua love_11
mono dotnetPackages.MonoAddins
gcc python gnumake
#needed to build wc-gammactl (maybe not all of this)
# meson ninja clang llvm
# libgcc
# gcc-unwrapped gnome3.glade gtk3 gtkmm3 cmake pkg-config wlroots
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
networking.firewall.enable = false;
# Enable CUPS to print documents.
# services.printing.enable = true;
# Enable sound.
sound.enable = true;
hardware.pulseaudio.enable = true;
# Enable the X11 windowing system.
# services.xserver.enable = true;
# services.xserver.layout = "us";
# services.xserver.xkbOptions = "eurosign:e";
# Enable touchpad support.
# services.xserver.libinput.enable = true;
# Enable the KDE Desktop Environment.
#services.xserver.displayManager.sddm.enable = true;
#services.xserver.desktopManager.plasma5.enable = true;
# Enable GNOME Desktop Environment
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome3.enable = true;
#services.dbus.packages = with pkgs; [ gnome2.GConf ];
# Define a user account. Don't forget to set a password with passwd.
users.users.alex = {
isNormalUser = true;
# shell = pkgs.zsh;
extraGroups = [ "wheel" ]; # Enable sudo for the user.
};
# This value determines the NixOS release with which your system is to be
# compatible, in order to avoid breaking some software such as database
# servers. You should change this only after NixOS release notes say you
# should.
system.stateVersion = "19.09"; # Did you read the comment?
}

View File

@ -0,0 +1,32 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, ... }:
{
imports =
[ <nixpkgs/nixos/modules/installer/scan/not-detected.nix>
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "usbhid" "uas" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/fc236860-d371-471d-9c46-14ace1e97ce6";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/FABC-F05B";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/4245f271-aee0-404a-b419-19a36262060b"; }
];
nix.maxJobs = lib.mkDefault 4;
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
}

View File

@ -0,0 +1,110 @@
# Adds Sway to NixOS
# copied from https://nixos.wiki/wiki/Sway
{ config, pkgs, lib, ... }: {
programs.sway = {
enable = true;
extraPackages = with pkgs; [
swaylock # lockscreen
swayidle
xwayland # for legacy apps
waybar # status bar
mako # notification daemon
kanshi # autorandr
];
};
#environment = {
# etc = {
# Put config files in /etc. Note that you also can put these in ~/.config, but then you can't manage them with NixOS anymore!
#"sway/config".source = ./dotfiles/sway/config;
#"xdg/waybar/config".source = ./dotfiles/waybar/config;
#"xdg/waybar/style.css".source = ./dotfiles/waybar/style.css;
# };
#};
# Here we but a shell script into path, which lets us start sway.service (after importing the environment of the login shell).
environment.systemPackages = with pkgs; [
pango
alacritty
bemenu
imv
mpv
cmus
zathura
pulsemixer
ffmpegthumbnailer
(
pkgs.writeTextFile {
name = "startsway";
destination = "/bin/startsway";
executable = true;
text = ''
#! ${pkgs.bash}/bin/bash
# first import environment variables from the login manager
systemctl --user import-environment
# then start the service
exec systemctl --user start sway.service
'';
}
)
];
systemd.user.targets.sway-session = {
description = "Sway compositor session";
documentation = [ "man:systemd.special(7)" ];
bindsTo = [ "graphical-session.target" ];
wants = [ "graphical-session-pre.target" ];
after = [ "graphical-session-pre.target" ];
};
systemd.user.services.sway = {
description = "Sway - Wayland window manager";
documentation = [ "man:sway(5)" ];
bindsTo = [ "graphical-session.target" ];
wants = [ "graphical-session-pre.target" ];
after = [ "graphical-session-pre.target" ];
# We explicitly unset PATH here, as we want it to be set by
# systemctl --user import-environment in startsway
environment.PATH = lib.mkForce null;
serviceConfig = {
Type = "simple";
ExecStart = ''
${pkgs.dbus}/bin/dbus-run-session ${pkgs.sway}/bin/sway --debug
'';
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
# services.redshift = {
# enable = true;
# Redshift with wayland support isn't present in nixos-19.09 atm. You have to cherry-pick the commit from https://github.com/NixOS/nixpkgs/pull/68285 to do that.
# package = pkgs.redshift;
# };
programs.waybar.enable = true;
systemd.user.services.kanshi = {
description = "Kanshi output autoconfig ";
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig = {
# kanshi doesn't have an option to specifiy config file yet, so it looks
# at .config/kanshi/config
ExecStart = ''
${pkgs.kanshi}/bin/kanshi
'';
RestartSec = 5;
Restart = "always";
};
};
}

View File

@ -0,0 +1,15 @@
[Trigger]
Operation=Install
Operation=Upgrade
Operation=Remove
Type=Package
Target=nvidia
Target=linux
# Change the linux part above and in the Exec line if a different kernel is used
[Action]
Description=Update Nvidia module in initcpio
Depends=mkinitcpio
When=PostTransaction
NeedsTargets
Exec=/bin/sh -c 'while read -r trg; do case $trg in linux) exit 0; esac; done; /usr/bin/mkinitcpio -P'

View File

@ -0,0 +1,2 @@
FONT=Lat2-Terminus16
FONT_MAP=8859-2

View File

@ -0,0 +1,10 @@
# Giving configuration update rights to wpa_cli
ctrl_interface=/run/wpa_supplicant
ctrl_interface_group=wheel
update_config=1
# AP scanning
ap_scan=1
# ISO/IEC alpha2 country code in which the device is operating
country=US

View File

@ -0,0 +1,5 @@
[Desktop Entry]
Type=XSession
Exec=dwm
TryExec=dwm
Name=Dwm

214
.config/Xresources Normal file
View File

@ -0,0 +1,214 @@
Xft.autohint: 1
Xft.antialias: 1
Xft.hinting: true
Xft.hintstyle: hintslight
Xft.rgba: rgb
Xft.lcdfilter: lcddefault
Xcursor.theme: Adwaita
! urxvt
urxvt.font: xft:mono:size=10:antialias=true:hinting=true
urxvt.url-launcher: /usr/bin/xdg-open
urxvt.matcher.button: 1
urxvt.matcher.pattern.0: \\b([a-zA-Z]+:\/\/\\w[\\w-.@:]*|www\\.\\w[\\w-]*\\.\\w[\\w-.]*)(\/[^"' ()]*)?
urxvt.scrollBar: false
urxvt.termName: xterm-256color
urxvt.saveLines: 10000
urxvt.inheritPixmap: true
urxvt.shading: 20
urxvt.clipboard.autocopy: true
urxvt.perl-ext-common: default,selection-to-clipboard,pasta,matcher,keyboard-select,resize-font,font
urxvt.keysym.M-u: perl:url-select:select_next
urxvt.transparent: true
urxvt.buffered: true
urxvt.jumpScroll: false
urxvt.scrollTtyKeypress: true
urxvt.scrollTtyOutput: false
urxvt.scrollWithBuffer: false
urxvt.scrollstyle: plain
urxvt.secondaryScroll: false
urxvt.xftAntialias: true
!urxvt.color4: RoyalBlue
urxvt.matcher.rend.0: Bold fg6
urxvt.cursorBlink: false
urxvt.cursorColor: #5f8fff
urxvt.mapAlert: true
urxvt.pointerBlank: true
urxvt.resource: value
urxvt.iso14755: false
urxvt.iso14755_52: false
!xterm font
XTerm.vt100.faceName: mono:size=10
!st settings
*.font: mono:pixelsize=13
*.borderpx: 2
*.tabspaces: 4
!cursorColor STRING, &colorname[258] },
!termname STRING, &termname },
!shell STRING, &shell },
*.xfps: 30
!actionfps INTEGER, &actionfps },
!blinktimeout INTEGER, &blinktimeout },
*.bellvolume: 100 !INTEGER, &bellvolume },
!cwscale FLOAT, &cwscale },
!chscale FLOAT &chscale },
!dmenu settings
dmenu.font : mono:pixelsize=13
/*** COLOR SETTINGS ***/
!global colors
#define WHITE #ffffff
#define BLACK #000000
/* include color theme. theme can be set using ~/scripts/set_colors.sh*/
#include "./color"
!if COLOR15 is not defined, there is an error in ~/.config/colors. default to nord
#ifndef COLOR15
#define COLOR0 #3B4252
#define COLOR1 #BF616A
#define COLOR2 #A3BE8C
#define COLOR3 #EBCB8B
#define COLOR4 #81A1C1
#define COLOR5 #B48EAD
#define COLOR6 #88C0D0
#define COLOR7 #E5E9F0
#define COLOR8 #4C566A
#define COLOR9 #BF616A
#define COLOR10 #A3BE8C
#define COLOR11 #EBCB8B
#define COLOR12 #81A1C1
#define COLOR13 #B48EAD
#define COLOR14 #8FBCBB
#define COLOR15 #ECEFF4
#define FOREGROUND #D8DEE9
#define BACKGROUND #2E3440
#define DWM_NBDR COLOR13
#define DWM_NBG BACKGROUND
#define DWM_NFG COLOR6
#define DWM_SBDR WHITE
#define DWM_SBG #434C5E
#define DWM_SFG COLOR13
#endif
/* DWM colors
* dwm.normbordercolor: border not currently selected
* dwm.normbgcolor: bg of top bar, bg of not selected tags, bg of dmenu
* dwm.normfgclolor: ???
* dwm.selbordercolor: active window border color, color of selected entry in dmenu
* dwm.selbgcolor: selected tag color, color of section of top bar displaying window title
* dwm.selfgcolor: color of window title text, color of current tag indicator,
*/
!source dwm colors from color pallete if not defined
#ifndef DWM_NBDR
#define DWM_NBDR COLOR8
#endif
#ifndef DWM_NBG
#define DWM_NBG COLOR0
#endif
#ifndef DWM_NFG
#define DWM_NFG COLOR15
#endif
#ifndef DWM_SBDR
#define DWM_SBDR COLOR15
#endif
#ifndef DWM_SBG
#define DWM_SBG COLOR2
#endif
#ifndef DWM_FBG
#define DWM_FBG COLOR15
#endif
!source dmenu colors from color pallette if not defined
#ifndef DMENU_NBG
#define DMENU_NBG COLOR0
#endif
#ifndef DMENU_NFG
#define DMENU_NFG COLOR15
#endif
#ifndef DMENU_SBG
#define DMENU_SBG COLOR1
#endif
#ifndef DMENU_SFG
#define DMENU_SFG COLOR15
#endif
! 6 11 14
#define AAAA COLOR6
#ifndef DMENU_SHFG
#define DMENU_SHFG AAAA
#endif
#ifndef DMENU_SHBG
#define DMENU_SHBG COLOR1
#endif
#ifndef DMENU_NHFG
#define DMENU_NHFG AAAA
#endif
#ifndef DMENU_NHBG
#define DMENU_NHBG COLOR0
#endif
!source colors for BG and FG if not defined
#ifndef BACKGROUND
#define BACKGROUND COLOR0
#endif
#ifndef FOREGROUND
#define FOREGROUND COLOR15
#endif
!set dwm colors defined in included file above
dwm.normbordercolor: DWM_NBDR
dwm.normbgcolor: DWM_NBG
dwm.normfgclolor: DWM_NFG
dwm.selbordercolor: DWM_SBDR
dwm.selbgcolor: DWM_SBG
dwm.selfgcolor: DWM_SFG
!set dmenu colors defined in included file above
dmenu.background : DMENU_NBG
dmenu.foreground : DMENU_NFG
dmenu.selbackground : DMENU_SBG
dmenu.selforeground : DMENU_SFG
dmenu.selhighlightfg : DMENU_SHFG
dmenu.selhighlightbg : DMENU_SHBG
dmenu.normhighlightfg : DMENU_NHFG
dmenu.normhighlightbg : DMENU_NHBG
/* ST/Xterm colors */
*.color0: COLOR0
*.color1: COLOR1
*.color2: COLOR2
*.color3: COLOR3
*.color4: COLOR4
*.color5: COLOR5
*.color6: COLOR6
*.color7: COLOR7
*.color8: COLOR8
*.color9: COLOR9
*.color10: COLOR10
*.color11: COLOR11
*.color12: COLOR12
*.color13: COLOR13
*.color14: COLOR14
*.color15: COLOR15
*.background: BACKGROUND
*.foreground: FOREGROUND

View File

@ -0,0 +1,529 @@
# Configuration for Alacritty, the GPU enhanced terminal emulator.
# Any items in the `env` entry below will be added as
# environment variables. Some entries may override variables
# set by alacritty itself.
env:
# TERM variable
#
# This value is used to set the `$TERM` environment variable for
# each instance of Alacritty. If it is not present, alacritty will
# check the local terminfo database and use `alacritty` if it is
# available, otherwise `xterm-256color` is used.
TERM: xterm-256color
window:
# Window dimensions (changes require restart)
#
# Specified in number of columns/lines, not pixels.
# If both are `0`, this setting is ignored.
#dimensions:
# columns: 0
# lines: 0
# Window position (changes require restart)
#
# Specified in number of pixels.
# If the position is not set, the window manager will handle the placement.
#position:
# x: 0
# y: 0
# Window padding (changes require restart)
#
# Blank space added around the window in pixels. This padding is scaled
# by DPI and the specified value is always added at both opposing sides.
padding:
x: 3
y: 3
# Spread additional padding evenly around the terminal content.
#dynamic_padding: false
# Window decorations
#
# Values for `decorations`:
# - full: Borders and title bar
# - none: Neither borders nor title bar
#
# Values for `decorations` (macOS only):
# - transparent: Title bar, transparent background and title bar buttons
# - buttonless: Title bar, transparent background, but no title bar buttons
decorations: none
opacity: 0.98
#opacity: 1
# Startup Mode (changes require restart)
#
# Values for `startup_mode`:
# - Windowed
# - Maximized
# - Fullscreen
#
# Values for `startup_mode` (macOS only):
# - SimpleFullscreen
#startup_mode: Windowed
# Window title
#title: Alacritty
# Window class (Linux/BSD only):
#class:
# Application instance name
#instance: Alacritty
# General application class
#general: Alacritty
# GTK theme variant (Linux/BSD only)
#
# Override the variant of the GTK theme. Commonly supported values are `dark` and `light`.
# Set this to `None` to use the default theme variant.
#gtk_theme_variant: None
#scrolling:
# Maximum number of lines in the scrollback buffer.
# Specifying '0' will disable scrolling.
#history: 10000
# Number of lines the viewport will move for every line scrolled when
# scrollback is enabled (history > 0).
#multiplier: 3
# Scroll to the bottom when new text is written to the terminal.
#auto_scroll: false
# Spaces per Tab (changes require restart)
#
# This setting defines the width of a tab in cells.
#
# Some applications, like Emacs, rely on knowing about the width of a tab.
# To prevent unexpected behavior in these applications, it's also required to
# change the `it` value in terminfo when altering this setting.
#tabspaces: 8
# Font configuration
font:
# Normal (roman) font face
normal:
# Font family
#
# Default:
# - (macOS) Menlo
# - (Linux/BSD) monospace
# - (Windows) Consolas
family: monospace
# The `style` can be specified to pick a specific face.
style: Regular
# Bold font face
#bold:
# Font family
#
# If the bold family is not specified, it will fall back to the
# value specified for the normal font.
#family: monospace
# The `style` can be specified to pick a specific face.
#style: Bold
# Italic font face
#italic:
# Font family
#
# If the italic family is not specified, it will fall back to the
# value specified for the normal font.
#family: monospace
# The `style` can be specified to pick a specific face.
#style: Italic
# Bold italic font face
#bold_italic:
# Font family
#
# If the bold italic family is not specified, it will fall back to the
# value specified for the normal font.
#family: monospace
# The `style` can be specified to pick a specific face.
#style: Bold Italic
# Point size
size: 10.0
# Offset is the extra space around each character. `offset.y` can be thought of
# as modifying the line spacing, and `offset.x` as modifying the letter spacing.
#offset:
# x: 0
# y: 0
# Glyph offset determines the locations of the glyphs within their cells with
# the default being at the bottom. Increasing `x` moves the glyph to the right,
# increasing `y` moves the glyph upwards.
#glyph_offset:
# x: 0
# y: 0
# Thin stroke font rendering (macOS only)
#
# Thin strokes are suitable for retina displays, but for non-retina screens
# it is recommended to set `use_thin_strokes` to `false`
#
# macOS >= 10.14.x:
#
# If the font quality on non-retina display looks bad then set
# `use_thin_strokes` to `true` and enable font smoothing by running the
# following command:
# `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO`
#
# This is a global setting and will require a log out or restart to take
# effect.
#use_thin_strokes: true
# If `true`, bold text is drawn using the bright color variants.
#draw_bold_text_with_bright_colors: true
# Base16 Atlas - alacritty color config
# Alex Lende (https://ajlende.com)
colors:
# Default colors
primary:
background: '0x002635'
foreground: '0xa1a19a'
# Colors the cursor will use if `custom_cursor_colors` is true
cursor:
text: '0x002635'
cursor: '0xa1a19a'
# Normal colors
normal:
black: '0x002635'
red: '0xff5a67'
green: '0x7fc06e'
yellow: '0xffcc1b'
blue: '0x5dd7b9'
magenta: '0x9a70a4'
cyan: '0x14747e'
white: '0xa1a19a'
# Bright colors
bright:
black: '0x6c8b91'
red: '0xf08e48'
green: '0x00384d'
yellow: '0x517f8d'
blue: '0x869696'
magenta: '0xe6e6dc'
cyan: '0xc43060'
white: '0xfafaf8'
draw_bold_text_with_bright_colors: false
# Visual Bell
#
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
# rung, the terminal background will be set to white and transition back to the
# default background color. You can control the rate of this transition by
# setting the `duration` property (represented in milliseconds). You can also
# configure the transition function by setting the `animation` property.
#
# Values for `animation`:
# - Ease
# - EaseOut
# - EaseOutSine
# - EaseOutQuad
# - EaseOutCubic
# - EaseOutQuart
# - EaseOutQuint
# - EaseOutExpo
# - EaseOutCirc
# - Linear
#
# Specifying a `duration` of `0` will disable the visual bell.
#visual_bell:
# animation: EaseOutExpo
# duration: 0
# color: '0xffffff'
# Background opacity
#
# Window opacity as a floating point number from `0.0` to `1.0`.
# The value `0.0` is completely transparent and `1.0` is opaque.
#selection:
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
# When set to `true`, selected text will be copied to the primary clipboard.
#save_to_clipboard: false
# Allow terminal applications to change Alacritty's window title.
#dynamic_title: true
#cursor:
# Cursor style
#
# Values for `style`:
# - ▇ Block
# - _ Underline
# - | Beam
#style: Block
# If this is `true`, the cursor will be rendered as a hollow box when the
# window is not focused.
#unfocused_hollow: true
# Live config reload (changes require restart)
#live_config_reload: true
# Shell
#
# You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`.
# Entries in `shell.args` are passed unmodified as arguments to the shell.
#
# Default:
# - (macOS) /bin/bash --login
# - (Linux/BSD) user login shell
# - (Windows) powershell
#shell:
# program: /bin/bash
# args:
# - --login
# Startup directory
#
# Directory the shell is started in. If this is unset, or `None`, the working
# directory of the parent process will be used.
#working_directory: None
# WinPTY backend (Windows only)
#
# Alacritty defaults to using the newer ConPTY backend if it is available,
# since it resolves a lot of bugs and is quite a bit faster. If it is not
# available, the the WinPTY backend will be used instead.
#
# Setting this option to `true` makes Alacritty use the legacy WinPTY backend,
# even if the ConPTY backend is available.
#winpty_backend: false
# Send ESC (\x1b) before characters when alt is pressed.
#alt_send_esc: true
#debug:
# Display the time it takes to redraw each frame.
#render_timer: false
# Keep the log file after quitting Alacritty.
#persistent_logging: false
# Log level
#
# Values for `log_level`:
# - None
# - Error
# - Warn
# - Info
# - Debug
# - Trace
#log_level: Warn
# Print all received window events.
#print_events: false
# Record all characters and escape sequences as test data.
#ref_test: false
#mouse:
# Click settings
#
# The `double_click` and `triple_click` settings control the time
# alacritty should wait for accepting multiple clicks as one double
# or triple click.
#double_click: { threshold: 300 }
#triple_click: { threshold: 300 }
# If this is `true`, the cursor is temporarily hidden when typing.
#hide_when_typing: false
#url:
# URL launcher
#
# This program is executed when clicking on a text which is recognized as a URL.
# The URL is always added to the command as the last parameter.
#
# When set to `None`, URL launching will be disabled completely.
#
# Default:
# - (macOS) open
# - (Linux/BSD) xdg-open
# - (Windows) explorer
#launcher:
# program: xdg-open
# args: []
# URL modifiers
#
# These are the modifiers that need to be held down for opening URLs when clicking
# on them. The available modifiers are documented in the key binding section.
#modifiers: None
# Mouse bindings
#
# Mouse bindings are specified as a list of objects, much like the key
# bindings further below.
#
# Each mouse binding will specify a:
#
# - `mouse`:
#
# - Middle
# - Left
# - Right
# - Numeric identifier such as `5`
#
# - `action` (see key bindings)
#
# And optionally:
#
# - `mods` (see key bindings)
#mouse_bindings:
# - { mouse: Middle, action: PasteSelection }
# Key bindings
#
# Key bindings are specified as a list of objects. For example, this is the
# default paste binding:
#
# `- { key: V, mods: Control|Shift, action: Paste }`
#
# Each key binding will specify a:
#
# - `key`: Identifier of the key pressed
#
# - A-Z
# - F1-F24
# - Key0-Key9
#
# A full list with available key codes can be found here:
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
#
# Instead of using the name of the keys, the `key` field also supports using
# the scancode of the desired key. Scancodes have to be specified as a
# decimal number. This command will allow you to display the hex scancodes
# for certain keys:
#
# `showkey --scancodes`.
#
# Then exactly one of:
#
# - `chars`: Send a byte sequence to the running application
#
# The `chars` field writes the specified string to the terminal. This makes
# it possible to pass escape sequences. To find escape codes for bindings
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
# of tmux. Note that applications use terminfo to map escape sequences back
# to keys. It is therefore required to update the terminfo when changing an
# escape sequence.
#
# - `action`: Execute a predefined action
#
# - Copy
# - Paste
# - PasteSelection
# - IncreaseFontSize
# - DecreaseFontSize
# - ResetFontSize
# - ScrollPageUp
# - ScrollPageDown
# - ScrollLineUp
# - ScrollLineDown
# - ScrollToTop
# - ScrollToBottom
# - ClearHistory
# - Hide
# - Minimize
# - Quit
# - ToggleFullscreen
# - SpawnNewInstance
# - ClearLogNotice
# - ReceiveChar
# - None
#
# (macOS only):
# - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
#
# - `command`: Fork and execute a specified command plus arguments
#
# The `command` field must be a map containing a `program` string and an
# `args` array of command line parameter strings. For example:
# `{ program: "alacritty", args: ["-e", "vttest"] }`
#
# And optionally:
#
# - `mods`: Key modifiers to filter binding actions
#
# - Command
# - Control
# - Option
# - Super
# - Shift
# - Alt
#
# Multiple `mods` can be combined using `|` like this:
# `mods: Control|Shift`.
# Whitespace and capitalization are relevant and must match the example.
#
# - `mode`: Indicate a binding for only specific terminal reported modes
#
# This is mainly used to send applications the correct escape sequences
# when in different modes.
#
# - AppCursor
# - AppKeypad
# - Alt
#
# A `~` operator can be used before a mode to apply the binding whenever
# the mode is *not* active, e.g. `~Alt`.
#
# Bindings are always filled by default, but will be replaced when a new
# binding with the same triggers is defined. To unset a default binding, it can
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
# a no-op if you do not wish to receive input characters for that binding.
#key_bindings:
# (Windows, Linux, and BSD only)
#- { key: V, mods: Control|Shift, action: Paste }
#- { key: C, mods: Control|Shift, action: Copy }
#- { key: Insert, mods: Shift, action: PasteSelection }
#- { key: Key0, mods: Control, action: ResetFontSize }
#- { key: Equals, mods: Control, action: IncreaseFontSize }
#- { key: Add, mods: Control, action: IncreaseFontSize }
#- { key: Subtract, mods: Control, action: DecreaseFontSize }
#- { key: Minus, mods: Control, action: DecreaseFontSize }
# (Windows only)
#- { key: Return, mods: Alt, action: ToggleFullscreen }
# (macOS only)
#- { key: Key0, mods: Command, action: ResetFontSize }
#- { key: Equals, mods: Command, action: IncreaseFontSize }
#- { key: Add, mods: Command, action: IncreaseFontSize }
#- { key: Minus, mods: Command, action: DecreaseFontSize }
#- { key: K, mods: Command, action: ClearHistory }
#- { key: K, mods: Command, chars: "\x0c" }
#- { key: V, mods: Command, action: Paste }
#- { key: C, mods: Command, action: Copy }
#- { key: H, mods: Command, action: Hide }
#- { key: M, mods: Command, action: Minimize }
#- { key: Q, mods: Command, action: Quit }
#- { key: W, mods: Command, action: Quit }
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
#- { key: Paste, action: Paste }
#- { key: Copy, action: Copy }
#- { key: L, mods: Control, action: ClearLogNotice }
#- { key: L, mods: Control, chars: "\x0c" }
#- { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt }
#- { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt }
#- { key: Home, mods: Shift, action: ScrollToTop, mode: ~Alt }
#- { key: End, mods: Shift, action: ScrollToBottom, mode: ~Alt }

View File

@ -0,0 +1,36 @@
# Base16 Atlas - alacritty color config
# Alex Lende (https://ajlende.com)
colors:
# Default colors
primary:
background: '0x002635'
foreground: '0xa1a19a'
# Colors the cursor will use if `custom_cursor_colors` is true
cursor:
text: '0x002635'
cursor: '0xa1a19a'
# Normal colors
normal:
black: '0x002635'
red: '0xff5a67'
green: '0x7fc06e'
yellow: '0xffcc1b'
blue: '0x5dd7b9'
magenta: '0x9a70a4'
cyan: '0x14747e'
white: '0xa1a19a'
# Bright colors
bright:
black: '0x6c8b91'
red: '0xf08e48'
green: '0x00384d'
yellow: '0x517f8d'
blue: '0x869696'
magenta: '0xe6e6dc'
cyan: '0xc43060'
white: '0xfafaf8'
draw_bold_text_with_bright_colors: false

View File

@ -0,0 +1,36 @@
# Base16 Dracula - alacritty color config
# Mike Barkmin (http://github.com/mikebarkmin) based on Dracula Theme (http://github.com/dracula)
colors:
# Default colors
primary:
background: '0x282936'
foreground: '0xe9e9f4'
# Colors the cursor will use if `custom_cursor_colors` is true
cursor:
text: '0x282936'
cursor: '0xe9e9f4'
# Normal colors
normal:
black: '0x282936'
red: '0xea51b2'
green: '0xebff87'
yellow: '0x00f769'
blue: '0x62d6e8'
magenta: '0xb45bcf'
cyan: '0xa1efe4'
white: '0xe9e9f4'
# Bright colors
bright:
black: '0x626483'
red: '0xb45bcf'
green: '0x3a3c4e'
yellow: '0x4d4f68'
blue: '0x62d6e8'
magenta: '0xf1f2f8'
cyan: '0x00f769'
white: '0xf7f7fb'
draw_bold_text_with_bright_colors: false

View File

@ -0,0 +1,42 @@
# Base16 Gruvbox dark, soft 256 - alacritty color config
# Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)
colors:
# Default colors
primary:
background: '0x32302f'
foreground: '0xd5c4a1'
# Colors the cursor will use if `custom_cursor_colors` is true
cursor:
text: '0x32302f'
cursor: '0xd5c4a1'
# Normal colors
normal:
black: '0x32302f'
red: '0xfb4934'
green: '0xb8bb26'
yellow: '0xfabd2f'
blue: '0x83a598'
magenta: '0xd3869b'
cyan: '0x8ec07c'
white: '0xd5c4a1'
# Bright colors
bright:
black: '0x665c54'
red: '0xfb4934'
green: '0xb8bb26'
yellow: '0xfabd2f'
blue: '0x83a598'
magenta: '0xd3869b'
cyan: '0x8ec07c'
white: '0xfbf1c7'
indexed_colors:
- { index: 16, color: '0xfe8019' }
- { index: 17, color: '0xd65d0e' }
- { index: 18, color: '0x3c3836' }
- { index: 19, color: '0x504945' }
- { index: 20, color: '0xbdae93' }
- { index: 21, color: '0xebdbb2' }

View File

@ -0,0 +1,36 @@
# Base16 Gruvbox dark, soft - alacritty color config
# Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)
colors:
# Default colors
primary:
background: '0x32302f'
foreground: '0xd5c4a1'
# Colors the cursor will use if `custom_cursor_colors` is true
cursor:
text: '0x32302f'
cursor: '0xd5c4a1'
# Normal colors
normal:
black: '0x32302f'
red: '0xfb4934'
green: '0xb8bb26'
yellow: '0xfabd2f'
blue: '0x83a598'
magenta: '0xd3869b'
cyan: '0x8ec07c'
white: '0xd5c4a1'
# Bright colors
bright:
black: '0x665c54'
red: '0xfe8019'
green: '0x3c3836'
yellow: '0x504945'
blue: '0xbdae93'
magenta: '0xebdbb2'
cyan: '0xd65d0e'
white: '0xfbf1c7'
draw_bold_text_with_bright_colors: false

View File

@ -0,0 +1,96 @@
colors:
# Default colors
primary:
background: '0x282a36'
foreground: '0xf8f8f2'
# Bright and dim foreground colors
#
# The dimmed foreground color is calculated automatically if it is not present.
# If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
# is `false`, the normal foreground color will be used.
#dim_foreground: '0x9a9a9a'
#bright_foreground: '0xffffff'
# Cursor colors
#
# Colors which should be used to draw the terminal cursor. If these are unset,
# the cursor color will be the inverse of the cell color.
#cursor:
# text: '0x000000'
# cursor: '0xffffff'
# Selection colors
#
# Colors which should be used to draw the selection area. If selection
# background is unset, selection color will be the inverse of the cell colors.
# If only text is unset the cell text color will remain the same.
#selection:
# text: '0xeaeaea'
# background: '0x404040'
# Normal colors
#normal:
# black: '0x000000'
# red: '0xd54e53'
# green: '0xb9ca4a'
# yellow: '0xe6c547'
# blue: '0x7aa6da'
# magenta: '0xc397d8'
# cyan: '0x70c0ba'
# white: '0xeaeaea'
# Bright colors
#bright:
# black: '0x666666'
# red: '0xff3334'
# green: '0x9ec400'
# yellow: '0xe7c547'
# blue: '0x7aa6da'
# magenta: '0xb77ee0'
# cyan: '0x54ced6'
# white: '0xffffff'
#dracula
normal:
black: '0x000000'
red: '0xff5555'
green: '0x50fa7b'
yellow: '0xf1fa8c'
blue: '0xbd93f9'
magenta: '0xff79c6'
cyan: '0x8be9fd'
white: '0xbbbbbb'
bright:
black: '0x44475a'
red: '0xff5555'
green: '0x50fa7b'
yellow: '0xf1fa8c'
blue: '0xbd93f9'
magenta: '0xff79c6'
cyan: '0x8be9fd'
white: '0xffffff'
# Dim colors
#
# If the dim colors are not set, they will be calculated automatically based
# on the `normal` colors.
#dim:
# black: '0x000000'
# red: '0x8c3336'
# green: '0x7a8530'
# yellow: '0x97822e'
# blue: '0x506d8f'
# magenta: '0x80638e'
# cyan: '0x497e7a'
# white: '0x9a9a9a'
# Indexed Colors
#
# The indexed colors include all colors from 16 to 256.
# When these are not set, they're filled with sensible defaults.
#
# Example:
# `- { index: 16, color: '0xff00ff' }`
#
#indexed_colors: []

56
.config/aliasrc Normal file
View File

@ -0,0 +1,56 @@
#better commands
alias ls="ls -hN --color=auto --group-directories-first"
alias wget='wget --hsts-file ~/.config/wget/wget-hsts'
#git
alias gs='git status | less'
#xbps
alias xi='sudo xbps-install'
alias xq='xbps-query'
alias xr='sudo xbps-remove'
alias vim='nvim'
#alias setwp='wal -s -t -e -i '
#shortend commands
alias btc='bluetoothctl'
#sfeed
alias sf='sfeed_curses ~/.local/share/sfeed/feeds/*'
alias sfu='sfeed_update ~/.config/sfeed/sfeedrc'
alias sfc='rm -r ~/.local/share/sfeed/feeds/*'
alias sfe='$EDITOR ~/.config/sfeed/sfeedrc'
#alias mocp='mocp -M ~/.config/moc/' #-T transparent-background'
#alias glrun='proot -r ~/.local/share/void-glibc -b /home/'
alias mpvyl='mpv --ytdl-format=18 '
#system power
alias poweroff='sudo poweroff'
alias reboot='sudo reboot'
alias shutdown='sudo shutdown'
#programs
alias trc='tremc -c @nagato:9091'
alias pm='pulsemixer'
#Youtube
alias yv='pipe-viewer --resolution=480p'
alias yd='youtube-dl'
#dotfiles configuration alias
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
note() {
NOTEFILE="$HOME/docs/notes"
if [ "$#" -lt 1 ]; then
cat "$NOTEFILE"
elif [ "$1" = "-e" ]; then
$EDITOR "$NOTEFILE"
else
echo "$@" >> "$NOTEFILE"
fi
}

1
.config/bash/history Normal file
View File

@ -0,0 +1 @@

View File

@ -0,0 +1,40 @@
#!/bin/sh
BEMENUOPTS_FILE="$HOME/.config/bemenu/bemenu_opts.sh"
HEIGHT="22" #height in pixels to make the bemenu prompt
! [ -f "$1" ] && echo "input base16 color file for first argument." && exit
NB=""
NF=""
HB=""
HF=""
SB=""
SF=""
TB=""
TF=""
FB=""
FF="#ffffff"
IFS='
'
COUNT=0
for LINE in $(cat "$1")
do
case $COUNT in
0) NB="$LINE" && HB="$LINE" && TB="$LINE" && FB="$LINE";;
1) SB="$LINE";;
6) HF="$LINE" && SF="$LINE";;
10) NF="$LINE" && TF="$LINE";;
esac
COUNT=$((COUNT + 1))
done
echo "bemenu colors updated."
echo "#!/bin/sh" > "$BEMENUOPTS_FILE"
echo "#generated from: $1" >> "$BEMENUOPTS_FILE"
echo "export BEMENU_OPTS=\"-H $HEIGHT --nb $NB --nf $NF --hb $HB --hf $HF --sb $SB --sf $SF --tb $TB --tf $TF --fb $FB --ff $FF\"" >> "$BEMENUOPTS_FILE"

View File

@ -0,0 +1,3 @@
#!/bin/sh
#generated from: colors/base16-atlas
export BEMENU_OPTS="-H 22 --nb #002635 --nf #ffcc1b --hb #002635 --hf #e6e6dc --sb #00384d --sf #e6e6dc --tb #002635 --tf #ffcc1b --fb #002635 --ff #ffffff"

View File

@ -0,0 +1,16 @@
#002635
#00384d
#517F8D
#6C8B91
#869696
#a1a19a
#e6e6dc
#fafaf8
#ff5a67
#f08e48
#ffcc1b
#7fc06e
#14747e
#5dd7b9
#9a70a4
#c43060

194
.config/cmus/autosave Normal file
View File

@ -0,0 +1,194 @@
set aaa_mode=all
set altformat_current= %F
set altformat_playlist= %f%= %d
set altformat_title=%f
set altformat_trackwin= %f%= %d
set auto_expand_albums_follow=true
set auto_expand_albums_search=true
set auto_expand_albums_selcur=true
set auto_reshuffle=true
set buffer_seconds=10
set color_cmdline_attr=default
set color_cmdline_bg=default
set color_cmdline_fg=default
set color_cur_sel_attr=default
set color_error=lightred
set color_info=lightyellow
set color_separator=blue
set color_statusline_attr=default
set color_statusline_bg=gray
set color_statusline_fg=black
set color_titleline_attr=default
set color_titleline_bg=blue
set color_titleline_fg=white
set color_trackwin_album_attr=bold
set color_trackwin_album_bg=default
set color_trackwin_album_fg=default
set color_win_attr=default
set color_win_bg=default
set color_win_cur=lightyellow
set color_win_cur_attr=default
set color_win_cur_sel_attr=default
set color_win_cur_sel_bg=blue
set color_win_cur_sel_fg=lightyellow
set color_win_dir=lightblue
set color_win_fg=default
set color_win_inactive_cur_sel_attr=default
set color_win_inactive_cur_sel_bg=gray
set color_win_inactive_cur_sel_fg=lightyellow
set color_win_inactive_sel_attr=default
set color_win_inactive_sel_bg=gray
set color_win_inactive_sel_fg=black
set color_win_sel_attr=default
set color_win_sel_bg=blue
set color_win_sel_fg=white
set color_win_title_attr=default
set color_win_title_bg=blue
set color_win_title_fg=white
set confirm_run=true
set continue=false
set device=/dev/cdrom
set display_artist_sort_name=false
set dsp.alsa.device=default
set follow=false
set format_current= %a - %l -%3n. %t%= %y
set format_playlist= %-21%a %3n. %t%= %y %d %{?X!=0?%3X ? }
set format_playlist_va= %-21%A %3n. %t (%a)%= %y %d %{?X!=0?%3X ? }
set format_statusline= %{status} %{?show_playback_position?%{position} %{?duration?/ %{duration} }?%{?duration?%{duration} }}- %{total} %{?bpm>0?at %{bpm} BPM }%{?volume>=0?vol: %{?lvolume!=rvolume?%{lvolume},%{rvolume} ?%{volume} }}%{?stream?buf: %{buffer} }%{?show_current_bitrate & bitrate>=0? %{bitrate} kbps }%=%{?repeat_current?repeat current?%{?play_library?%{playlist_mode} from %{?play_sorted?sorted }library?playlist}} | %1{continue}%1{follow}%1{repeat}%1{shuffle}
set format_title=%a - %l - %t (%y)
set format_trackwin=%3n. %t%= %y %d
set format_trackwin_album= %l %= %{albumduration}
set format_trackwin_va=%3n. %t (%a)%= %y %d
set format_treewin= %l
set format_treewin_artist=%a
set icecast_default_charset=ISO-8859-1
set id3_default_charset=ISO-8859-1
set input.cue.priority=50
set input.ffmpeg.priority=30
set input.mad.priority=55
set input.vorbis.priority=50
set input.wav.priority=50
set lib_add_filter=
set lib_sort=albumartist date album discnumber tracknumber title filename play_count
set mixer.alsa.channel=Master
set mixer.alsa.device=default
set mouse=false
set mpris=false
set output_plugin=alsa
set passwd=
set pl_sort=
set play_library=true
set play_sorted=false
set repeat=false
set repeat_current=false
set replaygain=disabled
set replaygain_limit=true
set replaygain_preamp=0.000000
set resume=false
set rewind_offset=5
set scroll_offset=2
set set_term_title=true
set show_all_tracks=true
set show_current_bitrate=false
set show_hidden=false
set show_playback_position=true
set show_remaining_time=false
set shuffle=false
set skip_track_info=false
set smart_artist_sort=true
set softvol=false
set softvol_state=0 0
set start_view=tree
set status_display_program=
set time_show_leading_zero=true
set wrap_search=true
bind browser backspace browser-up
bind browser i toggle show_hidden
bind browser space win-activate
bind browser u win-update
bind common ! push shell
bind common + vol +10%
bind common , seek -1m
bind common - vol -10%
bind common . seek +1m
bind common / search-start
bind common 1 view tree
bind common 2 view sorted
bind common 3 view playlist
bind common 4 view queue
bind common 5 view browser
bind common 6 view filters
bind common 7 view settings
bind common = vol +10%
bind common ? search-b-start
bind common C toggle continue
bind common D win-remove
bind common E win-add-Q
bind common F push filter
bind common G win-bottom
bind common I echo {}
bind common L push live-filter
bind common M toggle play_library
bind common N search-prev
bind common P win-mv-before
bind common U win-update-cache
bind common [ vol +1% +0
bind common ] vol +0 +1%
bind common ^B win-page-up
bind common ^C echo Type :quit<enter> to exit cmus.
bind common ^D win-half-page-down
bind common ^E win-scroll-down
bind common ^F win-page-down
bind common ^L refresh
bind common ^R toggle repeat_current
bind common ^U win-half-page-up
bind common ^Y win-scroll-up
bind common a win-add-l
bind common b player-next
bind common c win-mv-after
bind common delete win-remove
bind common down win-down
bind common e win-add-q
bind common end win-bottom
bind common enter win-activate
bind common f toggle follow
bind common g win-top
bind common h seek -5
bind common home win-top
bind common i win-sel-cur
bind common j win-down
bind common k win-up
bind common l seek +5
bind common left seek -5
bind common m toggle aaa_mode
bind common mlb_click_selected win-activate
bind common mouse_scroll_down win-down
bind common mouse_scroll_up win-up
bind common n search-next
bind common o toggle play_sorted
bind common p player-pause
bind common page_down win-page-down
bind common page_up win-page-up
bind common q quit -i
bind common r toggle repeat
bind common right seek +5
bind common s toggle shuffle
bind common space win-toggle
bind common t toggle show_remaining_time
bind common tab win-next
bind common u update-cache
bind common up win-up
bind common v player-stop
bind common x player-play
bind common y win-add-p
bind common z player-prev
bind common { vol -1% -0
bind common } vol -0 -1%
fset 90s=date>=1990&date<2000
fset classical=genre="Classical"
fset missing-tag=!stream&(artist=""|album=""|title=""|tracknumber=-1|date=-1)
fset mp3=filename="*.mp3"
fset ogg=filename="*.ogg"
fset ogg-or-mp3=ogg|mp3
fset unheard=play_count=0
factivate

4
.config/cmus/rc Normal file
View File

@ -0,0 +1,4 @@
set output_plugin=alsa
set dsp.alsa.device=default
set mixer.alsa.device=default
set mixer.alsa.channel=Master

View File

@ -0,0 +1,76 @@
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- Set preferred serif, sans serif, and monospace fonts. -->
<alias>
<family>Serif</family>
<prefer><family>Linux Libertine</family></prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer><family>Linux Biolinum</family></prefer>
</alias>
<alias>
<family>sans</family>
<prefer><family>Linux Biolinum</family></prefer>
</alias>
<alias>
<family>monospace</family>
<prefer><family>Mononoki Nerd Font</family></prefer>
<!-- <prefer><family>Terminus (TTF)</family></prefer> -->
</alias>
<!-- Aliases for commonly used MS fonts. -->
<match>
<test name="family"><string>Arial</string></test>
<edit name="family" mode="assign" binding="strong">
<string>Linux Biolinum</string>
</edit>
</match>
<match>
<test name="family"><string>Helvetica</string></test>
<edit name="family" mode="assign" binding="strong">
<string>Linux Biolinum</string>
</edit>
</match>
<match>
<test name="family"><string>Verdana</string></test>
<edit name="family" mode="assign" binding="strong">
<string>Linux Biolinum</string>
</edit>
</match>
<match>
<test name="family"><string>Tahoma</string></test>
<edit name="family" mode="assign" binding="strong">
<string>Linux Biolinum</string>
</edit>
</match>
<match>
<!-- Insert joke here -->
<test name="family"><string>Comic Sans MS</string></test>
<edit name="family" mode="assign" binding="strong">
<string>Linux Biolinum</string>
</edit>
</match>
<match>
<test name="family"><string>Times New Roman</string></test>
<edit name="family" mode="assign" binding="strong">
<string>Linux Libertine</string>
</edit>
</match>
<match>
<test name="family"><string>Times</string></test>
<edit name="family" mode="assign" binding="strong">
<string>Linux Libertine</string>
</edit>
</match>
<match>
<test name="family"><string>Courier New</string></test>
<edit name="family" mode="assign" binding="strong">
<string>Mononoki Nerd Font</string>
</edit>
</match>
</fontconfig>

View File

@ -0,0 +1,69 @@
; Global settings
[general]
; Set the day and night screen temperatures
temp-day=3600
temp-night=3500
; 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=1
;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', '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=32
lon=-86
; 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

View File

@ -0,0 +1,11 @@
[Filechooser Settings]
LocationMode=path-bar
ShowHidden=true
ShowSizeColumn=true
GeometryX=512
GeometryY=194
GeometryWidth=792
GeometryHeight=702
SortColumn=name
SortOrder=ascending
StartupMode=recent

19
.config/gtk-2.0/gtkrc-2.0 Normal file
View File

@ -0,0 +1,19 @@
# DO NOT EDIT! This file will be overwritten by LXAppearance.
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
include "/home/alex/.gtkrc-2.0.mine"
gtk-theme-name="Nordic-standard-buttons"
gtk-icon-theme-name="Papirus"
gtk-font-name="Sans 10"
gtk-cursor-theme-name="Adwaita"
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle="hintfull"
gtk-xft-rgba="rgb"

View File

@ -0,0 +1,16 @@
[Settings]
gtk-theme-name=Nordic-standard-buttons
gtk-icon-theme-name=Papirus
gtk-font-name=Sans 10
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=rgb
gtk-cursor-theme-name=Adwaita

1
.config/inputrc Normal file
View File

@ -0,0 +1 @@
$include /etc/inputrc

1337
.config/kitty/kitty.conf Normal file

File diff suppressed because it is too large Load Diff

163
.config/lf/lf-icons.sh Normal file
View File

@ -0,0 +1,163 @@
#!/bin/sh
export LF_ICONS="\
di=:\
fi=:\
ln=:\
or=:\
ex=:\
*.c=:\
*.cc=:\
*.clj=:\
*.coffee=:\
*.cpp=:\
*.css=:\
*.d=:\
*.dart=:\
*.erl=:\
*.exs=:\
*.fs=:\
*.go=:\
*.gitignore=:\
*.h=:\
*.hh=:\
*.hpp=:\
*.hs=:\
*.html=:\
*.java=:\
*.jl=:\
*.js=:\
*.json=:\
*.lua=:\
*.md=:\
*.php=:\
*.pl=:\
*.pro=:\
*.py=:\
*.rb=:\
*.rs=:\
*.scala=:\
*.ts=:\
*.vim=:\
*.cmd=:\
*.ps1=:\
*.sh=:\
*.bash=:\
*.zsh=:\
*.fish=:\
*.tar=:\
*.tgz=:\
*.arc=:\
*.arj=:\
*.taz=:\
*.lha=:\
*.lz4=:\
*.lzh=:\
*.lzma=:\
*.tlz=:\
*.txz=:\
*.tzo=:\
*.t7z=:\
*.zip=:\
*.z=:\
*.dz=:\
*.gz=:\
*.lrz=:\
*.lz=:\
*.lzo=:\
*.xz=:\
*.zst=:\
*.tzst=:\
*.bz2=:\
*.bz=:\
*.tbz=:\
*.tbz2=:\
*.tz=:\
*.deb=:\
*.rpm=:\
*.jar=:\
*.war=:\
*.ear=:\
*.sar=:\
*.rar=:\
*.alz=:\
*.ace=:\
*.zoo=:\
*.cpio=:\
*.7z=:\
*.rz=:\
*.cab=:\
*.wim=:\
*.swm=:\
*.dwm=:\
*.esd=:\
*.exe=🍷:\
*.jpg=:\
*.jpeg=:\
*.mjpg=:\
*.mjpeg=:\
*.gif=:\
*.bmp=:\
*.pbm=:\
*.pgm=:\
*.ppm=:\
*.tga=:\
*.xbm=:\
*.xpm=:\
*.tif=:\
*.tiff=:\
*.png=:\
*.svg=:\
*.svgz=:\
*.mng=:\
*.pcx=:\
*.mov=:\
*.mpg=:\
*.mpeg=:\
*.m2v=:\
*.mkv=:\
*.webm=:\
*.ogm=:\
*.mp4=:\
*.m4v=:\
*.mp4v=:\
*.vob=:\
*.qt=:\
*.nuv=:\
*.wmv=:\
*.asf=:\
*.rm=:\
*.rmvb=:\
*.flc=:\
*.avi=:\
*.fli=:\
*.flv=:\
*.gl=:\
*.dl=:\
*.xcf=:\
*.xwd=:\
*.yuv=:\
*.cgm=:\
*.emf=:\
*.ogv=:\
*.ogx=:\
*.aac=:\
*.au=:\
*.flac=:\
*.m4a=:\
*.mid=:\
*.midi=:\
*.mka=:\
*.mp3=:\
*.mpc=:\
*.ogg=:\
*.ra=:\
*.wav=:\
*.oga=:\
*.opus=:\
*.spx=:\
*.xspf=:\
*.pdf=:\
*.nix=:\
"

128
.config/lf/lfrc Normal file
View File

@ -0,0 +1,128 @@
# interpreter for shell commands (needs to be POSIX compatible)
set shell sh
set color256 true
set icons true
set ignorecase true
#set drawbox true
set previewer ~/.config/lf/pv.sh
map i $~/.config/lf/pv.sh $f | less -R
# set '-eu' options for shell commands
# These options are used to have safer shell commands. Option '-e' is used to
# exit on error and option '-u' is used to give error for unset variables.
# Option '-f' disables pathname expansion which can be useful when $f, $fs, and
# $fx variables contain names with '*' or '?' characters. However, this option
# is used selectively within individual commands as it can be limiting at
# times.
set shellopts '-eu'
# set internal field separator (IFS) to "\n" for shell commands
# This is useful to automatically split file names in $fs and $fx properly
# since default file separator used in these variables (i.e. 'filesep' option)
# is newline. You need to consider the values of these options and create your
# commands accordingly.
set ifs "\n"
# leave some space at the top and the bottom of the screen
set scrolloff 10
# use enter for shell commands
map <enter> shell
# execute current file (must be executable)
map x $$f
map X !$f
# dedicated keys for file opener actions
map o &mimeo $f
map O $mimeopen --ask $f
# define a custom 'open' command
# This command is called when current file is not a directory. You may want to
# use either file extensions and/or mime types here. Below uses an editor for
# text files and a file opener for the rest.
cmd open ${{
case $(file --mime-type $f -b) in
text/*) $EDITOR $fx;;
audio/*) mpv --input-ipc-server=/tmp/mpvsoc$(date +%%s) $f ;;
application/pdf) setsid zathura $fx >/dev/null 2>&1 & ;;
application/zip) setsid unzip -l $f | less;;
application/rar) setsid unrar l $f | less;;
image/gif) setsid mpv $f --loop=inf ;;
image/jpeg) setsid imv $f ;;
image/png) setsid imv $f ;;
image/*) setsid imv $f ;;
video/*) setsid mpv $f ;;
application/json) $EDITOR $f;;
*) for f in $fx; do setsid $OPENER $f > /dev/null 2> /dev/null & done;;
esac
}}
# define a custom 'rename' command without prompt for overwrite
# cmd rename %[ -e $1 ] && printf "file exists" || mv $f $1
# map r push :rename<space>
# make sure trash folder exists
%mkdir -p ~/.trash
# move current file or selected files to trash folder
# (also see 'man mv' for backup/overwrite options)
cmd trash %set -f; mv $fx ~/.trash/
# define a custom 'delete' command
cmd delete ${{
set -f
printf "$fx\n"
printf "delete?[y/n]"
read ans
[ $ans = "y" ] && rm -rf $fx
}}
# use '<backspace2>' key for either 'trash' or 'delete' command
map <backspace2> trash
# map <delete> delete
# extract the current file with the right command
# (xkcd link: https://xkcd.com/1168/)
cmd extract ${{
set -f
DIR="$(basename "$f" | cut -f 1 -d '.')"
mkdir "$DIR"
case $f in
*.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf "$f" --directory="$DIR";;
*.tar.gz|*.tgz) tar xzvf "$f" --directory="$DIR";;
*.tar.xz|*.txz) tar xJvf "$f" --directory="$DIR";;
*.zip) unzip "$f" -d "$DIR";;
*.rar) unrar x "$f" "$DIR";;
*.7z | *.crx) 7z x "$f" -o"$DIR";;
esac
}}
cmd compress ${{
set -f
NAME="$(basename "$fx")"
if ! [ -d "$NAME" ]; then
NAME="$(basename "$PWD")"
mkdir "$NAME"
cp -r $fx "$NAME"
fi
echo "enter compression type [tar.gz, zip, 7z(default)]: "
read TYPE
case "$TYPE" in
tar.gz) tar czf "$NAME".tar.gz "$NAME";;
zip) zip -r "$NAME".zip "$NAME";;
*) 7z a "$NAME".7z "$NAME";;
esac
! [ -d "$fx" ] && rm -rf "$NAME"
}}
map c compress $fx
map C extract $f

37
.config/lf/pv.sh Executable file
View File

@ -0,0 +1,37 @@
#!/bin/sh
#if [ "$(echo "$TERM" | grep "kitty" )" ]; then
# IMG_CMD="kitty +kitten icat"
#IMG_CMD="jp2a"
# case "$1" in
# *.tar*) tar tf "$1";;
# *.zip) unzip -l "$1";;
# *.rar) unrar l "$1";;
# *.7z) 7z l "$1";;
# *.jpg | *.JPG | *.jpeg) $IMG_CMD "$1";;
# *.png | *.svg | *.gif) $IMG_CMD "$1";;
# *.mp4 | *.mkv | *.webm | *.avi | *.mpg | *.mpeg | *.ogv | *.flv | *.wmv | *.WMV) ffmpegthumbnailer -i "$1" -c jpeg -o - | $IMG_CMD -;;
# #*.jpg | *.JPG | *.jpeg) jp2a "$1" -b --width=$(($(tput cols)/2 - 10));;
# #*.png | *.svg | *.gif) convert "$1" jpg:- | jp2a - -b --width=$(($(tput cols)/2 - 10));;
# #*.mp4 | *.mkv | *.webm | *.avi | *.mpg | *.mpeg | *.ogv | *.flv | *.wmv | *.WMV) ffmpegthumbnailer -i "$1" -c jpeg -o - | jp2a - -b --width=$(($(tput cols)/2 - 10));;
# *.pdf) pdftotext "$1" -;;
# *) highlight -O ansi "$1" || cat "$1";;
# esac
#else
case "$1" in
*.tar*) tar tf "$1";;
*.zip) unzip -l "$1";;
*.rar) unrar l "$1";;
*.7z) 7z l "$1";;
*.jpg | *.JPG | *.jpeg) viu -t "$1" -w $(($(tput cols)/2 - 10));;
*.png | *.svg | *.gif) viu -t "$1" -w $(($(tput cols)/2 - 10)) ;;
*.mp4 | *.mkv | *.webm | *.avi | *.mpg | *.mpeg | *.ogv | *.flv | *.wmv | *.WMV) ffmpegthumbnailer -i "$1" -c jpeg -o - | viu -t -;;
#*.jpg | *.JPG | *.jpeg) jp2a "$1" -b --width=$(($(tput cols)/2 - 10));;
#*.png | *.svg | *.gif) convert "$1" jpg:- | jp2a - -b --width=$(($(tput cols)/2 - 10));;
#*.mp4 | *.mkv | *.webm | *.avi | *.mpg | *.mpeg | *.ogv | *.flv | *.wmv | *.WMV) ffmpegthumbnailer -i "$1" -c jpeg -o - | jp2a - -b --width=$(($(tput cols)/2 - 10));;
*.pdf) pdftotext "$1" -;;
*) highlight -O ansi "$1" || cat "$1";;
esac
#fi

View File

@ -0,0 +1,56 @@
local modes = require("modes")
local settings = require("settings")
local downloads = require("downloads")
local webview = require("webview")
---set download dir, and stop prompt for download
downloads.default_dir = os.getenv("HOME") .. "/dl"
downloads.add_signal("download-location", function (uri, file)
luakit.spawn(string.format("notify-send 'Luakit' 'file downloaded to ~/dl/'"))
if not file or file == "" then
file = (string.match(uri, "/([^/]+)$")
or string.match(uri, "^%w+://(.+)")
or string.gsub(uri, "/", "_")
or "untitled")
end
return downloads.default_dir .. "/" .. file
end)
---set how to handle various schemes (from luakit FAQ)
webview.add_signal("init", function (view)
view:add_signal("navigation-request", function (v, uri)
---open magnet links with transadd
if string.match(string.lower(uri), "^magnet:") then
luakit.spawn(string.format("%s %q", "transadd", uri))
return false
end
--- Check URI and open program here
end)
end)
---set home page
settings.window.home_page = os.getenv("HOME") .. "/.config/startpage/index.html"
---open webpage in mpv with: ; + shift + m
local video_cmd_fmt = "mpv '%s' --loop"
modes.add_binds("ex-follow", {
{ "m", "Hint all links and open the video behind that link externally with MPV.",
function (w)
w:set_mode("follow", {
prompt = "open with MPV", selector = "uri", evaluator = "uri",
func = function (uri)
assert(type(uri) == "string")
luakit.spawn(string.format(video_cmd_fmt, uri))
w:notify("Launched MPV")
end
})
end },
{ "M", "Open the video on the current page externally with MPV.",
function (w)
local uri = string.gsub(w.view.uri or "", " ", "%%20")
luakit.spawn(string.format(video_cmd_fmt, uri))
w:notify("Launched MPV")
end },
})

282
.config/mimeapps.list Normal file
View File

@ -0,0 +1,282 @@
[Default Applications]
application/pdf=pdf.desktop;
image/gif=img.desktop;
image/jpeg=img.desktop;
image/png=img.desktop;
video/*=video.desktop;
text/plain=text.desktop;
text/x-shellscript=text.desktop;
x-scheme-handler/magnet=torrent.desktop;
application/x-bittorrent=torrent.desktop;
text/html=web.desktop
text/uri-list=web.desktop
text/x-uri=web.desktop
x-scheme-handler/about=web.desktop
x-scheme-handler/unknown=web.desktop
x-scheme-handler/tg=userapp-Telegram Desktop-QXV020.desktop
application/msword=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
application/rtf=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
application/vnd.ms-works=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
application/vnd.oasis.opendocument.text=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
application/vnd.oasis.opendocument.text-template=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
application/vnd.openxmlformats-officedocument.wordprocessingml.document=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
application/vnd.stardivision.writer=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
application/vnd.wordperfect=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
application/x-abiword=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
audio/3gpp=deadbeef.desktop
audio/3gpp2=io.github.celluloid_player.Celluloid.desktop
audio/aac=deadbeef.desktop
audio/ac3=deadbeef.desktop
audio/amr=io.github.celluloid_player.Celluloid.desktop
audio/amr-wb=io.github.celluloid_player.Celluloid.desktop
audio/basic=io.github.celluloid_player.Celluloid.desktop
audio/dv=io.github.celluloid_player.Celluloid.desktop
audio/eac3=io.github.celluloid_player.Celluloid.desktop
audio/flac=deadbeef.desktop
audio/m4a=deadbeef.desktop
audio/midi=deadbeef.desktop
audio/mp1=io.github.celluloid_player.Celluloid.desktop
audio/mp2=io.github.celluloid_player.Celluloid.desktop
audio/mp3=deadbeef.desktop
audio/mp4=deadbeef.desktop
audio/mpeg=deadbeef.desktop
audio/mpegurl=io.github.celluloid_player.Celluloid.desktop
audio/mpg=deadbeef.desktop
audio/ogg=deadbeef.desktop
audio/opus=io.github.celluloid_player.Celluloid.desktop
audio/scpls=io.github.celluloid_player.Celluloid.desktop
audio/vnd.dolby.heaac.1=io.github.celluloid_player.Celluloid.desktop
audio/vnd.dolby.heaac.2=io.github.celluloid_player.Celluloid.desktop
audio/vnd.dolby.mlp=io.github.celluloid_player.Celluloid.desktop
audio/vnd.dts=io.github.celluloid_player.Celluloid.desktop
audio/vnd.dts.hd=io.github.celluloid_player.Celluloid.desktop
audio/vnd.rn-realaudio=io.github.celluloid_player.Celluloid.desktop
audio/wav=deadbeef.desktop
audio/webm=deadbeef.desktop
audio/x-aac=deadbeef.desktop
audio/x-aiff=deadbeef.desktop
audio/x-ape=io.github.celluloid_player.Celluloid.desktop
audio/x-flac=deadbeef.desktop
audio/x-gsm=io.github.celluloid_player.Celluloid.desktop
audio/x-it=deadbeef.desktop
audio/x-m4a=io.github.celluloid_player.Celluloid.desktop
audio/x-matroska=io.github.celluloid_player.Celluloid.desktop
audio/x-mod=deadbeef.desktop
audio/x-mp1=io.github.celluloid_player.Celluloid.desktop
audio/x-mp2=io.github.celluloid_player.Celluloid.desktop
audio/x-mp3=deadbeef.desktop
audio/x-mpeg=deadbeef.desktop
audio/x-mpegurl=deadbeef.desktop
audio/x-mpg=deadbeef.desktop
audio/x-ms-asf=deadbeef.desktop
audio/x-ms-wma=deadbeef.desktop
audio/x-musepack=io.github.celluloid_player.Celluloid.desktop
audio/x-pn-aiff=io.github.celluloid_player.Celluloid.desktop
audio/x-pn-au=io.github.celluloid_player.Celluloid.desktop
audio/x-pn-realaudio=io.github.celluloid_player.Celluloid.desktop
audio/x-pn-wav=io.github.celluloid_player.Celluloid.desktop
audio/x-real-audio=io.github.celluloid_player.Celluloid.desktop
audio/x-realaudio=io.github.celluloid_player.Celluloid.desktop
audio/x-s3m=deadbeef.desktop
audio/x-scpls=deadbeef.desktop
audio/x-shorten=io.github.celluloid_player.Celluloid.desktop
audio/x-speex=io.github.celluloid_player.Celluloid.desktop
audio/x-tta=io.github.celluloid_player.Celluloid.desktop
audio/x-vorbis=deadbeef.desktop
audio/x-vorbis+ogg=deadbeef.desktop
audio/x-wav=deadbeef.desktop
audio/x-wavpack=deadbeef.desktop
audio/x-xm=deadbeef.desktop
audio/mp4a-latm=deadbeef.desktop
audio/mpeg3=deadbeef.desktop
audio/vorbis=deadbeef.desktop
audio/wave=deadbeef.desktop
audio/x-mpeg-3=deadbeef.desktop
audio/x-ogg=deadbeef.desktop
audio/x-oggflac=deadbeef.desktop
audio/prs.sid=deadbeef.desktop
video/3gp=mpv.desktop
video/3gpp=mpv.desktop
video/3gpp2=mpv.desktop
video/avi=mpv.desktop
video/divx=mpv.desktop
video/dv=mpv.desktop
video/fli=mpv.desktop
video/flv=mpv.desktop
video/mkv=mpv.desktop
video/mp2t=mpv.desktop
video/mp4=mpv.desktop
video/mp4v-es=mpv.desktop
video/mpeg=mpv.desktop
video/msvideo=mpv.desktop
video/ogg=mpv.desktop
video/quicktime=mpv.desktop
video/vnd.divx=mpv.desktop
video/vnd.mpegurl=mpv.desktop
video/vnd.rn-realvideo=mpv.desktop
video/webm=mpv.desktop
video/x-avi=mpv.desktop
video/x-flc=mpv.desktop
video/x-flic=mpv.desktop
video/x-flv=mpv.desktop
video/x-m4v=mpv.desktop
video/x-matroska=mpv.desktop
video/x-mpeg2=mpv.desktop
video/x-mpeg3=mpv.desktop
video/x-ms-afs=mpv.desktop
video/x-ms-asf=mpv.desktop
video/x-ms-wmv=mpv.desktop
video/x-ms-wmx=mpv.desktop
video/x-ms-wvxvideo=mpv.desktop
video/x-msvideo=mpv.desktop
video/x-ogm=mpv.desktop
video/x-ogm+ogg=mpv.desktop
video/x-theora=mpv.desktop
video/x-theora+ogg=mpv.desktop
video/vivo=mpv.desktop
video/x-anim=mpv.desktop
video/x-fli=mpv.desktop
video/x-mng=mpv.desktop
video/x-mpeg=mpv.desktop
video/x-ms-asx=mpv.desktop
video/x-ms-wm=mpv.desktop
video/x-ms-wvx=mpv.desktop
video/x-nsv=mpv.desktop
text/x-arduino=arduino-arduinoide.desktop
x-scheme-handler/angr=angr.desktop
[Added Associations]
image/jpeg=img.desktop;
image/png=img.desktop;
text/html=web.desktop;
inode/directory=lf.desktop
application/rss+xml=web.desktop;
x-scheme-handler/tg=userapp-Telegram Desktop-9CKHY0.desktop;userapp-Telegram Desktop-COMF30.desktop;userapp-Telegram Desktop-QXV020.desktop;
application/msword=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
application/rtf=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
application/vnd.ms-works=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
application/vnd.oasis.opendocument.text=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
application/vnd.oasis.opendocument.text-template=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
application/vnd.openxmlformats-officedocument.wordprocessingml.document=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
application/vnd.stardivision.writer=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
application/vnd.wordperfect=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
application/x-abiword=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
audio/x-vorbis+ogg=deadbeef.desktop;io.github.celluloid_player.Celluloid.desktop;
audio/3gpp=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/3gpp2=io.github.celluloid_player.Celluloid.desktop;
audio/aac=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/ac3=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/amr=io.github.celluloid_player.Celluloid.desktop;
audio/amr-wb=io.github.celluloid_player.Celluloid.desktop;
audio/basic=io.github.celluloid_player.Celluloid.desktop;
audio/dv=io.github.celluloid_player.Celluloid.desktop;
audio/eac3=io.github.celluloid_player.Celluloid.desktop;
audio/flac=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/m4a=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/midi=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/mp1=io.github.celluloid_player.Celluloid.desktop;
audio/mp2=io.github.celluloid_player.Celluloid.desktop;
audio/mp3=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/mp4=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/mpeg=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/mpegurl=io.github.celluloid_player.Celluloid.desktop;
audio/mpg=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/ogg=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/opus=io.github.celluloid_player.Celluloid.desktop;
audio/scpls=io.github.celluloid_player.Celluloid.desktop;
audio/vnd.dolby.heaac.1=io.github.celluloid_player.Celluloid.desktop;
audio/vnd.dolby.heaac.2=io.github.celluloid_player.Celluloid.desktop;
audio/vnd.dolby.mlp=io.github.celluloid_player.Celluloid.desktop;
audio/vnd.dts=io.github.celluloid_player.Celluloid.desktop;
audio/vnd.dts.hd=io.github.celluloid_player.Celluloid.desktop;
audio/vnd.rn-realaudio=io.github.celluloid_player.Celluloid.desktop;
audio/wav=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/webm=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-aac=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-aiff=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-ape=io.github.celluloid_player.Celluloid.desktop;
audio/x-flac=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-gsm=io.github.celluloid_player.Celluloid.desktop;
audio/x-it=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-m4a=io.github.celluloid_player.Celluloid.desktop;
audio/x-matroska=io.github.celluloid_player.Celluloid.desktop;
audio/x-mod=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-mp1=io.github.celluloid_player.Celluloid.desktop;
audio/x-mp2=io.github.celluloid_player.Celluloid.desktop;
audio/x-mp3=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-mpeg=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-mpegurl=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-mpg=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-ms-asf=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-ms-wma=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-musepack=io.github.celluloid_player.Celluloid.desktop;
audio/x-pn-aiff=io.github.celluloid_player.Celluloid.desktop;
audio/x-pn-au=io.github.celluloid_player.Celluloid.desktop;
audio/x-pn-realaudio=io.github.celluloid_player.Celluloid.desktop;
audio/x-pn-wav=io.github.celluloid_player.Celluloid.desktop;
audio/x-real-audio=io.github.celluloid_player.Celluloid.desktop;
audio/x-realaudio=io.github.celluloid_player.Celluloid.desktop;
audio/x-s3m=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-scpls=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-shorten=io.github.celluloid_player.Celluloid.desktop;
audio/x-speex=io.github.celluloid_player.Celluloid.desktop;
audio/x-tta=io.github.celluloid_player.Celluloid.desktop;
audio/x-vorbis=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-wav=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-wavpack=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-xm=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/mp4a-latm=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/mpeg3=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/vorbis=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/wave=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-mpeg-3=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-ogg=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/x-oggflac=io.github.celluloid_player.Celluloid.desktop;deadbeef.desktop;
audio/prs.sid=deadbeef.desktop;
video/3gp=mpv.desktop;
video/3gpp=mpv.desktop;
video/3gpp2=mpv.desktop;
video/avi=mpv.desktop;
video/divx=mpv.desktop;
video/dv=mpv.desktop;
video/fli=mpv.desktop;
video/flv=mpv.desktop;
video/mkv=mpv.desktop;
video/mp2t=mpv.desktop;
video/mp4=mpv.desktop;
video/mp4v-es=mpv.desktop;
video/mpeg=mpv.desktop;
video/msvideo=mpv.desktop;
video/ogg=mpv.desktop;
video/quicktime=mpv.desktop;
video/vnd.divx=mpv.desktop;
video/vnd.mpegurl=mpv.desktop;
video/vnd.rn-realvideo=mpv.desktop;
video/webm=mpv.desktop;
video/x-avi=mpv.desktop;
video/x-flc=mpv.desktop;
video/x-flic=mpv.desktop;
video/x-flv=mpv.desktop;
video/x-m4v=mpv.desktop;
video/x-matroska=mpv.desktop;
video/x-mpeg2=mpv.desktop;
video/x-mpeg3=mpv.desktop;
video/x-ms-afs=mpv.desktop;
video/x-ms-asf=mpv.desktop;
video/x-ms-wmv=mpv.desktop;
video/x-ms-wmx=mpv.desktop;
video/x-ms-wvxvideo=mpv.desktop;
video/x-msvideo=mpv.desktop;
video/x-ogm=mpv.desktop;
video/x-ogm+ogg=mpv.desktop;
video/x-theora=mpv.desktop;
video/x-theora+ogg=mpv.desktop;
video/vivo=mpv.desktop;
video/x-anim=mpv.desktop;
video/x-fli=mpv.desktop;
video/x-mng=mpv.desktop;
video/x-mpeg=mpv.desktop;
video/x-ms-asx=mpv.desktop;
video/x-ms-wm=mpv.desktop;
video/x-ms-wvx=mpv.desktop;
video/x-nsv=mpv.desktop;

1
.config/moc/cache/moc_version_tag vendored Normal file
View File

@ -0,0 +1 @@
1 5 3 r2930

BIN
.config/moc/cache/tags.db vendored Normal file

Binary file not shown.

690
.config/moc/config Normal file
View File

@ -0,0 +1,690 @@
# This is a configuration file for the MOC player. It should be named
# 'config' and placed in the ~/.moc directory. As this file can specify
# commands which invoke other applications, MOC will refuse to start if it
# is not owned by either root or the current user, or if it is writable by
# anyone other than its owner. All options are given with their default
# values, and therefore commented.
# Comments begin with '#'.
# You can use quotes and escape ('\') in parameters.
#
# You can have variable values substituted by enclosing the variable name
# as "${...}". (This only applies to the portion of the option following
# the '='.) Variables are substituted first from the environment then,
# if not found, from the configuration options. (Note that the value of
# a configuration option substituted is that which it has at the time the
# substitution variable is encountered.) If there is a naming conflict
# between an environment and configuration variable, you may be able to
# resolve it by using lowercase as the environment variable matches are
# case-sensitive whereas the configuration variables are not.
#
# You can also use the form "${...:-...}" where the value in the second
# position will be substituted if the variable name given in the first
# position is unset or null.
#
# So, for example:
#
# MusicDir = /music/${USER:-public}
# Fastdir1 = ${MusicDir}/mp3/rock
# Fastdir2 = ${MusicDir}/mp3/electronic
# Fastdir3 = ${MusicDir}/mp3/rap
# Fastdir4 = ${MusicDir}/mp3/etc
#
# Variable names are limited to those accepted by the BASH shell; that
# is, those comprising the upper- and lowercase ASCII characters, digits
# and the underscore.
#
# If you need to use the "${" sequence for any other purpose, write "$${"
# and it will be replaced by "${" and not treated as a substitution.
#
# Some options take lists of strings as their values. The strings are
# separated by colons. Additional strings can be appended to the list
# using "+=" in place of a plain "=" to assign the value. For an example,
# see the XTerms option.
#
# You can override any configuration option when you run MOC using the
# '-O' command line option:
#
# mocp -O AutoNext=no -O messagelingertime=1 -O XTerms+=xxt:xwt
#
# This command line option can be repeated as many times as needed and
# the configuration option name is not case sensitive. (Note that MOC
# does not perform variable substitution on the value of such overridden
# configuration options.) Most option values are set before the
# configuration file is processed (which allows the new values to be
# picked up by substitutions), however list-valued options are overridden
# afterwards (which gives the choice of whether the configured values are
# replaced or added to).
# Remember that the client and server are separate processes and the
# server will retain the configuration values formed from the environment
# within which it was originally started.
# Show file titles (title, author, album) instead of file names?
#ReadTags = yes
# In which directory do you store your music files? If you specify it
# you will be able to jump straight to this directory with the '-m'
# parameter or the 'm' command. This can also point to a playlist.
#
# Example: MusicDir = "/home/joe/music"
#
MusicDir = $HOME/media/audio/
# Start in the music directory by default? If set to 'no', start
# in the current directory by default. A single directory on
# the command line takes precedence.
#StartInMusicDir = no
# How to sort? FileName is the option's only value for now.
#Sort = FileName
# Show errors in the streams (for example, broken frames in MP3 files)?
#ShowStreamErrors = no
# Ignore CRC errors in MP3 files? Most players do that, so the default
# value is 'yes'.
#MP3IgnoreCRCErrors = yes
# Set playback toggles.
#Repeat = no
#Shuffle = no
#AutoNext = yes
# Default FormatString:
#
# %n - Track number
# %a - Artist
# %A - Album
# %t - Title
# %(X:TRUE:FALSE) - Ternary expression: if X exists, do TRUE,
# otherwise FALSE. The escape character must
# be doubled (i.e., '\\'). (See zshmisc
# documentation for more information.)
#
#FormatString = "%(n:%n :)%(a:%a - :)%(t:%t:)%(A: \(%A\):)"
# Input and output buffer sizes (in kilobytes).
#InputBuffer = 512 # Minimum value is 32KB
#OutputBuffer = 512 # Minimum value is 128KB
# How much to fill the input buffer before playing (in kilobytes)?
# This can't be greater than the value of InputBuffer. While this has
# a positive effect for network streams, it also causes the broadcast
# audio to be delayed.
#Prebuffering = 64
# Use this HTTP proxy server for internet streams. If not set, the
# environment variables http_proxy and ALL_PROXY will be used if present.
#
# Format: HTTPProxy = PROXY_NAME:PORT
#
#HTTPProxy =
# Sound driver - OSS, ALSA, JACK, SNDIO (on OpenBSD) or null (only for
# debugging). You can enter more than one driver as a colon-separated
# list. The first working driver will be used.
#SoundDriver = JACK:ALSA:OSS
# Jack output settings.
#JackClientName = "moc"
#JackStartServer = no
#JackOutLeft = "system:playback_1"
#JackOutRight = "system:playback_2"
# OSS output settings.
#OSSDevice = /dev/dsp
#OSSMixerDevice = /dev/mixer
#OSSMixerChannel1 = pcm # 'pcm', 'master' or 'speaker'
#OSSMixerChannel2 = master # 'pcm', 'master' or 'speaker'
# ALSA output settings. If you need to dump the audio produced by MOC
# to a file for diagnostic purposes, the following setting of 'ALSADevice'
# should do that:
#
# ALSADevice=tee:hw,'/tmp/out.wav',wav
#
#ALSADevice = default
#ALSAMixer1 = PCM
#ALSAMixer2 = Master
# Under some circumstances on 32-bit systems, audio played continously
# for long periods of time may begin to stutter. Setting this option to
# 'yes' will force MOC to avoid ALSA's dmix resampling and prevent this
# stutter. But it also has other implications:
#
# - You may experience unacceptably high CPU load.
# - ALSA's resampler plug-ins will not be used.
# - The resampling may be of lower quality than ALSA would provide.
# - You may need to try different "ResampleMethod" option settings.
# - The "ForceSampleRate" option may be ineffective.
# - If libsamplerate is not configured, many audios may be unplayable.
#
#ALSAStutterDefeat = no
# Save software mixer state?
# If enabled, a file 'softmixer' will be created in '~/.moc/' storing the
# mixersetting set when the server is shut down.
# Note that there is a "hidden" 'Amplification' setting in that file.
# Amplification (0-200) is used to scale the mixer setting (0-100). This
# results in a higher signal amplitude but may also produce clipping.
#Softmixer_SaveState = yes
# Save equalizer state?
# If enabled, a file 'equalizer' will be created in '~/.moc/' storing the
# equalizer settings when the server is shut down.
# Note that there is a "hidden" 'Mixin' setting in that file.
# Mixin (0.0-1.0) is used to determine how much of the original signal is
# used after equalizing. 0 means to only use the equalized sound, while 1
# effectively disabled the mixer. The default is 0.25.
#Equalizer_SaveState = yes
# Show files with dot at the beginning?
#ShowHiddenFiles = no
# Hide file name extensions?
#HideFileExtension = no
# Show file format in menu?
#ShowFormat = yes
# Show file time in menu? Possible values: 'yes', 'no' and 'IfAvailable'
# (meaning show the time only when it is already known, which often works
# faster).
#ShowTime = IfAvailable
# Show time played as a percentage in the time progress bar.
#ShowTimePercent = no
# Values of the TERM environment variable which are deemed to be managed by
# screen(1). If you are setting a specific terminal using screen(1)'s
# '-T <term>' option, then you will need to add 'screen.<term>' to this list.
# Note that this is only a partial test; the value of the WINDOW environment
# variable must also be a number (which screen(1) sets).
#ScreenTerms = screen:screen-w:vt100
# Values of the TERM environment variable which are deemed to be xterms. If
# you are using MOC within screen(1) under an xterm, then add screen(1)'s
# TERM setting here as well to cause MOC to update the xterm's title.
#XTerms = xterm
#XTerms += xterm-colour:xterm-color
#XTerms += xterm-256colour:xterm-256color
#XTerms += rxvt:rxvt-unicode
#XTerms += rxvt-unicode-256colour:rxvt-unicode-256color
#XTerms += eterm
# Theme file to use. This can be absolute path or relative to
# /usr/share/moc/themes/ (depends on installation prefix) or
# ~/.moc/themes/ .
#
# Example: Theme = laras_theme
#
Theme = transparent-background
# The theme used when running on an xterm.
#
# Example: XTermTheme = transparent-background
#
#XTermTheme =
# Should MOC try to autoload the default lyrics file for an audio? (The
# default lyrics file is a text file with the same file name as the audio
# file name with any trailing "extension" removed.)
#AutoLoadLyrics = yes
# MOC directory (where pid file, socket and state files are stored).
# You can use ~ at the beginning.
#MOCDir = ~/.moc
# Use mmap() to read files. mmap() is much slower on NFS.
#UseMMap = no
# Use MIME to identify audio files. This can make for slower loading
# of playlists but is more accurate than using "extensions".
#UseMimeMagic = no
# Assume this encoding for ID3 version 1/1.1 tags (MP3 files). Unlike
# ID3v2, UTF-8 is not used here and MOC can't guess how tags are encoded.
# Another solution is using librcc (see the next option). This option is
# ignored if UseRCC is set to 'yes'.
#ID3v1TagsEncoding = WINDOWS-1250
# Use librcc to fix ID3 version 1/1.1 tags encoding.
#UseRCC = yes
# Use librcc to filenames and directory names encoding.
#UseRCCForFilesystem = yes
# When this option is set the player assumes that if the encoding of
# ID3v2 is set to ISO-8859-1 then the ID3v1TagsEncoding is actually
# that and applies appropriate conversion.
#EnforceTagsEncoding = no
# Enable the conversion of filenames from the local encoding to UTF-8.
#FileNamesIconv = no
# Enable the conversion of the xterm title from UTF-8 to the local encoding.
#NonUTFXterm = no
# Should MOC precache files to assist gapless playback?
#Precache = yes
# Remember the playlist after exit?
#SavePlaylist = yes
# When using more than one client (interface) at a time, do they share
# the playlist?
#SyncPlaylist = yes
# Choose a keymap file (relative to '~/.moc/' or using an absolute path).
# An annotated example keymap file is included ('keymap.example').
#
# Example: Keymap = my_keymap
#
#Keymap =
# Use ASCII rather than graphic characters for drawing lines. This
# helps on some terminals.
#ASCIILines = no
# FastDirs, these allow you to jump directly to a directory, the key
# bindings are in the keymap file.
#
# Examples: Fastdir1 = /mp3/rock
# Fastdir2 = /mp3/electronic
# Fastdir3 = /mp3/rap
# Fastdir4 = /mp3/etc
#
#Fastdir1 =
#Fastdir2 =
#Fastdir3 =
#Fastdir4 =
#Fastdir5 =
#Fastdir6 =
#Fastdir7 =
#Fastdir8 =
#Fastdir9 =
#Fastdir10 =
# How fast to seek (in number of seconds per keystroke). The first
# option is for normal seek and the second for silent seek.
#SeekTime = 1
#SilentSeekTime = 5
# PreferredDecoders allows you to specify which decoder should be used
# for any given audio format. It is a colon-separated list in which
# each entry is of the general form 'code(decoders)', where 'code'
# identifies the audio format and 'decoders' is a comma-separated list
# of decoders in order of preference.
#
# The audio format identifier may be either a filename extension or a
# MIME media type. If the latter, the format is 'type/subtype' (e.g.,
# 'audio/flac'). Because different systems may give different MIME
# media types, any 'x-' prefix of the subtype is ignored both here and
# in the actual file MIME type (so all combinations of 'audio/flac' and
# 'audio/x-flac' match each other).
#
# For Internet streams the matching is done on MIME media type and on
# actual content. For files the matches are made on MIME media type
# (if the 'UseMimeMagic' option is set) and on filename extension. The
# MIME media type of a file is not determined until the first entry for
# MIME is encountered in the list.
#
# The matching is done in the order of appearance in the list with any
# entries added from the command line being matched before those listed
# here. Therefore, if you place all filename extension entries before
# all MIME entries you will speed up MOC's processing of directories
# (which could be significant for remote file systems).
#
# The decoder list may be empty, in which case no decoders will be used
# for files (and files with that audio format ignored) while Internet
# streams will be assessed on the actual content. Any decoder position
# may contain an asterisk, in which case any decoder not otherwise listed
# which can handle the audio format will be used. It is not an error to
# list the same decoder twice, but neither does it make sense to do so.
#
# If you have a mix of audio and non-audio files in your directories, you
# may wish to include entries at top of the list which ignore non-audio
# files by extension.
#
# In summary, the PreferredDecoders option provides fine control over the
# type of matching which is performed (filename extension, MIME media
# type and streamed media content) and which decoder(s) (if any) are used
# based on the option's list entries and their ordering.
#
# Examples: aac(aac,ffmpeg) first try FAAD2 for AACs then FFmpeg
# mp3() ignore MP3 files
# wav(*,sndfile) use sndfile for WAV as a last resort
# ogg(vorbis,*):flac(flac,*) try Xiph decoders first
# ogg():audio/ogg() ignore OGG files, and
# force Internet selection by content
# gz():html() ignore some non-audio files
#
# Any unspecified audio formats default to trying all decoders.
# Any unknown (or misspelt) drivers are ignored.
# All names are case insensitive.
# The default setting reflects the historical situation modified by
# the experience of users.
#
#PreferredDecoders = aac(aac,ffmpeg):m4a(ffmpeg)
#PreferredDecoders += mpc(musepack,*,ffmpeg):mpc8(musepack,*,ffmpeg)
#PreferredDecoders += sid(sidplay2):mus(sidplay2)
#PreferredDecoders += wav(sndfile,*,ffmpeg)
#PreferredDecoders += wv(wavpack,*,ffmpeg)
#PreferredDecoders += audio/aac(aac):audio/aacp(aac):audio/m4a(ffmpeg)
#PreferredDecoders += audio/wav(sndfile,*)
# The following PreferredDecoders attempt to handle the ambiguity surrounding
# container types such as OGG for files. The first two entries will force
# a local file to the correct decoder (assuming the .ogg file contains Vorbis
# audio), while the MIME media types will cause Internet audio streams to
# be assessed on content (which may be either Vorbis or Speex).
#
#PreferredDecoders += ogg(vorbis,ffmpeg):oga(vorbis,ffmpeg):ogv(ffmpeg)
#PreferredDecoders += opus(ffmpeg)
#PreferredDecoders += spx(speex)
#PreferredDecoders += application/ogg(vorbis):audio/ogg(vorbis)
# Which resampling method to use. There are a few methods of resampling
# sound supported by libresamplerate. The default is 'Linear') which is
# also the fastest. A better description can be found at:
#
# http://www.mega-nerd.com/libsamplerate/api_misc.html#Converters
#
# but briefly, the following methods are based on bandlimited interpolation
# and are higher quality, but also slower:
#
# SincBestQuality - really slow (I know you probably have an xx GHz
# processor, but it's still not enough to not see
# this in the top output :) The worst case
# Signal-to-Noise Ratio is 97dB.
# SincMediumQuality - much faster.
# SincFastest - the fastest bandlimited interpolation.
#
# And these are lower quality, but much faster methods:
#
# ZeroOrderHold - really poor quality, but it's really fast.
# Linear - a bit better and a bit slower.
#
#ResampleMethod = Linear
# Always use this sample rate (in Hz) when opening the audio device (and
# resample the sound if necessary). When set to 0 the device is opened
# with the file's rate.
#ForceSampleRate = 0
# By default, even if the sound card reports that it can output 24bit samples
# MOC converts 24bit PCM to 16bit. Setting this option to 'yes' allows MOC
# to use 24bit output. (The MP3 decoder, for example, uses this format.)
# This is disabled by default because there were reports that it prevents
# MP3 files from playing on some soundcards.
#Allow24bitOutput = no
# Use realtime priority for output buffer thread. This will prevent gaps
# while playing even with heavy load. The user who runs MOC must have
# permissions to set such a priority. This could be dangerous, because it
# is possible that a bug in MOC will freeze your computer.
#UseRealtimePriority = no
# The number of audio files for which MOC will cache tags. When this limit
# is reached, file tags are discarded on a least recently used basis (with
# one second resolution). You can disable the cache by giving it a size of
# zero. Note that if you decrease the cache size below the number of items
# currently in the cache, the number will not decrease immediately (if at
# all).
#TagsCacheSize = 256
# Number items in the playlist.
#PlaylistNumbering = yes
# Main window layouts can be configured. You can change the position and
# size of the menus (directory and playlist). You have three layouts and
# can switch between then using the 'l' key (standard mapping). By default,
# only two layouts are configured.
#
# The format is as follows:
#
# - Each layout is described as a list of menu entries.
# - Each menu entry is of the form:
#
# menu(position_x, position_y, width, height)
#
# where 'menu' is either 'directory' or 'playlist'.
# - The parameters define position and size of the menu. They can
# be absolute numbers (like 10) or a percentage of the screen size
# (like 45%).
# - 'width' and 'height' can have also value of 'FILL' which means
# fill the screen from the menu's position to the border.
# - Menus may overlap.
#
# You must describe at least one menu (default is to fill the whole window).
# There must be at least one layout (Layout1) defined; others can be empty.
#
# Example: Layout1 = playlist(50%,50%,50%,50%)
# Layout2 = ""
# Layout3 = ""
#
# Just one layout, the directory will occupy the whole
# screen, the playlist will have 1/4 of the screen size
# and be positioned at lower right corner. (Note that
# because the playlist will be hidden by the directory
# you will have to use the TAB key to make the playlist
# visible.)
#
# Example: Layout1 = playlist(0,0,100%,10):directory(0,10,100%,FILL)
#
# The screen is split into two parts: playlist at the top
# and the directory menu at the bottom. Playlist will
# occupy 10 lines and the directory menu the rest.
#
#Layout1 = directory(0,0,50%,100%):playlist(50%,0,FILL,100%)
#Layout2 = directory(0,0,100%,100%):playlist(0,0,100%,100%)
#Layout3 = ""
# When the song changes, should the menu be scrolled so that the currently
# played file is visible?
#FollowPlayedFile = yes
# What to do if the interface was started and the server is already playing
# something from the playlist? If CanStartInPlaylist is set to 'yes', the
# interface will switch to the playlist. When set to 'no' it will start
# from the last directory.
#CanStartInPlaylist = yes
# Executing external commands (1 - 10) invoked with key commands (F1 - F10
# by default).
#
# Some arguments are substituted before executing:
#
# %f - file path
# %i - title made from tags
# %S - start block mark (in seconds)
# %E - end block mark (in seconds)
#
# Data from tags can also be substituted:
#
# %t - title
# %a - album
# %r - artist
# %n - track
# %m - time of the file (in seconds)
#
# The parameters above apply to the currently selected file. If you change
# them to capital letters, they are taken from the file currently playing.
#
# Programs are run using execv(), not a shell, so you can't do things like
# redirecting the output to a file. The command string is split using blank
# characters as separators; the first element is the command to be executed
# and the rest are its parameters, so if you use "echo Playing: %I" we run
# program 'echo' (from $PATH) with 2 parameters: the string 'Playing:' and
# the title of the file currently playing. Even if the title contains
# spaces, it's still one parameter and it's safe if it contains `rm -rf /`.
#
# Examples: ExecCommand1 = "cp %f /mnt/usb_drive"
# ExecCommand2 = "/home/joe/now_playing %I"
#
#ExecCommand1 =
#ExecCommand2 =
#ExecCommand3 =
#ExecCommand4 =
#ExecCommand5 =
#ExecCommand6 =
#ExecCommand7 =
#ExecCommand8 =
#ExecCommand9 =
#ExecCommand10 =
# Display the cursor in the line with the selected file. Some braille
# readers (the Handy Tech modular series ZMU 737, for example) use the
# cursor to focus and can make use of it to present the file line even
# when other fields are changing.
#UseCursorSelection = no
# Set the terminal title when running under xterm.
#SetXtermTitle = yes
# Set the terminal title when running under screen(1). If MOC can detect
# that it is running under screen(1), then it will set an appropriate
# title (see description of ScreenTerms above). However, if multiple
# levels of screen management are involved, detection might fail and this
# could cause a screen upset. In that situation you can use this option
# to force screen titles off.
#SetScreenTitle = yes
# Display full paths instead of just file names in the playlist.
#PlaylistFullPaths = yes
# The following setting describes how block markers are displayed in
# the play time progress bar. Its value is a string of exactly three
# characters. The first character is displayed in a position which
# corresponds to the time marked as the start of a block and the last
# character to the time marked as the end of the block. The middle
# character is displayed instead if both the start and the end of the block
# would fall in the same position (within the resolution of the interface).
# You can turn off the displaying of these block marker positions by using
# three space characters.
#BlockDecorators = "`\"'"
# How long (in seconds) to leave a message displayed on the screen.
# Setting this to a high value allows you to scroll through the messages
# using the 'hide_message' key. Setting it to zero means you'll have to
# be quick to see any message at all. Any new messages will be queued up
# and displayed after the current message's linger time expires.
#MessageLingerTime = 3
# Does MOC display a prefix on delayed messages indicating
# the number of queued messages still to be displayed?
#PrefixQueuedMessages = yes
# String to append to the queued message count if any
# error messages are still waiting to be displayed.
#ErrorMessagesQueued = "!"
# Self-describing ModPlug options (with 'yes' or 'no' values).
#ModPlug_Oversampling = yes
#ModPlug_NoiseReduction = yes
#ModPlug_Reverb = no
#ModPlug_MegaBass = no
#ModPlug_Surround = no
# ModPlug resampling mode.
# Valid values are:
#
# FIR - 8 tap fir filter (extremely high quality)
# SPLINE - Cubic spline interpolation (high quality)
# LINEAR - Linear interpolation (fast, good quality)
# NEAREST - No interpolation (very fast, extremely bad sound quality)
#
#ModPlug_ResamplingMode = FIR
# Other self-describing ModPlug audio characteristic options.
# (Note that the 32 bit sample size seems to be buggy.)
#ModPlug_Channels = 2 # 1 or 2 channels
#ModPlug_Bits = 16 # 8, 16 or 32 bits
#ModPlug_Frequency = 44100 # 11025, 22050, 44100 or 48000 Hz
#ModPlug_ReverbDepth = 0 # 0 (quiet) to 100 (loud)
#ModPlug_ReverbDelay = 0 # Delay in ms (usually 40-200ms)
#ModPlug_BassAmount = 0 # 0 (quiet) to 100 (loud).
#ModPlug_BassRange = 10 # Cutoff in Hz (10-100).
#ModPlug_SurroundDepth = 0 # Surround level 0(quiet)-100(heavy).
#ModPlug_SurroundDelay = 0 # Surround delay in ms, usually 5-40ms.
#ModPlug_LoopCount = 0 # 0 (never), n (times) or -1 (forever)
# Self-describing TiMidity audio characteristic options.
#TiMidity_Rate = 44100 # Between 8000 and 48000
#TiMidity_Bits = 16 # 8 or 16
#TiMidity_Channels = 2 # 1 or 2
#TiMidity_Volume = 100 # 0 to 800
# You can setup a TiMidity-Config-File here.
# Leave it unset to use library defaults (/etc/timidity.cfg mostly).
# Setting it to 'yes' also uses the library defaults.
# Set it to 'no' if you don't have any configuration file.
# Otherwise set it to the name of a specific file.
#TiMidity_Config =
# Self-describing SidPlay2 audio characteristic options.
#SidPlay2_DefaultSongLength = 180 # If not in database (in seconds)
#SidPlay2_MinimumSongLength = 0 # Play at least n (in seconds)
#SidPlay2_Frequency = 44100 # 4000 to 48000
#SidPlay2_Bits = 16 # 8 or 16
#SidPlay2_Optimisation = 0 # 0 (worst quality) to 2 (best quality)
# Set path to a HVSC-compatible database (if not set, database is disabled).
#SidPlay2_Database =
# SidPlay2 playback Mode:
#
# "M": Mono (best for many SIDs)
# "S": Stereo
# "L"/"R": Left / Right
#
#SidPlay2_PlayMode = "M"
# Use start-song information from SID ('yes') or start at first song
# ('no'). Songs before the start-song won't be played. (Note that this
# option previously took the values 1 and 0; these are now deprecated
# in favour of 'yes' and 'no'.)
#SidPlay2_StartAtStart = yes
# Play sub-tunes. (Note that this option previously took the values 1
# and 0; these are now deprecated in favour of 'yes' and 'no'.)
#SidPlay2_PlaySubTunes = yes
# Run the OnSongChange command when a new song starts playing.
# Specify the full path (i.e. no leading '~') of an executable to run.
# Arguments will be passed, and you can use the following escapes:
#
# %a artist
# %r album
# %f filename
# %t title
# %n track
# %d file duration in XX:YY form
# %D file duration, number of seconds
#
# No pipes/redirects can be used directly, but writing a shell script
# can do the job.
#
# Example: OnSongChange = "/home/jack/.moc/myscript %a %r"
#
#OnSongChange =
# If RepeatSongChange is 'yes' then MOC will execute the command every time
# a song starts playing regardless of whether or not it is just repeating.
# Otherwise the command will only be executed when a different song is
# started.
#RepeatSongChange = no
# Run the OnStop command (full path, no arguments) when MOC changes state
# to stopped (i.e., when user stopped playing or changes a song).
#OnStop = "/home/jack/.moc/myscript_on_stop"
# This option determines which song to play after finishing all the songs
# in the queue. Setting this to 'yes' causes MOC to play the song which
# follows the song being played before queue playing started. If set to
# 'no', MOC will play the song following the last song in the queue if it
# is in the playlist. The default is 'yes' because this is the way other
# players usually behave. (Note that this option previously took the
# values 1 and 0; these are now deprecated in favour of 'yes' and 'no'.)
#QueueNextSongReturn = yes

2
.config/moc/equalizer Normal file
View File

@ -0,0 +1,2 @@
Active: 1
Mixin: 0.250000

188
.config/moc/keymap Normal file
View File

@ -0,0 +1,188 @@
# This is the example keymap file for MOC. You can define your own key
# bindings for MOC commands by creating your own keymap file and setting
# the 'Keymap' option in ~/.moc/config.
#
# The format of this file is:
#
# - Lines beginning with # are comments.
# - Blank lines are ignored.
# - Every other line is expected to be in one of the formats:
#
# COMMAND = [KEY ...]
# COMMAND += KEY ...
#
# The KEY can be:
#
# - Just a char, like i, L, ", *
# - CTRL-KEY sequence: ^k (CTRL-k), ^4
# - ALT-KEY (meta) sequence: M-j (ALT-j), M-/
# - Special keys: DOWN, UP
# LEFT, RIGHT
# HOME, END
# BACKSPACE
# INS, DEL
# ENTER
# PAGE_UP, PAGE_DOWN
# SPACE, TAB
# KEYPAD_CENTER
# ESCAPE
# F1 - F12
#
# Note that the use of a digit as a KEY is deprecated.
#
# Maximum number of KEYs for one COMMAND is 5.
#
# Omitting the KEY for a COMMAND will unbind all its default keys. They
# will also be automatically unbound when you bind new KEYs to it. Individual
# default KEYs will be automatically unbound when they are explicitly bound
# to some other COMMAND.
#
# Using the '+=' form will cause the KEYs to be appended to any existing
# (default or explicit) bindings for the COMMAND. Appending an existing
# default binding for the same COMMAND will cause MOC to think of that KEY
# as then being explicitly bound.
#
# Only one binding for any given COMMAND can appear in the keymap file. One
# exception to this is that if the default keys for a COMMAND are explicitly
# unbound then a subsequent binding may appear for it. A second exception
# is that multiple appending bindings may appear.
#
# Meta-key detection is sensitive to the ESCDELAY environment variable (see
# the manpage for ncurses(3)). In its absence, MOC resets the default
# delay to 25ms. If you need to emulate meta-key sequences using the ESC
# key, then you may need to set the value of ESCDELAY back to its ncurses
# default of 1000ms (but doing so will make the response to the ESC key
# sluggish).
#
# If MOC's keypresses are being filtered through some other program (in a
# GUI environment, for example) which also does meta-key detection, then
# MOC is at the mercy of the timings with which that program presents them.
#
# Default key configuration for MOC (and a list of all available commands):
# MOC control keys:
quit_client = q
quit = Q
# Menu and interface control keys:
go = ENTER
menu_down = DOWN
menu_up = UP
menu_page_down = PAGE_DOWN
menu_page_up = PAGE_UP
menu_first_item = HOME
menu_last_item = END
search_menu = g /
toggle_read_tags = f
toggle_show_time = ^t
toggle_show_format = ^f
toggle_menu = TAB
toggle_layout = l
toggle_hidden_files = H
next_search = ^g ^n
show_lyrics = L
theme_menu = T
help = h ?
refresh = ^r
reload = r
# Audio playing and positioning keys:
seek_forward = RIGHT
seek_backward = LEFT
seek_forward_fast = ]
seek_backward_fast = [
pause = p SPACE
stop = s
next = n
previous = b
toggle_shuffle = S
toggle_repeat = R
toggle_auto_next = X
toggle_mixer = x
go_url = o
# Volume control keys:
volume_down_1 = <
volume_up_1 = >
volume_down_5 = ,
volume_up_5 = .
volume_10 = M-1
volume_20 = M-2
volume_30 = M-3
volume_40 = M-4
volume_50 = M-5
volume_60 = M-6
volume_70 = M-7
volume_80 = M-8
volume_90 = M-9
# Directory navigation keys: defaults are Shift-number
# (i.e., 'shift 1' -> '!' -> 'Fastdir1').
go_to_a_directory = i
go_to_music_directory = m
go_to_fast_dir1 = !
go_to_fast_dir2 = @
go_to_fast_dir3 = #
go_to_fast_dir4 = $
go_to_fast_dir5 = %
go_to_fast_dir6 = ^
go_to_fast_dir7 = &
go_to_fast_dir8 = *
go_to_fast_dir9 = (
go_to_fast_dir10 = )
go_to_playing_file = G
go_up = U
# Playlist specific keys:
add_file = a
add_directory = A
plist_add_stream = ^u
delete_from_playlist = d
playlist_full_paths = P
plist_move_up = u
plist_move_down = j
save_playlist = V
remove_dead_entries = Y
clear_playlist = C
# Queue manipulation keys:
enqueue_file = z
clear_queue = Z
# User interaction control:
history_up = UP
history_down = DOWN
delete_to_start = ^u
delete_to_end = ^k
cancel = ^x ESCAPE
hide_message = M
# Softmixer specific keys:
toggle_softmixer = w
toggle_make_mono = J
# Equalizer specific keys:
toggle_equalizer = E
equalizer_refresh = e
equalizer_prev = K
equalizer_next = k
# External commands:
mark_start = '
mark_end = "
exec_command1 = F1
exec_command2 = F2
exec_command3 = F3
exec_command4 = F4
exec_command5 = F5
exec_command6 = F6
exec_command7 = F7
exec_command8 = F8
exec_command9 = F9
exec_command10 = F10
# The following commands are available but not assigned to any keys by
# default:
#
# toggle_percent Switch on/off play progress bar time percentage
#

View File

@ -0,0 +1 @@
/home/alex/media/audio/music/compilations

4
.config/moc/playlist.m3u Normal file
View File

@ -0,0 +1,4 @@
#EXTM3U
#MOCSERIAL: 768
#EXTINF:18965,/home/alex/media/audio/music/compilations/The Best Of Folk Metal Mix. Compilation 2.-wClxK8r_Sj0.webm
/home/alex/media/audio/music/compilations/The Best Of Folk Metal Mix. Compilation 2.-wClxK8r_Sj0.webm

4
.config/moc/softmixer Normal file
View File

@ -0,0 +1,4 @@
Active: 0
Amplification: 100
Value: 100
Mono: 0

View File

@ -0,0 +1,34 @@
# Transparent background theme by Marcin Michałowski
background = default default
frame = white default
window_title = white default
directory = white default bold
selected_directory = white blue bold
playlist = white default bold
selected_playlist = white blue bold
file = white default
selected_file = white blue
marked_file = green default bold
marked_selected_file = green blue bold
info = blue default bold
status = white default
title = white default bold
state = white default bold
current_time = white default bold
time_left = white default bold
total_time = white default bold
time_total_frames = white default
sound_parameters = white default bold
legend = white default
disabled = blue default bold
enabled = white default bold
empty_mixer_bar = white default
filled_mixer_bar = black cyan
empty_time_bar = white default
filled_time_bar = black cyan
entry = white default
entry_title = black cyan
error = red default bold
message = green default bold
plist_time = white default bold

22
.config/mpd/mpd.conf Normal file
View File

@ -0,0 +1,22 @@
music_directory "~/media/audio"
playlist_directory "~/.config/mpd/playlists/"
auto_update "yes"
bind_to_address "127.0.0.1"
restore_paused "yes"
max_output_buffer_size "16384"
audio_output {
type "pulse"
name "pulse audio"
#device "pulse"
#mixer_type "hardware"
}
audio_output {
type "fifo"
name "Visualizer feed"
path "/tmp/mpd.fifo"
format "44100:16:2"
}

9
.config/mpv/mpv.conf Executable file
View File

@ -0,0 +1,9 @@
hwdec=vaapi
alang=jpn
slang=eng
[extension.gif]
loop-file=inf
[extension.webm]
loop-file=inf

479
.config/ncmpcpp/bindings Normal file
View File

@ -0,0 +1,479 @@
##############################################################
## This is the example bindings file. Copy it to ##
## ~/.ncmpcpp/bindings or $XDG_CONFIG_HOME/ncmpcpp/bindings ##
## and set up your preferences ##
##############################################################
#
#def_key "mouse"
# mouse_event
#
#def_key "up"
# scroll_up
#
#def_key "shift-up"
# select_item
# scroll_up
#
#def_key "down"
# scroll_down
#
#def_key "shift-down"
# select_item
# scroll_down
#
#def_key "["
# scroll_up_album
#
#def_key "]"
# scroll_down_album
#
#def_key "{"
# scroll_up_artist
#
#def_key "}"
# scroll_down_artist
#
#def_key "page_up"
# page_up
#
#def_key "page_down"
# page_down
#
#def_key "home"
# move_home
#
#def_key "end"
# move_end
#
#def_key "insert"
# select_item
#
#def_key "enter"
# enter_directory
#
#def_key "enter"
# toggle_output
#
#def_key "enter"
# run_action
#
#def_key "enter"
# play_item
#
#def_key "space"
# add_item_to_playlist
#
#def_key "space"
# toggle_lyrics_update_on_song_change
#
#def_key "space"
# toggle_visualization_type
#
#def_key "delete"
# delete_playlist_items
#
#def_key "delete"
# delete_browser_items
#
#def_key "delete"
# delete_stored_playlist
#
#def_key "right"
# next_column
#
#def_key "right"
# slave_screen
#
#def_key "right"
# volume_up
#
#def_key "+"
# volume_up
#
#def_key "left"
# previous_column
#
#def_key "left"
# master_screen
#
#def_key "left"
# volume_down
#
#def_key "-"
# volume_down
#
#def_key ":"
# execute_command
#
#def_key "tab"
# next_screen
#
#def_key "shift-tab"
# previous_screen
#
#def_key "f1"
# show_help
#
#def_key "1"
# show_playlist
#
#def_key "2"
# show_browser
#
#def_key "2"
# change_browse_mode
#
#def_key "3"
# show_search_engine
#
#def_key "3"
# reset_search_engine
#
#def_key "4"
# show_media_library
#
#def_key "4"
# toggle_media_library_columns_mode
#
#def_key "5"
# show_playlist_editor
#
#def_key "6"
# show_tag_editor
#
#def_key "7"
# show_outputs
#
#def_key "8"
# show_visualizer
#
#def_key "="
# show_clock
#
#def_key "@"
# show_server_info
#
#def_key "s"
# stop
#
#def_key "p"
# pause
#
#def_key ">"
# next
#
#def_key "<"
# previous
#
#def_key "ctrl-h"
# jump_to_parent_directory
#
#def_key "ctrl-h"
# replay_song
#
#def_key "backspace"
# jump_to_parent_directory
#
#def_key "backspace"
# replay_song
#
def_key "f"
seek_forward
#
def_key "b"
seek_backward
#
#def_key "r"
# toggle_repeat
#
#def_key "z"
# toggle_random
#
#def_key "y"
# save_tag_changes
#
#def_key "y"
# start_searching
#
#def_key "y"
# toggle_single
#
#def_key "R"
# toggle_consume
#
#def_key "Y"
# toggle_replay_gain_mode
#
#def_key "T"
# toggle_add_mode
#
#def_key "|"
# toggle_mouse
#
#def_key "#"
# toggle_bitrate_visibility
#
#def_key "Z"
# shuffle
#
#def_key "x"
# toggle_crossfade
#
#def_key "X"
# set_crossfade
#
#def_key "u"
# update_database
#
#def_key "ctrl-s"
# sort_playlist
#
#def_key "ctrl-s"
# toggle_browser_sort_mode
#
#def_key "ctrl-s"
# toggle_media_library_sort_mode
#
#def_key "ctrl-r"
# reverse_playlist
#
#def_key "ctrl-f"
# apply_filter
#
#def_key "ctrl-_"
# select_found_items
#
#def_key "/"
# find
#
#def_key "/"
# find_item_forward
#
#def_key "?"
# find
#
#def_key "?"
# find_item_backward
#
#def_key "."
# next_found_item
#
#def_key ","
# previous_found_item
#
#def_key "w"
# toggle_find_mode
#
#def_key "e"
# edit_song
#
#def_key "e"
# edit_library_tag
#
#def_key "e"
# edit_library_album
#
#def_key "e"
# edit_directory_name
#
#def_key "e"
# edit_playlist_name
#
#def_key "e"
# edit_lyrics
#
#def_key "i"
# show_song_info
#
#def_key "I"
# show_artist_info
#
#def_key "g"
# jump_to_position_in_song
#
#def_key "l"
# show_lyrics
#
#def_key "ctrl-v"
# select_range
#
#def_key "v"
# reverse_selection
#
#def_key "V"
# remove_selection
#
#def_key "B"
# select_album
#
#def_key "a"
# add_selected_items
#
#def_key "c"
# clear_playlist
#
#def_key "c"
# clear_main_playlist
#
#def_key "C"
# crop_playlist
#
#def_key "C"
# crop_main_playlist
#
#def_key "m"
# move_sort_order_up
#
#def_key "m"
# move_selected_items_up
#
#def_key "n"
# move_sort_order_down
#
#def_key "n"
# move_selected_items_down
#
#def_key "M"
# move_selected_items_to
#
#def_key "A"
# add
#
#def_key "S"
# save_playlist
#
#def_key "o"
# jump_to_playing_song
#
#def_key "G"
# jump_to_browser
#
#def_key "G"
# jump_to_playlist_editor
#
#def_key "~"
# jump_to_media_library
#
#def_key "E"
# jump_to_tag_editor
#
#def_key "U"
# toggle_playing_song_centering
#
#def_key "P"
# toggle_display_mode
#
#def_key "\\"
# toggle_interface
#
#def_key "!"
# toggle_separators_between_albums
#
#def_key "L"
# toggle_lyrics_fetcher
#
#def_key "F"
# fetch_lyrics_in_background
#
#def_key "alt-l"
# toggle_fetching_lyrics_in_background
#
#def_key "ctrl-l"
# toggle_screen_lock
#
#def_key "`"
# toggle_library_tag_type
#
#def_key "`"
# refetch_lyrics
#
#def_key "`"
# add_random_items
#
#def_key "ctrl-p"
# set_selected_items_priority
#
#def_key "q"
# quit
#
#
#def_key "f"
# find
#def_key "f"
# find_item_forward
def_key "+"
show_clock
def_key "="
volume_up
def_key "j"
scroll_down
def_key "k"
scroll_up
def_key "ctrl-u"
page_up
#push_characters "kkkkkkkkkkkkkkk"
def_key "ctrl-d"
page_down
#push_characters "jjjjjjjjjjjjjjj"
def_key "u"
page_up
#push_characters "kkkkkkkkkkkkkkk"
def_key "d"
page_down
#push_characters "jjjjjjjjjjjjjjj"
def_key "h"
previous_column
def_key "l"
next_column
def_key "."
show_lyrics
def_key "n"
next_found_item
def_key "N"
previous_found_item
# not used but bound
def_key "J"
move_sort_order_down
def_key "K"
move_sort_order_up
def_key "h"
jump_to_parent_directory
def_key "l"
enter_directory
def_key "l"
run_action
def_key "l"
play_item
def_key "m"
show_media_library
def_key "m"
toggle_media_library_columns_mode
def_key "t"
show_tag_editor
def_key "v"
show_visualizer
def_key "G"
move_end
def_key "g"
move_home
#jump_to_position_in_song
def_key "U"
update_database
def_key "s"
reset_search_engine
def_key "s"
show_search_engine
#def_key "f"
# show_browser
#def_key "f"
# change_browse_mode
def_key "x"
delete_playlist_items
def_key "P"
show_playlist

32
.config/ncmpcpp/config Normal file
View File

@ -0,0 +1,32 @@
# vim: filetype=conf
ncmpcpp_directory = "~/.config/ncmpcpp/"
lyrics_directory = "~/.local/share/lyrics/"
mpd_music_dir = "~/media/audio/"
message_delay_time = "1"
visualizer_type = "wave"
song_list_format = {$4%a - }{%t}|{$8%f$9}$R{$3(%l)$9}
song_status_format = $b{{$8"%t"}} $3by {$4%a{ $3in $7%b{ (%y)}} $3}|{$8%f}
song_library_format = {%n - }{%t}|{%f}
alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b
alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D}
current_item_prefix = $(cyan)$r$b
current_item_suffix = $/r$(end)$/b
current_item_inactive_column_prefix = $(magenta)$r
current_item_inactive_column_suffix = $/r$(end)
playlist_display_mode = columns
browser_display_mode = columns
progressbar_look = ->
media_library_primary_tag = album_artist
media_library_albums_split_by_date = no
startup_screen = "browser"
display_volume_level = no
ignore_leading_the = yes
external_editor = nvim
use_console_editor = yes
empty_tag_color = magenta
main_window_color = white
progressbar_color = black:b
progressbar_elapsed_color = blue:b
statusbar_color = red
statusbar_time_color = cyan:b

View File

59
.config/nvim/init.vim Normal file
View File

@ -0,0 +1,59 @@
if empty(glob('~/.local/share/nvim/site/autoload/plug.vim'))
silent !curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
call plug#begin('~/.local/share/nvim/plugged')
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'tpope/vim-fugitive'
Plug 'dense-analysis/ale'
Plug 'chriskempson/base16-vim'
call plug#end()
"enable ale completion
let g:ale_completion_enabled = 1
"airline setup
"let g:airline_extensions = []
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#ale#enabled = 1
let g:airline_powerline_fonts = 1
let g:airline_theme='base16_atlas'
"syntax numbers, wildmode
syntax on
set ruler
set number "relativenumber
set wildmode=longest,list,full
"Tab Config
set expandtab "converts tabs to spaces
set shiftwidth=4
set tabstop=4
"split navigation
nnoremap <silent> <tab> :if &modifiable && !&readonly && &modified <CR> :write<CR> :endif<CR>:bnext<CR>
nnoremap <silent> <s-tab> :if &modifiable && !&readonly && &modified <CR> :write<CR> :endif<CR>:bprevious<CR>
"make vim use system clipboard by default. ONLY FOR NEOVIM
set clipboard+=unnamedplus
let vim_markdown_preview_browser='librewolf'
let vim_markdown_preview_use_xdg_open=1
"enable unicode support if possible
if has("multi_byte")
if &termencoding == ""
let &termencoding = &encoding
endif
set encoding=utf-8
setglobal fileencoding=utf-8
" Uncomment to have 'bomb' on by default for new files.
" Note, this will not apply to the first, empty buffer created at Vim startup.
"setglobal bomb
set fileencodings=ucs-bom,utf-8,latin1
endif

View File

@ -0,0 +1,10 @@
uniform float opacity;
uniform bool invert_color;
uniform sampler2D tex;
void main() {
vec4 c = texture2D(tex, gl_TexCoord[0].xy);
float y = dot(c.rgb, vec3(0.299, 0.587, 0.114));
// y = 1.0 -y;
gl_FragColor = vec4(y, y, y, 1.0);
}

419
.config/picom/picom.conf Normal file
View File

@ -0,0 +1,419 @@
#################################
# Shadows #
#################################
# Enabled client-side shadows on windows. Note desktop windows
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
# unless explicitly requested using the wintypes option.
#
# shadow = false
shadow = true;
# The blur radius for shadows, in pixels. (defaults to 12)
# shadow-radius = 12
shadow-radius = 7;
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
# shadow-opacity = .75
# The left offset for shadows, in pixels. (defaults to -15)
# shadow-offset-x = -15
shadow-offset-x = -7;
# The top offset for shadows, in pixels. (defaults to -15)
# shadow-offset-y = -15
shadow-offset-y = -7;
# Red color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-red = 0
# Green color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-green = 0
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-blue = 0
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
# shadow-color = "#000000"
# Specify a list of conditions of windows that should have no shadow.
#
# examples:
# shadow-exclude = "n:e:Notification";
#
# shadow-exclude = []
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
# clip-shadow-above = []
# Specify a X geometry that describes the region in which shadow should not
# be painted in, such as a dock window region. Use
# shadow-exclude-reg = "x10+0+0"
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
#
# shadow-exclude-reg = ""
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
# xinerama-shadow-crop = false
#################################
# Fading #
#################################
# Fade windows in/out when opening/closing and when opacity changes,
# unless no-fading-openclose is used.
# fading = false
fading = true;
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
# fade-in-step = 0.028
fade-in-step = 0.03;
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
# fade-out-step = 0.03
fade-out-step = 0.03;
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
# fade-delta = 10
# Specify a list of conditions of windows that should not be faded.
# fade-exclude = []
# Do not fade on window open/close.
# no-fading-openclose = false
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
# no-fading-destroyed-argb = false
#################################
# Transparency / Opacity #
#################################
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
# inactive-opacity = 1
inactive-opacity = 0.8;
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
# frame-opacity = 1.0
frame-opacity = 0.7;
# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
# inactive-opacity-override = true
inactive-opacity-override = false;
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
# active-opacity = 1.0
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
# inactive-dim = 0.0
# Specify a list of conditions of windows that should never be considered focused.
# focus-exclude = []
focus-exclude = [ "class_g = 'Cairo-clock'" ];
# Use fixed inactive dim value, instead of adjusting according to window opacity.
# inactive-dim-fixed = 1.0
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
# Note we don't make any guarantee about possible conflicts with other
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
# example:
# opacity-rule = [ "80:class_g = 'URxvt'" ];
#
# opacity-rule = []
#################################
# Corners #
#################################
# Sets the radius of rounded window corners. When > 0, the compositor will
# round the corners of windows. Does not interact well with
# `transparent-clipping`.
corner-radius = 0
# Exclude conditions for rounded corners.
rounded-corners-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'"
];
#################################
# Background-Blurring #
#################################
# Parameters for background blurring, see the *BLUR* section for more information.
# blur-method =
# blur-size = 12
#
# blur-deviation = false
#
# blur-strength = 5
# Blur background of semi-transparent / ARGB windows.
# Bad in performance, with driver-dependent behavior.
# The name of the switch may change without prior notifications.
#
# blur-background = false
# Blur background of windows when the window frame is not opaque.
# Implies:
# blur-background
# Bad in performance, with driver-dependent behavior. The name may change.
#
# blur-background-frame = false
# Use fixed blur strength rather than adjusting according to window opacity.
# blur-background-fixed = false
# Specify the blur convolution kernel, with the following format:
# example:
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
#
# blur-kern = ""
blur-kern = "3x3box";
# Exclude conditions for background blur.
# blur-background-exclude = []
blur-background-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c"
];
#################################
# General Settings #
#################################
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
# daemon = false
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
# `xrender` is the default one.
#
backend = "glx";
#backend = "xrender";
# Enable/disable VSync.
# vsync = false
vsync = true;
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
# dbus = false
# Try to detect WM windows (a non-override-redirect window with no
# child that has 'WM_STATE') and mark them as active.
#
# mark-wmwin-focused = false
mark-wmwin-focused = true;
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
# mark-ovredir-focused = false
mark-ovredir-focused = true;
# Try to detect windows with rounded corners and don't consider them
# shaped windows. The accuracy is not very high, unfortunately.
#
# detect-rounded-corners = false
detect-rounded-corners = true;
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
# not passing '_NET_WM_OPACITY' of client windows to frame windows.
#
# detect-client-opacity = false
detect-client-opacity = true;
# Specify refresh rate of the screen. If not specified or 0, picom will
# try detecting this with X RandR extension.
#
# refresh-rate = 60
refresh-rate = 0;
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
# provided that the WM supports it.
#
# use-ewmh-active-win = false
# Unredirect all windows if a full-screen opaque window is detected,
# to maximize performance for full-screen windows. Known to cause flickering
# when redirecting/unredirecting windows.
#
# unredir-if-possible = false
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
# unredir-if-possible-delay = 0
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
# unredir-if-possible-exclude = []
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
# in the same group focused at the same time.
#
# detect-transient = false
detect-transient = true;
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if
# detect-transient is enabled, too.
#
# detect-client-leader = false
detect-client-leader = true;
# Resize damaged region by a specific number of pixels.
# A positive value enlarges it while a negative one shrinks it.
# If the value is positive, those additional pixels will not be actually painted
# to screen, only used in blur calculation, and such. (Due to technical limitations,
# with use-damage, those pixels will still be incorrectly painted to screen.)
# Primarily used to fix the line corruption issues of blur,
# in which case you should use the blur radius value here
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
# with a 5x5 one you use `--resize-damage 2`, and so on).
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
#
# resize-damage = 1
# Specify a list of conditions of windows that should be painted with inverted color.
# Resource-hogging, and is not well tested.
#
# invert-color-include = []
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
# Might cause incorrect opacity when rendering transparent content (but never
# practically happened) and may not work with blur-background.
# My tests show a 15% performance boost. Recommended.
#
glx-no-stencil = true
# GLX backend: Avoid rebinding pixmap on window damage.
# Probably could improve performance on rapid window content changes,
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
# Recommended if it works.
#
#glx-no-rebind-pixmap = true
# Disable the use of damage information.
# This cause the whole screen to be redrawn everytime, instead of the part of the screen
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
# The opposing option is use-damage
#
# no-use-damage = false
use-damage = true;
# Use X Sync fence to sync clients' draw calls, to make sure all draw
# calls are finished before picom starts drawing. Needed on nvidia-drivers
# with GLX backend for some users.
#
xrender-sync-fence = true
# GLX backend: Use specified GLSL fragment shader for rendering window contents.
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
# in the source tree for examples.
#
# glx-fshader-win = ""
# Force all windows to be painted with blending. Useful if you
# have a glx-fshader-win that could turn opaque pixels transparent.
#
# force-win-blend = false
# Do not use EWMH to detect fullscreen windows.
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
#
# no-ewmh-fullscreen = false
# Dimming bright windows so their brightness doesn't exceed this set value.
# Brightness of a window is estimated by averaging all pixels in the window,
# so this could comes with a performance hit.
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
#
# max-brightness = 1.0
# Make transparent windows clip other windows like non-transparent windows do,
# instead of blending on top of them.
#
# transparent-clipping = false
# Set the log level. Possible values are:
# "trace", "debug", "info", "warn", "error"
# in increasing level of importance. Case doesn't matter.
# If using the "TRACE" log level, it's better to log into a file
# using *--log-file*, since it can generate a huge stream of logs.
#
# log-level = "debug"
log-level = "warn";
# Set the log file.
# If *--log-file* is never specified, logs will be written to stderr.
# Otherwise, logs will to written to the given file, though some of the early
# logs might still be written to the stderr.
# When setting this option from the config file, it is recommended to use an absolute path.
#
# log-file = "/path/to/your/log/file"
# Show all X errors (for debugging)
# show-all-xerrors = false
# Write process ID to a file.
# write-pid-path = "/path/to/your/log/file"
# Window type settings
#
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
# "tooltip", "notification", "combo", and "dnd".
#
# Following per window-type options are available: ::
#
# fade, shadow:::
# Controls window-type-specific shadow and fade settings.
#
# opacity:::
# Controls default opacity of the window type.
#
# focus:::
# Controls whether the window of this type is to be always considered focused.
# (By default, all window types except "normal" and "dialog" has this on.)
#
# full-shadow:::
# Controls whether shadow is drawn under the parts of the window that you
# normally won't be able to see. Useful when the window has parts of it
# transparent, and you want shadows in those areas.
#
# clip-shadow-above:::
# Controls wether shadows that would have been drawn above the window should
# be clipped. Useful for dock windows that should have no shadow painted on top.
#
# redir-ignore:::
# Controls whether this type of windows should cause screen to become
# redirected again after been unredirected. If you have unredir-if-possible
# set, and doesn't want certain window to cause unnecessary screen redirection,
# you can set this to `true`.
#
wintypes:
{
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
dock = { shadow = false; clip-shadow-above = true; }
dnd = { shadow = false; }
popup_menu = { opacity = 0.8; }
dropdown_menu = { opacity = 0.8; }
};

View File

@ -0,0 +1,90 @@
# Shadow
shadow = true;
shadow-radius = 7;
shadow-offset-x = -7;
shadow-offset-y = -7;
log-level = "warn";
# log-file = "/path/to/your/log/file";
# shadow-opacity = 0.7;
# shadow-red = 0.0;
# shadow-green = 0.0;
# shadow-blue = 0.0;
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
# shadow-exclude = "n:e:Notification";
# shadow-exclude-reg = "x10+0+0";
# xinerama-shadow-crop = true;
# Opacity
#uncomment for window transparency
menu-opacity = 0.8;
inactive-opacity = 0.8;
# active-opacity = 0.8;
frame-opacity = 0.7;
inactive-opacity-override = false;
# inactive-dim = 0.2;
# inactive-dim-fixed = true;
# blur-background = true;
# blur-background-frame = true;
blur-kern = "3x3box";
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
# blur-background-fixed = true;
blur-background-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c"
];
# opacity-rule = [ "80:class_g = 'URxvt'" ];
# max-brightness = 0.66
# Fading
fading = true;
# fade-delta = 30;
fade-in-step = 0.03;
fade-out-step = 0.03;
# no-fading-openclose = true;
# no-fading-destroyed-argb = true;
fade-exclude = [ ];
# Other
backend = "glx";
mark-wmwin-focused = true;
mark-ovredir-focused = true;
# use-ewmh-active-win = true;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0;
vsync = true;
# sw-opti = true;
# unredir-if-possible = true;
# unredir-if-possible-delay = 5000;
# unredir-if-possible-exclude = [ ];
focus-exclude = [ "class_g = 'Cairo-clock'" ];
detect-transient = true;
detect-client-leader = true;
invert-color-include = [ ];
# resize-damage = 1;
# GLX backend
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
xrender-sync-fence = true;
use-damage = true;
# Window type settings
wintypes:
{
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
dock = { shadow = false; }
dnd = { shadow = false; }
popup_menu = { opacity = 0.8; }
dropdown_menu = { opacity = 0.8; }
};

View File

@ -0,0 +1,24 @@
; Global settings
[redshift]
temp-day=6500
temp-night=2000
transition=1
;gamma=0.8:0.7:0.8
gamma=1.000:1.000:1.000
;location-provider=geoclue
location-provider=manual
adjustment-method=vidmode
;brightness=1.0:0.5
; The location provider and adjustment method settings
; are in their own sections.
; This is an example lat long for Portland, OR
[manual]
lat=34.73
lon=-86.58
; In this example screen 1 is adjusted by vidmode. Note
; that the numbering starts from 0, so this is actually
; the second screen.
;[vidmode]
;screen=1

6
.config/river/hw_config Executable file
View File

@ -0,0 +1,6 @@
#!/bin/sh
riverctl input 1133:49257:Logitech_USB_Laser_Mouse accel-profile flat
wlr-randr --output HDMI-A-1 --pos 0,0
wlr-randr --output DP-1 --pos 1920,0

179
.config/river/init Executable file
View File

@ -0,0 +1,179 @@
#!/bin/sh
# This is the example configuration file for river.
#
# If you wish to edit this, you will probably want to copy it to
# $XDG_CONFIG_HOME/river/init or $HOME/.config/river/init first.
#
# See the river(1), riverctl(1), and rivertile(1) man pages for complete
# documentation.
# Use the "logo" key as the primary modifier
mod="Mod1"
# Mod+Shift+Return to start an instance of foot (https://codeberg.org/dnkl/foot)
riverctl map normal $mod+Shift Return spawn alacritty
# Mod+P open bemenu
riverctl map normal $mod P spawn "bemenu-run -H 24"
# Mod+Q to close the focused view
riverctl map normal $mod+Shift C close
# Mod+E to exit river
riverctl map normal $mod+Shift Q exit
# Mod+J and Mod+K to focus the next/previous view in the layout stack
#riverctl map normal $mod J focus-view next
#riverctl map normal $mod K focus-view previous
# Mod+Shift+J and Mod+Shift+K to swap the focused view with the next/previous
# view in the layout stack
#riverctl map normal $mod+Shift J swap next
#riverctl map normal $mod+Shift K swap previous
# Mod+Period and Mod+Comma to focus the next/previous output
riverctl map normal $mod Period focus-output next
riverctl map normal $mod Comma focus-output previous
# Mod+Shift+{Period,Comma} to send the focused view to the next/previous output
riverctl map normal $mod+Shift Period send-to-output next
riverctl map normal $mod+Shift Comma send-to-output previous
# Mod+Return to bump the focused view to the top of the layout stack
riverctl map normal $mod Return zoom
# Mod+H and Mod+L to decrease/increase the main ratio of rivertile(1)
#riverctl map normal $mod H send-layout-cmd rivertile "main-ratio -0.05"
#riverctl map normal $mod L send-layout-cmd rivertile "main-ratio +0.05"
# Mod+Shift+H and Mod+Shift+L to increment/decrement the main count of rivertile(1)
#riverctl map normal $mod+Shift H send-layout-cmd rivertile "main-count +1"
#riverctl map normal $mod+Shift L send-layout-cmd rivertile "main-count -1"
riverctl map normal $mod
# Mod+Alt+{H,J,K,L} to move views
#riverctl map normal $mod+Mod1 H move left 100
#riverctl map normal $mod+Mod1 J move down 100
#riverctl map normal $mod+Mod1 K move up 100
#riverctl map normal $mod+Mod1 L move right 100
# Mod+Alt+Control+{H,J,K,L} to snap views to screen edges
#riverctl map normal $mod+Mod1+Control H snap left
#riverctl map normal $mod+Mod1+Control J snap down
#riverctl map normal $mod+Mod1+Control K snap up
#riverctl map normal $mod+Mod1+Control L snap right
# Mod+Alt+Shif+{H,J,K,L} to resize views
#riverctl map normal $mod+Mod1+Shift H resize horizontal -100
#riverctl map normal $mod+Mod1+Shift J resize vertical 100
#riverctl map normal $mod+Mod1+Shift K resize vertical -100
#riverctl map normal $mod+Mod1+Shift L resize horizontal 100
riverctl map normal $mod J focus-view next
riverctl map normal $mod K focus-view previous
# Mod + Left Mouse Button to move views
riverctl map-pointer normal $mod BTN_LEFT move-view
# Mod + Right Mouse Button to resize views
riverctl map-pointer normal $mod BTN_RIGHT resize-view
for i in $(seq 1 9)
do
tags=$((1 << ($i - 1)))
# Mod+[1-9] to focus tag [0-8]
riverctl map normal $mod $i set-focused-tags $tags
# Mod+Shift+[1-9] to tag focused view with tag [0-8]
riverctl map normal $mod+Shift $i set-view-tags $tags
# Mod+Ctrl+[1-9] to toggle focus of tag [0-8]
riverctl map normal $mod+Control $i toggle-focused-tags $tags
# Mod+Shift+Ctrl+[1-9] to toggle tag [0-8] of focused view
riverctl map normal $mod+Shift+Control $i toggle-view-tags $tags
done
# Mod+0 to focus all tags
# Mod+Shift+0 to tag focused view with all tags
all_tags=$(((1 << 32) - 1))
riverctl map normal $mod 0 set-focused-tags $all_tags
riverctl map normal $mod+Shift 0 set-view-tags $all_tags
# Mod+f to toggle float
riverctl map normal $mod F toggle-float
# Mod+Shift+F to toggle fullscreen
riverctl map normal $mod+Shift F toggle-fullscreen
# Mod+{Up,Right,Down,Left} to change layout orientation
riverctl map normal $mod Up send-layout-cmd rivertile "main-location top"
riverctl map normal $mod Right send-layout-cmd rivertile "main-location right"
riverctl map normal $mod Down send-layout-cmd rivertile "main-location bottom"
riverctl map normal $mod Left send-layout-cmd rivertile "main-location left"
# Declare a passthrough mode. This mode has only a single mapping to return to
# normal mode. This makes it useful for testing a nested wayland compositor
riverctl declare-mode passthrough
# Mod+F11 to enter passthrough mode
riverctl map normal $mod F11 enter-mode passthrough
# Mod+F11 to return to normal mode
riverctl map passthrough $mod F11 enter-mode normal
# Various media key mapping examples for both normal and locked mode which do
# not have a modifier
for mode in normal locked
do
# Eject the optical drive
riverctl map $mode None XF86Eject spawn 'eject -T'
# Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer)
riverctl map $mode None XF86AudioRaiseVolume spawn 'pamixer -i 5'
riverctl map $mode None XF86AudioLowerVolume spawn 'pamixer -d 5'
riverctl map $mode None XF86AudioMute spawn 'pamixer --toggle-mute'
# Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl)
riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause'
riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause'
riverctl map $mode None XF86AudioPrev spawn 'playerctl previous'
riverctl map $mode None XF86AudioNext spawn 'playerctl next'
# Control screen backlight brighness with light (https://github.com/haikarainen/light)
riverctl map $mode None XF86MonBrightnessUp spawn 'light -A 5'
riverctl map $mode None XF86MonBrightnessDown spawn 'light -U 5'
done
# Set background and border color
riverctl background-color 0x002b36
riverctl border-color-focused 0x93a1a1
riverctl border-color-unfocused 0x586e75
# Set repeat rate
riverctl set-repeat 50 300
# Make certain views start floating
riverctl float-filter-add app-id float
riverctl float-filter-add title "popup title with spaces"
# Set app-ids and titles of views which should use client side decorations
riverctl csd-filter-add app-id "gedit"
# Set and exec into the default layout generator, rivertile.
# River will send the process group of the init executable SIGTERM on exit.
riverctl default-layout rivertile
riverctl xcursor-theme Adwaita
#hardware config
sh ~/.config/river/hw_config
#startup programs
sh ~/.local/inits/river.sh
exec rivertile

View File

@ -0,0 +1,35 @@
HDDA
.cfg
.cache
.steam
.var
.pki
scripts
wallpapers
.ghc
.stack
.trash
.config
.local/share
.local/bin
.local/inits
.local/installers
.local/scripts
.local/src
.local/state
.local/README.md
.local/LICENSE
.local/TODO
.profile
.inputrc
.gtkrc-2.0
.xinitrc
.zprofile
.Xauthority
.Xdefaults
.gpupg
.ICEauthority
.steampath
.steampid
.pulse-cookie

View File

@ -0,0 +1,3 @@
.config/chromium
.config/com.liberty.jaxx
.local/wallets

1
.config/shortcutrc Normal file
View File

@ -0,0 +1 @@

View File

@ -0,0 +1,167 @@
# PLEASE READ THE MAN PAGE BEFORE EDITING THIS FILE!
# https://htmlpreview.github.io/?https://github.com/conformal/spectrwm/blob/master/spectrwm.html
# NOTE: all rgb color values in this file are in hex! see XQueryColor for examples
workspace_limit = 9
focus_mode = follow
focus_close = last
focus_close_wrap = 1
focus_default = first
spawn_position = next
workspace_clamp = 0
warp_pointer = 1
# Window Decoration
border_width = 1
#color_focus = rgb:bb/c5/ff
#color_focus_maximized = yellow
#color_unfocus = rgb:88/88/88
#color_unfocus_maximized = rgb:88/88/00
region_padding = 6
tile_gap = 6
#Colors
color_focus = rgb:bb/c5/ff
color_focus_maximized = yellow
color_unfocus = rgb:88/88/88
color_unfocus_maximized = rgb:88/88/00
bar_border[1] = rgb:28/2a/36
bar_border_unfocus[1] = rgb:28/2a/36
bar_color[1] = rgb:28/2a/36, rgb:00/80/80
bar_color_selected[1] = rgb:00/80/80
bar_font_color[1] = rgb:bb/c5/ff, rgb:e1/ac/ff, rgb:dd/ff/a7, rgb:ff/8b/92, rgb:ff/e5/85, rgb:89/dd/ff
bar_font_color_selected = black
# Bar Settings
bar_action = /home/alex/.local/scripts/spectrwm-bar.sh
bar_action_expand = 1
bar_enabled = 1
bar_border_width = 1
#bar_border[1] = rgb:28/2a/36
#bar_border_unfocus[1] = rgb:28/2a/36
#bar_color[1] = rgb:28/2a/36, rgb:00/80/80
#bar_color_selected[1] = rgb:00/80/80
bar_delay = 5
#bar_font_color[1] = rgb:bb/c5/ff, rgb:e1/ac/ff, rgb:dd/ff/a7, rgb:ff/8b/92, rgb:ff/e5/85, rgb:89/dd/ff
#bar_font_color_selected = black
bar_font = mono:size=10, symbola:size=10
bar_justify = center
bar_format = +|L+1<+N:+I +S +F +W +|R+A+1<+@fg=5; %a %b %d [%R]
workspace_indicator = listcurrent,listactive,markcurrent,printnames
bar_at_bottom = 0
stack_enabled = 1
clock_enabled = 1
clock_format = %a %b %d %R %Z %Y
iconic_enabled = 0
maximize_hide_bar = 0
window_class_enabled = 1
window_instance_enabled = 1
window_name_enabled = 1
verbose_layout = 1
urgent_enabled = 1
urgent_collapse = 0
# PROGRAMS
# Validated default programs:
program[lock] = slock
program[term] = alacritty
program[menu] = dmenu_run -nb $bar_color -nf $bar_font_color -sb $bar_border -sf $bar_color_selected -fn "mono:size=9"
program[search] = dmenu -nb $bar_color -nf $bar_font_color -sb $bar_border -sf $bar_color_selected -fn "mono:size=9"
# program[name_workspace] = dmenu $dmenu_bottom -p Workspace -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_color_selected -sf $bar_font_color_selected
# To disable validation of the above, free the respective binding(s):
# bind[] = MOD+Shift+Delete # disable lock
# bind[] = MOD+Shift+Return # disable term
# bind[] = MOD+p # disable menu
# Optional default programs that will only be validated if you override:
# program[screenshot_all] = screenshot.sh full # optional
# program[screenshot_wind] = screenshot.sh window # optional
# program[initscr] = initscreen.sh # optional
# EXAMPLE: Define 'firefox' action and bind to key.
# program[firefox] = firefox http://spectrwm.org/
# bind[firefox] = MOD+Shift+b
# QUIRKS
# Default quirks, remove with: quirk[class:name] = NONE
# quirk[MPlayer:xv] = FLOAT + FULLSCREEN + FOCUSPREV
# quirk[OpenOffice.org 2.4:VCLSalFrame] = FLOAT
# quirk[OpenOffice.org 3.0:VCLSalFrame] = FLOAT
# quirk[OpenOffice.org 3.1:VCLSalFrame] = FLOAT
# quirk[Firefox-bin:firefox-bin] = TRANSSZ
# quirk[Firefox:Dialog] = FLOAT
# quirk[Gimp:gimp] = FLOAT + ANYWHERE
# quirk[XTerm:xterm] = XTERM_FONTADJ
# quirk[xine:Xine Window] = FLOAT + ANYWHERE
# quirk[Xitk:Xitk Combo] = FLOAT + ANYWHERE
# quirk[xine:xine Panel] = FLOAT + ANYWHERE
# quirk[Xitk:Xine Window] = FLOAT + ANYWHERE
# quirk[xine:xine Video Fullscreen Window] = FULLSCREEN + FLOAT
# quirk[pcb:pcb] = FLOAT
# Region containment
# Distance window must be dragged/resized beyond the region edge before it is
# allowed outside the region.
# boundary_width = 50
# Remove window border when bar is disabled and there is only one window in workspace
# disable_border = 1
# Dialog box size ratio when using TRANSSZ quirk; 0.3 < dialog_ratio <= 1.0
# dialog_ratio = 0.6
# Split a non-RandR dual head setup into one region per monitor
# (non-standard driver-based multihead is not seen by spectrwm)
# region = screen[1]:1280x1024+0+0
# region = screen[1]:1280x1024+1280+0
# Launch applications in a workspace of choice
# autorun = ws[1]:xterm
# autorun = ws[2]:xombrero http://www.openbsd.org
autorun = ws[1]:sxhkd
autorun = ws[1]:dunst
autorun = ws[1]:picom
autorun = ws[1]:redshift
autorun = ws[1]:mpd
autorun = ws[1]:wp-load.sh
autorun = ws[1]:devmon
autorun = ws[1]:xautolock -time 30 -locker slock
autorun = ws[1]:pipewire
autorun = ws[1]:pipewire-pulse
autorun = ws[1]:pipewire-media-session
# Customize workspace layout at start
# layout = ws[1]:4:0:0:0:vertical
# layout = ws[2]:0:0:0:0:horizontal
# layout = ws[3]:0:0:0:0:fullscreen
# layout = ws[4]:4:0:0:0:vertical_flip
# layout = ws[5]:0:0:0:0:horizontal_flip
# Set workspace name at start
# name = ws[1]:IRC
# name = ws[2]:Email
# name = ws[3]:Browse
# name = ws[10]:Music
# Mod key, (Windows key is Mod4) (Apple key on OSX is Mod2)
modkey = Mod1
# This allows you to include pre-defined key bindings for your keyboard layout.
keyboard_mapping = ~/.config/spectrwm/spectrwm_us.conf

View File

@ -0,0 +1,123 @@
# Key bindings for United States (us) keyboards
# unbind with: bind[] = <keys>
bind[bar_toggle] = MOD+b
bind[bar_toggle_ws] = MOD+Shift+b
bind[button2] = MOD+v
bind[cycle_layout] = MOD+space
bind[flip_layout] = MOD+Shift+backslash
bind[float_toggle] = MOD+t
bind[focus_main] = MOD+m
bind[focus_next] = MOD+j
bind[focus_next] = MOD+Tab
bind[focus_prev] = MOD+k
bind[focus_prev] = MOD+Shift+Tab
bind[focus_urgent] = MOD+u
bind[height_grow] = MOD+Shift+equal
bind[height_shrink] = MOD+Shift+minus
bind[iconify] = MOD+w
bind[initscr] = MOD+Shift+i
bind[lock] = MOD+Shift+Delete
bind[master_add] = MOD+comma
bind[master_del] = MOD+period
bind[master_grow] = MOD+l
bind[master_shrink] = MOD+h
bind[maximize_toggle] = MOD+e
bind[menu] = MOD+p
bind[move_down] = MOD+Shift+bracketright
bind[move_left] = MOD+bracketleft
bind[move_right] = MOD+bracketright
bind[move_up] = MOD+Shift+bracketleft
bind[mvrg_1] = MOD+Shift+KP_End
bind[mvrg_2] = MOD+Shift+KP_Down
bind[mvrg_3] = MOD+Shift+KP_Next
bind[mvrg_4] = MOD+Shift+KP_Left
bind[mvrg_5] = MOD+Shift+KP_Begin
bind[mvrg_6] = MOD+Shift+KP_Right
bind[mvrg_7] = MOD+Shift+KP_Home
bind[mvrg_8] = MOD+Shift+KP_Up
bind[mvrg_9] = MOD+Shift+KP_Prior
bind[mvws_1] = MOD+Shift+1
bind[mvws_2] = MOD+Shift+2
bind[mvws_3] = MOD+Shift+3
bind[mvws_4] = MOD+Shift+4
bind[mvws_5] = MOD+Shift+5
bind[mvws_6] = MOD+Shift+6
bind[mvws_7] = MOD+Shift+7
bind[mvws_8] = MOD+Shift+8
bind[mvws_9] = MOD+Shift+9
bind[mvws_10] = MOD+Shift+0
bind[mvws_11] = MOD+Shift+F1
bind[mvws_12] = MOD+Shift+F2
bind[mvws_13] = MOD+Shift+F3
bind[mvws_14] = MOD+Shift+F4
bind[mvws_15] = MOD+Shift+F5
bind[mvws_16] = MOD+Shift+F6
bind[mvws_17] = MOD+Shift+F7
bind[mvws_18] = MOD+Shift+F8
bind[mvws_19] = MOD+Shift+F9
bind[mvws_20] = MOD+Shift+F10
bind[mvws_21] = MOD+Shift+F11
bind[mvws_22] = MOD+Shift+F12
bind[name_workspace] = MOD+Shift+slash
bind[quit] = MOD+Shift+q
bind[raise_toggle] = MOD+Shift+r
bind[restart] = MOD+q
bind[rg_1] = MOD+KP_End
bind[rg_2] = MOD+KP_Down
bind[rg_3] = MOD+KP_Next
bind[rg_4] = MOD+KP_Left
bind[rg_5] = MOD+KP_Begin
bind[rg_6] = MOD+KP_Right
bind[rg_7] = MOD+KP_Home
bind[rg_8] = MOD+KP_Up
bind[rg_9] = MOD+KP_Prior
bind[rg_next] = MOD+Shift+Right
bind[rg_prev] = MOD+Shift+Left
bind[screenshot_all] = MOD+s
bind[screenshot_wind] = MOD+Shift+s
bind[search_win] = MOD+f
bind[search_workspace] = MOD+slash
bind[stack_dec] = MOD+Shift+period
bind[stack_inc] = MOD+Shift+comma
bind[stack_reset] = MOD+Shift+space
bind[swap_main] = MOD+Return
bind[swap_next] = MOD+Shift+j
bind[swap_prev] = MOD+Shift+k
bind[term] = MOD+Shift+Return
bind[uniconify] = MOD+Shift+w
bind[version] = MOD+Shift+v
bind[width_grow] = MOD+equal
bind[width_shrink] = MOD+minus
bind[wind_del] = MOD+c
bind[wind_kill] = MOD+Shift+c
bind[ws_1] = MOD+1
bind[ws_2] = MOD+2
bind[ws_3] = MOD+3
bind[ws_4] = MOD+4
bind[ws_5] = MOD+5
bind[ws_6] = MOD+6
bind[ws_7] = MOD+7
bind[ws_8] = MOD+8
bind[ws_9] = MOD+9
bind[ws_10] = MOD+0
bind[ws_11] = MOD+F1
bind[ws_12] = MOD+F2
bind[ws_13] = MOD+F3
bind[ws_14] = MOD+F4
bind[ws_15] = MOD+F5
bind[ws_16] = MOD+F6
bind[ws_17] = MOD+F7
bind[ws_18] = MOD+F8
bind[ws_19] = MOD+F9
bind[ws_20] = MOD+F10
bind[ws_21] = MOD+F11
bind[ws_22] = MOD+F12
bind[ws_next] = MOD+Right
bind[ws_next_all] = MOD+Up
bind[ws_next_move] = MOD+Shift+Up
bind[ws_prev] = MOD+Left
bind[ws_prev_all] = MOD+Down
bind[ws_prev_move] = MOD+Shift+Down
bind[ws_prior] = MOD+a

View File

@ -0,0 +1,103 @@
#!/usr/bin/perl
# CLI Straw Viewer 0.1.1 - configuration file
our $CONFIG = {
api_host => "https://invidio.us",
auto_captions => 0,
autoplay_mode => 0,
cache_dir => "$ENV{HOME}/.cache/straw-viewer",
colors => 1,
comments_order => "top",
confirm => 0,
convert_cmd => "ffmpeg -i *IN* *OUT*",
convert_to => undef,
cookie_file => undef,
copy_caption => 0,
custom_layout => 0,
custom_layout_format => [
{ align => "right", color => "bold", text => "*NO*.", width => 3 },
{ align => "left", color => "bold blue", text => "*TITLE*", width => "55%" },
{ align => "left", color => "yellow", text => "*AUTHOR*", width => "15%" },
{ align => "right", color => "green", text => "*AGE_SHORT*", width => 3 },
{ align => "right", color => "green", text => "*VIEWS_SHORT*", width => 5 },
{ align => "right", color => "blue", text => "*TIME*", width => 8 },
],
dash_mp4_audio => 1,
dash_segmented => 1,
dash_support => 1,
date => undef,
debug => 0,
download_and_play => 0,
download_with_wget => 0,
downloads_dir => "dl/",
env_proxy => 1,
fat32safe => 0,
ffmpeg_cmd => "/bin/ffmpeg",
fullscreen => 0,
get_captions => 1,
get_term_width => 1,
hfr => 1,
highlight_color => "bold",
highlight_watched => 1,
history => 0,
history_file => "$ENV{HOME}/.config/straw-viewer/cli-history.txt",
history_limit => 100000,
http_proxy => undef,
ignore_av1 => 0,
interactive => 1,
keep_original_video => 0,
maxResults => 20,
merge_into_mkv => 1,
merge_into_mkv_args => "-loglevel warning -c:s srt -c:v copy -c:a copy -disposition:s forced",
merge_with_captions => 1,
order => undef,
page => 1,
prefer_av1 => 0,
prefer_mp4 => 0,
region => undef,
remember_watched => 0,
remove_played_file => 0,
resolution => "best",
results_fixed_width => 0,
results_with_colors => 0,
results_with_details => 0,
show_video_info => 1,
skip_if_exists => 1,
skip_watched => 0,
srt_languages => ["en", "es"],
subscriptions_order => "relevance",
thousand_separator => ",",
timeout => undef,
user_agent => undef,
video_filename_format => "*FTITLE* - *ID*.*FORMAT*",
video_player_selected => "mpv",
video_players => {
mpv => {
arg => "--really-quiet --title=*TITLE* --no-ytdl",
audio => "--audio-file=*AUDIO*",
cmd => "/bin/mpv",
fs => "--fullscreen",
novideo => "--no-video",
srt => "--sub-file=*SUB*",
},
vlc => {
arg => "--quiet --play-and-exit --no-video-title-show --input-title-format=*TITLE*",
audio => "--input-slave=*AUDIO*",
cmd => "vlc",
fs => "--fullscreen",
novideo => "--intf=dummy --novideo",
srt => "--sub-file=*SUB*",
},
},
videoCaption => undef,
videoDefinition => undef,
videoDimension => undef,
videoDuration => undef,
videoLicense => undef,
watched_file => "$ENV{HOME}/.config/straw-viewer/watched.txt",
wget_cmd => "/bin/wget",
youtube_video_url => "https://www.youtube.com/watch?v=%s",
ytdl => 1,
ytdl_cmd => "/bin/youtube-dl",
}

View File

@ -0,0 +1,19 @@
## Base16 Atlas
# Author: Alex Lende (https://ajlende.com)
set $base00 #002635
set $base01 #00384d
set $base02 #517F8D
set $base03 #6C8B91
set $base04 #869696
set $base05 #a1a19a
set $base06 #e6e6dc
set $base07 #fafaf8
set $base08 #ff5a67
set $base09 #f08e48
set $base0A #ffcc1b
set $base0B #7fc06e
set $base0C #14747e
set $base0D #5dd7b9
set $base0E #9a70a4
set $base0F #c43060

View File

@ -0,0 +1,16 @@
set $base00 #2b2b2b
set $base01 #323232
set $base02 #323232
set $base03 #606366
set $base04 #a4a3a3
set $base05 #a9b7c6
set $base06 #ffc66d
set $base07 #ffffff
set $base08 #4eade5
set $base09 #689757
set $base0A #bbb529
set $base0B #6a8759
set $base0C #629755
set $base0D #9876aa
set $base0E #cc7832
set $base0F #808080

View File

@ -0,0 +1,19 @@
## Base16 Default Dark
# Author: Chris Kempson (http://chriskempson.com)
set $base00 #181818
set $base01 #282828
set $base02 #383838
set $base03 #585858
set $base04 #b8b8b8
set $base05 #d8d8d8
set $base06 #e8e8e8
set $base07 #f8f8f8
set $base08 #ab4642
set $base09 #dc9656
set $base0A #f7ca88
set $base0B #a1b56c
set $base0C #86c1b9
set $base0D #7cafc2
set $base0E #ba8baf
set $base0F #a16946

View File

@ -0,0 +1,16 @@
set $base00 #282936
set $base01 #3a3c4e
set $base02 #4d4f68
set $base03 #626483
set $base04 #62d6e8
set $base05 #e9e9f4
set $base06 #f1f2f8
set $base07 #f7f7fb
set $base08 #ea51b2
set $base09 #b45bcf
set $base0A #00f769
set $base0B #ebff87
set $base0C #a1efe4
set $base0D #62d6e8
set $base0E #b45bcf
set $base0F #00f769

View File

@ -0,0 +1,19 @@
#dracula colorscheme for sway
#based on base16 (https://github.com/rkubosz/base16-sway)
set $base00 #282936
set $base01 #3a3c4e
set $base02 #F7CA88
set $base03 #626483
set $base04 #62d6e8
set $base05 #e9e9f4
set $base06 #f1f2f8
set $base07 #f7f7fb
set $base08 #ea51b2
set $base09 #b45bcf
set $base0A #00f769
set $base0B #ebff87
set $base0C #a1efe4
set $base0D #62d6e8
set $base0E #b45bcf
set $base0F #00f769

View File

@ -0,0 +1,16 @@
set $base00 #32302f
set $base01 #3c3836
set $base02 #504945
set $base03 #665c54
set $base04 #bdae93
set $base05 #d5c4a1
set $base06 #ebdbb2
set $base07 #fbf1c7
set $base08 #fb4934
set $base09 #fe8019
set $base0A #fabd2f
set $base0B #b8bb26
set $base0C #8ec07c
set $base0D #83a598
set $base0E #d3869b
set $base0F #d65d0e

298
.config/sway/config Normal file
View File

@ -0,0 +1,298 @@
# Default config for sway
#
# Copy this to ~/.config/sway/config and edit it to your liking.
#
# Read `man 5 sway` for a complete reference.
### Variables
#
# Logo key. Use Mod1 for Alt.
set $mod Mod1
# Home row direction keys, like vim
set $left h
set $down j
set $up k
set $right l
# Your preferred terminal emulator
set $term alacritty
# Your preferred application launcher
# Note: it's recommended that you pass the final command to sway
set $menu bemenu-run | xargs swaymsg exec --
### Output configuration
#
# Default wallpaper
#output * bg ~/.config/sway/backgrounds/Sway_Wallpaper_Blue_1920x1080.png fill
#
# Example configuration:
#
#output HDMI-A-1 resolution 1920x1080 position 1920,0
#output HDMI-A-1 bg ~/.config/wall fill
#output DP-1 resolution 1920x1080 position 0,0
#output DP-1 bg ~/.config/wall fill
output * bg ~/.config/wall fill
output VGA-1 disable
#
# You can get the names of your outputs by running: swaymsg -t get_outputs
### Idle configuration
#
# Example configuration:
#
exec swayidle -w \
timeout 900 'swaylock -f -c 000000' \
timeout 1200 'swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on"' \
before-sleep 'swaylock -f -c 000000'
#
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
#set transparency
set $opacity 0.9
#for_window [class=".*"] opacity 1.0
#for_window [app_id=".*"] opacity 1.0
#for_window [class='alacritty'] opacity $opacity
#for_window [class="bash"] opacity $opacity
#for_window [app_id="alacritty"] opacity $opacity
#font pango:MesloLGS NF Regular 10
font pango:mononoki Nerd Font Mono 10
### Input configuration
#
# Example configuration:
#
# input "2:14:SynPS/2_Synaptics_TouchPad" {
# dwt enabled
# tap enabled
# natural_scroll enabled
# middle_emulation enabled
# }
#
# You can get the names of your inputs by running: swaymsg -t get_inputs
# Read `man 5 sway-input` for more information about this section.
xwayland enable
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Return exec $term
# Kill focused window
bindsym $mod+Shift+q kill
# Start your launcher
bindsym $mod+d exec $menu
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# Reload the configuration file
bindsym $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'exec "$HOME"/.local/init/init.sh -c'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow keys
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
#
# Workspaces:
#
# Switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
# Note: workspaces can have any name you want, not just numbers.
# We just use 1-10 as the default.
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+space focus mode_toggle
# Move focus to the parent container
bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
#custom keybinds
bindsym XF86AudioRaiseVolume exec volchange.sh -i 2
bindsym XF86AudioLowerVolume exec volchange.sh -d 2
bindsym XF86AudioMute exec volchange.sh --toggle-mute
bindsym $mod+p exec fixscr.sh --menu
bindsym $mod+o exec browser.sh
bindsym $mod+shift+s exec ss.sh -s
#include ~/.config/sway/colors/base16-atlas
#include ~/.local/src/base16-sway/themes/base16-gruvbox-dark-medium.config
include ~/.local/src/base16-sway/themes/base16-atlas.config
#
# Status Bar:
#
# Read `man 5 sway-bar` for more information about this section.
bar {
position top
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
#status_command while date +'%Y-%m-%d %l:%M:%S %p'; do sleep 1; done
status_command sh $HOME/.local/scripts/sway-bar.sh -l
colors {
background $base00
separator $base01
statusline $base04
# State Border BG Text
focused_workspace $base05 $base0D $base00
active_workspace $base05 $base03 $base00
inactive_workspace $base03 $base01 $base05
urgent_workspace $base08 $base08 $base00
binding_mode $base00 $base0A $base00
}
}
# Basic color configuration using the Base16 variables for windows and borders.
# Property Name Border BG Text Indicator Child Border
client.focused $base05 $base0D $base00 $base0D $base0D
client.focused_inactive $base01 $base01 $base05 $base03 $base01
client.unfocused $base01 $base00 $base05 $base01 $base01
client.urgent $base08 $base08 $base00 $base08 $base08
client.placeholder $base00 $base00 $base05 $base00 $base00
client.background $base07
#GTK theme
set $gnome_schema "org.gnome.desktop.interface"
exec_always {
gsettings set $gnome_schema gtk-theme 'Nordic-standard-buttons'
gsettings set $gnome_schema icon-theme 'ePapirus-Dark'
gsettings set $gnome_schema cursor-theme 'Adwaita'
gsettings set $gnome_schema font-name 'Noto Sans'
}
#gaps
gaps inner 10
gaps outer 10
#border
default_border pixel 2
#input config
input type:pointer accel_profile flat
input type:pointer pointer_accel -0.5
seat seat0 xcursor_theme Adwaita 10
include /etc/sway/config.d/*
exec ~/.local/init/init.sh -i
#do any computer specific setup here, monitor configs, etc.
include ~/.init.sh

33
.config/sxhkd/sxhkdrc Normal file
View File

@ -0,0 +1,33 @@
XF86AudioRaiseVolume
pulsemixer --change-volume +1 && pkill sleep -P "$(cat ~/.cache/statusbar_pid )"
#amixer sset Master 1%+ && pkill sleep -P "$(cat ~/.cache/statusbar_pid )"
XF86AudioLowerVolume
pulsemixer --change-volume -1 && pkill sleep -P "$(cat ~/.cache/statusbar_pid )"
#amixer sset Master 1%- && pkill sleep -P "$(cat ~/.cache/statusbar_pid )"
XF86AudioMute
pulsemixer --toggle-mute && pkill sleep -P "$(cat ~/.cache/statusbar_pid )"
#amixer sset Master toggle && pkill sleep -P "$(cat ~/.cache/statusbar_pid )"
super + c
sh ~/.local/scripts/toggle-comp.sh
super + o
browser.sh "$(xclip -o | cut -d '%' -f 1-)"
super + m
st -e neomutt
super + shift + m
st -e mbsync -a
super + s
scrot -s
super + k
xkill
super + shift + x
sudo poweroff
super + + shift + r
sudo reboot

122
.config/sxhkd/sxhkdrc_bspwm Normal file
View File

@ -0,0 +1,122 @@
#. sxhkdrc
# wm independent hotkeys
#
# terminal emulator
super + Return
st
# program launcher
super + @space
dmenu_run
# make sxhkd reload its configuration files:
super + Escape
pkill -USR1 -x sxhkd
#
# bspwm hotkeys
#
# quit/restart bspwm
super + alt + {q,r}
bspc {quit,wm -r}
# close and kill
super + {_,shift + }w
bspc node -{c,k}
# alternate between the tiled and monocle layout
super + m
bspc desktop -l next
# send the newest marked node to the newest preselected node
super + y
bspc node newest.marked.local -n newest.!automatic.local
# swap the current node and the biggest node
super + g
bspc node -s biggest
#
# state/flags
#
# set the window state
super + {t,shift + t,s,f}
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
# set the node flags
super + ctrl + {m,x,y,z}
bspc node -g {marked,locked,sticky,private}
#
# focus/swap
#
# focus the node in the given direction
super + {_,shift + }{h,j,k,l}
bspc node -{f,s} {west,south,north,east}
# focus the node for the given path jump
super + {p,b,comma,period}
bspc node -f @{parent,brother,first,second}
# focus the next/previous node in the current desktop
super + {_,shift + }c
bspc node -f {next,prev}.local
# focus the next/previous desktop in the current monitor
super + bracket{left,right}
bspc desktop -f {prev,next}.local
# focus the last node/desktop
super + {grave,Tab}
bspc {node,desktop} -f last
# focus the older or newer node in the focus history
super + {o,i}
bspc wm -h off; \
bspc node {older,newer} -f; \
bspc wm -h on
# focus or send to the given desktop
super + {_,shift + }{1-9,0}
bspc {desktop -f,node -d} '^{1-9,10}'
#
# preselect
#
# preselect the direction
super + ctrl + {h,j,k,l}
bspc node -p {west,south,north,east}
# preselect the ratio
super + ctrl + {1-9}
bspc node -o 0.{1-9}
# cancel the preselection for the focused node
super + ctrl + space
bspc node -p cancel
# cancel the preselection for the focused desktop
super + ctrl + shift + space
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
#
# move/resize
#
# expand a window by moving one of its side outward
super + alt + {h,j,k,l}
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
# contract a window by moving one of its side inward
super + alt + shift + {h,j,k,l}
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
# move a floating window
super + {Left,Down,Up,Right}
bspc node -v {-20 0,0 20,0 -20,20 0}

15
.config/user-dirs.dirs Normal file
View File

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

166
.config/waybar/config Normal file
View File

@ -0,0 +1,166 @@
{
// "layer": "top", // Waybar at top layer
// "position": "bottom", // Waybar position (top|bottom|left|right)
"height": 24, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
// Choose the order of the modules
"modules-left": ["river/tags", "sway/mode", "custom/media"],
"modules-center": ["sway/window"],
"modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"],
// Modules configuration
// "sway/workspaces": {
// "disable-scroll": true,
// "all-outputs": true,
// "format": "{name}: {icon}",
// "format-icons": {
// "1": "",
// "2": "",
// "3": "",
// "4": "",
// "5": "",
// "urgent": "",
// "focused": "",
// "default": ""
// }
// },
"custom/dwlbar": {
"format": "{}",
"return-type": "json",
"max-length": 200,
"exec": "$HOME/.config/waybar/dwlbar 'HDMI-A-1'",
"escape": true
}
"keyboard-state": {
"numlock": true,
"capslock": true,
"format": "{name} {icon}",
"format-icons": {
"locked": "",
"unlocked": ""
}
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"mpd": {
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
"format-disconnected": "Disconnected ",
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
"unknown-tag": "N/A",
"interval": 2,
"consume-icons": {
"on": " "
},
"random-icons": {
"off": "<span color=\"#f53c3c\"></span> ",
"on": " "
},
"repeat-icons": {
"on": " "
},
"single-icons": {
"on": "1 "
},
"state-icons": {
"paused": "",
"playing": ""
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
"clock": {
// "timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
"format": "{usage}% ",
"tooltip": false
},
"memory": {
"format": "{}% "
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "{temperatureC}°C {icon}",
"format-icons": ["", "", ""]
},
"backlight": {
// "device": "acpi_video1",
"format": "{percent}% {icon}",
"format-icons": ["", ""]
},
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{capacity}% {icon}",
"format-charging": "{capacity}% ",
"format-plugged": "{capacity}% ",
"format-alt": "{time} {icon}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"battery#bat2": {
"bat": "BAT2"
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%) ",
"format-ethernet": "{ifname}: {ipaddr}/{cidr} ",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "Disconnected ⚠",
"format-alt": "{ifname}: {ipaddr}/{cidr}"
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"on-click": "pavucontrol"
},
"custom/media": {
"format": "{icon} {}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"escape": true,
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
}
}

2
.config/waybar/dwlbar Normal file
View File

@ -0,0 +1,2 @@
#!/bin/sh

255
.config/waybar/style.css Normal file
View File

@ -0,0 +1,255 @@
* {
border: none;
border-radius: 0;
/* `otf-font-awesome` is required to be installed for icons */
font-family: Roboto, Helvetica, Arial, sans-serif;
font-size: 13px;
min-height: 0;
}
window#waybar {
background-color: rgba(43, 48, 59, 0.5);
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
color: #ffffff;
transition-property: background-color;
transition-duration: .5s;
}
window#waybar.hidden {
opacity: 0.2;
}
/*
window#waybar.empty {
background-color: transparent;
}
window#waybar.solo {
background-color: #FFFFFF;
}
*/
window#waybar.termite {
background-color: #3F3F3F;
}
window#waybar.chromium {
background-color: #000000;
border: none;
}
#workspaces button {
padding: 0 5px;
background-color: transparent;
color: #ffffff;
/* Use box-shadow instead of border so the text isn't offset */
box-shadow: inset 0 -3px transparent;
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
#workspaces button:hover {
background: rgba(0, 0, 0, 0.2);
box-shadow: inset 0 -3px #ffffff;
}
#workspaces button.focused {
background-color: #64727D;
box-shadow: inset 0 -3px #ffffff;
}
#workspaces button.urgent {
background-color: #eb4d4b;
}
#mode {
background-color: #64727D;
border-bottom: 3px solid #ffffff;
}
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#mpd {
padding: 0 10px;
margin: 0 4px;
color: #ffffff;
}
#window,
#workspaces {
margin: 0 4px;
}
/* If workspaces is the leftmost module, omit left margin */
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
/* If workspaces is the rightmost module, omit right margin */
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
#clock {
background-color: #64727D;
}
#battery {
background-color: #ffffff;
color: #000000;
}
#battery.charging, #battery.plugged {
color: #ffffff;
background-color: #26A65B;
}
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}
#battery.critical:not(.charging) {
background-color: #f53c3c;
color: #ffffff;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
label:focus {
background-color: #000000;
}
#cpu {
background-color: #2ecc71;
color: #000000;
}
#memory {
background-color: #9b59b6;
}
#disk {
background-color: #964B00;
}
#backlight {
background-color: #90b1b1;
}
#network {
background-color: #2980b9;
}
#network.disconnected {
background-color: #f53c3c;
}
#pulseaudio {
background-color: #f1c40f;
color: #000000;
}
#pulseaudio.muted {
background-color: #90b1b1;
color: #2a5c45;
}
#custom-media {
background-color: #66cc99;
color: #2a5c45;
min-width: 100px;
}
#custom-media.custom-spotify {
background-color: #66cc99;
}
#custom-media.custom-vlc {
background-color: #ffa000;
}
#temperature {
background-color: #f0932b;
}
#temperature.critical {
background-color: #eb4d4b;
}
#tray {
background-color: #2980b9;
}
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: #eb4d4b;
}
#idle_inhibitor {
background-color: #2d3436;
}
#idle_inhibitor.activated {
background-color: #ecf0f1;
color: #2d3436;
}
#mpd {
background-color: #66cc99;
color: #2a5c45;
}
#mpd.disconnected {
background-color: #f53c3c;
}
#mpd.stopped {
background-color: #90b1b1;
}
#mpd.paused {
background-color: #51a37a;
}
#language {
background: #00b093;
color: #740864;
padding: 0 5px;
margin: 0 5px;
min-width: 16px;
}
#keyboard-state {
background: #97e1ad;
color: #000000;
padding: 0 0px;
margin: 0 5px;
min-width: 16px;
}
#keyboard-state > label {
padding: 0 5px;
}
#keyboard-state > label.locked {
background: rgba(0, 0, 0, 0.2);
}

1
.config/wget/wgetrc Normal file
View File

@ -0,0 +1 @@
hsts-file=~/.cache/wget-hsts

178
.config/yambar/config.yml Normal file
View File

@ -0,0 +1,178 @@
bar:
height: 26
location: top
background: 000000ff
right:
- clock:
content:
- string: {text: , font: "Font Awesome 5 Free:style=solid:size=12"}
- string: {text: "{date}", right-margin: 5}
- string: {text: , font: "Font Awesome 5 Free:style=solid:size=12"}
- string: {text: "{time}"}
left:
- script:
path: /home/alex/.local/scripts/dwl-tags.sh
args: [1]
anchors:
- occupied: &occupied {foreground: 57bbf4ff}
- focused: &focused {foreground: fc65b0ff}
- default: &default {foreground: d2ccd6ff}
content:
- map:
margin: 4
tag: tag_0_occupied
values:
true:
map:
tag: tag_0_focused
values:
true: {string: {text: "{tag_0}", <<: *focused}}
false: {string: {text: "{tag_0}", <<: *occupied}}
false:
map:
tag: tag_0_focused
values:
true: {string: {text: "{tag_0}", <<: *focused}}
false: {string: {text: "{tag_0}", <<: *default}}
- map:
margin: 4
tag: tag_1_occupied
values:
true:
map:
tag: tag_1_focused
values:
true: {string: {text: "{tag_1}", <<: *focused}}
false: {string: {text: "{tag_1}", <<: *occupied}}
false:
map:
tag: tag_1_focused
values:
true: {string: {text: "{tag_1}", <<: *focused}}
false: {string: {text: "{tag_1}", <<: *default}}
- map:
margin: 4
tag: tag_2_occupied
values:
true:
map:
tag: tag_2_focused
values:
true: {string: {text: "{tag_2}", <<: *focused}}
false: {string: {text: "{tag_2}", <<: *occupied}}
false:
map:
tag: tag_2_focused
values:
true: {string: {text: "{tag_2}", <<: *focused}}
false: {string: {text: "{tag_2}", <<: *default}}
- map:
margin: 4
tag: tag_3_occupied
values:
true:
map:
tag: tag_3_focused
values:
true: {string: {text: "{tag_3}", <<: *focused}}
false: {string: {text: "{tag_3}", <<: *occupied}}
false:
map:
tag: tag_3_focused
values:
true: {string: {text: "{tag_3}", <<: *focused}}
false: {string: {text: "{tag_3}", <<: *default}}
- map:
margin: 4
tag: tag_4_occupied
values:
true:
map:
tag: tag_4_focused
values:
true: {string: {text: "{tag_4}", <<: *focused}}
false: {string: {text: "{tag_4}", <<: *occupied}}
false:
map:
tag: tag_4_focused
values:
true: {string: {text: "{tag_4}", <<: *focused}}
false: {string: {text: "{tag_4}", <<: *default}}
- map:
margin: 4
tag: tag_5_occupied
values:
true:
map:
tag: tag_5_focused
values:
true: {string: {text: "{tag_5}", <<: *focused}}
false: {string: {text: "{tag_5}", <<: *occupied}}
false:
map:
tag: tag_5_focused
values:
true: {string: {text: "{tag_5}", <<: *focused}}
false: {string: {text: "{tag_5}", <<: *default}}
- map:
margin: 4
tag: tag_6_occupied
values:
true:
map:
tag: tag_6_focused
values:
true: {string: {text: "{tag_6}", <<: *focused}}
false: {string: {text: "{tag_6}", <<: *occupied}}
false:
map:
tag: tag_6_focused
values:
true: {string: {text: "{tag_6}", <<: *focused}}
false: {string: {text: "{tag_6}", <<: *default}}
- map:
margin: 4
tag: tag_7_occupied
values:
true:
map:
tag: tag_7_focused
values:
true: {string: {text: "{tag_7}", <<: *focused}}
false: {string: {text: "{tag_7}", <<: *occupied}}
false:
map:
tag: tag_7_focused
values:
true: {string: {text: "{tag_7}", <<: *focused}}
false: {string: {text: "{tag_7}", <<: *default}}
- map:
margin: 4
tag: tag_8_occupied
values:
true:
map:
tag: tag_8_focused
values:
true: {string: {text: "{tag_8}", <<: *focused}}
false: {string: {text: "{tag_8}", <<: *occupied}}
false:
map:
tag: tag_8_focused
values:
true: {string: {text: "{tag_8}", <<: *focused}}
false: {string: {text: "{tag_8}", <<: *default}}
- list:
spacing: 3
items:
- string: {text: "{layout}"}
- string: {text: "{title}"}

View File

@ -0,0 +1,175 @@
bar:
height: 40
location: top
font: mono:pixelsize=10
spacing: 2
margin: 0
layer: bottom
foreground: eeeeeeff
background: 2E3440dd
right:
- script:
path: /home/alex/.local/scripts/dwl-tags.sh
args: [1]
anchors:
- occupied: &occupied {foreground: 57bbf4ff}
- focused: &focused {foreground: fc65b0ff}
- default: &default {foreground: d2ccd6ff}
content:
- map:
margin: 4
tag: tag_0_occupied
values:
true:
map:
tag: tag_0_focused
values:
true: {string: {text: "{tag_0}", <<: *focused}}
false: {string: {text: "{tag_0}", <<: *occupied}}
false:
map:
tag: tag_0_focused
values:
true: {string: {text: "{tag_0}", <<: *focused}}
false: {string: {text: "{tag_0}", <<: *default}}
- map:
margin: 4
tag: tag_1_occupied
values:
true:
map:
tag: tag_1_focused
values:
true: {string: {text: "{tag_1}", <<: *focused}}
false: {string: {text: "{tag_1}", <<: *occupied}}
false:
map:
tag: tag_1_focused
values:
true: {string: {text: "{tag_1}", <<: *focused}}
false: {string: {text: "{tag_1}", <<: *default}}
- map:
margin: 4
tag: tag_2_occupied
values:
true:
map:
tag: tag_2_focused
values:
true: {string: {text: "{tag_2}", <<: *focused}}
false: {string: {text: "{tag_2}", <<: *occupied}}
false:
map:
tag: tag_2_focused
values:
true: {string: {text: "{tag_2}", <<: *focused}}
false: {string: {text: "{tag_2}", <<: *default}}
- map:
margin: 4
tag: tag_3_occupied
values:
true:
map:
tag: tag_3_focused
values:
true: {string: {text: "{tag_3}", <<: *focused}}
false: {string: {text: "{tag_3}", <<: *occupied}}
false:
map:
tag: tag_3_focused
values:
true: {string: {text: "{tag_3}", <<: *focused}}
false: {string: {text: "{tag_3}", <<: *default}}
- map:
margin: 4
tag: tag_4_occupied
values:
true:
map:
tag: tag_4_focused
values:
true: {string: {text: "{tag_4}", <<: *focused}}
false: {string: {text: "{tag_4}", <<: *occupied}}
false:
map:
tag: tag_4_focused
values:
true: {string: {text: "{tag_4}", <<: *focused}}
false: {string: {text: "{tag_4}", <<: *default}}
- map:
margin: 4
tag: tag_5_occupied
values:
true:
map:
tag: tag_5_focused
values:
true: {string: {text: "{tag_5}", <<: *focused}}
false: {string: {text: "{tag_5}", <<: *occupied}}
false:
map:
tag: tag_5_focused
values:
true: {string: {text: "{tag_5}", <<: *focused}}
false: {string: {text: "{tag_5}", <<: *default}}
- map:
margin: 4
tag: tag_6_occupied
values:
true:
map:
tag: tag_6_focused
values:
true: {string: {text: "{tag_6}", <<: *focused}}
false: {string: {text: "{tag_6}", <<: *occupied}}
false:
map:
tag: tag_6_focused
values:
true: {string: {text: "{tag_6}", <<: *focused}}
false: {string: {text: "{tag_6}", <<: *default}}
- map:
margin: 4
tag: tag_7_occupied
values:
true:
map:
tag: tag_7_focused
values:
true: {string: {text: "{tag_7}", <<: *focused}}
false: {string: {text: "{tag_7}", <<: *occupied}}
false:
map:
tag: tag_7_focused
values:
true: {string: {text: "{tag_7}", <<: *focused}}
false: {string: {text: "{tag_7}", <<: *default}}
- map:
margin: 4
tag: tag_8_occupied
values:
true:
map:
tag: tag_8_focused
values:
true: {string: {text: "{tag_8}", <<: *focused}}
false: {string: {text: "{tag_8}", <<: *occupied}}
false:
map:
tag: tag_8_focused
values:
true: {string: {text: "{tag_8}", <<: *focused}}
false: {string: {text: "{tag_8}", <<: *default}}
- list:
spacing: 3
items:
- string: {text: "{layout}"}
- string: {text: "{title}"}

15
.config/zathura/zathurarc Normal file
View File

@ -0,0 +1,15 @@
set statusbar-h-padding 50
set statusbar-v-padding 0
set page-padding 10
map i recolor
#KEYBINDINGS
#map <A-a> shortcut_function
#map <C-a> shortcut_function
# A - Alt
# C - Control
# S - Shift
#map <A--> zoom out
#map <A-=> zoom in

92
.config/zsh/.zshrc Normal file
View File

@ -0,0 +1,92 @@
# Luke's config for the Zoomer Shell
# Enable colors and change prompt:
autoload -U colors && colors
#PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b "
PS1="%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~% %{$fg[yellow]%} -> "
# History in cache directory:
HISTSIZE=10000
SAVEHIST=10000
HISTFILE=~/.cache/zsh/history
# Basic auto/tab complete:
autoload -U compinit
zstyle ':completion:*' menu select
zmodload zsh/complist
compinit
_comp_options+=(globdots) # Include hidden files.
# vi mode
bindkey -v
export KEYTIMEOUT=1
# Use vim keys in tab complete menu:
bindkey -M menuselect 'h' vi-backward-char
bindkey -M menuselect 'k' vi-up-line-or-history
bindkey -M menuselect 'l' vi-forward-char
bindkey -M menuselect 'j' vi-down-line-or-history
bindkey -v '^?' backward-delete-char
# Change cursor shape for different vi modes.
function zle-keymap-select {
if [[ ${KEYMAP} == vicmd ]] ||
[[ $1 = 'block' ]]; then
echo -ne '\e[1 q'
elif [[ ${KEYMAP} == main ]] ||
[[ ${KEYMAP} == viins ]] ||
[[ ${KEYMAP} = '' ]] ||
[[ $1 = 'beam' ]]; then
echo -ne '\e[5 q'
fi
}
zle -N zle-keymap-select
zle-line-init() {
zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere)
echo -ne "\e[5 q"
}
zle -N zle-line-init
echo -ne '\e[5 q' # Use beam shape cursor on startup.
preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt.
# Use lf to switch directories and bind it to ctrl-o
lfcd () {
tmp="$(mktemp)"
lf -last-dir-path="$tmp" "$@"
if [ -f "$tmp" ]; then
dir="$(cat "$tmp")"
rm -f "$tmp"
[ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir"
fi
}
bindkey -s '^o' 'lfcd\n'
# Edit line in vim with ctrl-e:
autoload edit-command-line; zle -N edit-command-line
bindkey '^e' edit-command-line
# Load aliases and shortcuts if existent.
[ -f "$HOME/.config/shortcutrc" ] && source "$HOME/.config/shortcutrc"
[ -f "$HOME/.config/aliasrc" ] && source "$HOME/.config/aliasrc"
#my additions
unsetopt nomatch
#source haskell file if it exists
[ -f "$HOME/.ghcup/env" ] && source "$HOME/.ghcup/env"
if ! [ -f $HOME/.local/share/zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ]; then
mkdir -p $HOME/.local/share/zsh/
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $HOME/.local/share/zsh/zsh-syntax-highlighting
fi
# prompt stuff
pfetch
#if [ -f "/usr/bin/starship" ]; then
# eval "$(starship init zsh)"
#fi
# Load zsh-syntax-highlighting; should be last.
source $HOME/.local/share/zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh 2>/dev/null

23
.gitignore vendored Normal file
View File

@ -0,0 +1,23 @@
.local/share/
media/
docs/
dl/
.cache/
.mozilla/
.trash/
.dbus/
.pki/
devel/
go/
.cfg/
.config/surf/
.config/transmission-daemon/
.config/pulse/
.steam/
.steampath
.steampid
.xinitrc
.zprofile
.config/color
.config/color.bak
.config/wall

21
.local/LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2019 Alex Hubbard
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

157
.local/README.md Normal file
View File

@ -0,0 +1,157 @@
# My Dotfiles
This repo contains my config files for the programs I use in my linux setup,
as well as any scripts I write for those programs.
Installers are located in ~/.local/installers/ to automate installation.
Currently available for Void Linux and Artix Linux.
in the future.
## Overview
### Applications used
- Window Manager - dwm
- Terminal Emulator - st
- App Launcher - dmenu
- File Browser - lf
## Installation
Install git
and then clone this repo
`$ cd ~`
`$ git clone --bare https://gitlab.com/ahub/dotfiles.git $HOME/.cfg`
ensure the config alias is defined
`alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'`
then checkout contents of bare repository to populate your home directory.
`config checkout`
for more info read [this article](https://www.atlassian.com/git/tutorials/dotfiles)
finally run the install script in ~/.local/installers/
`bash ~/.local/installers/void-install.sh`
## Post Install
### Change Mirrors for Void
(NOTE: this is done for you in the void-install.sh script now.)
Default mirrors for void are located in Europe. Recommend changing them to a closer location.
A list of mirrors can be found at voidlinux.org/download at the bottom of the page.
Follow instructions on voids documentation at docs.voidlinux.org to change to desired mirror.
### Mount Secondary Drives
Modify /etc/fstab to add any secondary drives. Example entry can be seen below. Replace UUID value with UUID of the device you wish to mount, and the \<dir> entry with the directory you wish to mount to. **Ensure the directory you are mounting to exists**. If the directory does not exist, the system will likely have issues booting.
To see a list of devices and their UUIDs, run: `$ blkid`. Recommend using UUID instead of device files such as /dev/sda1 because drives may not always be mounted to the same /dev/ file. For more information read [the arch wiki entry](https://wiki.archlinux.org/index.php/Fstab).
```
#<device> <dir> <type> <options> <dump> <fsck>
UUID=b7d683d4-9337-433b-8d33-1035ef7dbcdf /home/user/HDD ext4 defaults 0 2
```
To mount a NAS drive at boot:
```
//IP_ADDRESS/storage/ /path/to/mount/dir/ cifs workgroup=WORKGROUP,users,auto,username=USERNAME,password=PASSWORD 0 0
```
### Enable Apparmor
Add `apparmor=1` and `security=apparmor` to GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub.
Also edit /etc/default/apparmor and add line:
`APPARMOR=complain` or `APPARMOR=enforce`
Then generate grub config:
`$ sudo grub-mkconfig -o /boot/grub/grub.cfg`
## Notes
### wifi
ensure you enabled the wpa_supplicant service with:
`$ sudo ln -s /etc/sv/wpa_supplicant /var/service`
if you know the name of the network you wish to connect to:
1. change to root user:
`$ su`
2. run command:
`$ wpa_supplicant -B -i INTERFACE -c <(wpa_passphrase SSID PASSWORD)`
INTERFACE = name of wifi interface, likey: wlp3s0 or wlan0
SSID = name of the network
PASSWORD = the password of the network
use command:
`$ ip link show`
to get a list of network interfaces available
3. If you can now connect to the internet then you can add this network to your config file so that your computer will automatically connect to it. to do this run:
`sudo sh -c 'wpa_passphrase SSID PASSWORD >> /etc/wpa_supplicant/wpa_supplicant.conf'`
Your wifi should now work at startup. It may take a moment to connect. this will need to be done for any wifi network you wish to connect to.
### st
If you have weird issues with st such as a key writing multiple characters, backspace not working etc
try running the following in the st directory (~/devel/repos/st/ if using the installer):
`$ tic -sx st.info`
### add locales
uncomment locale(s) you wish to add in /etc/default/libc-locales then run:
`$ sudo xbps-reconfigure -f glibc-locales`
### set system fonts
modify alias tags within <fontconfig> in ~/.config/fontconfig/fonts.conf
```
<alias>
<family>FONT TYPE</family> #serif, sans-serif,sans, monospace
<prefer><family>NAME OF FONT TO SET TO</family></prefer> #NotoSerif,NotoSans, Hack, etc.
</alias>
```
### modify visudo
To be able to use reboot, poweroff and shutdown without password(needed for sxhkd bindings to work):
`$ sudo visudo`
Add this line replacing user_name with your user name
`user_name ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot, /sbin/shutdown`
### fix low resolution in grub/tty
To get list of available resolutions press c in grub then type `vbeinfo` at the prompt
Then add line to /etc/default/grub
`GRUB_GFXPAYLOAD_LINUX=1920x1080x30`
then generate grub config:
`$ sudo grub-mkconfig -o /boot/grub/grub.cfg`

8
.local/TODO Normal file
View File

@ -0,0 +1,8 @@
*update README
*artix-install.sh
-remove all remaining prompts
-configure grub during install
-create separate configuration script that is distro agnostic, expects specific set of packages
*fix read/write permission issue during install. Caused issues when logging in with zsh. got errors that I didn't have write permissions on .profile

3
.local/bin/chromium-wayland Executable file
View File

@ -0,0 +1,3 @@
#!/bin/sh
#chromium --enable-features=UseOzonePlatform --ozone-platform=wayland "$@"
chromium --ozone-platform-hint=auto "$@"

3
.local/bin/jaxx Executable file
View File

@ -0,0 +1,3 @@
#!/bin/sh
unset GDK_BACKEND
$HOME/.local/appimages/Jaxx\ Liberty-*

54
.local/bin/svlogtail Executable file
View File

@ -0,0 +1,54 @@
#!/bin/sh
#copied from: https://github.com/void-linux/socklog-void/blob/master/svlogtail
usage () {
cat <<-'EOF'
svlogtail [-f] [LOG...] - show svlogd logs conveniently
Without arguments, show current logs of all services, uniquely.
With arguments, show all logs of mentioned services
With -f, follow log output.
EOF
}
globexist() {
[ -f "$1" ]
}
IFS='
'
fflag=false
if [ "$1" = -f ]; then
shift
fflag=true
fi
if [ $# = 0 ]; then
cat /var/log/socklog/*/current | sort -u
if $fflag; then
tail -Fq -n0 /var/log/socklog/*/current | uniq
fi
else
old=
cur=
for log; do
case "$log" in
-*) usage; exit 1;;
esac
if [ -d /var/log/socklog/$log ]; then
if globexist /var/log/socklog/$log/*.[us]; then
old="$old$IFS/var/log/socklog/$log/*.[us]"
fi
cur="$cur$IFS/var/log/socklog/$log/current"
else
echo "no logs for $log" 1>&2
exit 1
fi
done
cat $old $cur | sort
if $fflag; then
tail -Fq -n0 $cur
fi
fi

65
.local/bin/transadd Executable file
View File

@ -0,0 +1,65 @@
#!/usr/bin/env sh
# script copied from Luke Smith to add a torrent
# removed part of first line that uses i3blocks
# modifications to allow the user to select the download directory using lf
#modifications to interface with remote transmission server
TRANSMISSION_REMOTE="nagato:9091"
OPTS="default
lf_select
lf_last"
DEST="remote
local"
DEST_OPT="$(echo "$DEST" | bemenu -p "select destination machine: ")"
if [ "$DEST_OPT" = "local" ]; then
pgrep -x transmission-da > /dev/null || (trans-init && notify-send "Starting transmission daemon..." && sleep 3)
fi
OPT="$(echo "$OPTS" | bemenu -p "download to:")"
if [ "$OPT" = "lf_select" ]; then
if [ ! -f ~/.cache/lf/lastpath ]; then
mkdir -p ~/.cache/lf/
touch ~/.cache/lf/lastpath
echo "~" > ~/.cache/lf/lastpath
fi
$TERMINAL -e lf -last-dir-path ~/.cache/lf/lastpath "$(cat ~/.cache/lf/lastpath)"
SEL="$(cat ~/.cache/lf/lastpath)"
elif [ "$OPT" = "lf_last" ]; then
SEL="$(cat ~/.cache/lf/lastpath)"
elif [ "$OPT" = "default" ]; then
SEL=""
else
SEL=""
notify-send "ERROR"
exit
fi
if [ "$TRANSMISSION_REMOTE" ]; then
SEL_REM="$(echo "$SEL" | sed 's/^\/media\/nagato/\/media\/storage/g')"
fi
if [ "$DEST_OPT" = "remote" ]; then
if [ "$SEL_REM" ]; then
transmission-remote $TRANSMISSION_REMOTE -a "$@" -w "$SEL_REM" && notify-send " Transmission-daemon" "Torrent added to $SEL"
else
transmission-remote $TRANSMISSION_REMOTE -a "$@" && notify-send " Transmission-daemon" "Torrent added."
fi
else
if [ -d "$SEL" ]; then
transmission-remote -a "$@" -w "$SEL" && notify-send " Transmission-daemon" "Torrent added to $SEL"
else
transmission-remote -a "$@" && notify-send " Transmission-daemon" "Torrent added."
fi
fi

30
.local/bin/unrar Executable file
View File

@ -0,0 +1,30 @@
#!/bin/sh
# script acts as a basic wrapper for 7z for extracting .rar files
# requires p7zip-rar , p7zip with rar archive support
# not everything is implemented just x and l flags
# $1 -> flag
# $2 -> archive file name ex: archive.rar
# $3 -> (optional) directory to extract to
if [ "$1" = "x" ]; then
if [ "$(echo "$2" | grep ".rar" )" ]; then
if [ -d "$3" ]; then
7z x "$2" -o"$3"
else
7z x "$2"
fi
fi
exit
fi
if [ "$1" = "l" ]; then
7z l "$2"
exit
fi
echo "This is a script that serves as a wrapper for 7z to use unrar commands."
echo ""
echo "unrar x file.rar --> extracts file to current directory"
echo "unrar x file.rar /path/to/directory/ --> extracts file to specified directory"
echo "unrar l file.rar --> prints out contents of file to terminal"

33
.local/init/init.sh Executable file
View File

@ -0,0 +1,33 @@
#!/bin/sh
#default startup file is defined, redefinable by second argument
FILENAME="$HOME/.local/init/startup"
[ -f "$2" ] && FILENAME="$1"
close() {
while read CMD
do
echo "killing: $CMD"
pkill $CMD
done < "$FILENAME"
}
init() {
while read CMD
do
if [ -z "$(pgrep "$CMD")" ]; then
echo "starting: $CMD"
$CMD &
fi
done < "$FILENAME"
}
if [ "$1" = "-i" ]; then
init
elif [ "$1" = "-c" ]; then
close
swaymsg exit
else
close
fi

5
.local/init/startup Normal file
View File

@ -0,0 +1,5 @@
mako
gammastep
devmon
pipewire.sh
mpd

8
.local/init/wms/awesome.sh Executable file
View File

@ -0,0 +1,8 @@
#!/bin/sh
xrdb ~/.config/Xresources
#put any device specific initialization in ~/.init.sh
[ -f "$HOME"/.init.sh ] && sh "$HOME"/.init.sh
exec dbus-launch --exit-with-session awesome

12
.local/init/wms/bspwm.sh Executable file
View File

@ -0,0 +1,12 @@
#!/usr/bin/env sh
xrdb ~/.config/.Xresources
sxhkd -c ~/.config/sxhkd/sxhkdrc_bspwm &
dunst &
picom &
redshift &
sh ~/.fehbg &
devmon --mount-options "exec,nosuid,nodev,noatime" &
[ -z "$(pgrep scrond)" ] && scrond -f ~/.config/crontab &
[ -z "$(pgrep transmission)" ] && sh ~/.local/scripts/trans-init &
exec bspwm

13
.local/init/wms/dwm.sh Executable file
View File

@ -0,0 +1,13 @@
#!/bin/sh
xrdb ~/.config/Xresources
#put any device specific initialization in ~/init.sh
[ -f "$HOME"/.init.sh ] && sh "$HOME"/.init.sh
#[ "$(pgrep pipewire)" ] && /usr/bin/pipewire &
#[ "$(pgrep pipewire-pulse)" ] && /usr/bin/pipewire-pulse &
#sleep 1
#[ "$(pgrep pipewire-media-session)" ] && /usr/bin/pipewire-media-session &
#gentoo wiki recommended this for logind
exec dbus-launch --exit-with-session dwm

12
.local/init/wms/gnome.sh Executable file
View File

@ -0,0 +1,12 @@
#!/usr/bin/env sh
xrdb ~/.config/.Xresources
sxhkd &
#dunst &
#compton &
#redshift &
#sh ~/.fehbg &
devmon --mount-options "exec,nosuid,nodev,noatime" &
#sh ~/.local/scripts/dwm-bar.sh -l &
scrond -f ~/.config/crontab &
exec gnome-session

36
.local/init/wms/river.sh Executable file
View File

@ -0,0 +1,36 @@
#!/bin/sh
SERVICES="
waybar
pipewire
pipewire-pulse
pipewire-media-session
wlsunset -t 3000 -l 34.0 -L -86.0
devmon
mpd
mako
"
echo "$SERVICES" | while read -r i
do
if [ "$i" = "pipewire-media-session" ]; then
[ -z "$(pgrep "pipewire-media" )" ] && "$i" &
else
! [ "$(pgrep "$i" )" ] && $i 2> /dev/null 1> /dev/null &
fi
done
swaybg --image ~/.config/wall &
swayidle -w \
timeout 300 'swaylock -f -c 000000' \
timeout 600 'swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on"' \
before-sleep 'swaylock -f -c 000000' &
# ! [ "$( pgrep sxhkd)" ] && sxhkd &
#wait

8
.local/init/wms/spectrwm.sh Executable file
View File

@ -0,0 +1,8 @@
#!/bin/sh
xrdb ~/.config/Xresources
#put any device specific initialization in ~/.init.sh
[ -f "$HOME"/.init.sh ] && sh "$HOME"/.init.sh
exec dbus-launch --exit-with-session spectrwm

31
.local/init/wms/startup.sh Executable file
View File

@ -0,0 +1,31 @@
#!/usr/bin/env sh
_shutdown() {
pkill sxhkd
pkill tiramisu
pkill picom
pkill redshift
pkill mpd
pkill devmon
kill sleep -P "$(cat ~/.cache/statusbar_pid )"
kill "$(cat ~/.cache/statusbar_pid )"
}
startup() {
[ "$(pgrep redshift)" ] && _shutdown
xrdb ~/.config/Xresources
sxhkd &
#dunst &
sh ~/.local/scripts/notify.sh &
#picom --backend glx --glx-fshader-win "$(cat ~/.config/picom/grayscale.glsl)" & #make entire display grayscale, comment out picom below if using
picom &
redshift &
mpd &
#xautolock -time 30 -locker slock &
xwallpaper --zoom ~/.config/wall &
devmon &
#[ -z "$(pgrep transmission)" ] && sh ~/.local/scripts/trans-init &
#[ -z "(pgrep scron)" ] && scrond -f ~/.config/crontab &
}

Some files were not shown because too many files have changed in this diff Show More