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"
|
"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": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs",
|
||||||
|
"river-bsp-layout": "river-bsp-layout"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -59,15 +59,74 @@
|
|||||||
set relativenumber
|
set relativenumber
|
||||||
set splitbelow
|
set splitbelow
|
||||||
set splitright
|
set splitright
|
||||||
set tabstop=2
|
set tabstop=4
|
||||||
set shiftwidth=2
|
set shiftwidth=4
|
||||||
if filereadable(expand(".vim-project"))
|
if filereadable(expand(".vim-project"))
|
||||||
source .vim-project
|
source .vim-project
|
||||||
endif
|
endif
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
xdg.configFile."lf/icons".source = ./dots/icons;
|
||||||
programs.lf = {
|
programs.lf = {
|
||||||
enable = true;
|
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 = {
|
programs.password-store = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -87,6 +146,7 @@
|
|||||||
mouse = false;
|
mouse = false;
|
||||||
newSession = false;
|
newSession = false;
|
||||||
prefix = "C-b";
|
prefix = "C-b";
|
||||||
|
terminal = "screen-256color";
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
# Do not rename windows automatically
|
# Do not rename windows automatically
|
||||||
set-option -g allow-rename off
|
set-option -g allow-rename off
|
||||||
@ -107,11 +167,11 @@
|
|||||||
unbind v
|
unbind v
|
||||||
bind v split-window -h -c "#{pane_current_path}"
|
bind v split-window -h -c "#{pane_current_path}"
|
||||||
unbind '"'
|
unbind '"'
|
||||||
unbind b
|
|
||||||
bind b split-window -v -c "#{pane_current_path}"
|
|
||||||
|
|
||||||
unbind c
|
unbind c
|
||||||
bind c new-window
|
bind c split-window -v -c "#{pane_current_path}"
|
||||||
|
|
||||||
|
unbind Enter
|
||||||
|
bind Enter new-window
|
||||||
unbind Tab
|
unbind Tab
|
||||||
bind Tab last-window
|
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"
|
"${config.home.homeDirectory}/.local/share/go/bin"
|
||||||
];
|
];
|
||||||
xdg.configFile = {
|
xdg.configFile = {
|
||||||
"catgirl" = {
|
"cava" = {
|
||||||
source = ./dots/catgirl;
|
source = ./dots/cava;
|
||||||
target = "catgirl";
|
target = "cava";
|
||||||
recursive = true;
|
recursive = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -44,8 +44,10 @@
|
|||||||
dracula-nvim
|
dracula-nvim
|
||||||
goyo-vim
|
goyo-vim
|
||||||
limelight-vim
|
limelight-vim
|
||||||
|
twilight-nvim
|
||||||
vim-nix
|
vim-nix
|
||||||
vimwiki
|
vimwiki
|
||||||
|
zen-mode-nvim
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
yt-dlp = {
|
yt-dlp = {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
||||||
if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then
|
if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then
|
||||||
exec startx
|
exec river
|
||||||
fi
|
fi
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
# .bashrc
|
# .bashrc
|
||||||
|
|
||||||
|
# Source global definitions
|
||||||
|
if [ -f /etc/bashrc ]; then
|
||||||
|
. /etc/bashrc
|
||||||
|
fi
|
||||||
|
|
||||||
set -o vi
|
set -o vi
|
||||||
unset HISTFILE
|
unset HISTFILE
|
||||||
|
|
||||||
@ -7,15 +12,12 @@ unset HISTFILE
|
|||||||
function search() {
|
function search() {
|
||||||
surfraw $(surfraw -elvi | fzf | awk '{print $1;}')
|
surfraw $(surfraw -elvi | fzf | awk '{print $1;}')
|
||||||
}
|
}
|
||||||
|
|
||||||
function mkcd {
|
function mkcd {
|
||||||
mkdir -p $1
|
mkdir -p $1
|
||||||
cd $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
|
# fe [FUZZY PATTERN] - Open the selected file with the default editor
|
||||||
# - Bypass fuzzy finder if there's only one match (--select-1)
|
# - Bypass fuzzy finder if there's only one match (--select-1)
|
||||||
# - Exit if there's no match (--exit-0)
|
# - Exit if there's no match (--exit-0)
|
||||||
@ -25,6 +27,7 @@ function fe() {
|
|||||||
files=$(fzf --query="$1" --multi --select-1 --exit-0)
|
files=$(fzf --query="$1" --multi --select-1 --exit-0)
|
||||||
[ -n "$files" ] && ${EDITOR} "${files}"
|
[ -n "$files" ] && ${EDITOR} "${files}"
|
||||||
}
|
}
|
||||||
|
|
||||||
function _track() {
|
function _track() {
|
||||||
TRACK_DIR=${TRACK_DIR:-.}
|
TRACK_DIR=${TRACK_DIR:-.}
|
||||||
local lis
|
local lis
|
||||||
@ -33,6 +36,7 @@ function _track() {
|
|||||||
cur=${COMP_WORDS[COMP_CWORD]}
|
cur=${COMP_WORDS[COMP_CWORD]}
|
||||||
COMPREPLY=( $(compgen -W "$lis" -- "$cur") )
|
COMPREPLY=( $(compgen -W "$lis" -- "$cur") )
|
||||||
}
|
}
|
||||||
|
|
||||||
function track() {
|
function track() {
|
||||||
TRACK_DIR=${TRACK_DIR:-.}
|
TRACK_DIR=${TRACK_DIR:-.}
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
@ -99,10 +103,24 @@ function track() {
|
|||||||
}
|
}
|
||||||
complete -F _track track
|
complete -F _track track
|
||||||
|
|
||||||
# Source global definitions
|
# Environmental Variables
|
||||||
if [ -f /etc/bashrc ]; then
|
|
||||||
. /etc/bashrc
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Uncomment the following line if you don't like systemctl's auto-paging feature:
|
# 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
|
# program launchers
|
||||||
|
|
||||||
# terminal emulator
|
# terminal emulator
|
||||||
super + c
|
super + Return
|
||||||
st
|
st
|
||||||
|
|
||||||
# terminal emulator with tmux session menu
|
# terminal emulator with tmux session menu
|
||||||
super + shift + c
|
super + shift + Return
|
||||||
st -e "iitmux"
|
st -e "iitmux"
|
||||||
|
|
||||||
# program launcher
|
# 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
|
# GUI home.nix
|
||||||
{ config, lib, pkgs, inputs, user, ... }:
|
{ 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 = {
|
xdg = {
|
||||||
systemDirs.data = [
|
systemDirs.data = [
|
||||||
"/var/lib/flatpak/exports/share"
|
"/var/lib/flatpak/exports/share"
|
||||||
"${config.xdg.dataHome}/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 = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = {
|
theme = {
|
||||||
name = "Dracula";
|
name = "Dracula";
|
||||||
package = pkgs.dracula-theme;
|
package = pkgs.dracula-theme;
|
||||||
};
|
};
|
||||||
#iconTheme = {
|
|
||||||
# name = "Papirus-Dark";
|
|
||||||
# package = pkgs.papirus-icon-theme;
|
|
||||||
#};
|
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
name = "Dracula-Icon-Theme";
|
name = "Dracula-Icon-Theme";
|
||||||
package = pkgs.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/all.nix
|
||||||
../nixos/cli.nix
|
../nixos/cli.nix
|
||||||
../nixos/chat.nix
|
../nixos/chat.nix
|
||||||
../nixos/gui.nix
|
../nixos/wayland.nix
|
||||||
../nixos/gaming.nix
|
../nixos/gaming.nix
|
||||||
../nixos/office.nix
|
../nixos/office.nix
|
||||||
./buckwheat/configuration.nix
|
./buckwheat/configuration.nix
|
||||||
@ -20,7 +20,8 @@
|
|||||||
imports = [
|
imports = [
|
||||||
../home-manager/all.nix
|
../home-manager/all.nix
|
||||||
../home-manager/cli.nix
|
../home-manager/cli.nix
|
||||||
../home-manager/gui.nix
|
../home-manager/chat.nix
|
||||||
|
../home-manager/wayland.nix
|
||||||
./buckwheat/home.nix
|
./buckwheat/home.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@ -33,7 +34,7 @@
|
|||||||
modules = [
|
modules = [
|
||||||
../nixos/all.nix
|
../nixos/all.nix
|
||||||
../nixos/cli.nix
|
../nixos/cli.nix
|
||||||
../nixos/gui.nix
|
../nixos/xorg.nix
|
||||||
../nixos/office.nix
|
../nixos/office.nix
|
||||||
../nixos/pentest.nix
|
../nixos/pentest.nix
|
||||||
./fireweed/configuration.nix
|
./fireweed/configuration.nix
|
||||||
@ -45,7 +46,7 @@
|
|||||||
imports = [
|
imports = [
|
||||||
../home-manager/all.nix
|
../home-manager/all.nix
|
||||||
../home-manager/cli.nix
|
../home-manager/cli.nix
|
||||||
../home-manager/gui.nix
|
../home-manager/xorg.nix
|
||||||
./fireweed/home.nix
|
./fireweed/home.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
catgirl
|
catgirl
|
||||||
discord
|
discord
|
||||||
profanity
|
profanity
|
||||||
|
sic
|
||||||
|
senpai
|
||||||
signal-desktop
|
signal-desktop
|
||||||
tut
|
tut
|
||||||
];
|
];
|
||||||
|
@ -66,6 +66,7 @@
|
|||||||
alsa.support32Bit = true;
|
alsa.support32Bit = true;
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
#jack.enable = true;
|
#jack.enable = true;
|
||||||
|
wireplumber.enable = true;
|
||||||
};
|
};
|
||||||
users.users.${user.name}.packages = with pkgs; [
|
users.users.${user.name}.packages = with pkgs; [
|
||||||
btfs
|
btfs
|
||||||
@ -98,9 +99,11 @@
|
|||||||
jo
|
jo
|
||||||
john
|
john
|
||||||
jq
|
jq
|
||||||
|
killall
|
||||||
lynis
|
lynis
|
||||||
mdp
|
mdp
|
||||||
mediainfo
|
mediainfo
|
||||||
|
mosh
|
||||||
nb
|
nb
|
||||||
nethogs
|
nethogs
|
||||||
oed
|
oed
|
||||||
@ -111,9 +114,11 @@
|
|||||||
sipcalc
|
sipcalc
|
||||||
ssss
|
ssss
|
||||||
surfraw
|
surfraw
|
||||||
|
tmux-xpanes
|
||||||
unrar
|
unrar
|
||||||
unzip
|
unzip
|
||||||
up
|
up
|
||||||
|
ueberzugpp
|
||||||
yai
|
yai
|
||||||
yank
|
yank
|
||||||
yq-go
|
yq-go
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
gamemode.enable = true;
|
gamemode.enable = true;
|
||||||
};
|
};
|
||||||
users.users.${user.name}.packages = with pkgs; [
|
users.users.${user.name}.packages = with pkgs; [
|
||||||
|
dnd-tools
|
||||||
dosbox-staging
|
dosbox-staging
|
||||||
minecraft
|
minecraft
|
||||||
];
|
];
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
variables = {
|
variables = {
|
||||||
VISUAL = "$EDITOR";
|
VISUAL = "$EDITOR";
|
||||||
BROWSER = "mullvad-browser";
|
BROWSER = "mullvad-browser";
|
||||||
SXHKD_SHELL = "/bin/sh";
|
|
||||||
TERMINAL = "st";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
xdg.mime = {
|
xdg.mime = {
|
||||||
@ -15,32 +13,15 @@
|
|||||||
"image/*" = [
|
"image/*" = [
|
||||||
"feh.desktop"
|
"feh.desktop"
|
||||||
];
|
];
|
||||||
};
|
"text/*" = [
|
||||||
};
|
"mullvad-browser.desktop"
|
||||||
xdg = {
|
|
||||||
autostart.enable = true;
|
|
||||||
portal = {
|
|
||||||
enable = true;
|
|
||||||
xdgOpenUsePortal = true;
|
|
||||||
extraPortals = [
|
|
||||||
pkgs.xdg-desktop-portal-gtk
|
|
||||||
];
|
];
|
||||||
configPackages = [
|
"video/*" = [
|
||||||
pkgs.gnome.gnome-session
|
"mpv.desktop"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
services = {
|
services = {
|
||||||
xserver = {
|
|
||||||
enable = true;
|
|
||||||
displayManager.startx.enable = true;
|
|
||||||
windowManager.bspwm.enable = true;
|
|
||||||
layout = "us";
|
|
||||||
xkbVariant = "";
|
|
||||||
};
|
|
||||||
picom = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
# To add the Flathub repo, run:
|
# To add the Flathub repo, run:
|
||||||
# $ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
# $ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||||
flatpak.enable = true;
|
flatpak.enable = true;
|
||||||
@ -57,12 +38,10 @@
|
|||||||
];
|
];
|
||||||
programs = {
|
programs = {
|
||||||
dconf.enable = true;
|
dconf.enable = true;
|
||||||
slock.enable = true;
|
|
||||||
};
|
};
|
||||||
users.users.${user.name}.packages = with pkgs; [
|
users.users.${user.name}.packages = with pkgs; [
|
||||||
ani-cli
|
ani-cli
|
||||||
bashmount
|
bashmount
|
||||||
feh
|
|
||||||
glib
|
glib
|
||||||
lagrange
|
lagrange
|
||||||
librewolf
|
librewolf
|
||||||
@ -71,30 +50,14 @@
|
|||||||
mullvad-browser
|
mullvad-browser
|
||||||
mupdf
|
mupdf
|
||||||
#onionshare-gui
|
#onionshare-gui
|
||||||
scrot
|
|
||||||
tor-browser-bundle-bin
|
tor-browser-bundle-bin
|
||||||
#urlview
|
#urlview
|
||||||
|
ytfzf
|
||||||
];
|
];
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
(dmenu.overrideAttrs (oldAttrs: rec {
|
libnotify
|
||||||
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
|
|
||||||
networkmanagerapplet
|
networkmanagerapplet
|
||||||
notify-desktop
|
|
||||||
sxhkd
|
|
||||||
trayer
|
|
||||||
xbanish
|
|
||||||
xdg-utils
|
xdg-utils
|
||||||
xdo
|
|
||||||
xdragon
|
xdragon
|
||||||
xsel
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
users.users.${user.name}.packages = with pkgs; [
|
users.users.${user.name}.packages = with pkgs; [
|
||||||
ledger
|
ledger
|
||||||
libreoffice
|
libreoffice
|
||||||
|
#obsidian
|
||||||
pandoc
|
pandoc
|
||||||
pdftk
|
pdftk
|
||||||
#sc-im
|
#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
|
- [ ] Create additional host configurations
|
||||||
- [ ] Implement the Impermanence module
|
- [ ] Implement the Impermanence module
|
||||||
* [Erase your darlings](https://grahamc.com/blog/erase-your-darlings/)
|
- [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 home](https://elis.nu/blog/2020/06/nixos-tmpfs-as-home/)
|
||||||
* [tmpfs as root](https://elis.nu/blog/2020/05/nixos-tmpfs-as-root/)
|
- [tmpfs as root](https://elis.nu/blog/2020/05/nixos-tmpfs-as-root/)
|
||||||
* [Impermanence - NixOS Wiki](https://nixos.wiki/wiki/Impermanence)
|
- [Impermanence - NixOS Wiki](https://nixos.wiki/wiki/Impermanence)
|
||||||
- [ ] Implement [Agenix](https://nixos.wiki/wiki/Agenix) or Sopsnix
|
- [ ] Implement [Agenix](https://nixos.wiki/wiki/Agenix) or Sopsnix
|
||||||
* [Agenix Git Repo](https://github.com/ryantm/agenix)
|
- [Agenix Git Repo](https://github.com/ryantm/agenix)
|
||||||
* [Homeage Git Repo](https://github.com/jordanisaacs/homeage)
|
- [Homeage Git Repo](https://github.com/jordanisaacs/homeage)
|
||||||
* [Handling Secrets in NixOS](https://lgug2z.com/articles/handling-secrets-in-nixos-an-overview/)
|
- [Handling Secrets in NixOS](https://lgug2z.com/articles/handling-secrets-in-nixos-an-overview/)
|
||||||
* [NixOS Secrets Management](https://onion.tube/watch?v=G5f6GC7SnhU)
|
- [NixOS Secrets Management](https://onion.tube/watch?v=G5f6GC7SnhU)
|
||||||
- [ ] Implement [Stylix](https://danth.github.io/stylix/)
|
- [ ] Implement [Stylix](https://danth.github.io/stylix/)
|
||||||
- [ ] Implement [MicroVM.nix](https://github.com/astro/microvm.nix)
|
- [ ] Implement [MicroVM.nix](https://github.com/astro/microvm.nix)
|
||||||
- [ ] Figure out urlview and yank conflict with tmux plugins
|
- [ ] Figure out urlview and yank conflict with tmux plugins
|
||||||
- [ ] Implement [Nix-Colors](https://youtube.com/watch?v=jO2o0IN0LPE)
|
- [ ] Implement [Nix-Colors](https://youtube.com/watch?v=jO2o0IN0LPE)
|
||||||
- [ ] Fix autoupdate with remote flake repo
|
- [ ] 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