Compare commits
26 Commits
4c65eb0241
...
66f7c95451
Author | SHA1 | Date | |
---|---|---|---|
66f7c95451 | |||
6f9bdb39af | |||
c11bd2e632 | |||
46fa1c4aac | |||
d923ec387f | |||
48f6cf3aed | |||
2817659814 | |||
368b81ae39 | |||
e5b9b32e4d | |||
7ccc5cdc19 | |||
fda84ea5ee | |||
c17465ed1e | |||
cc20358391 | |||
b1659e6633 | |||
61f1237ec2 | |||
3880f0e2b7 | |||
80b40728b7 | |||
9e9165cb4e | |||
f305aad88b | |||
65dba09e3d | |||
0306aa6381 | |||
d36ca7fab1 | |||
eb11ec0726 | |||
e6d13ffdf8 | |||
c003bf810a | |||
ab5cd85f72 |
20
flake.lock
20
flake.lock
@ -36,10 +36,28 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"river-bsp-layout": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1,
|
||||
"narHash": "sha256-9l80YSyV6CEKAJVnJ3LoUc88O/M0b9wKbj0mMGmL6gI=",
|
||||
"path": "./packages/river-bsp-layout",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "./packages/river-bsp-layout",
|
||||
"type": "path"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": "nixpkgs",
|
||||
"river-bsp-layout": "river-bsp-layout"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -59,15 +59,74 @@
|
||||
set relativenumber
|
||||
set splitbelow
|
||||
set splitright
|
||||
set tabstop=2
|
||||
set shiftwidth=2
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
if filereadable(expand(".vim-project"))
|
||||
source .vim-project
|
||||
endif
|
||||
'';
|
||||
};
|
||||
xdg.configFile."lf/icons".source = ./dots/icons;
|
||||
programs.lf = {
|
||||
enable = true;
|
||||
commands = {
|
||||
dragon-out = ''%${pkgs.xdragon}/bin/xdragon -a -x "$fx"'';
|
||||
editor-open = ''$$EDITOR $f'';
|
||||
mkdir = ''
|
||||
''${{
|
||||
printf "Directory Name: "
|
||||
read DIR
|
||||
mkdir $DIR
|
||||
}}
|
||||
'';
|
||||
};
|
||||
keybindings = {
|
||||
"\\\"" = "";
|
||||
o = "";
|
||||
c = "mkdir";
|
||||
"." = "set hidden!";
|
||||
"`" = "mark-load";
|
||||
"\\'" = "mark-load";
|
||||
"<enter>" = "open";
|
||||
do = "dragon-out";
|
||||
"g~" = "cd";
|
||||
gh = "cd";
|
||||
"g/" = "/";
|
||||
ee = "editor-open";
|
||||
V = ''''$${pkgs.bat}/bin/bat --paging=always "$f"'';
|
||||
};
|
||||
settings = {
|
||||
preview = true;
|
||||
hidden = true;
|
||||
drawbox = true;
|
||||
icons = true;
|
||||
ignorecase = true;
|
||||
};
|
||||
extraConfig =
|
||||
let
|
||||
previewer =
|
||||
pkgs.writeShellScriptBin "pv.sh" ''
|
||||
file=$1
|
||||
w=$2
|
||||
h=$3
|
||||
x=$4
|
||||
y=$5
|
||||
|
||||
if [[ "$( ${pkgs.file}/bin/file -Lb --mime-type "$file")" =~ ^image ]]; then
|
||||
${pkgs.kitty}/bin/kitty +kitten icat --silent --stdin no --transfer-mode file --place "''${w}x''${h}@''${x}x''${y}" "$file" < /dev/null > /dev/tty
|
||||
exit 1
|
||||
fi
|
||||
|
||||
${pkgs.pistol}/bin/pistol "$file"
|
||||
'';
|
||||
cleaner = pkgs.writeShellScriptBin "clean.sh" ''
|
||||
${pkgs.kitty}/bin/kitty +kitten icat --clear --stdin no --silent --transfer-mode file </dev/null > /dev/tty
|
||||
'';
|
||||
in
|
||||
''
|
||||
set cleaner ${cleaner}/bin/clean.sh
|
||||
set previewer ${previewer}/bin/pv.sh
|
||||
'';
|
||||
};
|
||||
programs.password-store = {
|
||||
enable = true;
|
||||
@ -87,6 +146,7 @@
|
||||
mouse = false;
|
||||
newSession = false;
|
||||
prefix = "C-b";
|
||||
terminal = "screen-256color";
|
||||
extraConfig = ''
|
||||
# Do not rename windows automatically
|
||||
set-option -g allow-rename off
|
||||
@ -107,11 +167,11 @@
|
||||
unbind v
|
||||
bind v split-window -h -c "#{pane_current_path}"
|
||||
unbind '"'
|
||||
unbind b
|
||||
bind b split-window -v -c "#{pane_current_path}"
|
||||
|
||||
unbind c
|
||||
bind c new-window
|
||||
bind c split-window -v -c "#{pane_current_path}"
|
||||
|
||||
unbind Enter
|
||||
bind Enter new-window
|
||||
unbind Tab
|
||||
bind Tab last-window
|
||||
|
||||
|
16
home-manager/chat.nix
Normal file
16
home-manager/chat.nix
Normal file
@ -0,0 +1,16 @@
|
||||
# Chat home.nix
|
||||
{ config, lib, pkgs, inputs, user, ... }:
|
||||
{
|
||||
xdg.configFile = {
|
||||
"catgirl" = {
|
||||
source = ./dots/catgirl;
|
||||
target = "catgirl";
|
||||
recursive = true;
|
||||
};
|
||||
"senpai" = {
|
||||
source = ./dots/senpai;
|
||||
target = "senpai";
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
}
|
@ -12,9 +12,9 @@
|
||||
"${config.home.homeDirectory}/.local/share/go/bin"
|
||||
];
|
||||
xdg.configFile = {
|
||||
"catgirl" = {
|
||||
source = ./dots/catgirl;
|
||||
target = "catgirl";
|
||||
"cava" = {
|
||||
source = ./dots/cava;
|
||||
target = "cava";
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
@ -44,8 +44,10 @@
|
||||
dracula-nvim
|
||||
goyo-vim
|
||||
limelight-vim
|
||||
twilight-nvim
|
||||
vim-nix
|
||||
vimwiki
|
||||
zen-mode-nvim
|
||||
];
|
||||
};
|
||||
yt-dlp = {
|
||||
|
@ -1,4 +1,4 @@
|
||||
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
||||
if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then
|
||||
exec startx
|
||||
exec river
|
||||
fi
|
||||
|
@ -1,5 +1,10 @@
|
||||
# .bashrc
|
||||
|
||||
# Source global definitions
|
||||
if [ -f /etc/bashrc ]; then
|
||||
. /etc/bashrc
|
||||
fi
|
||||
|
||||
set -o vi
|
||||
unset HISTFILE
|
||||
|
||||
@ -7,15 +12,12 @@ unset HISTFILE
|
||||
function search() {
|
||||
surfraw $(surfraw -elvi | fzf | awk '{print $1;}')
|
||||
}
|
||||
|
||||
function mkcd {
|
||||
mkdir -p $1
|
||||
cd $1
|
||||
}
|
||||
function ukr() {
|
||||
read -rsp "Password: " PASS
|
||||
export $(echo -n "$PASS" | gnome-keyring-daemon --replace --unlock)
|
||||
unset PASS
|
||||
}
|
||||
|
||||
# fe [FUZZY PATTERN] - Open the selected file with the default editor
|
||||
# - Bypass fuzzy finder if there's only one match (--select-1)
|
||||
# - Exit if there's no match (--exit-0)
|
||||
@ -25,6 +27,7 @@ function fe() {
|
||||
files=$(fzf --query="$1" --multi --select-1 --exit-0)
|
||||
[ -n "$files" ] && ${EDITOR} "${files}"
|
||||
}
|
||||
|
||||
function _track() {
|
||||
TRACK_DIR=${TRACK_DIR:-.}
|
||||
local lis
|
||||
@ -33,6 +36,7 @@ function _track() {
|
||||
cur=${COMP_WORDS[COMP_CWORD]}
|
||||
COMPREPLY=( $(compgen -W "$lis" -- "$cur") )
|
||||
}
|
||||
|
||||
function track() {
|
||||
TRACK_DIR=${TRACK_DIR:-.}
|
||||
if [ $# -eq 0 ]; then
|
||||
@ -99,10 +103,24 @@ function track() {
|
||||
}
|
||||
complete -F _track track
|
||||
|
||||
# Source global definitions
|
||||
if [ -f /etc/bashrc ]; then
|
||||
. /etc/bashrc
|
||||
fi
|
||||
|
||||
# Environmental Variables
|
||||
# Uncomment the following line if you don't like systemctl's auto-paging feature:
|
||||
# export SYSTEMD_PAGER=
|
||||
export SYSTEMD_PAGER=
|
||||
export BEMENU_OPTS="--tb '#6272a4'\
|
||||
--tf '#f8f8f2'\
|
||||
--fb '#282a36'\
|
||||
--ff '#f8f8f2'\
|
||||
--nb '#282a36'\
|
||||
--nf '#6272a4'\
|
||||
--hb '#44475a'\
|
||||
--hf '#50fa7b'\
|
||||
--sb '#44475a'\
|
||||
--sf '#50fa7b'\
|
||||
--scb '#282a36'\
|
||||
--scf '#ff79c6'\
|
||||
--fn 'Comic Mono 12'\
|
||||
--hp '10'\
|
||||
--binding 'vim'\
|
||||
--vim-esc-exits\
|
||||
--ignorecase\
|
||||
--no-overlap"
|
||||
|
210
home-manager/dots/cava/config
Normal file
210
home-manager/dots/cava/config
Normal file
@ -0,0 +1,210 @@
|
||||
## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
|
||||
|
||||
|
||||
[general]
|
||||
|
||||
# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
|
||||
; mode = normal
|
||||
|
||||
# Accepts only non-negative values.
|
||||
; framerate = 60
|
||||
|
||||
# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
|
||||
# new as of 0.6.0 autosens of low values (dynamic range)
|
||||
# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
|
||||
; autosens = 1
|
||||
; overshoot = 20
|
||||
|
||||
# Manual sensitivity in %. If autosens is enabled, this will only be the initial value.
|
||||
# 200 means double height. Accepts only non-negative values.
|
||||
; sensitivity = 100
|
||||
|
||||
# The number of bars (0-200). 0 sets it to auto (fill up console).
|
||||
# Bars' width and space between bars in number of characters.
|
||||
; bars = 0
|
||||
; bar_width = 1
|
||||
; bar_spacing = 1
|
||||
# bar_height is only used for output in "noritake" format
|
||||
; bar_height = 32
|
||||
|
||||
# For SDL width and space between bars is in pixels, defaults are:
|
||||
; bar_width = 20
|
||||
; bar_spacing = 5
|
||||
|
||||
|
||||
# Lower and higher cutoff frequencies for lowest and highest bars
|
||||
# the bandwidth of the visualizer.
|
||||
# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
|
||||
# Cava will automatically increase the higher cutoff if a too low band is specified.
|
||||
; lower_cutoff_freq = 50
|
||||
; higher_cutoff_freq = 10000
|
||||
|
||||
|
||||
# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
|
||||
# only check for input once per second. Cava will wake up once input is detected. 0 = disable.
|
||||
; sleep_timer = 0
|
||||
|
||||
|
||||
[input]
|
||||
|
||||
# Audio capturing method. Possible methods are: 'pulse', 'alsa', 'fifo', 'sndio' or 'shmem'
|
||||
# Defaults to 'pulse', 'alsa' or 'fifo', in that order, dependent on what support cava was built with.
|
||||
#
|
||||
# All input methods uses the same config variable 'source'
|
||||
# to define where it should get the audio.
|
||||
#
|
||||
# For pulseaudio 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
|
||||
# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
|
||||
#
|
||||
# For alsa 'source' will be the capture device.
|
||||
# For fifo 'source' will be the path to fifo-file.
|
||||
# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
|
||||
; method = pulse
|
||||
; source = auto
|
||||
|
||||
; method = alsa
|
||||
; source = hw:Loopback,1
|
||||
|
||||
; method = fifo
|
||||
; source = /tmp/mpd.fifo
|
||||
; sample_rate = 44100
|
||||
; sample_bits = 16
|
||||
|
||||
; method = shmem
|
||||
; source = /squeezelite-AA:BB:CC:DD:EE:FF
|
||||
|
||||
; method = portaudio
|
||||
; source = auto
|
||||
|
||||
|
||||
[output]
|
||||
|
||||
# Output method. Can be 'ncurses', 'noncurses', 'raw', 'noritake' or 'sdl'.
|
||||
# 'noncurses' uses a custom framebuffer technique and prints only changes
|
||||
# from frame to frame in the terminal. 'ncurses' is default if supported.
|
||||
#
|
||||
# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
|
||||
# stream of the bar heights that can be used to send to other applications.
|
||||
# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
|
||||
#
|
||||
# 'noritake' outputs a bitmap in the format expected by a Noritake VFD display
|
||||
# in graphic mode. It only support the 3000 series graphical VFDs for now.
|
||||
#
|
||||
# 'sdl' uses the Simple DirectMedia Layer to render in a graphical context.
|
||||
; method = ncurses
|
||||
|
||||
# Orientation of the visualization. Can be 'bottom', 'top', 'left' or 'right'.
|
||||
# Default is 'bottom'. Other orientations are only supported on sdl and ncruses
|
||||
# output. Note: many fonts have weird glyphs for 'top' and 'right' characters,
|
||||
# which can make ncurses not look right.
|
||||
; orientation = bottom
|
||||
|
||||
# Visual channels. Can be 'stereo' or 'mono'.
|
||||
# 'stereo' mirrors both channels with low frequencies in center.
|
||||
# 'mono' outputs left to right lowest to highest frequencies.
|
||||
# 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
|
||||
# set 'reverse' to 1 to display frequencies the other way around.
|
||||
; channels = mono
|
||||
; mono_option = average
|
||||
; reverse = 0
|
||||
|
||||
# Raw output target. A fifo will be created if target does not exist.
|
||||
; raw_target = /dev/stdout
|
||||
|
||||
# Raw data format. Can be 'binary' or 'ascii'.
|
||||
; data_format = binary
|
||||
|
||||
# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
|
||||
; bit_format = 16bit
|
||||
|
||||
# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
|
||||
; ascii_max_range = 1000
|
||||
|
||||
# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
|
||||
# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
|
||||
; bar_delimiter = 59
|
||||
; frame_delimiter = 10
|
||||
|
||||
# sdl window size and position. -1,-1 is centered.
|
||||
; sdl_width = 1000
|
||||
; sdl_height = 500
|
||||
; sdl_x = -1
|
||||
; sdl_y= -1
|
||||
|
||||
# set label on bars on the x-axis. Can be 'frequency' or 'none'. Default: 'none'
|
||||
# 'frequency' displays the lower cut off frequency of the bar above.
|
||||
# Only supported on ncurses and noncurses output.
|
||||
; xaxis = none
|
||||
|
||||
# enable alacritty synchronized updates. 1 = on, 0 = off
|
||||
# removes flickering in alacritty terminal emeulator.
|
||||
# defaults to off since the behaviour in other terminal emulators is unknown
|
||||
; alacritty_sync = 0
|
||||
|
||||
[color]
|
||||
|
||||
# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
|
||||
# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
|
||||
# a terminal that can change color definitions such as Gnome-terminal or rxvt.
|
||||
# default is to keep current terminal color
|
||||
; background = default
|
||||
; foreground = default
|
||||
|
||||
# SDL only support hex code colors, these are the default:
|
||||
; background = '#111111'
|
||||
; foreground = '#33cccc'
|
||||
|
||||
|
||||
# Gradient mode, only hex defined colors are supported,
|
||||
# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
|
||||
# You can define as many as 8 different colors. They range from bottom to top of screen
|
||||
; gradient = 0
|
||||
; gradient_count = 8
|
||||
; gradient_color_1 = '#59cc33'
|
||||
; gradient_color_2 = '#80cc33'
|
||||
; gradient_color_3 = '#a6cc33'
|
||||
; gradient_color_4 = '#cccc33'
|
||||
; gradient_color_5 = '#cca633'
|
||||
; gradient_color_6 = '#cc8033'
|
||||
; gradient_color_7 = '#cc5933'
|
||||
; gradient_color_8 = '#cc3333'
|
||||
|
||||
|
||||
|
||||
[smoothing]
|
||||
|
||||
# Percentage value for integral smoothing. Takes values from 0 - 100.
|
||||
# Higher values means smoother, but less precise. 0 to disable.
|
||||
# DEPRECATED as of 0.8.0, use noise_reduction instead
|
||||
; integral = 77
|
||||
|
||||
# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
|
||||
; monstercat = 0
|
||||
; waves = 0
|
||||
|
||||
# Set gravity percentage for "drop off". Higher values means bars will drop faster.
|
||||
# Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
|
||||
# DEPRECATED as of 0.8.0, use noise_reduction instead
|
||||
; gravity = 100
|
||||
|
||||
|
||||
# In bar height, bars that would have been lower that this will not be drawn.
|
||||
# DEPRECATED as of 0.8.0
|
||||
; ignore = 0
|
||||
|
||||
# Noise reduction, float 0 - 1. default 0.77
|
||||
# the raw visualization is very noisy, this factor adjusts the integral and gravity filters to keep the signal smooth
|
||||
# 1 will be very slow and smooth, 0 will be fast but noisy.
|
||||
; noise_reduction = 0.77
|
||||
|
||||
|
||||
[eq]
|
||||
|
||||
# This one is tricky. You can have as much keys as you want.
|
||||
# Remember to uncomment more then one key! More keys = more precision.
|
||||
# Look at readme.md on github for further explanations and examples.
|
||||
; 1 = 1 # bass
|
||||
; 2 = 1
|
||||
; 3 = 1 # midtone
|
||||
; 4 = 1
|
||||
; 5 = 1 # treble
|
79
home-manager/dots/cava/shaders/bar_spectrum.frag
Normal file
79
home-manager/dots/cava/shaders/bar_spectrum.frag
Normal file
@ -0,0 +1,79 @@
|
||||
#version 330
|
||||
|
||||
in vec2 fragCoord;
|
||||
out vec4 fragColor;
|
||||
|
||||
// bar values. defaults to left channels first (low to high), then right (high to low).
|
||||
uniform float bars[512];
|
||||
|
||||
uniform int bars_count; // number of bars (left + right) (configurable)
|
||||
uniform int bar_width; // bar width (configurable), not used here
|
||||
uniform int bar_spacing; // space bewteen bars (configurable)
|
||||
|
||||
uniform vec3 u_resolution; // window resolution
|
||||
|
||||
//colors, configurable in cava config file (r,g,b) (0.0 - 1.0)
|
||||
uniform vec3 bg_color; // background color
|
||||
uniform vec3 fg_color; // foreground color
|
||||
|
||||
uniform int gradient_count;
|
||||
uniform vec3 gradient_colors[8]; // gradient colors
|
||||
|
||||
vec3 normalize_C(float y,vec3 col_1, vec3 col_2, float y_min, float y_max)
|
||||
{
|
||||
//create color based on fraction of this color and next color
|
||||
float yr = (y - y_min) / (y_max - y_min);
|
||||
return col_1 * (1.0 - yr) + col_2 * yr;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
// find which bar to use based on where we are on the x axis
|
||||
float x = u_resolution.x * fragCoord.x;
|
||||
int bar = int(bars_count * fragCoord.x);
|
||||
|
||||
//calculate a bar size
|
||||
float bar_size = u_resolution.x / bars_count;
|
||||
|
||||
//the y coordinate and bar values are the same
|
||||
float y = bars[bar];
|
||||
|
||||
// make sure there is a thin line at bottom
|
||||
if (y * u_resolution.y < 1.0)
|
||||
{
|
||||
y = 1.0 / u_resolution.y;
|
||||
}
|
||||
|
||||
//draw the bar up to current height
|
||||
if (y > fragCoord.y)
|
||||
{
|
||||
//make some space between bars basen on settings
|
||||
if (x > (bar + 1) * (bar_size) - bar_spacing)
|
||||
{
|
||||
fragColor = vec4(bg_color,1.0);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gradient_count == 0)
|
||||
{
|
||||
fragColor = vec4(fg_color,1.0);
|
||||
}
|
||||
else
|
||||
{
|
||||
//find which color in the configured gradient we are at
|
||||
int color = int((gradient_count - 1) * fragCoord.y);
|
||||
|
||||
//find where on y this and next color is supposed to be
|
||||
float y_min = color / (gradient_count - 1.0);
|
||||
float y_max = (color + 1.0) / (gradient_count - 1.0);
|
||||
|
||||
//make color
|
||||
fragColor = vec4(normalize_C(fragCoord.y, gradient_colors[color], gradient_colors[color + 1], y_min, y_max), 1.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fragColor = vec4(bg_color,1.0);
|
||||
}
|
||||
}
|
34
home-manager/dots/cava/shaders/northern_lights.frag
Normal file
34
home-manager/dots/cava/shaders/northern_lights.frag
Normal file
@ -0,0 +1,34 @@
|
||||
#version 330
|
||||
|
||||
in vec2 fragCoord;
|
||||
out vec4 fragColor;
|
||||
|
||||
// bar values. defaults to left channels first (low to high), then right (high to low).
|
||||
uniform float bars[512];
|
||||
|
||||
uniform int bars_count; // number of bars (left + right) (configurable)
|
||||
|
||||
uniform vec3 u_resolution; // window resolution, not used here
|
||||
|
||||
//colors, configurable in cava config file
|
||||
uniform vec3 bg_color; // background color(r,g,b) (0.0 - 1.0), not used here
|
||||
uniform vec3 fg_color; // foreground color, not used here
|
||||
|
||||
void main()
|
||||
{
|
||||
// find which bar to use based on where we are on the x axis
|
||||
int bar = int(bars_count * fragCoord.x);
|
||||
|
||||
float bar_y = 1.0 - abs((fragCoord.y - 0.5)) * 2.0;
|
||||
float y = (bars[bar]) * bar_y;
|
||||
|
||||
float bar_x = (fragCoord.x - float(bar) / float(bars_count)) * bars_count;
|
||||
float bar_r = 1.0 - abs((bar_x - 0.5)) * 2;
|
||||
|
||||
bar_r = bar_r * bar_r * 2;
|
||||
|
||||
// set color
|
||||
fragColor.r = fg_color.x * y * bar_r;
|
||||
fragColor.g = fg_color.y * y * bar_r;
|
||||
fragColor.b = fg_color.z * y * bar_r;
|
||||
}
|
14
home-manager/dots/cava/shaders/pass_through.vert
Normal file
14
home-manager/dots/cava/shaders/pass_through.vert
Normal file
@ -0,0 +1,14 @@
|
||||
#version 330
|
||||
|
||||
|
||||
// Input vertex data, different for all executions of this shader.
|
||||
layout(location = 0) in vec3 vertexPosition_modelspace;
|
||||
|
||||
// Output data ; will be interpolated for each fragment.
|
||||
out vec2 fragCoord;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = vec4(vertexPosition_modelspace,1);
|
||||
fragCoord = (vertexPosition_modelspace.xy+vec2(1,1))/2.0;
|
||||
}
|
23
home-manager/dots/foot/foot.ini
Normal file
23
home-manager/dots/foot/foot.ini
Normal file
@ -0,0 +1,23 @@
|
||||
font=Comic Mono:size=11
|
||||
[colors]
|
||||
alpha=1.0
|
||||
foreground=f8f8f2
|
||||
background=282a36
|
||||
## Normal/regular colors (color palette 0-7)
|
||||
regular0=000000
|
||||
regular1=ff5555
|
||||
regular2=50fa7b
|
||||
regular3=f1fa8c
|
||||
regular4=bd93f9
|
||||
regular5=ff79c6
|
||||
regular6=8be9fd
|
||||
regular7=bfbfbf
|
||||
## Bright colors (color palette 8-15)
|
||||
bright0=4d4d4d
|
||||
bright1=ff6367
|
||||
bright2=5af78e
|
||||
bright3=f4f99d
|
||||
bright4=caa9fa
|
||||
bright5=ff92d0
|
||||
bright6=9aedfe
|
||||
bright7=e63636
|
357
home-manager/dots/icons
Normal file
357
home-manager/dots/icons
Normal file
@ -0,0 +1,357 @@
|
||||
# vim:ft=conf
|
||||
|
||||
# These examples require Nerd Fonts or a compatible font to be used.
|
||||
# See https://www.nerdfonts.com for more information.
|
||||
|
||||
# default values from lf (with matching order)
|
||||
# ln l # LINK
|
||||
# or l # ORPHAN
|
||||
# tw t # STICKY_OTHER_WRITABLE
|
||||
# ow d # OTHER_WRITABLE
|
||||
# st t # STICKY
|
||||
# di d # DIR
|
||||
# pi p # FIFO
|
||||
# so s # SOCK
|
||||
# bd b # BLK
|
||||
# cd c # CHR
|
||||
# su u # SETUID
|
||||
# sg g # SETGID
|
||||
# ex x # EXEC
|
||||
# fi - # FILE
|
||||
|
||||
# file types (with matching order)
|
||||
ln # LINK
|
||||
or # ORPHAN
|
||||
tw t # STICKY_OTHER_WRITABLE
|
||||
ow # OTHER_WRITABLE
|
||||
st t # STICKY
|
||||
di # DIR
|
||||
pi p # FIFO
|
||||
so s # SOCK
|
||||
bd b # BLK
|
||||
cd c # CHR
|
||||
su u # SETUID
|
||||
sg g # SETGID
|
||||
ex # EXEC
|
||||
fi # FILE
|
||||
|
||||
# file extensions (vim-devicons)
|
||||
*.styl
|
||||
*.sass
|
||||
*.scss
|
||||
*.htm
|
||||
*.html
|
||||
*.slim
|
||||
*.haml
|
||||
*.ejs
|
||||
*.css
|
||||
*.less
|
||||
*.md
|
||||
*.mdx
|
||||
*.markdown
|
||||
*.rmd
|
||||
*.json
|
||||
*.webmanifest
|
||||
*.js
|
||||
*.mjs
|
||||
*.jsx
|
||||
*.rb
|
||||
*.gemspec
|
||||
*.rake
|
||||
*.php
|
||||
*.py
|
||||
*.pyc
|
||||
*.pyo
|
||||
*.pyd
|
||||
*.coffee
|
||||
*.mustache
|
||||
*.hbs
|
||||
*.conf
|
||||
*.ini
|
||||
*.yml
|
||||
*.yaml
|
||||
*.toml
|
||||
*.bat
|
||||
*.mk
|
||||
*.jpg
|
||||
*.jpeg
|
||||
*.bmp
|
||||
*.png
|
||||
*.webp
|
||||
*.gif
|
||||
*.ico
|
||||
*.twig
|
||||
*.cpp
|
||||
*.c++
|
||||
*.cxx
|
||||
*.cc
|
||||
*.cp
|
||||
*.c
|
||||
*.cs
|
||||
*.h
|
||||
*.hh
|
||||
*.hpp
|
||||
*.hxx
|
||||
*.hs
|
||||
*.lhs
|
||||
*.nix
|
||||
*.lua
|
||||
*.java
|
||||
*.sh
|
||||
*.fish
|
||||
*.bash
|
||||
*.zsh
|
||||
*.ksh
|
||||
*.csh
|
||||
*.awk
|
||||
*.ps1
|
||||
*.ml λ
|
||||
*.mli λ
|
||||
*.diff
|
||||
*.db
|
||||
*.sql
|
||||
*.dump
|
||||
*.clj
|
||||
*.cljc
|
||||
*.cljs
|
||||
*.edn
|
||||
*.scala
|
||||
*.go
|
||||
*.dart
|
||||
*.xul
|
||||
*.sln
|
||||
*.suo
|
||||
*.pl
|
||||
*.pm
|
||||
*.t
|
||||
*.rss
|
||||
'*.f#'
|
||||
*.fsscript
|
||||
*.fsx
|
||||
*.fs
|
||||
*.fsi
|
||||
*.rs
|
||||
*.rlib
|
||||
*.d
|
||||
*.erl
|
||||
*.hrl
|
||||
*.ex
|
||||
*.exs
|
||||
*.eex
|
||||
*.leex
|
||||
*.heex
|
||||
*.vim
|
||||
*.ai
|
||||
*.psd
|
||||
*.psb
|
||||
*.ts
|
||||
*.tsx
|
||||
*.jl
|
||||
*.pp
|
||||
*.vue
|
||||
*.elm
|
||||
*.swift
|
||||
*.xcplayground
|
||||
*.tex
|
||||
*.r
|
||||
*.rproj
|
||||
*.sol
|
||||
*.pem
|
||||
|
||||
# file names (vim-devicons) (case-insensitive not supported in lf)
|
||||
*gruntfile.coffee
|
||||
*gruntfile.js
|
||||
*gruntfile.ls
|
||||
*gulpfile.coffee
|
||||
*gulpfile.js
|
||||
*gulpfile.ls
|
||||
*mix.lock
|
||||
*dropbox
|
||||
*.ds_store
|
||||
*.gitconfig
|
||||
*.gitignore
|
||||
*.gitattributes
|
||||
*.gitlab-ci.yml
|
||||
*.bashrc
|
||||
*.zshrc
|
||||
*.zshenv
|
||||
*.zprofile
|
||||
*.vimrc
|
||||
*.gvimrc
|
||||
*_vimrc
|
||||
*_gvimrc
|
||||
*.bashprofile
|
||||
*favicon.ico
|
||||
*license
|
||||
*node_modules
|
||||
*react.jsx
|
||||
*procfile
|
||||
*dockerfile
|
||||
*docker-compose.yml
|
||||
*rakefile
|
||||
*config.ru
|
||||
*gemfile
|
||||
*makefile
|
||||
*cmakelists.txt
|
||||
*robots.txt
|
||||
|
||||
# file names (case-sensitive adaptations)
|
||||
*Gruntfile.coffee
|
||||
*Gruntfile.js
|
||||
*Gruntfile.ls
|
||||
*Gulpfile.coffee
|
||||
*Gulpfile.js
|
||||
*Gulpfile.ls
|
||||
*Dropbox
|
||||
*.DS_Store
|
||||
*LICENSE
|
||||
*React.jsx
|
||||
*Procfile
|
||||
*Dockerfile
|
||||
*Docker-compose.yml
|
||||
*Rakefile
|
||||
*Gemfile
|
||||
*Makefile
|
||||
*CMakeLists.txt
|
||||
|
||||
# file patterns (vim-devicons) (patterns not supported in lf)
|
||||
# .*jquery.*\.js$
|
||||
# .*angular.*\.js$
|
||||
# .*backbone.*\.js$
|
||||
# .*require.*\.js$
|
||||
# .*materialize.*\.js$
|
||||
# .*materialize.*\.css$
|
||||
# .*mootools.*\.js$
|
||||
# .*vimrc.*
|
||||
# Vagrantfile$
|
||||
|
||||
# file patterns (file name adaptations)
|
||||
*jquery.min.js
|
||||
*angular.min.js
|
||||
*backbone.min.js
|
||||
*require.min.js
|
||||
*materialize.min.js
|
||||
*materialize.min.css
|
||||
*mootools.min.js
|
||||
*vimrc
|
||||
Vagrantfile
|
||||
|
||||
# archives or compressed (extensions from dircolors defaults)
|
||||
*.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
|
||||
|
||||
# image formats (extensions from dircolors defaults)
|
||||
*.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
|
||||
|
||||
# audio formats (extensions from dircolors defaults)
|
||||
*.aac
|
||||
*.au
|
||||
*.flac
|
||||
*.m4a
|
||||
*.mid
|
||||
*.midi
|
||||
*.mka
|
||||
*.mp3
|
||||
*.mpc
|
||||
*.ogg
|
||||
*.ra
|
||||
*.wav
|
||||
*.oga
|
||||
*.opus
|
||||
*.spx
|
||||
*.xspf
|
||||
|
||||
# other formats
|
||||
*.pdf
|
21
home-manager/dots/mako/config
Normal file
21
home-manager/dots/mako/config
Normal file
@ -0,0 +1,21 @@
|
||||
max-history=10
|
||||
max-visible=5
|
||||
anchor=bottom-right
|
||||
font=Comic Mono 12
|
||||
background-color=#282a36
|
||||
text-color=#50fa7b
|
||||
border-color=#282a36
|
||||
default-timeout=10000
|
||||
|
||||
[urgency=low]
|
||||
border-color=#282a36
|
||||
text-color=#6272a4
|
||||
|
||||
[urgency=normal]
|
||||
border-color=#bd93f9
|
||||
text-color=#50fa7b
|
||||
|
||||
[urgency=high]
|
||||
background-color=#ff5555
|
||||
border-color=#ff5555
|
||||
text-color=#f8f8f2
|
158
home-manager/dots/river/init
Executable file
158
home-manager/dots/river/init
Executable file
@ -0,0 +1,158 @@
|
||||
#!/bin/sh
|
||||
# See the river(1), riverctl(1), and rivertile(1) man pages for complete
|
||||
# documentation.
|
||||
|
||||
# Autostart
|
||||
riverctl spawn "way-displays > /tmp/way-displays.${XDG_VTNR}.${USER}.log 2>&1"
|
||||
riverctl spawn "swww init"
|
||||
riverctl spawn "swww img $HOME/Pictures/wallpapers/bliss-night.png --transition-type simple"
|
||||
riverctl spawn "wl-paste --type text --watch cliphist store"
|
||||
riverctl spawn "wl-paste --type image --watch cliphist store"
|
||||
riverctl spawn "mako"
|
||||
riverctl spawn "mullvad-gui"
|
||||
riverctl spawn "mullvad-browser"
|
||||
riverctl spawn "librewolf"
|
||||
riverctl spawn "thunderbird"
|
||||
riverctl spawn "steam"
|
||||
riverctl spawn "discord"
|
||||
riverctl spawn "signal-desktop"
|
||||
|
||||
# Theme
|
||||
riverctl background-color 0x282a36
|
||||
riverctl border-color-focused 0xbd93f9
|
||||
riverctl border-color-unfocused 0x282a36
|
||||
|
||||
# Launch Shortcuts
|
||||
riverctl map normal Super Return spawn "foot iitmux"
|
||||
riverctl map normal Super+Shift Return spawn "foot"
|
||||
riverctl map normal Super Space spawn "iiwmenu"
|
||||
|
||||
# Focus Controls
|
||||
riverctl map normal Super H focus-view previous
|
||||
riverctl map normal Super J focus-view next
|
||||
riverctl map normal Super K focus-view previous
|
||||
riverctl map normal Super L focus-view next
|
||||
riverctl map normal Alt Tab focus-view next
|
||||
riverctl map normal Alt+Shift Tab focus-view previous
|
||||
riverctl map normal Super Tab focus-output next
|
||||
riverctl map normal Super Bracketright focus-output next
|
||||
riverctl map normal Super Bracketleft focus-output previous
|
||||
|
||||
# Move Controls
|
||||
riverctl map normal Super+Shift H zoom
|
||||
riverctl map normal Super+Shift J swap next
|
||||
riverctl map normal Super+Shift K swap previous
|
||||
riverctl map normal Super+Shift L swap next
|
||||
riverctl map normal Super+Shift Tab send-to-output next
|
||||
riverctl map normal Super+Shift Bracketright send-to-output next
|
||||
riverctl map normal Super+Shift Bracketleft send-to-output previous
|
||||
|
||||
# Layout Controls
|
||||
riverctl map normal Super+Alt H send-layout-cmd rivertile "main-ratio -0.05"
|
||||
riverctl map normal Super+Alt L send-layout-cmd rivertile "main-ratio +0.05"
|
||||
riverctl map normal Super I send-layout-cmd rivertile "main-count +1"
|
||||
riverctl map normal Super D send-layout-cmd rivertile "main-count -1"
|
||||
riverctl map normal Super Up send-layout-cmd rivertile "main-location top"
|
||||
riverctl map normal Super Right send-layout-cmd rivertile "main-location right"
|
||||
riverctl map normal Super Down send-layout-cmd rivertile "main-location bottom"
|
||||
riverctl map normal Super Left send-layout-cmd rivertile "main-location left"
|
||||
|
||||
# Floating Controls
|
||||
riverctl map normal Super F toggle-float
|
||||
riverctl map normal Super+Control H move left 100
|
||||
riverctl map normal Super+Control J move down 100
|
||||
riverctl map normal Super+Control K move up 100
|
||||
riverctl map normal Super+Control L move right 100
|
||||
riverctl map normal Super+Shift+Control H snap left
|
||||
riverctl map normal Super+Shift+Control J snap down
|
||||
riverctl map normal Super+Shift+Control K snap up
|
||||
riverctl map normal Super+Shift+Control L snap right
|
||||
riverctl map normal Super+Alt+Shift H resize horizontal -100
|
||||
riverctl map normal Super+Alt+Shift J resize vertical 100
|
||||
riverctl map normal Super+Alt+Shift K resize vertical -100
|
||||
riverctl map normal Super+Alt+Shift L resize horizontal 100
|
||||
riverctl map-pointer normal Super BTN_LEFT move-view
|
||||
riverctl map-pointer normal Super BTN_RIGHT resize-view
|
||||
|
||||
# Close focused view
|
||||
riverctl map normal Super W close
|
||||
riverctl map normal Super Q close
|
||||
# Exit River
|
||||
riverctl map normal Super+Shift Q exit
|
||||
|
||||
for i in $(seq 1 9)
|
||||
do
|
||||
tags=$((1 << ($i - 1)))
|
||||
|
||||
# Super+[1-9] to focus tag [0-8]
|
||||
riverctl map normal Super $i set-focused-tags $tags
|
||||
|
||||
# Super+Shift+[1-9] to tag focused view with tag [0-8]
|
||||
riverctl map normal Super+Shift $i set-view-tags $tags
|
||||
|
||||
# Super+Control+[1-9] to toggle focus of tag [0-8]
|
||||
riverctl map normal Super+Control $i toggle-focused-tags $tags
|
||||
|
||||
# Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view
|
||||
riverctl map normal Super+Shift+Control $i toggle-view-tags $tags
|
||||
done
|
||||
|
||||
# Super+0 to focus all tags
|
||||
# Super+Shift+0 to tag focused view with all tags
|
||||
all_tags=$(((1 << 32) - 1))
|
||||
riverctl map normal Super 0 set-focused-tags $all_tags
|
||||
riverctl map normal Super+Shift 0 set-view-tags $all_tags
|
||||
|
||||
# Toggle fullscreen
|
||||
riverctl map normal None F11 toggle-fullscreen
|
||||
riverctl map normal Super Z toggle-fullscreen
|
||||
|
||||
# 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
|
||||
|
||||
# Super+F11 to enter passthrough mode
|
||||
riverctl map normal Super F11 enter-mode passthrough
|
||||
|
||||
# Super+F11 to return to normal mode
|
||||
riverctl map passthrough Super 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
|
||||
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 brightness 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 keyboard repeat rate
|
||||
riverctl set-repeat 50 300
|
||||
|
||||
# Make all views with an app-id that starts with "float" and title "foo" start floating.
|
||||
riverctl rule-add -app-id 'float*' -title 'foo' float
|
||||
|
||||
# Make all views with app-id "bar" and any title use client-side decorations
|
||||
riverctl rule-add -app-id "bar" csd
|
||||
|
||||
# Global Configuration Settings
|
||||
riverctl default-layout rivertile
|
||||
rivertile -view-padding 10 -outer-padding 10 &
|
||||
riverctl attach-mode bottom
|
||||
riverctl hide-cursor timeout 10000
|
||||
riverctl hide-cursor when-typing enabled
|
||||
riverctl set-cursor-warp on-focus-change
|
||||
riverctl focus-follows-cursor always
|
6
home-manager/dots/senpai/highlight
Executable file
6
home-manager/dots/senpai/highlight
Executable file
@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
escape() {
|
||||
printf "%s" "$1" | sed 's#\#\\#g'
|
||||
}
|
||||
notify-desktop "[$BUFFER] $SENDER" "$(escape "$MESSAGE")"
|
6
home-manager/dots/senpai/senpai.scfg
Normal file
6
home-manager/dots/senpai/senpai.scfg
Normal file
@ -0,0 +1,6 @@
|
||||
#address irc.pico.sh:6697
|
||||
address ma.sdf.org:36036
|
||||
tls false
|
||||
nickname iiogama
|
||||
password-cmd pass irc-pico
|
||||
highlight
|
28
home-manager/dots/swaylock/config
Normal file
28
home-manager/dots/swaylock/config
Normal file
@ -0,0 +1,28 @@
|
||||
color=282a36
|
||||
inside-color=1F202A
|
||||
line-color=1F202A
|
||||
ring-color=bd93f9
|
||||
text-color=f8f8f2
|
||||
|
||||
layout-bg-color=1F202A
|
||||
layout-text-color=f8f8f2
|
||||
|
||||
inside-clear-color=6272a4
|
||||
line-clear-color=1F202A
|
||||
ring-clear-color=6272a4
|
||||
text-clear-color=1F202A
|
||||
|
||||
inside-ver-color=bd93f9
|
||||
line-ver-color=1F202A
|
||||
ring-ver-color=bd93f9
|
||||
text-ver-color=1F202A
|
||||
|
||||
inside-wrong-color=ff5555
|
||||
line-wrong-color=1F202A
|
||||
ring-wrong-color=ff5555
|
||||
text-wrong-color=1F202A
|
||||
|
||||
bs-hl-color=ff5555
|
||||
key-hl-color=50fa7b
|
||||
|
||||
text-caps-lock-color=f8f8f2
|
@ -3,11 +3,11 @@
|
||||
# program launchers
|
||||
|
||||
# terminal emulator
|
||||
super + c
|
||||
super + Return
|
||||
st
|
||||
|
||||
# terminal emulator with tmux session menu
|
||||
super + shift + c
|
||||
super + shift + Return
|
||||
st -e "iitmux"
|
||||
|
||||
# program launcher
|
||||
|
80
home-manager/dots/way-displays/cfg.yaml
Normal file
80
home-manager/dots/way-displays/cfg.yaml
Normal file
@ -0,0 +1,80 @@
|
||||
# Default cfg.yaml for way-displays.
|
||||
# Copy this to ~/.config/way-displays/cfg.yaml and edit it to your liking.
|
||||
#
|
||||
# See https://github.com/alex-courtis/way-displays/blob/master/doc/CONFIGURATION.md
|
||||
|
||||
|
||||
# Arrange displays in a ROW (default, left to right) or a COLUMN (top to bottom)
|
||||
ARRANGE: ROW
|
||||
|
||||
# Align ROWs at the TOP (default), MIDDLE or BOTTOM
|
||||
# Align COLUMNs at the LEFT (default), MIDDLE or RIGHT
|
||||
ALIGN: TOP
|
||||
|
||||
|
||||
# The default ORDER is simply the order in which the displays are discovered.
|
||||
# Define your own.
|
||||
ORDER:
|
||||
- 'DP-1'
|
||||
- 'DP-2'
|
||||
|
||||
|
||||
# Enable scaling, overrides AUTO_SCALE and SCALE
|
||||
SCALING: TRUE
|
||||
|
||||
# The default is to scale each display by DPI.
|
||||
# This may be disabled and scale 1 will be used, unless a SCALE has been specified.
|
||||
AUTO_SCALE: TRUE
|
||||
|
||||
|
||||
# Auto scale may be overridden for each display.
|
||||
SCALE:
|
||||
#- NAME_DESC: 'monitor description'
|
||||
# SCALE: 1.75
|
||||
|
||||
# Override the preferred mode.
|
||||
# WARNING: this may result in an unusable display. See https://github.com/alex-courtis/way-displays#known-issues-with-workarounds
|
||||
# for a possible workaround.
|
||||
MODE:
|
||||
# Resolution and refresh
|
||||
#- NAME_DESC: HDMI-A-1
|
||||
# WIDTH: 1920
|
||||
# HEIGHT: 1080
|
||||
# HZ: 60
|
||||
|
||||
# Resolution with highest refresh
|
||||
#- NAME_DESC: 'monitor description'
|
||||
# WIDTH: 2560
|
||||
# HEIGHT: 1440
|
||||
|
||||
# Highest available
|
||||
- NAME_DESC: DP-1
|
||||
MAX: TRUE
|
||||
- NAME_DESC: DP-2
|
||||
MAX: TRUE
|
||||
|
||||
# Rotate or translate the display.
|
||||
# 90, 180, 270, FLIPPED, FLIPPED-90, FLIPPED-180, FLIPPED-270
|
||||
TRANSFORM:
|
||||
# - NAME_DESC: 'monitor description'
|
||||
# TRANSFORM: 270
|
||||
|
||||
# VRR / adaptive sync is enabled by default. Disable it per display.
|
||||
VRR_OFF:
|
||||
# - DP-2
|
||||
# - '!.*my monitor.*'
|
||||
|
||||
|
||||
# Laptop displays usually start with eDP e.g. eDP-1. This may be overridden if
|
||||
# your laptop is different.
|
||||
#LAPTOP_DISPLAY_PREFIX: 'eDP'
|
||||
|
||||
|
||||
# One of: ERROR, WARNING, INFO (default), DEBUG
|
||||
LOG_THRESHOLD: INFO
|
||||
|
||||
|
||||
# Disable the specified displays.
|
||||
DISABLED:
|
||||
#- "eDP-1"
|
||||
|
@ -1,95 +1,18 @@
|
||||
# GUI home.nix
|
||||
{ config, lib, pkgs, inputs, user, ... }:
|
||||
{
|
||||
xresources.properties = {
|
||||
"*.foreground" = "#f8f8f2";
|
||||
"*.background" = "#282a36";
|
||||
"*.color0" = "#000000";
|
||||
"*.color8" = "#4d4d4d";
|
||||
"*.color1" = "#ff5555";
|
||||
"*.color9" = "#ff6367";
|
||||
"*.color2" = "#50fa7b";
|
||||
"*.color10" = "#5af78e";
|
||||
"*.color3" = "#f1fa8c";
|
||||
"*.color11" = "#f4f99d";
|
||||
"*.color4" = "#bd93f9";
|
||||
"*.color12" = "#caa9fa";
|
||||
"*.color5" = "#ff79c6";
|
||||
"*.color13" = "#ff92d0";
|
||||
"*.color6" = "#8be9fd";
|
||||
"*.color14" = "#9aedfe";
|
||||
"*.color7" = "#bfbfbf";
|
||||
"*.color15" = "#e63636";
|
||||
"*backarrowKeyIsErase" = true;
|
||||
"XTerm*renderFont" = true;
|
||||
"XTerm*faceName" = "ComicMono";
|
||||
"XTerm*faceSize" = 10;
|
||||
"XTerm*utf8" = true;
|
||||
"XTerm*ptyInitialErase" = true;
|
||||
"XTerm*backarrowKeyIsErase" = false;
|
||||
};
|
||||
xdg = {
|
||||
systemDirs.data = [
|
||||
"/var/lib/flatpak/exports/share"
|
||||
"${config.xdg.dataHome}/flatpak/exports/share"
|
||||
];
|
||||
};
|
||||
home.file = {
|
||||
"xinitrc" = {
|
||||
source = ./dots/xinitrc;
|
||||
target = ".xinitrc";
|
||||
};
|
||||
};
|
||||
xsession.windowManager.bspwm = {
|
||||
enable = true;
|
||||
rules = {
|
||||
"trayer:panel:" = {
|
||||
border = false;
|
||||
manage = false;
|
||||
};
|
||||
"xdragon:Xdragon:" = {
|
||||
state = "floating";
|
||||
sticky = true;
|
||||
};
|
||||
};
|
||||
settings = {
|
||||
automatic_scheme = "alternate";
|
||||
split_ratio = 0.60;
|
||||
focus_follows_pointer = true;
|
||||
pointer_follows_focus = false;
|
||||
border_width = 1;
|
||||
top_padding = 0;
|
||||
window_gap = 24;
|
||||
borderless_monocle = false;
|
||||
gapless_monocle = false;
|
||||
focused_border_color = "#bd93f9";
|
||||
normal_border_color = "#282a36";
|
||||
presel_feedback_color = "#282a36";
|
||||
};
|
||||
};
|
||||
xdg.configFile = {
|
||||
"dunst" = {
|
||||
source = ./dots/dunst;
|
||||
target = "dunst";
|
||||
recursive = true;
|
||||
};
|
||||
"sxhkd" = {
|
||||
source = ./dots/sxhkd;
|
||||
target = "sxhkd";
|
||||
recursive = true;
|
||||
executable = true;
|
||||
};
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Dracula";
|
||||
package = pkgs.dracula-theme;
|
||||
};
|
||||
#iconTheme = {
|
||||
# name = "Papirus-Dark";
|
||||
# package = pkgs.papirus-icon-theme;
|
||||
#};
|
||||
iconTheme = {
|
||||
name = "Dracula-Icon-Theme";
|
||||
package = pkgs.dracula-icon-theme;
|
||||
|
34
home-manager/wayland.nix
Normal file
34
home-manager/wayland.nix
Normal file
@ -0,0 +1,34 @@
|
||||
# Wayland home.nix
|
||||
{ config, lib, pkgs, inputs, user, ... }:
|
||||
{
|
||||
imports = [
|
||||
./gui.nix
|
||||
];
|
||||
xdg.configFile = {
|
||||
"foot" = {
|
||||
source = ./dots/foot;
|
||||
target = "foot";
|
||||
recursive = true;
|
||||
};
|
||||
"mako" = {
|
||||
source = ./dots/mako;
|
||||
target = "mako";
|
||||
recursive = true;
|
||||
};
|
||||
"river" = {
|
||||
source = ./dots/river;
|
||||
target = "river";
|
||||
recursive = true;
|
||||
};
|
||||
"swaylock" = {
|
||||
source = ./dots/swaylock;
|
||||
target = "swaylock";
|
||||
recursive = true;
|
||||
};
|
||||
"way-displays" = {
|
||||
source = ./dots/way-displays;
|
||||
target = "way-displays";
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
}
|
80
home-manager/xorg.nix
Normal file
80
home-manager/xorg.nix
Normal file
@ -0,0 +1,80 @@
|
||||
# Xorg home.nix
|
||||
{ config, lib, pkgs, inputs, user, ... }:
|
||||
{
|
||||
imports = [
|
||||
./gui.nix
|
||||
];
|
||||
xresources.properties = {
|
||||
"*.foreground" = "#f8f8f2";
|
||||
"*.background" = "#282a36";
|
||||
"*.color0" = "#000000";
|
||||
"*.color8" = "#4d4d4d";
|
||||
"*.color1" = "#ff5555";
|
||||
"*.color9" = "#ff6367";
|
||||
"*.color2" = "#50fa7b";
|
||||
"*.color10" = "#5af78e";
|
||||
"*.color3" = "#f1fa8c";
|
||||
"*.color11" = "#f4f99d";
|
||||
"*.color4" = "#bd93f9";
|
||||
"*.color12" = "#caa9fa";
|
||||
"*.color5" = "#ff79c6";
|
||||
"*.color13" = "#ff92d0";
|
||||
"*.color6" = "#8be9fd";
|
||||
"*.color14" = "#9aedfe";
|
||||
"*.color7" = "#bfbfbf";
|
||||
"*.color15" = "#e63636";
|
||||
"*backarrowKeyIsErase" = true;
|
||||
"XTerm*renderFont" = true;
|
||||
"XTerm*faceName" = "ComicMono";
|
||||
"XTerm*faceSize" = 10;
|
||||
"XTerm*utf8" = true;
|
||||
"XTerm*ptyInitialErase" = true;
|
||||
"XTerm*backarrowKeyIsErase" = false;
|
||||
};
|
||||
home.file = {
|
||||
"xinitrc" = {
|
||||
source = ./dots/xinitrc;
|
||||
target = ".xinitrc";
|
||||
};
|
||||
};
|
||||
xsession.windowManager.bspwm = {
|
||||
enable = true;
|
||||
rules = {
|
||||
"trayer:panel:" = {
|
||||
border = false;
|
||||
manage = false;
|
||||
};
|
||||
"xdragon:Xdragon:" = {
|
||||
state = "floating";
|
||||
sticky = true;
|
||||
};
|
||||
};
|
||||
settings = {
|
||||
automatic_scheme = "alternate";
|
||||
split_ratio = 0.60;
|
||||
focus_follows_pointer = true;
|
||||
pointer_follows_focus = true;
|
||||
border_width = 1;
|
||||
top_padding = 0;
|
||||
window_gap = 24;
|
||||
borderless_monocle = false;
|
||||
gapless_monocle = false;
|
||||
focused_border_color = "#bd93f9";
|
||||
normal_border_color = "#282a36";
|
||||
presel_feedback_color = "#282a36";
|
||||
};
|
||||
};
|
||||
xdg.configFile = {
|
||||
"dunst" = {
|
||||
source = ./dots/dunst;
|
||||
target = "dunst";
|
||||
recursive = true;
|
||||
};
|
||||
"sxhkd" = {
|
||||
source = ./dots/sxhkd;
|
||||
target = "sxhkd";
|
||||
recursive = true;
|
||||
executable = true;
|
||||
};
|
||||
};
|
||||
}
|
@ -8,7 +8,7 @@
|
||||
../nixos/all.nix
|
||||
../nixos/cli.nix
|
||||
../nixos/chat.nix
|
||||
../nixos/gui.nix
|
||||
../nixos/wayland.nix
|
||||
../nixos/gaming.nix
|
||||
../nixos/office.nix
|
||||
./buckwheat/configuration.nix
|
||||
@ -20,7 +20,8 @@
|
||||
imports = [
|
||||
../home-manager/all.nix
|
||||
../home-manager/cli.nix
|
||||
../home-manager/gui.nix
|
||||
../home-manager/chat.nix
|
||||
../home-manager/wayland.nix
|
||||
./buckwheat/home.nix
|
||||
];
|
||||
};
|
||||
@ -33,7 +34,7 @@
|
||||
modules = [
|
||||
../nixos/all.nix
|
||||
../nixos/cli.nix
|
||||
../nixos/gui.nix
|
||||
../nixos/xorg.nix
|
||||
../nixos/office.nix
|
||||
../nixos/pentest.nix
|
||||
./fireweed/configuration.nix
|
||||
@ -45,7 +46,7 @@
|
||||
imports = [
|
||||
../home-manager/all.nix
|
||||
../home-manager/cli.nix
|
||||
../home-manager/gui.nix
|
||||
../home-manager/xorg.nix
|
||||
./fireweed/home.nix
|
||||
];
|
||||
};
|
||||
|
@ -5,6 +5,8 @@
|
||||
catgirl
|
||||
discord
|
||||
profanity
|
||||
sic
|
||||
senpai
|
||||
signal-desktop
|
||||
tut
|
||||
];
|
||||
|
@ -66,6 +66,7 @@
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
#jack.enable = true;
|
||||
wireplumber.enable = true;
|
||||
};
|
||||
users.users.${user.name}.packages = with pkgs; [
|
||||
btfs
|
||||
@ -98,9 +99,11 @@
|
||||
jo
|
||||
john
|
||||
jq
|
||||
killall
|
||||
lynis
|
||||
mdp
|
||||
mediainfo
|
||||
mosh
|
||||
nb
|
||||
nethogs
|
||||
oed
|
||||
@ -111,9 +114,11 @@
|
||||
sipcalc
|
||||
ssss
|
||||
surfraw
|
||||
tmux-xpanes
|
||||
unrar
|
||||
unzip
|
||||
up
|
||||
ueberzugpp
|
||||
yai
|
||||
yank
|
||||
yq-go
|
||||
|
@ -11,6 +11,7 @@
|
||||
gamemode.enable = true;
|
||||
};
|
||||
users.users.${user.name}.packages = with pkgs; [
|
||||
dnd-tools
|
||||
dosbox-staging
|
||||
minecraft
|
||||
];
|
||||
|
@ -5,8 +5,6 @@
|
||||
variables = {
|
||||
VISUAL = "$EDITOR";
|
||||
BROWSER = "mullvad-browser";
|
||||
SXHKD_SHELL = "/bin/sh";
|
||||
TERMINAL = "st";
|
||||
};
|
||||
};
|
||||
xdg.mime = {
|
||||
@ -15,32 +13,15 @@
|
||||
"image/*" = [
|
||||
"feh.desktop"
|
||||
];
|
||||
};
|
||||
};
|
||||
xdg = {
|
||||
autostart.enable = true;
|
||||
portal = {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
"text/*" = [
|
||||
"mullvad-browser.desktop"
|
||||
];
|
||||
configPackages = [
|
||||
pkgs.gnome.gnome-session
|
||||
"video/*" = [
|
||||
"mpv.desktop"
|
||||
];
|
||||
};
|
||||
};
|
||||
services = {
|
||||
xserver = {
|
||||
enable = true;
|
||||
displayManager.startx.enable = true;
|
||||
windowManager.bspwm.enable = true;
|
||||
layout = "us";
|
||||
xkbVariant = "";
|
||||
};
|
||||
picom = {
|
||||
enable = true;
|
||||
};
|
||||
# To add the Flathub repo, run:
|
||||
# $ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
flatpak.enable = true;
|
||||
@ -57,12 +38,10 @@
|
||||
];
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
slock.enable = true;
|
||||
};
|
||||
users.users.${user.name}.packages = with pkgs; [
|
||||
ani-cli
|
||||
bashmount
|
||||
feh
|
||||
glib
|
||||
lagrange
|
||||
librewolf
|
||||
@ -71,30 +50,14 @@
|
||||
mullvad-browser
|
||||
mupdf
|
||||
#onionshare-gui
|
||||
scrot
|
||||
tor-browser-bundle-bin
|
||||
#urlview
|
||||
ytfzf
|
||||
];
|
||||
environment.systemPackages = with pkgs; [
|
||||
(dmenu.overrideAttrs (oldAttrs: rec {
|
||||
configFile = writeText "config.def.h" (builtins.readFile ./patches/dmenu/config.h);
|
||||
postPatch = "${oldAttrs.postPatch}\n cp ${configFile} config.def.h";
|
||||
}))
|
||||
(st.overrideAttrs (oldAttrs: rec {
|
||||
configFile = writeText "config.def.h" (builtins.readFile ./patches/st/config.h);
|
||||
postPatch = "${oldAttrs.postPatch}\n cp ${configFile} config.def.h";
|
||||
}))
|
||||
clipmenu
|
||||
dunst
|
||||
hsetroot
|
||||
libnotify
|
||||
networkmanagerapplet
|
||||
notify-desktop
|
||||
sxhkd
|
||||
trayer
|
||||
xbanish
|
||||
xdg-utils
|
||||
xdo
|
||||
xdragon
|
||||
xsel
|
||||
];
|
||||
}
|
||||
|
@ -4,6 +4,7 @@
|
||||
users.users.${user.name}.packages = with pkgs; [
|
||||
ledger
|
||||
libreoffice
|
||||
#obsidian
|
||||
pandoc
|
||||
pdftk
|
||||
#sc-im
|
||||
|
52
nixos/wayland.nix
Normal file
52
nixos/wayland.nix
Normal file
@ -0,0 +1,52 @@
|
||||
# Wayland configuration.nix
|
||||
{ config, lib, pkgs, inputs, user, ... }:
|
||||
{
|
||||
imports = [
|
||||
./gui.nix
|
||||
];
|
||||
environment = {
|
||||
variables = {
|
||||
TERMINAL = "foot";
|
||||
};
|
||||
};
|
||||
xdg = {
|
||||
autostart.enable = true;
|
||||
portal = {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-wlr
|
||||
];
|
||||
configPackages = [
|
||||
pkgs.xdg-desktop-portal-wlr
|
||||
];
|
||||
};
|
||||
};
|
||||
programs = {
|
||||
river = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
bemenu
|
||||
foot
|
||||
mako
|
||||
swaylock
|
||||
way-displays
|
||||
wtype
|
||||
];
|
||||
};
|
||||
xwayland = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
users.users.${user.name}.packages = with pkgs; [
|
||||
bemoji
|
||||
cliphist
|
||||
grimblast
|
||||
imv
|
||||
swww
|
||||
tessen
|
||||
wl-clipboard
|
||||
];
|
||||
environment.systemPackages = [
|
||||
];
|
||||
}
|
62
nixos/xorg.nix
Normal file
62
nixos/xorg.nix
Normal file
@ -0,0 +1,62 @@
|
||||
# Xorg configuration.nix
|
||||
{ config, lib, pkgs, inputs, user, ... }:
|
||||
{
|
||||
imports = [
|
||||
./gui.nix
|
||||
];
|
||||
environment = {
|
||||
variables = {
|
||||
SXHKD_SHELL = "/bin/sh";
|
||||
TERMINAL = "st";
|
||||
};
|
||||
};
|
||||
xdg = {
|
||||
autostart.enable = true;
|
||||
portal = {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
];
|
||||
configPackages = [
|
||||
pkgs.gnome.gnome-session
|
||||
];
|
||||
};
|
||||
};
|
||||
services = {
|
||||
xserver = {
|
||||
enable = true;
|
||||
displayManager.startx.enable = true;
|
||||
windowManager.bspwm.enable = true;
|
||||
layout = "us";
|
||||
xkbVariant = "";
|
||||
};
|
||||
picom = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
programs = {
|
||||
slock.enable = true;
|
||||
};
|
||||
users.users.${user.name}.packages = with pkgs; [
|
||||
feh
|
||||
scrot
|
||||
];
|
||||
environment.systemPackages = with pkgs; [
|
||||
(dmenu.overrideAttrs (oldAttrs: rec {
|
||||
configFile = writeText "config.def.h" (builtins.readFile ./patches/dmenu/config.h);
|
||||
postPatch = "${oldAttrs.postPatch}\n cp ${configFile} config.def.h";
|
||||
}))
|
||||
(st.overrideAttrs (oldAttrs: rec {
|
||||
configFile = writeText "config.def.h" (builtins.readFile ./patches/st/config.h);
|
||||
postPatch = "${oldAttrs.postPatch}\n cp ${configFile} config.def.h";
|
||||
}))
|
||||
clipmenu
|
||||
dunst
|
||||
hsetroot
|
||||
sxhkd
|
||||
trayer
|
||||
xbanish
|
||||
xsel
|
||||
];
|
||||
}
|
44
todo.md
44
todo.md
@ -1,16 +1,44 @@
|
||||
- [ ] Create additional host configurations
|
||||
- [ ] Implement the Impermanence module
|
||||
* [Erase your darlings](https://grahamc.com/blog/erase-your-darlings/)
|
||||
* [tmpfs as home](https://elis.nu/blog/2020/06/nixos-tmpfs-as-home/)
|
||||
* [tmpfs as root](https://elis.nu/blog/2020/05/nixos-tmpfs-as-root/)
|
||||
* [Impermanence - NixOS Wiki](https://nixos.wiki/wiki/Impermanence)
|
||||
- [Erase your darlings](https://grahamc.com/blog/erase-your-darlings/)
|
||||
- [tmpfs as home](https://elis.nu/blog/2020/06/nixos-tmpfs-as-home/)
|
||||
- [tmpfs as root](https://elis.nu/blog/2020/05/nixos-tmpfs-as-root/)
|
||||
- [Impermanence - NixOS Wiki](https://nixos.wiki/wiki/Impermanence)
|
||||
- [ ] Implement [Agenix](https://nixos.wiki/wiki/Agenix) or Sopsnix
|
||||
* [Agenix Git Repo](https://github.com/ryantm/agenix)
|
||||
* [Homeage Git Repo](https://github.com/jordanisaacs/homeage)
|
||||
* [Handling Secrets in NixOS](https://lgug2z.com/articles/handling-secrets-in-nixos-an-overview/)
|
||||
* [NixOS Secrets Management](https://onion.tube/watch?v=G5f6GC7SnhU)
|
||||
- [Agenix Git Repo](https://github.com/ryantm/agenix)
|
||||
- [Homeage Git Repo](https://github.com/jordanisaacs/homeage)
|
||||
- [Handling Secrets in NixOS](https://lgug2z.com/articles/handling-secrets-in-nixos-an-overview/)
|
||||
- [NixOS Secrets Management](https://onion.tube/watch?v=G5f6GC7SnhU)
|
||||
- [ ] Implement [Stylix](https://danth.github.io/stylix/)
|
||||
- [ ] Implement [MicroVM.nix](https://github.com/astro/microvm.nix)
|
||||
- [ ] Figure out urlview and yank conflict with tmux plugins
|
||||
- [ ] Implement [Nix-Colors](https://youtube.com/watch?v=jO2o0IN0LPE)
|
||||
- [ ] Fix autoupdate with remote flake repo
|
||||
- [ ] Wayland monitors swap positions after turning off and turning back on
|
||||
- [ ] GPG unlock prompt not happening on Wayland anymore
|
||||
|
||||
|
||||
https://github.com/alex-courtis/way-displays
|
||||
|
||||
Configure
|
||||
|
||||
Restart the compositor and run way-displays -g or look at /tmp/way-displays.1.me.log.
|
||||
|
||||
Tweak cfg.yaml to your liking and save it. Changes will be immediately applied.
|
||||
|
||||
Alternatively, use the command line to make your changes then persist them with way-displays -w.
|
||||
|
||||
You might want to tail -f /tmp/way-displays.1.me.log whilst you are tweaking.
|
||||
Usage
|
||||
|
||||
See Configuration for details on cfg.yaml and the command line.
|
||||
|
||||
Start the way-displays server by running once with no arguments after your wayland compositor has been started.
|
||||
|
||||
It will remain in the background, responding to changes, such as plugging in a display, and will terminate when you exit the compositor.
|
||||
|
||||
It will print messages to inform you of everything that is going on.
|
||||
|
||||
You can interact with the server via the command line
|
||||
|
||||
The server responds to IPC requests to fetch and mutate state.
|
||||
|
Loading…
Reference in New Issue
Block a user