Add lots of new nix config
This commit is contained in:
parent
aab1d4ff96
commit
13871c1ff9
@ -9,6 +9,8 @@ in
|
|||||||
_module.args.colorTheme = colorTheme;
|
_module.args.colorTheme = colorTheme;
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
|
./misc/mimetypes.nix
|
||||||
|
|
||||||
./programs/alacritty.nix
|
./programs/alacritty.nix
|
||||||
./programs/comma.nix
|
./programs/comma.nix
|
||||||
./programs/emacs.nix
|
./programs/emacs.nix
|
||||||
@ -17,11 +19,20 @@ in
|
|||||||
./programs/ncmpcpp.nix
|
./programs/ncmpcpp.nix
|
||||||
./programs/neovim.nix
|
./programs/neovim.nix
|
||||||
./programs/newsboat.nix
|
./programs/newsboat.nix
|
||||||
|
./programs/qutebrowser.nix
|
||||||
./programs/rofi.nix
|
./programs/rofi.nix
|
||||||
./programs/tmux.nix
|
./programs/tmux.nix
|
||||||
./programs/vscode.nix
|
./programs/vscode.nix
|
||||||
./programs/zathura.nix
|
./programs/zathura.nix
|
||||||
./programs/zsh.nix
|
./programs/zsh.nix
|
||||||
|
|
||||||
|
./services/dunst.nix
|
||||||
|
./services/mpd.nix
|
||||||
|
./services/picom.nix
|
||||||
|
./services/stalonetray.nix
|
||||||
|
./services/sxhkd.nix
|
||||||
|
|
||||||
|
./secret/ssh/hosts
|
||||||
];
|
];
|
||||||
|
|
||||||
xsession = {
|
xsession = {
|
||||||
@ -33,14 +44,11 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
home-manager.enable = true;
|
home-manager.enable = true;
|
||||||
|
|
||||||
bat.enable = true;
|
bat.enable = true;
|
||||||
|
bottom.enable = true;
|
||||||
# bottom.enable = true;
|
|
||||||
|
|
||||||
exa.enable = true;
|
exa.enable = true;
|
||||||
|
|
||||||
feh.enable = true;
|
feh.enable = true;
|
||||||
|
|
||||||
fzf = {
|
fzf = {
|
||||||
@ -52,6 +60,7 @@ in
|
|||||||
irssi.enable = true;
|
irssi.enable = true;
|
||||||
lazygit.enable = true;
|
lazygit.enable = true;
|
||||||
mpv.enable = true;
|
mpv.enable = true;
|
||||||
|
ssh.enable = true;
|
||||||
|
|
||||||
man = {
|
man = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -60,19 +69,9 @@ in
|
|||||||
|
|
||||||
obs-studio.enable = true;
|
obs-studio.enable = true;
|
||||||
|
|
||||||
qutebrowser = {
|
|
||||||
enable = true;
|
|
||||||
aliases = {};
|
|
||||||
searchEngines = {};
|
|
||||||
settings = {};
|
|
||||||
keyBindings = {};
|
|
||||||
# quickmarks = {};
|
|
||||||
extraConfig = '''';
|
|
||||||
};
|
|
||||||
|
|
||||||
skim = {
|
skim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultCommand ="fd --type f";
|
defaultCommand ="fd --type f";
|
||||||
};
|
};
|
||||||
|
|
||||||
texlive = {
|
texlive = {
|
||||||
@ -85,12 +84,6 @@ in
|
|||||||
zoxide.enable = true;
|
zoxide.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.mpd = import ./services/mpd.nix args;
|
|
||||||
services.picom = import ./services/picom.nix;
|
|
||||||
services.stalonetray = import ./services/stalonetray.nix (args // { inherit colorTheme; });
|
|
||||||
services.sxhkd = import ./services/sxhkd.nix args;
|
|
||||||
|
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
stateVersion = "21.05";
|
stateVersion = "21.05";
|
||||||
username = "h7x4";
|
username = "h7x4";
|
||||||
@ -101,11 +94,14 @@ in
|
|||||||
asciidoctor
|
asciidoctor
|
||||||
audacity
|
audacity
|
||||||
beets
|
beets
|
||||||
|
biber
|
||||||
calibre
|
calibre
|
||||||
castnow
|
castnow
|
||||||
citra
|
citra
|
||||||
|
cool-retro-term
|
||||||
copyq
|
copyq
|
||||||
czkawka
|
czkawka
|
||||||
|
darktable
|
||||||
desmume
|
desmume
|
||||||
discord
|
discord
|
||||||
diskonaut
|
diskonaut
|
||||||
@ -116,8 +112,10 @@ in
|
|||||||
fd
|
fd
|
||||||
ffmpeg
|
ffmpeg
|
||||||
geogebra
|
geogebra
|
||||||
|
gnome.gnome-font-viewer
|
||||||
google-chrome
|
google-chrome
|
||||||
# gpgtui
|
# gpgtui
|
||||||
|
graphviz
|
||||||
# hck
|
# hck
|
||||||
hexyl
|
hexyl
|
||||||
imagemagick
|
imagemagick
|
||||||
@ -132,6 +130,7 @@ in
|
|||||||
lastpass-cli
|
lastpass-cli
|
||||||
lazydocker
|
lazydocker
|
||||||
libreoffice-fresh
|
libreoffice-fresh
|
||||||
|
light
|
||||||
lolcat
|
lolcat
|
||||||
maim
|
maim
|
||||||
mdcat
|
mdcat
|
||||||
@ -197,34 +196,12 @@ in
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.gnome-keyring.enable = true;
|
services = {
|
||||||
|
gnome-keyring.enable = true;
|
||||||
services.dropbox.enable = true;
|
dropbox.enable = true;
|
||||||
services.dunst = {
|
network-manager-applet.enable = true;
|
||||||
enable = true;
|
# redshift.enable = true;
|
||||||
iconTheme = {
|
|
||||||
package = pkgs.gnome.adwaita-icon-theme;
|
|
||||||
name = "Adwaita";
|
|
||||||
size = "32x32";
|
|
||||||
};
|
|
||||||
settings = {
|
|
||||||
global = {
|
|
||||||
geometry = "300x5-30+50";
|
|
||||||
transparency = 10;
|
|
||||||
frame_color = "#eceff1";
|
|
||||||
font = "Droid Sans 9";
|
|
||||||
};
|
|
||||||
urgency_normal = {
|
|
||||||
background = "#37474f";
|
|
||||||
foreground = "#eceff1";
|
|
||||||
timeout = 10;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.network-manager-applet.enable = true;
|
|
||||||
|
|
||||||
# services.redshift.enable = true;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
142
nixpkgs/misc/mimetypes.nix
Normal file
142
nixpkgs/misc/mimetypes.nix
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
# Applications
|
||||||
|
google-chrome = "google-chrome.desktop";
|
||||||
|
gimp = "gimp.desktop";
|
||||||
|
inkscape = "org.inkscape.Inkscape.desktop";
|
||||||
|
vscode = "code.desktop";
|
||||||
|
mpv = "mpv.desktop";
|
||||||
|
zathura = "org.pwmt.zathura.desktop";
|
||||||
|
sxiv = "sxiv.desktop";
|
||||||
|
font-viewer = "org.gnome.font-viewer.desktop";
|
||||||
|
|
||||||
|
# Formats
|
||||||
|
"3g2-audio" = "audio/3gpp";
|
||||||
|
"3g2-video" = "video/3gpp";
|
||||||
|
"3gp-audio" = "audio/3gpp";
|
||||||
|
"3gp-video" = "video/3gpp";
|
||||||
|
aac = "audio/aac";
|
||||||
|
avi = "video/x-msvideo";
|
||||||
|
bmp = "image/bmp";
|
||||||
|
cbr = "application/vnd.comicbook+rar";
|
||||||
|
cbrx = "application/x-cbr";
|
||||||
|
cbz = "application/vnd.comicbook+zip";
|
||||||
|
cbzx = "application/x-cbz";
|
||||||
|
djvu = "image/vnd.djvu";
|
||||||
|
epub = "application/epub+zip";
|
||||||
|
flv = "video/x-flv";
|
||||||
|
gif = "image/gif";
|
||||||
|
html = "text/html";
|
||||||
|
http = "x-scheme-handler/http";
|
||||||
|
https = "x-scheme-handler/https";
|
||||||
|
ico = "image/vnd.microsoft.icon";
|
||||||
|
icox = "image/x-icon";
|
||||||
|
ini = "application/x-wine-extension-ini";
|
||||||
|
jpg = "image/jpeg";
|
||||||
|
m4v = "video/x-m4v";
|
||||||
|
mkv = "video/x-matroska";
|
||||||
|
mov = "video/quicktime";
|
||||||
|
mp3 = "audio/mpeg";
|
||||||
|
mp4 = "video/mp4";
|
||||||
|
mpeg = "video/mpeg";
|
||||||
|
ogg = "audio/ogg";
|
||||||
|
ogv = "video/ogg";
|
||||||
|
opus = "audio/opus";
|
||||||
|
otf = "font/otf";
|
||||||
|
pdf = "application/pdf";
|
||||||
|
pic = "image/x-pict";
|
||||||
|
png = "image/png";
|
||||||
|
psd = "image/vnd.adobe.photoshop";
|
||||||
|
svg = "image/svg+xml";
|
||||||
|
tiff = "image/tiff";
|
||||||
|
ttf = "font/ttf";
|
||||||
|
txt = "text/plain";
|
||||||
|
url = "application/x-mswinurl";
|
||||||
|
wav = "audio/wav";
|
||||||
|
wavx = "audio/x-wav";
|
||||||
|
webm-audio = "audio/webm";
|
||||||
|
webm-video = "video/webm";
|
||||||
|
webp = "image/webp";
|
||||||
|
wmv = "video/x-ms-wmv";
|
||||||
|
woff = "font/woff";
|
||||||
|
woff2 = "font/woff2";
|
||||||
|
xbm = "image/x-xbitmap";
|
||||||
|
xcf = "image/x-xcf";
|
||||||
|
xhtml = "application/xhtml+xml";
|
||||||
|
xml = "text/xml";
|
||||||
|
xpm = "image/x-xpixmap";
|
||||||
|
|
||||||
|
|
||||||
|
# Generalizations
|
||||||
|
audio-player = mpv;
|
||||||
|
gui-text-editor = vscode;
|
||||||
|
image-viewer = sxiv;
|
||||||
|
pdf-viewer = zathura;
|
||||||
|
video-player = mpv;
|
||||||
|
web-browser = google-chrome;
|
||||||
|
|
||||||
|
in {
|
||||||
|
|
||||||
|
xdg.mimeApps = {
|
||||||
|
enable = true;
|
||||||
|
# associations.added = {};
|
||||||
|
# associations.removed = {};
|
||||||
|
defaultApplications = {
|
||||||
|
${"3g2-audio"} = audio-player;
|
||||||
|
${"3g2-video"} = video-player;
|
||||||
|
${"3gp-audio"} = audio-player;
|
||||||
|
${"3gp-video"} = video-player;
|
||||||
|
${aac} = audio-player;
|
||||||
|
${avi} = video-player;
|
||||||
|
${bmp} = image-viewer;
|
||||||
|
${cbrx} = zathura;
|
||||||
|
${cbr} = zathura;
|
||||||
|
${cbzx} = zathura;
|
||||||
|
${cbz} = zathura;
|
||||||
|
${djvu} = pdf-viewer;
|
||||||
|
${epub} = zathura;
|
||||||
|
${flv} = video-player;
|
||||||
|
${gif} = image-viewer;
|
||||||
|
${html} = web-browser;
|
||||||
|
${https} = web-browser;
|
||||||
|
${http} = web-browser;
|
||||||
|
${icox} = image-viewer;
|
||||||
|
${ico} = image-viewer;
|
||||||
|
${jpg} = image-viewer;
|
||||||
|
${m4v} = video-player;
|
||||||
|
${mkv} = video-player;
|
||||||
|
${mov} = video-player;
|
||||||
|
${mp3} = audio-player;
|
||||||
|
${mp4} = video-player;
|
||||||
|
${mpeg} = video-player;
|
||||||
|
${ogg} = audio-player;
|
||||||
|
${ogv} = video-player;
|
||||||
|
${opus} = audio-player;
|
||||||
|
${otf} = font-viewer;
|
||||||
|
${pdf} = pdf-viewer;
|
||||||
|
${pic} = image-viewer;
|
||||||
|
${png} = image-viewer;
|
||||||
|
${psd} = gimp;
|
||||||
|
${svg} = image-viewer;
|
||||||
|
${tiff} = image-viewer;
|
||||||
|
${ttf} = font-viewer;
|
||||||
|
${txt} = gui-text-editor;
|
||||||
|
${url} = web-browser;
|
||||||
|
${wav} = audio-player;
|
||||||
|
${webm-audio} = audio-player;
|
||||||
|
${webm-video} = video-player;
|
||||||
|
${webp} = image-viewer;
|
||||||
|
${wmv} = video-player;
|
||||||
|
${woff2} = font-viewer;
|
||||||
|
${woff} = font-viewer;
|
||||||
|
${xbm} = image-viewer;
|
||||||
|
${xcf} = gimp;
|
||||||
|
${xhtml} = web-browser;
|
||||||
|
${xml} = gui-text-editor;
|
||||||
|
${xpm} = image-viewer;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,25 +1,49 @@
|
|||||||
{ lib, pkgs, colorTheme, ... }:
|
{ lib, pkgs, colorTheme, ... }:
|
||||||
{
|
{
|
||||||
programs.alacritty = { enable = true; settings = { window.padding = { x = 15; y = 15; }; font = { normal = { family = "Fira Code"; style = "Retina"; }; bold.family = "Fira Code"; italic.family = "Fira Code"; size = 12.0; };
|
programs.alacritty = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
window.padding = { x = 15; y = 15; };
|
||||||
|
|
||||||
|
font = {
|
||||||
|
normal = {
|
||||||
|
family = "Fira Code";
|
||||||
|
style = "Retina";
|
||||||
|
};
|
||||||
|
bold.family = "Fira Code";
|
||||||
|
italic.family = "Fira Code";
|
||||||
|
size = 12.0;
|
||||||
|
};
|
||||||
|
|
||||||
colors =
|
colors =
|
||||||
let
|
let
|
||||||
pColors = [ "foreground" "background" ];
|
inherit (lib.attrsets) getAttrs filterAttrs;
|
||||||
|
inherit (lib.lists) any;
|
||||||
|
primaryColors = [ "foreground" "background" ];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
primary = lib.attrsets.getAttrs pColors colorTheme.default;
|
primary = getAttrs primaryColors colorTheme.default;
|
||||||
normal = lib.attrsets.filterAttrs (n: v: pColors ? n) colorTheme.default;
|
normal = let
|
||||||
|
removePrimaryColorAttrs = n: v: !(any (pc: n ? pc) primaryColors);
|
||||||
|
in filterAttrs removePrimaryColorAttrs colorTheme.default;
|
||||||
};
|
};
|
||||||
|
|
||||||
background_opacity = 1.0;
|
background_opacity = 1.0;
|
||||||
|
|
||||||
cursor = {
|
cursor = {
|
||||||
style = "Block";
|
style = "Block";
|
||||||
blinking = "On";
|
blinking = "On";
|
||||||
unfocused_hollow = true;
|
unfocused_hollow = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
bell = {
|
||||||
|
animation = "EaseOutExpo";
|
||||||
|
color = "0xffffff";
|
||||||
|
duration = 20;
|
||||||
|
};
|
||||||
|
|
||||||
live_config_reload = true;
|
live_config_reload = true;
|
||||||
|
|
||||||
shell = {
|
shell = {
|
||||||
program = "${pkgs.zsh}/bin/zsh";
|
program = "${pkgs.zsh}/bin/zsh";
|
||||||
args = [ "--login" ];
|
args = [ "--login" ];
|
||||||
|
@ -2,10 +2,12 @@
|
|||||||
{
|
{
|
||||||
programs.gh = {
|
programs.gh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
gitProtocol = "ssh";
|
settings = {
|
||||||
aliases = {
|
gitProtocol = "ssh";
|
||||||
co = "pr checkout";
|
aliases = {
|
||||||
pv = "pr view";
|
co = "pr checkout";
|
||||||
|
pv = "pr view";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -3,10 +3,10 @@
|
|||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.gitFull;
|
package = pkgs.gitFull;
|
||||||
|
|
||||||
userName = "h7x4";
|
userName = "h7x4";
|
||||||
userEmail = "h7x4abk3g@protonmail.com";
|
userEmail = "h7x4abk3g@protonmail.com";
|
||||||
|
|
||||||
aliases = {
|
aliases = {
|
||||||
aliases = "!git config --get-regexp alias | sed -re 's/alias\\.(\\S*)\\s(.*)$/\\1 = \\2/g'";
|
aliases = "!git config --get-regexp alias | sed -re 's/alias\\.(\\S*)\\s(.*)$/\\1 = \\2/g'";
|
||||||
uncommit = "reset --soft HEAD^";
|
uncommit = "reset --soft HEAD^";
|
||||||
@ -15,62 +15,62 @@
|
|||||||
# unstage = "rm --cached ";
|
# unstage = "rm --cached ";
|
||||||
unstage = "restore --staged ";
|
unstage = "restore --staged ";
|
||||||
delete-merged = "!git branch --merged | grep -v '\\*' | xargs -n 1 git branch -d";
|
delete-merged = "!git branch --merged | grep -v '\\*' | xargs -n 1 git branch -d";
|
||||||
|
|
||||||
mkbr = "checkout -b";
|
mkbr = "checkout -b";
|
||||||
mvbr = "branch -m";
|
mvbr = "branch -m";
|
||||||
rmbr = "branch -d";
|
rmbr = "branch -d";
|
||||||
rrmbr = "push origin --delete";
|
rrmbr = "push origin --delete";
|
||||||
|
|
||||||
graph = "log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all";
|
graph = "log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all";
|
||||||
graphv = "log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all";
|
graphv = "log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all";
|
||||||
g = "!git graph";
|
g = "!git graph";
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
core = {
|
core = {
|
||||||
whitespace = "space-before-tab,-indent-with-non-tab,trailing-space";
|
whitespace = "space-before-tab,-indent-with-non-tab,trailing-space";
|
||||||
|
|
||||||
precomposeunicode = false;
|
precomposeunicode = false;
|
||||||
untrackedCache = true;
|
untrackedCache = true;
|
||||||
|
|
||||||
editor = "nvim";
|
editor = "nvim";
|
||||||
pager = "less";
|
pager = "less";
|
||||||
};
|
};
|
||||||
|
|
||||||
"color \"branch\"".upstream = "cyan";
|
"color \"branch\"".upstream = "cyan";
|
||||||
color.ui = "auto";
|
color.ui = "auto";
|
||||||
|
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
fetch.prune = true;
|
fetch.prune = true;
|
||||||
pull.rebase = true;
|
pull.rebase = true;
|
||||||
push.default = "current";
|
push.default = "current";
|
||||||
|
|
||||||
merge = {
|
merge = {
|
||||||
tool = "nvimdiff";
|
tool = "nvimdiff";
|
||||||
conflictstyle = "diff3";
|
conflictstyle = "diff3";
|
||||||
colorMoved = "zebra";
|
colorMoved = "zebra";
|
||||||
};
|
};
|
||||||
|
|
||||||
mergetool.keepBackup = false;
|
mergetool.keepBackup = false;
|
||||||
"mergetool \"nvimdiff\"".cmd = "nvim -d $BASE $LOCAL $REMOTE $MERGED -c '$wincmd w' -c 'wincmd J'";
|
"mergetool \"nvimdiff\"".cmd = "nvim -d $BASE $LOCAL $REMOTE $MERGED -c '$wincmd w' -c 'wincmd J'";
|
||||||
|
|
||||||
diff = {
|
diff = {
|
||||||
mnemonicPrefix = true;
|
mnemonicPrefix = true;
|
||||||
renames = true;
|
renames = true;
|
||||||
tool = "nvimdiff";
|
tool = "nvimdiff";
|
||||||
};
|
};
|
||||||
|
|
||||||
grep = {
|
grep = {
|
||||||
break = true;
|
break = true;
|
||||||
heading= true;
|
heading= true;
|
||||||
lineNumber = true;
|
lineNumber = true;
|
||||||
extendedRegexp = true;
|
extendedRegexp = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
github.user = "h7x4abk3g";
|
github.user = "h7x4abk3g";
|
||||||
|
|
||||||
web.browser = "google-chrome-stable";
|
web.browser = "google-chrome-stable";
|
||||||
|
|
||||||
"filter \"lfs\"" = {
|
"filter \"lfs\"" = {
|
||||||
required = true;
|
required = true;
|
||||||
smudge = "git-lfs smudge -- %f";
|
smudge = "git-lfs smudge -- %f";
|
||||||
|
@ -3,59 +3,59 @@
|
|||||||
programs.ncmpcpp = {
|
programs.ncmpcpp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.ncmpcpp.override { visualizerSupport = true; };
|
package = pkgs.ncmpcpp.override { visualizerSupport = true; };
|
||||||
|
|
||||||
bindings = [
|
bindings = [
|
||||||
# { key = "j"; command = "scroll_down"; }
|
# { key = "j"; command = "scroll_down"; }
|
||||||
{ key = "mouse"; command = "mouse_event"; }
|
{ key = "mouse"; command = "mouse_event"; }
|
||||||
|
|
||||||
{ key = "up"; command = "scroll_up"; }
|
{ key = "up"; command = "scroll_up"; }
|
||||||
{ key = "shift-up"; command = ["select_item" "scroll_up"]; }
|
{ key = "shift-up"; command = ["select_item" "scroll_up"]; }
|
||||||
|
|
||||||
{ key = "down"; command = "scroll_down"; }
|
{ key = "down"; command = "scroll_down"; }
|
||||||
{ key = "shift-down"; command = ["select_item" "scroll_down"]; }
|
{ key = "shift-down"; command = ["select_item" "scroll_down"]; }
|
||||||
|
|
||||||
{ key = "["; command = "scroll_up_album"; }
|
{ key = "["; command = "scroll_up_album"; }
|
||||||
{ key = "]"; command = "scroll_down_album"; }
|
{ key = "]"; command = "scroll_down_album"; }
|
||||||
{ key = "{"; command = "scroll_up_artist"; }
|
{ key = "{"; command = "scroll_up_artist"; }
|
||||||
{ key = "}"; command = "scroll_down_artist"; }
|
{ key = "}"; command = "scroll_down_artist"; }
|
||||||
|
|
||||||
{ key = "page_up"; command = "page_up"; }
|
{ key = "page_up"; command = "page_up"; }
|
||||||
{ key = "page_down"; command = "page_down"; }
|
{ key = "page_down"; command = "page_down"; }
|
||||||
|
|
||||||
{ key = "home"; command = "move_home"; }
|
{ key = "home"; command = "move_home"; }
|
||||||
{ key = "end"; command = "move_end"; }
|
{ key = "end"; command = "move_end"; }
|
||||||
{ key = "insert"; command = "select_item"; }
|
{ key = "insert"; command = "select_item"; }
|
||||||
|
|
||||||
{ key = "enter"; command = "enter_directory"; }
|
{ key = "enter"; command = "enter_directory"; }
|
||||||
{ key = "enter"; command = "toggle_output"; }
|
{ key = "enter"; command = "toggle_output"; }
|
||||||
{ key = "enter"; command = "run_action"; }
|
{ key = "enter"; command = "run_action"; }
|
||||||
{ key = "enter"; command = "play_item"; }
|
{ key = "enter"; command = "play_item"; }
|
||||||
|
|
||||||
{ key = "space"; command = "add_item_to_playlist"; }
|
{ key = "space"; command = "add_item_to_playlist"; }
|
||||||
{ key = "space"; command = "toggle_lyrics_update_on_song_change"; }
|
{ key = "space"; command = "toggle_lyrics_update_on_song_change"; }
|
||||||
{ key = "space"; command = "toggle_visualization_type"; }
|
{ key = "space"; command = "toggle_visualization_type"; }
|
||||||
|
|
||||||
#CHANGE
|
#CHANGE
|
||||||
{ key = "d"; command = "delete_playlist_items"; }
|
{ key = "d"; command = "delete_playlist_items"; }
|
||||||
|
|
||||||
{ key = "delete"; command = "delete_browser_items"; }
|
{ key = "delete"; command = "delete_browser_items"; }
|
||||||
{ key = "delete"; command = "delete_stored_playlist"; }
|
{ key = "delete"; command = "delete_stored_playlist"; }
|
||||||
|
|
||||||
{ key = "right"; command = "next_column"; }
|
{ key = "right"; command = "next_column"; }
|
||||||
{ key = "right"; command = "slave_screen"; }
|
{ key = "right"; command = "slave_screen"; }
|
||||||
{ key = "right"; command = "volume_up"; }
|
{ key = "right"; command = "volume_up"; }
|
||||||
{ key = "+"; command = "volume_up"; }
|
{ key = "+"; command = "volume_up"; }
|
||||||
|
|
||||||
{ key = "left"; command = "previous_column"; }
|
{ key = "left"; command = "previous_column"; }
|
||||||
{ key = "left"; command = "master_screen"; }
|
{ key = "left"; command = "master_screen"; }
|
||||||
{ key = "left"; command = "volume_down"; }
|
{ key = "left"; command = "volume_down"; }
|
||||||
{ key = "-"; command = "volume_down"; }
|
{ key = "-"; command = "volume_down"; }
|
||||||
|
|
||||||
{ key = ":"; command = "execute_command"; }
|
{ key = ":"; command = "execute_command"; }
|
||||||
{ key = "tab"; command = "next_screen"; }
|
{ key = "tab"; command = "next_screen"; }
|
||||||
{ key = "shift-tab"; command = "previous_screen"; }
|
{ key = "shift-tab"; command = "previous_screen"; }
|
||||||
{ key = "f1"; command = "show_help"; }
|
{ key = "f1"; command = "show_help"; }
|
||||||
|
|
||||||
{ key = "1"; command = "show_playlist"; }
|
{ key = "1"; command = "show_playlist"; }
|
||||||
{ key = "2"; command = "show_browser"; }
|
{ key = "2"; command = "show_browser"; }
|
||||||
{ key = "2"; command = "change_browse_mode"; }
|
{ key = "2"; command = "change_browse_mode"; }
|
||||||
@ -69,20 +69,20 @@
|
|||||||
{ key = "8"; command = "show_visualizer"; }
|
{ key = "8"; command = "show_visualizer"; }
|
||||||
{ key = "="; command = "show_clock"; }
|
{ key = "="; command = "show_clock"; }
|
||||||
{ key = "@"; command = "show_server_info"; }
|
{ key = "@"; command = "show_server_info"; }
|
||||||
|
|
||||||
{ key = "s"; command = "stop"; }
|
{ key = "s"; command = "stop"; }
|
||||||
{ key = "p"; command = "pause"; }
|
{ key = "p"; command = "pause"; }
|
||||||
{ key = ">"; command = "next"; }
|
{ key = ">"; command = "next"; }
|
||||||
{ key = "<"; command = "previous"; }
|
{ key = "<"; command = "previous"; }
|
||||||
|
|
||||||
{ key = "ctrl-h"; command = "jump_to_parent_directory"; }
|
{ key = "ctrl-h"; command = "jump_to_parent_directory"; }
|
||||||
{ key = "ctrl-h"; command = "replay_song"; }
|
{ key = "ctrl-h"; command = "replay_song"; }
|
||||||
{ key = "backspace"; command = "jump_to_parent_directory"; }
|
{ key = "backspace"; command = "jump_to_parent_directory"; }
|
||||||
{ key = "backspace"; command = "replay_song"; }
|
{ key = "backspace"; command = "replay_song"; }
|
||||||
|
|
||||||
{ key = "f"; command = "seek_forward"; }
|
{ key = "f"; command = "seek_forward"; }
|
||||||
{ key = "b"; command = "seek_backward"; }
|
{ key = "b"; command = "seek_backward"; }
|
||||||
|
|
||||||
{ key = "r"; command = "toggle_repeat"; }
|
{ key = "r"; command = "toggle_repeat"; }
|
||||||
{ key = "z"; command = "toggle_random"; }
|
{ key = "z"; command = "toggle_random"; }
|
||||||
{ key = "y"; command = "save_tag_changes"; }
|
{ key = "y"; command = "save_tag_changes"; }
|
||||||
@ -154,41 +154,41 @@
|
|||||||
{ key = "`"; command = "add_random_items"; }
|
{ key = "`"; command = "add_random_items"; }
|
||||||
{ key = "ctrl-p"; command = "set_selected_items_priority"; }
|
{ key = "ctrl-p"; command = "set_selected_items_priority"; }
|
||||||
{ key = "q"; command = "quit"; }
|
{ key = "q"; command = "quit"; }
|
||||||
|
|
||||||
# the t key isn't used and it's easier to press than /, so lets use it
|
# the t key isn't used and it's easier to press than /, so lets use it
|
||||||
{ key = "t"; command = "find"; }
|
{ key = "t"; command = "find"; }
|
||||||
{ key = "t"; command = "find_item_forward"; }
|
{ key = "t"; command = "find_item_forward"; }
|
||||||
|
|
||||||
{ key = "+"; command = "show_clock"; }
|
{ key = "+"; command = "show_clock"; }
|
||||||
{ key = "="; command = "volume_up"; }
|
{ key = "="; command = "volume_up"; }
|
||||||
|
|
||||||
{ key = "j"; command = "scroll_down"; }
|
{ key = "j"; command = "scroll_down"; }
|
||||||
{ key = "k"; command = "scroll_up"; }
|
{ key = "k"; command = "scroll_up"; }
|
||||||
|
|
||||||
{ key = "ctrl-u"; command = "page_up"; }
|
{ key = "ctrl-u"; command = "page_up"; }
|
||||||
#push_characters "kkkkkkkkkkkkkkk"
|
#push_characters "kkkkkkkkkkkkkkk"
|
||||||
{ key = "ctrl-d"; command = "page_down"; }
|
{ key = "ctrl-d"; command = "page_down"; }
|
||||||
#push_characters "jjjjjjjjjjjjjjj"
|
#push_characters "jjjjjjjjjjjjjjj"
|
||||||
|
|
||||||
{ key = "h"; command = "previous_column"; }
|
{ key = "h"; command = "previous_column"; }
|
||||||
{ key = "l"; command = "next_column"; }
|
{ key = "l"; command = "next_column"; }
|
||||||
|
|
||||||
{ key = "."; command = "show_lyrics"; }
|
{ key = "."; command = "show_lyrics"; }
|
||||||
|
|
||||||
{ key = "n"; command = "next_found_item"; }
|
{ key = "n"; command = "next_found_item"; }
|
||||||
{ key = "N"; command = "previous_found_item"; }
|
{ key = "N"; command = "previous_found_item"; }
|
||||||
|
|
||||||
# not used but bound
|
# not used but bound
|
||||||
{ key = "J"; command = "move_sort_order_down"; }
|
{ key = "J"; command = "move_sort_order_down"; }
|
||||||
{ key = "K"; command = "move_sort_order_up"; }
|
{ key = "K"; command = "move_sort_order_up"; }
|
||||||
];
|
];
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
lyrics_directory = "~/music/.lyrics";
|
lyrics_directory = "~/music/.lyrics";
|
||||||
|
|
||||||
playlist_disable_highlight_delay = 0;
|
playlist_disable_highlight_delay = 0;
|
||||||
message_delay_time = 5;
|
message_delay_time = 5;
|
||||||
|
|
||||||
# - 0 - default window color (discards all other colors)
|
# - 0 - default window color (discards all other colors)
|
||||||
# - 1 - black
|
# - 1 - black
|
||||||
# - 2 - red
|
# - 2 - red
|
||||||
@ -203,7 +203,7 @@
|
|||||||
# - u - underline text
|
# - u - underline text
|
||||||
# - r - reverse colors
|
# - r - reverse colors
|
||||||
# - a - use alternative character set
|
# - a - use alternative character set
|
||||||
|
|
||||||
song_list_format = "{%a - }{%t}|{$8%f$9}$R{$3(%l)$9}";
|
song_list_format = "{%a - }{%t}|{$8%f$9}$R{$3(%l)$9}";
|
||||||
song_status_format = "{{%a{ \"%b\"{ (%y)}} - }{%t}}|{%f}";
|
song_status_format = "{{%a{ \"%b\"{ (%y)}} - }{%t}}|{%f}";
|
||||||
song_library_format = "{%n - }{%t}|{%f}";
|
song_library_format = "{%n - }{%t}|{%f}";
|
||||||
@ -219,23 +219,23 @@
|
|||||||
selected_item_prefix = "$6";
|
selected_item_prefix = "$6";
|
||||||
selected_item_suffix = "$9";
|
selected_item_suffix = "$9";
|
||||||
modified_item_prefix = "$3> $9";
|
modified_item_prefix = "$3> $9";
|
||||||
|
|
||||||
song_window_title_format = "{%a - }{%t}|{%f}";
|
song_window_title_format = "{%a - }{%t}|{%f}";
|
||||||
|
|
||||||
browser_sort_mode = "name";
|
browser_sort_mode = "name";
|
||||||
browser_sort_format = "{%a - }{%t}|{%f} {(%l)}";
|
browser_sort_format = "{%a - }{%t}|{%f} {(%l)}";
|
||||||
|
|
||||||
song_columns_list_format = "(10)[green]{a} (50)[white]{t|f:Title} (20)[cyan]{b} (7f)[magenta]{l}";
|
song_columns_list_format = "(10)[green]{a} (50)[white]{t|f:Title} (20)[cyan]{b} (7f)[magenta]{l}";
|
||||||
# song_columns_list_format = "(10)[green]{a} (50)[black]{t|f:Title} (20)[cyan]{b} (7f)[magenta]{l}";
|
# song_columns_list_format = "(10)[green]{a} (50)[black]{t|f:Title} (20)[cyan]{b} (7f)[magenta]{l}";
|
||||||
|
|
||||||
execute_on_song_change = "";
|
execute_on_song_change = "";
|
||||||
|
|
||||||
execute_on_player_state_change = "";
|
execute_on_player_state_change = "";
|
||||||
playlist_show_mpd_host = "no";
|
playlist_show_mpd_host = "no";
|
||||||
playlist_show_remaining_time = "no";
|
playlist_show_remaining_time = "no";
|
||||||
playlist_shorten_total_times = "no";
|
playlist_shorten_total_times = "no";
|
||||||
playlist_separate_albums = "no";
|
playlist_separate_albums = "no";
|
||||||
|
|
||||||
playlist_display_mode = "columns";
|
playlist_display_mode = "columns";
|
||||||
browser_display_mode = "classic";
|
browser_display_mode = "classic";
|
||||||
search_engine_display_mode = "classic";
|
search_engine_display_mode = "classic";
|
||||||
@ -247,11 +247,11 @@
|
|||||||
volume_change_step = 2;
|
volume_change_step = 2;
|
||||||
autocenter_mode = "no";
|
autocenter_mode = "no";
|
||||||
centered_cursor = "no";
|
centered_cursor = "no";
|
||||||
|
|
||||||
progressbar_look = "─⊙╶";
|
progressbar_look = "─⊙╶";
|
||||||
# progressbar_look = "◾◾◽";
|
# progressbar_look = "◾◾◽";
|
||||||
# progressbar_look = "=> ";
|
# progressbar_look = "=> ";
|
||||||
|
|
||||||
default_place_to_search_in = "database";
|
default_place_to_search_in = "database";
|
||||||
user_interface = "classic";
|
user_interface = "classic";
|
||||||
data_fetching_delay = "yes";
|
data_fetching_delay = "yes";
|
||||||
@ -265,23 +265,23 @@
|
|||||||
header_text_scrolling = "yes";
|
header_text_scrolling = "yes";
|
||||||
cyclic_scrolling = "no";
|
cyclic_scrolling = "no";
|
||||||
lines_scrolled = 2;
|
lines_scrolled = 2;
|
||||||
|
|
||||||
# lyrics_fetchers = "azlyrics, genius, sing365, lyricsmania, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, internet";
|
# lyrics_fetchers = "azlyrics, genius, sing365, lyricsmania, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, internet";
|
||||||
follow_now_playing_lyrics = "no";
|
follow_now_playing_lyrics = "no";
|
||||||
fetch_lyrics_for_current_song_in_background = "no";
|
fetch_lyrics_for_current_song_in_background = "no";
|
||||||
store_lyrics_in_song_dir = "no";
|
store_lyrics_in_song_dir = "no";
|
||||||
generate_win32_compatible_filenames = "yes";
|
generate_win32_compatible_filenames = "yes";
|
||||||
allow_for_physical_item_deletion = "no";
|
allow_for_physical_item_deletion = "no";
|
||||||
|
|
||||||
lastfm_preferred_language = "en";
|
lastfm_preferred_language = "en";
|
||||||
space_add_mode = "add_remove";
|
space_add_mode = "add_remove";
|
||||||
show_hidden_files_in_local_browser = "no";
|
show_hidden_files_in_local_browser = "no";
|
||||||
|
|
||||||
screen_switcher_mode = "playlist, browser";
|
screen_switcher_mode = "playlist, browser";
|
||||||
startup_screen = "playlist";
|
startup_screen = "playlist";
|
||||||
startup_slave_screen = "";
|
startup_slave_screen = "";
|
||||||
startup_slave_screen_focus = "no";
|
startup_slave_screen_focus = "no";
|
||||||
|
|
||||||
locked_screen_width_part = "50";
|
locked_screen_width_part = "50";
|
||||||
ask_for_locked_screen_width_part = "yes";
|
ask_for_locked_screen_width_part = "yes";
|
||||||
jump_to_now_playing_song_at_start = "yes";
|
jump_to_now_playing_song_at_start = "yes";
|
||||||
@ -290,9 +290,9 @@
|
|||||||
display_volume_level = "yes";
|
display_volume_level = "yes";
|
||||||
display_bitrate = "yes";
|
display_bitrate = "yes";
|
||||||
display_remaining_time = "no";
|
display_remaining_time = "no";
|
||||||
|
|
||||||
ignore_leading_the = "no";
|
ignore_leading_the = "no";
|
||||||
|
|
||||||
ignore_diacritics = "no";
|
ignore_diacritics = "no";
|
||||||
block_search_constraints_change_if_items_found = "yes";
|
block_search_constraints_change_if_items_found = "yes";
|
||||||
mouse_support = "yes";
|
mouse_support = "yes";
|
||||||
@ -302,11 +302,11 @@
|
|||||||
tag_editor_extended_numeration = "no";
|
tag_editor_extended_numeration = "no";
|
||||||
media_library_sort_by_mtime = "no";
|
media_library_sort_by_mtime = "no";
|
||||||
enable_window_title = "no";
|
enable_window_title = "no";
|
||||||
|
|
||||||
search_engine_default_search_mode = 1;
|
search_engine_default_search_mode = 1;
|
||||||
external_editor = "vim";
|
external_editor = "vim";
|
||||||
use_console_editor = "yes";
|
use_console_editor = "yes";
|
||||||
|
|
||||||
colors_enabled = "yes";
|
colors_enabled = "yes";
|
||||||
empty_tag_color = "cyan";
|
empty_tag_color = "cyan";
|
||||||
header_window_color = "cyan";
|
header_window_color = "cyan";
|
||||||
@ -326,7 +326,7 @@
|
|||||||
alternative_ui_separator_color = "black:b";
|
alternative_ui_separator_color = "black:b";
|
||||||
window_border_color = "green";
|
window_border_color = "green";
|
||||||
active_window_border = "red";
|
active_window_border = "red";
|
||||||
|
|
||||||
# visualizer_fifo_path = "/tmp/mpd.fifo";
|
# visualizer_fifo_path = "/tmp/mpd.fifo";
|
||||||
# visualizer_output_name = "my_fifo";
|
# visualizer_output_name = "my_fifo";
|
||||||
# visualizer_sync_interval = "30";
|
# visualizer_sync_interval = "30";
|
||||||
|
@ -1,14 +1,12 @@
|
|||||||
{pkgs, ...}:
|
{ pkgs, home, colorTheme, ... }:
|
||||||
{
|
{
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# defaultEditor = true;
|
|
||||||
viAlias = true;
|
viAlias = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
vimdiffAlias = true;
|
vimdiffAlias = true;
|
||||||
extraConfig = ''
|
|
||||||
set clipboard+=unnamedplus
|
|
||||||
'';
|
|
||||||
plugins = with pkgs.vimPlugins; [
|
plugins = with pkgs.vimPlugins; [
|
||||||
vim-commentary
|
vim-commentary
|
||||||
vim-gitgutter
|
vim-gitgutter
|
||||||
@ -23,12 +21,33 @@
|
|||||||
limelight-vim
|
limelight-vim
|
||||||
vim-tmux-navigator
|
vim-tmux-navigator
|
||||||
vim-polyglot
|
vim-polyglot
|
||||||
|
lightline-vim
|
||||||
|
{
|
||||||
|
plugin = rainbow;
|
||||||
|
config = ''
|
||||||
|
let g:rainbow_active = 1
|
||||||
|
'';
|
||||||
|
}
|
||||||
{
|
{
|
||||||
plugin = vim-monokai;
|
plugin = vim-monokai;
|
||||||
config = ''
|
config = ''
|
||||||
colorscheme monokai
|
colorscheme monokai
|
||||||
|
autocmd ColorScheme * highlight Normal ctermbg=0
|
||||||
|
autocmd ColorScheme * highlight LineNr ctermbg=0
|
||||||
|
autocmd ColorScheme * highlight CursorLineNR ctermbg=0 ctermfg=208
|
||||||
|
autocmd ColorScheme * highlight SignColumn ctermbg=0
|
||||||
|
autocmd ColorScheme * highlight GitGutterAdd ctermbg=0
|
||||||
|
autocmd ColorScheme * highlight GitGutterChange ctermbg=0
|
||||||
|
autocmd ColorScheme * highlight GitGutterDelete ctermbg=0
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
set clipboard+=unnamedplus
|
||||||
|
set number relativenumber
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.sessionVariables = { EDITOR = "nvim"; };
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ ... }:
|
{ lib, ... }:
|
||||||
let
|
let
|
||||||
defaultBrowser = "google-chrome-stable %u";
|
defaultBrowser = "google-chrome-stable %u";
|
||||||
videoViewer = "mpv %u";
|
videoViewer = "mpv %u";
|
||||||
@ -8,12 +8,12 @@ in {
|
|||||||
autoReload = true;
|
autoReload = true;
|
||||||
maxItems = 50;
|
maxItems = 50;
|
||||||
browser = defaultBrowser;
|
browser = defaultBrowser;
|
||||||
extraConfig = builtins.concatStringsSep "\n" [
|
extraConfig = lib.strings.concatStringsSep "\n" [
|
||||||
''
|
''
|
||||||
macro m set browser "${videoViewer}"; open-in-browser ; set browser "${defaultBrowser}"
|
macro m set browser "${videoViewer}"; open-in-browser ; set browser "${defaultBrowser}"
|
||||||
macro l set browser "${defaultBrowser}"; open-in-browser ; set browser "${defaultBrowser}"
|
macro l set browser "${defaultBrowser}"; open-in-browser ; set browser "${defaultBrowser}"
|
||||||
''
|
''
|
||||||
|
|
||||||
# Unbind keys
|
# Unbind keys
|
||||||
''
|
''
|
||||||
unbind-key ENTER
|
unbind-key ENTER
|
||||||
@ -22,7 +22,7 @@ in {
|
|||||||
unbind-key J
|
unbind-key J
|
||||||
unbind-key K
|
unbind-key K
|
||||||
''
|
''
|
||||||
|
|
||||||
# Bind keys - vim style
|
# Bind keys - vim style
|
||||||
''
|
''
|
||||||
bind-key j down
|
bind-key j down
|
||||||
@ -30,7 +30,7 @@ in {
|
|||||||
bind-key l open
|
bind-key l open
|
||||||
bind-key h quit
|
bind-key h quit
|
||||||
''
|
''
|
||||||
|
|
||||||
# Theme
|
# Theme
|
||||||
''
|
''
|
||||||
color background default default
|
color background default default
|
||||||
@ -41,7 +41,7 @@ in {
|
|||||||
color info default black
|
color info default black
|
||||||
color article default default
|
color article default default
|
||||||
''
|
''
|
||||||
|
|
||||||
# Highlights
|
# Highlights
|
||||||
''
|
''
|
||||||
highlight all "---.*---" yellow
|
highlight all "---.*---" yellow
|
||||||
|
12
nixpkgs/programs/qutebrowser.nix
Normal file
12
nixpkgs/programs/qutebrowser.nix
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
programs.qutebrowser = {
|
||||||
|
enable = true;
|
||||||
|
aliases = {};
|
||||||
|
searchEngines = {};
|
||||||
|
settings = {};
|
||||||
|
keyBindings = {};
|
||||||
|
# quickmarks = {};
|
||||||
|
extraConfig = '''';
|
||||||
|
};
|
||||||
|
}
|
@ -2,7 +2,7 @@
|
|||||||
{
|
{
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
# plugins = with pkgs; [
|
# plugins = with pkgs; [
|
||||||
# rofi-emoji
|
# rofi-emoji
|
||||||
# rofi-mpd
|
# rofi-mpd
|
||||||
@ -12,15 +12,15 @@
|
|||||||
# rofi-power-menu
|
# rofi-power-menu
|
||||||
# rofi-file-browser
|
# rofi-file-browser
|
||||||
# ];
|
# ];
|
||||||
|
|
||||||
font = "Droid Sans 12";
|
font = "Droid Sans 12";
|
||||||
theme = ../../rofi/themes/blank.rasi;
|
theme = ../../general/.config/rofi/themes/blank.rasi;
|
||||||
|
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
modi = "window,run,drun,ssh,windowcd,file-browser";
|
modi = "window,run,drun,ssh,windowcd";
|
||||||
show-icons = true;
|
show-icons = true;
|
||||||
drun-display-format = "{name}";
|
drun-display-format = "{name}";
|
||||||
fullscreen = false;
|
# fullscreen = false;
|
||||||
threads = 0;
|
threads = 0;
|
||||||
matching = "fuzzy";
|
matching = "fuzzy";
|
||||||
scroll-method = 0;
|
scroll-method = 0;
|
||||||
|
@ -5,15 +5,21 @@
|
|||||||
baseIndex = 1;
|
baseIndex = 1;
|
||||||
clock24 = true;
|
clock24 = true;
|
||||||
escapeTime = 0;
|
escapeTime = 0;
|
||||||
# keyMode = "vi";
|
keyMode = "vi";
|
||||||
prefix = "C-a";
|
prefix = "C-a";
|
||||||
plugins = with pkgs.tmuxPlugins; [
|
plugins = with pkgs.tmuxPlugins; [
|
||||||
|
fingers
|
||||||
|
fpp
|
||||||
|
pain-control
|
||||||
|
prefix-highlight
|
||||||
|
sidebar
|
||||||
|
tmux-fzf
|
||||||
|
urlview
|
||||||
];
|
];
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
# Don't rename windows automatically after rename with ','
|
# Don't rename windows automatically after rename with ','
|
||||||
set-option -g allow-rename off
|
set-option -g allow-rename off
|
||||||
|
|
||||||
set -g mouse on
|
set -g mouse on
|
||||||
set -q -g status-utf8 on
|
set -q -g status-utf8 on
|
||||||
setw -q -g utf8 on
|
setw -q -g utf8 on
|
||||||
@ -21,50 +27,50 @@
|
|||||||
set -g base-index 1 # windows starts at 1
|
set -g base-index 1 # windows starts at 1
|
||||||
setw -g monitor-activity on
|
setw -g monitor-activity on
|
||||||
set -g visual-activity on
|
set -g visual-activity on
|
||||||
|
|
||||||
# Length of tmux status line
|
# Length of tmux status line
|
||||||
set -g status-left-length 30
|
set -g status-left-length 30
|
||||||
set -g status-right-length 150
|
set -g status-right-length 150
|
||||||
|
|
||||||
set -g base-index 1
|
set -g base-index 1
|
||||||
set -g pane-base-index 0
|
set -g pane-base-index 0
|
||||||
|
|
||||||
######################
|
######################
|
||||||
######## KEYS ########
|
######## KEYS ########
|
||||||
######################
|
######################
|
||||||
|
|
||||||
# Split panes using $P-[gh]
|
# Split panes using $P-[gh]
|
||||||
bind h split-window -h -c "#{pane_current_path}"
|
bind h split-window -h -c "#{pane_current_path}"
|
||||||
bind g split-window -v -c "#{pane_current_path}"
|
bind g split-window -v -c "#{pane_current_path}"
|
||||||
unbind '"' # Unbind default vertical split
|
unbind '"' # Unbind default vertical split
|
||||||
unbind % # Unbind default horizontal split
|
unbind % # Unbind default horizontal split
|
||||||
|
|
||||||
# Reload config using $P-r
|
# Reload config using $P-r
|
||||||
unbind r
|
unbind r
|
||||||
bind r \
|
bind r \
|
||||||
source-file $XDG_CONFIG_HOME/tmux/tmux.conf\;\
|
source-file $XDG_CONFIG_HOME/tmux/tmux.conf\;\
|
||||||
display-message 'Reloaded tmux.conf'
|
display-message 'Reloaded tmux.conf'
|
||||||
|
|
||||||
# Switch panes using Alt-[hjkl]
|
# Switch panes using Alt-[hjkl]
|
||||||
bind -n C-h select-pane -L
|
bind -n C-h select-pane -L
|
||||||
bind -n C-j select-pane -D
|
bind -n C-j select-pane -D
|
||||||
bind -n C-k select-pane -U
|
bind -n C-k select-pane -U
|
||||||
bind -n C-l select-pane -R
|
bind -n C-l select-pane -R
|
||||||
|
|
||||||
# Resize pane using Alt-Shift-[hjkl]
|
# Resize pane using Alt-Shift-[hjkl]
|
||||||
bind -n M-H resize-pane -L 5
|
bind -n M-H resize-pane -L 5
|
||||||
bind -n M-J resize-pane -D 5
|
bind -n M-J resize-pane -D 5
|
||||||
bind -n M-K resize-pane -U 5
|
bind -n M-K resize-pane -U 5
|
||||||
bind -n M-L resize-pane -R 5
|
bind -n M-L resize-pane -R 5
|
||||||
|
|
||||||
# Fullscreen current pane using $P-Alt-z
|
# Fullscreen current pane using $P-Alt-z
|
||||||
unbind z
|
unbind z
|
||||||
bind M-z resize-pane -Z
|
bind M-z resize-pane -Z
|
||||||
|
|
||||||
# Kill pane using $P-Backspace
|
# Kill pane using $P-Backspace
|
||||||
unbind &
|
unbind &
|
||||||
bind BSpace killp
|
bind BSpace killp
|
||||||
|
|
||||||
# Swap clock-mode and new-window
|
# Swap clock-mode and new-window
|
||||||
# New tab: $P-t
|
# New tab: $P-t
|
||||||
# Clock mode: $P-c
|
# Clock mode: $P-c
|
||||||
@ -72,26 +78,26 @@
|
|||||||
unbind t
|
unbind t
|
||||||
bind c clock-mode
|
bind c clock-mode
|
||||||
bind t new-window
|
bind t new-window
|
||||||
|
|
||||||
# Setup 'y' to yank (copy)
|
# Setup 'y' to yank (copy)
|
||||||
bind-key -T copy-mode-vi 'y' send -X copy-pipe-and-cancel "pbcopy"
|
bind-key -T copy-mode-vi 'y' send -X copy-pipe-and-cancel "pbcopy"
|
||||||
bind-key -T copy-mode-vi 'V' send -X select-line
|
bind-key -T copy-mode-vi 'V' send -X select-line
|
||||||
bind-key -T copy-mode-vi 'r' send -X rectangle-toggle
|
bind-key -T copy-mode-vi 'r' send -X rectangle-toggle
|
||||||
|
|
||||||
######################
|
######################
|
||||||
### DESIGN CHANGES ###
|
### DESIGN CHANGES ###
|
||||||
######################
|
######################
|
||||||
|
|
||||||
set-option -g status-left '#[bg=blue]#[fg=black,bold] ###S #[bg=default] #[fg=green]#(~/.scripts/tmux/fcitx) #[fg=red]%H:%M '
|
set-option -g status-left '#{prefix_highlight} #[bg=blue]#[fg=black,bold] ###S #[bg=default] #[fg=green]#(~/.scripts/tmux/fcitx) #[fg=red]%H:%M '
|
||||||
set-option -g status-right '#[fg=red]#(~/.scripts/tmux/mpd)'
|
set-option -g status-right '#[fg=red]#(~/.scripts/tmux/mpd)'
|
||||||
set-window-option -g window-status-current-style fg=magenta
|
set-window-option -g window-status-current-style fg=magenta
|
||||||
set-option -g status-style 'bg=black fg=default'
|
set-option -g status-style 'bg=black fg=default'
|
||||||
set-option -g default-shell '${pkgs.zsh}/bin/zsh'
|
set-option -g default-shell '${pkgs.zsh}/bin/zsh'
|
||||||
|
|
||||||
set -g status-position bottom
|
set -g status-position bottom
|
||||||
set -g status-interval 4
|
set -g status-interval 4
|
||||||
set -g status-justify centre # center align window list
|
set -g status-justify centre # center align window list
|
||||||
|
|
||||||
setw -g status-bg default
|
setw -g status-bg default
|
||||||
setw -g window-status-format '#[bg=#888888]#[fg=black,bold] #I #[bg=default] #[fg=#888888]#W '
|
setw -g window-status-format '#[bg=#888888]#[fg=black,bold] #I #[bg=default] #[fg=#888888]#W '
|
||||||
setw -g window-status-current-format '#[fg=black,bold]#[bg=cyan] #I #[fg=cyan]#[bg=default] #W '
|
setw -g window-status-current-format '#[fg=black,bold]#[bg=cyan] #I #[fg=cyan]#[bg=default] #W '
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
let mapPrefixToSet = prefix: set:
|
let mapPrefixToSet = prefix: set:
|
||||||
with lib; attrsets.mapAttrs' (k: v: attrsets.nameValuePair ("${prefix}.${k}") v) set;
|
with lib; attrsets.mapAttrs' (k: v: attrsets.nameValuePair ("${prefix}.${k}") v) set;
|
||||||
|
|
||||||
vs-liveshare = pkgs.callPackage ./vscode-extensions/vsliveshare.nix {};
|
vs-liveshare = pkgs.callPackage ./vscode-extensions/vsliveshare.nix {};
|
||||||
@ -13,7 +13,7 @@ in
|
|||||||
# package = pkgs.vscodium;
|
# package = pkgs.vscodium;
|
||||||
# package = pkgs.vscode-fhsWithPackages (ps: with ps; [rustup zlib]);
|
# package = pkgs.vscode-fhsWithPackages (ps: with ps; [rustup zlib]);
|
||||||
# package = pkgs.vscode-fhs;
|
# package = pkgs.vscode-fhs;
|
||||||
|
|
||||||
userSettings = let
|
userSettings = let
|
||||||
editor = mapPrefixToSet "editor" {
|
editor = mapPrefixToSet "editor" {
|
||||||
fontFamily = "Fira Code";
|
fontFamily = "Fira Code";
|
||||||
@ -36,14 +36,14 @@ in
|
|||||||
wordWrap = "off";
|
wordWrap = "off";
|
||||||
# "bracketPairColorization.enabled" = true;
|
# "bracketPairColorization.enabled" = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
zen = mapPrefixToSet "zenMode" {
|
zen = mapPrefixToSet "zenMode" {
|
||||||
centerLayout = true;
|
centerLayout = true;
|
||||||
hideStatusBar = false;
|
hideStatusBar = false;
|
||||||
hideLineNumbers = false;
|
hideLineNumbers = false;
|
||||||
hideTabs = false;
|
hideTabs = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
vim = mapPrefixToSet "vim" {
|
vim = mapPrefixToSet "vim" {
|
||||||
useSystemClipboard = true;
|
useSystemClipboard = true;
|
||||||
"statusBarColorControl" = true;
|
"statusBarColorControl" = true;
|
||||||
@ -61,7 +61,7 @@ in
|
|||||||
"<A-o>" = true;
|
"<A-o>" = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
workbench = mapPrefixToSet "workbench" {
|
workbench = mapPrefixToSet "workbench" {
|
||||||
"settings.enableNaturalLanguageSearch" = false;
|
"settings.enableNaturalLanguageSearch" = false;
|
||||||
enableExperiments = false;
|
enableExperiments = false;
|
||||||
@ -80,7 +80,7 @@ in
|
|||||||
"*.ipynb" = "jupyter.notebook.ipynb";
|
"*.ipynb" = "jupyter.notebook.ipynb";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
python = mapPrefixToSet "python" {
|
python = mapPrefixToSet "python" {
|
||||||
"analysis.completeFunctionParens" = true;
|
"analysis.completeFunctionParens" = true;
|
||||||
"formatting.provider" = "yapf";
|
"formatting.provider" = "yapf";
|
||||||
@ -90,28 +90,28 @@ in
|
|||||||
"autoComplete.addBrackets" = true;
|
"autoComplete.addBrackets" = true;
|
||||||
languageServer = "Pylance";
|
languageServer = "Pylance";
|
||||||
};
|
};
|
||||||
|
|
||||||
java = mapPrefixToSet "java" {
|
java = mapPrefixToSet "java" {
|
||||||
"configuration.checkProjectSettingsExclusions" = false;
|
"configuration.checkProjectSettingsExclusions" = false;
|
||||||
"test.report.showAfterExecution" = "always";
|
"test.report.showAfterExecution" = "always";
|
||||||
"test.report.position" = "currentView";
|
"test.report.position" = "currentView";
|
||||||
"refactor.renameFromFileExplorer" = "preview";
|
"refactor.renameFromFileExplorer" = "preview";
|
||||||
};
|
};
|
||||||
|
|
||||||
sync = mapPrefixToSet "sync" {
|
sync = mapPrefixToSet "sync" {
|
||||||
autoUpload = true;
|
autoUpload = true;
|
||||||
autoDownload = true;
|
autoDownload = true;
|
||||||
quietSync = true;
|
quietSync = true;
|
||||||
gist = "86e19852a95d31a278ad1a516b40556b";
|
gist = "86e19852a95d31a278ad1a516b40556b";
|
||||||
};
|
};
|
||||||
|
|
||||||
svg = mapPrefixToSet "svgviewer" {
|
svg = mapPrefixToSet "svgviewer" {
|
||||||
transparencygrid = true;
|
transparencygrid = true;
|
||||||
enableautopreview = true;
|
enableautopreview = true;
|
||||||
previewcolumn = "Beside";
|
previewcolumn = "Beside";
|
||||||
showzoominout = true;
|
showzoominout = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
indentRainbow = mapPrefixToSet "indentRainbow" {
|
indentRainbow = mapPrefixToSet "indentRainbow" {
|
||||||
errorColor = "rgb(255, 0, 0)";
|
errorColor = "rgb(255, 0, 0)";
|
||||||
colors = [ # http://colrd.com/palette/38436/
|
colors = [ # http://colrd.com/palette/38436/
|
||||||
@ -136,7 +136,7 @@ in
|
|||||||
"java"
|
"java"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
editor //
|
editor //
|
||||||
indentRainbow //
|
indentRainbow //
|
||||||
@ -159,7 +159,7 @@ in
|
|||||||
"terminal.integrated.fontSize" = 14;
|
"terminal.integrated.fontSize" = 14;
|
||||||
"vsintellicode.modify.editor.suggestSelection" = "automaticallyOverrodeDefaultValue";
|
"vsintellicode.modify.editor.suggestSelection" = "automaticallyOverrodeDefaultValue";
|
||||||
"window.zoomLevel" = 2;
|
"window.zoomLevel" = 2;
|
||||||
|
|
||||||
# This setting does not support language overrides
|
# This setting does not support language overrides
|
||||||
"files.exclude" = {
|
"files.exclude" = {
|
||||||
# Java
|
# Java
|
||||||
@ -168,9 +168,9 @@ in
|
|||||||
"**/.settings" = true;
|
"**/.settings" = true;
|
||||||
"**/.factorypath" = true;
|
"**/.factorypath" = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Extensions
|
# Extensions
|
||||||
|
|
||||||
"bracket-pair-colorizer-2.colorMode" = "Consecutive";
|
"bracket-pair-colorizer-2.colorMode" = "Consecutive";
|
||||||
"bracket-pair-colorizer-2.forceIterationColorCycle" = true;
|
"bracket-pair-colorizer-2.forceIterationColorCycle" = true;
|
||||||
"bracket-pair-colorizer-2.colors" = [
|
"bracket-pair-colorizer-2.colors" = [
|
||||||
@ -182,119 +182,119 @@ in
|
|||||||
"#ff0030"
|
"#ff0030"
|
||||||
];
|
];
|
||||||
"docker.showStartPage" = false;
|
"docker.showStartPage" = false;
|
||||||
|
|
||||||
"errorLens.errorColor" = "rgba(240,0,0,0.1)";
|
"errorLens.errorColor" = "rgba(240,0,0,0.1)";
|
||||||
"errorLens.warningColor" = "rgba(180,180,0,0.1)";
|
"errorLens.warningColor" = "rgba(180,180,0,0.1)";
|
||||||
|
|
||||||
"jupyter.askForKernelRestart" = false;
|
"jupyter.askForKernelRestart" = false;
|
||||||
|
|
||||||
"keyboard-quickfix.showActionNotification" = false;
|
"keyboard-quickfix.showActionNotification" = false;
|
||||||
|
|
||||||
"latex-workshop.latex.autoBuild.run" = "onFileChange";
|
"latex-workshop.latex.autoBuild.run" = "onFileChange";
|
||||||
"latex-workshop.view.pdf.viewer" = "tab";
|
"latex-workshop.view.pdf.viewer" = "tab";
|
||||||
|
|
||||||
"liveshare.presence" = true;
|
"liveshare.presence" = true;
|
||||||
"liveshare.showInStatusBar" = "whileCollaborating";
|
"liveshare.showInStatusBar" = "whileCollaborating";
|
||||||
|
|
||||||
"liveServer.settings.port" = 5500;
|
"liveServer.settings.port" = 5500;
|
||||||
|
|
||||||
"material-icon-theme.folders.associations" = {
|
"material-icon-theme.folders.associations" = {
|
||||||
ui = "layout";
|
ui = "layout";
|
||||||
bloc = "controller";
|
bloc = "controller";
|
||||||
};
|
};
|
||||||
|
|
||||||
"redhat.telemetry.enabled" = false;
|
"redhat.telemetry.enabled" = false;
|
||||||
|
|
||||||
"sonarlint.rules" = {
|
"sonarlint.rules" = {
|
||||||
"java:S3358" = {
|
"java:S3358" = {
|
||||||
"level" = "off";
|
"level" = "off";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Language overrides
|
# Language overrides
|
||||||
|
|
||||||
"dart.previewFlutterUiGuides" = true;
|
"dart.previewFlutterUiGuides" = true;
|
||||||
"dart.previewFlutterUiGuidesCustomTracking" = true;
|
"dart.previewFlutterUiGuidesCustomTracking" = true;
|
||||||
"dart.previewLsp" = true;
|
"dart.previewLsp" = true;
|
||||||
|
|
||||||
"[dart]" = {
|
"[dart]" = {
|
||||||
"editor.defaultFormatter" = "Dart-Code.dart-code";
|
"editor.defaultFormatter" = "Dart-Code.dart-code";
|
||||||
};
|
};
|
||||||
|
|
||||||
"[html]" = {
|
"[html]" = {
|
||||||
"editor.formatOnSave" = false;
|
"editor.formatOnSave" = false;
|
||||||
"editor.defaultFormatter" = "lonefy.vscode-JS-CSS-HTML-formatter";
|
"editor.defaultFormatter" = "lonefy.vscode-JS-CSS-HTML-formatter";
|
||||||
};
|
};
|
||||||
|
|
||||||
"[javascript]" = {
|
"[javascript]" = {
|
||||||
"editor.formatOnSave" = false;
|
"editor.formatOnSave" = false;
|
||||||
"editor.defaultFormatter" = "vscode.typescript-language-features";
|
"editor.defaultFormatter" = "vscode.typescript-language-features";
|
||||||
};
|
};
|
||||||
|
|
||||||
"[json]" = {
|
"[json]" = {
|
||||||
"editor.formatOnSave" = true;
|
"editor.formatOnSave" = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"[jsonc]" = {
|
"[jsonc]" = {
|
||||||
"editor.defaultFormatter" = "vscode.json-language-features";
|
"editor.defaultFormatter" = "vscode.json-language-features";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
keybindings = [
|
keybindings = [
|
||||||
{
|
{
|
||||||
key = "ctrl+[Period]";
|
key = "ctrl+[Period]";
|
||||||
command = "keyboard-quickfix.openQuickFix";
|
command = "keyboard-quickfix.openQuickFix";
|
||||||
when = "editorHasCodeActionsProvider && editorTextFocus && !editorReadonly";
|
when = "editorHasCodeActionsProvider && editorTextFocus && !editorReadonly";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
key = "alt+k";
|
key = "alt+k";
|
||||||
command = "selectPrevSuggestion";
|
command = "selectPrevSuggestion";
|
||||||
when = "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus";
|
when = "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
key = "alt+j";
|
key = "alt+j";
|
||||||
command = "selectNextSuggestion";
|
command = "selectNextSuggestion";
|
||||||
when = "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus";
|
when = "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
key = "alt+k";
|
key = "alt+k";
|
||||||
command = "editor.action.moveLinesUpAction";
|
command = "editor.action.moveLinesUpAction";
|
||||||
when = "editorTextFocus && !editorReadonly && !suggestWidgetVisible";
|
when = "editorTextFocus && !editorReadonly && !suggestWidgetVisible";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
key = "alt+j";
|
key = "alt+j";
|
||||||
command = "editor.action.moveLinesDownAction";
|
command = "editor.action.moveLinesDownAction";
|
||||||
when = "editorTextFocus && !editorReadonly && !suggestWidgetVisible";
|
when = "editorTextFocus && !editorReadonly && !suggestWidgetVisible";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
key = "alt+j";
|
key = "alt+j";
|
||||||
command = "workbench.action.quickOpenNavigateNext";
|
command = "workbench.action.quickOpenNavigateNext";
|
||||||
when = "inQuickOpen";
|
when = "inQuickOpen";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
key = "alt+k";
|
key = "alt+k";
|
||||||
command = "workbench.action.quickOpenNavigatePrevious";
|
command = "workbench.action.quickOpenNavigatePrevious";
|
||||||
when = "inQuickOpen";
|
when = "inQuickOpen";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
key = "alt+f";
|
key = "alt+f";
|
||||||
command = "editor.action.formatDocument";
|
command = "editor.action.formatDocument";
|
||||||
when = "editorTextFocus && !editorReadonly";
|
when = "editorTextFocus && !editorReadonly";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
key = "alt+o";
|
key = "alt+o";
|
||||||
command = "editor.action.insertLineAfter";
|
command = "editor.action.insertLineAfter";
|
||||||
when = "textInputFocus && !editorReadonly";
|
when = "textInputFocus && !editorReadonly";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
key = "alt+shift+o";
|
key = "alt+shift+o";
|
||||||
command = "editor.action.insertLineBefore";
|
command = "editor.action.insertLineBefore";
|
||||||
@ -307,7 +307,7 @@ in
|
|||||||
# ms-vsliveshare.vsliveshare
|
# ms-vsliveshare.vsliveshare
|
||||||
redhat.java
|
redhat.java
|
||||||
wholroyd.jinja
|
wholroyd.jinja
|
||||||
bbenoist.Nix
|
bbenoist.nix
|
||||||
# jock.svg
|
# jock.svg
|
||||||
vscodevim.vim
|
vscodevim.vim
|
||||||
haskell.haskell
|
haskell.haskell
|
||||||
|
@ -4,18 +4,18 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
options = {
|
options = {
|
||||||
selection-clipboard = "clipboard";
|
selection-clipboard = "clipboard";
|
||||||
|
|
||||||
default-bg = "#f2e3bd";
|
default-bg = "#f2e3bd";
|
||||||
|
|
||||||
completion-bg = "#f2e3bd";
|
completion-bg = "#f2e3bd";
|
||||||
completion-fg = "#5fd7a7";
|
completion-fg = "#5fd7a7";
|
||||||
|
|
||||||
statusbar-bg = "#f2e3bd";
|
statusbar-bg = "#f2e3bd";
|
||||||
statusbar-fg = "#008ec4";
|
statusbar-fg = "#008ec4";
|
||||||
|
|
||||||
inputbar-bg = "#f2e3bd";
|
inputbar-bg = "#f2e3bd";
|
||||||
inputbar-fg = "#c30771";
|
inputbar-fg = "#c30771";
|
||||||
|
|
||||||
recolor = true;
|
recolor = true;
|
||||||
recolor-lightcolor = "#f2e3bd";
|
recolor-lightcolor = "#f2e3bd";
|
||||||
# recolor-darkcolor = "#000000";
|
# recolor-darkcolor = "#000000";
|
||||||
|
@ -5,8 +5,16 @@
|
|||||||
dotDir = ".config/zsh";
|
dotDir = ".config/zsh";
|
||||||
# enableSyntaxHighlighting = true;
|
# enableSyntaxHighlighting = true;
|
||||||
defaultKeymap = "viins";
|
defaultKeymap = "viins";
|
||||||
|
|
||||||
plugins = [
|
plugins = [
|
||||||
|
# {
|
||||||
|
# name = "nix-zsh-shell-integration";
|
||||||
|
# src = pkgs.nix-zsh-shell-integration;
|
||||||
|
# }
|
||||||
|
{
|
||||||
|
name = "zsh-fast-syntax-highlighting";
|
||||||
|
src = pkgs.zsh-fast-syntax-highlighting;
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "zsh-completions";
|
name = "zsh-completions";
|
||||||
src = pkgs.zsh-completions;
|
src = pkgs.zsh-completions;
|
||||||
@ -30,12 +38,12 @@
|
|||||||
# file = "p10k.zsh";
|
# file = "p10k.zsh";
|
||||||
# }
|
# }
|
||||||
];
|
];
|
||||||
|
|
||||||
localVariables = {
|
localVariables = {
|
||||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS = ["dir" "vcs"];
|
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS = ["dir" "vcs"];
|
||||||
# NIX_PATH = ''$HOME/.nix-defexpr/channels$\{NIX_PATH:+:}$NIX_PATH'';
|
# NIX_PATH = ''$HOME/.nix-defexpr/channels$\{NIX_PATH:+:}$NIX_PATH'';
|
||||||
};
|
};
|
||||||
|
|
||||||
shellAliases = with pkgs; let
|
shellAliases = with pkgs; let
|
||||||
|
|
||||||
sedColor =
|
sedColor =
|
||||||
@ -50,27 +58,28 @@
|
|||||||
join = lib.strings.concatStringsSep " ";
|
join = lib.strings.concatStringsSep " ";
|
||||||
|
|
||||||
in {
|
in {
|
||||||
|
|
||||||
# This for some reason uses an outdated version of hm
|
# This for some reason uses an outdated version of hm
|
||||||
# hs = "${pkgs.home-manager}/bin/home-manager switch";
|
# hs = "${pkgs.home-manager}/bin/home-manager switch";
|
||||||
|
|
||||||
hms = "home-manager switch";
|
hms = "home-manager switch";
|
||||||
nos = "sudo ${nixos-rebuild}/bin/nixos-rebuild switch";
|
nxr = "sudo ${nixos-rebuild}/bin/nixos-rebuild switch";
|
||||||
|
nxc = "sudoedit /etc/nixos/configuration.nix";
|
||||||
ns = "nix-shell";
|
ns = "nix-shell";
|
||||||
|
|
||||||
# Having 'watch' with a space after as an alias, enables it to expand other aliases
|
# Having 'watch' with a space after as an alias, enables it to expand other aliases
|
||||||
watch = "${procps}/bin/watch ";
|
watch = "${procps}/bin/watch ";
|
||||||
|
|
||||||
m = "${ncmpcpp}/bin/ncmpcpp";
|
m = "${ncmpcpp}/bin/ncmpcpp";
|
||||||
p = "${python39Packages.ipython}/bin/ipython";
|
p = "${python39Packages.ipython}/bin/ipython";
|
||||||
|
|
||||||
lls = "${coreutils}/bin/ls";
|
lls = "${coreutils}/bin/ls";
|
||||||
ls = "${exa}/bin/exa";
|
ls = "${exa}/bin/exa";
|
||||||
la = "${exa}/bin/exa -lah --changed --time-style long-iso --git --group";
|
la = "${exa}/bin/exa -lah --changed --time-style long-iso --git --group";
|
||||||
lsa = "la";
|
lsa = "la";
|
||||||
|
|
||||||
killall = "echo \"killall is dangerous on non-gnu platforms. Using 'pkill -x'\"; pkill -x";
|
killall = "echo \"killall is dangerous on non-gnu platforms. Using 'pkill -x'\"; pkill -x";
|
||||||
|
|
||||||
youtube-dl-list = join [
|
youtube-dl-list = join [
|
||||||
"${youtube-dl}/bin/youtube-dl"
|
"${youtube-dl}/bin/youtube-dl"
|
||||||
"-f \"bestvideo[ext=mp4]+bestaudio[e=m4a]/bestvideo+bestaudio\""
|
"-f \"bestvideo[ext=mp4]+bestaudio[e=m4a]/bestvideo+bestaudio\""
|
||||||
@ -84,39 +93,41 @@
|
|||||||
"-f \"bestaudio[ext=m4a]/best\""
|
"-f \"bestaudio[ext=m4a]/best\""
|
||||||
"-o \"%(playlist_index)s-%(title)s.%(ext)s\""
|
"-o \"%(playlist_index)s-%(title)s.%(ext)s\""
|
||||||
];
|
];
|
||||||
|
|
||||||
skusho = "${maim}/bin/maim --hidecursor --nokeyboard $(echo $SCREENSHOT_DIR)/$(date_%s).png";
|
skusho = "${maim}/bin/maim --hidecursor --nokeyboard $(echo $SCREENSHOT_DIR)/$(date_%s).png";
|
||||||
skushoclip = shellPipe [
|
skushoclip = shellPipe [
|
||||||
"${maim}/bin/maim --hidecursor --nokeyboard --select"
|
"${maim}/bin/maim --hidecursor --nokeyboard --select"
|
||||||
"${xclip}/bin/xclip -selection clipboard -target image/png -in"
|
"${xclip}/bin/xclip -selection clipboard -target image/png -in"
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
view-latex = "${texlive.combined.scheme-full}/bin/latexmk -pdf -pvc main.tex";
|
view-latex = "${texlive.combined.scheme-full}/bin/latexmk -pdf -pvc main.tex";
|
||||||
|
|
||||||
reload-tmux = "${tmux}/bin/tmux source $HOME/.config/tmux/tmux.conf";
|
reload-tmux = "${tmux}/bin/tmux source $HOME/.config/tmux/tmux.conf";
|
||||||
|
|
||||||
ag="${ripgrep}/bin/rg";
|
ag="${ripgrep}/bin/rg";
|
||||||
|
|
||||||
dp = "${dropbox-cli}/bin/dropbox";
|
dp = "${dropbox-cli}/bin/dropbox";
|
||||||
|
|
||||||
cd = "z";
|
cd = "z";
|
||||||
|
|
||||||
ccp = "${coreutils}/bin/cp";
|
ccp = "${coreutils}/bin/cp";
|
||||||
cp = "${rsync}/bin/rsync --progress --human-readable";
|
cp = "${rsync}/bin/rsync --progress --human-readable";
|
||||||
cpr = "${rsync}/bin/rsync --progress --human-readable --recursive";
|
cpr = "${rsync}/bin/rsync --progress --human-readable --recursive";
|
||||||
|
|
||||||
ccat = "${coreutils}/bin/cat";
|
ccat = "${coreutils}/bin/cat";
|
||||||
cat = "${bat}/bin/bat";
|
cat = "${bat}/bin/bat";
|
||||||
|
|
||||||
htop = "${bottom}/bin/bottom";
|
htop = "${bottom}/bin/bottom";
|
||||||
|
|
||||||
ps = "${procs}/bin/procs";
|
ps = "${procs}/bin/procs";
|
||||||
|
|
||||||
fin = "${fd}/bin/fd";
|
fin = "${fd}/bin/fd";
|
||||||
|
|
||||||
ip = "ip -c";
|
ip = "ip -c";
|
||||||
|
|
||||||
|
regex-escapechars = "echo \"[\\^$.|?*+()\"";
|
||||||
|
|
||||||
connectedIps = shellPipe [
|
connectedIps = shellPipe [
|
||||||
"netstat -tn 2>/dev/null"
|
"netstat -tn 2>/dev/null"
|
||||||
"grep :$1"
|
"grep :$1"
|
||||||
@ -145,9 +156,9 @@
|
|||||||
"sed ${colorAliasNames} ${removeNixLinks}"
|
"sed ${colorAliasNames} ${removeNixLinks}"
|
||||||
"column -ts $'\\t'"
|
"column -ts $'\\t'"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
ports = let
|
ports = let
|
||||||
colorSlashes = colorRed "/" {middle = "/";};
|
colorSlashes = colorRed "/" {middle = "/";};
|
||||||
colorFirstColumn = colorRed "(^[^ ]+)" {middle = "\\1";};
|
colorFirstColumn = colorRed "(^[^ ]+)" {middle = "\\1";};
|
||||||
in
|
in
|
||||||
@ -159,7 +170,7 @@
|
|||||||
"column -t"
|
"column -t"
|
||||||
"sed -r ${colorFirstColumn} ${colorSlashes}"
|
"sed -r ${colorFirstColumn} ${colorSlashes}"
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
(let
|
(let
|
||||||
@ -182,9 +193,9 @@
|
|||||||
|
|
||||||
nthCdsAsNameValuePairs = n: map (cmd: nameValuePair cmd (realCommand n)) (nthCds n);
|
nthCdsAsNameValuePairs = n: map (cmd: nameValuePair cmd (realCommand n)) (nthCds n);
|
||||||
allCdNameValuePairs = (flatten (map nthCdsAsNameValuePairs (range 1 9)));
|
allCdNameValuePairs = (flatten (map nthCdsAsNameValuePairs (range 1 9)));
|
||||||
in
|
in
|
||||||
builtins.listToAttrs allCdNameValuePairs);
|
lib.attrsets.listToAttrs allCdNameValuePairs);
|
||||||
|
|
||||||
initExtra = ''
|
initExtra = ''
|
||||||
source ${config.home.homeDirectory}/${dotDir}/p10k.zsh
|
source ${config.home.homeDirectory}/${dotDir}/p10k.zsh
|
||||||
'';
|
'';
|
||||||
|
17
nixpkgs/secret/.gitignore
vendored
Normal file
17
nixpkgs/secret/.gitignore
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
|
||||||
|
# Ignore everything
|
||||||
|
*
|
||||||
|
|
||||||
|
# Sincde it's not possible to re-include a file if a
|
||||||
|
# parent directory of that file is excluded, we need to
|
||||||
|
# reinclude all directories.
|
||||||
|
!/**/
|
||||||
|
|
||||||
|
# Root level exceptions
|
||||||
|
!/**/default.nix
|
||||||
|
!.gitignore
|
||||||
|
!update.sh
|
||||||
|
!README.md
|
||||||
|
|
||||||
|
# Other exceptions
|
||||||
|
!ssh/hosts/pvv.nix
|
36
nixpkgs/secret/README.md
Normal file
36
nixpkgs/secret/README.md
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# Secrets
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Structure
|
||||||
|
|
||||||
|
<!-- tree-output -->
|
||||||
|
```
|
||||||
|
.
|
||||||
|
├── common
|
||||||
|
│ ├── browser-bookmarks.nix
|
||||||
|
│ └── browser-engines.nix
|
||||||
|
├── programs
|
||||||
|
│ ├── chromium
|
||||||
|
│ │ ├── bookmarks.nix
|
||||||
|
│ │ ├── default.nix
|
||||||
|
│ │ └── engines.nix
|
||||||
|
│ ├── newsboat
|
||||||
|
│ │ ├── default.nix
|
||||||
|
│ │ └── sources.nix
|
||||||
|
│ ├── qutebrowser
|
||||||
|
│ │ ├── bookmarks.nix
|
||||||
|
│ │ ├── default.nix
|
||||||
|
│ │ └── engines.nix
|
||||||
|
│ └── default.nix
|
||||||
|
├── ssh
|
||||||
|
│ └── hosts
|
||||||
|
│ ├── default.nix
|
||||||
|
│ ├── home.nix
|
||||||
|
│ ├── ntnu.nix
|
||||||
|
│ ├── pvv.nix
|
||||||
|
│ └── users.nix
|
||||||
|
├── default.nix
|
||||||
|
├── README.md
|
||||||
|
└── update.sh
|
||||||
|
```
|
7
nixpkgs/secret/default.nix
Normal file
7
nixpkgs/secret/default.nix
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./programs
|
||||||
|
./ssh/hosts
|
||||||
|
];
|
||||||
|
}
|
7
nixpkgs/secret/programs/chromium/default.nix
Normal file
7
nixpkgs/secret/programs/chromium/default.nix
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./bookmarks.nix
|
||||||
|
./engines.nix
|
||||||
|
];
|
||||||
|
}
|
8
nixpkgs/secret/programs/default.nix
Normal file
8
nixpkgs/secret/programs/default.nix
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./chromium
|
||||||
|
./newsboat
|
||||||
|
./qutebrowser
|
||||||
|
];
|
||||||
|
}
|
6
nixpkgs/secret/programs/newsboat/default.nix
Normal file
6
nixpkgs/secret/programs/newsboat/default.nix
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./sources
|
||||||
|
];
|
||||||
|
}
|
7
nixpkgs/secret/programs/qutebrowser/default.nix
Normal file
7
nixpkgs/secret/programs/qutebrowser/default.nix
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./bookmarks.nix
|
||||||
|
./engines.nix
|
||||||
|
];
|
||||||
|
}
|
8
nixpkgs/secret/ssh/hosts/default.nix
Normal file
8
nixpkgs/secret/ssh/hosts/default.nix
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./pvv.nix
|
||||||
|
./ntnu.nix
|
||||||
|
./home.nix
|
||||||
|
];
|
||||||
|
}
|
100
nixpkgs/secret/ssh/hosts/pvv.nix
Normal file
100
nixpkgs/secret/ssh/hosts/pvv.nix
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
users = import ./users.nix;
|
||||||
|
inherit (users.pvv) normalUser adminUser;
|
||||||
|
|
||||||
|
# http://www.pvv.ntnu.no/pvv/Maskiner
|
||||||
|
normalMachines = [
|
||||||
|
[ "hildring" "pvv-login" "pvv" ]
|
||||||
|
"demiurgen"
|
||||||
|
"eirin"
|
||||||
|
[ "jokum" "pvv-nix" ]
|
||||||
|
"isvegg"
|
||||||
|
[ "microbel" "pvv-users" "pvv-mail" ]
|
||||||
|
];
|
||||||
|
|
||||||
|
rootMachines = [
|
||||||
|
[ "knakelibrak" "pvv-databases" ]
|
||||||
|
[ "spikkjeposche" "pvv-web" "pvv-wiki" "pvv-webmail" ]
|
||||||
|
"sleipner"
|
||||||
|
"fenris"
|
||||||
|
"balduzius"
|
||||||
|
"joshua"
|
||||||
|
"skrotnisse"
|
||||||
|
"principal"
|
||||||
|
"tom"
|
||||||
|
"monty"
|
||||||
|
|
||||||
|
{
|
||||||
|
names = ["dvask"];
|
||||||
|
proxyJump = "monty";
|
||||||
|
}
|
||||||
|
|
||||||
|
[ "innovation" "pvv-minecraft" ]
|
||||||
|
];
|
||||||
|
|
||||||
|
normalizeValueType = let
|
||||||
|
inherit (lib.strings) isString concatStringsSep;
|
||||||
|
inherit (lib.lists) isList;
|
||||||
|
inherit (lib.attrsets) filterAttrs;
|
||||||
|
in
|
||||||
|
machine:
|
||||||
|
if (isString machine) then (normalizeValueType [machine])
|
||||||
|
else if (isList machine) then (normalizeValueType { names = machine; })
|
||||||
|
else ({ name = concatStringsSep " " machine.names; } // (removeAttrs machine ["names"]));
|
||||||
|
|
||||||
|
# TODO: Merge the following two functions. They have too much code in common.
|
||||||
|
convertNormalMachines = let
|
||||||
|
inherit (lib.trivial) pipe;
|
||||||
|
inherit (lib.attrsets) listToAttrs;
|
||||||
|
inherit (lib.lists) head;
|
||||||
|
inherit (lib.strings) split;
|
||||||
|
|
||||||
|
convertNormalMachine = normalizedMachine:
|
||||||
|
rec {
|
||||||
|
inherit (normalizedMachine) name;
|
||||||
|
value = ({
|
||||||
|
hostname = "${head (split " " name)}.pvv.org";
|
||||||
|
user = normalUser;
|
||||||
|
} // removeAttrs normalizedMachine ["name"]);
|
||||||
|
};
|
||||||
|
|
||||||
|
pipeline = [
|
||||||
|
(ms: map normalizeValueType ms)
|
||||||
|
(ms: map convertNormalMachine ms)
|
||||||
|
listToAttrs
|
||||||
|
];
|
||||||
|
in machines: pipe machines pipeline;
|
||||||
|
|
||||||
|
convertAdminMachines = let
|
||||||
|
inherit (lib.trivial) pipe;
|
||||||
|
inherit (lib.attrsets) listToAttrs;
|
||||||
|
inherit (lib.lists) head;
|
||||||
|
inherit (lib.strings) split;
|
||||||
|
|
||||||
|
convertAdminMachine = normalizedMachine:
|
||||||
|
rec {
|
||||||
|
inherit (normalizedMachine) name;
|
||||||
|
value = ({
|
||||||
|
hostname = "${head (split " " name)}.pvv.org";
|
||||||
|
user = adminUser;
|
||||||
|
proxyJump = "hildring";
|
||||||
|
} // removeAttrs normalizedMachine ["name"]);
|
||||||
|
};
|
||||||
|
|
||||||
|
pipeline = [
|
||||||
|
(ms: map normalizeValueType ms)
|
||||||
|
(ms: map convertAdminMachine ms)
|
||||||
|
listToAttrs
|
||||||
|
];
|
||||||
|
in machines: pipe machines pipeline;
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.ssh.matchBlocks = let
|
||||||
|
concatSets = lib.lists.foldl (s1: s2: s1 // s2) {};
|
||||||
|
in concatSets [
|
||||||
|
(convertNormalMachines normalMachines)
|
||||||
|
(convertAdminMachines rootMachines)
|
||||||
|
];
|
||||||
|
}
|
2
nixpkgs/secret/update.sh
Executable file
2
nixpkgs/secret/update.sh
Executable file
@ -0,0 +1,2 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
perl -0777 -pi -e '$tree=`exa -I XX* --tree --group-directories-first`; s/<!-- tree-output -->\n```\n(?:.|\n)+```/<!-- tree-output -->\n```\n$tree```/' README.md
|
24
nixpkgs/services/dunst.nix
Normal file
24
nixpkgs/services/dunst.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.dunst = {
|
||||||
|
enable = true;
|
||||||
|
iconTheme = {
|
||||||
|
package = pkgs.gnome.adwaita-icon-theme;
|
||||||
|
name = "Adwaita";
|
||||||
|
size = "32x32";
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
global = {
|
||||||
|
geometry = "300x5-30+50";
|
||||||
|
transparency = 10;
|
||||||
|
frame_color = "#eceff1";
|
||||||
|
font = "Droid Sans 9";
|
||||||
|
};
|
||||||
|
urgency_normal = {
|
||||||
|
background = "#37474f";
|
||||||
|
foreground = "#eceff1";
|
||||||
|
timeout = 10;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -1,8 +1,10 @@
|
|||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
rec {
|
{
|
||||||
enable = true;
|
services.mpd = rec {
|
||||||
musicDirectory = "${config.services.dropbox.path}/music/music";
|
enable = true;
|
||||||
# musicDirectory = "${config.home.homeDirectory}/music";
|
musicDirectory = "${config.services.dropbox.path}/music/music";
|
||||||
playlistDirectory = "${musicDirectory}/playlists/MPD";
|
# musicDirectory = "${config.home.homeDirectory}/music";
|
||||||
|
playlistDirectory = "${musicDirectory}/playlists/MPD";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,34 +1,37 @@
|
|||||||
|
{ ... }:
|
||||||
{
|
{
|
||||||
enable = true;
|
services.picom = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
blur = true;
|
blur = true;
|
||||||
blurExclude = [
|
blurExclude = [
|
||||||
"class_g = 'slop'"
|
"class_g = 'slop'"
|
||||||
"class_g = 'XAVA'"
|
"class_g = 'XAVA'"
|
||||||
"class_g = 'lattedock'"
|
"class_g = 'lattedock'"
|
||||||
"class_g = 'latte-dock'"
|
"class_g = 'latte-dock'"
|
||||||
"window_type = 'dock'"
|
"window_type = 'dock'"
|
||||||
"window_type = 'desktop'"
|
"window_type = 'desktop'"
|
||||||
"_GTK_FRAME_EXTENTS@:c"
|
"_GTK_FRAME_EXTENTS@:c"
|
||||||
];
|
];
|
||||||
|
|
||||||
fade = true;
|
fade = true;
|
||||||
fadeSteps = [ "0.1" "0.1" ];
|
fadeSteps = [ "0.1" "0.1" ];
|
||||||
fadeExclude = [];
|
fadeExclude = [];
|
||||||
|
|
||||||
shadow = true;
|
shadow = true;
|
||||||
shadowOffsets = [ (-7) (-7) ];
|
shadowOffsets = [ (-7) (-7) ];
|
||||||
shadowOpacity = "0.25";
|
shadowOpacity = "0.25";
|
||||||
shadowExclude = [
|
shadowExclude = [
|
||||||
"class_g = 'XAVA'"
|
"class_g = 'XAVA'"
|
||||||
"class_g = 'stalonetray'"
|
"class_g = 'stalonetray'"
|
||||||
"class_g = 'lattedock'"
|
"class_g = 'lattedock'"
|
||||||
"class_g = 'latte-dock'"
|
"class_g = 'latte-dock'"
|
||||||
];
|
];
|
||||||
noDockShadow = true;
|
noDockShadow = true;
|
||||||
noDNDShadow = true;
|
noDNDShadow = true;
|
||||||
|
|
||||||
vSync = true;
|
vSync = true;
|
||||||
|
|
||||||
extraOptions = '''';
|
extraOptions = '''';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,21 +1,23 @@
|
|||||||
{ colorTheme, ... }:
|
{ colorTheme, ... }:
|
||||||
{
|
{
|
||||||
enable = true;
|
services.stalonetray = {
|
||||||
config = {
|
enable = true;
|
||||||
decorations = "none";
|
config = {
|
||||||
transparent = false;
|
decorations = "none";
|
||||||
dockapp_mode = "none";
|
transparent = false;
|
||||||
geometry = "8x1-0+0";
|
dockapp_mode = "none";
|
||||||
background = colorTheme.default.background;
|
geometry = "8x1-0+0";
|
||||||
kludges = "force_icons_size";
|
background = colorTheme.default.background;
|
||||||
grow_gravity = "NW";
|
kludges = "force_icons_size";
|
||||||
icon_gravity = "NW";
|
grow_gravity = "NW";
|
||||||
icon_size = 30;
|
icon_gravity = "NW";
|
||||||
sticky = true;
|
icon_size = 30;
|
||||||
window_type = "dock";
|
sticky = true;
|
||||||
window_layer = "bottom";
|
window_type = "dock";
|
||||||
no_shrink = true;
|
window_layer = "bottom";
|
||||||
skip_taskbar = true;
|
no_shrink = true;
|
||||||
slot_size = 40;
|
skip_taskbar = true;
|
||||||
|
slot_size = 40;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,77 +1,79 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
enable = true;
|
services.sxhkd = {
|
||||||
keybindings = {
|
enable = true;
|
||||||
|
keybindings = {
|
||||||
# make sxhkd reload its configuration files:
|
|
||||||
"super + Escape" = "pkill -USR1 -x sxhkd && ${pkgs.libnotify}/bin/notify-send -t 3000 \"sxhkd configuration reloaded\"";
|
# make sxhkd reload its configuration files:
|
||||||
|
"super + Escape" = "pkill -USR1 -x sxhkd && ${pkgs.libnotify}/bin/notify-send -t 3000 \"sxhkd configuration reloaded\"";
|
||||||
# Applications
|
|
||||||
"super + w" = "${pkgs.emacs}/bin/emacs";
|
# Applications
|
||||||
|
"super + w" = "${pkgs.emacs}/bin/emacs";
|
||||||
"super + e" = "$FILEBROWSER";
|
|
||||||
|
"super + e" = "$FILEBROWSER";
|
||||||
"super + s" = "$BROWSER";
|
|
||||||
|
"super + s" = "$BROWSER";
|
||||||
"super + r" = "${pkgs.rofi}/bin/rofi -show drun";
|
|
||||||
|
"super + r" = "${pkgs.rofi}/bin/rofi -show drun";
|
||||||
# Volume
|
|
||||||
|
# Volume
|
||||||
"super + {@F7,@F8}" = "${pkgs.alsaUtils}/bin/amixer set Master 2%{-,+}";
|
|
||||||
|
"super + {@F7,@F8}" = "${pkgs.alsaUtils}/bin/amixer set Master 2%{-,+}";
|
||||||
"{XF86AudioLowerVolume,XF86AudioRaiseVolume}" = "${pkgs.alsaUtils}/bin/amixer set Master 2%{-,+}";
|
|
||||||
|
"{XF86AudioLowerVolume,XF86AudioRaiseVolume}" = "${pkgs.alsaUtils}/bin/amixer set Master 2%{-,+}";
|
||||||
"XF86AudioMute" = "${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
|
||||||
|
"XF86AudioMute" = "${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||||
# Music
|
|
||||||
|
# Music
|
||||||
"super + p" = "${pkgs.mpc_cli}/bin/mpc toggle";
|
|
||||||
|
"super + p" = "${pkgs.mpc_cli}/bin/mpc toggle";
|
||||||
"XF86AudioPlay" = "${pkgs.mpc_cli}/bin/mpc toggle";
|
|
||||||
"XF86AudioPrev" = "${pkgs.mpc_cli}/bin/mpc prev";
|
"XF86AudioPlay" = "${pkgs.mpc_cli}/bin/mpc toggle";
|
||||||
"XF86AudioNext" = "${pkgs.mpc_cli}/bin/mpc next";
|
"XF86AudioPrev" = "${pkgs.mpc_cli}/bin/mpc prev";
|
||||||
|
"XF86AudioNext" = "${pkgs.mpc_cli}/bin/mpc next";
|
||||||
# Monitor
|
|
||||||
|
# Monitor
|
||||||
"XF86MonBrightnessUp" = "${pkgs.light}/bin/light -A 5";
|
|
||||||
"XF86MonBrightnessDown" = "${pkgs.light}/bin/light -U 5";
|
"XF86MonBrightnessUp" = "${pkgs.light}/bin/light -A 5";
|
||||||
|
"XF86MonBrightnessDown" = "${pkgs.light}/bin/light -U 5";
|
||||||
"@Print" = "${pkgs.maim}/bin/maim --hidecursor --nokeyboard --select | ${pkgs.xclip}/bin/xclip -selection clipboard -target image/png -in";
|
|
||||||
|
"@Print" = "${pkgs.maim}/bin/maim --hidecursor --nokeyboard --select | ${pkgs.xclip}/bin/xclip -selection clipboard -target image/png -in";
|
||||||
"shift + @Print" = "${pkgs.maim}/bin/maim --hidecursor --nokeyboard $SCREENSHOT_DIR/$(date +%s).png";
|
|
||||||
|
"shift + @Print" = "${pkgs.maim}/bin/maim --hidecursor --nokeyboard $SCREENSHOT_DIR/$(date +%s).png";
|
||||||
# TODO: Add boomer as package
|
|
||||||
# "super + @Print" = "boomer";
|
# TODO: Add boomer as package
|
||||||
|
# "super + @Print" = "boomer";
|
||||||
# Misc
|
|
||||||
|
# Misc
|
||||||
"super + a" = "${pkgs.copyq}/bin/copyq toggle";
|
|
||||||
|
"super + a" = "${pkgs.copyq}/bin/copyq toggle";
|
||||||
# fcitx
|
|
||||||
"super + {b,n,m}" = "${pkgs.fcitx}/bin/fcitx-remote -s {mozc,fcitx-keyboard-no,fcitx-keyboard-us}";
|
# fcitx
|
||||||
|
"super + {b,n,m}" = "${pkgs.fcitx}/bin/fcitx-remote -s {mozc,fcitx-keyboard-no,fcitx-keyboard-us}";
|
||||||
# fcitx5
|
|
||||||
# "super + {b,n,m}" = "${pkgs.fcitx5}/bin/fcitx5-remote -s {mozc,keyboard-no,keyboard-us}";
|
# fcitx5
|
||||||
|
# "super + {b,n,m}" = "${pkgs.fcitx5}/bin/fcitx5-remote -s {mozc,keyboard-no,keyboard-us}";
|
||||||
# TODO: fix
|
|
||||||
# "super + v" = "${pkgs.rofi}/bin/rofi -modi lpass:$HOME/.scripts/rofi/lpass/rofi-lpass -show lpass";
|
# TODO: fix
|
||||||
|
# "super + v" = "${pkgs.rofi}/bin/rofi -modi lpass:$HOME/.scripts/rofi/lpass/rofi-lpass -show lpass";
|
||||||
"super + minus" = "${pkgs.xcalib}/bin/xcalib -invert -alter";
|
|
||||||
|
"super + minus" = "${pkgs.xcalib}/bin/xcalib -invert -alter";
|
||||||
# ¯\_(ツ)_/¯
|
|
||||||
# "super + shift + s"
|
# ¯\_(ツ)_/¯
|
||||||
# sleep 0.3; \
|
# "super + shift + s"
|
||||||
# ${pkgs.xdotool}/bin/xdotool key U00AF; \
|
# sleep 0.3; \
|
||||||
# ${pkgs.xdotool}/bin/xdotool key U005C; \
|
# ${pkgs.xdotool}/bin/xdotool key U00AF; \
|
||||||
# ${pkgs.xdotool}/bin/xdotool key U005F; \
|
# ${pkgs.xdotool}/bin/xdotool key U005C; \
|
||||||
# ${pkgs.xdotool}/bin/xdotool key U0028; \
|
# ${pkgs.xdotool}/bin/xdotool key U005F; \
|
||||||
# ${pkgs.xdotool}/bin/xdotool key U30C4; \
|
# ${pkgs.xdotool}/bin/xdotool key U0028; \
|
||||||
# ${pkgs.xdotool}/bin/xdotool key U0029; \
|
# ${pkgs.xdotool}/bin/xdotool key U30C4; \
|
||||||
# ${pkgs.xdotool}/bin/xdotool key U005F; \
|
# ${pkgs.xdotool}/bin/xdotool key U0029; \
|
||||||
# ${pkgs.xdotool}/bin/xdotool key U002F; \
|
# ${pkgs.xdotool}/bin/xdotool key U005F; \
|
||||||
# ${pkgs.xdotool}/bin/xdotool key U00AF
|
# ${pkgs.xdotool}/bin/xdotool key U002F; \
|
||||||
|
# ${pkgs.xdotool}/bin/xdotool key U00AF
|
||||||
# é
|
|
||||||
"super + shift + e" = "sleep 0.3; ${pkgs.xdotool}/bin/xdotool key U00E9";
|
# é
|
||||||
};
|
"super + shift + e" = "sleep 0.3; ${pkgs.xdotool}/bin/xdotool key U00E9";
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user