Successful nix-colors implementation. Merging into master branch.
This commit is contained in:
parent
23ac64bf87
commit
2c50398ea8
|
@ -14,20 +14,6 @@
|
||||||
dataHome = "${config.home.homeDirectory}/.local/share";
|
dataHome = "${config.home.homeDirectory}/.local/share";
|
||||||
stateHome = "${config.home.homeDirectory}/.local/state";
|
stateHome = "${config.home.homeDirectory}/.local/state";
|
||||||
};
|
};
|
||||||
home.file = {
|
|
||||||
"bash_login" = {
|
|
||||||
source = ./dots/bash_login;
|
|
||||||
target = ".bash_login";
|
|
||||||
};
|
|
||||||
"bash_logout" = {
|
|
||||||
source = ./dots/bash_logout;
|
|
||||||
target = ".bash_logout";
|
|
||||||
};
|
|
||||||
"bashrc" = {
|
|
||||||
source = ./dots/bashrc;
|
|
||||||
target = ".bashrc";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
programs.fzf = {
|
programs.fzf = {
|
||||||
enable = true;
|
enable = true;
|
||||||
tmux.enableShellIntegration = true;
|
tmux.enableShellIntegration = true;
|
||||||
|
@ -51,21 +37,6 @@
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
viAlias = true;
|
viAlias = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
extraConfig = ''
|
|
||||||
syntax enable
|
|
||||||
set wrap
|
|
||||||
set spell spelllang=en_us
|
|
||||||
set linebreak
|
|
||||||
set number
|
|
||||||
set relativenumber
|
|
||||||
set splitbelow
|
|
||||||
set splitright
|
|
||||||
set tabstop=4
|
|
||||||
set shiftwidth=4
|
|
||||||
if filereadable(expand(".vim-project"))
|
|
||||||
source .vim-project
|
|
||||||
endif
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
programs.password-store = {
|
programs.password-store = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -86,60 +57,6 @@
|
||||||
newSession = false;
|
newSession = false;
|
||||||
prefix = "C-b";
|
prefix = "C-b";
|
||||||
terminal = "screen-256color";
|
terminal = "screen-256color";
|
||||||
extraConfig = ''
|
|
||||||
# Do not rename windows automatically
|
|
||||||
set-option -g allow-rename off
|
|
||||||
|
|
||||||
# Hide statusbar while using one window
|
|
||||||
set -g status off
|
|
||||||
set-hook -g after-new-window 'if "[ #{session_windows} -gt 1 ]" "set status on"'
|
|
||||||
set-hook -g after-kill-pane 'if "[ #{session_windows} -lt 2 ]" "set status off"'
|
|
||||||
set-hook -g pane-exited 'if "[ #{session_windows} -lt 2 ]" "set status off"'
|
|
||||||
set-hook -g window-layout-changed 'if "[ #{session_windows} -lt 2 ]" "set status off"'
|
|
||||||
|
|
||||||
# Reload tmux.conf
|
|
||||||
unbind r
|
|
||||||
bind r source-file $HOME/.config/tmux/tmux.conf \; display "tmux config reloaded"
|
|
||||||
|
|
||||||
# Rebind vertical/horizontal splitting
|
|
||||||
unbind %
|
|
||||||
unbind v
|
|
||||||
bind v split-window -h -c "#{pane_current_path}"
|
|
||||||
unbind '"'
|
|
||||||
unbind c
|
|
||||||
bind c split-window -v -c "#{pane_current_path}"
|
|
||||||
|
|
||||||
unbind Enter
|
|
||||||
bind Enter new-window
|
|
||||||
unbind Tab
|
|
||||||
bind Tab last-window
|
|
||||||
|
|
||||||
unbind l
|
|
||||||
# Rebind moving panes
|
|
||||||
bind -n C-h select-pane -L
|
|
||||||
bind -n C-j select-pane -D
|
|
||||||
bind -n C-k select-pane -U
|
|
||||||
bind -n C-l select-pane -R
|
|
||||||
bind -n M-h select-pane -L
|
|
||||||
bind -n M-j select-pane -D
|
|
||||||
bind -n M-k select-pane -U
|
|
||||||
bind -n M-l select-pane -R
|
|
||||||
|
|
||||||
# Set status bar postition
|
|
||||||
set -g status-position top
|
|
||||||
|
|
||||||
# Status bar theme
|
|
||||||
set -g status-style "fg=#50fa7b"
|
|
||||||
|
|
||||||
# Window theme
|
|
||||||
setw -g window-status-current-style "bg=#50fa7b fg=#282a36"
|
|
||||||
setw -g window-status-current-format " #I:#W#F "
|
|
||||||
setw -g window-status-format "[#I:#W#F]"
|
|
||||||
'';
|
|
||||||
plugins = with pkgs; [
|
|
||||||
tmuxPlugins.urlview
|
|
||||||
tmuxPlugins.yank
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
home.stateVersion = "23.05";
|
home.stateVersion = "23.05";
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,10 @@
|
||||||
{ config, lib, pkgs, inputs, user, ... }:
|
{ config, lib, pkgs, inputs, user, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
inputs.nix-colors.homeManagerModules.default
|
||||||
./base.nix
|
./base.nix
|
||||||
|
./dots/tmux.nix
|
||||||
|
./dots/bash.nix
|
||||||
];
|
];
|
||||||
home.shellAliases = {
|
home.shellAliases = {
|
||||||
wget = "wget --hsts-file=${config.xdg.configHome}/wget-hsts";
|
wget = "wget --hsts-file=${config.xdg.configHome}/wget-hsts";
|
||||||
|
@ -51,10 +54,22 @@
|
||||||
};
|
};
|
||||||
neovim = {
|
neovim = {
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
syntax enable
|
||||||
|
set wrap
|
||||||
|
set spell spelllang=en_us
|
||||||
|
set linebreak
|
||||||
|
set number
|
||||||
|
set relativenumber
|
||||||
|
set splitbelow
|
||||||
|
set splitright
|
||||||
|
set tabstop=4
|
||||||
|
set shiftwidth=4
|
||||||
|
if filereadable(expand(".vim-project"))
|
||||||
|
source .vim-project
|
||||||
|
endif
|
||||||
let g:limelight_conceal_ctermfg = 'block'
|
let g:limelight_conceal_ctermfg = 'block'
|
||||||
'';
|
'';
|
||||||
plugins = with pkgs.vimPlugins; [
|
plugins = with pkgs.vimPlugins; [
|
||||||
dracula-nvim
|
|
||||||
goyo-vim
|
goyo-vim
|
||||||
limelight-vim
|
limelight-vim
|
||||||
twilight-nvim
|
twilight-nvim
|
||||||
|
|
80
home-manager/dots/bash.nix
Normal file
80
home-manager/dots/bash.nix
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
{ pkgs, config, ... }:
|
||||||
|
{
|
||||||
|
home.file = {
|
||||||
|
".bash_login" = {
|
||||||
|
enable = true;
|
||||||
|
text = ''
|
||||||
|
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
||||||
|
if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then
|
||||||
|
exec river
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
".bash_logout" = {
|
||||||
|
enable = true;
|
||||||
|
text = ''
|
||||||
|
if [ "$SHLVL" = 1 ]; then
|
||||||
|
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
".bashrc" = {
|
||||||
|
enable = true;
|
||||||
|
text = ''
|
||||||
|
# Source global definitions
|
||||||
|
if [ -f /etc/bashrc ]; then
|
||||||
|
. /etc/bashrc
|
||||||
|
fi
|
||||||
|
set -o vi
|
||||||
|
unset HISTFILE
|
||||||
|
# Aliases
|
||||||
|
alias mkfoo='. $HOME/.local/bin/mkfoo.sh'
|
||||||
|
# Functions
|
||||||
|
function home() {
|
||||||
|
cd
|
||||||
|
clear
|
||||||
|
}
|
||||||
|
function search() {
|
||||||
|
surfraw $(surfraw -elvi | fzf | awk '{print $1;}')
|
||||||
|
}
|
||||||
|
function mkcd {
|
||||||
|
mkdir -p $1
|
||||||
|
cd $1
|
||||||
|
}
|
||||||
|
|
||||||
|
# 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)
|
||||||
|
function fe() {
|
||||||
|
IFS='
|
||||||
|
'
|
||||||
|
files=$(fzf --query="$1" --multi --select-1 --exit-0)
|
||||||
|
[ -n "$files" ] && "$EDITOR" "$files"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Environmental Variables
|
||||||
|
# Uncomment the following line if you don't like systemctl's auto-paging feature:
|
||||||
|
export SYSTEMD_PAGER=
|
||||||
|
export PS1='\n\u@\h:\w \j $?\n\$ '
|
||||||
|
export BEMENU_OPTS="--tb '#03'\
|
||||||
|
--tf '#${config.colorScheme.colors.base07}'\
|
||||||
|
--fb '#${config.colorScheme.colors.base00}'\
|
||||||
|
--ff '#${config.colorScheme.colors.base07}'\
|
||||||
|
--nb '#${config.colorScheme.colors.base00}'\
|
||||||
|
--nf '#${config.colorScheme.colors.base07}'\
|
||||||
|
--hb '#${config.colorScheme.colors.base02}'\
|
||||||
|
--hf '#${config.colorScheme.colors.base07}'\
|
||||||
|
--sb '#${config.colorScheme.colors.base02}'\
|
||||||
|
--sf '#${config.colorScheme.colors.base07}'\
|
||||||
|
--scb '#${config.colorScheme.colors.base00}'\
|
||||||
|
--scf '#${config.colorScheme.colors.base07}'\
|
||||||
|
--fn 'Comic Mono 12'\
|
||||||
|
--hp '10'\
|
||||||
|
--binding 'vim'\
|
||||||
|
--vim-esc-exits\
|
||||||
|
--ignorecase\
|
||||||
|
--no-overlap"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,4 +0,0 @@
|
||||||
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
|
||||||
if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then
|
|
||||||
exec river
|
|
||||||
fi
|
|
|
@ -1,3 +0,0 @@
|
||||||
if [ "$SHLVL" = 1 ]; then
|
|
||||||
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
|
|
||||||
fi
|
|
|
@ -1,134 +0,0 @@
|
||||||
# .bashrc
|
|
||||||
|
|
||||||
# Source global definitions
|
|
||||||
if [ -f /etc/bashrc ]; then
|
|
||||||
. /etc/bashrc
|
|
||||||
fi
|
|
||||||
|
|
||||||
set -o vi
|
|
||||||
unset HISTFILE
|
|
||||||
|
|
||||||
# Aliases
|
|
||||||
alias mkfoo='. $HOME/.local/bin/mkfoo.sh'
|
|
||||||
|
|
||||||
# Functions
|
|
||||||
function home() {
|
|
||||||
cd
|
|
||||||
clear
|
|
||||||
}
|
|
||||||
|
|
||||||
function search() {
|
|
||||||
surfraw $(surfraw -elvi | fzf | awk '{print $1;}')
|
|
||||||
}
|
|
||||||
|
|
||||||
function mkcd {
|
|
||||||
mkdir -p $1
|
|
||||||
cd $1
|
|
||||||
}
|
|
||||||
|
|
||||||
# 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)
|
|
||||||
function fe() {
|
|
||||||
IFS='
|
|
||||||
'
|
|
||||||
files=$(fzf --query="$1" --multi --select-1 --exit-0)
|
|
||||||
[ -n "$files" ] && ${EDITOR} "${files}"
|
|
||||||
}
|
|
||||||
|
|
||||||
function _track() {
|
|
||||||
TRACK_DIR=${TRACK_DIR:-.}
|
|
||||||
local lis
|
|
||||||
lis=$(find "$TRACK_DIR"/*.csv -maxdepth 1 2>/dev/null | sed -e 's/.*\///' | sed -e 's/\..*$//')
|
|
||||||
local cur
|
|
||||||
cur=${COMP_WORDS[COMP_CWORD]}
|
|
||||||
COMPREPLY=( $(compgen -W "$lis" -- "$cur") )
|
|
||||||
}
|
|
||||||
|
|
||||||
function track() {
|
|
||||||
TRACK_DIR=${TRACK_DIR:-.}
|
|
||||||
if [ $# -eq 0 ]; then
|
|
||||||
find "$TRACK_DIR"/*.csv -maxdepth 1 2>/dev/null | sed -e 's/.*\///' | sed -e 's/\..*$//'
|
|
||||||
else
|
|
||||||
case "$1" in
|
|
||||||
-h|--help)
|
|
||||||
echo "track - track a thing"
|
|
||||||
echo " "
|
|
||||||
echo "usage: track # list things tracked"
|
|
||||||
echo "usage: track (-h or --help) # show this help"
|
|
||||||
echo "usage: track [thing] # show most recent value of thing"
|
|
||||||
echo "usage: track [thing] [value] # track new value of thing for today"
|
|
||||||
echo "usage: track [thing] [options]"
|
|
||||||
echo " options:"
|
|
||||||
echo " -a, --all # show all values of thing"
|
|
||||||
echo " -n, --number # show (number) values of thing"
|
|
||||||
echo " -d, --delete # delete thing tracking"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
local f
|
|
||||||
local fn
|
|
||||||
f="$TRACK_DIR"/"$1".csv
|
|
||||||
fn="$1"
|
|
||||||
shift
|
|
||||||
if [ $# -eq 0 ]; then
|
|
||||||
if [ ! -f "$f" ]; then
|
|
||||||
echo "track: '$fn' not found"
|
|
||||||
else
|
|
||||||
tail -n 1 "$f" | column -s, -t | awk '{printf "\033[38;05;226m%s-\033[38;05;226m%s-\033[38;05;226m%s\t\033[38;05;46m%s\t\n", $1, $2, $3, $4;}'
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if [ ! -f "$f" ]; then
|
|
||||||
echo "year,month,day,$fn" > "$f"
|
|
||||||
fi
|
|
||||||
case "$1" in
|
|
||||||
-a|--all)
|
|
||||||
column -s, -t "$f" | awk '{printf "\033[38;05;226m%s-\033[38;05;226m%s-\033[38;05;226m%s\t\033[38;05;46m%s\t\n", $1, $2, $3, $4;}'
|
|
||||||
;;
|
|
||||||
-n|--number)
|
|
||||||
tail -n "$2" "$f" | column -s, -t | awk '{printf "\033[38;05;226m%s-\033[38;05;226m%s-\033[38;05;226m%s\t\033[38;05;46m%s\t\n", $1, $2, $3, $4;}'
|
|
||||||
;;
|
|
||||||
-d|--delete)
|
|
||||||
rm "$f"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
local d
|
|
||||||
d=$(date '+%Y,%m,%d')
|
|
||||||
local l
|
|
||||||
l=$(sed -n "/$d/{=;}" "$f")
|
|
||||||
local c
|
|
||||||
c="${*//,/-}"
|
|
||||||
if [ -z "$l" ]; then
|
|
||||||
echo "$d,$c" >> "$f"
|
|
||||||
else
|
|
||||||
sed -i "$l c $d,$c" "$f"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
complete -F _track track
|
|
||||||
|
|
||||||
# Environmental Variables
|
|
||||||
# Uncomment the following line if you don't like systemctl's auto-paging feature:
|
|
||||||
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"
|
|
|
@ -8,7 +8,7 @@
|
||||||
};
|
};
|
||||||
colors = {
|
colors = {
|
||||||
alpha = 1.0;
|
alpha = 1.0;
|
||||||
foreground = "${config.colorScheme.colors.base0F}";
|
foreground = "${config.colorScheme.colors.base07}";
|
||||||
background = "${config.colorScheme.colors.base00}";
|
background = "${config.colorScheme.colors.base00}";
|
||||||
regular0 = "${config.colorScheme.colors.base00}";
|
regular0 = "${config.colorScheme.colors.base00}";
|
||||||
regular1 = "${config.colorScheme.colors.base01}";
|
regular1 = "${config.colorScheme.colors.base01}";
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
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
|
|
|
@ -6,7 +6,7 @@
|
||||||
borderColor = "#${config.colorScheme.colors.base0E}";
|
borderColor = "#${config.colorScheme.colors.base0E}";
|
||||||
borderRadius = 5;
|
borderRadius = 5;
|
||||||
borderSize = 2;
|
borderSize = 2;
|
||||||
textColor = "#${config.colorScheme.colors.base04}";
|
textColor = "#${config.colorScheme.colors.base07}";
|
||||||
anchor = "top-right";
|
anchor = "top-right";
|
||||||
layer = "overlay";
|
layer = "overlay";
|
||||||
maxVisible = 5;
|
maxVisible = 5;
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
max-history=10
|
|
||||||
max-visible=5
|
|
||||||
anchor=top-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
|
|
|
@ -16,8 +16,7 @@
|
||||||
|
|
||||||
# Autostart
|
# Autostart
|
||||||
riverctl spawn "way-displays -c $HOME/.config/way-displays/cfg.yaml"
|
riverctl spawn "way-displays -c $HOME/.config/way-displays/cfg.yaml"
|
||||||
riverctl spawn "swww init"
|
riverctl spawn "wallpaper.sh -r"
|
||||||
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 text --watch cliphist store"
|
||||||
riverctl spawn "wl-paste --type image --watch cliphist store"
|
riverctl spawn "wl-paste --type image --watch cliphist store"
|
||||||
riverctl spawn "mako"
|
riverctl spawn "mako"
|
||||||
|
|
|
@ -1,156 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
# See the river(1), riverctl(1), and rivertile(1) man pages for complete
|
|
||||||
# documentation.
|
|
||||||
|
|
||||||
# Variables
|
|
||||||
TERMINAL="foot"
|
|
||||||
LOCKSCREEN="swaylock"
|
|
||||||
|
|
||||||
# Autostart
|
|
||||||
riverctl spawn "way-displays -c $HOME/.config/way-displays/cfg.yaml"
|
|
||||||
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"
|
|
||||||
|
|
||||||
# Theme
|
|
||||||
riverctl background-color 0x282a36
|
|
||||||
riverctl border-color-focused 0xbd93f9
|
|
||||||
riverctl border-color-unfocused 0x282a36
|
|
||||||
|
|
||||||
# Launch Shortcuts
|
|
||||||
riverctl map normal Super Return spawn "$TERMINAL tmux.sh"
|
|
||||||
riverctl map normal Super+Shift Return spawn "$TERMINAL"
|
|
||||||
riverctl map normal Super Space spawn "wmenu.sh"
|
|
||||||
|
|
||||||
# Focus Controls
|
|
||||||
riverctl map normal Super H send-layout-cmd rivertile "main-count +1"
|
|
||||||
riverctl map normal Super J focus-view next
|
|
||||||
riverctl map normal Super K focus-view previous
|
|
||||||
riverctl map normal Super L send-layout-cmd rivertile "main-count -1"
|
|
||||||
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 spawn $LOCKSCREEN
|
|
||||||
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 spawn "riverctl set-focused-tags $tags; notify-send 'Tag $tags focus toggle';"
|
|
||||||
|
|
||||||
# Super+Shift+[1-9] to tag focused view with tag [0-8]
|
|
||||||
riverctl map normal Super+Shift $i spawn "riverctl set-view-tags $tags; riverctl set-focused-tags $tags; notify-send 'Tag $tags swap toggle';"
|
|
||||||
|
|
||||||
# Super+Control+[1-9] to toggle focus of tag [0-8]
|
|
||||||
riverctl map normal Super+Control $i spawn "riverctl toggle-focused-tags $tags; notify-send 'Tag $tags focus toggle';"
|
|
||||||
|
|
||||||
# Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view
|
|
||||||
riverctl map normal Super+Shift+Control $i spawn "riverctl toggle-view-tags $tags; notiy-send 'Tag $tags assignment toggle';"
|
|
||||||
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 spawn "riverctl set-focused-tags $all_tags; notify-send 'All tags focus toggle';"
|
|
||||||
riverctl map normal Super+Shift 0 spawn "riverctl set-view-tags $all_tags; notify-send 'All tags assignment toggle';"
|
|
||||||
|
|
||||||
# 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
|
|
|
@ -1,5 +0,0 @@
|
||||||
[Default]
|
|
||||||
save_dir=$HOME/Pictures/screenshots
|
|
||||||
line_size=5
|
|
||||||
text_size=20
|
|
||||||
text_font=Comic Mono
|
|
|
@ -7,9 +7,9 @@
|
||||||
inside-color = "${config.colorScheme.colors.base01}";
|
inside-color = "${config.colorScheme.colors.base01}";
|
||||||
line-color = "${config.colorScheme.colors.base01}";
|
line-color = "${config.colorScheme.colors.base01}";
|
||||||
ring-color = "${config.colorScheme.colors.base09}";
|
ring-color = "${config.colorScheme.colors.base09}";
|
||||||
text-color = "${config.colorScheme.colors.base05}";
|
text-color = "${config.colorScheme.colors.base07}";
|
||||||
layout-bg-color = "${config.colorScheme.colors.base01}";
|
layout-bg-color = "${config.colorScheme.colors.base01}";
|
||||||
layout-text-color = "${config.colorScheme.colors.base05}";
|
layout-text-color = "${config.colorScheme.colors.base07}";
|
||||||
inside-clear-color = "${config.colorScheme.colors.base04}";
|
inside-clear-color = "${config.colorScheme.colors.base04}";
|
||||||
line-clear-color = "${config.colorScheme.colors.base01}";
|
line-clear-color = "${config.colorScheme.colors.base01}";
|
||||||
ring-clear-color = "${config.colorScheme.colors.base04}";
|
ring-clear-color = "${config.colorScheme.colors.base04}";
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
text-wrong-color = "${config.colorScheme.colors.base01}";
|
text-wrong-color = "${config.colorScheme.colors.base01}";
|
||||||
bs-hl-color = "${config.colorScheme.colors.base0B}";
|
bs-hl-color = "${config.colorScheme.colors.base0B}";
|
||||||
key-hl-color = "${config.colorScheme.colors.base02}";
|
key-hl-color = "${config.colorScheme.colors.base02}";
|
||||||
text-caps-lock-color = "${config.colorScheme.colors.base05}";
|
text-caps-lock-color = "${config.colorScheme.colors.base07}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
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
|
|
59
home-manager/dots/tmux.nix
Normal file
59
home-manager/dots/tmux.nix
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
{ pkgs, config, ... }:
|
||||||
|
{
|
||||||
|
programs.tmux = {
|
||||||
|
extraConfig = ''
|
||||||
|
# Do not rename windows automatically
|
||||||
|
set-option -g allow-rename off
|
||||||
|
|
||||||
|
# Hide statusbar while using one window
|
||||||
|
set -g status off
|
||||||
|
set-hook -g after-new-window 'if "[ #{session_windows} -gt 1 ]" "set status on"'
|
||||||
|
set-hook -g after-kill-pane 'if "[ #{session_windows} -lt 2 ]" "set status off"'
|
||||||
|
set-hook -g pane-exited 'if "[ #{session_windows} -lt 2 ]" "set status off"'
|
||||||
|
set-hook -g window-layout-changed 'if "[ #{session_windows} -lt 2 ]" "set status off"'
|
||||||
|
|
||||||
|
# Reload tmux.conf
|
||||||
|
unbind r
|
||||||
|
bind r source-file $HOME/.config/tmux/tmux.conf \; display "tmux config reloaded"
|
||||||
|
|
||||||
|
# Rebind vertical/horizontal splitting
|
||||||
|
unbind %
|
||||||
|
unbind v
|
||||||
|
bind v split-window -h -c "#{pane_current_path}"
|
||||||
|
unbind '"'
|
||||||
|
unbind c
|
||||||
|
bind c split-window -v -c "#{pane_current_path}"
|
||||||
|
|
||||||
|
unbind Enter
|
||||||
|
bind Enter new-window
|
||||||
|
unbind Tab
|
||||||
|
bind Tab last-window
|
||||||
|
|
||||||
|
unbind l
|
||||||
|
# Rebind moving panes
|
||||||
|
bind -n C-h select-pane -L
|
||||||
|
bind -n C-j select-pane -D
|
||||||
|
bind -n C-k select-pane -U
|
||||||
|
bind -n C-l select-pane -R
|
||||||
|
bind -n M-h select-pane -L
|
||||||
|
bind -n M-j select-pane -D
|
||||||
|
bind -n M-k select-pane -U
|
||||||
|
bind -n M-l select-pane -R
|
||||||
|
|
||||||
|
# Set status bar postition
|
||||||
|
set -g status-position top
|
||||||
|
|
||||||
|
# Status bar theme
|
||||||
|
set -g status-style "fg=#${config.colorScheme.colors.base0D}"
|
||||||
|
|
||||||
|
# Window theme
|
||||||
|
setw -g window-status-current-style "bg=#${config.colorScheme.colors.base0D} fg=#${config.colorScheme.colors.base00}
|
||||||
|
setw -g window-status-current-format " #I:#W#F "
|
||||||
|
setw -g window-status-format "[#I:#W#F]"
|
||||||
|
'';
|
||||||
|
plugins = with pkgs; [
|
||||||
|
tmuxPlugins.urlview
|
||||||
|
tmuxPlugins.yank
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,80 +0,0 @@
|
||||||
# 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"
|
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
{ config, lib, pkgs, inputs, user, ... }:
|
{ config, lib, pkgs, inputs, user, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nix-colors.homeManagerModules.default
|
|
||||||
inputs.gtk-nix.homeManagerModule
|
inputs.gtk-nix.homeManagerModule
|
||||||
./gui.nix
|
./gui.nix
|
||||||
./dots/foot.nix
|
./dots/foot.nix
|
||||||
|
@ -13,6 +12,7 @@
|
||||||
./dots/swaylock.nix
|
./dots/swaylock.nix
|
||||||
./dots/way-displays.nix
|
./dots/way-displays.nix
|
||||||
];
|
];
|
||||||
colorScheme = inputs.nix-colors.colorSchemes.nord;
|
# themes can be found here: https://github.com/tinted-theming/base16-schemes
|
||||||
|
colorScheme = inputs.nix-colors.colorSchemes.darcula;
|
||||||
gtkNix.enable = true;
|
gtkNix.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
};
|
};
|
||||||
home.file = {
|
home.file = {
|
||||||
"xinitrc" = {
|
"xinitrc" = {
|
||||||
source = ./dots/xinitrc;
|
source = ./dots/xorg/xinitrc;
|
||||||
target = ".xinitrc";
|
target = ".xinitrc";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -66,12 +66,12 @@
|
||||||
};
|
};
|
||||||
xdg.configFile = {
|
xdg.configFile = {
|
||||||
"dunst" = {
|
"dunst" = {
|
||||||
source = ./dots/dunst;
|
source = ./dots/xorg/dunst;
|
||||||
target = "dunst";
|
target = "dunst";
|
||||||
recursive = true;
|
recursive = true;
|
||||||
};
|
};
|
||||||
"sxhkd" = {
|
"sxhkd" = {
|
||||||
source = ./dots/sxhkd;
|
source = ./dots/xorg/sxhkd;
|
||||||
target = "sxhkd";
|
target = "sxhkd";
|
||||||
recursive = true;
|
recursive = true;
|
||||||
executable = true;
|
executable = true;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user